飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
" _$ \5 Q9 |+ p. q
尾翼:
3 d' ^9 G" D, D" ?
) F& c: J1 A) f% V: S
代码:
: x, e) d2 F8 u
CWndAutoFood::CWndAutoFood()
- [8 V0 j2 k0 R/ @1 m0 e
{
& n* M/ f: r* ~5 r. C1 W# m
m_pItemElem = NULL;
! C) [* J4 _. u
m_pTexture = NULL;
, q* x" N8 V: L" S# |+ y
bStart = FALSE;
& q& o9 R: D; r' i% [- K9 S5 }
}
8 ? x( d! h; P- `, ?& L' k
1 u* e: S- a0 S- A! t
CWndAutoFood::~CWndAutoFood()
9 i7 }9 y/ B( t9 X( B2 U( Z
{
7 A; @+ Z; w9 m
AfxMessageBox( "AutoFood ist gestorben
" );
0 F' O# P8 t: a5 k7 p7 g9 v
}
; C8 I9 i1 ], k7 Q
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
7 x/ i5 @/ g" K" D( J
{
" N5 F5 I! E4 I* D% F" H8 [& y
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
* X7 t1 P% Z, u0 G# [4 r* ~
}
6 L0 R- E, X2 Y+ Q# h ~' ?" T
# `. K Z" F2 h0 O
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
0 o ~. n0 H( o" L
{
# }/ K7 M6 i" K _
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
$ _7 f6 w) h' \/ V, R
CRect rect = pWndCtrl->rect;
& q& ` F2 s. p( c3 }8 d
if( rect && rect.PtInRect( point ) )
# @+ }' J/ |, [7 q1 \$ r( y
{
* L* ]5 h! s' g7 ?3 F. d* i0 f |
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
8 G( A/ k; T3 I, U r
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
' | H) p$ j1 V; y+ M
{
2 Z% j4 o4 [/ Y1 v6 F! _! D
if( m_pItemElem )
% m O) F8 }: ?
{
2 ] y) b1 Z4 C0 ~4 g
m_pItemElem = NULL;
# D! q# J( t4 z9 L5 N
}
. }. j+ L9 M8 r
m_pItemElem = pItemElem;
" k; k+ g7 A/ A( O+ w1 k
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
2 Q/ P: N2 V1 r$ s
}else{
a3 B& h$ F- N0 X- V2 c# G) Q
SetForbid( TRUE );
& f; E. }, ?" m6 }. j5 Q
}
4 l. W6 ^) f! Y
}else{
9 P, f0 [2 M5 i4 L9 e% C
SetForbid( TRUE );
1 u' f2 q* M# x! g
}
# ?% b5 T- e9 g' T
return TRUE;
% |+ n* e' p. u: K0 c
}
' p) }2 }& a6 B* a
- b( g! Z7 s; K( U4 `
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
0 j2 b& V/ l* G- K) X+ [
{
6 Y0 |* X' j2 F
switch( nID )
2 r7 K! r6 n# Y9 \
{
# c0 @& p8 y- t. F' |2 \
case WIDC_BUTTON3:
: v: p$ u6 I3 ^
{
" \2 f" o8 B1 q/ r* g. _. M- m$ B
bStart = TRUE;
, l6 v' |' [ C9 F* Y# U2 W$ U6 k
break;
+ L6 ]- {7 ?1 x& o! C1 G
}
3 g M# V# f# ]1 m
case WIDC_BUTTON4:
7 X$ Z* S/ G' H
{
( F. F X$ P k$ R$ A% f4 _
bStart = FALSE;
; w; {. c# ^7 e- ^ A
break;
; ?, ~" T- M+ ]; W' W& Y
}
, E0 `4 x# a6 k1 @
}
* r4 N) |- \* p: ^
return CWndNeuz::OnChildNotify( message, nID, pLResult );
; j# u- y3 C* u, }4 `) p3 d
}
5 A J# g) E" @; h
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
9 ` i* G1 c8 Z3 ?
{
; U! H% b1 \) E
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
. o! @) a2 O, q
if( bStart || !m_pItemElem )
/ }7 x/ @/ l8 ^
{
8 r. \" ^: T8 K( I- d$ Q; d/ C
pBtn->EnableWindow( FALSE );
5 Z4 c, |- Z2 ~
}else
2 B2 ], u0 o: E" [" W5 I* F
pBtn->EnableWindow( TRUE );
4 t9 E* d$ @4 n K; p5 R2 F% C( a
if( m_pTexture )
. L3 S( ]" E2 x6 Y& Y
{
" V. S4 r. Q# \$ N% ^" X/ e
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
; z2 l" w# d" P1 Q& ^6 W2 f
if( wndCtrl && wndCtrl->rect )
! \( N- l* {' x9 E
{
# g( {( B# A7 ~. U ~+ p
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
; Z+ n1 G Q& v2 R; |( x' X
}
! f7 A0 I( K; J6 u
}
: {9 Y1 ?5 Q) `: I: C, _
}
! U3 J8 m. ?/ A g
! h0 x% a5 g1 T- Q1 d$ v
BOOL CWndAutoFood:
rocess()
* O$ ]4 }* R7 w+ a, A% o+ @- e
{
/ Y. [9 E6 I x) x: I- ]5 U# |
if( bStart )
; p& B4 g7 M% C1 @, @* A
{
0 n9 v# S2 T( }6 ~
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
% s; B0 N5 v- Z: Y' A! }
{
! z: B" X7 \( P2 w
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
) B5 c& X) l2 r" n$ C9 k1 \
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
. W4 N H5 F* T: n2 V# W. Q, a
}else{
1 r4 e4 x! [, W) L
bStart = FALSE;
4 s6 I/ Z: ?& R2 I) G7 C
m_pItemElem = NULL;
" R; ]8 Q9 V o8 s! D
}
3 N# M; S" p7 V. ]
}
& G9 f( Q" F, n' |
return TRUE;
+ z( c9 Q J2 L: y" t
}
* j& ^1 S9 |' e, v: d; |- I& L
F3 [# ~! Z* j. a+ j" d5 Y
登录视频废话:
2 p# v i, P5 d1 Y6 J% y
尾翼:
4 d* {( h' j0 D# i
. ?$ t, o1 s, K) M$ x
代码:
" w/ r/ C2 P. H# C) s; o5 z
: B. [3 ~( p2 I, Y8 M& M
void CWorld::SetLight( BOOL bLight )
) t0 F" y" b, A! e
durch
: P+ }9 {- Z9 j6 P- }
Code:
2 H, f. L7 i# i( D6 z$ q/ `
void CWorld::SetLight( BOOL bLight )
. D( g( n! ]0 X9 W8 C
{
. h8 | N5 M0 A6 q4 j* k
//ACE("SetLight %d \n", bLight);
. t9 f- y$ U9 U& f4 ^4 O8 F
9 W. S- {; B9 ~" n$ `( q0 ] d
#ifndef __WORLDSERVER
) K. Q5 q* G) j/ ~. b
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
% \. R/ Q8 z! }: W8 g
CLight* pLight = NULL;
# r& [7 l% c i! u# j3 U
' M' k) M" g, H2 Y9 O+ R/ z! X5 i
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
! _4 z% v8 F$ Q2 ?
1 F$ q7 e; Z% k4 J7 Q" E, E
pLight = GetLight( "direction" );
8 ]+ B' `# D) ~
1 ?7 A4 n+ O+ F B) }( p" {
#if __VER >= 15 // __BS_CHANGING_ENVIR
# v2 T' ]0 `1 @: \
if( g_pPlayer ){
; v O4 o% j: @! y D# d, h, y T
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
! y$ h' D2 Y+ M8 G& C6 H
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
% Q- U5 ?: B* r) s" G9 ~5 a0 }/ Y
{
, X' B4 A9 U0 O# n8 G
if( pLight )
# w/ L I5 i/ y- x. O) H; U
{
1 r. c) P* D. w" _& I% k
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
/ v, \! Q. ?$ k& ]' W+ E0 u- |
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
|& w* d0 P& b3 J
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
! I5 n' z1 s& m, O( ?+ p$ E
' S) L' p' V0 l* D
pLight->Specular.r = 2.0f;
% `' S6 X/ T" f. T" t
pLight->Specular.g = 2.0f;
8 t8 M1 y, c8 z4 L* Z" r% D
pLight->Specular.b = 2.0f;
1 j' q0 I3 a/ u, ^6 j5 b5 ^8 R' k
& R2 M3 j2 t0 T# c5 V
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
/ x2 d1 y! a3 W3 c4 b2 B- b5 j
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
( m7 P& d/ G$ A! u9 h9 f
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
9 }2 Y8 r$ }: ?. ?8 f$ Y
1 p$ D: v5 V0 L, A9 k0 ?% B
HookUpdateLight( pLight );
+ u) `9 q4 D: Z
c+ j5 @2 k( U9 G/ v/ N* f. s* M3 J
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) t6 d# e! G5 l/ i
8 u3 v A# T0 N6 y- z
pLight->Diffuse.r *= 1.2f;
% R0 H+ [2 V2 U5 ^& _
pLight->Diffuse.g *= 1.2f;
" _* t2 ]1 w: M) t2 |
pLight->Diffuse.b *= 1.2f;
' j% x6 x8 E3 L: b& K' Y
+ O. N* v g% O7 p+ Z- X
pLight->Ambient.r *= 0.8f;
. O8 `+ l( R! q) h, t
pLight->Ambient.g *= 0.8f;
5 G8 ?1 Y* L% ~! Y l6 a9 z4 F5 @/ B' n7 _
pLight->Ambient.b *= 0.8f;
: X) K! L% r& }! d# B
B- M! |% J5 j) [5 K( l: h
memcpy( &m_light, pLight, sizeof( m_light ) );
8 u% h. l5 I# G! B2 O3 k2 E
" h3 k6 I" N2 S4 ^) r
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 c. m, P7 ~8 v1 p" U2 t
D3DXVec3Normalize(&(vecSun),&(vecSun));
1 b# X0 T/ Q3 i- n
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
% f4 v& l4 U' |4 p$ W* B' P
pLight->Appear( m_pd3dDevice, TRUE );
3 Q- v9 H. e( K i
0 H& w6 o/ [- }8 z+ }; X; v
DWORD dwR, dwG, dwB;
' r, H/ ~. O1 ?' W$ ~8 }) i: D# j# S
dwR = (DWORD)( pLight->Ambient.r * 255 );
' M0 k- K4 \( \$ H
dwG = (DWORD)( pLight->Ambient.g * 255 );
3 D' B4 n! \2 f' z; E% g
dwB = (DWORD)( pLight->Ambient.b * 255 );
7 t+ r B. m" ]
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 i6 \ ~8 Q/ K( b5 |7 S4 a
}
" A: y% p9 r5 m
}
' D. j, k! D0 f& a* W
}
7 m& b" j* j- W) D
else
$ S) Z' [, m9 X) h/ _: y+ T" B
#endif
# C! W2 N: c8 C' S9 J& m- u+ v/ n
. T3 J+ e1 `1 K5 u0 A2 R* Q) k# z
if( m_bIsIndoor )
# |, B; E- Q4 t
{
; x6 d: X# @3 a& e
if( pLight )
) b# S3 }' D/ c2 _4 d3 ?2 p9 t
{
5 J3 }# v. J S; E! k& a( z1 E
// à??μ oˉè*
% q& m/ N6 p2 o
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
+ p; e! ` z8 F5 O# S
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
f- b8 Z7 ]$ @: C
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
n _) t/ r0 U
; C; l4 ^* A; M" O" p+ i
// oˉè* ??à?
& W; [3 @4 L+ R( x7 {9 g6 b) @
pLight->Specular.r = 1.0f;
$ \8 z, e B6 x: A; t2 t
pLight->Specular.g = 1.0f;
( M) s9 Y" }% X$ i: ]
pLight->Specular.b = 1.0f;
/ x+ |/ B$ D+ s9 F7 j1 s! f+ k
// àü?? oˉè*
2 ]( Y3 Z! r( ^+ |- J. g4 M, N
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
# ^. g& s: q7 v6 w
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
3 R! Q. r2 C0 R4 b0 p. z
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
/ z* @+ `% j h2 N; x. s
9 }1 ^1 z8 m* E3 Z" O U8 {9 e
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
* p! x8 C: _5 X) r
{
- v. O: ~, @, n
pLight->Diffuse.r *= 0.6f;
4 [/ ]5 @' V( H' Q' O# f: c" ?% Y
pLight->Diffuse.g *= 0.6f;
, [+ Z6 v) W- B+ k5 W. t: `5 J$ u/ o4 D
pLight->Diffuse.b *= 0.6f;
* r7 _/ ]. G& z8 k" i- J. D
pLight->Ambient.r *= 0.7f;
& S$ L* x ^9 Q4 R3 g1 k
pLight->Ambient.g *= 0.7f;
1 K8 i2 T6 o) _; f- L1 v7 {
pLight->Ambient.b *= 0.7f;
) h% h# e3 S) g8 k' L: a; h! k6 }/ }5 [
}
4 I1 M$ ] ]( Z% h K% `* C
* U+ O/ O* Y, A( F. n5 W$ e7 o
#if __VER >= 15 // __BS_CHANGING_ENVIR
. E3 e+ P" F _9 T) `, |
if( g_pPlayer )
6 ~2 k4 |$ W3 `, O4 L- F
HookUpdateLight( pLight );
' c* |( u6 B6 c( a5 V! P
#endif
. D% @1 I# T# z1 F8 Z# O+ l
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
, t1 o* E+ G T' t0 W
" F. n) o4 [3 N, @
pLight->Diffuse.r += 0.1f;
* D+ A$ }- i9 T, D
pLight->Diffuse.g += 0.1f;
! A0 k6 P: [1 b" Q2 _7 [7 k
pLight->Diffuse.b += 0.1f;
6 G! m+ Q3 u9 h/ W
// oˉè* ??à?
; h. p$ p2 s! I$ i7 h+ A
pLight->Specular.r = 2.0f;
+ P2 y9 C6 x. [& z4 k) }9 n- j
pLight->Specular.g = 2.0f;
, {* Y h$ V! l* A- n
pLight->Specular.b = 2.0f;
5 M" J$ ^3 n! _7 H$ }" K8 H! C
// á?oˉ
; T, w8 A" q: m* C
pLight->Ambient.r *= 0.9f;
# O$ P0 c0 X4 |/ ^ O
pLight->Ambient.g *= 0.9f;
" i3 u4 {- N; I/ d" J0 b; y" g
pLight->Ambient.b *= 0.9f;
+ l9 `6 \- w. w; Q& j+ A1 v! f3 v
0 P7 g" p( n' c# K1 w
memcpy( &m_light, pLight, sizeof( m_light ) );
3 T& X% c. L& z! Z/ p% [5 P9 R' W5 g
* w" ^. O. N0 C) M% m
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
- R0 a+ b3 T6 i
pLight->Appear( m_pd3dDevice, TRUE );
- j3 h) U- c2 m+ j7 p+ o
+ o4 c! m! B; c
DWORD dwR, dwG, dwB;
7 q: }7 s+ A5 U& B: n! x! q5 a
dwR = (DWORD)( pLight->Ambient.r * 255 );
, ~5 I# X% x' ]: L
dwG = (DWORD)( pLight->Ambient.g * 255 );
1 w q+ c1 G: x3 B. u8 u
dwB = (DWORD)( pLight->Ambient.b * 255 );
! o/ O3 @8 o4 W- |
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" ?" L" M4 v# |" k& p
}
" `+ o" e3 q- |6 X6 b
}
% ~# q. U' Y& I9 t1 L& \0 G
else
7 j! t: y: o! W1 h( o" D4 o
{
- B' U0 s3 |* j
if( pLight )
1 v @( ?2 {) ?
{
! E% R) R O6 D9 M7 m5 g
+ i& @! m3 b1 h: K( B3 u
int nHour = 8, nMin = 0;
' j9 v9 V# b$ Q0 ^- @0 V
#ifdef __CLIENT
- o* g# ?5 t3 V2 G) y
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
- C0 y* o& Y' P; r: [
nHour = g_GameTimer.m_nHour;
- W% {+ S: a8 ~% p4 h( }: W* R! L
nMin = g_GameTimer.m_nMin ;
" @& }+ x- g* {4 x) I b
#else
& H+ S! _( s5 H* R- q( A
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
2 D& R+ v* X8 w7 L+ j
if( m_nLightType == 1 )
! d# r- O" t. L
nHour = m_nLightHour;
5 e+ K F5 C. c0 g
#endif
3 |5 b8 x* z% f2 z. d# J! h
nHour--;
/ [, W8 N& o' X f' y
if( nHour < 0 ) nHour = 0;
3 Y* o7 l) X. O
if( nHour > 23 ) nHour = 23;
8 i% w0 i* o% W3 r4 y
# v7 P5 F4 N. g" F! W
//if( m_bFixedHour )
+ a' u# x0 I% u. D: d" F4 y$ M. e
// nHour = m_nFixedHour, nMin = 0;
_1 J+ ?* d) i& t$ X; s
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
6 z* h+ O; z% S- o' V
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
2 o4 W! U3 L6 R5 O3 I ?
% _ o5 z! b: @/ }# V9 P/ r- ^
//m_lightColor = lightColorPrv;
/ ?. Y1 a" @+ o5 C
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
6 _0 T6 P: k0 ]2 H) A6 D" Y) S, |
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
( {! L1 V) @: g% I8 e
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
4 P1 V6 _$ _! x7 Y
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
+ i- T- R0 e( ]$ }# x+ _* }
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
; @) g* f! p1 E& E
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
' X- d) }5 e8 s# d' l4 c
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
- R1 E: X( q, e1 y% h
) `' y, o: v5 T& |- o' ^# A
// à??μ oˉè*
( U; m2 w0 X* `$ h, R3 r+ E
pLight->Diffuse.r = lightColorPrv.r1;
4 _& O0 s; ^9 J2 k
pLight->Diffuse.g = lightColorPrv.g1;
/ i; b5 R0 h4 N8 I7 z( S" I% X
pLight->Diffuse.b = lightColorPrv.b1;
$ r7 ^& E8 N/ ~. v& k1 ]
// oˉè* ??à?
8 S7 ?5 _. q$ j* ^% H5 z" h
pLight->Specular.r = 1.0f;
% [! t9 ^* D/ x, r3 I* R: {
pLight->Specular.g = 1.0f;
: \/ ^0 z1 s! D) d. Z/ I, Z
pLight->Specular.b = 1.0f;
' R5 l1 |' \" v
// àü?? oˉè*
, K# ~6 ` K5 G
pLight->Ambient.r = lightColorPrv.r2;
* [! `% d0 y0 `, G
pLight->Ambient.g = lightColorPrv.g2;
4 D g/ ^. a' v6 Y# }
pLight->Ambient.b = lightColorPrv.b2;
7 V+ V. G# e4 O
8 F3 Y+ X0 k5 h6 ]- {
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
& h9 H) l' c6 q2 i C
{
2 D9 z! J* q3 W" e( q5 X
pLight->Diffuse.r *= 0.6f;
0 D: R: ~- z: A6 U
pLight->Diffuse.g *= 0.6f;
1 X/ N( R) I }. ~8 z4 B
pLight->Diffuse.b *= 0.6f;
! A$ s7 t; }" N1 j$ ]2 s
pLight->Ambient.r *= 0.7f;
; f( J6 a4 G- L; E$ X
pLight->Ambient.g *= 0.7f;
7 Q6 S4 j+ |7 M7 O* e( \, _
pLight->Ambient.b *= 0.7f;
) R$ Y. N1 k+ t
}
8 p3 z+ l) H4 u
5 ~# }) h- b! P% v
#if __VER >= 15 // __BS_CHANGING_ENVIR
4 R# f. d6 W5 S! b+ ^
if( g_pPlayer )
4 O9 d/ M p8 l/ i7 R! B
HookUpdateLight( pLight );
9 x p, S; M9 d) t' H" L
#endif
( J) ~1 F! G. Y- H% r2 p' s
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; ?/ R3 c3 V) V3 d2 r+ b* b& F
" h; _7 {$ R' x m
#ifdef __YENV
2 h% K0 Z, A. t. u* m
pLight->Diffuse.r *= 1.1f;
) r% d8 |4 G, i+ G
pLight->Diffuse.g *= 1.1f;
1 P. p6 ^" Q& ^; [
pLight->Diffuse.b *= 1.1f;
4 o3 {3 }( L* P3 ?. @
// oˉè* ??à?
1 _0 o! X% u. t+ ?
pLight->Specular.r = 2.0f;
9 a: |" L8 f4 z5 x0 p
pLight->Specular.g = 2.0f;
5 b- Y& H5 v# Y( F
pLight->Specular.b = 2.0f;
: O; ^3 B% U# u* O" e- g
// á?oˉ
# ] `( q* S! ?, K
pLight->Ambient.r *= 1.0f;
. J, q. I! ^* m" @( s2 y9 ]
pLight->Ambient.g *= 1.0f;
' p3 e9 W, _0 _3 h" U
pLight->Ambient.b *= 1.0f;
! m7 g$ B8 K1 W! R. Z
#else //__YENV
9 ]3 s6 T9 h: a% o; d
pLight->Diffuse.r *= 1.1f;
9 F4 Q0 }& @7 x8 m* k" `& F
pLight->Diffuse.g *= 1.1f;
, y9 ~8 r/ X) R* d/ z# V/ }) ?. u9 _
pLight->Diffuse.b *= 1.1f;
, J( w- f# K G! o
// oˉè* ??à?
( F& [9 L# X) z& x" g: G
pLight->Specular.r = 2.0f;
; k: ?3 @5 D, ?1 l; H# ?% K
pLight->Specular.g = 2.0f;
' |+ G4 ?8 h0 x) F% `! [8 \
pLight->Specular.b = 2.0f;
% W& y* z& s1 n, ^6 A- p
// á?oˉ
2 A1 Q" a! f* w0 ?" S3 F
pLight->Ambient.r *= 0.9f;
4 e3 V: ?* K$ _ W% k' ?
pLight->Ambient.g *= 0.9f;
! q6 H- Y r: v. r1 H
pLight->Ambient.b *= 0.9f;
5 o6 H- d! r. a+ \% w1 R" j
#endif //__YENV
& n6 Y" R) q2 f0 J
. O5 T7 M" c8 T7 V3 a, t
memcpy( &m_light, pLight, sizeof( m_light ) );
, V B0 q+ T( g" |$ t i# m
$ v8 `( K+ b; _7 I
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
4 \# w" @6 m/ J8 r* E# m5 g3 R
D3DXMATRIX matTemp;
: W6 E# Z% a+ ]" g1 F; a/ z
static const float CONS_VAL = 3.1415926f / 180.f;
1 s4 i9 |. L+ ^1 q1 ^4 W6 h
1 {7 U1 K6 T% I1 x h
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
9 n) H# h2 k$ {# T0 ^. Z
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
: u( V5 t& V5 ~. Y0 ~
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
1 q; r" @* r+ S. h
pLight->Appear( m_pd3dDevice, TRUE );
( {. ?/ E4 P& T+ U5 C* Q
) s8 G& o; Q3 u
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
9 Q# X B) ~ H+ L& M F
// D3DXVec3Normalize(&(vecSun),&(vecSun));
/ ^5 l! q1 Y: l! m
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
# @; f5 M6 b$ I0 g2 Q" l# b) S4 {: m. |
" R& P, Z! f% a N
DWORD dwR, dwG, dwB;
; F; X4 Y" W# N
dwR = (DWORD)( pLight->Ambient.r * 255 );
, D4 d! {+ u5 F) y/ r
dwG = (DWORD)( pLight->Ambient.g * 255 );
4 e3 D2 g' D( v/ m8 I* Q( ^, b
dwB = (DWORD)( pLight->Ambient.b * 255 );
' u- E, ]' l6 z9 q* g
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
/ r5 b M1 D4 r9 _
}
% ^' p- ]2 q* u' I+ k
}
* @! z+ x3 r3 s- q" R, a9 K" N. J
) @1 s) e3 E, F8 {/ h: a
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
. `5 K P0 o! j! `7 k. Y4 k* U
m_pd3dDevice->SetRenderState( D3DRS_AMBIENT, dwAmbient );//D3DCOLOR_ARGB( 0,0,0,0) ); //m_dwAmbient );//D3DCOLOR_ARGB( 255,128,128,128) );//D3DCOLOR_ARGB( 255,50,50,70) );
8 i( J' E) w; v" \
::SetLight( bLight );
3 D6 a# L: ?2 d9 S) L7 x/ \7 R+ _2 C
1 w$ F2 F7 }. W2 A5 u" Z4 z
// ±ao? ?D?í???ó á¤à?
. w, s- q; r/ t
m_pd3dDevice->SetMaterial( &m_baseMaterial );
" b8 A+ }/ L. }/ t9 ^8 u
; T4 d0 L- o8 I) k2 e/ F1 F
#endif // not WORLDSERVER
1 K& u1 C& F) e4 `1 X m4 J
}
, c6 X5 q. g- }' q
并更换
1 c* ?/ b/ w( I8 v6 M6 Q
Code:
) d. E- m E% G" j6 P3 {
__FLYFF_INITPAGE_EXT
- }; N+ R7 i- |. v8 ] b
定义
}1 W' k9 }) b: l
5 X7 h9 y2 x* i! Z& K
! w( s1 e5 s" S
4 p1 F9 n m7 F* c C3 _4 a/ U
$ F: [' B# `* [1 G
现在终于删除我的狗屁加速...
+ U2 L7 e2 }! u3 D8 R' e; J3 C
5 A4 [/ U, P0 P# C
# y M1 E) R% o s) a
* N* h% v7 B8 W' [; @
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2