|
|
食品车:
, J' X9 c! |7 Y; ~- _& J% N1 y; ~尾翼:
/ E* ?, t4 e. j6 p" e# L
$ e' z5 w/ _7 b: m代码:( j: y3 g( N. d) \# X
CWndAutoFood::CWndAutoFood()
7 x$ a4 C" V: n7 B( V* q n3 N{
5 i5 C. T! q" u/ `+ C m_pItemElem = NULL;
+ G4 M q+ k0 S# ~: q) u( P2 [7 K m_pTexture = NULL;' Q' `; l Y9 h
bStart = FALSE;
* K9 I9 z: u. y/ L, Z" X0 @& B}
9 Z% [. W- z( o! _
% J5 ?% k( \( P5 b2 B- FCWndAutoFood::~CWndAutoFood()4 C7 E2 t9 c1 ]1 {
{
- h W" d- y/ Y; J6 e7 y AfxMessageBox( "AutoFood ist gestorben " );
; b3 h$ ~! P2 w$ R}
$ J2 w3 F7 ~3 g- ?1 k8 fBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
- G& b! v6 C- M: x. w9 V1 h{
& k L: F* R4 ^ return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
# ], @! Z0 f6 W; V$ s3 V) E}$ L2 D+ x4 ~" S& o
\* l C" {) Q: J" a+ \BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )( `' ^; M; L* [! s/ l) r+ n
{5 F, n- o, ?# f- W
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
2 F( b- _% F7 p+ M9 K- z CRect rect = pWndCtrl->rect;( @! F# _+ D. X
if( rect && rect.PtInRect( point ) )
6 e. J4 ]+ J) n% |- b7 q( ~% A" O. { {
8 d- e& E' y. S1 U CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );, j' s8 H; _" W# n. H7 t/ |: H
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
' ~8 x( }* ~- m( P, g! k& b3 O7 n {& i$ a S* Q: s; G+ y1 w$ N/ P* D
if( m_pItemElem )
. e2 Z+ f3 P/ e: M {% ]* r) @8 |* z" ~0 D
m_pItemElem = NULL;
8 R% @1 E$ d9 x7 C# C/ h- L }
1 U$ y w6 P" ] l9 j- J/ ~ m_pItemElem = pItemElem; \+ P( |0 {- M3 A
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );, j% i& p1 H& C, t) d1 Q; o8 y
}else{& _5 K, h7 a' x J# r8 f
SetForbid( TRUE );4 B: ]9 t* e: W O8 ]9 Z
}
- S7 J2 v, O, o: }+ D" p' K3 X. ~ }else{
& D. f0 m5 k2 R- O0 U8 v SetForbid( TRUE );
2 @& \5 [/ W8 y0 ^ }2 T5 M* R$ N9 U. w9 c, p
return TRUE;
u: s9 ]( B( \* `, {6 Q}# S1 d' d& Z3 n$ x
9 f; Z& w8 e8 ~BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )$ J6 E& i/ N* [7 A
{* U, p4 |. W1 ?) K
switch( nID )2 b1 G( z4 W, g$ E0 u3 B! l
{
_- X t8 s# ]4 R5 \3 W case WIDC_BUTTON3:
* e; g* m/ x i5 P { k2 z; s3 d: f/ n6 W! o- t
bStart = TRUE;' v2 ?- S3 O- K3 C$ r6 @
break;' A0 v" x5 ? ]7 O
}! p8 ?9 Q6 _; X e, P! P& E. U$ ~6 q
case WIDC_BUTTON4:
7 B( W4 m1 X- p( [9 x) h) f" H {
4 A4 F! o! H$ H3 } |% ?8 A bStart = FALSE;3 \7 Z2 o1 B8 o& p
break;! O+ k4 {; U- n% _5 j# U3 C
}
- i$ d' b: o5 _' h }
9 x2 K. T" S$ ]. H* p# U return CWndNeuz::OnChildNotify( message, nID, pLResult );
& `* ]: d1 f! c) w$ _0 n) y* @! V}
8 k1 d/ Q* O5 \# p3 Wvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
" c3 p1 A P) H! b- C8 y/ b( J1 @) c l{! N0 p1 z+ ^& m5 c) q6 g( S6 ]# O& {
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );. p& b5 r! R8 _5 u) |: ]
if( bStart || !m_pItemElem )
/ c' H9 _! J& t' E. s6 u( ] {! h$ |' Q$ |! |9 H& b* B! b0 n
pBtn->EnableWindow( FALSE );% L) S7 G3 s' o, Z
}else
% w2 x% J- i# d3 ^8 w2 I$ z1 X% p pBtn->EnableWindow( TRUE );" g9 X0 d0 `. }- ^+ {
if( m_pTexture )
0 Q9 M7 V U3 n. G% d9 u U {
( v) `. s% o; g2 r0 D" l% x LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );) |% z7 U7 W+ S- y" i: t* G- p! W
if( wndCtrl && wndCtrl->rect )
! D. j/ x: I( l2 A {
1 u: U4 w( U1 l) c m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );7 R6 a( |) B+ L! M' G
}# D( v; P" K( s6 r
}
# T# G# o7 ? X$ J}
: G3 p8 G C6 P; I, i& N
1 ?' A; L1 A; O/ k$ d0 s2 CBOOL CWndAutoFood: rocess()
5 M' V1 D6 F* A, d8 W. x{: A% ^ @6 i' [; }/ e( S
if( bStart )
$ {: a7 _" t- v {
3 \- C- Q7 T v$ g/ {6 Z% c1 M/ Z if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ) w: q: x6 N$ }2 C( t6 @- P, j
{- u6 H( | ~: C; t$ y
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )9 H f" |* ]; u
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );) z3 ^& C0 L. l$ \4 G: A
}else{; f" z7 }' Y: R' w4 j# W
bStart = FALSE;$ \5 F1 \6 [3 | g* d. _
m_pItemElem = NULL;* {' D2 o4 Q& ~9 Y. D/ F3 p( @
}
" i- `9 _# u) y! O* G1 k( \5 B3 J, ?9 C }
s! m9 y! Q9 F$ P5 _! p7 M return TRUE;; L" i: _+ e9 i/ V% Y
}
Z" E$ j. ]; m. G- q8 X2 N, ?& `4 f) O4 Q0 m. [% ]
登录视频废话:9 q2 R# Z* w$ X- l& ?/ i
尾翼:
2 {- C+ b! `/ ?7 N4 P- Y
# o9 G* k, z4 F0 @3 j3 g0 D代码:# B7 B$ k. R/ e$ @2 J
- R: s% Z% u; B% C8 t& Ovoid CWorld::SetLight( BOOL bLight )7 b$ Q+ t8 L( M# [
durch
/ d6 n8 I& B- @3 J* h8 ]Code:
. M ]4 f0 {; t! b- v5 z+ R4 X2 ]void CWorld::SetLight( BOOL bLight )1 s. b# i i# Q; W7 ?) k0 z
{
7 F2 ]+ k& h3 d/ e8 t //ACE("SetLight %d \n", bLight);
% b p) T' H- N7 P1 u0 A: s/ ? 2 `8 | R3 ]- N
#ifndef __WORLDSERVER 2 `. Z' T* C. j0 D% S
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
& b5 H! V# x3 H1 E. D CLight* pLight = NULL;
- T0 s; i8 ^( ^+ X+ O3 R Y3 y
7 d5 N- X% c, _ D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
( X# L0 U" a7 w/ R" d" O' B' k: K1 z7 g
pLight = GetLight( "direction" );
( u# r; M* |" E/ z/ U8 F7 N) {% O% A/ C8 c
#if __VER >= 15 // __BS_CHANGING_ENVIR
$ J- @+ u/ c5 W5 R' f, C- x if( g_pPlayer ){
8 ?# A1 P6 X, z ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
" e& x8 z) J$ j+ Y6 y if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
4 x& s9 M/ \9 [ {7 s" [6 F! t: {* e) B
if( pLight )
o& G2 m( J8 |1 o5 h) ?8 Y {1 i! ?* A* E0 Z6 \7 @1 K$ w
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];: ~& j5 Z; k- W6 w. o
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
" D8 d9 `9 ?6 O0 R3 e, { pLight->Ambient.b = pInfo->_fAmbient[ 2 ];1 @% }3 i2 ~+ B% y$ t/ h/ O% W6 J; N
f9 k! h5 S% g! Y; f7 D8 d( I pLight->Specular.r = 2.0f;$ L3 w1 N5 L6 w+ X: @
pLight->Specular.g = 2.0f;
6 ~% z6 ]' t# E0 i+ i7 z2 F pLight->Specular.b = 2.0f;' F0 k1 n% u/ |9 R. T
3 D+ b0 W/ h0 a" z( R8 f
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];# L( _! S, Z$ {* M" v
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];/ D; u8 X, Q1 G1 c9 k4 K
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
; T- }; P4 Y8 B% Y7 v$ h& W$ n8 e6 ^ 1 F1 ? D: l+ \
HookUpdateLight( pLight );
3 X" u( ?6 {/ Z5 i1 ^% _: P$ ?% v; k$ f$ E5 c
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );- p! r* D( ]8 F' k( P
7 G2 O. r+ O5 ~8 E
pLight->Diffuse.r *= 1.2f;
$ [8 q* S2 u4 o$ G pLight->Diffuse.g *= 1.2f;( P& h- l/ l9 I$ G* r
pLight->Diffuse.b *= 1.2f;
; V5 C. J% s" \) W B) o* B: L, }: a& r( a. ]9 u. s7 E
pLight->Ambient.r *= 0.8f;
. A* ?/ ^0 Z0 B4 D pLight->Ambient.g *= 0.8f;! C6 [* S, ?! k8 V
pLight->Ambient.b *= 0.8f;
+ k- q% Y: B# y0 v5 g
" t6 g* _, X9 ^. f: t3 c memcpy( &m_light, pLight, sizeof( m_light ) );
! E' U0 T0 O! k7 N8 u3 B6 K: V
5 ] ^: n) O' g; z5 [ p, \7 x7 G! V, l D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);1 u" m/ _- @7 m+ J4 T* f
D3DXVec3Normalize(&(vecSun),&(vecSun));
0 H, k L' a8 b6 R5 j1 i4 r0 m0 f pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 3 s6 d+ x. X6 K2 R3 P
pLight->Appear( m_pd3dDevice, TRUE );
1 k' |6 U' h5 k; l 2 A7 j! J5 T8 Z1 }
DWORD dwR, dwG, dwB;$ x" C, Z; S5 W
dwR = (DWORD)( pLight->Ambient.r * 255 );
/ x- D# K1 ` O' u% { dwG = (DWORD)( pLight->Ambient.g * 255 );) \, G5 {1 A% J1 P
dwB = (DWORD)( pLight->Ambient.b * 255 );4 O B; y) E$ z1 C4 q' @# f |& X! ]: X
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );! p; X1 w0 D. X5 r# m
}
" x _- ]/ N& K7 h/ ^9 R }. p- N4 u4 N# j- K$ H( i/ T w
}/ [) }, g4 F" K" \5 g5 ?. v. z0 a4 P2 G
else
' u, H5 N& F, C& A( U4 }+ X- g/ |#endif
8 F9 H1 i J' A1 ~: L5 G; e0 J1 J* _( ]
if( m_bIsIndoor )% B' L# g0 w0 Q" G' Q
{$ p9 x* z7 F! t' g" V
if( pLight )
) i5 j8 N+ c+ k, F { 5 \. D! G% R" N& l. z
// à??μ oˉè* * G& s$ z8 l; k! E. X, F7 [
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;: W# `( D) f! q4 h( p8 G Z
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
}! r X3 {4 h W4 e+ C5 c' w _ pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
8 c+ P2 X5 v# v$ P% b& X
- o7 L& F* D- ?( c, i // oˉè* ??à? ; ?3 I; n+ u" j. ^1 }: c
pLight->Specular.r = 1.0f;
; P7 O7 @1 ~0 \+ O+ [- J pLight->Specular.g = 1.0f;
5 m+ _2 F$ @; d5 ? D4 u pLight->Specular.b = 1.0f;
2 L5 v" A' y7 {; x: m // àü?? oˉè*
1 J$ \! I2 b% c$ `* D- L5 Q- i! P; b1 K% n pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;0 ~( a. v9 g3 n$ T9 y8 q z
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;( e9 x7 y6 q* ^& n
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
/ ?7 [2 L8 n; N% `8 }/ G8 Q2 z$ Q6 _+ j0 E* n
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
: G# B. Q) s G I3 G* K {
( L. t9 E# j9 o, }& U- u pLight->Diffuse.r *= 0.6f;
4 j/ B) l, y1 N" U& Z6 D2 T pLight->Diffuse.g *= 0.6f; v) ^( Y1 K& o) C# W7 Z
pLight->Diffuse.b *= 0.6f;
* }% r# C, |0 f o6 ~* @ pLight->Ambient.r *= 0.7f;) F0 i' J5 H7 E6 T7 x+ ~
pLight->Ambient.g *= 0.7f;& {3 X, f/ w* y: n: A( A
pLight->Ambient.b *= 0.7f;8 f8 q, `1 p& _' i4 |
}, M% `4 ]! p( I# ^8 p# @, _: o6 u
+ c! ^4 K- t3 Y: |. C
#if __VER >= 15 // __BS_CHANGING_ENVIR; n: ^' q+ @- m4 i; K
if( g_pPlayer )
3 C9 d# S7 ^' G2 q( _8 _1 u3 k HookUpdateLight( pLight );
, L8 X+ j9 W5 Q8 m1 c#endif2 y% f' S# Q, @7 Q' [0 Q5 A% F
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
: t, ?* t7 J: a* c- S' T& S! T" H, l( ~! z1 b3 K3 T
pLight->Diffuse.r += 0.1f;: u2 |! r$ b8 P5 ]
pLight->Diffuse.g += 0.1f;
7 z* I0 R+ `+ u/ Q5 q pLight->Diffuse.b += 0.1f;
4 m! m' a8 q4 ?( n, d3 c // oˉè* ??à?
; o" D+ r' c! H pLight->Specular.r = 2.0f;
1 s/ P% k! R5 D6 B( Z pLight->Specular.g = 2.0f;* i" Y) v2 r3 |
pLight->Specular.b = 2.0f;
& D: j R1 D& Y7 h // á?oˉ ( L; D2 ~6 @/ O( x, T+ E
pLight->Ambient.r *= 0.9f;
, O6 W7 X9 m. {9 m pLight->Ambient.g *= 0.9f;
1 |2 c, D _8 `! T1 f! v$ y7 O pLight->Ambient.b *= 0.9f;
- O0 C2 m3 k3 G5 c: ^ j( ^( x/ }0 v- n) O3 I
memcpy( &m_light, pLight, sizeof( m_light ) );
% Z" N% w/ Z9 M+ K8 N* v
6 A9 u2 {% C- _0 @- G+ z pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
1 Q0 K# Q9 H& z pLight->Appear( m_pd3dDevice, TRUE );
% I U$ D* W' b0 ?1 M3 X9 N
' T: u& D. ]+ z( E9 A4 } DWORD dwR, dwG, dwB;
^! ]- V9 }3 u b( s0 |) P dwR = (DWORD)( pLight->Ambient.r * 255 );' R1 o. ~7 Q) }
dwG = (DWORD)( pLight->Ambient.g * 255 ); c) ?" p% U, x6 g# c
dwB = (DWORD)( pLight->Ambient.b * 255 );
$ M2 E9 B1 Y. f: h" \7 ? dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );: ]7 c% ]2 P7 V7 j
}
@: t% J+ y% W- f }5 @+ T& `" c3 x; T/ b3 u9 G
else
) L r) n5 B/ `0 Q- t* W7 E% h {0 I9 s. }) e1 f# v' ?$ r" g
if( pLight )
5 O) j* X4 R3 P; }, n5 d {
. A1 `( c' W8 |" `- y' I6 `' u 0 r! V# D& ]8 t
int nHour = 8, nMin = 0;
) r( y: _# l" x, E* k #ifdef __CLIENT3 V7 L" T9 {# a- b( y
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 7 x6 l9 v; i! E7 g6 o
nHour = g_GameTimer.m_nHour;3 D1 l# U' V0 j& e, g( G* `
nMin = g_GameTimer.m_nMin ;8 ?7 E) y) {) l- {' l
#else
; n" L& Y6 i6 v. N! u$ n // o??o??′? ??°£à? m_nLightHour???* °?á???′ù./ y5 C; S4 J$ v# x4 w
if( m_nLightType == 1 )
- ~4 f: k" Z* N6 N9 K5 ~8 ] nHour = m_nLightHour;
& a+ o. h; e& ^2 q #endif0 a; K, m" S+ u9 ~/ Q
nHour--;
4 T8 }; |0 I0 v. p, l if( nHour < 0 ) nHour = 0;. z1 u0 B6 R0 X# X# C
if( nHour > 23 ) nHour = 23;
- W: a. U. r' | e' B; P+ ]! H/ L' T9 C) q! k n
//if( m_bFixedHour ): X4 g/ C6 ~$ G2 t) a6 G4 i
// nHour = m_nFixedHour, nMin = 0;. ~" e! J9 U1 V' o1 r
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ]; M9 n* D( t N) m/ ~
LIGHTCOLOR lightColor = m_k24Light[ nHour ];8 r. l/ D, T3 A- q% F
) ]2 I# a" m3 e1 j& @8 u) U8 i. Y' N
//m_lightColor = lightColorPrv;4 B, ^% K( P. G! o
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
; X: M0 a" J. _; V5 Q lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
* S& h% y, Y, c$ O2 Z lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;; i( e7 K. B# t. B U: o- J2 E
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
' n. E1 @& ?( H& q7 w$ x lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
: J1 y3 Z$ l& }2 b lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
) p9 }1 b, M8 q+ D6 Z6 K% `* ~) \, h // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)( z" p b2 E) m' ]
. g/ m& f& z G8 o, X& [* p) S // à??μ oˉè*
* H0 `" l' i8 I. t9 c5 h pLight->Diffuse.r = lightColorPrv.r1;" T- ]- Q% n& Q
pLight->Diffuse.g = lightColorPrv.g1;
: [& j1 B- S; Y- p1 T! l; `- d pLight->Diffuse.b = lightColorPrv.b1;# R3 F/ s7 U/ l8 T, m; J+ j& h
// oˉè* ??à?
; n! \: [6 K& y3 j8 R pLight->Specular.r = 1.0f;( H( \" v8 S% k y6 y
pLight->Specular.g = 1.0f;* q) H' G' A3 ?; E% f4 X/ J! U' N, e8 u
pLight->Specular.b = 1.0f;
0 J |) E8 }8 r // àü?? oˉè*
: Q5 @) c& Y* k" z pLight->Ambient.r = lightColorPrv.r2;
( u% S- y# B$ s: J pLight->Ambient.g = lightColorPrv.g2;% i- X1 l3 i% V5 N
pLight->Ambient.b = lightColorPrv.b2;
' Z. r% J# b4 T( c
" S) R& o+ F4 ?. N if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
4 G" ^" {; F0 {, n- c5 ] {
" G" h M) ^5 L2 W4 s. I+ k pLight->Diffuse.r *= 0.6f;0 J5 D2 O5 S. D: D6 N
pLight->Diffuse.g *= 0.6f;# b; \& V! R; J
pLight->Diffuse.b *= 0.6f; S# ]. N1 ^0 i1 L- V9 p: y0 G! ~
pLight->Ambient.r *= 0.7f;2 }# M$ Q9 p0 N$ f. O" k# F
pLight->Ambient.g *= 0.7f;
/ r) [! P7 _4 x9 C$ K4 n$ x pLight->Ambient.b *= 0.7f;3 O7 h9 K+ V1 d' V* ~. y
}
& M6 t/ F- {$ P" m& a+ B
, x- M: e3 Y! E8 `' [% W- Q#if __VER >= 15 // __BS_CHANGING_ENVIR
# I* T7 U# i2 V9 V9 X1 d if( g_pPlayer )7 B* @% k5 \& j8 w" R% W8 o0 `
HookUpdateLight( pLight ); W7 U E* d' Q
#endif
+ J, p! h& G+ ^ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( W( L# b$ q v) Q
% g c) ]2 _/ n4 Q( T#ifdef __YENV2 f1 ~! c8 _1 t0 i( \ l( v/ G
pLight->Diffuse.r *= 1.1f;) b8 R8 `7 R) \- A9 J: c: g
pLight->Diffuse.g *= 1.1f;
( j& e8 R9 C- A pLight->Diffuse.b *= 1.1f;: x# B7 \3 [) c
// oˉè* ??à? , O* [2 b2 F7 T/ j8 c
pLight->Specular.r = 2.0f;0 @) w6 |& u- {/ p
pLight->Specular.g = 2.0f;% O1 B) @+ c# O- V
pLight->Specular.b = 2.0f;/ s0 C& R+ D( d. Q( O8 @8 H3 c
// á?oˉ ( X, X; [3 S0 H
pLight->Ambient.r *= 1.0f;
& A/ J7 r4 e2 Y2 r3 i- ^" A) K pLight->Ambient.g *= 1.0f;1 t7 @- K/ Y8 K+ ] `+ b( @
pLight->Ambient.b *= 1.0f;" C; j/ v, H3 a E' z
#else //__YENV
- Q( y: @/ M% I- d# z0 ] k" u pLight->Diffuse.r *= 1.1f;
3 ^6 a0 y, D; l) M pLight->Diffuse.g *= 1.1f;
w0 `! X# a1 r0 K$ X9 p pLight->Diffuse.b *= 1.1f;; o* `, e0 \% ^9 o* [8 i
// oˉè* ??à?
! l$ S& d0 N/ e, v pLight->Specular.r = 2.0f;
6 m4 a8 U6 c0 W( h& ~$ B! U pLight->Specular.g = 2.0f;; P) A$ U: ?. ?9 O3 y
pLight->Specular.b = 2.0f;: ^! k# W& C0 J; a4 ]) e
// á?oˉ 4 O( I/ k& S& ~& W
pLight->Ambient.r *= 0.9f;
0 m; F2 a! J( H& f) ]* ]. W pLight->Ambient.g *= 0.9f;
1 d; J& K& y) B* d7 D pLight->Ambient.b *= 0.9f;+ Y' o. x3 D9 L9 P' H) O3 t! r
#endif //__YENV
- Y9 j ]* n G7 L$ k: d
( \6 d7 n6 I1 s$ i) X% s5 {) _# m memcpy( &m_light, pLight, sizeof( m_light ) );' n4 i5 Z, a- b6 G$ _
1 f' O& {8 H4 g- R D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
4 S4 N, e9 l. b1 |* } D3DXMATRIX matTemp;2 i4 I6 @" p% l* h# Q# a% ]
static const float CONS_VAL = 3.1415926f / 180.f;2 s$ G* c6 R7 r# w
; g& C7 [7 I: N' k
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);' a' w4 Q8 K0 n1 Q$ l+ O/ Q
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);% \9 ~( o2 j/ k& a6 Q
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 9 e3 a ~& a/ d5 {. c' o
pLight->Appear( m_pd3dDevice, TRUE );
+ r5 K) O# n: G$ V0 V$ F9 A- g/ q( e$ C0 |8 ]$ a7 ?
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- U6 f& s U% j. ]/ l' A# b
// D3DXVec3Normalize(&(vecSun),&(vecSun));
" D0 x9 H& ]& }* _2 | // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
6 s4 @0 ?) Q+ R! Q5 u5 \6 e) _2 t; C# L F. f# b4 x8 o9 Y% X
DWORD dwR, dwG, dwB;- Q# U) k4 I8 h( I8 ^
dwR = (DWORD)( pLight->Ambient.r * 255 );
' i( Q6 `6 n9 X6 C& Z( V+ Z dwG = (DWORD)( pLight->Ambient.g * 255 );' Y% [. E" J, V. w; v) a
dwB = (DWORD)( pLight->Ambient.b * 255 );+ E& a# |, u! P8 b" u
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* c; h t+ i8 x' C E f }3 j" K7 Q: w Z/ Y5 I, i5 A
}" ?" Z' R- X9 Z- ?
G2 W' E# Z5 a7 K ^
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
$ d( b/ l$ p# F& p* Z1 C 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) );5 b8 O1 a6 z! g4 y
::SetLight( bLight );
. m- S/ H+ [1 J% q/ H8 S7 u
0 ^4 X: S0 ^% B+ a3 D // ±ao? ?D?í???ó á¤à?
! m3 }- l, V& u0 n+ q; w c m_pd3dDevice->SetMaterial( &m_baseMaterial );
7 e$ g# J3 I8 ?( |) n
0 z/ {7 S5 g* A0 g#endif // not WORLDSERVER1 K( F' b% {2 P p8 z
}' X {: s0 R, Z! p7 V
并更换
2 ^0 r3 X; J5 H5 u+ J# ICode:
+ y+ x% r! H7 N4 F8 P* {) I__FLYFF_INITPAGE_EXT
( D9 k' E9 z O, e6 U( v定义
: r3 |! T; j6 y! i) h% U( ]% f0 y, m& g Q. |% t
5 G7 h' B9 W) S. d/ h, C# P+ O; J/ H. G
1 \- n5 J% o4 M1 l
现在终于删除我的狗屁加速...
( m A/ @8 C% c. z3 S8 p% U; ], x( p+ G B2 ^. u/ p" e, c
6 N3 q: v. g: x" L; G" H" \
3 i4 w0 W: `8 a: j+ A |
|