|
|
食品车:
7 k+ `& n& U0 H8 h/ b) I尾翼:' `6 S |8 {1 ?
- w5 U/ e D" N k) j+ w* U代码:
" ^8 R/ }9 y( w; _CWndAutoFood::CWndAutoFood()
( }; f0 \: J1 M$ w{* O# z E% }2 f
m_pItemElem = NULL;- G; B! d. J! B) @9 c
m_pTexture = NULL;
- V* U0 X, u5 F! f" | bStart = FALSE;0 i0 p6 \$ F0 K- T" i4 s% k5 O
}
8 i4 ]3 g7 X7 V5 j) s- k6 r$ ~
) S4 R: H, v- g% c, n& R, x( rCWndAutoFood::~CWndAutoFood()0 w. K4 Q) s- u1 o- l, w1 e
{1 t; l# L+ Z$ R8 c+ Z3 c9 P& ?$ m# p. n
AfxMessageBox( "AutoFood ist gestorben " );
' m# x) ]1 u) g) V! Z4 U}
3 U- y: U. e7 IBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )2 h2 n) Q8 u8 ?% i) \$ Q
{% |. ]% [" f7 x1 @" M- w
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );4 M& |9 z% m7 H6 |: H2 }& H3 w
}& N9 f7 ~) K8 ]5 P) Y- V
& ^1 C6 ?' t8 L' ?
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
7 N9 e- C+ `+ S( h& l7 i' }- Z1 S{
5 ^3 e4 w/ e" y" a) I$ v$ K LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
4 K& v! q+ A: {4 v) F* l CRect rect = pWndCtrl->rect;
: _3 E& L5 @2 x9 _+ y3 R f if( rect && rect.PtInRect( point ) )' U' ~ l; e( ~2 c/ w* C
{7 X3 H+ _0 U0 G: [8 _2 `( \2 T
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
: r) e! b9 ]" J2 {7 Q/ ] if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
* w% n5 [( S' J {) X/ |9 Q j! f
if( m_pItemElem ) E6 W* y Y5 \: E
{
& l6 g2 a2 f' @" e! r m_pItemElem = NULL;! R9 P* u q( I
}8 l/ L; P' {4 {2 ]6 R- K
m_pItemElem = pItemElem; {; S+ b/ ?4 Y
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
7 T) z. _2 r, y; G! G. [ }else{( }4 Z0 v& C i9 E
SetForbid( TRUE );- S7 C6 Y9 D3 Q4 C. y6 a3 m
}
6 Y; ^) e( ^0 {0 O& e% A }else{: K9 N- Z: i- u. ~8 Z8 \
SetForbid( TRUE );
h" J5 t! s3 G7 D }
# M' O- {5 E- H- ?/ y return TRUE;- M9 |9 r4 W% O; ^5 O
}
) j4 r4 `/ t2 c' X
/ A7 G( x d3 r N6 Y4 CBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
; b) r m9 c7 y/ n7 O8 h{
) |$ m6 u4 E3 c/ I switch( nID )( G' t. D; s8 o4 }) n3 Y
{! ^* Y0 |' A! U& w. a
case WIDC_BUTTON3:5 c' N q; G9 S. h
{
; W7 S- E+ o5 |$ M! b0 X bStart = TRUE;: V% v! s0 a) C- q; ]0 X+ V
break;
' V3 b$ W7 }6 l }7 M- o( f/ H" p. _
case WIDC_BUTTON4:
$ G; P/ @% N0 f$ ~! [0 @ {
9 _1 ^5 A4 P3 ~* D7 |6 r bStart = FALSE;
( a& a# e# \, ]( T" {$ d; l break;$ \# x, r( |1 Z+ }% D
}
- ]: u: O( P" z2 v8 r& ^) x$ l }5 h. s0 ]2 l! ^4 ]# G# d8 x) k9 y
return CWndNeuz::OnChildNotify( message, nID, pLResult );2 j( S4 f& `( G' b; e: P
} : l: g- Q1 Q, U a. T5 J* |" y
void CWndAutoFood::OnDraw( C2DRender* p2DRender )) a( Q. }, Y5 r% g$ a6 N
{
# J1 N6 @: }- ?3 w' F CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
0 P) q' b: H1 K4 m" \ if( bStart || !m_pItemElem )
2 C4 R$ P* L4 x9 j7 p- [9 ~. q5 x {' I' w* j b$ a8 n3 Z
pBtn->EnableWindow( FALSE ); d+ ~% V: b' Q% Q
}else
4 z: ?, d( b/ X, [8 ` e, ~1 H pBtn->EnableWindow( TRUE );5 A4 N( H) J' X* K" `: M
if( m_pTexture )
( S( V/ p& n( G4 z5 [8 T5 d8 J {1 q c: l' t2 T
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
# S4 B( C- n0 K6 ]# J1 a* X if( wndCtrl && wndCtrl->rect )
8 @7 ?, V" r4 k3 I! }2 D {
& u6 H: T% H9 S" v9 I8 @8 e" T) C m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
+ q) M D8 @ r }
6 N' q: K$ M3 M y9 z3 ^ }2 n* m a& S3 J( P- u; @* l
}2 f/ V, v0 a) x( r/ k6 ~
/ ^7 B. S! ], w( A# y" HBOOL CWndAutoFood: rocess()* c$ f& j- n/ g5 Q) |) b
{
* E9 F8 f7 {% C& I* v+ T J0 m; e if( bStart )
4 N$ `% K1 t$ D, }1 d {8 ]0 V4 n3 I! `
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ) |& i1 j& s# D9 ]; _
{% C* @0 h4 N, m2 s; s6 H7 _$ ]
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )( X+ Y6 u( y+ ]7 W. }" I
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
- d" C# x9 |6 q G0 o/ t }else{
$ C+ [: b! x1 x o1 _6 D4 Q) L bStart = FALSE;; _! H \& D9 g, Y
m_pItemElem = NULL;
3 S% W- i: V2 e; d1 ?+ \8 k }, J5 ?4 E+ j9 ?' P& P
}
; X8 \1 s5 v% F return TRUE;% W& S( Z1 ?6 @
}, {+ \. j0 U/ [+ j
1 h S, o& U6 b8 F# P( Y9 K; b: b! P
登录视频废话:
/ u6 `% A6 H) {2 E& T2 p8 ?" V; b( T尾翼: f9 @; J% b9 n2 O% ~
. O/ U& C( j0 o" I$ y) n代码:! U0 S- l6 K: a
% G9 e# l) `1 O6 d0 Wvoid CWorld::SetLight( BOOL bLight )
- n6 W- R- Z8 }1 t/ zdurch6 B6 [; U( |+ Q% p: o) @
Code:; G0 h1 o4 s, v- b' E8 k
void CWorld::SetLight( BOOL bLight )' o C3 c; q+ Q3 M( C
{+ I* ^- j6 ?; ?1 m2 ?7 q' F' `
//ACE("SetLight %d \n", bLight);
/ G+ u7 ~. r9 ]- z$ c9 b
; b }' c `# r% u1 C#ifndef __WORLDSERVER
; R9 c; t( ~) ?& C/ K% ] DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);* f1 }- }- Y8 Q
CLight* pLight = NULL;
, ]! ]6 l [. G) E% _( {; B
) p9 ^ n" `5 B4 E- l4 m( ^( \ D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );" I6 T$ a% o2 f% U; j7 ~( Q+ r$ c
$ s9 j* n* Z+ a' u2 J pLight = GetLight( "direction" );
X! H: E" d% u9 p0 q- [2 f% [
+ ]7 I3 g$ n/ r( R4 v, y#if __VER >= 15 // __BS_CHANGING_ENVIR
, k4 m; h& Q) ~5 D if( g_pPlayer ){
" u) v1 M2 n J% j ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );; c$ W. H2 q' l2 B t$ f
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!+ |2 n- z& ?9 p C# Z0 ?# h
{, o& U( Z# U& `* U) B. e2 C
if( pLight )
2 h5 _ r6 \% n: B% J4 Y$ f1 g {
9 o" s! @6 ]1 H' W+ x" Z4 ` pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
4 b$ K0 s3 g; A/ P0 v# i0 I# m6 V# S2 Q pLight->Ambient.g = pInfo->_fAmbient[ 1 ];8 u% e2 B, ]* ?9 S( g5 M
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];4 T. r& {. P: O+ @3 ~0 p' ?. s' X
- b5 r6 b2 p1 c4 x pLight->Specular.r = 2.0f;
/ P3 y& `1 M1 e1 c( N; D pLight->Specular.g = 2.0f;8 I* @% K- a, q
pLight->Specular.b = 2.0f;
4 g" _$ o0 [ E* P3 ]+ m' c1 {2 c
. C& X1 u# h/ }" Z- s% ?+ Q5 x8 E pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
% O/ P- T. E) G% [5 @ I$ | pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];+ W* Q5 N; p- n4 ]+ M5 l9 t
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
# v9 w0 x U' b' }" _$ ~1 u. |( o
2 p' N+ f. |4 l8 _0 L, m p HookUpdateLight( pLight );
- U4 P+ s/ l% E: ?: F2 Y
) m6 A, e, V! j. {$ k* m* s* q memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );3 P! @' m7 l$ P
& i9 d% G: K$ b9 S) c$ a- T/ l
pLight->Diffuse.r *= 1.2f;* x: _9 n% e+ }- S
pLight->Diffuse.g *= 1.2f;
$ R. k5 D( D; d3 @8 \% w6 | pLight->Diffuse.b *= 1.2f;4 z7 W( M5 ~0 u) X
, i3 V( [" Q. e! B9 n1 m
pLight->Ambient.r *= 0.8f;
( A$ m6 P. H/ q; I4 G7 ?2 X+ M$ M" M pLight->Ambient.g *= 0.8f;/ A9 q$ K4 P: M: d
pLight->Ambient.b *= 0.8f;6 e. ]6 v9 c& B9 m# t& e
h( m" k5 H3 O) V3 f h% p. ~
memcpy( &m_light, pLight, sizeof( m_light ) );& c1 B8 H, b. X; f% }5 O. C3 X, a
, i/ \2 H- Y3 S: Q$ U5 T D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
: x( ?; X2 X2 D$ e2 F/ F! s D3DXVec3Normalize(&(vecSun),&(vecSun));
8 k3 [! P3 l# _; U0 O4 r pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
' a4 Y% d: a1 t7 ?6 j; e7 N pLight->Appear( m_pd3dDevice, TRUE );
: b( U$ X6 z$ F' d
: r6 x1 V/ ?! ], v, I DWORD dwR, dwG, dwB;
2 Z0 P3 G0 p0 {% h S- ^9 r dwR = (DWORD)( pLight->Ambient.r * 255 );/ N2 e |/ f% `# r; r0 q
dwG = (DWORD)( pLight->Ambient.g * 255 );5 f' X5 m- F2 U- n; O9 {
dwB = (DWORD)( pLight->Ambient.b * 255 );
- N) V4 x( ?, k0 W1 N dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
' e# ~/ _; [3 F) A3 T; D1 e }
0 n; E ?( Y+ [' q }3 r0 Q0 ]! f. X0 i* B2 _+ v4 l A
}2 r H/ k4 \) G0 C/ D, [' s9 D
else9 |& L! t! I6 a0 Z6 E1 @4 T8 ~
#endif 8 c4 C5 k) ]6 L* }2 c: H1 p' W4 E
/ ^* c9 q- F" w# }( b" x! y
if( m_bIsIndoor )" F: U+ X) y5 i" c4 }
{
0 b) l3 z( u% P if( pLight )! s3 g" n2 t h g# ?; G
{
* J$ n$ M# H) k+ b' q6 ]* E // à??μ oˉè* / c j4 `" g! ], b4 ?% Y
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;" y3 @5 L. `1 ]& I& @! ^
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;( [: M% w+ Y' b k' E
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f; i5 I6 Z2 B3 Z% z9 i7 r- o2 ]
- g5 M* ~* ~! D1 v; y! Y
// oˉè* ??à? 5 {& e. }* C1 U/ }' ?* Y
pLight->Specular.r = 1.0f;( E! S' E3 v2 p0 V( m; s
pLight->Specular.g = 1.0f;
0 z& z6 d4 \. G pLight->Specular.b = 1.0f; t8 n0 Z0 j7 P. v% ]$ M! F9 _
// àü?? oˉè* + N# e" g# ?; B% n
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;; t! m9 |7 N) W/ Z" I
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;, k; k) ^7 x5 a: s, W g1 D) u# h
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
9 ~. u' V p3 k, g* A+ b* P% B
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
, U- U. z; ^% [ {6 f# r( f: {5 L
pLight->Diffuse.r *= 0.6f;
! k: f! N" J) z pLight->Diffuse.g *= 0.6f;* u5 V9 i7 {) C1 D% r _ B
pLight->Diffuse.b *= 0.6f;
! \- l4 ]0 g3 J) Z/ A pLight->Ambient.r *= 0.7f;
* e) _& B7 q2 X* ~1 B3 D/ ^8 N pLight->Ambient.g *= 0.7f;
- |0 O$ }* K p- [. E& ~. j2 O pLight->Ambient.b *= 0.7f;1 W m$ g/ V! P& ]- |5 s3 c
}: c7 c/ H! m8 d6 ~* l- h- T
3 g: Z% C: v, M7 W# k9 I
#if __VER >= 15 // __BS_CHANGING_ENVIR1 v- d. C% o0 ?& {* {8 L
if( g_pPlayer )8 s. q3 [1 J. c) b* ^! G5 L
HookUpdateLight( pLight );% t1 ?2 M Q/ c
#endif# `8 g/ o* T2 @2 Y) i8 E
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );# ~. ?% D$ y% \
+ {$ n1 U) s) U% }. j4 ~1 B& F/ ? pLight->Diffuse.r += 0.1f;( v: J5 x' I1 l, n3 u; {* A3 t
pLight->Diffuse.g += 0.1f;. [& h, `/ X7 ?" ^' }- q0 j/ p
pLight->Diffuse.b += 0.1f;; H8 m$ C) g) n$ C7 V
// oˉè* ??à?
2 X6 x# L( V7 V+ N6 ~# m3 A pLight->Specular.r = 2.0f;9 H* X! M" c$ r: ~! W4 g# U0 \6 R' I
pLight->Specular.g = 2.0f;
+ w- q$ {+ g0 A pLight->Specular.b = 2.0f;% r7 R2 s7 V* D+ E
// á?oˉ
4 |1 X, m4 Z: O9 J& W pLight->Ambient.r *= 0.9f;
) A" t! j2 a5 Q: D pLight->Ambient.g *= 0.9f;$ H [6 [2 q% J# `5 \, |" [
pLight->Ambient.b *= 0.9f;; V% {8 I7 s2 l' U/ z% n
c `+ p5 l, p0 L$ Z+ ? W
memcpy( &m_light, pLight, sizeof( m_light ) );" q, R9 r: l6 Q5 ~
6 x7 M! @1 w9 s0 [
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
+ `* R4 \( _1 L5 N) f3 g! x6 S pLight->Appear( m_pd3dDevice, TRUE );
, @ }0 z# m% ~/ a' ^ ( _) Z* Q! Z+ X$ m" u
DWORD dwR, dwG, dwB;+ B4 K! b3 K) _( m7 i
dwR = (DWORD)( pLight->Ambient.r * 255 );
3 s& z/ M- |1 t0 [ Z dwG = (DWORD)( pLight->Ambient.g * 255 );
* m% F$ H( ~" _7 E3 p& e1 u; j9 i: u5 H dwB = (DWORD)( pLight->Ambient.b * 255 );" y- v' |& J3 v5 ^$ q( B9 c
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 Q/ [" d0 u Z# Y i }
8 c/ H" S2 m& { }* {6 F/ [, D: a5 t
else$ l) S; Q* x/ m/ d, }
{& |+ Z3 Y! ~4 J" z" l& V9 D. @9 b
if( pLight ); y' Z4 {. i; e- O
{
S) L: l% p# @3 Z; T
" B9 f( h9 {8 G7 n/ ^. o int nHour = 8, nMin = 0;
- a& I/ a! a/ ^ #ifdef __CLIENT
& i1 ^9 w3 G4 d9 G( y$ @/ m; ~6 @ // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
9 M% g3 O9 G% P: W$ c; S nHour = g_GameTimer.m_nHour;
4 q2 [4 o3 w0 ]9 F" Q! I2 b nMin = g_GameTimer.m_nMin ;
# @$ D) O$ R( a/ w1 ~0 ~6 n6 N #else4 e9 d2 b1 `! x7 h8 L: E% v# J
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.. R- d& x! q1 s3 z
if( m_nLightType == 1 )7 b- Y7 [: H2 i' Z% }
nHour = m_nLightHour;: m* L. ^$ f5 K4 T
#endif
J; _) q( q4 U5 c) r: b nHour--;
( @0 }2 L1 @* V9 E if( nHour < 0 ) nHour = 0;
/ v) o& y! O% n/ t7 g if( nHour > 23 ) nHour = 23;2 U5 L6 L, i2 `# r
1 l+ r' N5 b9 l2 H2 ?* s' } //if( m_bFixedHour )/ {5 b4 ^9 E0 w8 l. I1 q- V
// nHour = m_nFixedHour, nMin = 0;
$ I( }$ ], o" I7 t f5 Y" U LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];" N4 r4 C) x, _
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
' k( a- {2 j. m0 h+ S3 R8 _, ?
2 N2 T& U e( h6 B* {5 |2 H2 J //m_lightColor = lightColorPrv;
& F& I1 n5 X. [# }& J7 Y lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;1 k8 G [, l. F& F$ n
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
; b @( F, \5 k& ? lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
6 X* a5 Z9 h2 L lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
6 }0 Y# B ?8 D' z4 O lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
" B) M5 T( f8 O& N lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;4 [2 H# ]% |1 O& X. S( E; W# |
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)4 c, c3 x1 ~) \# L6 {
0 o$ \! r: W. K
// à??μ oˉè*
+ s8 |& m: y V5 c6 S/ ?; V) K pLight->Diffuse.r = lightColorPrv.r1;
s+ y" b6 i+ X- { p pLight->Diffuse.g = lightColorPrv.g1;
' o& H4 W5 v, I3 e/ S8 K& s pLight->Diffuse.b = lightColorPrv.b1;
# E& |4 R/ B* Y0 d // oˉè* ??à? ( Y- e5 l: y' A" o, C9 @
pLight->Specular.r = 1.0f;
, @- m! a+ T8 [! P8 p8 ]" j pLight->Specular.g = 1.0f;
! F, i# t( I7 z- ]( L5 X, t8 P pLight->Specular.b = 1.0f;+ ?/ J5 b3 _/ r' A: g
// àü?? oˉè*
7 Z+ _1 v$ y$ c pLight->Ambient.r = lightColorPrv.r2;+ w' S/ v5 s7 J+ h8 t- z/ k
pLight->Ambient.g = lightColorPrv.g2;
$ s& ^5 f, Y+ E+ `' `' M pLight->Ambient.b = lightColorPrv.b2;* _* v3 Y4 R7 l) x' M% r
5 E$ }$ I9 q } p) ?- E! W
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
3 y+ q& R) G+ U& m8 ~" Q9 f/ Q, t {
8 a% W1 G" m0 W4 ?- A) f pLight->Diffuse.r *= 0.6f;! ]# C" ^. \! c$ R
pLight->Diffuse.g *= 0.6f;
; ~3 Y& d, D; m( u9 Y4 @ pLight->Diffuse.b *= 0.6f;
$ L7 {1 i5 X: Y7 v pLight->Ambient.r *= 0.7f;
$ W& M5 |& N1 } pLight->Ambient.g *= 0.7f;8 L4 J+ P, D+ g$ }5 X9 ^
pLight->Ambient.b *= 0.7f;
3 W+ K- `( D# H }
% g4 G9 o0 k4 D3 w8 R3 h
2 O2 l8 d$ x9 |* F5 E, d#if __VER >= 15 // __BS_CHANGING_ENVIR
$ {" O; C' O; T$ N. j' } if( g_pPlayer )/ F8 c# h" L& ~5 b0 s
HookUpdateLight( pLight ); : K$ I( K, j& S- m" }1 s
#endif
3 {9 F3 q+ Q. h- C8 I5 I, m1 w memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. J1 R8 v$ [6 F) f/ @3 O. K% }( x; X( |8 m# M
#ifdef __YENV
* L# `" d5 Q" i: D0 u+ j pLight->Diffuse.r *= 1.1f;
( s8 r* `, d5 r6 Q% G pLight->Diffuse.g *= 1.1f;% b: L8 p2 E* e. t$ x
pLight->Diffuse.b *= 1.1f;- k9 V- ~+ g/ L. t; F. f
// oˉè* ??à?
' y" a+ z7 }+ r2 l8 D pLight->Specular.r = 2.0f;
% d3 z9 ?& o+ C3 p2 l$ \0 T$ C0 T pLight->Specular.g = 2.0f;
4 s; L. I' V8 e$ u6 W pLight->Specular.b = 2.0f;
0 k, h6 I1 p8 z; v8 |; D // á?oˉ 2 |8 F1 ?2 ^# x. O2 J7 i
pLight->Ambient.r *= 1.0f;- a" n; d4 q& X, w& |
pLight->Ambient.g *= 1.0f;
4 Y4 ?6 t* ^3 F8 r, _ pLight->Ambient.b *= 1.0f;
U$ ]+ ?0 @ v% Y S2 c#else //__YENV3 J! F5 L' i2 D% Z
pLight->Diffuse.r *= 1.1f;
! \7 b3 b0 D( a! \" @ pLight->Diffuse.g *= 1.1f;: l: _' l& a- M! j h
pLight->Diffuse.b *= 1.1f;
9 P$ t8 q. p, g5 w2 J // oˉè* ??à?
* T5 _" }) K* }* m7 ~ o) q pLight->Specular.r = 2.0f;
% K) f1 B# X4 e/ z U3 ~6 d* N; v pLight->Specular.g = 2.0f;' c3 X7 B- L Y( g. N f
pLight->Specular.b = 2.0f;
; m$ R8 N/ B8 ~$ u // á?oˉ
% u- _0 e( `6 n5 f pLight->Ambient.r *= 0.9f;- t& M3 G# O4 S& l9 K$ e; ~
pLight->Ambient.g *= 0.9f;( N, x: W* t) r( l2 M/ S2 P
pLight->Ambient.b *= 0.9f;, K7 n- M6 m4 D
#endif //__YENV
- Z6 @; D* b" t/ y ! c t8 Q6 U; e8 v( k/ V
memcpy( &m_light, pLight, sizeof( m_light ) );
1 x2 z: ~ O8 x4 ?* X2 K% h0 m " W6 O! d; W, k$ R2 r
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);1 W, W U6 y% V5 @+ V" q
D3DXMATRIX matTemp;1 ?; J) l" ]6 R7 R2 A& f
static const float CONS_VAL = 3.1415926f / 180.f;
3 W: k+ p+ R9 s; A% e$ T6 s( D6 D7 q* [+ @
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
6 r- R) y+ l: W+ x* _: i4 L7 l" N D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
: j$ y |8 z& ^4 k+ { pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
3 _; T# O7 R/ i% W2 d/ | pLight->Appear( m_pd3dDevice, TRUE );
& K; x1 _4 `, D. p: a7 j
6 C9 |, A% H, r) v" a5 n: i+ t // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);0 A& @1 P5 U; D8 I+ @% O; ^
// D3DXVec3Normalize(&(vecSun),&(vecSun));
* D Y& }0 a3 T9 ]6 i // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 2 w2 U, }9 @# C; L7 s
\' k6 y' i# A$ n, M
DWORD dwR, dwG, dwB;* [8 ]# X$ {2 g# a0 j( x# t7 e
dwR = (DWORD)( pLight->Ambient.r * 255 );* p( r9 S P# E1 s% d& u
dwG = (DWORD)( pLight->Ambient.g * 255 );% P8 p3 \! o# a( |) W8 f! ~" B, g
dwB = (DWORD)( pLight->Ambient.b * 255 );
& J3 D* I" r$ ?& {1 Y) H& G: M, j dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
8 l; p; y) A8 \# \& b) ~ }1 v& P4 b* r6 f8 o5 Y. X
}
# |! S" _( x4 y8 B4 c9 V
( f$ K3 i& p) r/ @+ f) d- b( n m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
) M% ?' D5 N% v& V 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 r8 I' f" F( ]* Q
::SetLight( bLight );% }% j, j6 j* y& T+ Y) c% y: E8 A" A& n
4 L6 h3 O- T7 G9 G% ~" E
// ±ao? ?D?í???ó á¤à?
& E( Y# f( z6 P5 M m_pd3dDevice->SetMaterial( &m_baseMaterial );
- `4 @ V4 G4 a1 s6 t- M
1 p4 x$ F- o) T2 F/ [' }#endif // not WORLDSERVER# o$ R' g1 Q- z2 v" O7 z
}0 o3 ]* H3 q" l
并更换
3 {$ }: ?* d6 Q9 y: ]Code:
! ^ Q A; X+ I. e__FLYFF_INITPAGE_EXT5 {7 q) O2 V5 b" v" F0 e
定义' w3 C- x1 @+ R# m& b, T
2 @: i& v- d9 ]5 D) t
& }! Z: b1 s% f( W
. C r% G% V( z# t
4 L* D. R" h5 g D. o5 N
现在终于删除我的狗屁加速...
+ s8 _8 q. [7 p; m: J4 N5 D, x; r, p$ J0 B; G# f! H z0 M+ ^* }( [/ j
% y c; ` b0 k' h0 j: e6 Z! v1 j3 r/ T+ q
|
|