|
|
食品车:
% _/ b) Z& A4 f8 F1 v7 \. z* `0 p尾翼:6 Z* w9 ?: C; d/ m
8 Y: D( d% [3 A, \$ D& {代码:' t6 k5 I; n6 n2 S
CWndAutoFood::CWndAutoFood()
. a. K/ z. f$ U H% g0 p% L{$ D" x" r# K) _& e9 S" c
m_pItemElem = NULL;
, O, a y& f# N m_pTexture = NULL;
6 }' Z3 j, L. e% R _9 T$ V( K bStart = FALSE;/ ~1 S/ |/ i" I. E' E! V) c
}+ d( m' T" o( r: c; j$ }
# j4 c1 H& Q3 W9 z7 pCWndAutoFood::~CWndAutoFood(); r, j" b' R' |& E6 W7 b( F/ ^: `
{
3 L3 r4 l+ f7 R4 r( V0 n AfxMessageBox( "AutoFood ist gestorben " );
1 r9 z/ b8 v. f( q' s}0 k! a# z7 S7 }+ N
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
2 l+ r7 U3 u r{
$ |$ T W/ T, G return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
$ L, b' b6 f) w' k m3 y9 `}' N: Q: o) K1 Q9 U$ {* F
# w' U; S* C8 U- b0 v# @
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
5 E/ |( M* m9 m4 {- x. J{
: v7 }* Z& q9 ? LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
% d9 Y4 v6 _9 a5 g$ c CRect rect = pWndCtrl->rect;, R5 i, T6 m( x8 ?2 Z6 A( g/ b
if( rect && rect.PtInRect( point ) )# R$ R+ c$ R- I2 H( K n
{
0 K/ ]" k6 s/ k' V CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
0 z0 w8 h6 O U' q$ U- o if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )9 _1 C8 p' s# P5 i
{) D' {0 b d ]5 @
if( m_pItemElem )- ?( i" Y) k9 P- n& d' H: s
{3 c' U% }' v5 Q5 [: k
m_pItemElem = NULL;
# _" m3 y; T H7 r! t }
# }8 q% w/ z. N; R m_pItemElem = pItemElem;8 I( ]+ R1 R8 s ~% b
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
1 `8 E, q3 V( O( {; W' z1 K }else{3 F0 P- P4 p9 C2 u- w) [5 m
SetForbid( TRUE );
: U2 S7 u; n% q( ?7 k) s) x }( ]) }" a" B, m) R: l) K
}else{
- @0 t7 h3 m8 _. E SetForbid( TRUE );
- ?3 ^; u" j0 j3 T }% b" P7 O$ [& g' a% m2 J% P$ V
return TRUE;* R0 D8 s) L& r/ C
}
" m+ Y/ @: X. Q7 f; J# n- Q
; J$ X! U {+ X. K# cBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
1 K4 u8 h+ @! K& h) W& G/ D{
: N! g# Y5 D5 v: A: Z X switch( nID )0 o$ |, ]0 ^) Y
{% w, ?/ ?2 p- T- O
case WIDC_BUTTON3:
2 I2 n" g# P) m7 M) F0 I2 b( C { v* K) a& W* Z; ^7 E( o
bStart = TRUE;/ Q% C# c9 `" z$ Y V
break;
& z1 c) A- Q% ^4 s2 Q }
9 {* @! D- r( b case WIDC_BUTTON4:# t' @$ }3 F) Q2 B
{& x" ]. Q& x& l2 B- f
bStart = FALSE;1 {: e0 U- T& P `3 ^
break;
6 B+ F- Y1 l5 u4 d: V" k }
2 h) s5 B6 o ~9 j& a }
- D9 ~; a0 k. s0 b1 E return CWndNeuz::OnChildNotify( message, nID, pLResult );
0 U8 b' [! e/ E) T3 i0 C} / V. `, M! H! {6 J% C5 K
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
. t' Y' q6 p- z( p4 ]{
% _( Y+ l! f- C# N [ v CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
' Q' | T; c) H if( bStart || !m_pItemElem )
+ K% q" m/ g( k8 R {
' o) y: T h* p* t4 e! T0 z pBtn->EnableWindow( FALSE );
2 n! ]! w& r# l) B; g2 a! K }else
- B$ ^9 h$ x( V2 a pBtn->EnableWindow( TRUE );# Z3 c3 G4 b- f+ ~ p
if( m_pTexture )
/ z7 G' Y2 Y2 W7 \8 `! M: _ {# f8 y: b! T- C+ u9 B; D4 d5 Q- I
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );/ l" d2 P Y) E- e! M
if( wndCtrl && wndCtrl->rect ) e7 K! F3 f8 x0 K# R( N
{3 d, j' x6 w( \- f6 {! r
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
5 ~& x; O) ^+ d2 x' o/ H5 j" v }1 T* F0 [# y6 E3 O1 ?
}
$ I2 T( C% g" F" ]. U}& E5 X1 {# {& k- {
3 L/ N! c6 q) Z& \2 h; D6 e, k- q
BOOL CWndAutoFood: rocess()( S5 R( V' C7 T1 a7 V
{) h/ o4 H0 s$ M
if( bStart )
: x5 D2 T4 k8 E# i4 X: o$ ]0 B {
, z$ _$ w- W) _# Q9 A6 h. U if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
% k% z0 j7 Y4 J- o! \% K. Z {
) {2 h1 ]2 W3 J& c if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )6 |1 _% W6 {. p3 v- X8 z7 k
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );* ~/ w- u- a0 F) R. J- e
}else{4 l1 g2 ~( j( d$ r8 f8 q/ P3 y
bStart = FALSE;1 K6 m6 o4 L( P8 {! j
m_pItemElem = NULL; X3 G; \" Z. _7 E
}
5 g8 h9 m/ t u }0 d+ }% c2 O" E; d8 r
return TRUE;& K: x- S3 r5 Q4 r' t2 t( ^' ]
}7 N! q( t% U F7 P; b6 Q! f
5 G& p6 l( B* Z4 _/ b. [1 e登录视频废话:
( P) k2 @7 C P, g2 c尾翼:- v1 h% n0 T: d) Z
6 s! U" q7 _ Z, D
代码:
! U0 m5 Q: T4 f+ K# v! G( ?0 J9 q3 J% V8 i
void CWorld::SetLight( BOOL bLight )0 n, P' f+ h- K+ B$ S+ P6 e
durch
, D1 P( w+ E! _$ }6 bCode:% |& t9 c0 P- Q: [' s j
void CWorld::SetLight( BOOL bLight )) D# T1 T* O9 U( r
{; K* Q0 W' s2 ~! Z7 L4 i& O" h9 }
//ACE("SetLight %d \n", bLight);
# H: K: @4 W9 q. [, W+ D7 F
* U4 f" j; J4 h. h- y#ifndef __WORLDSERVER F* E7 H1 r+ i& [+ _
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);5 Q' h0 m) n) d& h, x) r6 c9 p
CLight* pLight = NULL;1 s5 }' X8 i! T }
. k4 y$ e" L; D2 B) l, {; H
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
/ a w: K# z$ V! _9 T7 `6 V2 N' o- N' M2 f) [" s1 W
pLight = GetLight( "direction" );
( a+ ]# B% i) m: l! o0 s
+ G3 D5 g* ^2 B$ x#if __VER >= 15 // __BS_CHANGING_ENVIR+ p. C% S, x! n
if( g_pPlayer ){ ]& x( q6 o6 j
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );: Y: A5 _$ M& j E9 q1 T
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!2 ` s+ t* Y+ Z3 \# E: ]( R& u
{
5 l. J3 ^6 n! q% d if( pLight )
: |9 v) a9 ?7 ?8 P4 S {
! Z- p8 H" @5 m pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
|3 |3 N( G; H7 i( P pLight->Ambient.g = pInfo->_fAmbient[ 1 ];, l7 R' q% ]" N3 g: ^
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
6 d1 q; m4 Y* W
8 ]( c% ~7 y* x: K+ [ pLight->Specular.r = 2.0f;
- j( G* ]! k- y' m9 P pLight->Specular.g = 2.0f;. g9 Y& w5 I5 Y
pLight->Specular.b = 2.0f;7 W# G$ |( r& P" y
4 b" }1 _( E& Y# r7 U8 O
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];6 `8 X7 g% }6 P
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
* |- X9 C7 [: k; ~# r5 e; B pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];0 d( q8 V, U) E# E$ M
1 s# K4 [! w: n7 S/ s6 ?
HookUpdateLight( pLight ); 7 q) H% O0 k* H4 ~+ A
2 w6 c/ W8 P; P- X
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 k1 l8 P* k! m2 F; F1 }, T* Z
+ l& L! }5 \* n8 B& t9 x6 m pLight->Diffuse.r *= 1.2f;
* C. F/ h2 j) a" S/ s/ C+ s# X pLight->Diffuse.g *= 1.2f;
" ^5 O+ v, s& Y* i0 r) P0 C* K pLight->Diffuse.b *= 1.2f;, Z% ^& }; U E
6 H5 Q h. f: _5 J' Z2 u" v" ~ pLight->Ambient.r *= 0.8f;
) t# x/ r. _9 V8 }1 T4 w. l- l8 n! E pLight->Ambient.g *= 0.8f;: f2 t2 ]5 T6 D( B
pLight->Ambient.b *= 0.8f;
6 T- _2 `# X5 g8 m4 c; @: R
2 d& P8 o: h. u memcpy( &m_light, pLight, sizeof( m_light ) );
4 w9 q- s( N% S9 _) M# ^
' u3 T( x6 F( x8 _ D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
, j% I* b, Z0 J% J D3DXVec3Normalize(&(vecSun),&(vecSun));) R8 d- u( d- d5 b- l# P' ^. l
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
% S$ a2 Z( {; ~8 X pLight->Appear( m_pd3dDevice, TRUE );7 |9 a* D4 t6 R6 \! D
* M' ^, U- _( L( N
DWORD dwR, dwG, dwB;
" L" m X& L U, M dwR = (DWORD)( pLight->Ambient.r * 255 );1 |+ N7 d; X7 N9 \" p
dwG = (DWORD)( pLight->Ambient.g * 255 );; U! @5 p0 e7 Q2 Q% @2 w
dwB = (DWORD)( pLight->Ambient.b * 255 );9 I( Z. q& e& S* v
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% H: @; U) p5 h } n0 F S1 [" [* w
}
8 `- m9 B. N; o% K x8 W: c; q }
* B7 ^4 K: g$ G+ j1 H8 w else
+ y# ?0 u; P! \1 f3 X#endif % ?8 z. |5 h6 e* F3 F9 {
* J* U7 ]; D/ T! c$ D if( m_bIsIndoor )
: H; B( ^6 [. E* @# D! A {
) W# h+ v% H$ {% Z- N! k if( pLight )
; q5 l- y# w4 h- P1 [ { ) {0 {. i3 [+ A- E; j
// à??μ oˉè* . x: @' S/ D; h1 ^7 D& n6 R
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
, i6 }! Q1 }9 d& w pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;0 j, |4 x1 c" M. r9 C5 M. G/ S
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;, w/ r) ]! Y6 ^" t$ b( S
- C" w: N' W) `1 b- p // oˉè* ??à? + ^0 v- p1 _/ Q3 L& [! E; N
pLight->Specular.r = 1.0f;
8 v% I& r' F) |6 {8 g pLight->Specular.g = 1.0f;7 d$ L3 t* J+ n
pLight->Specular.b = 1.0f;3 J# O6 C' V3 s4 m1 @- a
// àü?? oˉè* g+ [1 B* [: K/ A# L' L. j
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
8 g; t. N* N% h6 f: d pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;" r+ v8 |. O" J8 U6 }0 l4 c4 T
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
$ F! ~4 e& R; N* f" Y/ o* k) l) \! ]% {0 z+ v+ l! N7 N7 J
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
/ p( s8 l+ V& d, H, w8 W ~ {
/ p2 }7 d* W! F8 N* Q+ s) ] pLight->Diffuse.r *= 0.6f;
9 |& L/ b' A1 h, t9 j3 i* I3 G pLight->Diffuse.g *= 0.6f;
$ S; n7 n5 u# j# w: y2 i. C pLight->Diffuse.b *= 0.6f;
% r+ G& H1 T" @: s pLight->Ambient.r *= 0.7f;2 P* T! f+ w. ~
pLight->Ambient.g *= 0.7f;
0 I: t, H9 p3 f- t9 R* o pLight->Ambient.b *= 0.7f;
6 I4 s' v5 _' l- H; i }9 B- z9 j- L6 i3 P$ \" g
6 D0 ]1 ~! f; `& R* R/ S n#if __VER >= 15 // __BS_CHANGING_ENVIR2 A* C7 }( \! x0 c) B* a( l( A8 P
if( g_pPlayer ): ]8 V/ A- T7 T
HookUpdateLight( pLight );
2 |3 z- U7 a: w; [8 f#endif9 q2 I$ s, k4 n
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );, X- ]7 Z F) L }4 b7 s
; u4 J+ q2 `0 z0 S( r* n pLight->Diffuse.r += 0.1f;
. @7 I$ ^6 `4 X4 n" D% ?3 `9 ` pLight->Diffuse.g += 0.1f;
8 ^ |& P: C7 A1 o1 B+ l& \ pLight->Diffuse.b += 0.1f;: K5 S @# E1 H5 a1 P, b
// oˉè* ??à? 4 L7 i0 s# M8 N' }* S/ I
pLight->Specular.r = 2.0f;
7 ~5 a: a& [6 f/ J" Z3 D0 u pLight->Specular.g = 2.0f;
- }3 W& i" D+ ?2 d pLight->Specular.b = 2.0f;
' L& j! K$ [0 l/ W5 }! J // á?oˉ
/ C6 ], F, z, V1 S pLight->Ambient.r *= 0.9f;/ o8 {2 z# ?2 s& V
pLight->Ambient.g *= 0.9f;
9 R! C" i) R% @ pLight->Ambient.b *= 0.9f;
- n2 R' K* J5 @% e; S" E: @+ b, P: W4 y& Y% y# M! z( n# p# o( |
memcpy( &m_light, pLight, sizeof( m_light ) );
' q- A J+ n& U. f7 G( _
' E$ y, R# |! p8 I+ K K* H pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );) j! ^ u* V& v
pLight->Appear( m_pd3dDevice, TRUE );' Q4 d% B; m6 T3 _# a$ _& m0 ^$ i
1 o# m% i: m! c( @9 l DWORD dwR, dwG, dwB;
& G& W C+ d( M: y! n dwR = (DWORD)( pLight->Ambient.r * 255 );! {" p8 Q7 ^8 `0 c5 c$ D
dwG = (DWORD)( pLight->Ambient.g * 255 );
7 ]# O9 j) T* X9 f dwB = (DWORD)( pLight->Ambient.b * 255 );: z6 F) f. K) T
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );1 o# M) H* t: T& x; J8 Y
}
$ ^" Z& ]$ A4 t# }& \( G }
; F. L6 ]) o$ k+ H else
) H% M6 S) F! a {: l8 Y% V+ T2 ^" V) ~5 q
if( pLight )
9 @1 O5 N7 S: |: ~1 z8 b {
; a F* n$ Y! w: f
- i; m& b( W! x! P* y( t/ T' p int nHour = 8, nMin = 0;
: p* k, ^1 r9 q% x8 S& B# u #ifdef __CLIENT
X2 ?. u% M9 ~/ m! p // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 3 [# G/ B' ~( L1 }
nHour = g_GameTimer.m_nHour;
. W( C5 |( T1 h nMin = g_GameTimer.m_nMin ;1 _7 U S/ r+ {# ~# M/ H
#else( X5 o& `1 {7 ?8 _- @9 e
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.1 u: `% R) N# h$ V
if( m_nLightType == 1 )
+ _# L, ~# B* D4 l/ w$ h nHour = m_nLightHour;. f0 R; f; m7 ?
#endif7 @* v3 h* q6 X! f
nHour--;
& S/ A, j% e! g# x+ a if( nHour < 0 ) nHour = 0;# @6 H' a. i) j
if( nHour > 23 ) nHour = 23;
" E. m" q9 n6 C# v$ l6 r0 S
; L- H. p+ n) { //if( m_bFixedHour )1 m. r6 O2 K9 s, i$ T
// nHour = m_nFixedHour, nMin = 0;
c, k. L. H0 I# q3 O LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
& o2 F7 V+ x/ F: @. N3 { LIGHTCOLOR lightColor = m_k24Light[ nHour ];
' V+ V* F* W, a' I, o
9 b+ k9 y+ P: O& [ //m_lightColor = lightColorPrv;
4 B! c1 m7 v& f" l0 q$ D lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
9 i& j2 U8 d2 ]; r- ^4 ]3 ] lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;( F& P2 G3 L6 ~/ U9 b6 ?8 Q* Y$ @
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
3 h/ O9 U% F# _! O7 P& w- h lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
* c# P: t! R7 H0 I7 q, k7 J4 l3 z lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;) @7 o5 A7 }7 `' H
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
& t# ~2 G! M$ g) y% @) d. S // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
+ O" k+ l5 H( p$ ]2 c3 W3 @& Z* ^& L
// à??μ oˉè* * H& m( C5 H! q; U
pLight->Diffuse.r = lightColorPrv.r1;, A9 Z0 E* _8 G* M5 Z" S# J
pLight->Diffuse.g = lightColorPrv.g1;; k" v3 o- e7 P3 m, I1 X' S( J& g
pLight->Diffuse.b = lightColorPrv.b1; S! J7 M, R2 W, E# F3 h' w) X4 n- v
// oˉè* ??à?
( r" C# S4 Q* M8 I& q pLight->Specular.r = 1.0f;7 C( o9 s! ?- d
pLight->Specular.g = 1.0f;
D* ^' x3 w# S- a2 A! ` pLight->Specular.b = 1.0f;) \5 I: P9 t4 T$ J- L& _4 c& _
// àü?? oˉè* 8 F% `& T5 U6 T9 a# J7 U# X% Z7 t
pLight->Ambient.r = lightColorPrv.r2;
! e5 S1 q6 Z, M pLight->Ambient.g = lightColorPrv.g2;
0 z" s7 E- I' L% Y# w% X7 s- N pLight->Ambient.b = lightColorPrv.b2;
! Z' D- b9 j( I( M1 B9 x5 d3 v0 A; c w% S+ s2 h
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.# \- W% J O7 h2 P
{3 B/ l0 U% ?8 c! U# o! {
pLight->Diffuse.r *= 0.6f;) B }: z" J \2 V. H9 d
pLight->Diffuse.g *= 0.6f;
& H3 b0 F s2 e pLight->Diffuse.b *= 0.6f;( z x9 x [2 u4 l" {
pLight->Ambient.r *= 0.7f;
6 n/ F2 ?9 f; C5 A6 q) X$ r pLight->Ambient.g *= 0.7f;6 f! R5 w: H* {( ?1 N
pLight->Ambient.b *= 0.7f;9 g1 T) E! G- z6 H4 W' ?6 P
}7 e, ^' O& m7 r: V! p
6 v4 @+ M5 S; V* R3 R: _+ @1 g
#if __VER >= 15 // __BS_CHANGING_ENVIR
# ~( ]+ g$ K: T) [" W if( g_pPlayer )
' _4 q1 ?% k. s+ Z HookUpdateLight( pLight ); # ~7 W3 m% h+ Q% C
#endif
$ I# n# U4 I- d' B4 l+ w) G memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
' ^* A" T- Y5 B- M: r9 g3 l% l
7 {2 u/ J( g! d6 k2 }: B1 M#ifdef __YENV
; e( i1 W# s0 [3 Y pLight->Diffuse.r *= 1.1f;
9 |: U3 N: Q5 `9 ~+ e9 Z pLight->Diffuse.g *= 1.1f;
: e8 l, H1 \) L pLight->Diffuse.b *= 1.1f;
5 r4 i; b0 m6 \: e6 z: r // oˉè* ??à? 1 I# A) { `0 l5 \; Q: A
pLight->Specular.r = 2.0f;3 m, e* [$ [6 t+ Q6 I2 B8 r
pLight->Specular.g = 2.0f;
u4 }/ {2 A4 e1 Z9 X- @1 { pLight->Specular.b = 2.0f;
; ^. y0 M) Z, O7 M% f& L0 I // á?oˉ 2 s1 v" Q9 J$ @( Z; V6 b. ^
pLight->Ambient.r *= 1.0f;
' {$ E. M2 R6 i4 `! h& a9 l pLight->Ambient.g *= 1.0f;, t2 [9 p5 l4 Y9 W; a
pLight->Ambient.b *= 1.0f;) M( e+ j2 ^1 M2 i
#else //__YENV
( @ ]9 g% n+ Z) I+ ? v pLight->Diffuse.r *= 1.1f;, r" E. {5 U% ~9 ^
pLight->Diffuse.g *= 1.1f;
- b8 f0 T5 q7 K } pLight->Diffuse.b *= 1.1f;( y* H7 R+ P6 a/ L, z8 y; k
// oˉè* ??à?
" |" D! H( _& z: q+ `+ f pLight->Specular.r = 2.0f;0 J3 s9 ]( ?9 I, b9 L& P' M) Q6 J: j
pLight->Specular.g = 2.0f;. S. D6 c; O% D$ |* E
pLight->Specular.b = 2.0f;- q5 @* e# l* r2 I% ]$ r
// á?oˉ
' Y& i+ c: x" c$ H% }4 ? pLight->Ambient.r *= 0.9f;
1 d5 X \3 B7 @" m3 K# s' } pLight->Ambient.g *= 0.9f;- V7 t& k; Z* N* `* y- J
pLight->Ambient.b *= 0.9f;
, y' I& Y# p& Q, Y#endif //__YENV
6 e& N5 L' A6 g6 a- d
; E# p6 K( Q- o, j7 }& F memcpy( &m_light, pLight, sizeof( m_light ) );
( a+ r, {( x9 X7 x1 C * j: y1 ^0 G9 s, b1 `8 ^5 Z5 K
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);# X% q( ~& J, t. W
D3DXMATRIX matTemp;
+ |+ k' d2 q- ~8 r( C static const float CONS_VAL = 3.1415926f / 180.f;
9 ~9 i! g, J0 i3 j* n& c
( U3 q7 f- A, A: H# V/ C D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
2 q( z4 K2 v1 W R$ X0 k% N4 x D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
& E! U: R: m8 I$ T* K2 `- m8 u% m: Q pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); # Z0 a/ M" o" k( D! s( q& w3 L
pLight->Appear( m_pd3dDevice, TRUE );
x& E1 B/ k& Z* d7 Q5 D3 y* V4 ?% D
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
, _5 `5 R+ c& U L5 l( v# Q // D3DXVec3Normalize(&(vecSun),&(vecSun));6 a$ a" P: W1 P0 m6 z
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
% Y {! _8 v+ I: z
: S8 N* F: J. w7 o DWORD dwR, dwG, dwB;& O* [$ i- X+ K7 q Z! Z L
dwR = (DWORD)( pLight->Ambient.r * 255 ); ^4 I- y( k0 R/ `9 S( y! Z( g2 {
dwG = (DWORD)( pLight->Ambient.g * 255 );
% d- O8 [; j# p: |& ~ dwB = (DWORD)( pLight->Ambient.b * 255 );
$ ~$ r# o/ Z, ~; t* H3 Q5 s0 g dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 1 `* F& E- ]* c, R% w
}
% s P! {* j4 n, o- N- [ }
1 j( Z5 g4 z; E. p0 ~3 ] j9 k
, }3 j* h- z- w+ l* C! J6 m m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
7 A& T0 ]1 }! w0 [8 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) );
* h& X& o$ V+ K ::SetLight( bLight );
' z; d5 L0 O' s5 O& e9 N$ M# Y0 ]. G6 E) s6 v
// ±ao? ?D?í???ó á¤à? 3 S8 h' f: U. j3 Z! I
m_pd3dDevice->SetMaterial( &m_baseMaterial );
1 ?; P" z- c, M4 s- P
' x( @- H9 I; G' t9 H P( U6 l8 i#endif // not WORLDSERVER
?6 S/ f0 Z( R: }' i8 M}2 s8 j) K5 i4 D& R6 s
并更换" A* y1 T; {9 X8 e! m' @# x
Code:" T' H& ~& Q8 X9 \1 b$ z1 F# X; d
__FLYFF_INITPAGE_EXT
8 q6 w' ?/ W; f: e8 K# e4 ~定义
) c) ?( H3 a7 {' Y
9 p2 `+ X, m: ~6 e. A) Z+ `6 _+ T) N- \
3 @4 G5 }; A. A* L) w" @+ R
2 ~5 D# R7 _+ U1 y! U1 H% j( @现在终于删除我的狗屁加速...3 T9 [) ?4 ~* u3 E
/ Q3 w* O( B8 v; ]% j: D
' e9 j4 q. h1 ~* X
\$ U0 n5 d$ b- K8 K' ~, n2 M1 e7 W
|
|