|
|
食品车:
4 ?+ l* A5 a j: v, {% l! D+ u; `尾翼:
% X& m v8 s& W* O# \3 r4 Z. r6 ^" E
代码:
E4 T1 i* A" y: r7 l: ~& GCWndAutoFood::CWndAutoFood()
9 z, C6 D# b s$ ?{. c9 P2 f6 U7 V
m_pItemElem = NULL;
: W7 `4 z5 D4 Q: r3 f: E- Q' V+ n m_pTexture = NULL; A" o1 {1 | H6 h
bStart = FALSE;( i2 ~$ b0 L U
}
; x0 P5 l4 o6 `/ O' d" b9 A
0 y2 M7 {5 Q% x( z0 XCWndAutoFood::~CWndAutoFood()
) d0 k# \' E( f: E) Y- O* e( ^% P# m) Q{
! e+ D9 V% N* h. V$ X$ { AfxMessageBox( "AutoFood ist gestorben " );6 l: c `9 S" y* g; i
}
& }7 e& ^+ u' m1 F9 b3 QBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )) D! }9 i, s) X1 B! N7 f( I
{7 O' C8 f$ d5 \" M* K
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );0 C m+ i! s: o9 s% I
}% z& A$ v s4 c7 v/ k' r, H
0 }5 I U7 ]" n s; h5 N3 n
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
5 Z1 C/ {8 o) I/ N{
' V/ T; h. N$ L LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
, l {/ E, Y) B( S: P# e2 o5 _ CRect rect = pWndCtrl->rect;
0 y% c. F& i5 K- G( k if( rect && rect.PtInRect( point ) )9 |( G) f" L& _+ {
{; A3 ^4 T* e5 n
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
" J( [2 W" l9 I) ?" @# D2 k- n if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
: s) o( r7 O4 L5 R {
4 r+ }4 ~6 b, f* b/ [: ~ if( m_pItemElem )$ f: b M7 N/ Z. h. H. V6 d/ @3 X
{; {. q* Q: u+ H3 U
m_pItemElem = NULL;
" d* q* ?8 U% L# g }- p, @& t' Y# \. m% |2 l/ @* Q1 v& F
m_pItemElem = pItemElem;6 v7 X0 R% {' g E* V% H
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );* d/ m Z5 G* B z' t: d- r1 s7 ]
}else{- J6 J2 o# p: O
SetForbid( TRUE );
8 E( L! N- i" w- Y4 h }
6 o# c1 R+ ]0 X7 r }else{5 \% x' Y: ]3 F
SetForbid( TRUE );
2 S$ `) m. L" m) t' u }2 w( r. N" q4 e/ n/ c P0 ?
return TRUE;
% e$ i. d$ \. k% |$ o9 }}( T6 x8 w g, W0 @% m6 N# Y3 S( r- N |
. U) Y# f8 p1 @# b, aBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
! I' s: `6 q$ z; o4 K' y. T{
$ k7 m! S1 l) [ switch( nID )
+ }* g' X8 j* p; x; _ {
, G2 T @1 Y I4 Q+ M/ H case WIDC_BUTTON3:' \/ z! Y, c8 |/ C- Y5 M, j% Z
{9 Y6 k. s4 f8 k+ e7 m
bStart = TRUE;' Q' l3 _9 p8 a$ V$ {8 r
break;+ d3 c! l, n% N: w
}: m! Q; G( Q2 J" j ]
case WIDC_BUTTON4: a8 }' @5 b9 ?& I, O$ M, Q
{2 |* Z2 {1 b' l' ?$ u% _' Z
bStart = FALSE;
. X, l% ]) W7 @ break;; I/ v3 b1 t) f q' c! s+ F
}
- p7 s/ b0 q9 N. Y; X5 x }
/ u/ h* K) [2 S! W0 D return CWndNeuz::OnChildNotify( message, nID, pLResult );
) \+ k+ q. x( `6 y* i}
! v) y' O! I* Y ^- j* }void CWndAutoFood::OnDraw( C2DRender* p2DRender )
O( J9 M% ]) `4 E! s' }{
; ~: a+ H" V, F. F+ b% ]8 W CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
0 P! a4 ]& w" J; ?9 O# m6 `& |. m if( bStart || !m_pItemElem )/ J/ g1 ^5 \, |
{
' ^- Y+ ]2 c/ x2 Y8 C4 A5 n pBtn->EnableWindow( FALSE );
* F3 v c7 d5 z4 I% v }else! A; O% B* q0 c) V; `
pBtn->EnableWindow( TRUE );- H7 w: `* K0 X2 C* ?
if( m_pTexture )
7 s, ?$ G! Z$ O' B/ \ {
, C% R7 w6 x; o LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
: x% b$ c: x9 q7 b$ N9 p* u; I( ] if( wndCtrl && wndCtrl->rect ). V4 G. g$ n2 {
{
5 b0 n1 _( V# {& s m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );, T" t3 A9 _8 S# b) r5 W0 r
} b+ ^& T" ]% ~5 ^4 ~2 N
}- K, T* r0 l2 v/ v! t2 ^$ p
}+ x* `9 `: X) K$ y& C: v' `2 t
! z6 a5 P: h1 p, EBOOL CWndAutoFood: rocess()
% v8 q: K" I- P" e{
! _7 E o" V8 @; P, h+ o if( bStart )
& s( r- J* X7 h) r+ G$ d8 i {2 d& J: g, i2 J& [" e6 ~( A* s
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )" ~" W" S8 s% S' X5 w
{# t9 l( H9 Z; g" r: V( b
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )" j V: o' z+ B7 W" D+ [ A
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );% W0 t( { I" ~
}else{6 d& e9 y/ h/ ~+ m3 Q7 y
bStart = FALSE;
: O) m% V' p; c) p# o m_pItemElem = NULL;; h, p1 t" @3 q! n. B' G3 c
}/ @: a: i4 V" I
}1 n+ s$ s: m; X& p5 u& @' U4 e
return TRUE;
! Z5 T5 p$ F" P# R}
6 x/ O: L( r& B* z& w" e9 j1 R7 R" ^2 Z" O- q
登录视频废话:% [1 |8 ]# z% {2 O) i% q
尾翼:: q5 Y6 T. K/ t* M
& ~+ {# a, A4 o% _+ c2 M代码:5 i6 r, ?8 o: x, G$ ?8 a" s
- y0 Q, m! i' B# W |" M6 {2 s
void CWorld::SetLight( BOOL bLight )* O& ` L0 {3 E! ~, Q5 X
durch
0 E. l y$ M6 u, n( LCode:; F* u5 h! U% V3 `& t2 f9 L! o
void CWorld::SetLight( BOOL bLight )
" ]- y4 V7 s# J: m; p$ J* x+ l{
6 N' P% r3 d l8 g: H1 T //ACE("SetLight %d \n", bLight);3 M L% }0 P# s5 K
( h% q% F" |, X$ F% K8 B" J6 V#ifndef __WORLDSERVER
( `. }# h/ W& Q* @ DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
% x( [6 @/ X1 `/ q0 E* ~ CLight* pLight = NULL;; e% F4 [$ V! y. ~2 h2 L4 d
& z$ ~- X& X7 f# P7 H
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
, a C4 B. O) X" s$ b) _1 a" x% L) P# k9 o5 Q; L' ~: E5 @; N8 k4 J8 T. B
pLight = GetLight( "direction" );# E) \) K3 o- t+ Y: l c6 P
: \) J3 X/ D# S#if __VER >= 15 // __BS_CHANGING_ENVIR, q3 T) B% D6 \3 t/ g) t- _
if( g_pPlayer ){
1 m; I1 ~7 \! R6 t# ^ ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );( M1 j7 I9 V* d+ f$ i* v
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
7 a6 c$ W X' l3 M {$ \; U" I9 o3 ]# P# }
if( pLight )( m2 \- X k: S g4 H# E- B% J4 x
{4 \: N2 I _3 h6 v \
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];2 Z$ \0 S4 L. ^" [( w/ T
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];4 U- r* D0 o5 S4 l. _/ x
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
8 T0 c) L* A. V9 d
, ~" a$ l! t* K( I pLight->Specular.r = 2.0f;) ?8 l6 A3 e' B- R+ R
pLight->Specular.g = 2.0f;2 ]+ _' U9 k% v; `! w
pLight->Specular.b = 2.0f;8 F' U* ]3 D5 X. }
" T1 E& `3 D6 G# } pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
Y, E" j2 W" r, N pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
3 E4 ^0 @) j" I$ a' L pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
: c/ u- R+ J3 ?+ |0 q$ \: B
6 Z2 W; V% w& o9 M$ \! S% H& A HookUpdateLight( pLight ); - |$ ], a, `6 ?: k- {1 F6 v1 K7 R7 H
) l, {0 v: M( L! C& i memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );! J4 {$ {; N& c% d
, Q7 ]. ^8 q/ W& W- f pLight->Diffuse.r *= 1.2f;- D+ F4 o) P9 A& m. y
pLight->Diffuse.g *= 1.2f;
% D' k5 R- x! n$ h! P% K n pLight->Diffuse.b *= 1.2f;
9 G/ P" A/ _! i# {0 K* b) _% Q, P6 P, L' n
pLight->Ambient.r *= 0.8f;
! ^' _* p+ n u pLight->Ambient.g *= 0.8f;
/ f* w+ H' K: x! V/ k pLight->Ambient.b *= 0.8f;. q4 H* H9 G, s
" }# U1 D/ a1 y! D; s) d' {
memcpy( &m_light, pLight, sizeof( m_light ) ); S* C8 g1 O+ A+ t1 N' f v! f
0 l3 J" i/ m" @ _: x
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);% e7 b/ D+ R) g% y; n* k( K
D3DXVec3Normalize(&(vecSun),&(vecSun));
1 G8 Q: o0 W) ?2 R3 ^$ u pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); - Z! I' Y3 M1 V* ~5 H1 K( f+ d& S
pLight->Appear( m_pd3dDevice, TRUE );
$ H* ]! n2 A, x9 J& T" L9 [
/ M( A" ?) d( ]3 B% C1 e# X! T; t& a; D DWORD dwR, dwG, dwB;, I6 Q- w9 P2 z( k7 c% Q
dwR = (DWORD)( pLight->Ambient.r * 255 );
+ G- r+ J$ ?0 [% j3 V dwG = (DWORD)( pLight->Ambient.g * 255 );
- S+ h$ j3 l5 k8 P dwB = (DWORD)( pLight->Ambient.b * 255 );0 L( C- V2 e5 v+ V& H9 W/ ~* g0 Z
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 T3 Y; W3 L! j5 b6 W0 U }# Q/ i: e+ @8 Q, i* h8 p2 u* u, ]
}
! A. `0 ~3 I) ?0 f$ |4 q }
6 g& t4 T8 p* R" m8 Y9 y% a0 b4 R) Z" x6 { else
! Y; l8 z. f: N; h) r0 \#endif
& ?8 j. [: Z% N0 |; b+ i
* Y# X4 z m" w; c1 @7 E if( m_bIsIndoor )
- _( u+ y" P+ h {2 G3 E* s0 d& ]9 l) |( P0 V
if( pLight )" E; {; S2 l' l* M; N* Y+ `" E
{
' K+ Z. F3 Y/ l0 b" R3 q // à??μ oˉè* / V$ j6 M! x. J2 l* g
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;2 X9 B) I- V9 K9 n+ [4 O1 Y
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f; D. Z6 W4 y( I9 B% P; J. W
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
) f9 W! y# K5 e* W S. A5 K
2 Y+ z1 i* U- i; q Z3 f( i // oˉè* ??à? 4 n# L9 A8 ]! o
pLight->Specular.r = 1.0f;0 {, H: r3 R& X A$ m) C+ p6 I
pLight->Specular.g = 1.0f;
8 C# v! p0 x7 o; E. z pLight->Specular.b = 1.0f;
1 h6 [& C' ^8 p8 E/ O // àü?? oˉè* - u* Z% h+ |3 F. T' B9 F$ {! V
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
; g7 k/ x' m% q/ J+ K pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
2 _$ v+ I! h$ J" x/ i pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
- v! N7 }' n" D7 m" `: N b
$ R9 q& H- u2 G% [ if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.- x1 j) {+ ?% A, }+ e
{% X" @+ w9 y/ C! `+ R* P) z( d% i6 D
pLight->Diffuse.r *= 0.6f;
2 Y. S5 y0 f! }; S. `. L7 z9 k; G pLight->Diffuse.g *= 0.6f;
) o! @' A/ ~ z9 o& r pLight->Diffuse.b *= 0.6f;
( ~$ L8 L3 [; f: B B pLight->Ambient.r *= 0.7f;
( P- V; \; Y9 v) \ pLight->Ambient.g *= 0.7f;
9 h! u+ s. c/ u) ?; E, C pLight->Ambient.b *= 0.7f;
* y4 l& U& x% T& y- b( n/ x }2 p2 {/ L! O/ ]1 p
1 ^, w7 ?7 G, N7 D, A- _#if __VER >= 15 // __BS_CHANGING_ENVIR; s/ |8 \9 Q3 |2 c
if( g_pPlayer )( B& F$ ?3 U% T3 K% _
HookUpdateLight( pLight );' {% P' v3 V9 s, N0 ^! v, N A: o
#endif) P) }( l) J8 I1 O5 c$ M2 }
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );, Y, ]7 s% Q! N s9 U/ H
% W- j* z3 {- @8 c$ E2 r# |6 x
pLight->Diffuse.r += 0.1f;# n. _) E H3 h
pLight->Diffuse.g += 0.1f;
% D& \ [; A4 d: A8 Q/ u4 ?; C pLight->Diffuse.b += 0.1f;' I2 a! g e: N* k K5 B& {
// oˉè* ??à?
3 J0 f b9 F5 o5 r0 k pLight->Specular.r = 2.0f;
' k- G* M% @& Y pLight->Specular.g = 2.0f;
2 k* a0 x2 Y- d0 R$ e2 Y7 l pLight->Specular.b = 2.0f;
3 r. f8 ~& O* o! l' m0 U | // á?oˉ 5 P) V% u W3 y
pLight->Ambient.r *= 0.9f;
4 |+ w9 q# z. M6 u0 C2 y$ c3 R9 w pLight->Ambient.g *= 0.9f;
6 A1 C$ @% s$ h: Y, I6 g( u pLight->Ambient.b *= 0.9f;" L; ]/ \- ^+ j/ X7 w9 B4 E! U$ v$ u
7 O2 Q* B- ?/ U memcpy( &m_light, pLight, sizeof( m_light ) );* b6 a: @ j/ f: @$ I
! d3 q$ M/ f& f; f
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
: d! m3 V; @- v pLight->Appear( m_pd3dDevice, TRUE );
3 l) |5 k# J- o. C& \
9 t7 G6 Q+ S3 [) k# u DWORD dwR, dwG, dwB;
1 f7 g- E2 \/ ` dwR = (DWORD)( pLight->Ambient.r * 255 );: @3 u6 C3 R) Q% k+ W* N
dwG = (DWORD)( pLight->Ambient.g * 255 );
* @. O% E! `: D, U( @ dwB = (DWORD)( pLight->Ambient.b * 255 );4 h( [5 y# G, T1 c2 [
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );% a/ E' i9 i9 Y U' O) A
}* J" V2 [' n" m5 ]' Z4 M3 k
}
3 D2 @; N7 Q; P0 v$ |: |. x else- g! {8 R1 H9 F6 c8 ^# O
{- l) T2 S: w( ~) ]: Q
if( pLight )+ W2 j$ w. Y$ i! I$ D" S( C: \* \
{( N2 ^5 q' D2 T) Z- H2 o
; V% E* G! m& L
int nHour = 8, nMin = 0;" _1 `" @8 ~5 H6 x# W
#ifdef __CLIENT
. q+ @8 m- N/ `$ }8 H: S! I // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. ; o8 \' n7 `; r' h& X* y1 t7 K
nHour = g_GameTimer.m_nHour;
! J( D7 d) ~7 I% k5 W- ?/ D8 d nMin = g_GameTimer.m_nMin ;
& g4 r( r3 E) o, B6 r9 Q. p" i #else
) a/ x- w9 G- e- v6 y& e // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
" V+ h" o) [1 Z' ]% @- K if( m_nLightType == 1 )
2 m; P/ J* V S/ @1 b0 S nHour = m_nLightHour;2 H1 S! I' z: @
#endif
* Z/ \; _% h8 U: I6 j9 I9 \ nHour--;
* K9 T' g, A) U, ]* s L( Q if( nHour < 0 ) nHour = 0;- ?$ e, O7 d4 Z; U9 u( s
if( nHour > 23 ) nHour = 23;4 X5 x' m; Q8 t; N
|7 ?& \) s$ R7 w# O/ m8 z* x //if( m_bFixedHour )9 Y$ O# ]; K: w$ J: x" I5 H
// nHour = m_nFixedHour, nMin = 0;
. y4 a) Z7 H9 L7 H7 E LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];0 ^2 ^ I/ y+ h; Z' g3 G3 N
LIGHTCOLOR lightColor = m_k24Light[ nHour ];2 U1 R. h! }5 E
" Y( Q! O6 u t+ Z0 \
//m_lightColor = lightColorPrv;/ d' Y5 K( u2 F; t/ c' v0 H% S
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
$ Y+ y$ b9 Y/ }1 |! m lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
, @% s) e% |- f9 f lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
- _( k, `* E4 u3 l8 O5 S9 v& F6 j- a lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
8 P/ G& }+ M9 B" V lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
$ u+ P+ o) a: P2 _( S lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
& G& O0 ^0 T y: @' v$ ~ // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)4 h2 L Q L& e9 h9 D. A- V
/ j4 H) j* j. D9 K- e4 s // à??μ oˉè* * }5 J5 K, {. N9 R7 x0 H) r% x5 x; R
pLight->Diffuse.r = lightColorPrv.r1;
6 K2 V% Z( K5 `$ j0 r+ ?$ B& h pLight->Diffuse.g = lightColorPrv.g1;) @5 L9 ?" b d% X4 _
pLight->Diffuse.b = lightColorPrv.b1;! l! F" h) k& J1 B/ Q$ x: Z# X
// oˉè* ??à?
. X+ L9 H8 w; K1 ~: k4 j. n: y pLight->Specular.r = 1.0f;
. ^' Q( \! C( n2 C" `* X& h* Y pLight->Specular.g = 1.0f;- H5 _2 V" ~* r/ M! k
pLight->Specular.b = 1.0f;2 \. y2 L8 \7 B T! J
// àü?? oˉè* 9 f6 L6 z" s4 V; N& d
pLight->Ambient.r = lightColorPrv.r2;
; P# P# |) F: T& M* X pLight->Ambient.g = lightColorPrv.g2;
, U8 |) r" Z6 P* o4 V1 {; D9 z pLight->Ambient.b = lightColorPrv.b2;/ c7 y& z1 V- N* E M4 }+ t
( ^) z- T9 O5 f/ |! _. h% o' Y3 Y, L if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.& S Y; y! o! j$ u# h
{
7 ~+ D5 P5 v/ [1 } pLight->Diffuse.r *= 0.6f;& _! N' y% o7 ?' }/ y! {6 @! W& w2 D! j
pLight->Diffuse.g *= 0.6f;
% Y4 S2 _! u! i' a% G' O pLight->Diffuse.b *= 0.6f;
/ A3 _: ?, u) B k pLight->Ambient.r *= 0.7f;6 D$ G- m7 y- `
pLight->Ambient.g *= 0.7f;
" E7 a7 e/ Z% I8 l8 x. @/ D' C pLight->Ambient.b *= 0.7f;
- |1 r h0 s# y. Z }
) ?% u4 C' M. w& y * N, Q- [+ s( ^3 ~
#if __VER >= 15 // __BS_CHANGING_ENVIR7 k" @0 `' D" f2 t8 i
if( g_pPlayer )
6 T/ y' \4 M2 ?' e7 q HookUpdateLight( pLight );
/ d$ u8 V$ A& W; w" [/ z#endif
+ x1 ?5 Z& z/ y1 X8 m memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( M, w! W* k' @9 A* U; R' V: |
' E& K9 n2 s6 P+ ?1 b! {#ifdef __YENV
/ O& D3 Y9 D2 Z0 v4 `) {9 A5 {. Y) r pLight->Diffuse.r *= 1.1f;5 x- H9 \- ~' _, ?1 c$ B
pLight->Diffuse.g *= 1.1f;
" t+ O1 ^2 P2 x8 ~: C pLight->Diffuse.b *= 1.1f;- V6 R& ~: N! S7 a
// oˉè* ??à? 7 K0 H+ s+ I1 ^/ S& ~
pLight->Specular.r = 2.0f;
" Z1 p% z" a! C6 L& z" ~ pLight->Specular.g = 2.0f;
6 D$ D9 Z4 K8 E pLight->Specular.b = 2.0f;# X+ S- W$ p" Y4 g9 T- l
// á?oˉ
& q" c ^9 t {3 S0 a* i: L5 z pLight->Ambient.r *= 1.0f;; S: b" p' h0 r0 X3 w- {
pLight->Ambient.g *= 1.0f;+ N- g3 ^& L$ _& y1 A6 |6 P5 [
pLight->Ambient.b *= 1.0f;
6 Z/ I( m/ w& F6 ?7 a# s6 j#else //__YENV
7 J% k- s A) s& u2 Z pLight->Diffuse.r *= 1.1f;
8 q. u+ z5 s( g: I" F pLight->Diffuse.g *= 1.1f;
5 b. L& t& `: A3 ^; O2 } pLight->Diffuse.b *= 1.1f;
) S9 \7 f o+ c0 t1 T! E1 W // oˉè* ??à?
n( R/ D+ Y2 V( X; O pLight->Specular.r = 2.0f;
* T, H. X' ~8 }4 k s4 u. E pLight->Specular.g = 2.0f;
. _8 J, R; t7 X V pLight->Specular.b = 2.0f;
/ k0 ~+ d u4 w7 z+ \( @9 W _ // á?oˉ
2 ~2 q4 C! y r+ m- U1 }$ l pLight->Ambient.r *= 0.9f;
& I! H: s3 P6 b+ |: n' ?3 n pLight->Ambient.g *= 0.9f;4 t' ^" d' x f+ @3 C
pLight->Ambient.b *= 0.9f;
7 F. ~8 T- ~1 P1 P6 g( s2 _#endif //__YENV % c% x0 Y- T' g9 b# _* X7 @
( u2 K7 K' ~3 P. {# o memcpy( &m_light, pLight, sizeof( m_light ) );
) [3 r, j5 o6 s" @- L" `
- V8 [* O- m+ l5 w/ i D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
- v& D1 I5 U: i& e* x D3DXMATRIX matTemp;0 ~' k, N# W6 i i; A! O/ \
static const float CONS_VAL = 3.1415926f / 180.f;
9 K% B" @2 }* i5 f- v
6 N- [+ |+ u3 p D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);3 Y9 x; _8 A `$ K! K$ V# V0 @
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);0 f6 Y; }/ q2 _
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
3 q3 |7 U( A6 H0 E) G* j: _ pLight->Appear( m_pd3dDevice, TRUE );
! n1 W: u6 ^4 {. D( J
9 c; @' a5 }! x* z' [4 C // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);# O8 P0 y4 G' f- Y+ }$ @1 P
// D3DXVec3Normalize(&(vecSun),&(vecSun));
; s5 T$ @' R6 L* C // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
4 u ^# w: y7 K1 h3 e) U/ V, d3 h
DWORD dwR, dwG, dwB;
8 ]% O# m s$ A) W dwR = (DWORD)( pLight->Ambient.r * 255 );8 c( a3 S2 [+ i2 Y; |' I3 | z
dwG = (DWORD)( pLight->Ambient.g * 255 );7 I, }- ]. H& h
dwB = (DWORD)( pLight->Ambient.b * 255 );
: V7 B! D4 [* u dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% V: s K/ z2 U }) W1 ~: d; y& [9 b& ]) r
}6 h3 u. a. l/ z8 r. v u! r
1 t# [1 _3 K7 C- W& j5 M2 l m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
8 `7 R9 |+ m9 v d 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) );. @+ \7 A* e& G0 p" t9 R) l; h6 e3 C |
::SetLight( bLight );
+ e+ L' m1 K& m. {) {' W. E$ @- e( Y9 k" Z5 _. h) L4 l
// ±ao? ?D?í???ó á¤à? 6 L& _3 E. L' F6 x. z
m_pd3dDevice->SetMaterial( &m_baseMaterial );% l1 R5 `9 W: u
$ X8 @" X8 s* W* g
#endif // not WORLDSERVER6 E4 a- N/ N6 R. B
}
* {9 W' p3 ]9 ^! s并更换
5 l, f) {4 @: q( x# n# ~Code:
9 l; G7 R" I; ~! W! `__FLYFF_INITPAGE_EXT
& O/ u9 ?0 D4 I: _" X! l8 B2 a定义
5 P8 R0 w7 `* Z: h& V" X
# L2 R! d% h' z" K! y) }* A# f
( F. c ]: p+ p) `0 W# C0 A. V) x1 E" O" I& q! k* H! w
9 s! X0 b9 z! F/ { R( k" m
现在终于删除我的狗屁加速...
3 y- d, I( m- Y- l* z* g. `6 u! J9 q5 D0 l/ y; }% j
1 {2 ^7 y! X, W" a0 k+ T1 N. H" ?6 n. D) D# \
|
|