标题: 自动饮血和登录视频 [打印本页] 作者: admin 时间: 2016-1-10 03:46 标题: 自动饮血和登录视频 食品车: - l7 `& U) Y) [, m; M4 E! m) W尾翼:: \! A3 ~. {6 C1 j' y+ W
+ ?" Z" g& P3 Q7 x代码:; \" O1 y8 u7 N
CWndAutoFood::CWndAutoFood() ; Q8 H9 @: m4 L: X. ]# B{ 6 e; }4 R$ L% `9 p m_pItemElem = NULL;5 q% J' m' V" M/ {3 d5 o, d
m_pTexture = NULL;2 A* s+ P" p' [; ]
bStart = FALSE; # ^8 q# X3 y' K! z( G} ; E+ ^- W4 k5 p5 b. N. X( Z2 f ~- ~ i, t# Z
CWndAutoFood::~CWndAutoFood() * @: g& s, T9 C2 s4 b{ 4 Q4 w2 W9 ~9 K! c1 o% D1 Q, Y0 M AfxMessageBox( "AutoFood ist gestorben " ); . K; I+ G; @7 g# O} . q) x9 U3 j6 U; `/ i, FBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )% l3 r/ B% A) G# X/ D: i9 F
{ + I& K! J$ D3 p return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );4 f8 O2 m% C& v7 _$ c, w
}5 E8 W. p! A5 x3 G: E' t9 y$ s
a9 r% @# a8 K+ o+ j3 ^* [5 ~BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point ) * X% K$ }1 n1 p- ]{ 8 L% ~+ g7 l& L& l, H4 a; F. L. U LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );. q; r' {, Y; {- W; M' L6 B, ]" {
CRect rect = pWndCtrl->rect; 3 [, R% v+ b1 Y! L( L) _ if( rect && rect.PtInRect( point ) )* X; | f8 t1 |' H
{3 A; c' q* @1 ]2 [* |: }
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId ); : e+ g1 u2 Y6 w$ W' G3 _7 b if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )3 E! E6 e0 a4 [' u s$ H4 }
{$ U3 m# _- C4 }) t# M
if( m_pItemElem )9 P2 i0 D) E; @
{ * w5 i" X! c: k m_pItemElem = NULL;6 f% L9 ^. @4 G* s8 z1 Q3 @
}+ _) Z/ g* M) ^& p1 m2 Y
m_pItemElem = pItemElem;. d( a3 h$ K/ H) X( m2 p8 n
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );6 u3 n, ]' g3 C' ~* E
}else{ 1 V: R X6 j+ G' Y$ Q/ x SetForbid( TRUE );, ]# J+ t; d( D! ^6 y8 g
} 2 O6 S$ Q( u" Q- D* b' ]. S }else{; W- D6 x# ^; U- @
SetForbid( TRUE );) [ A1 Y6 u% R6 j; k2 _+ o9 G: W, T
} : j( L9 T% R% Y6 p7 T return TRUE; 3 S7 z+ e( H) \, ?& l" u! P# L* S} 0 \" R7 [0 @2 n% `/ V- H7 N' n$ [( Q) A+ y" {5 A. ?% ]
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ) 0 z. B1 m( G8 l) U% r1 F{ " o6 y" v. W* @% z- w: R- I# O switch( nID ) 0 V+ |# p; N) s$ Z5 i4 F {# T; Y# c4 d: _( U, h" K
case WIDC_BUTTON3:+ a9 E7 k3 `3 N; ^
{ : @/ V" S+ p; `" A* S( @7 W8 Q bStart = TRUE;3 I; w% r8 p4 n, e' \
break;' D. g; D% |3 n0 D+ A
}4 d4 Z3 W# J" u& j7 J) k, g
case WIDC_BUTTON4:! o' h" g, m5 B! T3 ~
{0 Q3 e4 ~# u% {3 k; J7 w/ ?4 X4 X }) e
bStart = FALSE;- y6 x8 r" C6 e2 N" t& }* m
break; 0 A+ R- Z" r2 Z/ [ }- |3 G ^5 w( ~- o5 s2 O! Q/ w' ?+ g
} " g: l. e7 @; R. b( z! ~% L return CWndNeuz::OnChildNotify( message, nID, pLResult ); ! d9 Y/ E% T0 }) T} . U+ P+ u& F& ~* e; b5 z( S3 [
void CWndAutoFood::OnDraw( C2DRender* p2DRender ) $ _. w5 H* `) u{) E6 z$ H: {7 B; f8 s0 c0 M
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );& m7 e# t; G' W! c8 {& j8 |
if( bStart || !m_pItemElem ), {6 `7 |1 p! R" O6 R9 n' t2 `1 r
{9 Q0 v" q( [ t8 w! R
pBtn->EnableWindow( FALSE ); + _6 o+ ~" W; }4 n }else 9 R* ~$ p/ I+ t' c9 M1 ~" g pBtn->EnableWindow( TRUE ); 1 L& `9 j$ j- ^/ _ if( m_pTexture )9 d5 C" _, D" P8 T+ V- U
{ * v" D0 ~, t* ? LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );' }9 d7 D" R- H# n/ ~) [. R
if( wndCtrl && wndCtrl->rect )- i! ]5 L7 o0 n- I- w* `
{8 d0 [( r" @2 @) S' e: J9 S7 {
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );- q- }- i X6 f" P$ O9 e
} ! M! u6 @# n6 U }7 d+ U* r0 a G. W0 b. Y
} & x8 x5 t: b3 P7 H+ I5 ~; |$ s( A6 o; X, d5 j
BOOL CWndAutoFood:rocess()3 |7 r% _+ U2 p% e, R
{0 ^! u& s7 q; u& s+ S4 H
if( bStart ) , L" [; C0 I( Q' ]2 y {' U9 B- i! S- k' ?1 {
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ) 1 P' w! Q4 J7 i# M I { 1 s0 b3 N0 Q% K+ n if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() ) 0 Z) m# s: B6 Z, c2 N0 c2 Z g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts ); G* f2 F7 e& b/ z* ^* L+ P }else{ 2 L* A/ s9 i8 }0 ^- U4 X/ t: ? bStart = FALSE; 1 i9 e" e, G; j m_pItemElem = NULL;' N7 r3 S% ]9 S0 o
}( d: p$ G4 m* t
} * H% @7 U# p8 Y return TRUE;4 X, @# v. k3 O5 B* d
}+ E) T, V# y: v: ]- W" A
2 G4 E" P% b! z" w& I* Y2 P4 S: ?5 w
登录视频废话:3 v7 H8 L; `$ i L5 l4 a% F+ k$ ^
尾翼: + c# I: U4 K; S- L" l9 ]# d. L 2 [# n0 {( @! I代码:& R/ f. `6 o1 X; k" O1 B9 ^1 v
, i1 Y; o t G+ r) y( n) evoid CWorld::SetLight( BOOL bLight )- u- ?& @2 x7 ]' i0 @, X
durch$ e+ u7 s5 D! J
Code: ) d' D' ]$ u2 K; o" w) _void CWorld::SetLight( BOOL bLight ) + b$ o- y3 M0 U+ b! W{) {; B0 D2 D* z1 Y4 O* ~; x
//ACE("SetLight %d \n", bLight);. W! @9 G# B1 `: H
: b* n! r+ D3 s. M3 B0 @
#ifndef __WORLDSERVER # M9 }9 \, p; ]7 D9 `: ^; W DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0); 3 ^7 p* R `8 T8 t' D5 z CLight* pLight = NULL;) U, V5 @, i1 T( ~5 I( G( p
! [( v4 e2 c: r6 |
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) ); / Z [* V* j9 ?' K0 ~+ j' C3 [3 c/ B$ c/ O$ c- d7 g
pLight = GetLight( "direction" );/ N; n: T: W) z7 E+ T0 r
( J% o3 k7 ]7 |, j1 w
#if __VER >= 15 // __BS_CHANGING_ENVIR* T" W" B* ]. F* V
if( g_pPlayer ){0 z; Y1 w- O+ R' S" Z: s6 n, W: F
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );3 H6 O2 ^0 w2 n; S* t9 J
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !! + f- L1 y* H0 o. c {! B6 m; c1 W! {3 e2 g
if( pLight ): p' d; A8 b- C) v- k
{ " c. h6 _. v ?7 ^- d8 L* W4 w' I+ b pLight->Ambient.r = pInfo->_fAmbient[ 0 ];& H; @$ W( H$ k) a8 s! T& f8 E% q
pLight->Ambient.g = pInfo->_fAmbient[ 1 ]; - L* \# n0 V* l' ~2 W1 r pLight->Ambient.b = pInfo->_fAmbient[ 2 ];) E6 y, y- W, b7 b/ E
& T. w5 g6 {! a+ R' M pLight->Specular.r = 2.0f;# M. N$ P4 N u6 D ?
pLight->Specular.g = 2.0f;. J: h$ O L/ Z3 w* C' b
pLight->Specular.b = 2.0f;3 R; y) p0 a: G& l# |9 \
r9 W3 d: K# {, o+ @4 E pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ]; 8 N6 o* n# R7 Q, O! S pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ]; ' b% T* i% F+ m9 ^3 N pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];$ v+ ^! _) H8 M9 n" T3 X
! L7 z" f$ M. \, w1 U) |0 a HookUpdateLight( pLight ); / y' j2 H3 _* J i9 E& M; [- X; U$ ^* d) Y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );) [$ }- m$ a# l6 v3 O
9 u! L; S9 q9 T# a2 O% B2 r
pLight->Diffuse.r *= 1.2f;9 v" \; y" s/ _ X! t) g! m- m
pLight->Diffuse.g *= 1.2f; " ^1 X0 M2 s" D pLight->Diffuse.b *= 1.2f; 7 w: }0 K/ [/ ?0 ^! [4 {* Q9 m 3 v6 l, u' b5 W' N0 K; ? pLight->Ambient.r *= 0.8f; ) @: X3 f* r% |' S5 U/ E, y pLight->Ambient.g *= 0.8f; 1 a* v- N- D% l pLight->Ambient.b *= 0.8f; ! [1 r: D: i7 t2 }7 K2 v: g $ G8 S, }% X5 r2 m
memcpy( &m_light, pLight, sizeof( m_light ) ); 9 D! ]! E4 W. M c9 H: L9 a0 ?* N: G! Y1 ]- Y9 C+ T
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);) y5 X+ H8 j, P' L# J5 R
D3DXVec3Normalize(&(vecSun),&(vecSun));- Q+ k3 V8 v) f/ ]( q" P
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 1 r4 \+ R1 S# R- P pLight->Appear( m_pd3dDevice, TRUE ); 9 J3 P9 b4 p. R' B# @2 ~+ @ * i5 |& P7 s. B k. s! O DWORD dwR, dwG, dwB; 1 B& X/ H4 q# b8 v/ ? dwR = (DWORD)( pLight->Ambient.r * 255 ); 6 Y2 e0 |! O/ K dwG = (DWORD)( pLight->Ambient.g * 255 );/ ]3 ]/ j5 i6 I2 |
dwB = (DWORD)( pLight->Ambient.b * 255 ); - `/ U3 Q1 V* U5 t7 k2 H dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );. |# @0 o8 E. ^* ^9 }. I3 H$ I# i! @$ H
}, s( b! g& v/ k7 _- F/ J
} $ q% F; G k2 H! u6 a5 I }* [7 k8 F. H3 u5 k" J7 h
else ! Y, ` _7 N/ e! @#endif # }* g6 N/ }7 c% B7 m: P
: e3 A& @# ^0 `
if( m_bIsIndoor ) 3 X& u" M+ t5 }% ]9 l {3 c5 e7 M1 Q. J. w7 e5 \9 E6 }
if( pLight )9 `! @: U7 q, L! ~( x
{ 1 S4 h; X9 M6 ?: ]
// à??μ oˉè* / ?. u s. Z8 z' D3 I' ^2 S pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;2 a7 P9 n" h' q9 [( P' z
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;6 g |" L% `8 p" u" k. L
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f; ! X _7 H+ i2 M) s2 l1 h. _ x1 x7 P % w$ P8 r9 Y; ]1 A) ?( K // oˉè* ??à? ! D0 \% P6 h2 F+ @ pLight->Specular.r = 1.0f; 8 R, n1 a5 [$ Y# G9 N2 | pLight->Specular.g = 1.0f;, m1 C o# i* d' u( C- |) U
pLight->Specular.b = 1.0f; ) B5 j$ f: E( \6 Y3 _9 g, ] // àü?? oˉè* ! |5 p. N) T- {0 U7 |: O( Y* S pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;( } Q, S# U, S% A [
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;2 k6 P- z4 T3 F4 H
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;2 M9 ]2 j* S$ j1 Z! ?3 A
8 E3 @8 T6 J# p0 Y4 E if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??./ ?9 j9 y7 l* C# w3 f" t/ ^3 \
{ " Y2 k3 f+ V% H A8 O* h* R7 V) U pLight->Diffuse.r *= 0.6f; S* x1 I0 Z$ T+ G
pLight->Diffuse.g *= 0.6f;3 Z" p7 E+ `$ X: G$ b9 H& C8 t ~* w
pLight->Diffuse.b *= 0.6f; * n' X- p- ^" S9 x, ?! [, Q! r( k5 | pLight->Ambient.r *= 0.7f;$ R+ n- [1 A; y1 N
pLight->Ambient.g *= 0.7f;* d8 l @' Y' J P- u/ W4 h
pLight->Ambient.b *= 0.7f; : z( [) U6 R2 |$ e' n2 h } 5 F! m7 b- r" r0 n7 _# p8 B. j8 J! [
#if __VER >= 15 // __BS_CHANGING_ENVIR5 W+ O1 ^( K4 M7 K* O* n
if( g_pPlayer )$ _$ E# c4 h. A4 H* ?
HookUpdateLight( pLight );9 G$ W+ V% b+ I1 V9 C: g
#endif ' {8 b& k5 W7 z5 V memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) ); 2 l; }& n: y8 X5 [" r6 K F+ b4 ] W% W6 N' j/ J
pLight->Diffuse.r += 0.1f;: d- I) G8 \' h& I( |
pLight->Diffuse.g += 0.1f; ' d# g: P6 S9 v pLight->Diffuse.b += 0.1f;2 @7 {7 H& e y' t( n: H; J$ g& P
// oˉè* ??à? 5 U! T% [4 {. M1 m* ^. ~. T3 m
pLight->Specular.r = 2.0f; : x+ ]: G# \- W( c: {$ i5 w9 \3 _+ Q pLight->Specular.g = 2.0f;+ T+ g {% ]; V
pLight->Specular.b = 2.0f; 1 j- O" R* Z/ a& u8 X // á?oˉ + e# K3 S) b) y. `
pLight->Ambient.r *= 0.9f; 2 f$ e- q/ E8 f3 o0 R. D: n0 C pLight->Ambient.g *= 0.9f;7 w5 c; P6 y, |: o
pLight->Ambient.b *= 0.9f;/ ~. u8 L% b1 }4 _& @* K
, `% r0 u e9 E2 N; j( n; l) ] memcpy( &m_light, pLight, sizeof( m_light ) ); # N' {" Z/ @/ u( C9 o1 T9 x$ h) ? * J3 u* f6 Z- e) }1 y& M
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );, P2 k) h$ u! |) q; B: ?* h: z
pLight->Appear( m_pd3dDevice, TRUE );2 v& E4 A. V1 d P% G, z
* V5 {; f v* s8 _ v DWORD dwR, dwG, dwB;$ s* X# |& k$ o4 s+ D. r0 J
dwR = (DWORD)( pLight->Ambient.r * 255 ); _% g/ J6 d( C" V% i o9 | dwG = (DWORD)( pLight->Ambient.g * 255 );5 J( s' W+ R' m E5 l1 z
dwB = (DWORD)( pLight->Ambient.b * 255 ); & F. \3 L. t0 O& W* h4 F) ] dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );/ h" O1 k) R+ n; n- n
}0 g4 ]+ e* J6 }% J
}! o% w5 S" i# e; |
else ) p+ o5 }" s8 q( g- P U2 g {2 L, L: h! {/ w- n n( k
if( pLight ) 5 h5 X( Y$ N; b' v2 L# |; l2 ^* M- Y0 j {& R+ X0 `9 Y6 P9 K! F3 l9 }
, e) f) t, ]- ^* m- W
int nHour = 8, nMin = 0;: i% m& `* A9 i7 y1 d3 n
#ifdef __CLIENT" ]% H1 x+ T) F8 x1 f. _# q
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. / F1 J0 I0 s$ x9 w: ^
nHour = g_GameTimer.m_nHour;. X6 S2 x' x# j7 F7 B
nMin = g_GameTimer.m_nMin ; ' a0 V( e6 X0 G6 e! _ #else $ F- s0 H# S5 F // o??o??′? ??°£à? m_nLightHour???* °?á???′ù. ' r4 [6 L+ g) {: X0 h if( m_nLightType == 1 )/ J* ~ v! Q- {
nHour = m_nLightHour;* c7 ~% ?1 ]3 y' Z" k. l* D
#endif - c D+ n7 Q) t9 [; U% { nHour--; B1 A" e; G. i6 n8 X" t
if( nHour < 0 ) nHour = 0;- x! [# J' @+ w( R& h3 }# n
if( nHour > 23 ) nHour = 23;' Q1 |* f2 `: H1 z4 p
; b h R. D% A. t
//if( m_bFixedHour ); |1 R6 L- N% k/ D
// nHour = m_nFixedHour, nMin = 0;1 p) i/ e; Y. y+ A
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ]; 0 a5 T! s* C! |, g+ A1 t7 B LIGHTCOLOR lightColor = m_k24Light[ nHour ]; ! }& L0 c9 p8 G" i! Q4 j3 ?4 U1 ~ / k9 b- n1 U, z7 z- M2 s/ C //m_lightColor = lightColorPrv; : [ F) S$ D* v lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;* ]2 ?2 I5 e7 c0 m% Z2 d# E
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60; 6 n# z+ x5 h8 c% y( k, {, R' R lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;8 {: h Q' N! f; ^+ S/ t
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60; , i5 G: \+ h' R( q8 n( ?+ I lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;, }# K. @7 U3 z0 I) K
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;/ g+ `* R% p- V3 V. S4 F- t+ }2 p
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)9 o8 W" B; j/ q7 @7 Z0 W. H
6 P( a5 {6 I% r! V4 [/ \2 x- S // à??μ oˉè* ' v; t0 g( X2 ]5 U9 w& N- z
pLight->Diffuse.r = lightColorPrv.r1; ) O' s7 R; ^/ R. G& o( X5 p pLight->Diffuse.g = lightColorPrv.g1; . u4 ?: h [+ t) @4 P1 s% X% t pLight->Diffuse.b = lightColorPrv.b1; ! m* e4 o0 x/ Y // oˉè* ??à? 6 T$ P# c$ k, D
pLight->Specular.r = 1.0f; @* _1 T* G1 \ pLight->Specular.g = 1.0f; + g, r# d" G0 D; B5 q pLight->Specular.b = 1.0f;1 j& P; B, r8 O: [& A- |* S& X, _
// àü?? oˉè* : T' G7 [8 y5 m/ E" G pLight->Ambient.r = lightColorPrv.r2; . W6 h) J' R+ T# c8 M3 ~ pLight->Ambient.g = lightColorPrv.g2;' ?( d l# h% y" h$ ?* I: ^
pLight->Ambient.b = lightColorPrv.b2;! }7 L" b3 @& P
6 L2 u9 z6 A1 M1 S
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??." R) H1 f" U/ D5 ?+ l c* B
{; D( C. E4 a9 w" B2 `0 J* s! f
pLight->Diffuse.r *= 0.6f;3 K( ?1 u: K3 K/ u. ~$ s# V
pLight->Diffuse.g *= 0.6f;; @9 S8 U9 t0 a3 x0 K
pLight->Diffuse.b *= 0.6f; " g7 ]5 Q2 Q( o' V# q pLight->Ambient.r *= 0.7f;! \: b6 i% r. e& h
pLight->Ambient.g *= 0.7f;9 Z. g) y" Y. Y: }& t
pLight->Ambient.b *= 0.7f;- P3 W/ `. E9 u5 F
} 2 K$ P! ~1 B0 ?% m$ m ( @7 q3 h1 V. R# c6 g5 X$ Q9 [#if __VER >= 15 // __BS_CHANGING_ENVIR 6 I% k/ @+ x3 Y+ Q0 r& W9 i: E$ M+ e if( g_pPlayer ) " }) F3 y$ T7 m HookUpdateLight( pLight ); 0 ~- x) I2 ?. O6 _
#endif% J3 Y4 E# A0 n/ ~3 p8 ]
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );1 A' s- l, u; R$ F' s8 x
, a: l3 k' X& Q b+ {2 C, K#ifdef __YENV # L T2 k, ]) p5 f3 F pLight->Diffuse.r *= 1.1f;- c! W! }7 M: e- ~9 I8 @0 W
pLight->Diffuse.g *= 1.1f;% |$ S4 s1 Z% S' n3 k
pLight->Diffuse.b *= 1.1f; 7 X6 M# I+ g: e4 { ^ // oˉè* ??à? + H8 T" y( {7 s- Z1 g0 ] pLight->Specular.r = 2.0f;. i. x3 P' _, B+ j2 @! Y1 L' t$ |% o
pLight->Specular.g = 2.0f;. e; t! m) x/ e
pLight->Specular.b = 2.0f; + c; W% n& j5 b/ b // á?oˉ 1 `9 o% Q6 U! Z) A4 ~ pLight->Ambient.r *= 1.0f;, W" m1 z- H& n* T" f! y; U" f
pLight->Ambient.g *= 1.0f; : ^$ p6 N9 [9 f" G# c2 W pLight->Ambient.b *= 1.0f; + ^8 a5 {1 y$ E1 m#else //__YENV ! e: X" J3 s7 Q% V0 R W2 A* s0 j0 x pLight->Diffuse.r *= 1.1f;: k6 Y6 v, Q! p6 v
pLight->Diffuse.g *= 1.1f;" M' q0 S2 e- y* e; l
pLight->Diffuse.b *= 1.1f;) D* l% Q7 l& X4 s# [% K0 m6 G* O& r
// oˉè* ??à? : Q. k; \# G2 l; s- V' W" C) x/ S; F pLight->Specular.r = 2.0f; + u% Q8 O) l5 r* d+ n% ` pLight->Specular.g = 2.0f; ; Z, t2 I, v" F) j2 P" j pLight->Specular.b = 2.0f;8 s* C. O4 _* K2 d4 S( E- M
// á?oˉ 9 |% m2 `6 K( | g
pLight->Ambient.r *= 0.9f;, f: w. N( M% k8 k
pLight->Ambient.g *= 0.9f; 3 g4 E- v; ]% p pLight->Ambient.b *= 0.9f;# F4 Y3 z7 A1 _. M0 g/ N
#endif //__YENV 3 _' [. [: \' B- I# X , P/ ^+ y3 p! v5 m
memcpy( &m_light, pLight, sizeof( m_light ) ); # M+ H; Z8 k# n: q! A3 m) | b 4 J7 Y* W* g D/ L3 d9 p D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);% ~, t N6 X% D" L& N# E, P
D3DXMATRIX matTemp; 1 Z2 r0 d/ H; S; V0 |1 j3 K static const float CONS_VAL = 3.1415926f / 180.f;3 i2 S* R. h: j# z& b$ C