|
|
食品车:, D1 o! o8 p, l& B0 z7 j
尾翼:$ s2 Z) x8 f) ^0 U3 O8 c E+ h3 L
X2 @$ s3 s5 Z8 b3 t7 v代码:1 M. U* d6 B& C# ~
CWndAutoFood::CWndAutoFood()
/ P: l1 Q% i& L" v7 Y" L{: E0 d3 ^$ d7 H! i/ u _
m_pItemElem = NULL;8 I5 ^6 ^3 R1 Z/ C* Q
m_pTexture = NULL;/ [5 E2 @1 ? y- d! a
bStart = FALSE;
/ O0 u( d/ h2 B- D: T7 U}$ }" [: i. t6 |7 ` r
9 I! f4 ~0 p) A) u* y. q
CWndAutoFood::~CWndAutoFood()4 T* b: Y# z4 s* p
{7 N2 a$ W' E: [0 D6 c0 t0 X
AfxMessageBox( "AutoFood ist gestorben " );5 s' O" c3 I+ _# O8 n* |
}. g' B9 A) a1 p5 R$ g
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )4 N! T& J: B" ^. Y- Y5 h0 N8 I) k
{" }% W8 I1 P1 T3 P7 t# H8 t
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
9 s# l2 J Q) w; F j- [5 _' `}& n6 S$ G, F. i* @
- Z" y- [) I8 `0 o0 I% a8 a
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
* W9 n" T2 X6 ~. _" t, f. @# |2 \{
1 {5 {9 Q( V; f, e5 P2 B LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
$ Q3 \9 b* }8 h( N CRect rect = pWndCtrl->rect;, @ C& C4 R" f* ^8 j( |
if( rect && rect.PtInRect( point ) )+ E8 O* |4 k4 b5 X/ F) H
{% P8 |+ R# W' {# m1 T
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );) a! x% H& Q) ~
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )# M' o' S# x) Y- ~5 r% l" Q
{( T: z [! H- [+ p
if( m_pItemElem )* N5 w, q/ ~ I
{
2 p; x: ^- V* ?7 a4 U' U m_pItemElem = NULL;. F r2 Z: N3 U6 O9 T
}
F) d" M( [. @$ K* b$ W$ m! p. k x m_pItemElem = pItemElem;
% c( `; v. L& b# m8 |' s m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );. _, o; d/ u2 m) z
}else{
; }1 ]. n. Y2 m+ n$ T! {4 T9 E/ \ SetForbid( TRUE );- o8 F1 l7 ~: o4 U) h% Q- C( C
}
, \4 S2 q3 Z; h& W" E) V# B; A }else{
/ p5 E! q- x: G SetForbid( TRUE );& q9 u. C* w% J, s( N% ]: P
}
: p6 ]) u0 g3 m p return TRUE;
& a6 D+ c1 Y" c% { z! F7 N}
" y/ n# `4 e( K0 I8 u
! m% `0 ?* h% \* T: EBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )+ m! }% V0 d( A9 }# }# ^
{4 M4 p$ b T3 m, n2 M& F' \4 r
switch( nID )
, |' i! n9 X- u$ |3 G( J6 [ {
8 q* ~7 l7 ]: a$ a3 u case WIDC_BUTTON3:4 p( I% _) k3 e4 y" K0 f
{" ?: O% y- J' |- _
bStart = TRUE; H0 g7 o, Q4 I2 J9 v7 u" F
break;# I/ ^" g, w. t* O: i3 N
}- S& R) v. B0 B8 z: [
case WIDC_BUTTON4:8 ~% d. R. D, W
{8 u# [ i2 y# c& _. _2 w# @# v
bStart = FALSE;8 s# }; F+ ~0 ?5 D: c
break;
9 }( s; w3 _& \! f( k( y2 v }4 `9 R. b+ }. `* {5 [
}. ?7 V6 | b; s1 j
return CWndNeuz::OnChildNotify( message, nID, pLResult );$ d+ P5 e: c: [
} " N& P! T4 d+ C4 h
void CWndAutoFood::OnDraw( C2DRender* p2DRender )7 H1 v/ d. G5 X( I1 h
{$ `; }% E5 I% O' R" A
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
3 c2 a+ M. [* U# ~6 k if( bStart || !m_pItemElem )
! t+ I6 C' R7 {6 B& S {$ e, P o1 P- p) ^
pBtn->EnableWindow( FALSE );
6 j' a. ?/ z8 X- S }else
( Y i+ K! Y* `. W pBtn->EnableWindow( TRUE );
& K& {6 A A$ n/ U' }# [: i- \ if( m_pTexture )( v1 y# N F) J. E1 t
{4 D) q: w1 b- e$ x9 E
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );. J! A+ \4 t8 O$ r
if( wndCtrl && wndCtrl->rect )
( ~9 c' h3 p1 Y {, u" `; G( h' u2 A) V& r
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );2 i' [: g( H3 _
}: u1 ^) m7 d( w9 u/ N; r6 s3 U
}7 c) K z7 G4 T/ a! P z
}
5 A% m& [9 X; L5 ?* \, o, d$ R( f
BOOL CWndAutoFood: rocess()
2 g7 w( C% P# t5 e9 _* I% `( @{
) t- |" o/ E% E. D( W. G if( bStart ), `: @. H+ ?" p6 T* H
{, }8 [# H% A' |8 S- R" F: z$ H
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )9 f5 F1 \" J' M$ g5 @; t8 n/ J& J& C
{
! |9 V6 W+ b( p8 S4 t if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() ) P9 f" D6 V3 l
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
% T; h! U+ D2 _" s/ l }else{% t% C& {- o* [& B
bStart = FALSE;2 a/ W3 t D5 i7 {6 n4 T( ^1 q u
m_pItemElem = NULL;
) @& o( x- R* r* B }1 n1 y( r0 t1 U6 q2 B' w9 \
}
. @& G7 z( m9 z1 I, r# T1 g, }7 z return TRUE;# l, r9 }; i- S$ Y! P0 Q0 u; ^/ Z
}1 M3 J" \) y& {5 @, ~
8 N: D! o) ^* V( P, O
登录视频废话:- i# b* j7 ~% n z2 Z
尾翼:; b$ d4 m) ]) v# S) P' c; V9 |
- Y0 R3 U8 O, V7 x! \$ v代码:
1 A* C9 Z5 Z& v0 @! d3 V/ u! G! B+ w" l& O/ `2 \
void CWorld::SetLight( BOOL bLight )
1 D1 q% v4 G: H) W. F6 J- Tdurch3 f9 U K) e% R) }+ `5 ? q
Code:# Y8 I" L* H; z1 P
void CWorld::SetLight( BOOL bLight )
2 l3 \& A( n5 q- ^+ c{
6 F5 `/ Z" b T9 c* ? //ACE("SetLight %d \n", bLight);
+ V( O3 @9 ~6 l) q5 |2 f* s * _: r$ W) n) V- d
#ifndef __WORLDSERVER
4 g9 ?8 F- G+ @# [ DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
* L( Z, o2 f2 ? CLight* pLight = NULL;& R! g4 n1 [! J J: r
: r2 [7 ~* [4 O" t) D
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );* o1 j: Y1 W. ?( R% b" q& K+ K
4 k& x6 l& q1 E8 k4 ^; }6 e" H& p
pLight = GetLight( "direction" );' }0 H8 Z2 @: T3 Y4 G: ]: y& b! _. A
. i7 `. Q$ P, H
#if __VER >= 15 // __BS_CHANGING_ENVIR
6 ~0 c% k; F+ ] if( g_pPlayer ){% z9 v/ A9 v W2 x x; R- E
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );& i4 |& L, j7 _* m+ n( b7 i$ `+ I& }
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
2 f5 k6 }3 J. ]$ {7 M0 G- ]; z& @: f {
1 Z L J# H& v, R) c( ?% Z if( pLight )
, Q% P% a$ C% O, O, u; ` {' t( H' r) F/ q4 H7 F" j# K( J
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];6 U6 p5 D7 ~2 l9 i) p' s! B
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];$ F8 `' M0 P5 E6 B7 S3 i
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];) l8 F* ?- k H
! J: g2 f& Z% ?8 b pLight->Specular.r = 2.0f;+ _7 O1 }6 ?" |5 e6 I
pLight->Specular.g = 2.0f;
( Q" Q, m @0 ~7 r* m9 @ pLight->Specular.b = 2.0f;# U1 d! V3 h1 R+ i+ q1 E( L l
2 i+ z* s, e* O8 D7 t6 o pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
/ j' B6 n A9 \1 J! l' [2 } pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
8 J" i( P0 w8 c9 I7 ?+ `- ~ pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
4 c$ ]1 m+ ?1 c! F0 Z0 X h( L: I
$ _$ k \+ e$ V! B6 g( G HookUpdateLight( pLight ); ' U' H# |/ {- T7 h1 `) U$ M
0 V5 r! t$ @2 k4 G1 Z& [
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );, K1 o& M( K/ ? |8 _5 |
+ y9 y$ X8 Q W ?- }
pLight->Diffuse.r *= 1.2f;2 }% H/ T+ \' i6 N
pLight->Diffuse.g *= 1.2f;, W* ]( O* v* u3 S, m
pLight->Diffuse.b *= 1.2f;
, J9 M4 e7 x5 j# `7 F* X' Z, j
/ T l, |) r/ F- c# K b; ?4 v pLight->Ambient.r *= 0.8f;
3 D Y8 q/ n2 R" G2 C. u5 ~# C pLight->Ambient.g *= 0.8f;+ `. V6 O8 T+ n6 `( x+ u
pLight->Ambient.b *= 0.8f;: d- z7 b- G* \! b j# g- J
9 Z' z7 i7 l9 @ memcpy( &m_light, pLight, sizeof( m_light ) ); X- U3 M7 B2 { h' {+ l
4 n- j+ p2 N6 p: `+ B
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);! e* n+ N: l4 x& \+ \# r8 S
D3DXVec3Normalize(&(vecSun),&(vecSun));. n4 D- o9 ~ |8 o
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); # e$ n: K, K1 ~7 f+ X9 X
pLight->Appear( m_pd3dDevice, TRUE );$ Z5 e- D) A# Q: A9 _9 U
* W: j$ P& Y$ L3 V
DWORD dwR, dwG, dwB;& _8 |8 W1 F, v
dwR = (DWORD)( pLight->Ambient.r * 255 );
9 W3 J, t3 L+ y* ~; Q. j) N dwG = (DWORD)( pLight->Ambient.g * 255 );+ }+ F6 h4 W1 H3 C/ o' D# X% ^
dwB = (DWORD)( pLight->Ambient.b * 255 );
8 ~- {: E4 C) p5 \3 r dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );, ?) o( F5 [ Z
}
7 h8 \* P+ W Q, S( J }
. h) a6 x0 d9 Z' P8 s* I }, N8 Y7 D7 _1 Z& k7 E. D i1 a
else! { J$ |- i6 e+ j- d
#endif % f7 S7 q/ t4 k: q- Q% O
. a) M5 l$ Z4 p/ o: K if( m_bIsIndoor )
* G8 ~3 E0 G3 U& x. \% ^' R( r { b' b& v) U3 q& [$ {7 g! e
if( pLight ); I: g6 L( t4 u4 A# |
{
6 O" T1 k6 N7 } // à??μ oˉè* ! m0 _+ v) O# f
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;0 {* q7 t" S( ^9 d4 P2 s% r# S
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
% I e9 }- u- F( Z9 x9 \9 v3 c" c5 B& j pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
7 y/ S+ n7 T1 ^& Y4 `0 |1 C
, q* ~, a! l% b/ K- m+ j( f // oˉè* ??à?
3 N# p# A( b" t pLight->Specular.r = 1.0f;
! v5 ] W y+ d1 A4 S pLight->Specular.g = 1.0f;; f: S- e/ o9 L( b9 Q! z+ O
pLight->Specular.b = 1.0f;
4 j* `# \. G I. B' Y) V& V. ?/ r // àü?? oˉè* 1 K+ G C2 b5 D$ _1 I
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;- @# S2 ^+ ~+ H$ q: ^
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
- n4 f) Q! J8 j pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;' A2 v- u5 t7 Z" Y, V
7 W* c4 m8 w7 ?; S
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
7 b3 R7 F6 c2 r7 ^# q6 A% M* A {1 l+ P' F/ E9 E+ Y+ X4 e
pLight->Diffuse.r *= 0.6f;
- Z) s1 ?% v2 d8 a# V; h: r pLight->Diffuse.g *= 0.6f;
$ \. y5 p" m @, }% R W# j pLight->Diffuse.b *= 0.6f;+ ` R4 s, I+ w% p1 j& t
pLight->Ambient.r *= 0.7f;
5 G- ~* ~) m4 K1 Z! `. \1 M. } pLight->Ambient.g *= 0.7f;
L% e* b1 u+ S5 _8 ^ pLight->Ambient.b *= 0.7f;
% M2 g& t9 X2 D* o' }7 p }
) T! U, u6 u A+ j0 F: z9 v
& ]7 {7 u& o/ S; A7 G; m# g* Z#if __VER >= 15 // __BS_CHANGING_ENVIR
& h! G) v. Z+ a* B) w+ ? if( g_pPlayer )
/ J6 j5 G$ u8 ?9 V HookUpdateLight( pLight );. s8 m& u3 \3 \3 Y' e& c' J) u+ ?
#endif: J6 p4 x! B% c4 K2 D# Q
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );+ s; ]1 ~. C) y3 \2 J
4 H; q4 F0 r0 S- |3 Q! e E pLight->Diffuse.r += 0.1f;4 ^/ y' {2 P( M
pLight->Diffuse.g += 0.1f;: Y4 n" o; v+ A) ^, U1 h
pLight->Diffuse.b += 0.1f;
% A/ J( }( O6 a7 ` // oˉè* ??à?
; l1 ^/ Z q k; b pLight->Specular.r = 2.0f;& L& h8 F( Y" F/ ~8 v: l; \ T3 d, J
pLight->Specular.g = 2.0f;
, B0 Z: |& P: \ pLight->Specular.b = 2.0f;
6 G4 h6 D& O7 {/ t. ~/ E% @9 ~* S // á?oˉ # n1 b' t9 z- v; @- z% i& L
pLight->Ambient.r *= 0.9f;6 [% R* @7 y; Y1 S
pLight->Ambient.g *= 0.9f;
& r$ ?0 K& @# C" }( C pLight->Ambient.b *= 0.9f;
$ S% Z* \( H# w4 s" Y( a. C6 D9 p# z" ~
memcpy( &m_light, pLight, sizeof( m_light ) );/ l c: X% q* f. b3 Y8 T* p* @; H
/ i: d( L, P; h+ c% e8 y pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );4 M; j9 @. D i9 \! ?1 C: e) r
pLight->Appear( m_pd3dDevice, TRUE );; y8 f! F7 a$ B+ |0 Q4 }5 E% N# g. b
! m) H" g6 V8 T5 x$ E$ c* A DWORD dwR, dwG, dwB;
+ c' G% W1 W% T; c dwR = (DWORD)( pLight->Ambient.r * 255 );
0 _, S/ ^5 h- l, m' \ V dwG = (DWORD)( pLight->Ambient.g * 255 );/ ]- l$ e. o* v
dwB = (DWORD)( pLight->Ambient.b * 255 );
8 s' F8 I/ s5 `3 K# i9 v dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
7 r. V, \3 g$ L! Q$ s3 h& q }, o$ T( [* Y; B4 u) P1 g
}
4 V$ S& S- s' {' C9 j else
- t! X& Q# J! H, a# _ {" j# Q) L+ E0 B. p$ O2 V, Z
if( pLight )
5 b! e7 {: f5 D. r {3 p$ l) W2 o) i& Y
$ @5 n% U3 U" T* k
int nHour = 8, nMin = 0;
8 c7 Z* n$ u+ I6 U% A* P* w #ifdef __CLIENT) X% A* I- g* n/ R, ^2 [, A8 [" J
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
) L0 r9 ~- ?7 z9 e& s& U nHour = g_GameTimer.m_nHour;
+ o/ i& [" u& R, G1 k# U nMin = g_GameTimer.m_nMin ;5 R# d. p4 N' O. ~1 e
#else& f" X, }+ v, e3 K( c
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
7 Y* }4 L/ N2 X if( m_nLightType == 1 )! K( v$ i: b5 F2 M1 R/ n& H0 P, d
nHour = m_nLightHour;
( @7 v) N& C+ ?8 Y #endif
" j9 r; F- G3 J- s. e6 u) e% _3 b) x2 n nHour--;" w2 K$ O8 [& i2 o' x
if( nHour < 0 ) nHour = 0;3 x3 g/ t6 K2 s
if( nHour > 23 ) nHour = 23;
7 j; _8 ]9 f9 N J- i b
. q& N7 ]2 M6 W2 r; R/ T8 N/ A" [3 h& q //if( m_bFixedHour )
% G K* x/ t; v8 z3 Y8 [# H5 v // nHour = m_nFixedHour, nMin = 0;+ A7 R+ o) W, I4 R1 S9 n. g3 u" }
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];: M/ z1 A7 ?5 S( S/ K0 i f
LIGHTCOLOR lightColor = m_k24Light[ nHour ];+ i( r1 w( L }! y4 u& W
0 I! }% B# q' x9 ~6 f. ` //m_lightColor = lightColorPrv;9 B0 I8 E" F" S
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;& h$ I l r# K1 F) ]3 Q
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;2 z6 N' }# s5 l5 ?+ F
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;3 X P+ I* W% {1 J( l" _
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;, h% a3 g$ _! m
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;$ `" H( t1 k6 r# r) c: B
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
6 B; M2 p% |9 h( W+ p // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
% C, Y5 V8 R7 V5 e9 F6 d6 A- ?/ s' K( X3 D! ?
// à??μ oˉè* * A: I, B' N; y7 u3 \6 e6 F3 V7 _
pLight->Diffuse.r = lightColorPrv.r1;
0 W2 J: v5 \( o. d" Q pLight->Diffuse.g = lightColorPrv.g1;) I6 B9 Q0 k; I' R3 s2 P- V( ^ r
pLight->Diffuse.b = lightColorPrv.b1;
$ i+ W; e; f/ [7 M+ K) a4 X) p // oˉè* ??à? % D& y5 v; z% O- h
pLight->Specular.r = 1.0f;* _' k5 X# Z2 ]) k# z, ~
pLight->Specular.g = 1.0f;8 H2 F, x5 U% H* @" d" |
pLight->Specular.b = 1.0f;
8 i" u% z' ~; {$ { // àü?? oˉè* * d0 G$ w3 k* T' b' y
pLight->Ambient.r = lightColorPrv.r2;
& ^8 D% p/ y+ r9 k) D pLight->Ambient.g = lightColorPrv.g2;
+ ]+ y9 A+ j3 Q& i' D6 N/ r pLight->Ambient.b = lightColorPrv.b2;
& ^, A+ \8 A y' o
2 x1 T. j7 B, d5 ^6 W& m I9 v if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.3 Y! L* ~. b5 o9 Z( z8 i
{
9 H; I' ?9 h, f E9 X- b/ O pLight->Diffuse.r *= 0.6f;6 [, {/ H* A4 y& y2 K
pLight->Diffuse.g *= 0.6f;6 Z1 r; ~0 C& J- b0 p3 r
pLight->Diffuse.b *= 0.6f;- u& Q0 N5 z$ ^$ z% D S1 }2 z* e$ `
pLight->Ambient.r *= 0.7f;/ B1 g# @5 t% v- F2 P
pLight->Ambient.g *= 0.7f;
f' j5 j/ `& Y/ j pLight->Ambient.b *= 0.7f;* d5 h" I) J( m7 Z n
}
: {! q+ O& F" J6 A6 y: \ ; j% }' G/ i+ S
#if __VER >= 15 // __BS_CHANGING_ENVIR8 k6 E: r* {, Q
if( g_pPlayer )2 q% C8 U, k+ E& p
HookUpdateLight( pLight );
7 K* `1 _; L" q( Y7 K: m#endif! T2 d+ P* y; d. C% |% e9 I
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
* ?& X% _! C4 d* S! O4 b0 e4 O6 H5 `9 G$ h: L1 Z8 L
#ifdef __YENV" m9 X* V/ Z! _4 c* R
pLight->Diffuse.r *= 1.1f;
U6 A$ P" x8 t1 _0 p+ f* Z8 y# a pLight->Diffuse.g *= 1.1f;
6 z- r) O! ]" U' W pLight->Diffuse.b *= 1.1f;5 u! o" t1 f7 l1 F
// oˉè* ??à?
% |0 z* w8 x. w6 b, t0 i6 `/ W pLight->Specular.r = 2.0f;( [' c) U. q: _" p) T
pLight->Specular.g = 2.0f;& h8 W9 e8 Q" ^5 [
pLight->Specular.b = 2.0f;/ g) I: E# N% o! u5 ?% G
// á?oˉ + [) M# _% x$ N6 F( {
pLight->Ambient.r *= 1.0f;$ \3 J @9 K* }, X
pLight->Ambient.g *= 1.0f;
0 {2 E" b' G2 ~' Q pLight->Ambient.b *= 1.0f;. R& f: N( j& `* k
#else //__YENV/ d) e- p& U+ N! p( @' |
pLight->Diffuse.r *= 1.1f;" X5 n5 t* n) u! r5 l H l
pLight->Diffuse.g *= 1.1f;& D {; ]+ N6 D, Y( q7 j
pLight->Diffuse.b *= 1.1f;
! g, J$ f/ j( r // oˉè* ??à? : b6 v; \6 M: ]% V3 W
pLight->Specular.r = 2.0f;. O" O7 O+ z- L4 M2 @4 B% t
pLight->Specular.g = 2.0f;/ F. [; r5 j/ q& [. B$ W+ F: L
pLight->Specular.b = 2.0f;- Z" m8 L+ ~" R) w
// á?oˉ
& V8 w& f+ f$ e O5 N pLight->Ambient.r *= 0.9f;
v H( R/ Y7 f6 f! }: U pLight->Ambient.g *= 0.9f;
0 I: k3 d# ^' a$ }1 _( V pLight->Ambient.b *= 0.9f;$ t/ W. w5 @$ b
#endif //__YENV + L# P. z! y/ ]
3 s4 g6 P7 {! X# h0 {/ S( I! H& E# [
memcpy( &m_light, pLight, sizeof( m_light ) );
0 b! ~% V g: J
g5 D% Q0 j* f S# X: } D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
" C( d+ P" K3 J D3DXMATRIX matTemp;+ P" t4 o4 m! m$ R4 g
static const float CONS_VAL = 3.1415926f / 180.f;
. t6 l( p, n* a+ X1 e- B/ l" i- S* e8 z" p; X
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
6 L- A7 m: F9 f7 m& K) t6 O D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);' O" L* I( J$ r, q6 L. ~0 D: @
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
- e' l* p J y6 q/ C pLight->Appear( m_pd3dDevice, TRUE );
6 v- `) v( W4 ]& h- d! g
# w5 {* @+ e# H$ w4 T, V3 u9 e+ x- i // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);" _* k" b' D& ~4 ]) z0 e( g
// D3DXVec3Normalize(&(vecSun),&(vecSun));1 g, Q" C4 n0 o7 j
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 0 P7 c% \( I, _% J7 b, E
7 e( i0 p4 w: N+ B# M2 b" p' z, Q3 E DWORD dwR, dwG, dwB;9 v& _' m6 i; p9 i, `; G$ p
dwR = (DWORD)( pLight->Ambient.r * 255 );! { ~$ V) x- }& J( ]- \2 c) u+ }4 G3 D. G
dwG = (DWORD)( pLight->Ambient.g * 255 );
9 `+ J0 ~4 h- ^2 h- ] Z dwB = (DWORD)( pLight->Ambient.b * 255 );( s& l( k6 y4 j( s) ^. n
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); Q* ~9 d" B: b% m9 E3 I
}
" j$ p- F5 p. D' g* n/ ] }
. `6 L, H- y# w( k) P; h! [7 j( g' i: o
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
u0 Q0 f* `: Z+ w: d* k/ d. c" F 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) );6 x7 h/ h, u% p
::SetLight( bLight );0 R3 |) Y% U7 N6 y, z2 _
$ k' {& D$ @" p // ±ao? ?D?í???ó á¤à? , B/ L3 s K* W! p1 H+ I1 F
m_pd3dDevice->SetMaterial( &m_baseMaterial );+ W% `1 O; d+ H [5 o& l4 w1 G
! {! m; c2 e2 Q" Y5 V: `#endif // not WORLDSERVER1 i# ]! |7 ]4 e
}2 d8 a7 Z1 v$ {, l2 O
并更换
2 X) |9 o- v& w( e1 g8 ~Code:
, w7 J" ~* g) o2 s__FLYFF_INITPAGE_EXT
; J" j- y; \* w2 {; C2 c定义
4 O9 o; D2 f0 Q+ ?0 O; U6 k* n% q# R7 U) [4 M
3 g$ d/ w3 K& d0 [7 C) o* X
) p5 n, t4 [3 M$ h; i9 M& v3 e; p9 a
现在终于删除我的狗屁加速...; ]" A& L2 z- B, J0 }; Y
% a9 J2 }, l% M1 `# l
' m2 o9 [+ `$ O5 v0 R! U4 b% j4 u; i5 I6 Y
|
|