|
食品车:
$ e+ L4 G9 {- w: n) w. l尾翼:; P) g) z: ?6 u; I' M! J
0 g. h* c) y( L6 W代码:- k4 h. b7 k2 T! D- B! G" _
CWndAutoFood::CWndAutoFood()
) Q* B& \# B4 k; L! ]- g/ r4 R{
8 {- E: Z6 |$ h m_pItemElem = NULL;
% ?& r0 F/ X* [) Q; M1 c m_pTexture = NULL;
. R, U( z8 S; B) h# F bStart = FALSE;
7 q7 _" m$ M( q; L}) g Y% M" ^9 O3 F
7 D( |, L6 D3 U+ I5 t U
CWndAutoFood::~CWndAutoFood()
7 f4 Z/ p5 c6 n3 k) ~{
$ E' {0 ~! s& J1 O5 V& S' I AfxMessageBox( "AutoFood ist gestorben " );
( D7 u6 y: n8 G1 }6 e* [. C}% h, i* E8 ^1 z# c N0 R
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
. ~) @: Z- L' ?3 G2 v{
) b, z6 o# ^4 `6 x0 B5 G; k* ` x$ p return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );4 V2 p+ e5 g( v6 ~* M8 R4 G T
}
6 K6 I- z: \1 g( I- b* O7 z2 B, |+ r" m" S& |+ z
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )8 T l6 w$ A/ K" w/ a* I
{
; K2 h! n3 P7 U2 `4 c LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
: D( Q! ^" W1 M: C5 Q; i. M% u CRect rect = pWndCtrl->rect;
* R0 {8 {% x" Q [3 L if( rect && rect.PtInRect( point ) )
; t& o2 n' k- u& ]; v2 M {% U) T+ a- `3 }9 @+ V
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
! X: e1 H' K; s7 K; U if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
, S1 V. }4 z& V" D- ~ {
) S2 c w8 Y# E( z if( m_pItemElem )
# h& H5 R$ @- m: ? {: i: e% h: E( a" ?; U8 Z
m_pItemElem = NULL;
# V0 z* C/ i! x# p }5 Q8 A5 W7 M4 q2 T% q
m_pItemElem = pItemElem;
5 M, W# [ f8 F! V+ S m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );& ?+ j4 e6 K& l
}else{6 B3 D; d6 N2 i! ]7 w: c% Y
SetForbid( TRUE );
3 I1 x5 @! I/ G6 `5 v } I4 s9 Y6 {! F8 p& x4 o4 h, d8 b4 s
}else{
1 G3 D/ ^! s3 _7 V; i/ `. l6 | SetForbid( TRUE );( ^" o$ P/ W ~6 ]4 ]' p
}
- j& w# a: P% w, g return TRUE;2 Q2 `. J2 f5 h9 J7 s _
}
+ U! I4 E4 \) B1 y6 z5 R- o Q
; j) v) w, d/ T; c7 [2 ?9 j* }BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
( g8 Z2 P. q$ a" h2 w* R6 r{
9 g9 q- O8 S T U( X switch( nID )
6 y* _7 J* y, q3 u( ?" j) ^ {
7 w5 j; K2 M. r% N- r case WIDC_BUTTON3:
$ b7 D/ F8 L* V ?1 Q {; \- v/ U: N1 m# f @
bStart = TRUE;
; {' U3 y# J- E* ]1 i break;
& {5 x- H) g, u0 i- K( L& M }
1 R1 v$ ?8 y9 J3 v3 B5 | b4 d- J% w case WIDC_BUTTON4:6 H' J$ r6 S# c0 ^* H7 j
{0 p7 M! v; n+ l' i: x
bStart = FALSE;
- Y, D% ^- F H7 b2 [8 S3 M break;
0 @1 N; D% L# R% b* L) j+ t0 d, ? }
$ V; l& a( f& M- P* x" S }# m% g8 f, ~2 f. S8 t/ q4 T9 q; p+ A
return CWndNeuz::OnChildNotify( message, nID, pLResult );
6 h/ E( n% J" U. r/ G2 \} ; j& P' `* Z" t0 S
void CWndAutoFood::OnDraw( C2DRender* p2DRender )0 n: h& v2 I" i3 J
{3 k' x+ V3 ^* F/ G& i
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );5 O. B. S' }4 m2 w! n
if( bStart || !m_pItemElem )
5 L \! g0 `9 Q {
3 M5 T) I4 [# ?5 P& ]5 j pBtn->EnableWindow( FALSE );3 e( C$ R! p+ l
}else
8 Y; c4 X% L# ]' I2 J1 b0 S% a9 |! @ pBtn->EnableWindow( TRUE );8 w9 ]4 v* _. [2 i, R5 ?$ A, W; o
if( m_pTexture )# P; J, c5 O1 s& Q
{( y. ^ Q; }. b, C& e6 m
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
$ b2 g+ `( Z" C2 o if( wndCtrl && wndCtrl->rect )) p% z* s2 i7 _8 Y( \
{3 X9 d8 O. V9 H# m' u. j
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );6 a1 ?+ W& L: a( V2 G
}
& P& w" ^/ s6 i, s }
: U( s, n3 ?" {: t}
, c- x" a2 G' i6 {# j1 w- O1 C U) r6 ` C' @1 W5 h# `
BOOL CWndAutoFood:rocess()
6 n. R6 |8 D% I; o2 \$ _{: ]+ e8 ?; {0 k# D
if( bStart ) b9 @- x. ]! S; A1 W
{" Y$ X: F9 Q$ f- J8 v: F
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
4 ~" y% ^! b7 ^. u9 H* Z {- Q0 q6 K5 X- 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() )4 L. x' c8 m n, x
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
( C m2 I# P+ y; d( [5 U }else{" w: Y/ q. r' H, E
bStart = FALSE;4 } T9 Y8 T% B! H" N( i' X4 g
m_pItemElem = NULL;+ f' Z; s7 i" e
}- T% s( e. M, U6 @2 h- l9 y) ]
}
% {1 z E+ A, v return TRUE;
C' r6 _1 h1 }}( N3 k- P4 A. _
4 L* N) q& G% o登录视频废话:( `* P* _- i4 K
尾翼:
9 ~' w- G5 K+ S. ~/ L- Y* m- ?$ p9 v, `7 t- O2 D/ Q1 P. @
代码:
8 W2 S& E0 k/ p$ }2 h1 F: ~* a- { \6 |# C+ [
void CWorld::SetLight( BOOL bLight )1 J/ G) x5 t' ~
durch
W% n+ T3 {0 `5 }; Q$ q3 H! SCode:
& j+ S# X( _# z* {0 t9 Z) b7 }void CWorld::SetLight( BOOL bLight )
# I: f3 Y& C2 a t{
- L* w' ^' Q8 E6 N //ACE("SetLight %d \n", bLight);
( Y8 q% F% @& O8 k! m+ z1 P7 ~
I& {, ~) i$ T6 a F4 M C#ifndef __WORLDSERVER
+ ]+ C3 }/ w q. D DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
3 B2 h# ~ G- D CLight* pLight = NULL;
' |: u2 p$ M6 O2 s6 N/ V. L
C- W/ s U2 }4 e/ y D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );+ U4 W, B! |. Q* y
0 I- R! f7 Z2 |
pLight = GetLight( "direction" );; e5 |' b7 x& R2 b; |5 R
; q2 x: U% |* M; G) ~
#if __VER >= 15 // __BS_CHANGING_ENVIR
! t% C& f9 _0 M4 r! [% L6 { if( g_pPlayer ){1 X. r$ Y& F3 g7 b* P9 e
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
9 d# ]+ o* A6 S5 t" ] G: O if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
) n: A2 f! c% c' D! O0 [. S {( V) u6 a+ x" v( y; z: C1 _4 e
if( pLight )
8 f# J& h9 v' A+ z: I/ X* j {' o& M9 x8 D9 G- r
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];2 ]( x. `; C. L3 y# Q& N; t0 F
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
8 [/ I+ b, s, M, U! ^ pLight->Ambient.b = pInfo->_fAmbient[ 2 ];( \6 u! z) P. J1 p- H( [
$ {$ S: x# V5 }' i! W4 A! E1 E pLight->Specular.r = 2.0f;( Q: l& S \7 o8 _6 ^1 f, B
pLight->Specular.g = 2.0f; Q% I5 Q- _( S$ v6 H1 {/ {* F$ ?
pLight->Specular.b = 2.0f;
5 R1 a4 J# d: C$ ^3 V( Q3 e" ~ $ M( Z* Z5 E6 h% `
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];2 p; I& L8 N1 v S0 k
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];0 W: U8 c+ @/ Y$ r+ c: s. x
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
4 x5 y# h, f$ s2 r$ ^$ l
( {- g& e1 m+ h6 _6 N- V/ t HookUpdateLight( pLight );
1 X2 [0 H9 i9 N: @
9 P( k+ ^9 Z# ]2 A$ N" d; R memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );& C5 p5 e, j: j8 g
$ @" g) I4 `4 b( |4 K5 Q- l7 X
pLight->Diffuse.r *= 1.2f;# F% H3 S" a6 h5 s! F: S' {2 v
pLight->Diffuse.g *= 1.2f;0 _7 _9 g; s' y
pLight->Diffuse.b *= 1.2f;
: _# c, j9 b, p3 m% f0 W
6 E6 D! e( }" @; F, j" {7 O& b l pLight->Ambient.r *= 0.8f;5 k6 j; ?, M6 j4 F+ p W
pLight->Ambient.g *= 0.8f;, b0 t4 x( g' P, k
pLight->Ambient.b *= 0.8f;
0 S% f; p# g5 H; E- g4 Y 5 m1 g! G- U* Q' b( g) `+ R
memcpy( &m_light, pLight, sizeof( m_light ) ); B, Z+ T, [- h8 \" [
, ]$ l8 K% b! r; U D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);' @& X/ n6 Q% u4 `' Q
D3DXVec3Normalize(&(vecSun),&(vecSun));
/ \( \6 j; w3 k( y4 h. J pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ; B4 O- G4 J# f' W8 S
pLight->Appear( m_pd3dDevice, TRUE );- Y$ X$ ~3 C. S
; p0 ?7 ?% l2 ^7 P3 s" h DWORD dwR, dwG, dwB;
2 z5 U# J" R {9 T dwR = (DWORD)( pLight->Ambient.r * 255 );
2 S5 T6 x+ F2 ~" Y3 L( K dwG = (DWORD)( pLight->Ambient.g * 255 );
) k7 `5 }% \5 | t% l+ e dwB = (DWORD)( pLight->Ambient.b * 255 );
7 i. k0 {1 Y2 Z dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );0 D8 E4 G3 N9 q2 k
}
9 h* {/ v r& x" f! M6 U }# O: _; `3 B7 ~$ @4 R8 H7 V8 q) O
}3 R W9 [7 O, m: J- ^! z1 t. _
else% h4 f' A. M, b. S
#endif % M) u k- q2 |
' p- L/ U# g" X" M5 N
if( m_bIsIndoor )8 ~5 Y5 O- d' i+ C1 W: a8 }
{( R0 D c8 ~7 ?7 Z1 O4 `' S5 F
if( pLight )) y6 K; ]3 D1 b4 a% u7 j- S
{
& m0 P7 O2 `& @ // à??μ oˉè* ) m4 ^+ I$ ^3 e ]1 T
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
6 L# V4 `5 q u pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
. d; F* j) D4 k2 i/ _8 F pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;2 x" ~; E6 Q6 X: L+ F+ F p' u3 D
$ P6 t/ O8 T7 Z; N# f // oˉè* ??à?
3 c3 Q& a+ h9 K pLight->Specular.r = 1.0f;
& \+ h' }2 j+ ~ H, g5 b pLight->Specular.g = 1.0f;" H/ V+ c% f9 g( W5 G, x
pLight->Specular.b = 1.0f;( b9 g; I/ o" V; o( ?7 R N* w
// àü?? oˉè* ( M6 ^, |% i% v, ~1 u x
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;+ b3 ?7 B5 W" h4 I( ?$ H: ~& x: V. r
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
) G4 |0 @3 s, n4 C" p1 f& E, @ pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;. p3 [( ~1 n9 M5 h* q: \
9 z7 e! \/ k" W5 `8 X" l
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.) h+ D9 p! Q- Q/ W) `) R4 s2 o* c
{
3 c( ^' {' f- W" l. c% h2 y) m* r pLight->Diffuse.r *= 0.6f;$ H3 Y$ z/ v6 x
pLight->Diffuse.g *= 0.6f;
% w" c+ U' G. [3 X pLight->Diffuse.b *= 0.6f;
6 w# L: z/ o/ ^ L pLight->Ambient.r *= 0.7f;
U* i$ n1 |( R, e1 R" b) H pLight->Ambient.g *= 0.7f;
" y; t+ m7 |" M [ pLight->Ambient.b *= 0.7f;
5 `1 b# S+ I6 B; C# Q }
, Z' S% z/ E" U' [9 z7 ?9 T3 \7 ^# Z) k2 {4 n, E' u
#if __VER >= 15 // __BS_CHANGING_ENVIR
/ N- E! {4 M8 z( G4 H' ]. U' G) \ if( g_pPlayer )0 G$ R% G, O: w) I$ @% |
HookUpdateLight( pLight );+ D+ J' w4 T0 ^' R; B- e8 \; |
#endif
7 Y3 y9 O. H2 N. a p7 h memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );" o/ k; m; T, c* r* N7 O! G: A9 S6 o2 [
( i" q- q1 W% l/ f, f; \' C4 C) d* j pLight->Diffuse.r += 0.1f;
4 ^9 X! j! Z+ _ W9 d+ P5 e pLight->Diffuse.g += 0.1f;, K* @1 y, h3 J( n7 U
pLight->Diffuse.b += 0.1f;' U5 N6 c/ T! g* ^
// oˉè* ??à? & z" d9 r- z e
pLight->Specular.r = 2.0f;
. Y" K5 B1 q/ T/ J$ `4 j% F/ U3 t g pLight->Specular.g = 2.0f;
* K- z0 h5 f. c# F pLight->Specular.b = 2.0f;
- ^' z# x# E1 w( a* | // á?oˉ 0 s3 I/ E( I1 I7 z+ L
pLight->Ambient.r *= 0.9f;" j1 S4 `% T5 P" o% b2 k
pLight->Ambient.g *= 0.9f;9 h; e5 x4 C( M! f9 z( S
pLight->Ambient.b *= 0.9f;
# B1 g6 v% Q+ x* q1 j8 Y4 C+ g+ ^4 b# W
memcpy( &m_light, pLight, sizeof( m_light ) );9 C" K+ _! r: C
/ |7 T W% b) S pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );' m$ g$ n4 s1 } F# Q2 B: b! Y
pLight->Appear( m_pd3dDevice, TRUE );5 Z' }+ h$ N; ~
$ p; P" t7 b9 | q5 i/ y. c h4 B DWORD dwR, dwG, dwB;
- _8 W& {( i1 M$ b9 Y: E& ~ dwR = (DWORD)( pLight->Ambient.r * 255 );2 X' M% A% C, h' z
dwG = (DWORD)( pLight->Ambient.g * 255 );
. r: E' T9 Q. n! c* i, z1 g6 t dwB = (DWORD)( pLight->Ambient.b * 255 );0 A3 [) G# N4 y [2 d# O
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );; ^% S& h5 x0 @9 w
}
9 t; N0 K% n( |* u% z }, ^% W$ J( u7 V. E/ F
else
& z( |, z o: M& v8 y {
$ a3 |* Q* t2 K; W3 f3 ` } F if( pLight )3 d( q4 A9 w. u2 ]
{4 s) A i$ Q: ? M# z
0 K' y4 Z1 Q, }7 L int nHour = 8, nMin = 0;
" Q, R' v& L0 `) v #ifdef __CLIENT) ~3 m6 G0 [( M- U! c
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. # U* f g, C+ b% o
nHour = g_GameTimer.m_nHour;
/ e% E O0 b- f p1 j nMin = g_GameTimer.m_nMin ;
1 L. F) ~- \ G$ {: Q #else
4 d( l% ^8 f, h5 f: x `% B // o??o??′? ??°£à? m_nLightHour???* °?á???′ù./ z1 \" s4 H- e1 u* x
if( m_nLightType == 1 )6 H ~9 w% F- h4 z% J6 V a% {
nHour = m_nLightHour;5 R2 c3 ]- D# M/ z& ]2 J
#endif
& b1 c4 L. D0 ], h/ L: Q nHour--;
3 a6 [& r% _3 ?' [ I2 V3 m if( nHour < 0 ) nHour = 0;
, T4 n5 l# V# W. x if( nHour > 23 ) nHour = 23;
( n F3 B* B" q0 b5 Y, d
. O0 T3 w% V: D! q, `: W& E //if( m_bFixedHour )$ ], q* _0 ^: \- k1 r
// nHour = m_nFixedHour, nMin = 0;
9 c' H' v8 \0 n ?7 j LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
0 d2 w5 S7 t1 ]& W+ i1 C& A LIGHTCOLOR lightColor = m_k24Light[ nHour ];
; `, W) M# q6 F( }7 N" v/ j% Y" g+ K3 {/ d$ f! s: S
//m_lightColor = lightColorPrv;
9 K' C: M' l* f2 ^" T8 d lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;; t# l0 f6 P8 u1 Z) ~ W2 j" c
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;/ r7 z3 q! I4 \
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;% M6 z: ~8 i( D: a0 c
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
* H8 i6 k4 y; h: }, k5 ` lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;- S z) i4 d) t0 B, n
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
0 l3 C8 ^* d* ?. [ // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
$ o3 m, W! F- Z+ {! q1 B
! W' X# S* ?2 y! D5 ? // à??μ oˉè*
8 X5 s; V4 [5 _0 p% i pLight->Diffuse.r = lightColorPrv.r1;
; _, N' f; V8 }) B' V* p pLight->Diffuse.g = lightColorPrv.g1;
7 N0 P3 r4 w! n/ s pLight->Diffuse.b = lightColorPrv.b1;
! M$ u& a+ f$ b" h // oˉè* ??à?
( C0 `. {+ N" e* {/ G0 V8 n pLight->Specular.r = 1.0f;$ Y5 A9 m/ Z3 ~
pLight->Specular.g = 1.0f;
2 s2 N* a! x9 c pLight->Specular.b = 1.0f;
8 X$ e+ ~2 P8 R8 d8 p+ J // àü?? oˉè*
' x3 y9 ?* O5 e; f/ d* Q8 C( P pLight->Ambient.r = lightColorPrv.r2;/ U8 x! i, I8 _6 a; U, A+ C3 l' H2 [
pLight->Ambient.g = lightColorPrv.g2;# f3 I6 b+ f; Z* K& z
pLight->Ambient.b = lightColorPrv.b2;; c- x: w! E$ t
; B& ^2 }1 ^: s8 H
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
: A2 b; D" h+ \1 N/ h {" w$ W! [/ `- i: q
pLight->Diffuse.r *= 0.6f;/ `5 }9 c, m" T0 P# t; P5 U" w
pLight->Diffuse.g *= 0.6f;# y. ^+ Q5 \0 A7 L N" C6 ]0 k
pLight->Diffuse.b *= 0.6f;
& O, u0 ]- ^3 l& O pLight->Ambient.r *= 0.7f;+ X! p, ~" c' w0 t, B
pLight->Ambient.g *= 0.7f;& ?5 ^: i8 y* M
pLight->Ambient.b *= 0.7f;
. w& s' [* R3 U C7 K: ] }4 G' u8 k' N' D* w! s5 o- c! P) i
' t1 h6 a: u/ ^. b j ]$ I
#if __VER >= 15 // __BS_CHANGING_ENVIR
1 \* s$ a r0 o$ S if( g_pPlayer )
6 F) `+ I7 J" ? ?& X HookUpdateLight( pLight );
" j* {5 S+ }# e6 a; E" Y#endif
+ F) G0 }" Y) {# h memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 t. a- `' K7 Q7 Z, s2 x% h4 k2 e2 v) }, I, ~5 Y
#ifdef __YENV/ b3 h* N) P% e+ \# q/ X
pLight->Diffuse.r *= 1.1f;
' c3 l& V6 p8 L3 j+ l pLight->Diffuse.g *= 1.1f;
1 p& E9 i6 t# m* j5 W: V pLight->Diffuse.b *= 1.1f;
6 C% p% T( M" D% K- m: c$ f // oˉè* ??à? ) _9 g6 t' g5 r3 x
pLight->Specular.r = 2.0f;
$ e, }6 Y1 @8 b* n- p, j pLight->Specular.g = 2.0f;5 C; Q- Y+ O% ]: Q2 e ^7 V* W
pLight->Specular.b = 2.0f;
+ O* |0 ?; H3 T3 @) q // á?oˉ
5 ? y% L# \1 Y% R/ y/ O pLight->Ambient.r *= 1.0f;3 f4 A; ^* y5 O# Z. |
pLight->Ambient.g *= 1.0f;& @# H; A9 l* D! Z
pLight->Ambient.b *= 1.0f;: c% A! {0 `: g
#else //__YENV
8 o' P- {* Q- O/ E; l3 Z pLight->Diffuse.r *= 1.1f;
: {5 o, [4 e5 {5 P, t2 y pLight->Diffuse.g *= 1.1f;# A! |- O9 L( Q( M
pLight->Diffuse.b *= 1.1f;6 m" Y9 i& P9 i# c% u( s, G
// oˉè* ??à?
" i# @& p# P1 t$ {4 v. n1 l pLight->Specular.r = 2.0f;" ?. e# o* ]. r# a
pLight->Specular.g = 2.0f;
" v% ~+ _7 Q9 \. @ pLight->Specular.b = 2.0f;' T: L; W+ b9 j6 T
// á?oˉ ; E7 C2 G4 h9 W9 Q, @; E
pLight->Ambient.r *= 0.9f;
% u* `- Q' L( p) d4 E0 ^ pLight->Ambient.g *= 0.9f;
+ P& h6 U1 S: Y5 k9 R3 J3 J6 m pLight->Ambient.b *= 0.9f;! L" [' w, g9 E+ ?
#endif //__YENV & ?2 ]1 N* f; @3 R( Z2 T" {: e
; n* A2 @; c. a
memcpy( &m_light, pLight, sizeof( m_light ) );# p6 x+ U! X! n! t- I
$ z. ~! Q& g3 u6 P! W+ x" i( U* p& X D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
9 u3 F- g3 G7 N2 A4 T D3DXMATRIX matTemp;5 Y3 d0 x* T/ W: D% b9 h
static const float CONS_VAL = 3.1415926f / 180.f;
3 F) g9 I% l: c% F+ b- |8 X
. t: G$ F# s U- k4 n- ` D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
8 K3 W4 A5 J; m: m; z3 V D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);/ f* P# p% @8 ]: P( t
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
6 B9 V' e' ?5 P4 R% { pLight->Appear( m_pd3dDevice, TRUE );
2 S0 g3 |% Z9 T2 l1 f
& T) ^1 w/ I- d: q3 X* L // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- X: X- ^9 U4 W- v
// D3DXVec3Normalize(&(vecSun),&(vecSun));2 z9 |1 H) p! I, r& O
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); & J) O0 p( g7 Y- q
# ~6 j1 Y) x9 ^3 P DWORD dwR, dwG, dwB;$ n4 s3 G& v" T/ D
dwR = (DWORD)( pLight->Ambient.r * 255 );
! M1 V. h n: P4 r" S# ` dwG = (DWORD)( pLight->Ambient.g * 255 );+ l& U, h9 w, e/ @
dwB = (DWORD)( pLight->Ambient.b * 255 );$ C: W1 W. m+ T V( X) w
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 7 y/ @: k1 Q) u5 {
}
2 m* K/ k9 a- }7 G, T6 c0 k }
6 M* p0 Q7 k0 ?% w( {$ M" R6 B- _& _+ ~- L4 J8 G* ?
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );/ D! D) u* g$ H2 D6 {: x
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) );
) v2 m" \; Q. e) o# z ::SetLight( bLight );
8 }" q5 j( @6 k1 X9 }2 J" O/ o
4 {0 g7 d- e$ j, P% ^6 O7 D // ±ao? ?D?í???ó á¤à? : C' s0 _, F& Y" ?* c2 Q; z
m_pd3dDevice->SetMaterial( &m_baseMaterial );
9 f! m4 N* f }0 t9 L * V+ C9 f" T2 M, q- t& s1 q. y( \( ~
#endif // not WORLDSERVER0 C- g1 e& \+ m0 _9 C7 Z
}
. g0 u8 y4 z) R' S. ~. b并更换9 |$ d" s6 n b) \
Code:7 w2 S( S; A+ d3 l4 z% F
__FLYFF_INITPAGE_EXT
$ z3 @2 p2 B/ j- k0 |定义
# F$ V6 ]% R5 q9 V
- V! n' d/ ^. F- F) i6 o
% x" U" c* x9 K* [" i1 x, m
; q3 E$ L8 w4 I& Z8 O: t1 F P6 f5 N: H
现在终于删除我的狗屁加速...
8 n3 I4 Q7 c/ f0 w" g" b5 e3 U$ c- U. S' Y2 [4 h; O
: Z5 G0 e1 X, x# f3 T5 }% T8 D7 L" D, q, p- s
|
|