|
|
食品车:8 [, h8 L( d: |1 ]) M3 K
尾翼:, b5 k9 G6 R) x+ D3 u" ^8 S: |
4 p8 T) P/ S7 N( P: K6 F% s& C
代码:
) I2 v6 [: Q: Y% {CWndAutoFood::CWndAutoFood()
' B7 D; `4 d3 c; U- @{
( ?# ^# s' F3 _+ k m_pItemElem = NULL;2 A$ e: s0 |( ?8 }0 @
m_pTexture = NULL;" w7 ^+ T0 ~. x' A9 C0 _7 l7 \
bStart = FALSE;
) u7 t$ L m a5 L. J}
/ ?7 t; S& F. O, x; y# ]9 t- q1 L b; x/ b0 {8 [* m
CWndAutoFood::~CWndAutoFood()
' s3 u2 f& g- q8 [; G{% A& q+ }% l9 M# [8 j
AfxMessageBox( "AutoFood ist gestorben " );
a% n+ K; _- x8 T8 D4 ?; V. v}. w9 o- v! Z' V7 ^6 R
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
: q, r# ?( B6 U4 s/ c8 E{
- `" K( } v g/ d. N @ return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );1 x" `3 C3 Q- m# Q4 ?' {8 k
}, k& O8 P& b( S
% M3 b5 R0 d Q* t: N5 ^
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
' B& ]8 E. ~8 V7 A# ~{3 m/ S( m6 _# [% W
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );, V+ l0 ?, r3 T1 G8 h; |
CRect rect = pWndCtrl->rect;
& t& p8 T& o! Z& k4 M if( rect && rect.PtInRect( point ) )- w, Z4 ]% b' q; P% z
{
. G# ? W; S2 M- k9 } CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );) r( f( c- H0 a
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
8 z+ y+ C$ C4 C: _4 k/ X0 o6 _ {! g" M. H1 L& K z3 N* {4 f, p" K) u
if( m_pItemElem )
0 s& z1 s. _! J- F' T/ q {, C; z' y: c* }5 b3 h: L
m_pItemElem = NULL;7 f4 _0 E+ i& @' X
}: w( E. y ?1 W3 ~$ I" }9 J
m_pItemElem = pItemElem;: f2 V6 v0 ^8 h8 k+ X1 x
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff ); P4 E! y% x1 q; \9 \# \
}else{
' r& J L" {' x SetForbid( TRUE );
/ z' B2 W# P8 l# U }
5 U; Z' z1 b- P9 b3 g. V( j }else{. z1 v% O) }8 p+ }, u6 ~9 e
SetForbid( TRUE ); d. k+ n1 H9 y8 ?9 N
}
' K- ~3 O4 l$ K& i( n6 H/ T- v return TRUE;8 e- W$ I& Y5 k8 t" w2 n' B
}
' z/ ]% X- F: t, l" c- t
3 D$ _( j( _+ N7 }: ]6 dBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )7 |7 X$ G1 p) T- r
{! H4 d6 c1 j, a. `) Y& O8 H; k
switch( nID )
6 q3 b' I# {' Y7 Y+ c8 S) | {) f2 U7 w, `' p. W; t2 [
case WIDC_BUTTON3:
' ]/ K: R E( Q4 L# w2 d% m {
' [9 P7 e9 U! |% s" i bStart = TRUE;
; q9 Y2 ^& M/ u3 o* {. ^ break;
8 t7 N* |9 ?! V% z* x8 W! B }
# \& C- S+ z( C" o* X case WIDC_BUTTON4:
4 f; J: e6 A; [ {
$ Y6 l5 R& ^" ]( ]: d Y bStart = FALSE;# i; u6 m" f- k X
break;
% u( V1 p6 [( p7 z! ]* | }
: b" z5 e+ {* \+ P1 Y2 K8 { }# F8 }' E9 k! A" X S3 n
return CWndNeuz::OnChildNotify( message, nID, pLResult );
, k) p# [3 `; Q* {; Z} " \: L) v, b& B. @
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
# j0 q* z8 u! l! Y' `, \{
. {1 }+ W" R! r$ d% E+ [4 K2 A CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );' s5 F; H* r; c+ w$ h* `0 {
if( bStart || !m_pItemElem )
/ T4 o; l' F% y8 I0 Q+ Q {
& D) i. F8 p& R$ h pBtn->EnableWindow( FALSE );
; j# k/ {; U. ?$ |5 O( S }else& ]( l! E7 K8 P/ W% ^, R; e l8 E
pBtn->EnableWindow( TRUE );2 `/ C9 w: g" E" ^
if( m_pTexture )
2 Q* n. h: K [! J8 s {
' F! O6 ^7 `. V4 W2 ^ W LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );8 B0 _. B4 _; T6 d f
if( wndCtrl && wndCtrl->rect )$ V: F2 L/ _8 p. j; w! `$ k
{
; z4 t% [ a2 I m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
c$ `1 z4 g- W, `8 S2 L: n }. ^. n0 G- U: @+ U
}
" [) `& |: g( _ [3 y/ z}2 o b. y3 S' h- @7 R
1 G/ ]3 v. T+ o
BOOL CWndAutoFood: rocess() z' a8 Q% s ]4 _! Y. a
{
) y3 D X" G4 o" \9 R( ? if( bStart )- {& j4 p$ X5 K
{
/ ?' ?5 N( R C' g if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
' y# Z, B9 m& C5 H$ |: E8 [ {& k! ~8 y a+ [- ?1 O# ~% q+ z
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
3 h( R. {7 d7 v, }' l g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
4 Y# c, \7 l0 _9 p0 o; T2 ?) M& q }else{7 t, k2 c" p$ f0 T3 Y$ t
bStart = FALSE;
! a" B4 R( v0 `( @1 Y2 H+ o m_pItemElem = NULL;: K0 H/ \0 W' w: }$ }+ j# { t
}
& u7 |: s' a' } }1 A4 \( s2 _. F; t& p0 g# b: {
return TRUE;
* g* _$ l5 c9 ~9 f$ B, P}
3 W- }" Y3 y( G1 z7 c, x$ M0 D# a4 K5 ?7 E& x
登录视频废话:& `! S5 _, d }) W
尾翼:2 Q; f- Z7 ~6 F" q: p
1 }; e5 _1 k2 ^
代码:% e: I* l8 X" ~- f, R) T
: P& t: z* c* P! J; W
void CWorld::SetLight( BOOL bLight )
9 ^, d+ m, B' x6 T+ t9 \durch1 {. G* L% l3 |/ M. ?0 r, N
Code:
; l; a( e0 }9 k7 I% Kvoid CWorld::SetLight( BOOL bLight )7 W0 v! L3 w& p7 N3 a) T' w
{
" {$ [( _. U1 Z# W8 O) L1 F" L8 ]) L$ k //ACE("SetLight %d \n", bLight);
- P9 Q2 g/ `# f F & S# I: K# @. M |. b
#ifndef __WORLDSERVER
/ E! V) a X+ ?, ?4 P: n: K DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);/ _* V& W/ b" e! i6 _
CLight* pLight = NULL;
+ k) }2 Z3 I; A4 ]" k5 q/ \0 i6 h4 k
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );3 ]- L Z! X; d3 V" L: K, W
5 w! h: O! Q; k, x, v9 N( ~/ g+ M pLight = GetLight( "direction" );, Y9 c+ S; A( f
1 A$ @6 e r9 M N#if __VER >= 15 // __BS_CHANGING_ENVIR4 A/ E( ~; A7 a8 H( @
if( g_pPlayer ){
5 K7 n1 G ^% w5 n! v/ Z ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
1 h$ X5 Z, N% @ if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
B, C6 Y) M/ ~& l @* e {
& s3 ~3 A/ E2 @2 j* k if( pLight )! L: J+ | f, n
{
' i4 ]' O1 q; R1 K) C3 B4 c9 @ pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
; n7 a4 X ~; z! w* y2 R* ~6 P pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
Z5 I- k! Z& H% X- C& x" F pLight->Ambient.b = pInfo->_fAmbient[ 2 ];& b% i4 Y. Q7 \5 s
" F" s" E% q1 V
pLight->Specular.r = 2.0f;. m' i9 t7 h- ]$ N3 ]
pLight->Specular.g = 2.0f;/ k. {5 B8 B2 x7 W6 A
pLight->Specular.b = 2.0f;' O7 @# q* m( J% V5 e5 B; Q8 L
, e! u- p& Z& o. ^0 k! s
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];9 e* l8 Z+ x% V
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ]; U% @, K8 g/ |6 X$ N* J& N3 d" u
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];1 k& A8 s A" J$ c* w4 `2 }
5 D$ L- N" O6 V& b; g HookUpdateLight( pLight );
! _# p X. ?+ Z4 c V9 L
% F: ^/ u+ J- y9 o memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );+ g1 c0 u0 ?& ~* t5 j5 a
0 a( O* z8 F8 c! x pLight->Diffuse.r *= 1.2f;
6 `9 j5 w3 m9 d7 e6 I, O pLight->Diffuse.g *= 1.2f;) O2 e2 e- [" R9 {/ o! o
pLight->Diffuse.b *= 1.2f;
t4 a: {3 ~* m7 u0 V1 _
* k# Q- {. |8 |! r" }1 Z: I pLight->Ambient.r *= 0.8f;' \& g( h+ o, B* Y! U# q
pLight->Ambient.g *= 0.8f;5 V+ s- |9 T2 \3 ]: j
pLight->Ambient.b *= 0.8f;
4 E; U. q9 c5 H% S6 d$ E
' v O% k4 ~' n) }4 w! P) Q5 I memcpy( &m_light, pLight, sizeof( m_light ) );
2 `9 P3 |/ \. x" t# I- t" L+ B8 f: `
- }/ p2 j3 {4 o+ U D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);" o9 S# c* P' O, H( F
D3DXVec3Normalize(&(vecSun),&(vecSun));0 W. h1 a3 z' P# f$ ^9 Z
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
" ^; X5 E3 k; V+ g0 W" t7 Y& k pLight->Appear( m_pd3dDevice, TRUE );0 d( `6 k! u( m
* M" C: o6 Z" Q& z
DWORD dwR, dwG, dwB;' E) L/ H8 _! k5 [8 D1 A
dwR = (DWORD)( pLight->Ambient.r * 255 ); c( c( W! K( `; |
dwG = (DWORD)( pLight->Ambient.g * 255 );
& ~5 T; t4 A2 Z/ c, T$ [8 [' z dwB = (DWORD)( pLight->Ambient.b * 255 );( A" x/ S% a9 q2 `( y& Q% ~8 b1 J
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: @$ G' t& A! w! P! H9 H3 G }# H9 `$ f& k, o6 j- w
}
2 y0 N: ^! d6 V2 ` }
1 T6 G9 u J4 A2 B! ` else, T% Q+ q' m6 `- l% v+ E: x# A
#endif 9 U& Y9 i4 r) l( O. Z: K6 s
% T! a( s% O1 z- |
if( m_bIsIndoor )! \7 R5 k* ?0 @+ ]2 S
{
9 C1 U1 }3 O* J: X, q- e* i if( pLight )
3 F7 u g) A o {
- P* z0 `* O+ M( d // à??μ oˉè* ]! }2 N7 ?/ a/ H8 B8 n
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;, _6 u8 N) Q! \. A1 g
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;* d3 s, V+ a" ?0 ]1 n
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
]; U2 t8 k0 t' n0 K1 J1 N% d- z: R( B
// oˉè* ??à? 9 o; m# L* [) |
pLight->Specular.r = 1.0f;
$ B1 O9 n% o8 G& ~% l9 k" S pLight->Specular.g = 1.0f;7 [. [# i7 R/ K+ J7 w% Y, H
pLight->Specular.b = 1.0f; P# x0 V: L" }
// àü?? oˉè* * |) D% n. K9 z9 J3 ?1 w3 y
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
` j" i% Y5 n2 w/ k `2 b7 y* H3 p pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;" i% ^7 p. U* Y( i& q' r }0 u- N
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;5 a1 [5 O! G8 s z. @2 q
8 a) b0 Z& [ [) \) ~
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
- h3 a9 I9 _) j0 `2 P2 o# }0 E {, T) K) U/ t: {" g. u6 @( Z3 S4 R
pLight->Diffuse.r *= 0.6f;
: Z2 i7 @+ C _( s( A pLight->Diffuse.g *= 0.6f; C/ K% Y1 g1 p6 {8 e9 x; }
pLight->Diffuse.b *= 0.6f;
' _5 l; h2 D5 y' S: N& c3 r1 b* q$ D pLight->Ambient.r *= 0.7f; L T5 _0 t; y$ F+ u4 e/ `3 v
pLight->Ambient.g *= 0.7f;
7 z0 `" b. M6 w6 X/ I* D pLight->Ambient.b *= 0.7f;
, b; \2 t( ] Z( G4 v7 c }' f. o+ G" S& b! s2 A( G/ r% S
n9 E+ [! Q( \#if __VER >= 15 // __BS_CHANGING_ENVIR
0 j v# F7 A- p( e5 s) Z if( g_pPlayer ); a! X5 X; d. m. n- E( Y
HookUpdateLight( pLight );3 U# k r3 d7 ? ]' E
#endif6 w4 G" l* i0 R! W" r6 T6 P
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );. S* d, y3 R( a Q H
' j# i4 B5 O P
pLight->Diffuse.r += 0.1f;
# N0 B' `' y7 V pLight->Diffuse.g += 0.1f;
; j/ \# B' a$ k7 S- n) O5 p pLight->Diffuse.b += 0.1f;
. f# D2 h) `0 m. d* w // oˉè* ??à? , y+ m! o0 x" C1 G8 y; P
pLight->Specular.r = 2.0f;) w/ b( k6 T5 r2 b6 t S
pLight->Specular.g = 2.0f;: V, K# g0 _" B1 k" f
pLight->Specular.b = 2.0f;2 w' h# q5 X: R, F* N
// á?oˉ
+ G* J) B2 H! V* @+ ` pLight->Ambient.r *= 0.9f;/ R! K- t. u6 [' u2 \9 C. O
pLight->Ambient.g *= 0.9f;
1 a- }( C5 m; }# F" ]& f; ~ pLight->Ambient.b *= 0.9f;
" [2 y$ |0 W) E. m$ k- G% [
' }+ O, O, D& }% C. M memcpy( &m_light, pLight, sizeof( m_light ) );! i5 L# }* d- u) t) N3 s( d- M. s
) @3 H y6 ]$ n+ G8 ]
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );% [5 Y0 e/ P4 a; j
pLight->Appear( m_pd3dDevice, TRUE );
2 I; }4 H: j/ \" J* C1 E- s0 l ; F- F/ C3 m9 [" }8 x
DWORD dwR, dwG, dwB;
. V2 w. Z; U: A/ W8 m- k: [. C9 e dwR = (DWORD)( pLight->Ambient.r * 255 );) q: P% D0 T+ T6 P2 W1 k
dwG = (DWORD)( pLight->Ambient.g * 255 );3 m0 X1 I+ S: Z. ~' l$ h+ G
dwB = (DWORD)( pLight->Ambient.b * 255 );7 j" S, _( K: S/ K
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );2 M @; G' ^4 } P3 _4 i
}
- L5 D* E R2 m) _& e' b0 ] }
2 {5 a3 ^3 C8 l# ~; o1 ^* K else; v& U/ U0 L. {
{
% X# ^2 k* r! \. O if( pLight )
$ ^: x6 s9 H. p0 B4 c/ } {
# |1 c) D) M; e6 s# X0 K. Y' R
9 L; ~0 w! C. `6 h$ W int nHour = 8, nMin = 0;
$ i- P$ h- J5 O z #ifdef __CLIENT
3 N! \2 ?/ @8 b- D // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
$ Q. B) I& Z- F nHour = g_GameTimer.m_nHour;
2 ^5 z3 {' {& I! e/ V nMin = g_GameTimer.m_nMin ;
' s/ O. N" p/ U- D9 W& A1 B: b #else+ @8 q, U- d$ A. N# x7 o
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù. |6 Q! |* A9 O, c% O
if( m_nLightType == 1 ) ~2 c. T( w! h5 G" d! k" ]; x
nHour = m_nLightHour;
. O/ P, W8 I0 p( f4 X& D #endif
' \1 O5 _4 Z" P8 l& T% C d8 s nHour--;
, d- J0 K- m1 W' w3 u# l if( nHour < 0 ) nHour = 0;6 Y5 C' Z8 i3 |/ B J
if( nHour > 23 ) nHour = 23;
- n* T6 ^. P: `& J; [7 L5 }' k2 {0 _& [! k! A/ ~/ g
//if( m_bFixedHour )) u1 `. G$ s! n! m {3 c! y" B
// nHour = m_nFixedHour, nMin = 0;
. O7 ~( J6 W( T) l4 n5 q: L LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
' p. a! f( v; r( `! v& K LIGHTCOLOR lightColor = m_k24Light[ nHour ];
3 [5 P* V" u9 t4 Z8 W) o$ ^) a! e( {
//m_lightColor = lightColorPrv;
c" m4 Y! | ~* u% p P lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;$ [. a0 a9 N, u9 A
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
; A5 o. c. G0 V! E9 L" z) Z+ g% h' d lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
' Z3 U; q W+ _+ K, I lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;) l! ?+ _ }. B
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
. e. A: C" @( X! D! P lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;7 p) K* E b* I# m: e0 `$ d
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
5 V0 S/ }0 P( L u' G4 W) n; q$ b1 [. r* k* C
// à??μ oˉè*
& ?$ c+ i3 m# e+ ~2 q" u, K pLight->Diffuse.r = lightColorPrv.r1;
8 g \8 K2 r9 T: r9 L, p# H pLight->Diffuse.g = lightColorPrv.g1;
- f0 |6 {9 r& w7 n2 y4 O7 @4 B pLight->Diffuse.b = lightColorPrv.b1;9 B e$ @* j* W1 u) M0 c
// oˉè* ??à?
* y# \) K p+ u: [2 E9 k% J) Y pLight->Specular.r = 1.0f;7 C/ [0 |' H3 o' ~9 X
pLight->Specular.g = 1.0f;1 `$ U( [5 }* \. B! g! L! G. Y; R
pLight->Specular.b = 1.0f;
$ v& R A+ Y, B4 B" w7 ?- r3 h' T // àü?? oˉè* & `2 y: K5 A( T6 F& C0 g. X
pLight->Ambient.r = lightColorPrv.r2;) k+ ^+ j9 w& g6 ]1 Y) h+ @
pLight->Ambient.g = lightColorPrv.g2;0 a" m# a e9 d( F3 F5 O
pLight->Ambient.b = lightColorPrv.b2;
. B1 }/ d6 U4 x" w; ^8 y1 \& t" v4 a1 _8 \. p& W( b
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.% ~5 y. d9 \$ m
{
3 `) r. {0 h8 E pLight->Diffuse.r *= 0.6f;3 m% n" p1 P: H" V; C
pLight->Diffuse.g *= 0.6f;
0 k8 n/ E! B# x/ ~$ K) L pLight->Diffuse.b *= 0.6f;
, b* C3 g$ t. Y C) R) G' [$ O pLight->Ambient.r *= 0.7f;
! P' B0 u0 w% ~ pLight->Ambient.g *= 0.7f;1 U$ \7 j) L6 q. W% ~! J5 a
pLight->Ambient.b *= 0.7f;
?- Y G; K% Z* ^ }
6 p' _2 q; ^; i& _; ^7 x* ^ . w! A: w( Z2 E0 R& c" U
#if __VER >= 15 // __BS_CHANGING_ENVIR. e, o' X/ e' H+ c0 u
if( g_pPlayer ) D$ p( u+ r _0 u0 C* L8 ^
HookUpdateLight( pLight ); * J1 X) C. Y! T! ]- O. j
#endif& j' G, Q3 n+ m
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
3 j$ a, w5 i( i3 ~$ z$ S# E$ @/ ~$ w+ f( F' Z j* U
#ifdef __YENV
T" D Q% J% T pLight->Diffuse.r *= 1.1f;; B0 y$ C4 J9 c8 ?2 I6 q
pLight->Diffuse.g *= 1.1f;8 f9 x) k7 [+ U
pLight->Diffuse.b *= 1.1f;0 l# f& a+ {8 P
// oˉè* ??à?
. Z3 q. E4 a l) [ pLight->Specular.r = 2.0f;
) D4 s5 C. Z5 c+ v$ r4 z pLight->Specular.g = 2.0f;) X: S* \. l2 K, c8 P
pLight->Specular.b = 2.0f;8 n6 s7 e( D) [
// á?oˉ 6 R# d$ K$ I7 @% m9 z+ M
pLight->Ambient.r *= 1.0f;3 y3 l5 Y g( v9 `
pLight->Ambient.g *= 1.0f;
' \, ?) _8 b5 P8 x% I1 M4 e. t pLight->Ambient.b *= 1.0f;& K$ d9 B7 [$ E. z) `% q9 B
#else //__YENV# X; D# {$ N/ G
pLight->Diffuse.r *= 1.1f;
e: A7 }5 K7 _0 f4 u. B1 [; n pLight->Diffuse.g *= 1.1f;
2 @6 j p- J# c( z7 B' ~- q1 G pLight->Diffuse.b *= 1.1f;
# V& n" j1 Q; o0 u% D // oˉè* ??à? - T- E7 n7 C( q0 c, h; H- @8 u. j
pLight->Specular.r = 2.0f;
" i2 p" W4 s8 |1 `9 X" F/ Z pLight->Specular.g = 2.0f;
: `! x% n0 H& o% {8 g: M pLight->Specular.b = 2.0f;2 [5 \2 P8 U: y5 ^3 L% e3 P8 I
// á?oˉ
, L. z7 I, R- u6 I( g. M! B* y pLight->Ambient.r *= 0.9f;
4 C! ^8 E( }# i8 t pLight->Ambient.g *= 0.9f;
# \* Q+ S" ?. I4 a4 V pLight->Ambient.b *= 0.9f;
2 w5 `( S J! c* @- c8 O9 A#endif //__YENV
( @0 t4 R% m4 i& d
1 S) `, U" v8 Q memcpy( &m_light, pLight, sizeof( m_light ) );0 n. c g8 d$ R# M& I6 E
. ?+ |2 X8 i. K
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
8 A, F8 C6 c8 J0 f1 W; \- Z1 ~ D3DXMATRIX matTemp;
, K0 q" R9 Y. B( _ static const float CONS_VAL = 3.1415926f / 180.f;6 w4 ^3 G( A0 s0 G( ]0 E
. p* A, W8 E7 s- L
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
( e" m- I a, b/ v4 B D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
7 _& @8 K( F$ J$ B) }/ \- i1 c pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
; m6 l) u2 c3 R; j0 Z$ J2 }# Q pLight->Appear( m_pd3dDevice, TRUE );, v1 F* o, z# z$ C. w& w
- `. E" f3 I2 |: Q4 l4 T // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);, x+ |8 F* Y7 H( F( [/ B
// D3DXVec3Normalize(&(vecSun),&(vecSun));
: f$ n/ R8 M( C% I4 w$ x; H( A // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
3 e$ o* Y7 n: O3 t1 Q- A0 Z0 r0 U5 ~+ R e0 b, G/ a* Q) C
DWORD dwR, dwG, dwB;8 w' v* a6 M3 c
dwR = (DWORD)( pLight->Ambient.r * 255 );. M% a- {$ n+ I) q/ z% q: ?* B
dwG = (DWORD)( pLight->Ambient.g * 255 );$ o1 ?( |% w3 _0 u
dwB = (DWORD)( pLight->Ambient.b * 255 );
9 J C( U' I9 v% X6 W/ } dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; a$ B- g( `4 W) S8 m( B4 } }" p# V5 q# ~% l$ \
}) ?$ ^& D+ U! V) L5 ~2 Q' B
! o3 l- v; d' g m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
8 U- X! v7 \+ \ 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) ); ~& i$ W' @3 ]+ H
::SetLight( bLight );
) E. W- E5 F5 D5 ]% K7 g; @& s. _8 Q# |
// ±ao? ?D?í???ó á¤à?
' b) Q( K7 O% [ m_pd3dDevice->SetMaterial( &m_baseMaterial );) _" N& [( W$ s
' x% Y0 y3 u' v#endif // not WORLDSERVER
4 X$ I" |( _9 {% a}
9 y# }, P+ b" E# K, c并更换7 z" w1 p. I% H4 B) K& I
Code:, F$ X: @: A9 J
__FLYFF_INITPAGE_EXT
9 p) \7 G) F. ~0 N1 _: ^4 v* g定义1 |9 z7 b! I8 V h7 |! }% t' Q
6 {. S' q. R' y% g
7 W Z$ x# d* M0 d6 {0 I' J$ h, U. E, P5 u0 w. {
* h, `# L# t j& _
现在终于删除我的狗屁加速...: c+ y+ j+ v4 C& _/ F
! y4 J" o4 }/ [- {$ P3 Z* A6 K: O+ O* r/ V
* d* H( U h: |2 K |
|