|
|
食品车:1 Q$ h$ j# v2 O( z
尾翼:
4 Q+ l, `8 e/ M1 J1 ?$ K1 @
* E8 D: m$ g7 T. ^9 E& r q: @代码:
9 g" \: Y3 S7 n& |/ A1 LCWndAutoFood::CWndAutoFood()
X$ L) _. W) I; R! C6 m{
) g. S/ k2 F3 |3 f: m( g m_pItemElem = NULL;
* }5 N% x0 f3 @2 M1 k m_pTexture = NULL;
; I3 h" E. y/ I$ n( N% c' f bStart = FALSE;
6 _( P8 d- |8 i: h' Q- H}& I; {" Z! p4 K5 V7 g' ^
4 V) v2 i# ]# X w
CWndAutoFood::~CWndAutoFood()
: H% l/ \- w- P/ [7 i! k{4 j0 S5 Q4 k' `% [ f
AfxMessageBox( "AutoFood ist gestorben " );. v" R+ U7 e5 O
}
& F0 L( C" ^. q8 k- DBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )) X9 W4 ?& S0 g) p2 [
{# `( d5 S5 Q: |2 [, J3 F
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
3 O: L* Q! m/ y, e}/ c) H, }9 z3 [* w1 o' |7 r" ~
1 q6 |: I% a0 I( |$ w
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
( L; }2 f' a/ l Y( V3 G4 b{
: a) O& p1 w, J0 a LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );, R) x0 M9 y$ m! E7 v! @* q
CRect rect = pWndCtrl->rect;
5 }1 b5 e1 M2 Y* v if( rect && rect.PtInRect( point ) )! N& d( B8 X7 K" f; {0 i
{
6 E5 W3 @3 m$ r; O% ~ CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );7 ?, K/ P) b! d" U4 ` m" B0 N8 L
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
* N% w8 z) y! z1 j {
/ q5 b- \/ T* \* a if( m_pItemElem )
# O" h# ^, J9 C2 B& _7 ~: y/ N {
8 o+ y- f, k$ n1 o) L- { m_pItemElem = NULL;% K" o8 s4 s) Z1 z
}
6 g. \, H& o4 v m_pItemElem = pItemElem;
$ a3 [# @2 ]3 [; ^8 [& ^: S/ {) M/ s m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );, J7 n% v1 d5 N1 T
}else{6 b* P+ l/ v( Q
SetForbid( TRUE );7 e, X9 F I; k8 G' T
}
# j! z7 f t" ~! z0 _% M }else{
$ d" S, e- L7 K4 c* d SetForbid( TRUE );
2 w$ R1 O/ e, l; F# N }
+ [3 ^/ C7 z( I7 U* K* d, B return TRUE;
1 x: o* s; T5 |: G( M( L% Y}% U! {' u. j; E( }
4 V% \0 v$ P. b3 W9 r
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )5 N( I B8 l5 u
{2 Z( S, k* E- G8 z
switch( nID )1 H( v% E0 I# b8 N, }
{! t6 T* u5 e3 {; V5 q9 Y6 ~ \% }6 Y. V
case WIDC_BUTTON3:
+ v1 K* A, x$ J! n# v! z& P {' S; A; b' d) Q
bStart = TRUE;
4 H0 y! s* d8 o8 N" f/ ^. p break;/ E4 W5 t6 M" n! A0 Y. c* ^
}2 g0 q$ d7 U0 k2 {* G0 s, K7 Q
case WIDC_BUTTON4:
7 S4 D( J1 I; i! X9 s+ x { y* l$ B: a: c3 \, t
bStart = FALSE;
, ^/ @) H6 z' h) A+ v) p- s5 K break;. g# O4 o- |( ?- } t3 i5 E
}7 @- h& P- g$ D) f! G+ H
}* j) ^7 j* s `
return CWndNeuz::OnChildNotify( message, nID, pLResult );
! k& g' B4 a% D! b# N} ; d) l" n8 |2 f2 \% m
void CWndAutoFood::OnDraw( C2DRender* p2DRender )2 g3 b4 X, I6 t+ E2 x) k
{$ |! f; }8 f9 P6 i( j, g# ]! Y
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
4 k0 R: r+ r0 E2 P/ `. \ if( bStart || !m_pItemElem )7 k v8 i; G3 m) E% b0 Y' O
{
' }- Y) D+ Z# k0 Q/ R" M pBtn->EnableWindow( FALSE );& j5 D2 } X, ~# I3 K( O
}else0 G* x! z) N- V
pBtn->EnableWindow( TRUE );
: t- ]6 `/ t3 m8 y' T: X! z4 ^ if( m_pTexture )
4 W5 m% h% X1 \ {
% r w* Z( o3 `* e: L LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );, X) G: ^/ `5 l0 F7 @ ^
if( wndCtrl && wndCtrl->rect )
+ ]8 M [0 \3 l. O. l( ]1 C {
, I7 V1 |& n9 k2 K& g$ b m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );& {) A- N& w: |7 j! u2 M
}5 \* I/ m1 Y0 t% x6 P' ]' c
}$ s8 p: i6 u, ~' i$ a ^) ?
}
4 K8 {7 O2 @& C7 x. \
; j+ P: C$ W; r0 ZBOOL CWndAutoFood: rocess()
5 T, \% F/ H5 y1 \# g: B{; {% K$ f5 r0 N* F3 Z- u
if( bStart )
0 g$ e# \# G- J# a" S Z; @! g { P2 o8 |: M# j9 h7 k
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )4 z- I, K4 c* f+ G# r! }3 {3 u: H! |
{
O8 e, a& j& n! g: T$ V2 t1 I1 x if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() ); u2 I0 x2 s6 l
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );. n$ Y3 ^/ Q. J! N
}else{
* w" S$ G, X+ a. Q$ h$ L5 a: h bStart = FALSE;, _9 i; A9 n% i" R+ }6 K6 o2 n+ o/ J7 x
m_pItemElem = NULL;* R' |) k# U: I( D9 G
}
% Y# _5 |- T) v6 {' E! W }: e0 T' z+ @) j0 _( H1 z
return TRUE;
; Z1 I* P4 |- ?8 d}
0 c3 R) v2 b. S3 }
! p; v' W7 e! m7 e5 R登录视频废话:- R$ k( z7 A$ J6 V, }7 G/ |
尾翼:
, W* M% I) l, `: y3 K3 `
" R# j: H. w: P; |$ w代码:0 C! S) }: H' P1 N' E
* A3 v9 b7 a7 k8 R/ e
void CWorld::SetLight( BOOL bLight )6 c7 b0 y6 A! K8 ]2 f# k# P
durch
) e3 e$ w% }- u1 ~0 Q# B4 [7 Z9 C" OCode:
' @3 b1 _0 e( g6 J* P8 Z6 S: ]void CWorld::SetLight( BOOL bLight )
1 e' ]5 B8 g7 @! N- N, A; I{. J/ o1 `# H A+ _1 }/ I
//ACE("SetLight %d \n", bLight);1 X# I& y2 j: p( h8 f
* i1 W) |5 M# i- z4 V( z" J$ o/ V#ifndef __WORLDSERVER
0 Z; Y; F: K5 i* e$ w2 a* ^4 n% H) {# x' t DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);5 Q# Z' C% ]! T" l6 _
CLight* pLight = NULL;
5 c$ Y' r( g' b2 ]7 ~! _8 T; }8 x# {
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );: s$ c7 O _, o9 |
* d9 ^( g, n# d+ B. }1 Y
pLight = GetLight( "direction" );
( \8 D9 P2 b6 E, n$ L1 @, O* i$ e( I; W8 v
#if __VER >= 15 // __BS_CHANGING_ENVIR
/ F& u. \1 _& a6 k% M( J if( g_pPlayer ){
; N" \$ H' a2 |, Q ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );) u' _$ P& [7 a8 I4 I
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
6 S0 N0 ?% U# l, c( w- M8 v4 n {' O. w7 V+ y6 o" f
if( pLight )
, B1 d, C p) A1 s {; V/ ^ l3 ^; P' p' K" o& A5 v
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
& e! |' k, b# E2 w pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
- d+ y/ Q$ O" w% k" w8 r pLight->Ambient.b = pInfo->_fAmbient[ 2 ];# h" R" e& r. d7 S. a/ F" r; o/ f4 J: M
) {8 Z7 F( R5 d. k- B/ a1 H pLight->Specular.r = 2.0f;
7 n5 t8 [9 K- ^2 H7 L6 L pLight->Specular.g = 2.0f;
8 X3 V: T' H; Y pLight->Specular.b = 2.0f;7 ?0 P& f' `8 s' G+ F( T, [( c
' g2 Z* u! J2 |9 V& H9 w0 l- n' N" u
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
3 z6 V: f" p9 c" _3 k5 H* E pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];4 p! i. j/ m& a$ j6 e
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
* R4 m* \9 Q9 S * c; n# A; _6 o* @' i0 L
HookUpdateLight( pLight ); ' o4 a/ Y: `) J
1 C6 j7 T' {% }9 N$ o5 e
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; x8 R# c' M/ l- n
5 j1 ?: @& S& \. C a( w pLight->Diffuse.r *= 1.2f;
o) t0 g, F* [9 q, h* d1 G pLight->Diffuse.g *= 1.2f;) k* l' i- P$ M# f5 E: ^ H
pLight->Diffuse.b *= 1.2f;8 O" ^: @+ @+ A5 \, L! G }7 A
& H1 Z) x( z3 q* ^+ \ pLight->Ambient.r *= 0.8f;/ q' Y) B8 z, J2 o: g
pLight->Ambient.g *= 0.8f;, L& p" v3 `7 ^, W# F9 {' a8 v1 y
pLight->Ambient.b *= 0.8f;
0 u- L ?) b0 q0 K 4 ~8 p0 k# R I6 @, O0 a
memcpy( &m_light, pLight, sizeof( m_light ) );
! H& o# C+ F) W1 s- N( c: l" s! W4 {) P7 p* ]. F; p
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
9 z0 L) D3 G: J/ g- m, i, \: u D3DXVec3Normalize(&(vecSun),&(vecSun));
" k( t) ]8 D; B# f pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); & `2 l7 { ]& C" g* ^! @
pLight->Appear( m_pd3dDevice, TRUE );
4 ?, ?2 X- {0 W
( X) X( U" y( _ DWORD dwR, dwG, dwB;! M$ e$ ^ v0 J5 G; E. I5 ~
dwR = (DWORD)( pLight->Ambient.r * 255 );
/ Z7 }8 u e& M& q' X dwG = (DWORD)( pLight->Ambient.g * 255 );1 V2 T! D E8 {& |( {
dwB = (DWORD)( pLight->Ambient.b * 255 );3 q& H* G1 J. b7 N
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );* ^; Q) j! \* m( A& o
}& L3 o% x1 C2 t8 I/ z
}
: i. c& Z/ J+ C. E }0 \% ~- [. u3 |: n9 G8 P/ T
else2 H: A4 F% H4 k' ?2 r
#endif
3 k7 Y, q& r8 A. t) k' M8 v) f8 y: S
# B% ]) P4 o5 d: R8 P if( m_bIsIndoor )
8 E" `7 t) l" `! `5 z" T {
/ o# p1 L6 Z% n& M, K if( pLight )' H8 g) B" l0 j+ q; `; M
{ 2 Y- h% F1 R' |
// à??μ oˉè*
4 W0 Z4 p8 ]+ U, \# e! F; G pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
& g8 U u! A. g$ m1 h4 H2 i1 v pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;# C3 G. W5 m# Q* w5 P G
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;9 u7 [9 r6 W. Y6 j) ] F1 [) k% a
- Q8 E; M7 H- j r C // oˉè* ??à? 3 J1 w% X# f8 A+ h. j
pLight->Specular.r = 1.0f;
/ X9 X3 v D% u) j8 l pLight->Specular.g = 1.0f;
+ Q4 Z8 z6 M6 e3 c pLight->Specular.b = 1.0f;
( W2 e, l' r! ]1 Y // àü?? oˉè* 5 P/ ~) g I! @( s! [1 N& h
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
; `4 E C- F- o, a- c6 j) D pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;. L0 v) d9 j* e4 o: I
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
) ~. I" M0 S& [" P W5 S( {0 g) B- v3 i7 i( |3 I' u) I9 l7 v$ A
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
2 h2 r( F- H+ D {
r/ A& \- o- M pLight->Diffuse.r *= 0.6f;
, Z* p; J2 z, T. R! {- F/ |( k pLight->Diffuse.g *= 0.6f;1 C* S6 v" g6 B: ?/ }4 G* l; u
pLight->Diffuse.b *= 0.6f;/ _: z0 ]# F, |" j, m! D
pLight->Ambient.r *= 0.7f;
% u3 L/ R3 M, h; t pLight->Ambient.g *= 0.7f;
$ x2 T: Y: U2 k! I6 ^: |: f" P pLight->Ambient.b *= 0.7f;
5 Y: k: \6 ~' J* R$ w n0 B5 }7 i }7 e# h' U' n& `& o( e2 q! F
- ]- Q3 Z; s6 Z* X+ D) [
#if __VER >= 15 // __BS_CHANGING_ENVIR
3 H5 N4 q5 t7 S6 u8 |7 d if( g_pPlayer )
8 V6 o% x! }9 O4 i HookUpdateLight( pLight );
# }& t% ]; h8 Y i6 |#endif4 Z6 b) ~% ?# L" n6 {+ \
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );3 x* K2 `; y' s1 T# [
0 U0 ~4 o* Q8 `1 j; A c
pLight->Diffuse.r += 0.1f;
: I: l6 o9 R6 H pLight->Diffuse.g += 0.1f;
! k7 |7 l( L. n O pLight->Diffuse.b += 0.1f;
+ b7 @8 R+ \. s, ]8 p3 F // oˉè* ??à?
9 Y) @1 d! h+ \0 m, ] pLight->Specular.r = 2.0f;
* ~+ e9 d5 L4 j pLight->Specular.g = 2.0f;, J4 P% I. t$ u& _2 l0 L9 R# c
pLight->Specular.b = 2.0f;
& H' |5 U& r3 W4 y+ f" q // á?oˉ s* m' |! F5 _
pLight->Ambient.r *= 0.9f;- X' Y* R. P+ t4 h" i4 \' a; x
pLight->Ambient.g *= 0.9f;! V! m0 P( C. k6 d7 V, `2 U9 v
pLight->Ambient.b *= 0.9f;' z; z! N" R: X1 T( f6 C0 A2 G
: _8 ]4 z+ B; T5 t) c' r. P memcpy( &m_light, pLight, sizeof( m_light ) );$ P5 i$ K% M4 e! \' W8 Z( k
, ?, d. `) r- M) E3 L& Y pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
|/ I1 T$ a4 B; C; [$ Q pLight->Appear( m_pd3dDevice, TRUE );
/ E" B* h7 q5 L! z9 T( g0 j8 p& j ; U5 t, U% t x
DWORD dwR, dwG, dwB;
% F1 V- E* ^. H: }" P dwR = (DWORD)( pLight->Ambient.r * 255 );, Z& j4 k3 b* S. @ J! X! b
dwG = (DWORD)( pLight->Ambient.g * 255 );
2 g8 @. ^" O6 ]: a) w- o" P9 D0 U dwB = (DWORD)( pLight->Ambient.b * 255 );3 m2 i0 K5 w2 b1 p/ ?
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );3 a9 ?/ _. h; Z; p! W' B5 e
}
+ P) Z# V4 r+ J7 B }- L/ c% b- F* A& T) x4 x* }7 ~( h
else: x* C2 x) v. x4 a! N2 D* x
{) N' @# D- G. R6 Q& S1 i' Y% J2 x
if( pLight )/ V5 u1 A% N t! G- l
{" T% h' u1 i- [% p! f6 `% \
; j9 r' t9 c8 B8 X3 @. \9 J* ^8 p int nHour = 8, nMin = 0;
. m& D7 Z( g! V8 O2 d) b' }; | #ifdef __CLIENT! Z. ]2 n" X5 W! u' H0 F
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
% F0 D4 C) e. X/ q; v9 p nHour = g_GameTimer.m_nHour;
# ? |3 u5 M9 Q" a nMin = g_GameTimer.m_nMin ;
. S. k, l; a/ `9 {! f #else
# z0 z( ` ]7 o" E7 {& k# W // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.$ ^5 F ~1 s9 U
if( m_nLightType == 1 )+ q3 C' V2 Y+ s0 l8 l# I
nHour = m_nLightHour;
+ _) q" p5 A) K3 e #endif' B# W, c2 m6 n/ L2 P; e' y
nHour--;
* E# G" ]5 l9 q- X7 {& s4 c, m if( nHour < 0 ) nHour = 0;
# ]/ }# A1 L9 S4 d% |( ?$ z if( nHour > 23 ) nHour = 23;
; G$ I, n7 _6 ~7 c; Q
B) m3 V" D" a5 H& D: e7 i //if( m_bFixedHour )
, Q( ?: \2 m7 ^ // nHour = m_nFixedHour, nMin = 0;
3 z* T8 A( V, ~ w9 Y LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
; N( W T: b+ y* f8 M. R LIGHTCOLOR lightColor = m_k24Light[ nHour ];2 t0 @( |, W0 x! x( ^( w7 Z
! N1 h, ~! f8 N
//m_lightColor = lightColorPrv;
0 A# t4 u/ R. s V8 f: @ lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;9 P- R# @) M/ d1 `& N# L! m
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;/ h) G0 L+ C4 }3 y7 z
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;2 m5 }$ B: v. e% F. S1 ~2 [
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
. F5 o4 _- i+ T! W( l" l0 M4 Y lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
" N9 \+ n( }8 R! h W7 s lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
5 H3 _7 r5 g5 ] // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)9 o4 N' r! w$ @" Q3 O8 @2 Y: V/ n
: D0 f$ C. M" ]' ^- A // à??μ oˉè* ) \3 p! h& k" W* t
pLight->Diffuse.r = lightColorPrv.r1;
# m2 O# W- b, F, N- A pLight->Diffuse.g = lightColorPrv.g1;
; U, N8 a4 v! H pLight->Diffuse.b = lightColorPrv.b1;
3 d" u6 G) ^+ }& j // oˉè* ??à? % ^$ X8 l! V L- S! u& M. {
pLight->Specular.r = 1.0f;
' s7 ~; v6 J. L pLight->Specular.g = 1.0f;
: S- f2 M2 v; \, ~$ J) y t pLight->Specular.b = 1.0f;
* R( o: _2 _2 i( L2 n: x // àü?? oˉè* 7 x" E5 N. `$ k& x
pLight->Ambient.r = lightColorPrv.r2;
; r1 `$ a) y% x2 q1 S6 i+ ^ pLight->Ambient.g = lightColorPrv.g2;8 i: Z8 y& m9 W/ ^; e q
pLight->Ambient.b = lightColorPrv.b2;( L6 d2 r p& W3 z! q$ C
! c; }# X a3 n$ P: l. F
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.2 p- H* H& S) s) f+ ^
{
* A* x T. P2 E) s' v pLight->Diffuse.r *= 0.6f;7 h4 y$ p1 Y6 v, d
pLight->Diffuse.g *= 0.6f;
4 S5 o8 \5 V5 ], d) d pLight->Diffuse.b *= 0.6f;
2 r; a1 Q/ g# M# [" z5 Y$ J7 w$ ^ pLight->Ambient.r *= 0.7f;
- Y, q2 }$ r8 W/ p3 Q pLight->Ambient.g *= 0.7f;8 i$ K4 |4 j9 `5 m: N
pLight->Ambient.b *= 0.7f;9 L, c. B1 u8 k8 i8 m. q1 ~
}& I2 f: K' R/ E' P, o8 A: |
+ h# L7 j o: S* d/ H2 k4 l#if __VER >= 15 // __BS_CHANGING_ENVIR3 k4 w/ B; D% _% r" A
if( g_pPlayer ) Q4 t5 \9 }% \$ @" {& T7 {$ f
HookUpdateLight( pLight );
8 B8 s3 n. S( d+ r; K#endif
: w, k, ]/ z+ U2 U' p( X2 L memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );8 x3 N; l& h* p- Q+ u! \5 d
; I& k+ o1 i! `4 b- H) Z2 g8 i7 a#ifdef __YENV
6 g y% S- ]# k1 B pLight->Diffuse.r *= 1.1f;3 F: ]2 m8 R& f7 S
pLight->Diffuse.g *= 1.1f;0 G9 C- c: F5 T+ v
pLight->Diffuse.b *= 1.1f;
) G) a: R7 _6 `) M( Q // oˉè* ??à?
! w& K8 p. y' C& I# M pLight->Specular.r = 2.0f;
8 h' o" ^- P/ m pLight->Specular.g = 2.0f;# `3 o+ j! K) q5 J( E B; Q1 J' H
pLight->Specular.b = 2.0f;# i7 I9 Z3 ?2 s" N0 ?: M$ m, V
// á?oˉ
C+ [8 ? G$ M6 C) Q) Z9 |( B pLight->Ambient.r *= 1.0f;
2 O$ O) Y6 ]. J( L+ p' @ pLight->Ambient.g *= 1.0f;
) R" b2 M) V4 t: E+ O. A pLight->Ambient.b *= 1.0f;
1 h7 S c8 R! Q ^* j#else //__YENV9 ~1 M4 \. v' T7 O
pLight->Diffuse.r *= 1.1f;
# |4 D7 J9 c2 u pLight->Diffuse.g *= 1.1f;6 M+ a% t Q! r0 f Z4 M* ]5 J6 f1 w
pLight->Diffuse.b *= 1.1f;
$ Y2 k6 ?2 c7 T( i. m // oˉè* ??à?
9 G$ b: v1 {, d# g/ }9 H# U7 L pLight->Specular.r = 2.0f;
, J( s* A8 `+ @7 y pLight->Specular.g = 2.0f;
- F* {$ v v: T2 D! q' e6 s0 z pLight->Specular.b = 2.0f;) s+ F7 n; `* `
// á?oˉ 8 _' E* h1 q5 o# m
pLight->Ambient.r *= 0.9f;
& b4 F& w5 d; ^) l/ l pLight->Ambient.g *= 0.9f;5 u/ }- g6 H9 ]) U; h& a+ q
pLight->Ambient.b *= 0.9f;. _8 L; V9 p4 c" S: P
#endif //__YENV
6 _5 d! b% X9 a" C
- q+ G1 i d* w1 L6 R: q( ?3 S memcpy( &m_light, pLight, sizeof( m_light ) );0 z# f! w0 x1 D4 K- c) e& Q, y
, y: T! ^+ }6 |; k! P' J
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
- |' d$ i( }& a3 S, t: X D3DXMATRIX matTemp;
3 T% A" c+ L1 m5 h+ F ? static const float CONS_VAL = 3.1415926f / 180.f;
% {8 R6 u# ?, E$ x+ |6 q' K
+ r7 ? Y4 x- O) v$ t D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);1 N" u! ]3 r0 J' Y3 ?, v, q/ P
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);3 K/ ?; @$ Q! V( L2 [0 s
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
0 p; M |- h. o8 J; ^" g pLight->Appear( m_pd3dDevice, TRUE );: N! V/ ]$ H y: |# v# G
) n7 b3 W/ T o) b" V: f // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- [- H. A/ j% i$ U4 Z: H1 V( }
// D3DXVec3Normalize(&(vecSun),&(vecSun));3 A( b4 D) p+ J! @2 S, T! O
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 0 O9 `6 I( B5 {1 ~5 C2 Q* u
% d4 V" ^6 Q# [
DWORD dwR, dwG, dwB;9 z- c8 i9 e0 p6 ^/ p9 T
dwR = (DWORD)( pLight->Ambient.r * 255 );$ a" K s" S% X
dwG = (DWORD)( pLight->Ambient.g * 255 );
1 x: i' s( c: U dwB = (DWORD)( pLight->Ambient.b * 255 );+ \3 K4 [/ [& ]- U- D, Q* E
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- p. x$ ?) G3 } }
' [7 E1 M* ]7 A. X }
- y6 J7 s! ?6 i4 ]. |7 S9 ?7 |, y V& J8 S' ^3 u, z* T( ]
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
& k0 z+ j7 n; B! 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) );8 Q2 G1 b1 u! Y
::SetLight( bLight );
5 b0 `$ X7 M# D
- G9 j& L- b$ c+ [) [9 T0 g# C // ±ao? ?D?í???ó á¤à?
- L7 H& {7 [. ^2 u! | m_pd3dDevice->SetMaterial( &m_baseMaterial );5 f) |/ I" y( m0 I
- L9 t+ l6 {6 ^( n#endif // not WORLDSERVER
" o6 F4 s) e2 B2 N}
3 t+ Y# }, |2 L! N+ A7 d2 d并更换3 M0 E% R" l& V0 J* S' A
Code:
2 }9 s7 Z, o# M: x+ ?__FLYFF_INITPAGE_EXT' }; }+ i: p9 ~( D4 Q
定义
4 l4 l" n! c+ K' c: R( `5 Y T& U6 m# j, {
8 x G+ j2 u( A i& c) g. g
6 l% r. \+ ^7 I; n& M- B4 ]
# a2 u, b; J! J) X2 v现在终于删除我的狗屁加速...$ I; H( E( b6 Q! J: Y
# O' |% ~% o& |. a% Y2 A5 A
) q$ @' t" ]6 K: a0 M' R: D( m
$ p: L7 O6 t! I1 t1 w% H( z( M6 ] |
|