|
食品车:0 B4 E4 k T$ C0 M' P) v
尾翼:
: q! a, c( r/ D9 J0 |& z: Q
6 D" f0 z% n% ?5 D( s5 |代码:3 r4 N# e7 I- Z$ i9 a. u
CWndAutoFood::CWndAutoFood()
: a" A- j1 r7 o& Q; P{
& ]+ j- L; v$ t& y. a# q g m_pItemElem = NULL;
+ ^- [, P" U, W; O# U- u+ W8 L g m_pTexture = NULL;
+ P I/ n$ Y3 Y3 c2 N1 I bStart = FALSE;1 N$ y4 X: ]1 F8 y- p( \
}
& V8 z5 o1 `/ @* q' n' |
" d+ p: b5 F! _+ LCWndAutoFood::~CWndAutoFood()! k# s1 g" ~! b
{ `5 F/ M# I- G1 w
AfxMessageBox( "AutoFood ist gestorben " );
( C, p7 G3 @7 Z) G( J% K}, n" i( M h! m+ q# O% [; ~7 n9 M& W
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )& l; Q4 q( U" |0 m
{: S* K" X! w' R+ ~
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );& ], P( r. E8 W
}
5 q: ~1 }( E4 r6 F$ q0 H4 `0 }+ G1 T& f, a
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
. l: y: Z" w# c{
; Z/ T3 N5 W9 r/ ` LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );! x: J: K E- ?9 r. n
CRect rect = pWndCtrl->rect;0 q; r8 V9 `4 T* M! W
if( rect && rect.PtInRect( point ) ). G/ C0 s. R" J4 A. W
{
4 {/ o3 \5 C' e9 b CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
0 m; L, O0 B$ M6 P! g* }# v if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )% A: I( ^% Z. z
{4 Y o/ `; I M6 D+ k$ P
if( m_pItemElem )
. `1 ]. z, [; D. n l t! d } {
& S+ p" I) Q- s m_pItemElem = NULL;
8 z6 Z. _" }3 Z# G+ C# r& ]& l* R }
8 ^7 \( Z1 Q. a% T* \& t# _ m_pItemElem = pItemElem;& c6 v G) l3 _- k6 S+ o* w
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );( z: n% t: `4 o
}else{
7 j% W% d5 m$ \. [& U$ G SetForbid( TRUE );
- |! [8 _' x% u! D }0 Q8 Q3 k v) F
}else{" Q+ h: A2 M/ j
SetForbid( TRUE );
8 ~: J! `! E& k) y X/ ^! Z3 {: X* |6 S" | }! g% K# x2 ?. |- P3 d1 j/ s
return TRUE;
0 ~# | M, W0 w! O}
3 Z, P3 f9 G+ h0 J) @1 m/ n7 V! i) j* _6 l, y4 }) \& v7 O
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
) f' ]5 B8 w; @$ P+ I& z{$ O- @+ Y: M6 {7 k( Z5 C8 S
switch( nID )
4 M3 d# x( c4 k {1 _* n' M! _' S$ L
case WIDC_BUTTON3:7 ~3 y" \3 Z) h8 c5 M
{
) ]6 [" t7 \9 h* f bStart = TRUE;" G0 i8 E) m- {$ S1 p' N. g# F' S2 V
break;
( {. k: {0 [) l3 Q$ T# e' R: L }/ y/ Y. i9 s/ i, @
case WIDC_BUTTON4:6 W: J$ L' |+ `# q# N3 S
{3 K4 g& q! V2 D7 t7 j/ b
bStart = FALSE;) z: X3 x6 y+ W2 V* }2 ~
break;+ e5 d. d7 J- Y4 a2 K5 i
}2 F9 }& \; R8 ~* d$ ^
}" V3 ?5 o1 c$ z
return CWndNeuz::OnChildNotify( message, nID, pLResult );0 K, W6 x& u& w- Z1 r
} % U# }6 G2 G3 z2 ^3 O
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
; [4 _( E) S' Y{: v. o# h6 ]8 `, n1 @# f) ~" b" F
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
) h9 y# @0 s' L/ A, B8 h- f- w if( bStart || !m_pItemElem )4 {+ j- J" G7 Q# r
{0 a8 y8 Y8 ]- a: H! e5 P* i5 ?. v/ q
pBtn->EnableWindow( FALSE );0 k% R5 y# |4 U( o+ j. n$ _
}else
( U7 J. W. i: m1 Q2 _* f' F pBtn->EnableWindow( TRUE );
9 R1 F" ~7 _. x# V' A. w if( m_pTexture )9 I$ P" \: n. n
{! \5 O8 ]: h, p
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );$ i- Q0 ^! j' c2 g2 D
if( wndCtrl && wndCtrl->rect )
8 s( z. D- v* ]( P {4 Q- h: D2 T# F S
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
( @2 ?* T% V6 j6 P" l+ x }
; u% {4 y0 t0 |7 ~ }
2 Q2 X/ @) z) v8 J7 r8 k}
; g, h0 W, o: k3 R* o7 A5 X- q+ L0 B2 z+ y9 O3 h
BOOL CWndAutoFood:rocess()
) f9 W. r2 W& R{: ^5 [7 o& e8 J; P! H# `
if( bStart )( k& V5 \* J8 m9 _ v+ a/ J9 t
{- N4 C/ n: _5 t3 Z1 ^
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
8 c; T; s/ g3 J {3 a: n3 l, b! J5 y8 N- q
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )) r4 c2 m# R1 s" d9 m
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );" S$ z$ M8 L/ c) T
}else{8 q3 {( r4 d' j. N
bStart = FALSE;
7 }* t, p. y [" S4 C+ D m_pItemElem = NULL;" L8 G: A; G3 U# h/ V
}* q+ N" P) z/ s0 \8 P8 s; C; N9 x, @
}
0 S' _7 b# s; P w7 h( r' p5 q( ]9 n return TRUE;
3 s" D+ ]5 ^3 s0 @}
$ [: t. v6 a2 Q/ _( W. i
8 J' W: f* K- [% X) G( S! n登录视频废话:
8 d! e% @- t1 e( `& T尾翼:0 j: B4 Y& R" _
( O' a d' z/ u7 \: H O+ t
代码:' P% d& u4 o N3 v
' ~# _ z# V% l+ pvoid CWorld::SetLight( BOOL bLight ); ?( w0 Q* M1 E! L
durch
! A0 L, v# ~' U, C2 |* H' oCode:
% V, Z/ e3 c* u$ Mvoid CWorld::SetLight( BOOL bLight )+ \2 y& J3 l9 Q4 R* \& k9 k; z) o
{2 j/ G& ?5 Z& o; H
//ACE("SetLight %d \n", bLight);; w `7 a% U2 n$ {% u) q
2 I6 }) M0 Y+ u/ Z! h#ifndef __WORLDSERVER
9 I3 l2 q) |, ] DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0); e, {+ O; B1 f
CLight* pLight = NULL;
4 ]$ D ~' _$ Q2 V1 M
B1 {" E; Y+ } D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );: U( U2 d& [3 \. i
" `! `+ O$ M( C" @ f6 y
pLight = GetLight( "direction" );( D% ?3 {1 Z/ z
, R r2 q& c2 Y6 d1 X* p% r# d& k#if __VER >= 15 // __BS_CHANGING_ENVIR1 F! w* E( `4 ?. P+ e5 l
if( g_pPlayer ){6 z/ ` ?/ A1 {6 l) c$ O
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );# z7 W" A& X! G! J/ W5 S$ y
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!* i, l5 R0 x( ^ {8 A5 A5 c8 O# D- P
{
* u: ]7 i, r( ?& x1 `3 I if( pLight )( \' N* D- [' N4 t: G n- T5 ^2 ~
{, I* \1 q8 b( T& [# f9 T; Y/ t
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];. M3 e9 Y v* E/ r9 S% K' K8 U
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];: o0 W( K5 H, h% b7 \' c
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
/ ]% F. D* a7 z5 r
/ l2 x& U+ g0 h2 z( d pLight->Specular.r = 2.0f;" c: V4 L3 ^3 L7 i3 o7 b9 \
pLight->Specular.g = 2.0f;; [/ R$ Y+ E# N7 h l+ j
pLight->Specular.b = 2.0f;
+ \- @. u3 B3 e, ^& [* Q # }/ R( m( Z- g/ z. e
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
: v2 ~5 o; B0 ]. @$ B pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
3 Y9 u* ^: x% W) W% ] pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
6 U. U u# U& Q5 e/ I- _
2 [1 [9 z1 J) B6 ?2 p- R HookUpdateLight( pLight ); 1 b# J" x0 M% z+ Q
; J& ~; h; @3 ~% g memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );5 O; C! d6 P) |9 Z p1 n
4 v6 E0 d" r9 i: q7 j2 K: C pLight->Diffuse.r *= 1.2f;
* m0 h& A' E4 e# Z* p) S- N pLight->Diffuse.g *= 1.2f;
$ H1 U- z, l, G3 `# o$ T pLight->Diffuse.b *= 1.2f;" K4 b4 e+ i9 @" b% V; p
0 G8 W$ S* r' p+ V- p. p
pLight->Ambient.r *= 0.8f;2 U7 M% J. R+ G. K) o" T8 l: X! I
pLight->Ambient.g *= 0.8f;
+ ^ \0 F; m" _. x8 N" W pLight->Ambient.b *= 0.8f;
6 D+ c6 d+ X% {7 z 5 k' S5 X0 T( z" R% ~+ x6 X2 J q" a
memcpy( &m_light, pLight, sizeof( m_light ) );' i. P/ K9 _3 D, H3 c1 V
- u* e6 Q- D# u5 ~) o! U, [! g
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);, @ c0 G. }, m+ X( n/ Q
D3DXVec3Normalize(&(vecSun),&(vecSun));
+ P. g5 m7 v L pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 8 J8 B( s8 _' g7 {% l
pLight->Appear( m_pd3dDevice, TRUE );$ s! x0 S s- N4 C. `* n# y
. F$ V; p$ u) e2 L8 F; A0 A DWORD dwR, dwG, dwB;
) `- p. l* ]' r* ~- K6 w dwR = (DWORD)( pLight->Ambient.r * 255 );
1 D/ s" i& Y: |; j+ }* I$ j/ t3 C dwG = (DWORD)( pLight->Ambient.g * 255 );
9 E! `2 a1 X$ O9 U dwB = (DWORD)( pLight->Ambient.b * 255 );
$ ?5 {7 F; k/ {5 ?( U- @( C dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
+ e$ B- d' ~+ L( ~ }
! A. k* v, W) |# S/ o3 R. ? }
. u7 ?' b! ~8 M+ S, [ }" c% n) c9 @& M. f
else
% z/ Y6 A& x& [/ u- q9 @; D#endif
1 a0 D6 f2 m& [. r% f. L# v! I8 H6 q' ?* \2 l
if( m_bIsIndoor )
8 }" f! s. p. _9 |# ~, v {
6 m5 t4 W! ~- u& k1 ] if( pLight )1 q8 E. h1 U6 W- c
{
1 \" x& I4 y# @2 ^; c2 T // à??μ oˉè*
3 ^, R# @) j% E0 j% Z, L pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;5 W/ N C- `" P
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;/ Y" L+ B1 F. A0 Q' ?/ g9 p
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;; \2 d0 }2 |8 J# w: A
: q6 @! E. m0 o. c // oˉè* ??à? ( D, Z U; d$ P6 p5 T( ?# d
pLight->Specular.r = 1.0f;
, T7 l+ V) H. \' [# s0 Y1 d! r; k' Y& Y pLight->Specular.g = 1.0f;
; W0 l' x! k9 R# Y0 X7 h pLight->Specular.b = 1.0f;
" e+ t* k7 s0 N& M: ^8 o3 M) v // àü?? oˉè*
' E$ R; v$ d* P pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;) {$ S3 m. }7 m) ]: u9 j9 D
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
- l/ N0 `7 p8 s$ _ pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
2 e& B6 B8 [" M
( G; v( m4 E4 V if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
. q: G O, w0 ]. j5 e2 P2 M6 H6 O& t {* V {) w* s' }( z+ u' ?
pLight->Diffuse.r *= 0.6f;
( m/ ^' N, L0 J% V pLight->Diffuse.g *= 0.6f;# ]6 L: E9 Z- ?; u( M8 }9 u
pLight->Diffuse.b *= 0.6f;
# @& Y& Q: F" @" |3 t" ~: g& O pLight->Ambient.r *= 0.7f;9 l$ [$ n+ ?" F9 L
pLight->Ambient.g *= 0.7f;
' g7 {7 b# E) t5 m# S pLight->Ambient.b *= 0.7f;/ _$ P; N" }$ \! O" Q3 G
}
- x4 K3 V, T5 D4 Y
4 q* L9 t6 S& S% t9 z! K* B! @" F#if __VER >= 15 // __BS_CHANGING_ENVIR
1 e( J* S4 ] Z! w5 s7 o$ |, o if( g_pPlayer )
7 _* h/ b" p% C8 G; W HookUpdateLight( pLight );' P* [. Z. Y3 K& Z/ f
#endif5 e0 K9 _" i6 y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( _& `$ m/ M O0 ~3 e
4 X3 |# h. \5 U( y8 O1 W1 J8 {3 _ pLight->Diffuse.r += 0.1f;
0 @$ ?8 S; l: E* j+ m9 ~ pLight->Diffuse.g += 0.1f;
" i4 W) Y0 E( u# I: p4 w! i: Z pLight->Diffuse.b += 0.1f;1 j4 i# E7 y$ j7 ~
// oˉè* ??à? 4 { [9 d( u9 d9 P
pLight->Specular.r = 2.0f;
0 Z! I% T7 e% G( J. @ pLight->Specular.g = 2.0f;; @6 V3 O( ?1 i+ W
pLight->Specular.b = 2.0f;6 q( a2 W* U0 N* i
// á?oˉ 7 m, L0 E9 ~( A' P) y
pLight->Ambient.r *= 0.9f;
" Y% O) V5 V1 U+ @7 m% ^. E2 g pLight->Ambient.g *= 0.9f;
; |2 B% f ^; p. ?. G( A pLight->Ambient.b *= 0.9f;+ q/ Q' ^( k. u- G: p* K
% q) I, s" m( I: V$ N: D( o memcpy( &m_light, pLight, sizeof( m_light ) );7 p9 G$ q3 d; N2 K: |1 {7 W4 X
! A7 S0 d: m5 h& O9 f2 M8 Y
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );; t+ O$ Q7 }1 `" ^! N' f* Z0 H( E- w
pLight->Appear( m_pd3dDevice, TRUE );
* j2 T" @( {1 O( j: W B 4 O+ `5 O) H' x$ o
DWORD dwR, dwG, dwB;+ K4 d. K, J, R/ Q" m0 X
dwR = (DWORD)( pLight->Ambient.r * 255 );2 j w" s3 l# ~) g- q O: e% q" w
dwG = (DWORD)( pLight->Ambient.g * 255 );: a a q, q6 Y
dwB = (DWORD)( pLight->Ambient.b * 255 );
5 f' n6 G+ X5 L1 P$ \3 v! c dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );6 k3 r+ o3 Q. a/ ~# g
}
* P. h) U1 _( I9 T9 R }
1 a8 {/ K9 t) j. a+ N9 X else+ I Q6 m `/ G' _
{
( X# N( l3 g, ?( W X5 }' d, Q+ W if( pLight )4 F5 [. J4 Y3 m- U8 g
{
4 G. r" b, I$ [1 t$ e" [9 { & T, l* \, k% Z% h+ e7 P
int nHour = 8, nMin = 0;
! n2 A: \1 x4 E @: T" p #ifdef __CLIENT
$ B0 w/ a9 D2 [$ ^6 X // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 9 O, K/ N5 s* k+ o8 T9 S
nHour = g_GameTimer.m_nHour;
, }0 _) {0 c8 p$ q nMin = g_GameTimer.m_nMin ;
, h$ I/ ?+ ]# j1 s/ V8 W$ t #else
* j) u3 a, ~4 u; G // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.7 m2 Q F. B7 Q, M' ?5 w4 s
if( m_nLightType == 1 )8 p3 r# t( R7 Z" W
nHour = m_nLightHour;& v9 w+ {* `: ^9 h9 B& e; D
#endif1 g% ]4 Z( M) i Z+ R" |' H9 H
nHour--;1 V" x* w( B' X7 ~9 S$ a
if( nHour < 0 ) nHour = 0;/ L$ N' \$ f7 Q. {
if( nHour > 23 ) nHour = 23;
{' Q, i/ q- l0 ~* ?, ? }
# Q9 `: h9 i0 H" d, n, H //if( m_bFixedHour )( l. w9 r. L. ?
// nHour = m_nFixedHour, nMin = 0;
4 }* v; D) _0 v! {" x) a) c' j: b! H/ p2 q LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
, h5 L2 _) [/ V% T$ X# U LIGHTCOLOR lightColor = m_k24Light[ nHour ];
0 `4 R$ c2 F2 ^; A r7 b% r& j+ R% \ { [1 ]. G* ^
//m_lightColor = lightColorPrv;7 ]8 {9 L/ `% Z
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;0 h) ?/ o* S( }: z, [
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;) Q/ l$ y5 x4 E6 g5 ^6 ?0 h
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
0 N# I' _. O9 n lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;& |/ c4 [" f' _8 ` D! G
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
, n9 J; [1 o7 ` lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;% E+ i3 I% }+ H. K: y7 A1 i6 U
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)7 s) @' T' P$ ~! j$ D
/ c+ Y5 x5 }3 O% T0 G3 p2 | // à??μ oˉè*
% n1 W2 D, G4 f ]. u pLight->Diffuse.r = lightColorPrv.r1;
9 r. ~: Y/ u% i* C pLight->Diffuse.g = lightColorPrv.g1;1 J8 Y f) ?7 t8 }( {* p( m$ ~
pLight->Diffuse.b = lightColorPrv.b1;
) i; D8 b. U6 {1 w/ N // oˉè* ??à?
2 e/ v3 h. n: k4 J pLight->Specular.r = 1.0f;
1 t2 |, ]5 ?+ E% k+ d pLight->Specular.g = 1.0f;
5 c/ ^) K; u' L! z pLight->Specular.b = 1.0f;1 O# \7 k1 j7 I3 H$ x9 |
// àü?? oˉè* 6 }1 q% w1 x" o. N( g8 h) q1 h
pLight->Ambient.r = lightColorPrv.r2;
' C, j! \& w/ t; W$ b8 z# }. k! q- M pLight->Ambient.g = lightColorPrv.g2;
4 v, @) @& o$ p* A) @ pLight->Ambient.b = lightColorPrv.b2;
: L( p, m$ ]0 F" G: @: B f: A% {: @8 W! \" D/ ]! Z% g' O
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
6 h0 G0 |9 m+ @! m {
$ U; e. l0 }9 @; l0 X6 \6 G: M5 u pLight->Diffuse.r *= 0.6f;
' t b, v) ~. g7 X: S; {7 `! @ pLight->Diffuse.g *= 0.6f;
; y# V( d; p" P/ b9 C pLight->Diffuse.b *= 0.6f;
z' @ ^3 i8 K+ D pLight->Ambient.r *= 0.7f;& ~: ]' G/ J2 S- V
pLight->Ambient.g *= 0.7f;
# g& i# Y5 _4 Q7 W& }$ W+ |9 X pLight->Ambient.b *= 0.7f;4 O& s6 {' b7 Z5 p+ e/ ~6 ^% n# i
}4 g/ R7 ~' ?+ P9 k7 ?$ E
0 {6 [& G' M$ I2 u; a#if __VER >= 15 // __BS_CHANGING_ENVIR
: w' x3 E$ V6 k! [* p2 t if( g_pPlayer )
* m" P9 v8 @5 b v9 B HookUpdateLight( pLight ); ! k) f: W, Z# Y" N: z: Z- x4 u
#endif
. Y' k& `; X+ r0 Z. s memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ _: z2 Q) x8 D; B _7 t* ?8 T. \" ^" O& y! D1 l2 j( e9 x
#ifdef __YENV2 e) m8 V/ I- N" @
pLight->Diffuse.r *= 1.1f;
: Q% l' J U0 X: N8 v* A3 y; N pLight->Diffuse.g *= 1.1f;
1 S9 C8 r; D, K0 U. H! p: F pLight->Diffuse.b *= 1.1f;
; m" e/ R& B) L9 E; K) Y O4 ` // oˉè* ??à? 2 O! x; q: O; h; M
pLight->Specular.r = 2.0f;0 R$ j9 D) W0 S3 K, q9 e1 a$ |
pLight->Specular.g = 2.0f;' E. P; J6 [& _* h
pLight->Specular.b = 2.0f;+ L( \7 l+ @! S3 J; X( p2 o1 g9 Q
// á?oˉ 3 s: [8 Q$ l7 x3 U$ D
pLight->Ambient.r *= 1.0f;
5 o# J" H, N# h* T9 e7 j) `9 N pLight->Ambient.g *= 1.0f;% R% s! j" J0 h. `1 V
pLight->Ambient.b *= 1.0f;0 v! A% o) I# z4 ?0 {
#else //__YENV
- y9 f" p! F* A0 Q! W pLight->Diffuse.r *= 1.1f;) n3 ^6 R" f0 s5 [+ U* @6 e U8 D
pLight->Diffuse.g *= 1.1f;
' b% Y# c- ^0 m2 V pLight->Diffuse.b *= 1.1f; w }* I3 h3 s9 I3 k9 {1 S
// oˉè* ??à? ! s" F. q) Z$ P, u
pLight->Specular.r = 2.0f;& \ A8 A% a- k9 b
pLight->Specular.g = 2.0f;
, q0 F. \# G9 X, X pLight->Specular.b = 2.0f;
- _. G" f* M- I! e6 B, m- R // á?oˉ 4 L) `% |. h7 B( o- i
pLight->Ambient.r *= 0.9f;: _; Q7 ^: X1 D* N3 m) n
pLight->Ambient.g *= 0.9f;
* A0 r% K0 \: ~$ r y: T pLight->Ambient.b *= 0.9f;% @0 }& l; O+ U$ _4 ?8 z
#endif //__YENV
& r: k r+ x( a9 k1 K * F1 S1 t6 h, x+ K' H
memcpy( &m_light, pLight, sizeof( m_light ) );
) ? z: j" V% J% L6 E+ I# J% _! H. j8 O
( `. X1 m2 q% r( ^5 A% T D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
3 A% h2 A& w# S- b# Q( | D3DXMATRIX matTemp;9 X6 T* \- [9 \$ c) c5 Y
static const float CONS_VAL = 3.1415926f / 180.f;
7 Y$ ~% c: C" k
) u. B/ }) _( C D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
- x/ z* u$ p6 ?) z! w g: V" ~- k, s D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);. g5 @1 w, u$ A4 ?4 }
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
Y1 S& C1 A( D) E pLight->Appear( m_pd3dDevice, TRUE );
7 ~& g2 d. |( v& F; c! a, G/ x" s* Q) e+ u! Z/ U8 F
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);0 U) q1 S; c& |- D
// D3DXVec3Normalize(&(vecSun),&(vecSun));7 z$ p8 K z0 n
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 1 Q. f3 Y' l9 i( v F
4 Y3 i) S9 k6 L$ r3 _! G
DWORD dwR, dwG, dwB;3 ]7 n) h3 d) v) X
dwR = (DWORD)( pLight->Ambient.r * 255 );
( O+ d9 R1 ~6 z dwG = (DWORD)( pLight->Ambient.g * 255 );
: e- _7 q" r9 y. \4 | dwB = (DWORD)( pLight->Ambient.b * 255 );1 V8 r# s$ E( ?+ a# l$ F5 ^
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& \* `$ H' s, u: Q# t: J# _- ` }
9 z( { [! \/ B2 v }' r9 a! O" L# p) j+ Z. i @* x
( G) Q$ [2 S5 }2 N6 v. j: w1 A+ l" F
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
- s' R6 p8 b4 h& J Z0 s$ ]! R 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) );
- f5 E! {5 _4 A# V6 L! q ::SetLight( bLight );6 E' s# f' i6 `8 e& j
8 \# P# ?8 u* X) W( W7 \" p
// ±ao? ?D?í???ó á¤à? c% P- ^8 ^1 O
m_pd3dDevice->SetMaterial( &m_baseMaterial );; x+ D5 e8 f6 R% x
: b# `0 G8 a. X6 [6 Z# e/ J
#endif // not WORLDSERVER1 S& k; R* z! k( a
}
4 f3 s, f( i t% A" B( R9 j并更换" A: M# {3 u4 I% o
Code:/ F, b/ x% ^: h& {1 i7 x* ~- ?3 f
__FLYFF_INITPAGE_EXT
2 U7 O# w8 L3 I, J/ o定义% \3 W; s9 N# b/ o" A0 M
3 _' R$ h! Z' h( I2 q0 D
! I, O/ M+ q) `3 p1 e+ r
1 h$ O3 Y' |1 `3 \. _ N" n- t6 |, [9 ~6 C- R# k" ?
现在终于删除我的狗屁加速...
|+ L+ z/ s5 H# Z2 {' ?
4 s# M R! `$ O, D
. F, u9 T4 a* t% q- W0 N$ x3 M; U4 l7 j
|
|