|
|
食品车:4 m9 u0 O4 K% k0 b& A* r
尾翼:% v$ @! M! J. a, j/ ^& J$ x
# Z# e: I. ]6 i1 u9 I9 z代码:
* r, y( b- q6 V4 ?/ ZCWndAutoFood::CWndAutoFood()7 j+ y+ l7 K" c: a: |( {
{9 A$ v5 b( x/ R8 D+ q7 ^
m_pItemElem = NULL;; @: i& M$ r& }& j( m" A
m_pTexture = NULL;1 u" ~5 o" m$ z3 h$ c- P
bStart = FALSE; }, O, ^7 f2 g2 ]/ w5 C
}
# C+ T# u6 V" @3 [7 q. c0 r( Q; `/ C$ \" {
- ?0 H0 t) s C! I- @CWndAutoFood::~CWndAutoFood()6 G% f8 b2 h" ]: I% v
{
7 Q' k4 i: g$ ^% E( p1 H AfxMessageBox( "AutoFood ist gestorben " );
/ U4 @2 g; G! G) i1 w}7 ~% ]6 B" X* S
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )) e3 b1 b8 A- @
{& e2 ~% J* m' u7 n3 O ^' s
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
8 \( x" r( @/ U8 u" v}9 q2 L7 x7 t5 ]
: [ T6 ~) i1 d$ {1 K' [7 r
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )4 F! N, { n; i' O [$ e
{
. M+ z" `( v8 H E" i LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );8 h- ~6 ]# B' q2 Q1 U
CRect rect = pWndCtrl->rect;5 D' g; c6 j0 R1 A' n/ |
if( rect && rect.PtInRect( point ) )9 y# V5 C: o7 [
{
# S p2 C$ `7 T$ n/ s CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );# S1 X0 o' f. l3 d) Z
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
9 |8 ^" c8 S/ b3 Z' d% u. O, ? {, e! J8 ?& Q1 V( m& k/ `' Q) U
if( m_pItemElem )$ p( Z: `& p( A; F
{, h8 u. t! q( p. T, z
m_pItemElem = NULL;
) ~- y0 K! y+ H! u, T }
. [) Z7 A, n( f8 D8 O m_pItemElem = pItemElem;
" b, d2 i* R9 [4 K6 B9 J% x m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
: Y: y; X& e" ^' _$ Q. l+ V }else{
+ V0 o3 k) o( l SetForbid( TRUE );( X( n0 M# d9 j+ W) ^) g
}' P4 q+ ^* |& ^. \, V
}else{
4 v5 J4 c3 O! F% | SetForbid( TRUE );4 M8 g& g. \6 j9 w( w2 O/ Z Y
}, y* I# }. v8 y5 d* Y, d% }
return TRUE;8 w! k: }, e1 R% u2 Q) x! X! o
}% m, ~* j# p) C5 _
& o$ n1 f1 D2 C H7 D% @$ hBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )) y9 z1 \) u. i& S3 i
{
/ R: U' X: F3 K- f4 p0 F switch( nID )- S, p" }% [- E" U( ~3 L0 q6 e
{
! [! ~# R4 p& {! r case WIDC_BUTTON3:
! @. C$ |, Q5 x+ E% t; j! I" W* U( a {
1 n% J* P3 E5 J6 p9 x: C# i" l6 V bStart = TRUE;
1 h: l p+ j: [8 [1 b break;' E% Q2 `% r4 U
}
! A$ F% j* E+ R% e* p" F case WIDC_BUTTON4:
, N5 n5 M, A3 c" u. n {. T6 W3 w# \# R& ~' f- Q
bStart = FALSE;7 W i5 H$ b. F) \
break;
" c" [3 O; g, ?* }% [. Z; W9 [ }
" j1 j, e H) l1 e5 C- G }
) ]; P% T1 `3 F0 N# ~4 a$ C return CWndNeuz::OnChildNotify( message, nID, pLResult );9 T8 g# ]" r/ o4 P( |; p
}
5 ~9 N0 ^$ N0 X( ]/ O$ Gvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )& P4 w1 w; L$ W1 k' N5 o
{
8 ~ Z6 h, u* R' z CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
' T' B! e0 l+ ]0 r0 U( `+ w if( bStart || !m_pItemElem )! B0 B& |( x. \9 k4 t
{: H3 @. `/ M6 d9 K- `
pBtn->EnableWindow( FALSE ); P+ `( M+ y7 d+ X
}else
' K( Z2 j4 B9 Z/ K/ u7 E5 f7 k% [ pBtn->EnableWindow( TRUE );( k" p- _: e* x
if( m_pTexture )7 ]4 j) E; `- U( M. N7 w: h
{
w, `; n2 A# M4 k LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
* ?: v+ [* G# s6 A2 @+ T) i if( wndCtrl && wndCtrl->rect )
! O6 N$ `& g1 X5 U9 u {9 Y( z0 _# S" G: y+ X$ ~( b4 u
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
9 N% J7 a+ d$ D6 u }% h- y% c0 L& C" Y4 U6 L; c
}" s% o2 D3 |) ^' z9 n
}
# D& q# T# o% }# w: x
7 i5 d4 P) t: c" k4 v5 nBOOL CWndAutoFood: rocess()$ W0 H A- S- m% T8 a3 K. V
{* V l/ F, m2 \5 P" Z( O8 L
if( bStart )
" }0 u7 c+ [0 x! A# B( O8 I% z {
: X* b% ?. Q) C5 c* ]. x% w if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
, r* ~7 Q7 W2 e$ m {
* Y: a9 ^% X3 e, S" X* p if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() ). \' f% t5 U- ?7 P5 n
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
4 R! M' K/ ~" t9 J8 z. }, O% S }else{' k; G8 E! F+ E% \* @3 Q% `
bStart = FALSE;
2 j; j3 i: M. D8 ^/ S m_pItemElem = NULL;; `( f2 s4 F m4 M( ^ q) b. v6 a
}
' b2 P" w8 v7 W6 @: e) ] h }
) {; M" g& E" d7 T. x! L, @ return TRUE;) k- Z% Q% A* s I7 G3 y- I
}* `$ J. p) D, v$ N2 Y" T1 x0 d* C, q
. d. |2 l( _! B# K& w
登录视频废话:
4 @ Z# w6 q1 R% B0 k尾翼:
4 f6 w9 w+ ]4 L* S$ }' d
. @$ ^+ \# T$ k3 `: {% O代码:
9 i i2 R) C1 Q! Q8 @6 Z+ f
; C$ ] Z& \- R6 l' mvoid CWorld::SetLight( BOOL bLight )! n7 o; {. ?0 i9 c% U1 `% @, L7 c
durch6 N# E! t! g( r$ P4 y& a6 V/ F
Code:
4 E: l, g* \* `8 d) S, K2 D+ Cvoid CWorld::SetLight( BOOL bLight )
1 g' B) ?1 V* v7 B3 p' T{2 C$ |! J4 S3 m# a
//ACE("SetLight %d \n", bLight);4 M5 Q1 Q3 u5 Q, l
/ G* x- {4 \( i& h, i#ifndef __WORLDSERVER ) c7 o2 C* Y# d
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);$ S5 D" g4 {7 C- E) V" X1 A
CLight* pLight = NULL;- |: G* q% [ Z6 k v& ~6 s+ {( Z
$ @* y; j+ ^4 M/ m+ u0 ] D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
1 g- |% j. Z6 e" i0 q. k; S% O1 R1 q2 i# U: G
pLight = GetLight( "direction" );
+ R/ f' }/ g7 ^1 S
/ y$ n: X/ @7 e#if __VER >= 15 // __BS_CHANGING_ENVIR; N# A% R/ Q' i" c& s- M
if( g_pPlayer ){5 T* b1 g+ a4 ~6 }, D. n( K' P
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );: L4 T! f- ]8 A
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
" I( N9 D0 z$ G ]5 |5 O4 Q( o {( Y3 l/ I/ y. D6 b5 b
if( pLight )6 c6 _+ F- B5 H. _$ ^
{1 u# M/ s7 m% r) E6 O. Q
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
6 Q+ ~8 e& W m pLight->Ambient.g = pInfo->_fAmbient[ 1 ];. M4 C1 r2 S- h0 x/ t% m
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
+ w8 T4 I: K' ?9 ?7 ]" i v
5 A3 Q& d+ k- U% F a. Q- g. Z pLight->Specular.r = 2.0f;
) t5 {5 Q% o& I pLight->Specular.g = 2.0f;
6 I% A D1 \& I+ Z; U pLight->Specular.b = 2.0f;
/ u& l7 Z: h7 W4 D+ D3 [0 L
9 @6 m4 ^" _. X* P pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];* E% L: y8 k4 a
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
3 E% w8 L! G# F6 j4 d& \8 s1 i$ H pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
4 @6 B. i- x% g# O# F# y* {+ x ) ]% I% u! J2 n& g) j+ b9 B: V
HookUpdateLight( pLight );
- u' _8 ?0 R5 ?: F5 K" I& k0 J6 G* S9 Q
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. I9 t! p" Q- D$ R! C + R5 q7 ?7 F; X# D5 T2 o& C7 u
pLight->Diffuse.r *= 1.2f;
% [# _8 N% [7 L pLight->Diffuse.g *= 1.2f;
+ h5 I7 {6 x" C# `4 H pLight->Diffuse.b *= 1.2f;
- u6 v2 ~) o0 g& \( d
/ z$ {, ?! j0 m- e9 y8 n pLight->Ambient.r *= 0.8f;
8 X; }; O2 {/ ?: J7 U pLight->Ambient.g *= 0.8f;4 H4 [: W/ C! C# ~+ Q
pLight->Ambient.b *= 0.8f; x; U/ K9 d' L, P! O. m# g) |
* n3 E4 k, g' b' k; u. K memcpy( &m_light, pLight, sizeof( m_light ) ); ^1 X& {) A. g; Q8 Z
' Y f0 C8 n4 C, B# Z3 F( x& K. V6 ] D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
& i8 r- p) M+ s; ?- \5 m D3DXVec3Normalize(&(vecSun),&(vecSun));% H- f, c" ~. x5 Y6 `
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); / O6 Y; Z& }+ |; }% u
pLight->Appear( m_pd3dDevice, TRUE );3 ?1 [( U* B" k2 ^
) A$ q, i& j4 q4 a( j4 ^8 c& ?* e( Y* X
DWORD dwR, dwG, dwB;0 r1 [9 X F; N' w7 j/ ]5 I
dwR = (DWORD)( pLight->Ambient.r * 255 );
9 w" f, X) u6 H. X7 U: Z6 } dwG = (DWORD)( pLight->Ambient.g * 255 );/ L; l7 L& u* }4 M A
dwB = (DWORD)( pLight->Ambient.b * 255 );; R8 e; N# L* G) m) s4 b
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );4 O N7 `: w% u; r2 Z3 p
}
9 p- b0 v4 o+ | }0 ?5 u, Y: `3 ]' o0 O7 D0 T' I
}
! r) j% i2 G( | else
& f4 Y' f9 K) b7 |0 }#endif ( }; m; X3 W: B/ @) k0 d' k/ v
: d* @" j8 f/ l" a& d if( m_bIsIndoor )) y' U6 c& O4 y0 ~/ J8 n
{
, j; H' u, I: w, K5 x if( pLight )
; c9 S0 z0 |. T" o( Z { / o3 d( Q+ A& \7 N; c" u
// à??μ oˉè* 4 S* l9 [/ W& o6 u. Z8 s1 B
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;0 H7 o; S7 y5 j8 m: Z9 L7 D% M0 r+ A
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
. F, I7 r. B: E* R7 D pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
( O" g' v% \$ P$ X" X
$ q, [: {; z& r- C8 H // oˉè* ??à? ) w1 F9 F: g9 V- D& M
pLight->Specular.r = 1.0f;
/ i1 ~7 w7 @" q2 @ pLight->Specular.g = 1.0f;
; G/ \* N5 a/ Z7 s pLight->Specular.b = 1.0f;3 m( d8 O% l) @, t+ A# _; U* |0 ~# j
// àü?? oˉè*
/ C% S$ F: T3 D; K$ e- o. D4 I pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;$ N2 d! H/ ^3 X5 A R& t
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
: Y4 l# w4 E9 ] pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
$ }# y% ]9 q7 U$ s4 G
; o8 {% i3 E) X/ v if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.3 d( U" s! y5 k+ M( @
{/ y( I5 }% ?0 u5 K8 l- B
pLight->Diffuse.r *= 0.6f;/ w" D/ N C1 y% Z# d
pLight->Diffuse.g *= 0.6f;
: n3 w) C/ i# v8 h* s- X7 f pLight->Diffuse.b *= 0.6f;
; e1 {0 m# z& N pLight->Ambient.r *= 0.7f;
2 j. h7 C4 p9 X9 U; \ pLight->Ambient.g *= 0.7f;# d3 c2 E8 N" A% Y$ t
pLight->Ambient.b *= 0.7f;
2 M3 b& m* T7 F/ T }% ]0 B: l5 y) n9 e8 R
+ \8 R- \) W: B#if __VER >= 15 // __BS_CHANGING_ENVIR! |$ k" M! |. }* v3 o! t P
if( g_pPlayer )" m$ q( W% f6 C
HookUpdateLight( pLight );
! t$ P# w* J: @* i6 F# D4 k, D#endif2 s W& [) |0 h' ]" ?
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );) @, h% R! a# v5 `( k2 S% a
8 F" }) L. A4 C
pLight->Diffuse.r += 0.1f;
* M! X& f9 S: j1 p" [! ~" _: M pLight->Diffuse.g += 0.1f;
9 j) \1 B% Q4 y) a pLight->Diffuse.b += 0.1f;
0 [2 g8 p& F/ F // oˉè* ??à?
- a, s& s0 o( X( X/ k) H pLight->Specular.r = 2.0f;6 Y- ]( y, n4 \& g; p
pLight->Specular.g = 2.0f;
6 k" U. j$ y( k6 l. N7 o# [ pLight->Specular.b = 2.0f;: Z% T; M# x5 k/ I2 M, g
// á?oˉ & G0 v9 s3 X0 v8 h4 v3 e* L. [
pLight->Ambient.r *= 0.9f;7 B2 ~( t4 ]/ l9 r
pLight->Ambient.g *= 0.9f;& P- \1 o8 p3 Y
pLight->Ambient.b *= 0.9f;- \" v' |, J3 {3 {3 J+ F- L
. m: J8 F8 w* {* ?* k' p( T3 d
memcpy( &m_light, pLight, sizeof( m_light ) );
2 R z( ]; e0 l5 a
- i, |& d; t! b* X pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );3 k! H* i& P* i8 U" B) f! w
pLight->Appear( m_pd3dDevice, TRUE );# v1 ^7 t- K" x. m& p: l8 O- w- @
4 W/ x3 w* V% _ ]5 C# i! R
DWORD dwR, dwG, dwB;
6 j6 t, k/ `* D' f dwR = (DWORD)( pLight->Ambient.r * 255 );
$ y7 `% n+ _: Z$ o% a7 X dwG = (DWORD)( pLight->Ambient.g * 255 );
, S% G8 z" Z6 D9 Q dwB = (DWORD)( pLight->Ambient.b * 255 );; {+ E4 n( R8 g! Z; _
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );# b2 p" b8 o: T9 w/ n+ A, k" t
}
c4 s8 u) S8 Y8 @ }
/ V* W( p. L7 V/ Z- i else+ x' ?: x, I+ O' V3 w7 u
{( ^% X" \1 r" W# m' b7 b
if( pLight ), ?' f4 m, J8 {, j7 W; r' w$ Z
{
2 `( s; E- s( m- c2 k, _1 c
- f3 u3 j2 i. n; A# {& i3 v int nHour = 8, nMin = 0;
* \/ } x u, |+ M* z #ifdef __CLIENT
9 D# _7 [& |4 ^& ? h- A // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. " o9 U& G; b/ F6 c5 K- b1 x$ F
nHour = g_GameTimer.m_nHour;
, Q0 Y& n( M, `: o: z% x) A4 R nMin = g_GameTimer.m_nMin ;/ [: u1 H* c, d8 S. d- v
#else
( c! i0 k9 }: I5 y! _7 q/ n3 C // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
, Y- L0 k6 s) K1 a! w( P if( m_nLightType == 1 )
. u/ z J9 } h" w0 {9 } nHour = m_nLightHour;
; z" [* p7 T1 w1 P) ^ #endif
* I! h( a/ @' s' @. E nHour--;/ f9 M; F6 e' S% f6 w8 {1 J
if( nHour < 0 ) nHour = 0;! S: B4 @& `* ?7 R
if( nHour > 23 ) nHour = 23;- u, A/ F# v6 w( x+ a( L
* E: V7 }8 x$ ^+ T; a) z9 U //if( m_bFixedHour )/ i( s: P% C0 @, |! C9 t7 i. ]" C {7 F
// nHour = m_nFixedHour, nMin = 0;
2 Z' [7 [- Z, j" F! ^ LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];' C. |( Q+ X- i
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
" W+ q- X. a6 h$ S) \0 u& s% V, P$ P, n- j
//m_lightColor = lightColorPrv;. n1 g% I( G. _. m
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;6 O# o& e" [+ [( @, J, A. m
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60; e# y3 w5 p$ Q( R& b' M
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
' D& S) r/ w$ V' D4 ]0 E lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
" D3 Y3 K5 O% p$ t" G1 q y lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
) u8 O) j/ `' H7 T lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;, D- i7 o" J# k' f
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
, F1 F' M0 B- t% }/ v
6 X5 A, }- ~, B2 b' i7 Q // à??μ oˉè* : w& l# F& p( ]: z
pLight->Diffuse.r = lightColorPrv.r1;
1 @) \' I' b0 N7 ] pLight->Diffuse.g = lightColorPrv.g1;2 ~: B9 {% ^& l9 A$ x
pLight->Diffuse.b = lightColorPrv.b1;
?% a( m4 p* O2 h6 e // oˉè* ??à?
2 [+ e* l; x; @7 A/ s pLight->Specular.r = 1.0f;
+ \# y6 `5 ^4 f- M8 W. c pLight->Specular.g = 1.0f;7 e7 X0 b% b* x! \: K
pLight->Specular.b = 1.0f;
! k0 I5 B! y3 j3 a7 ? // àü?? oˉè* - P! j8 R! H" @& }
pLight->Ambient.r = lightColorPrv.r2;' }( [% b8 O- T' C
pLight->Ambient.g = lightColorPrv.g2;7 h' i4 i" _- y$ g% {2 L
pLight->Ambient.b = lightColorPrv.b2;
! _9 O( u+ c( e3 A
7 L5 |0 G* R7 F @ F7 q1 I if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??. @& J9 W' w6 ?2 E
{
6 K$ n* J8 F# Q5 X; Z pLight->Diffuse.r *= 0.6f;
e$ Z( \; ~' Q0 K pLight->Diffuse.g *= 0.6f;; N- [) _2 g2 `$ u) c
pLight->Diffuse.b *= 0.6f;
0 m9 X( k. e6 y0 o7 U pLight->Ambient.r *= 0.7f;- `6 j7 H! X/ ]# n! y
pLight->Ambient.g *= 0.7f;
. M. H4 Y* |0 n2 y pLight->Ambient.b *= 0.7f;+ s* \* P7 J5 q/ |" U1 N- s
}
7 C6 q1 }3 f' v 0 T! Y% o# S: O1 p
#if __VER >= 15 // __BS_CHANGING_ENVIR, o+ w# |+ S* V7 m5 Q
if( g_pPlayer )" d4 {4 `0 E. i8 k
HookUpdateLight( pLight );
& K$ h* T. }* _#endif4 C9 T* v$ j# N/ v* N8 I* Y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );8 n4 h2 S" L9 B, s1 _' \( ^
) \! A# R2 y9 j6 l: Q f
#ifdef __YENV
) N! e. H8 q! U! y4 Z pLight->Diffuse.r *= 1.1f;
3 r N( G5 B: l8 Q pLight->Diffuse.g *= 1.1f;
+ K# @$ d$ b$ U7 d2 ~5 b, d/ x pLight->Diffuse.b *= 1.1f;
- Y6 b& Y1 V+ w; {$ s // oˉè* ??à?
9 v" m* T0 K0 G& x- N pLight->Specular.r = 2.0f;
. q6 k4 x% Y/ m7 }! M0 p" w, g8 G pLight->Specular.g = 2.0f;
7 u# ]- \; Q* u/ C pLight->Specular.b = 2.0f;
R& c- {1 Y- N/ X // á?oˉ 8 [. X& ~8 c8 `' N6 |- X
pLight->Ambient.r *= 1.0f;
) s2 F0 s6 K! m. O" _: g% M pLight->Ambient.g *= 1.0f;
& r+ D& X) ~1 z p1 m pLight->Ambient.b *= 1.0f;
" r% b2 Z- k( I( H2 Y6 A#else //__YENV. w! a8 ? E4 y. ]
pLight->Diffuse.r *= 1.1f;
$ [. S& [4 _# G. P3 Q2 v pLight->Diffuse.g *= 1.1f;
/ _. d. ^0 ?6 M5 V pLight->Diffuse.b *= 1.1f;
& N0 B: n0 y% a( N // oˉè* ??à? 0 i# |" i" ^0 X1 u+ {
pLight->Specular.r = 2.0f;2 y0 k! C& H5 O# c
pLight->Specular.g = 2.0f;
& ]0 ?6 U3 V4 p5 w+ }+ ] pLight->Specular.b = 2.0f;
$ R1 J7 l4 I/ s" W, a- }: s // á?oˉ
1 w6 y: _- W) t# y" y1 } pLight->Ambient.r *= 0.9f;, M8 l; b, m' ~; g# l! V% M
pLight->Ambient.g *= 0.9f;
7 D5 u: K! D$ B2 S: C! a6 ], V pLight->Ambient.b *= 0.9f;+ r. g6 k3 j1 G0 f% H; @" [: P
#endif //__YENV - n0 _7 v3 C( D1 Y# ? i
1 G1 N: b; r4 S memcpy( &m_light, pLight, sizeof( m_light ) );6 n! [ |" z! G/ k, z" j' o
- g3 d! [" T2 X i$ K v4 ]- M
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);5 f" h9 \: `. Y$ l) S4 x
D3DXMATRIX matTemp;: d2 D: p% ~3 C7 q" S+ ?
static const float CONS_VAL = 3.1415926f / 180.f;
. H, s% n2 H& ]8 o9 c- L; o9 i1 \
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
m8 z6 \) a/ L/ o+ [ D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
* T6 U. a" q6 h) t! w pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); . Q9 m+ {8 D6 `2 ]5 Z, w; i8 P
pLight->Appear( m_pd3dDevice, TRUE );
( s( k# S' w8 F# G& {" M# t3 F/ q' G/ ^$ k2 X
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);! z S2 x- M4 D. S @9 h
// D3DXVec3Normalize(&(vecSun),&(vecSun));
7 U; a+ y# Z8 M/ b% r' z- ~ // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
2 f j8 q, l2 z( [! B" I: I$ ^4 @, b- ~
DWORD dwR, dwG, dwB;
3 X& E4 p1 V3 J8 q6 l- ]! } dwR = (DWORD)( pLight->Ambient.r * 255 );
5 q) s6 \( B! n: P- u dwG = (DWORD)( pLight->Ambient.g * 255 );
! e _, e: v9 W$ }+ C. g dwB = (DWORD)( pLight->Ambient.b * 255 );+ _5 {% `$ j$ [
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
8 }( _! X& J8 K% F# V7 j }- a F6 a4 r, M& k9 m' W
}0 @/ q! g! O* _. q _
! F7 Y" s+ g" Z7 c5 e7 C. r, I
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );% V" h6 e" E6 N: w, T' T
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) );
# H9 E+ d! @+ ~% D ::SetLight( bLight );8 R) T+ v1 b$ b: R6 A4 P
# w9 X: D: ~5 ?$ N7 d! y% X6 j // ±ao? ?D?í???ó á¤à? 2 n. T3 \1 c- P, \6 A1 X* S
m_pd3dDevice->SetMaterial( &m_baseMaterial );$ n# R, g7 ?% L& @) K1 v; X
- J2 s! G {( h2 H2 d8 Z b* g#endif // not WORLDSERVER, T4 [/ Z. W) g& H
}
/ M5 v0 F n1 S+ j并更换' i0 g6 P% a1 Y+ h' J+ M6 h8 p
Code:- I, i7 `8 p8 Q0 _& E: |7 b' D
__FLYFF_INITPAGE_EXT
8 ~, A9 V1 S/ L% |定义
0 J. n2 Y; _( B% e1 D6 B' `0 j: @1 `/ G4 [
( { k; C4 t( F' `4 e4 s: F& c
; F1 `: X: |! [' {
0 o- |) v5 x, V: {2 c现在终于删除我的狗屁加速...
( e" B- s, Z' o+ U; [) ~! h9 a+ b6 t
# x) B- y' z/ I% B, ?+ K2 F1 K
. c6 \3 w& x5 I: K |
|