|
|
食品车:
& ?9 g5 w4 D6 {尾翼:
- X: u6 {4 K% u2 \1 B0 t
; i1 R- G8 m9 I! {5 D* f代码:% W6 x) H8 E* Q# Y$ {, {! E
CWndAutoFood::CWndAutoFood()
( Y% \/ W# P/ V# V# w- u{2 e$ |# Q1 `) J* P l9 O% O( A1 {
m_pItemElem = NULL;1 v) u; @ `/ w% O7 ?* G' B! y, P
m_pTexture = NULL;
6 {0 p( N) X5 z bStart = FALSE;
. q8 k2 q6 H: l+ }}! \) G0 Y# y5 K8 _, \6 T3 F# l
& x. e2 c @+ Y& K! F+ b! e3 b. ~CWndAutoFood::~CWndAutoFood()
% A1 h" J7 o, z% W4 K{5 X% f3 E; O8 p* M
AfxMessageBox( "AutoFood ist gestorben " );) \% G4 X, {0 q
}
: x6 \' m# X* |) V. @BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )+ y& K- A# e) s2 k2 _8 U$ A {
{7 q( D$ \% c7 b. ~4 e( G2 a
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
! h$ a5 p+ I8 M' A7 Q8 A' J}, K4 |3 L1 P+ z; X6 @8 M+ J5 `1 M
2 X1 l$ g& O8 g- K; Y+ f
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )& f, e; d! o; J2 z z
{& _ B- w& |. i# w
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
4 W& `% D' E- p CRect rect = pWndCtrl->rect;
. |; d( ?. G( O E% M" q; R if( rect && rect.PtInRect( point ) )
. n( R1 ^. f( ? {
) I3 n& k+ S+ A& _; a CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );$ O! R2 v1 i! k c/ ^" q9 }
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )5 T1 J1 |; u% g% v
{/ z6 e) |( J& r# }! M
if( m_pItemElem )2 d$ {- R8 P! M5 u+ ?% ]
{
8 z N8 |/ P+ S, O m_pItemElem = NULL;
6 u9 W. W% W8 d }
" c4 S) ^4 N6 X" Y. i! _ m_pItemElem = pItemElem;
/ _) O* K3 n& d& u3 w% S; T m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
8 r* R, S+ [5 ^9 e+ q& H! c }else{
3 k* t' w+ m+ y, w0 W+ H R8 t SetForbid( TRUE );2 F, k7 g6 _* P7 V
}
, I" s* v: M+ @" w7 B2 x2 n }else{
7 a$ i$ g" Q2 k% S6 r$ O% ?* L SetForbid( TRUE );
2 g' a% B$ k( [+ g" ^, J }& S! Y9 `) J: p
return TRUE;6 p9 N5 E+ y$ Y( g% m+ f* S
}: V% e6 Z- t! O8 j1 j6 [ k" m
/ T. p, H7 \: y( ?0 R- gBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
* a. B/ N+ x/ g j- V{
$ @! v8 `* d/ {3 ^) O, \& D switch( nID )* D7 v/ J% v9 V6 m+ W; c
{
% z) R2 f# p \ case WIDC_BUTTON3:. C, [0 l7 p. I( t4 h
{
7 C# H B* g. ?! \ bStart = TRUE;
+ I1 k. [7 `! R- ~. Q3 e break;
7 e1 \" _6 G5 y }
) `- w5 Q- i$ }* v* M case WIDC_BUTTON4:: P/ I* H! y' H. `9 b! d. A6 ]* g# {
{
( F8 o, i' v( E, M& z+ K bStart = FALSE;5 B4 R1 ]' o1 I8 u+ M) l0 N/ M
break;. H5 Q: X7 q N
}
$ k: g8 r( V5 z5 u) h; Z }% Z' O7 a, F; k! n: ]9 d9 `
return CWndNeuz::OnChildNotify( message, nID, pLResult );
7 a! g% }2 r2 L3 }& N} 3 o6 S$ t4 h4 [7 H- x* `
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
& U. P; E+ ]! |. O$ l{
5 \& s5 e: x4 K& f6 W. J CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );# l) s4 |) u" u" c( W T; I
if( bStart || !m_pItemElem )
7 \& O1 F2 b) U' X# }. y8 U {% T3 y: Z5 Z2 E2 e$ ~1 G/ P- Z0 n
pBtn->EnableWindow( FALSE );& N# A, I6 g M# w
}else- D1 V7 O1 I( f" G! a9 W
pBtn->EnableWindow( TRUE );$ n/ B' \' }2 v+ f
if( m_pTexture )6 s$ d! U, [ ?
{, {8 g+ b2 T$ P1 |0 D$ \/ X3 U# i
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );- ^7 T2 O% [ F, v8 B, v; C, V: @0 W" I
if( wndCtrl && wndCtrl->rect )
8 ]7 Y: l8 \0 B0 ` {# } b( f6 W5 Q6 ~: U
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );+ o) g1 p2 r, K+ `+ M- C
}- c# t3 J2 {! K& X! h! M
}
8 B# S+ B2 r$ Q7 T- L}
: }' f% @4 g- n3 B6 s! H1 L- ?2 K: @
BOOL CWndAutoFood: rocess()5 ?8 O0 d6 V- B: f
{
) j" a* l1 T H. [5 U3 B" c if( bStart )3 {) v/ X/ P! g
{
7 F. h0 \! V$ o1 E4 X if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )) G# K2 ^( V. F* `: z" w5 x, J
{+ r9 p+ Q" F# h: S v' H
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
0 h5 v; Z9 Q! j# h7 Z" s' g4 p' H g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );4 R" Z5 j" o" u" Q4 M3 P# W
}else{. _1 R3 L! a7 T/ `! Q
bStart = FALSE;
8 [1 g( k3 Q$ @ m_pItemElem = NULL;% r2 w2 Z$ D9 J3 s
}0 L* ^+ C& r! U8 v: C0 g+ N
}
+ e4 A( ], A) e2 V3 X" B, Q+ R return TRUE;
/ ?- h; s4 L3 D}
6 m. Q6 j8 L0 T: |8 m5 l7 e
a3 M+ Q; C# t9 y( g& J' x登录视频废话:: K7 s( i6 e/ C& f+ B' j
尾翼: z5 X$ [$ H% P7 J* X. Y+ k5 a) t
% \, b) d3 U9 |; ^) R/ Y( L/ w代码:
4 m6 Z5 X8 ~! D2 e2 w V
# ?& C o2 B7 `$ qvoid CWorld::SetLight( BOOL bLight )6 n1 K: Q$ Z+ i3 f
durch9 }% j, e7 g, e6 L" w
Code:
/ @5 ?$ B) O h0 t# C. t+ Svoid CWorld::SetLight( BOOL bLight )
1 |; ~ K6 a) ?5 b4 z{
+ N, {$ I% I3 R8 P- f5 B! ?( g //ACE("SetLight %d \n", bLight);
- O: A/ a+ ?9 `9 i1 |" g6 y. v5 | 4 B) _! T6 o3 W. I2 A
#ifndef __WORLDSERVER
6 t9 p2 {# B9 r. G DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
* B! }, r) v4 R5 D/ x- A2 | CLight* pLight = NULL;
" q$ x' r, w$ s, m8 m( T3 L B
3 U) B; y4 I8 T' ?* L6 E" i0 N D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
0 ^! b x3 L! C6 C H9 C* t: u _+ E ]& T* k0 @% U8 t, s
pLight = GetLight( "direction" );/ ]+ I0 j, \7 U7 }7 X V
+ i! A9 g6 k' k#if __VER >= 15 // __BS_CHANGING_ENVIR
# _0 {& |0 B( f% | if( g_pPlayer ){$ `8 d7 N" }: u, _8 M
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );1 A9 j( T; I5 X5 P
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!6 ^2 C, F/ \2 P( F! l
{
]. D- [! M# R r if( pLight )
+ D# b& X( Q6 T6 q$ } {
9 b2 \* \& ]- v7 | pLight->Ambient.r = pInfo->_fAmbient[ 0 ];& U; s+ \+ x0 T) L5 S
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
9 _) D' m0 ]# e, T) h" U pLight->Ambient.b = pInfo->_fAmbient[ 2 ];, ?1 z5 o; o) A( {
6 M- L, w5 [: o; u! e
pLight->Specular.r = 2.0f;
6 n) C. n. _; p pLight->Specular.g = 2.0f;
8 _4 x }" N; L s0 s" j pLight->Specular.b = 2.0f;7 X" d$ w- w3 J) m) t
3 Y# A+ O0 _ R& F7 v' n pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
) B$ m0 h, F3 D( j pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];- J* }2 ^ K, p9 t- l- G# l& D( M
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
2 _, O/ H$ M8 D - ~+ F* J3 m. |0 p* _8 D. h* S
HookUpdateLight( pLight );
! Q+ ]' d: Y( Z, |/ D7 P& w5 i. R, `' @4 ~( q+ ~) z) k
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
* E* @+ K% [6 K# ?! l ) x+ K% G7 f2 s* K
pLight->Diffuse.r *= 1.2f;: r5 h) L5 j; E( S) u4 F9 Z9 X* J
pLight->Diffuse.g *= 1.2f;. ]" Y' d, q; \
pLight->Diffuse.b *= 1.2f;
F5 S: J V# {2 _1 k9 }" z% @2 q# K
pLight->Ambient.r *= 0.8f;$ m- B3 X4 \( W3 B) n7 [4 }
pLight->Ambient.g *= 0.8f;
3 T' ~5 a8 `' \( b) U( u) L/ I pLight->Ambient.b *= 0.8f;
% p5 N3 E* G: I
/ n5 b# P; g6 ^5 q3 S0 W: w$ d memcpy( &m_light, pLight, sizeof( m_light ) );
$ t' s* I. ~& d3 s( k& w/ i" b
1 H2 t: l; Y; G. V D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);# D0 A& i2 l1 i
D3DXVec3Normalize(&(vecSun),&(vecSun));( t: g$ G# j3 N6 D- c2 i
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); , x9 e! b# s3 i( b9 a
pLight->Appear( m_pd3dDevice, TRUE );
7 H* r, s: i8 ]7 F1 @" `6 K ) J" v* l, D" P2 H! v
DWORD dwR, dwG, dwB;8 {. B: X' `: D' S5 T/ g" I
dwR = (DWORD)( pLight->Ambient.r * 255 );. }, Y2 L3 S9 u+ t( v
dwG = (DWORD)( pLight->Ambient.g * 255 );: v- I. f) ^1 G2 Y+ k/ `7 ~0 e
dwB = (DWORD)( pLight->Ambient.b * 255 );, C9 j5 c4 t) [ c" B, U, N0 k1 ^
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& _" G/ t' K1 g& h) ] }
. O3 g$ M9 D! \7 A3 t }
+ E' y. Y, y2 U }
% ^3 ^0 a7 v- p. X2 z- R else
2 X& l2 q* W0 p. i#endif ( U0 ~4 }% X9 v' N. Y/ d
$ |5 z( Z0 ?) [
if( m_bIsIndoor )
& r$ F2 `" g$ m' ^' T1 k {1 E" e0 U1 V, a4 |1 F# X/ H
if( pLight ): U) @4 H0 I: F! a7 \
{ J: i3 g; z# n" Z" k& L+ `! d a
// à??μ oˉè*
( M' M/ B: P6 Y6 m. U pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;" W" F+ J$ z# w1 J* K% ?% d
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
( o6 u& B" N. O' a1 F, A pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;9 d+ i4 H" m' U: p( ^' H
% ]- H& Z, R4 {0 ~% t3 c$ _- Z3 b2 h // oˉè* ??à? & O0 ?. q* ?1 n
pLight->Specular.r = 1.0f;* C- q& E7 ?7 R2 R$ R8 e) o3 ]
pLight->Specular.g = 1.0f;- u6 C$ b5 C r7 y2 y
pLight->Specular.b = 1.0f;
; Y- C7 g. u- Q2 h1 [% t: y" D L // àü?? oˉè*
7 ?- z5 { Y* H+ Q! ~ pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;/ o1 S( X- L1 c9 p# x6 J, x+ |
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;8 G. g# b, p/ m
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;; e, T+ h1 q" e+ ?* E, @3 P( z. z
8 G3 q8 [$ L3 {8 Q+ Y7 T, X
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
7 @8 X" i7 A' D+ i+ b {7 Z$ l3 @* f6 |* f+ b4 K
pLight->Diffuse.r *= 0.6f;& |' \7 Z6 ~. Z
pLight->Diffuse.g *= 0.6f;) w/ Q) \9 X+ j. t& u5 U
pLight->Diffuse.b *= 0.6f;1 v4 m n2 ]) ]' c
pLight->Ambient.r *= 0.7f;
: e$ W0 r" Z: @. e# p. E( x, b pLight->Ambient.g *= 0.7f;" @1 X+ s0 W, t* s6 F4 v
pLight->Ambient.b *= 0.7f;2 U+ ^! E, b- w$ j9 t. h
}# f9 h" @; T2 i* ?: Y, s
- {8 O/ q1 w2 u. K6 |7 X#if __VER >= 15 // __BS_CHANGING_ENVIR" e7 [5 u! t0 s$ }+ r. d3 i
if( g_pPlayer )8 F3 _- K/ |" J3 q
HookUpdateLight( pLight );
k" f4 S5 |" N8 O8 C8 U#endif$ w( R. @: P1 `: J' W& R& k* F
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( @+ A" }/ A) E# J! V4 A; |. ~) U |4 L3 B1 ^" d
pLight->Diffuse.r += 0.1f;
$ @$ t6 K3 M8 i9 s* J pLight->Diffuse.g += 0.1f;7 @, w5 u4 N2 B% G' F
pLight->Diffuse.b += 0.1f;
' K, C/ w" {# l8 e$ z- @ // oˉè* ??à?
3 ?) R1 t1 K1 ]5 z4 D4 v6 Q9 c pLight->Specular.r = 2.0f;
7 \0 }( o$ ~! Y& L pLight->Specular.g = 2.0f;( H, `6 W2 H: \9 ]+ g' M# O: A% T
pLight->Specular.b = 2.0f;
8 x5 |: Y7 @3 R& \/ W+ s // á?oˉ
% x) n5 N. r6 h( |& G7 l pLight->Ambient.r *= 0.9f; t1 x1 h" ?: E) O; J7 z
pLight->Ambient.g *= 0.9f;9 Z( h; ]0 _1 S0 u1 ^( x* j6 \
pLight->Ambient.b *= 0.9f;. w+ d" w, r6 V* d# O
' B( e8 X& V# X. H
memcpy( &m_light, pLight, sizeof( m_light ) );
8 U0 [+ x }* y8 T* x ' h, ~, [! {5 G( ~8 T* P. o
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );! y( M& M+ X0 D# C. R( m
pLight->Appear( m_pd3dDevice, TRUE );, V' _$ g0 \% t! N' `: i9 A* k+ |
4 h3 p9 K/ ^+ Y n( W
DWORD dwR, dwG, dwB;* G( r2 {- q m! L
dwR = (DWORD)( pLight->Ambient.r * 255 );$ _! r1 ~' ?* F
dwG = (DWORD)( pLight->Ambient.g * 255 );
0 s+ a4 _5 b/ ~- } dwB = (DWORD)( pLight->Ambient.b * 255 );/ s5 I: z$ N* t6 B& N, W
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );1 X' }$ E" o, z* o( W/ u) Q
}
5 M# u( z2 w1 @9 L }
$ \9 M, m/ r [. {9 c; _! }. Z S else, ^9 i. j { y
{
) y- \" F9 Y; q" h/ x0 S3 N, v if( pLight )
( `# n. e! F. h5 y { A$ p) Y4 ^/ X
' d8 u% _3 Y8 W4 p$ L% _3 z- S' {7 B
int nHour = 8, nMin = 0;
& O9 [& M! z7 G$ E ?5 n #ifdef __CLIENT* D, }: q, l/ K4 C# d
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
; `2 u9 R* Y. F/ V; I1 p. C, p nHour = g_GameTimer.m_nHour;$ v7 P2 A$ W$ k9 b/ T( s. ]/ P
nMin = g_GameTimer.m_nMin ;. i1 f# X4 q4 h0 l$ B7 X7 D+ g* g
#else4 [' |; o+ }% x: C
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.4 E+ O# U9 F, O7 L* ]
if( m_nLightType == 1 )
+ L J+ i O8 G1 `+ ^6 n8 A nHour = m_nLightHour;0 G& }% O, f0 H; w5 u
#endif
( @3 Y4 Z5 L5 k: p) _& G nHour--;
8 A8 K# T5 N& a ]: s! Q) s if( nHour < 0 ) nHour = 0;
8 b. N0 H( n/ t f C; N$ _ if( nHour > 23 ) nHour = 23;
2 z& k( {/ Q' @: k2 p2 T9 X- d" U* t2 e! j" Q9 P
//if( m_bFixedHour )8 q3 _. ~6 {* q
// nHour = m_nFixedHour, nMin = 0;6 e, s$ D) I' w( M2 m( v) C
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
, {- R' Q- r& x- Y8 h" c LIGHTCOLOR lightColor = m_k24Light[ nHour ];& K h0 s" [: z$ T* r3 c2 G% h
& [6 H1 j# ^% `
//m_lightColor = lightColorPrv;
1 W" H* z. d6 b/ [0 S lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;- X- r. m2 D: B* i& V& l$ z
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;# U. b+ Q8 `- A& x
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;0 f2 a7 S& N% M, R
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;7 {6 Z6 _& l) p5 P8 U: m. o
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;8 f+ h: E6 U; D: J$ K- R# X
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;7 k3 ?6 ^* Q1 p5 h
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol). e5 F( v' [# J$ ?
! z$ }0 j8 g. v/ N' W9 o
// à??μ oˉè*
- q$ {" h* W7 D; X pLight->Diffuse.r = lightColorPrv.r1;4 p& @$ I9 n& Q3 H: ]2 S8 J
pLight->Diffuse.g = lightColorPrv.g1;; W6 N o; ~2 Q, e! t0 F' W+ M
pLight->Diffuse.b = lightColorPrv.b1;
: ^7 B4 L* x0 v2 V8 I) o // oˉè* ??à?
! ]! T s4 X J7 h6 p/ f6 I pLight->Specular.r = 1.0f;* s; c3 }! B5 e* u: e
pLight->Specular.g = 1.0f;
" O* k# ~8 p* a3 @/ q pLight->Specular.b = 1.0f;) T1 @) ?: H L" ], h& f
// àü?? oˉè* 8 n8 ^0 F- A& M* z K
pLight->Ambient.r = lightColorPrv.r2;" t% p8 E& |4 |" z/ l) F& s% Y. ~
pLight->Ambient.g = lightColorPrv.g2;
* f: E5 ?- S6 t pLight->Ambient.b = lightColorPrv.b2;
3 w w5 k/ z+ u, e6 K3 o$ w" A5 A6 F" L
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
) |! L! Z9 d/ A3 S' k9 f {
( J, D, P' i5 b# C4 K6 X& l) w# O pLight->Diffuse.r *= 0.6f;
/ E6 |: g9 b% m' P) K pLight->Diffuse.g *= 0.6f;
" }2 e; W1 k5 A4 c pLight->Diffuse.b *= 0.6f;- k# B/ ]; a, G% z, @
pLight->Ambient.r *= 0.7f;
7 C1 T; N% N0 H pLight->Ambient.g *= 0.7f;) j4 a( G& H4 ?( b( V
pLight->Ambient.b *= 0.7f;6 Z. u- l8 ^* g' v/ W
}
( w0 O; }& A8 K I7 C4 n5 r7 q. K% X
; h8 m! c0 ^6 _#if __VER >= 15 // __BS_CHANGING_ENVIR
, t' \1 D! b$ H% j if( g_pPlayer )8 V' K1 ?1 w4 ~! b% s
HookUpdateLight( pLight );
! H! Q( N3 B" J4 k* V+ `* m- @' f#endif
) {+ H; L4 H& [2 m3 f memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
0 [" i/ b- \% u; L3 M
$ Y: }9 M5 r& L$ @4 U Y* w9 K* ?' t#ifdef __YENV: k! n ]! O& I+ t" M; k
pLight->Diffuse.r *= 1.1f;5 }7 ^9 `. h/ I. p* k( a. h
pLight->Diffuse.g *= 1.1f;4 r: Q, J4 z; Q
pLight->Diffuse.b *= 1.1f;. X* L4 L1 t5 T! A+ D
// oˉè* ??à?
% `' ]9 v( o- E* C( R$ f* M pLight->Specular.r = 2.0f;
5 b# `! x" L3 R2 d* `# P pLight->Specular.g = 2.0f;" q' s& n$ n+ N2 v1 _3 s+ c
pLight->Specular.b = 2.0f;' m( K4 O2 x2 { B' g; x# I3 {% l
// á?oˉ
: t/ \ w; f! S pLight->Ambient.r *= 1.0f;
! s; y* w) q/ G) J) [3 c( I0 d$ r pLight->Ambient.g *= 1.0f;( X* H3 B- `; [$ H+ B3 ` S
pLight->Ambient.b *= 1.0f;
" X* _5 f B) R+ V. d9 v, H W#else //__YENV
& g4 C! {9 k+ W0 s3 P) o x3 @ pLight->Diffuse.r *= 1.1f;
2 w- i/ K* e0 k pLight->Diffuse.g *= 1.1f;
/ \! \1 u; |& g$ I- c; H& Q( E6 X# G pLight->Diffuse.b *= 1.1f;
1 p: C8 o$ ~1 K. P" g // oˉè* ??à?
J' q/ ` a$ |, o& b% g1 \ pLight->Specular.r = 2.0f;
0 R; M$ Y" x1 L3 t- ^ X2 t; f pLight->Specular.g = 2.0f;
' a; U8 v( ]; e* h: y pLight->Specular.b = 2.0f;
* @# C6 g$ C9 Z+ x6 h/ Z3 w // á?oˉ
+ v+ K3 K3 a9 L9 F+ U9 d f" c pLight->Ambient.r *= 0.9f;- Z; H+ x" }5 k; U
pLight->Ambient.g *= 0.9f;
8 B) Z0 M- g7 t% ]! n0 t: J" k pLight->Ambient.b *= 0.9f; v+ Z4 ]0 {+ M$ `
#endif //__YENV
$ `5 W$ K5 B _" f
/ `1 K3 O7 w& u! P memcpy( &m_light, pLight, sizeof( m_light ) );& h+ ?+ g' u/ G9 E0 V K# r1 ~: f
8 q# e- O" U# f$ N6 w+ J
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
% v* N- h9 `4 r2 }* N: N D3DXMATRIX matTemp;$ n3 X8 c1 w: X% t( e% a/ [
static const float CONS_VAL = 3.1415926f / 180.f; U) v) a! T% d
H+ u P6 ]) B0 k" W& T# K8 `
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
; u4 \+ I6 H) O: g D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);" m" d2 _0 K* f- X. S9 P A* E, n# x
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
2 D0 t$ C t0 \) I0 `1 r: K! M pLight->Appear( m_pd3dDevice, TRUE );
& R/ Y# B: @* W
* i6 [, c6 L9 Z$ x r7 m4 k* o" O" B( A // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);& u9 Q* B# l; k: Q$ ?
// D3DXVec3Normalize(&(vecSun),&(vecSun));; Z- U! R* e3 @
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
- W/ A# W5 V; K! @% D: E. S( m+ h/ Q6 c; A* C& _% `! I
DWORD dwR, dwG, dwB;
8 x( G( F/ A7 A2 S7 f2 }9 ? dwR = (DWORD)( pLight->Ambient.r * 255 );
" E3 }6 w$ U0 b/ l' ^8 ` dwG = (DWORD)( pLight->Ambient.g * 255 );
0 A4 T6 ?: A- v1 s u4 n dwB = (DWORD)( pLight->Ambient.b * 255 );
\# u, L; p* k2 c5 ~ dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 9 Y$ y9 w0 _0 j& n+ O
}
" _* C; J8 R+ O* x% a: J }1 L5 A; Y M( @( ?9 c/ D5 Q- o
) S5 H. O9 Y: j3 b. @3 e4 o
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );) _* g% Z7 x! q/ m9 ^- 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) );
9 h: {- `9 a7 m% i* q/ n ::SetLight( bLight ); R3 Q- h D4 `# Y: H6 o) C
7 u) p. v: I6 `
// ±ao? ?D?í???ó á¤à? ) c4 {" T& Y: X2 ]1 Z2 b
m_pd3dDevice->SetMaterial( &m_baseMaterial );
7 n+ P$ c' b. _: B L- F* O# m9 I5 B! |
#endif // not WORLDSERVER) e4 i$ _7 y6 q: Q) n7 `
}& o' D e% a8 k+ @
并更换
" S) ^3 X: s, @Code:
j+ ?5 P- E& F$ N7 a__FLYFF_INITPAGE_EXT
! U7 T/ |# N2 {7 Q9 d定义% C4 L$ Z; F0 s4 b9 k
; N7 n- v0 w7 e
3 w V* s: G( s: r7 i! W1 `, x% P" n @
2 [9 P& @$ b' q& k" d" M
现在终于删除我的狗屁加速.... `6 d' i% V/ g# ]
0 L6 ?" b6 D; q3 l0 r& c
6 t1 z7 D5 M, }1 P" i
5 |- |0 O+ Z& r
|
|