|
|
食品车:
8 F, Y. ^$ c B尾翼:" _2 D) L. O) P
0 g3 o4 v3 G8 y9 K代码:7 m$ A$ l" O5 ~( U0 I
CWndAutoFood::CWndAutoFood() Y3 r: r9 d/ R. M' H. {
{1 \8 c% {& Q' V0 c+ @% z$ A7 Z6 D
m_pItemElem = NULL;
I+ `& Q6 g8 F! |% K: J m_pTexture = NULL;: X, H7 i" R/ i4 e+ X
bStart = FALSE;- i2 t" T* `/ J. Y( x- O
}! a2 m( T$ }( `! N5 _
$ n q! n2 h: N3 k3 {% y! MCWndAutoFood::~CWndAutoFood()5 L7 t( k" |4 u( {+ w, j
{( P/ @( B6 ]$ r# G4 J1 x* E
AfxMessageBox( "AutoFood ist gestorben " );- H. M5 }5 O/ g- [9 _. Z0 _- [# J
}
" ^, K/ B$ c- O: b: u+ NBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
0 Q# |4 A# ?' @! C/ H! ^7 D; P7 k{
i5 z1 ~$ V1 |+ @ return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );6 Z1 ~- j$ N# h% b
}3 S' n: S. D0 {+ X
( c5 g( I7 M6 ^4 u9 @) MBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point ). ?; l! I* q7 `2 n1 |/ S& g7 `9 \
{6 l8 {3 K& |! A: R1 S( F3 |* ^
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
2 Q. V, K* H9 a" R$ R+ T# } CRect rect = pWndCtrl->rect;8 f' e" P1 g' l$ d( X1 A
if( rect && rect.PtInRect( point ) )! a* Y& D' } O; M; ~2 J/ ]
{
1 s/ K, M% w% \# {2 Z. I7 n' n' f CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
$ P$ z) ^" s1 y* { if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
" R* A: X) t. Q+ {/ P& ]9 G+ j* ]; i {1 W! B; J9 m0 ?- B) _. r) \ Q7 n
if( m_pItemElem )
- w. ^3 v& H' t3 E' E {
2 ~. E. |" L- F5 Z m_pItemElem = NULL;
3 d4 _8 n$ @0 R b: F }
% Z# }/ y$ R) \8 e m_pItemElem = pItemElem;
5 n. K/ G' U& g' g; C m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
9 m. K& v3 Q, r( @ y }else{
! ?6 Z" K1 L% E SetForbid( TRUE );
_/ M; |# U. { }
8 i& @/ [- E/ N, R' R% a }else{
0 r6 ~' K6 e8 N. O% D% Q6 J SetForbid( TRUE );
B: R8 L% j( t& M3 v" m) Y2 N/ H. T }" X6 D' O" ~, n: G( Y) l6 H
return TRUE;
& O; F) l3 t2 K& [1 j}
# X" \" g G% i j
1 Z3 b; t, T$ S% A6 fBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
: J3 l3 D0 d- H- {{7 C3 T( `9 y7 o2 ~6 I9 l
switch( nID )6 K, u0 j- Q/ O( ^: [
{
0 ^. Q, m b! i/ S" C [, h( r case WIDC_BUTTON3:
4 J. S- W5 x8 \! h" H8 p6 b& e& E# k {
: L+ j6 ~( o1 v bStart = TRUE;. l- w$ r" i1 U9 V& ^- K0 y
break;1 _4 o0 d0 t: e' M
}! k6 X q6 \! D" z+ m/ B
case WIDC_BUTTON4:, W+ T, Y8 w/ x* w2 ?1 r2 C
{
+ ?5 o. L, k! X9 O6 D- p8 I5 @ bStart = FALSE;
/ l8 k% @ V; D2 W break;
8 A* E$ }! P! r! \8 _ }
) o, ]- l5 c/ g( u }
& p; p/ U; S3 w: U: l( C& B4 l' H return CWndNeuz::OnChildNotify( message, nID, pLResult );, v7 \5 d; D& t) O3 }9 F% v
} 5 f7 U) u, H/ ?: E$ c7 q# g d% y
void CWndAutoFood::OnDraw( C2DRender* p2DRender )8 i- @, a' L3 Z! W4 V0 I( u
{
7 G( p/ u Z& L. ~ CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
7 I6 A0 J% C n0 r- Y if( bStart || !m_pItemElem ), c+ ^6 |5 D9 {6 j
{$ W$ I9 @/ b" l1 _
pBtn->EnableWindow( FALSE );
1 @. f5 N+ _$ o" b" E }else' D5 I2 R! I2 s- w& \" c
pBtn->EnableWindow( TRUE );" V& N+ G$ {& [+ c% q. q" N
if( m_pTexture ); \6 D6 [; u) S( A
{
, ]- [* C# }9 U; ^& c LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
3 b2 D% K; G) b# I if( wndCtrl && wndCtrl->rect )
7 T' t6 P4 S5 t/ u {7 X' X: o2 i. l$ H, N9 K1 V! X
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
% Z0 ]$ ~* |5 j4 m1 Z, a7 i: z/ A% k }
1 u# K! \1 b0 X" i$ Q }% R r; W6 j2 }4 z! ^9 S" S
}& B- r1 ]6 J6 H: g- U8 d u
. n S* i' R- y
BOOL CWndAutoFood: rocess()
, ?& `. m" N* l& J1 K{
" U4 i6 R# @& s4 L1 ` if( bStart )
8 \9 a J- P+ o" Q {$ q8 x R" X& U1 m
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )1 U2 b) y8 o/ G0 l7 g8 T
{( U1 j; {) }7 N/ D! R" f/ H
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
9 Q7 T- I7 @% [) k* n3 X1 ^. N0 e g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );& I" P8 F* M: `
}else{
9 y9 O. D3 @4 l, B$ a bStart = FALSE;" ?" @ t9 k& X7 x: }! B% V
m_pItemElem = NULL;
0 F: Y; z: A9 `" I }
. c0 b+ g$ S( | }0 z4 d5 j$ S: c' J( J, c
return TRUE;
7 H# U( a3 M4 g8 U. q0 s}% X! p; c6 n8 o0 c6 e! s i# e
9 t3 g) ~2 ]6 N! _* x- W* k9 @
登录视频废话:
' t0 q) v! T5 b, x7 c尾翼:& _- c6 ?1 G! W9 S1 Y' u: p. q% h
) v# T0 k+ \% ]9 T; v" D1 G代码:
' i% u- S, j. y7 t/ I, s
4 m. F2 V& t5 F( q9 U2 b6 Avoid CWorld::SetLight( BOOL bLight )& }. N' Z; X' g1 {( L$ y1 B6 Z- H
durch
|* A7 H7 }+ p' O" }& gCode:$ W) y! p E) X: T, ` r
void CWorld::SetLight( BOOL bLight )
1 {7 @8 q- |( H4 n& m{
6 X. }$ Y$ T. L F/ B //ACE("SetLight %d \n", bLight);3 U" h& N5 Z- V. N3 v6 P9 T
' M- W; k$ e6 {! V8 f. A) S/ P
#ifndef __WORLDSERVER $ n& E& s) {2 E) A( p
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
) i" V/ P! H/ [# s' M* x& g0 {; n CLight* pLight = NULL;$ c! A. I% g; r" s) j# @; t. j
3 Q) N4 {7 A( ] D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );/ w1 Y8 e/ F9 h. |7 m- m
; z) ^: w; I+ `. n$ \
pLight = GetLight( "direction" );
$ e9 b& Y" A& w5 o0 M' r! F @" N. P$ C% c3 e! _3 n
#if __VER >= 15 // __BS_CHANGING_ENVIR6 }- [' [7 H: Z- [5 g1 G. S9 `
if( g_pPlayer ){
% q+ g, i& Q3 S0 T/ J+ B ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
- A. G# w, o2 G5 r1 V; j if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
' G9 k2 O7 Q1 B {7 @+ x" f9 Z3 U8 F
if( pLight )
@1 X2 O! c9 @4 n* x {& Z+ x: t: b. [: V9 Y% F
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
6 O* z- a# `7 _( x" Q. F pLight->Ambient.g = pInfo->_fAmbient[ 1 ];! S2 I- a8 Q6 W) @) G6 \5 Q
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
; F' c3 w; ~% e- x9 ~- h
' o/ b9 `2 U) [% I |( H. U( T pLight->Specular.r = 2.0f;
! j1 R9 G* ?6 |6 S2 K( g2 h pLight->Specular.g = 2.0f;
0 |6 R: R) @: l5 ^+ u. x pLight->Specular.b = 2.0f;+ } g: m1 N( s( O& M5 A
1 i2 L( G3 {" F. U4 f# y0 u& d
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];" v+ k1 E' H& }! |) Q
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
- B, O8 C4 J F# g pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
7 G1 I# F, l! |4 h9 n . Q1 F1 p4 b& i U; ~* l
HookUpdateLight( pLight );
& [* `9 o1 o2 {- B2 E7 Y5 D# g3 M; r+ m
) j g2 @ e0 }3 W+ C9 F/ p( ` memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );3 g, ^9 Z1 m1 ?' _( f9 ^
( C( F8 J" k; U/ d" ~3 [1 { pLight->Diffuse.r *= 1.2f;
6 v' S. L/ ^! j% Q c1 @ pLight->Diffuse.g *= 1.2f;
" V% h- Z y2 p! T- S: I6 n pLight->Diffuse.b *= 1.2f;
5 @' d. q) `2 B, g8 ]/ f& S9 V
; L4 t2 O: A5 n. e7 T% X- g pLight->Ambient.r *= 0.8f;! x" N9 ] J1 o3 Y
pLight->Ambient.g *= 0.8f;9 g1 o7 {9 j% o
pLight->Ambient.b *= 0.8f;
; H7 {2 g6 I2 U: T+ x2 w! g% z ( r7 k( H; b* w
memcpy( &m_light, pLight, sizeof( m_light ) );
{1 I; @, I, g" _& h& a- ]
) {# q4 A8 s( {2 ^ D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);/ d* I' _" o" i" i; X% l: G& V0 q
D3DXVec3Normalize(&(vecSun),&(vecSun));
x$ R/ j* l; c5 A pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); + C2 j( z" _& Z3 ]6 L
pLight->Appear( m_pd3dDevice, TRUE );
1 E; l' |- R7 S a( s+ z$ h
; ` W- n! F$ g- u8 ? DWORD dwR, dwG, dwB;
' ]! a, |3 y3 u6 x8 `2 j& M dwR = (DWORD)( pLight->Ambient.r * 255 );% i* G" V& [* k& o+ B- J1 p
dwG = (DWORD)( pLight->Ambient.g * 255 );: {- Z4 z% J( ~. C; m% m
dwB = (DWORD)( pLight->Ambient.b * 255 );. i4 t9 ?/ }/ _8 A l* U
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );6 M) V3 h$ x! `/ d2 S
} h5 m" z' D0 b* U" d
}8 h6 u. h" U4 ^2 q3 J: e- F0 O. S
}9 G& m# e( A9 i/ o# O# h5 U
else
% J, }8 i L8 I#endif % ^3 g* P; T6 N0 {7 v- n" m5 y
% `2 m9 {1 u0 ]7 r9 m0 m if( m_bIsIndoor )1 _, G/ }- {& F2 `/ D
{
/ O7 ^' [; p2 @* E# v3 j if( pLight )
3 H [% `7 Z: ~( J2 T/ q( E {
( Z# n* w" j+ S$ L1 B, M // à??μ oˉè* z; p* f' {$ @* o; N9 ]9 I
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
8 _# B/ |* K* L: D7 {, g" o* U1 C% d pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;+ F, p' ~3 e7 l1 F
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
5 O: Q0 ` J1 m8 g2 y. A# t5 H* r0 f4 O- E) q- v
// oˉè* ??à?
( b5 K- q: T- ?) A% P/ G4 Q5 e! A pLight->Specular.r = 1.0f;& N. H! V0 b3 q/ R ]
pLight->Specular.g = 1.0f;3 D3 T3 H7 n- I J
pLight->Specular.b = 1.0f;( |/ c" v5 `- P) s! i
// àü?? oˉè*
3 Y/ u; O4 E1 d3 a pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;' ~4 Q5 q' ]4 v' M5 z$ l1 l
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;# M: G9 w7 }. j$ }6 l
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;1 H! A7 V2 w" P# y% ~+ C6 S w- W
+ X- E1 H, R2 U; Y2 N- { if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
5 s: K" } u. B) Y, ] {3 \6 d0 a% d) R1 U! z! o. x
pLight->Diffuse.r *= 0.6f;
: z- c( T. p/ v! L pLight->Diffuse.g *= 0.6f;
% n' x& Z1 W4 [( }1 { pLight->Diffuse.b *= 0.6f;8 G7 m3 a1 a+ t) `% C
pLight->Ambient.r *= 0.7f;
8 [) r; v$ b8 n# p0 ]6 N( Z v+ V pLight->Ambient.g *= 0.7f;) g4 H+ j* s9 d6 _3 {
pLight->Ambient.b *= 0.7f;: o9 t2 l, C5 }0 ]. ~
}
: N/ i& M: u9 d3 G; K9 x) l) v% e3 [2 V1 G
#if __VER >= 15 // __BS_CHANGING_ENVIR, [3 M) V6 P/ A8 ~% S
if( g_pPlayer )5 |* \! g" P4 ^5 M- w: E! M3 L2 K0 H
HookUpdateLight( pLight );
2 a9 A+ ]: {8 g8 b#endif" E' i: D: j7 u$ e
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );+ q! l" x5 O3 C8 X- ~8 B7 C" W
$ e2 C+ {" q4 r; A. {1 l0 E
pLight->Diffuse.r += 0.1f;& E, C0 W7 c7 Q* `* _
pLight->Diffuse.g += 0.1f;
* r/ B2 s% G& W' {5 o pLight->Diffuse.b += 0.1f;+ C, s( h- q% h3 D; p, ]7 R: Q h. `
// oˉè* ??à? 1 P- A' \+ |, s
pLight->Specular.r = 2.0f;
- g6 F I& N) ` pLight->Specular.g = 2.0f;/ R# C& D$ z+ B9 S
pLight->Specular.b = 2.0f;
0 o1 Y: b" Z+ u- W // á?oˉ . }& B, A! I4 @( ~- z L2 ^& ]
pLight->Ambient.r *= 0.9f;
4 F3 l1 T t# T: J/ } pLight->Ambient.g *= 0.9f;& _: ?7 f, A S: a
pLight->Ambient.b *= 0.9f;& g! L+ k: o+ P/ p
5 _7 ^2 `9 b1 m* j: E6 c# y
memcpy( &m_light, pLight, sizeof( m_light ) );
Y( j8 m, ]& G8 z5 Z 1 z5 M, Z% \& O5 \3 ~
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );2 _8 r# {. N# [3 T; c& n8 B, P
pLight->Appear( m_pd3dDevice, TRUE );
t. F+ ?0 u! G# X# } V9 X9 W 3 r7 s1 P# A" G0 m; D) v
DWORD dwR, dwG, dwB;1 J* G b$ z) F5 x2 G4 v
dwR = (DWORD)( pLight->Ambient.r * 255 );' w/ i2 j5 e& l% ?& G1 P
dwG = (DWORD)( pLight->Ambient.g * 255 );
% o, _1 Y* i6 m dwB = (DWORD)( pLight->Ambient.b * 255 );, J4 o- l! [7 m* F- N
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );. ^& r) @2 f# A5 H
}; d1 F R) [- [: m, h( p0 \
}" u, P @. p9 [: K& G. i
else- C0 E8 r/ f4 r0 \# {& F7 Q( S( D; b
{+ V) O# W Q! t; _
if( pLight )6 u5 n& a$ \# b- D7 `
{7 ~# d! b6 R6 K' `* ]3 j* x
2 {' {5 Z& Z+ \7 @- ^ s int nHour = 8, nMin = 0;
, Z4 `4 e+ U! I5 e #ifdef __CLIENT
5 O( M# r p! N* m: L: Y; v" b! Z4 p // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
( i" O7 m6 t3 j" M0 { nHour = g_GameTimer.m_nHour; k8 j3 f' v( a. h: W3 h9 M
nMin = g_GameTimer.m_nMin ;
6 q% v, S3 I v #else
0 ?1 Y; V4 B+ D& `4 M! e6 h- [) i/ Z // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.4 m; p1 ~9 s. }5 X
if( m_nLightType == 1 )# R7 ~9 x3 A- q, ?3 s
nHour = m_nLightHour;: Z" Z* @2 i$ x" M0 f; ^
#endif' g) x4 ?4 H3 ?* t7 \9 D
nHour--;
5 C' _* h4 ]) G& z$ C, x% Z1 I if( nHour < 0 ) nHour = 0;
) B& Q. N- g, N# G" A) R if( nHour > 23 ) nHour = 23;
2 ]. E" G( L8 {" |7 |
6 z" K/ W$ I6 _ //if( m_bFixedHour )
1 q, u F; o& W' ^2 j* C // nHour = m_nFixedHour, nMin = 0;% u( s" M7 d% Q0 l
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];* s; j v+ J7 t
LIGHTCOLOR lightColor = m_k24Light[ nHour ];( m$ r0 T. T5 \" V/ s# D
$ F+ f ?, R" |0 W( s9 G2 B: \
//m_lightColor = lightColorPrv;* E% u- ~' R5 ^
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;7 Y7 ~8 h* ]" w! e. Y4 N5 U( Z9 I+ k
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;: X/ R/ f1 r7 t v/ p( S
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;& j: C7 v$ U+ l E" o8 V5 |1 @
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
# Q6 g* W' J: R lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;! T# ~" }% M {4 f
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
1 Q7 k( p M N: u. W // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
0 `$ z" E& x9 c/ i+ A: ?* z2 `% P- x- T. b5 u! I9 G# n
// à??μ oˉè* - \! L) R1 x# _0 b5 k
pLight->Diffuse.r = lightColorPrv.r1;
1 ^* F) f: A" C/ H) z9 G7 L pLight->Diffuse.g = lightColorPrv.g1;
/ W) j7 R4 ]4 h# s3 Y pLight->Diffuse.b = lightColorPrv.b1;
; Y% H$ Z. G$ [* U; R2 H // oˉè* ??à?
; q+ D3 r9 X2 f$ p) k9 E pLight->Specular.r = 1.0f;; _8 ]; O) X0 p0 u$ d! T
pLight->Specular.g = 1.0f;
7 o2 ]1 Q8 ]& Q) Z4 `1 O pLight->Specular.b = 1.0f;
- @* }4 c# O9 ?" k2 p. e // àü?? oˉè* # k( ]2 k4 b* s) }) ^2 q8 r, o% Y" q
pLight->Ambient.r = lightColorPrv.r2;
; V! C# |; S. i pLight->Ambient.g = lightColorPrv.g2;" |/ Z0 B6 D9 P) A/ `
pLight->Ambient.b = lightColorPrv.b2;( n- y' c c- J0 S8 y
& ?& e+ i* A0 p# ~2 Y( [( {4 j% n
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
% ^2 n- T: i5 k' K {' q. r% Q8 e; E1 J9 G
pLight->Diffuse.r *= 0.6f;
- Y$ v7 x2 \$ _% ]4 M3 B$ y( N pLight->Diffuse.g *= 0.6f;0 Z8 b @# S5 b
pLight->Diffuse.b *= 0.6f;$ i% z9 t% f; V0 @9 P
pLight->Ambient.r *= 0.7f;
- K# `* a- u- a/ d2 c6 G pLight->Ambient.g *= 0.7f;
& I8 @3 D/ X0 d pLight->Ambient.b *= 0.7f;
' a( K: k, C5 r0 v" M8 V* B! I- i# [ }0 W! f1 X0 s) T2 T$ v1 I
* i/ }6 e y, }" l0 x+ s& F# ^#if __VER >= 15 // __BS_CHANGING_ENVIR2 \, I' n9 p# G* V( F; D9 Z
if( g_pPlayer ): Q0 i8 {4 @' b8 P4 L8 ? P
HookUpdateLight( pLight ); 3 f8 e9 P1 k" \) I; [- y" u
#endif) \5 `. G& R/ d# H6 w! R2 B8 `
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
3 M ]8 Y# p' j9 d: V7 J5 f
0 r7 c! f) v+ V3 _% p' `- p6 h* s#ifdef __YENV g9 i" k! Z8 M7 c# u
pLight->Diffuse.r *= 1.1f;
- \3 F. ]' M" u3 i6 U: t pLight->Diffuse.g *= 1.1f;2 t1 d( W A7 B @1 G& i/ _
pLight->Diffuse.b *= 1.1f;$ K, G1 X ]* d- |! n! [ J
// oˉè* ??à?
+ a# f1 P6 o0 r/ a4 R K pLight->Specular.r = 2.0f;
7 q6 G- e. u$ } S! { q2 Q; _ pLight->Specular.g = 2.0f;2 p8 f- T$ F8 j4 ]9 I
pLight->Specular.b = 2.0f;, v7 u# S. v+ s1 n. Y0 S9 L
// á?oˉ
" _1 A# h; ]' w3 J& B/ h2 U pLight->Ambient.r *= 1.0f;
# r0 x" C7 m; ^3 J, j# Z; B _, L pLight->Ambient.g *= 1.0f;. c7 i- ~4 `( q0 {( T/ u
pLight->Ambient.b *= 1.0f;! K1 i" ^$ g, \( P6 L+ [9 K/ L1 k* n
#else //__YENV
) |8 U! ]& w! Y. M- L pLight->Diffuse.r *= 1.1f;) G% _, X: C2 P
pLight->Diffuse.g *= 1.1f;1 ~' {' q* T5 t9 {+ j8 R0 E
pLight->Diffuse.b *= 1.1f;
7 y% U" q) [ f9 E. ?# s( o // oˉè* ??à? & w, o2 I: U$ s/ g5 q
pLight->Specular.r = 2.0f;
: V, e4 X8 z! n" t5 r0 u pLight->Specular.g = 2.0f;' M: b, d7 l, s6 V% `- z5 B/ {2 [
pLight->Specular.b = 2.0f;
, ^. ]5 W! A; v. `1 v0 ? // á?oˉ
7 G# c i/ k8 j+ v pLight->Ambient.r *= 0.9f;& z2 C- h7 M' H4 @( l; N: J3 e( n
pLight->Ambient.g *= 0.9f;
( a, M% }! R3 e! T pLight->Ambient.b *= 0.9f;2 P$ ]) e; n# R; r
#endif //__YENV i: e2 c* ]- _+ K- B
! F( a! o3 F5 V memcpy( &m_light, pLight, sizeof( m_light ) );) H! \/ ?6 y0 Q: N
) B# d L/ M7 }4 _1 |0 l
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);7 s& D: `9 ^; {: J8 l0 g
D3DXMATRIX matTemp;
0 u9 h3 F0 a, R2 Z6 N) X( L static const float CONS_VAL = 3.1415926f / 180.f;9 ?* I: f- V! b8 u
3 c% ^8 W+ J6 G3 Z2 c$ v
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);7 x7 C; e7 _# i# a8 o6 a
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);) Q$ X# E; a s: c. c' j5 n& t
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
0 \2 S6 l" c/ ?0 v& k/ w: E pLight->Appear( m_pd3dDevice, TRUE );& ]' J: P* ?* Q* l: }0 K
. f6 O* {2 r- R& V' {, `
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);4 \, o* a/ u5 x9 o5 ?
// D3DXVec3Normalize(&(vecSun),&(vecSun));" N7 v K" O: G6 B8 ~6 y
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. e7 @8 V# F' @; j& ~. m# ^) J5 K2 Q! }3 t! g, X
DWORD dwR, dwG, dwB;
1 m/ n# u5 [; H dwR = (DWORD)( pLight->Ambient.r * 255 );* d/ h# i( V& F' I9 f5 ]
dwG = (DWORD)( pLight->Ambient.g * 255 );8 _# R" V' Q( o
dwB = (DWORD)( pLight->Ambient.b * 255 );: ]' w. u" s5 p4 ]+ X/ ]5 P
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 2 ]; A+ C4 M" y4 Z0 v5 @+ ]
}
% w+ G5 O( X! I9 A% L- ]- ^# B: ^! p }2 X0 d* d* Z& i6 A% E2 d
9 E. H6 F% c" v( F m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );: u4 U; R+ p( Z0 G
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) );
, O) y" Y- i. {3 h6 ]1 V( v Z ::SetLight( bLight );
/ X" P2 Y" ?! ~9 m7 c6 ^ o2 Z/ f& m% w! Z- [* S/ p6 D# S. k9 x" X
// ±ao? ?D?í???ó á¤à?
# s8 z* t6 L& V+ O- z: C! i, ~ m_pd3dDevice->SetMaterial( &m_baseMaterial );
* H" o9 z$ T' i* R % C# j4 E! @9 w$ W2 k- y
#endif // not WORLDSERVER( S8 [2 B, i+ b. }
}" J% _4 \( q7 v* v
并更换
2 `3 ]5 y0 x7 @2 @Code:$ X* t r/ D( H J+ o1 j0 q8 q
__FLYFF_INITPAGE_EXT: G8 e, I* L; _
定义9 }: ]: K# t y& W+ \# R2 M
5 G! c) |0 c$ q* K8 b
& {% E# O4 i* ]" w1 U ^
" m! _' A. }3 y" P
: @& S& V% s3 F4 m现在终于删除我的狗屁加速...& U/ Z1 n3 a k/ {- ^0 U
, t. S4 P+ S* Y1 S7 H1 K; S
' ^) b( u2 B& E1 i8 h+ U/ H9 H8 H! w8 \; i- m, m6 y
|
|