|
|
食品车:
f/ \0 D9 S& X8 y: [' C尾翼:" |& A) l9 o6 B2 L
# a' O1 C" a7 @代码:; I2 R! |8 @4 b- \1 X5 {# q1 L
CWndAutoFood::CWndAutoFood()
9 g$ w9 ` j8 l6 B- Z/ f{2 \7 [& e9 I2 v. a/ \) b: @
m_pItemElem = NULL; L8 i! C; A3 w/ C% M7 `! ~3 ?
m_pTexture = NULL;1 a4 l9 d& E& L4 P1 p; i, g; `: ]
bStart = FALSE;$ k5 I# L. c G) X0 @5 @
}6 R( c3 j7 R0 {7 Y: U
8 T$ v1 z: m2 f Q, F( D
CWndAutoFood::~CWndAutoFood()
' a1 {- B9 G- J6 q8 _- {# ?{
: a; T2 d4 F- W. h AfxMessageBox( "AutoFood ist gestorben " );7 ?; ]3 F' t) U! _% `+ m
}1 b, Y# E' c$ d/ w+ x2 i, f
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
8 M$ l. O' l* L& [ T s# U4 S6 I l& x{
1 v3 ]5 k+ s; V7 |, k" m! E4 _/ ?, o% j return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
0 r ^! w- w$ ^+ B1 ]1 x* c% J}
1 A& z& O o# w! e& {, N' n5 s- n5 z3 l# Y
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )" d* q6 ]- g' K! R# ]: d
{1 C% R5 _; t" w1 a3 W1 O
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
) \$ p1 C/ z& ]) v CRect rect = pWndCtrl->rect;
; G8 j. p8 F1 I4 j- Z: u; p if( rect && rect.PtInRect( point ) )
4 h/ ?: s/ q. w# _! W' j" K {& ~: g" W0 B* g1 M) _; Y
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
: Q( T" B* `: D& c if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )3 b9 X9 w4 L# ~9 [+ `. i# u
{
8 L7 ?, F3 r! l! {- p1 L if( m_pItemElem )
$ U# D Q b. n {
l g5 H7 _* L9 y m_pItemElem = NULL;5 h. {. Y( H7 y$ q
}+ m: U7 d/ M. m* M& r( U: p5 h
m_pItemElem = pItemElem;
" O+ u: y; E- y, B0 O m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
' u/ x* u" K0 G) t }else{
0 f9 C: X/ {. d/ d5 p SetForbid( TRUE );- X, n' c+ i0 ^
}
1 z: q8 W1 G8 k1 I( f2 O }else{; m* N; Y* L( j% \! \, K9 @+ I
SetForbid( TRUE );
' L" `1 t- T9 { p/ w% T% n k }" y2 Z& e3 a% e/ s2 Y
return TRUE;) e2 X2 Q: x: {0 m' x3 z
}
/ d5 Y- h9 [' C- |: j7 G: J) U! V1 f" n% n" y4 I. p
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
) }/ J2 U# z* e# w{! g1 F* ]8 ]4 u; J4 Z
switch( nID )5 y8 k( b2 K) x2 [
{
9 V; K# C1 ]0 z+ O case WIDC_BUTTON3:
' R# F# y$ q' K {0 g1 v+ u! t# e6 y. }' p! y/ p' j3 z
bStart = TRUE;
3 N) J' r& q, d7 m; B1 ]4 [ break;. y: t' Y) U6 j/ v4 S6 \2 [( i- Y* w
}
$ f$ `5 q M. p, E case WIDC_BUTTON4:
# s& w% V/ P0 v3 b0 p {
- N- o5 F6 E) t) F bStart = FALSE;
, l s3 T. o/ r- R3 f: x" t& C break;: c }$ @( T* ]2 k
}" V5 W& r# @5 Q( X8 T, a/ ~
}
1 W: }' S4 U2 G( j( s4 u( k, [" Y" [0 ~ return CWndNeuz::OnChildNotify( message, nID, pLResult );6 o! N1 x/ B" v* g$ Y7 {: X+ F) c
} % ~. U* w) R" @% M
void CWndAutoFood::OnDraw( C2DRender* p2DRender )- a$ ^1 D3 F& K9 M5 y% `: q
{! h7 |! c6 A5 x
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );! _ v8 R% M3 E' f2 e
if( bStart || !m_pItemElem )
# g6 p$ r+ D, l; X. \ {, N! _, ]) `; y9 ? W
pBtn->EnableWindow( FALSE );# W- H9 t" s2 h6 T
}else1 T, K. S2 V- |' z p; |
pBtn->EnableWindow( TRUE );
+ H. D6 x% Q% y if( m_pTexture )
; A4 D* O" \* K' G+ G0 t! [! E {- K/ I6 c* M: g( C6 }% Y& l
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );, U0 p- c4 U1 m$ ^
if( wndCtrl && wndCtrl->rect )& U1 ?7 R# j" i2 K7 K8 H9 F- j9 Z, P
{
$ l; l# v. A7 |5 ~" K, k/ b m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
: q K8 s/ u8 [( I0 s/ |" g8 | }
, @4 y) {" ^5 k" G1 D5 U }0 R3 }# O' ^* y
}
" C8 W" X! }9 [% x5 d; j/ y0 t3 E6 d
& a9 j1 m$ r G6 fBOOL CWndAutoFood: rocess(); G( o0 o& W3 e( v
{; c: | T2 q# a( Q( M* i
if( bStart )2 {1 `# D6 }- D& A
{5 p$ t" C) K! O% P% A
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
' w _$ d% c+ ~& R6 G& f" F# } {( x5 w4 E% \% P8 |
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
/ A; Q8 |& @# R0 q% Y: p g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );6 p1 _0 C6 a7 J5 B/ I! V4 b. `
}else{
7 w3 R' J- M& _- a bStart = FALSE;+ s' o$ j: ?; h7 m0 G0 V
m_pItemElem = NULL;8 ?, I1 ^2 q7 K) c; _( `" P
}, k2 D" K7 G- s" p( \
}5 Y3 i3 q7 S' z& ~ O4 L' H9 h
return TRUE;
1 m l2 }% I6 b( D- W* D; P6 G}: d/ p6 Z. M" B1 j# y
% i; B9 R" r7 Y$ N ?1 c( K. c: w
登录视频废话:6 m' |3 t1 P# f5 d
尾翼:# ]* O/ C' U9 Y
- i- p# E+ n8 a7 ?$ [( A代码:
, R& p; X# m+ T6 j
1 J; v/ W* ?; _; E" C$ Mvoid CWorld::SetLight( BOOL bLight )& x7 V" ^2 v1 r
durch
n H; }0 V0 @6 y: Z1 w& ]Code:0 o+ o2 d" b, V* R: Z
void CWorld::SetLight( BOOL bLight )' m& T5 X' h7 m2 i6 k
{7 `# f, B' y' \! ?
//ACE("SetLight %d \n", bLight);1 {4 _, `* j0 G+ J3 z( W. [2 U( Z
0 ]7 @% q$ I) d0 b#ifndef __WORLDSERVER
0 d( m- u" r2 J3 N( c DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
- {& f" |) t4 h3 ]7 ~5 H2 v4 S" [ CLight* pLight = NULL;. d* d: g( X( g" b* K& S
9 e8 o+ l2 M. W' y% r
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
8 q! x6 P% ~4 h' K& R7 o( z; @* d: H
pLight = GetLight( "direction" );' p* h* E3 z0 g; M/ [
( r* t9 z8 c2 p9 c/ T* s0 G* t4 \3 Z
#if __VER >= 15 // __BS_CHANGING_ENVIR
4 N _, p2 z! l( x if( g_pPlayer ){
8 _( Q# s: K( P. r' j; f ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );9 O- H$ S4 w! l+ Q: p7 u5 M! o
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
- d# W* m/ [4 ^% ]! d$ W6 }0 Z {: `$ F) n x5 R
if( pLight )! C; G0 W; b9 g% Z) F
{% L& W9 W7 Q: `+ a
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
. S1 ]+ L, _. R pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
/ g7 r) F% y9 `" D pLight->Ambient.b = pInfo->_fAmbient[ 2 ];6 L& \! v# s. M" {) M* N2 J
0 k& T) ]$ v: d( z# b5 p
pLight->Specular.r = 2.0f; W. _! G$ q: L) Q3 y1 H% S8 _
pLight->Specular.g = 2.0f;/ Z9 G4 {( Q2 g4 g
pLight->Specular.b = 2.0f;
! a1 F) ~9 s+ V: |, v% Q & {. v" o# j3 ?
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];+ L* y) k1 a; Q! g1 O! k; d# f
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
- Q" x2 G( ?9 g8 J. d* |; b% e pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];( O4 N9 V; q. s9 |* Y' m' P
! P2 h. G* C+ t8 r/ a* I HookUpdateLight( pLight ); * p& a4 n$ X& I5 q+ K0 X
7 B+ L+ T5 ?) @( E memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
z6 l: J8 Y; B" H5 [
# L' w) \) Y) j pLight->Diffuse.r *= 1.2f;
8 V% o- r' G" B: r% G+ T" g pLight->Diffuse.g *= 1.2f;
7 ~+ T0 Z* ?6 T% B3 \. ~ pLight->Diffuse.b *= 1.2f;
6 U2 T8 D& p$ J( I3 w
$ v, p% ]3 {% j4 U' K' q pLight->Ambient.r *= 0.8f;
5 G5 Z( L6 X# Y6 p! K pLight->Ambient.g *= 0.8f;
! H" B4 A$ i% { h$ P+ K1 ~0 L pLight->Ambient.b *= 0.8f;
& p; k5 ~( w$ X' E) l" } / D- F, J* P$ j" L" r0 i6 {
memcpy( &m_light, pLight, sizeof( m_light ) );% R. t) f6 b5 ^/ M' b
6 b7 m8 o6 `2 k# X3 V; |
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
, g8 U: ~, q$ a5 r3 x D3DXVec3Normalize(&(vecSun),&(vecSun));. p0 u( o, _. Z8 Y# j! _3 ?
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
3 h0 a: R$ \* Y$ o* e% R2 O pLight->Appear( m_pd3dDevice, TRUE );+ D7 f( @+ o5 J: Y' U
+ ^& J! W2 f+ ?! F6 D5 V
DWORD dwR, dwG, dwB;9 D* ~) E4 F' O v1 u
dwR = (DWORD)( pLight->Ambient.r * 255 );" U* W+ K& V" X& ]! U+ l! q
dwG = (DWORD)( pLight->Ambient.g * 255 );
7 A/ Z. {4 z. w% _2 M- u G; j+ r$ b0 l dwB = (DWORD)( pLight->Ambient.b * 255 );6 M+ y# e" F5 e2 y$ y. Y9 u
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );: O5 `' ^! T! S% p
}8 A7 P% q+ i H/ j0 Y
}
# D" d) E1 B" H6 B9 B }; C' b6 D- u# |& I) e2 k# H3 h; I
else/ r! m C2 i( \, j" h( L
#endif * Z' U9 k/ p' d" e, [
) Z. J5 b+ N/ o if( m_bIsIndoor )8 `& H6 i8 f$ V; c# u
{
+ f) ~& A3 ^- f2 o, e% w/ J* ?0 C if( pLight ); W+ L0 \1 B0 {: m! V U% b
{ 0 _/ J' }) l" i; I0 y+ R
// à??μ oˉè*
' ?. W7 |4 \! }! S; h pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;2 ^( l I* e0 B8 ]
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;& [5 E. I- H( @. V, g7 X5 K# w) T; K
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;0 F% e! k) S6 x- k7 E1 |
6 K& d c: R/ d" {. O: h& |9 _; @
// oˉè* ??à?
/ _/ i" O6 t: f( A7 B$ i' b pLight->Specular.r = 1.0f;% T- F; r5 D/ n$ |4 Z( w& Z0 \
pLight->Specular.g = 1.0f;$ s3 Y- E2 k7 E/ l+ E
pLight->Specular.b = 1.0f;1 y6 v0 x4 _ {4 I' |# ~& X2 c
// àü?? oˉè* m* r) g* A8 l% t% w6 v
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
5 k! n! R- V( G1 ] pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
6 Z) j7 ^, U( |7 S* Z9 U" ~0 u- i pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;* i" G/ o1 n* p z
/ S6 Y# z2 o$ {: h if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??./ [1 i+ x" T0 |0 Y
{/ b; E, G& f/ @' q1 E
pLight->Diffuse.r *= 0.6f;. h5 k; \4 O7 _/ _% x4 _1 M( S% z+ j
pLight->Diffuse.g *= 0.6f;. T [, L" m+ K$ Y1 O4 @
pLight->Diffuse.b *= 0.6f;
2 t$ G" @# ?) h6 Z6 B/ Y2 I pLight->Ambient.r *= 0.7f;; `0 ~$ C3 ~) E6 G1 u' _9 r
pLight->Ambient.g *= 0.7f;" w; N1 j1 n [
pLight->Ambient.b *= 0.7f;# S* L! M- d1 _' _
}& D. R8 d j; d- t+ \4 |
T) y$ b0 m5 S1 a
#if __VER >= 15 // __BS_CHANGING_ENVIR
4 N5 W! f& @3 F if( g_pPlayer )4 U4 \9 f1 Y" ]( K0 ~# E( V
HookUpdateLight( pLight );
0 _# I& m( w" R#endif
X, L8 }) C# s( _+ d memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; V" _5 [. e% _! @/ i/ t! L- q
pLight->Diffuse.r += 0.1f;( X( |' r, z8 q) ?, |/ G( n
pLight->Diffuse.g += 0.1f;
% A- z& ]7 c% }- a' H2 Q1 E9 \ pLight->Diffuse.b += 0.1f;2 g! x0 i& _* `/ z+ S7 l
// oˉè* ??à? 1 q' p1 Y( s" D
pLight->Specular.r = 2.0f;
( [' D& t8 l2 {6 V; r. H! x# c pLight->Specular.g = 2.0f;
. r- O* C: k! E& `' w& k! D pLight->Specular.b = 2.0f;! c' p# h: o. ?$ S0 u( g' R
// á?oˉ ; {5 C$ R/ p1 I; C: Q
pLight->Ambient.r *= 0.9f;
. \9 \( s4 Z: k3 B8 y" _0 u pLight->Ambient.g *= 0.9f;
7 S0 ^: w) L. L+ g) Y pLight->Ambient.b *= 0.9f;
@0 W2 I% q: @0 j; s1 K& ~: X" h n; B2 k# s) f7 r
memcpy( &m_light, pLight, sizeof( m_light ) );
2 e+ i7 j; ~, X+ c: S) I1 [+ I ' N, ]7 x6 b& U/ s
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
4 I2 I [# v4 \: Q! D* @! T/ A pLight->Appear( m_pd3dDevice, TRUE );- `! Z7 ?, T: G U1 ~
% V- R- B* U! _" \
DWORD dwR, dwG, dwB;
. p. I- M5 Z" b( y6 A: W! J& } dwR = (DWORD)( pLight->Ambient.r * 255 );* \$ ]3 Z# ~0 X) G) j8 g7 o
dwG = (DWORD)( pLight->Ambient.g * 255 );
& Z- }( d* s% B; f6 _ dwB = (DWORD)( pLight->Ambient.b * 255 );. Z3 O% e+ ], H- G, ]- P$ x
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );: k2 `) W) d$ `& O F2 l
}& b: E2 i4 a* z" T2 v
}
$ [+ Y7 n& Y: | else
! u2 Q/ f% m# n5 p6 J4 Z9 g {! _& _; v' d2 ]1 k. F5 D- C4 r- D9 H
if( pLight ): B* |# {, D. G4 g5 k
{& P- Q5 F; [" ~* e
- p6 m, L- j& M int nHour = 8, nMin = 0;
0 \9 _, K$ y$ \& ~ #ifdef __CLIENT$ d5 w* T) l$ q" V; K \
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. . a/ l& o/ i8 r0 A4 G. a: p
nHour = g_GameTimer.m_nHour;
) f3 P3 m! O3 U) K nMin = g_GameTimer.m_nMin ;
7 R9 |0 _; p3 i3 z, u0 y #else
9 i! w" \2 z& o1 P& j // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
; u! R: q- n% T2 m v if( m_nLightType == 1 )
- \/ F" a A# ]5 B+ V nHour = m_nLightHour;
+ ^4 q) a! n# E6 {6 y1 g #endif( G) D6 ?% L3 e& ~* |
nHour--;) X* ^1 ]5 `9 V0 @. J) a
if( nHour < 0 ) nHour = 0;4 \& I5 O# j* \3 f
if( nHour > 23 ) nHour = 23;, k% T, V2 b4 W4 z; l* {
/ N3 o# V$ }# [! ?8 b2 Y% H2 ]' r
//if( m_bFixedHour )
4 |' C6 V7 I3 I9 ^ // nHour = m_nFixedHour, nMin = 0;2 I3 z& {4 F0 r# @
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];. @" v3 k9 P* ], C# ]# i! i
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
I5 d' I1 h& w( @0 B$ K- s: m' N/ ]
1 Y( _/ n5 B: z8 D0 h9 _ //m_lightColor = lightColorPrv;
2 `1 o& B% O1 i) { |6 X lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
1 `" ?" U$ R& r, Y0 k5 e) g lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
$ J" `- R# c! d9 m lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
5 |" I, e" ]) K, r, `( d lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
& i' A/ ~- M% L$ _ lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
6 |! z( k6 G2 ]( n lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;5 n% H3 D) A3 u1 I
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)( @0 D2 o$ j: }
+ D& b$ l- H! e) v. S
// à??μ oˉè*
- u3 e7 \3 Q8 X7 s$ R pLight->Diffuse.r = lightColorPrv.r1;2 G8 w+ [" P/ Q3 W a) c. i; p' r
pLight->Diffuse.g = lightColorPrv.g1;
$ S/ D* ]# z* a E+ K! { pLight->Diffuse.b = lightColorPrv.b1;
( k U0 t4 f5 Y1 v/ Y9 T5 g // oˉè* ??à? A# M* w$ p" C
pLight->Specular.r = 1.0f;! U( h& z% n# {. K+ a/ `8 C
pLight->Specular.g = 1.0f;
& |- d" Z& U& e& o/ R. Z; H( @. f pLight->Specular.b = 1.0f;: M. U$ q8 m% n
// àü?? oˉè* + Z: k; v6 C% f0 e/ Y
pLight->Ambient.r = lightColorPrv.r2;
) i" X# y' F& k: w+ y5 }' K# I A& C! K pLight->Ambient.g = lightColorPrv.g2;( O& k6 m7 ]; b" T7 \$ t
pLight->Ambient.b = lightColorPrv.b2;
+ ~5 `4 d8 L: \8 k; J
- r, S; v( g! J9 W& V if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.6 n! _/ @( J6 i. e# d1 o+ `
{
4 B( @- V+ A, S7 x9 c. D pLight->Diffuse.r *= 0.6f;
# t F+ k' v7 X pLight->Diffuse.g *= 0.6f;
- H' y2 M8 ?+ X. e2 |9 s7 j pLight->Diffuse.b *= 0.6f;
. {4 I" f" t7 t+ f! I pLight->Ambient.r *= 0.7f;8 r. e2 I g9 B9 f3 O7 \9 K
pLight->Ambient.g *= 0.7f;
$ ~1 C* H! Q( l, h% q* w s pLight->Ambient.b *= 0.7f;8 u* l% G( K) F/ _. N$ t3 [6 Q
}1 r/ ?: j5 O' r) ?& @
' y( R; w8 O+ V0 \$ Y/ R
#if __VER >= 15 // __BS_CHANGING_ENVIR/ L7 h/ ]% g7 ^0 k; X& D' m
if( g_pPlayer )8 y' d+ H6 C, t' Y. m
HookUpdateLight( pLight );
+ @5 e- C9 K" d& Q# G7 v2 V#endif
R; z& `2 g3 K5 |3 _% H memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );* y; v4 e* n8 i! ~
4 _# t+ F0 u, P# C#ifdef __YENV6 a- l; K& r# i
pLight->Diffuse.r *= 1.1f;
. @9 @* K0 \, N+ P8 q" q pLight->Diffuse.g *= 1.1f;! J! a, O5 @: u2 j: I; ?) H
pLight->Diffuse.b *= 1.1f;
' G9 Y8 |) h' i* c // oˉè* ??à? - L" c V# d* W- X( s1 X
pLight->Specular.r = 2.0f;2 }/ Y3 U& Y/ J+ x7 a4 Y/ L
pLight->Specular.g = 2.0f;
% Q' k% C; k; e3 S, S2 W4 x pLight->Specular.b = 2.0f;
7 r5 d6 m* Q' Q- K7 g! c. g // á?oˉ 2 |( }0 f* A q- A9 w# I x) `% t* o# f
pLight->Ambient.r *= 1.0f;0 P' E0 L4 }/ E* M8 U0 o+ x+ y+ \
pLight->Ambient.g *= 1.0f;# K7 j/ G. ]' h
pLight->Ambient.b *= 1.0f;
' Y* v7 [5 [7 d( I) Y" y' @7 Y#else //__YENV
3 j: @' n% p) O1 l8 T/ U pLight->Diffuse.r *= 1.1f;
, v4 y" L/ Z* w0 p }9 w( @ pLight->Diffuse.g *= 1.1f;
. ~; p; ~ R1 Q4 O( H1 C3 G- f7 Y) p pLight->Diffuse.b *= 1.1f;% m5 }1 C" h. e1 n& J) C9 b, H4 V
// oˉè* ??à? ' Y- i! z# @0 V7 Z7 b
pLight->Specular.r = 2.0f;" k/ B: K& w0 r* |7 U
pLight->Specular.g = 2.0f;
- j5 m1 [5 F! n$ c# j4 I! b pLight->Specular.b = 2.0f;6 C6 X% a9 t6 l3 f
// á?oˉ
. _# t( o& D9 T1 Y) z- e% x r pLight->Ambient.r *= 0.9f;
' Y' R' u& Z' |# U% g3 K( K pLight->Ambient.g *= 0.9f;. r6 r& b0 |1 J+ t" I z3 k
pLight->Ambient.b *= 0.9f;; B) ?$ b; H( c
#endif //__YENV # f" B; @8 U# H' |
# ?. e; N# q# G) b6 \! X
memcpy( &m_light, pLight, sizeof( m_light ) );
( \+ t9 d W2 {$ a+ T/ N' v : d, N; ~2 o0 p/ g
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
7 C( }, D, f* b, T0 G& A D3DXMATRIX matTemp;. _4 ~; C* S( b( D f% f/ h
static const float CONS_VAL = 3.1415926f / 180.f;' ?% j( H: a3 J1 U0 J* l0 |
% J/ r$ q8 b' l7 H0 P# _# [ D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
6 H) F( Z1 l" |, B; K- r7 r D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
* o; V( h4 z; ^7 y. M pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); / W1 A/ q. |9 t6 G
pLight->Appear( m_pd3dDevice, TRUE );
) t+ E$ D3 f. U. Z& F2 w& W% Z2 P6 k2 E2 P+ h* K8 B( c$ E# h6 S: p
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);% t# A g" o' T, T5 ~+ I+ A
// D3DXVec3Normalize(&(vecSun),&(vecSun));4 [0 l* z' h4 v; T. O" _
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); , h6 H1 b3 k6 Z
0 A3 |! p7 L5 T: D; D/ y2 w
DWORD dwR, dwG, dwB;
/ F' f- n2 E0 o7 _& A dwR = (DWORD)( pLight->Ambient.r * 255 );! L0 H2 u, p$ J/ g0 B
dwG = (DWORD)( pLight->Ambient.g * 255 );! V$ y( G6 ~ ^1 e
dwB = (DWORD)( pLight->Ambient.b * 255 );4 |/ u- S" q2 M0 P8 V) M
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 I8 r9 T+ r6 e% _ A }
# ]# p+ `% U* e7 Q+ L3 Z }
# h; b& k, z5 z ]8 w& r* v: F3 V5 |& d% r8 R0 W) {
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );9 l; S- C# w2 i! F, Q
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) );
; t$ c7 o- \: N+ X# t ::SetLight( bLight );
9 ~& _, f5 }# e0 u% G+ U {+ ]
u, C1 U$ `. `) U6 a! C // ±ao? ?D?í???ó á¤à? $ x; x* k2 g- N0 @4 p; @ S0 R* R
m_pd3dDevice->SetMaterial( &m_baseMaterial );
; ^' v# N5 @4 o) z) ?+ h0 Y9 b
8 x: U7 p8 \: k: _#endif // not WORLDSERVER
# | ^- C4 r( v( H& B' O9 S& X+ P}3 c( i% s4 M, J& r7 M: n
并更换1 T6 P" s8 |1 ~( K; I4 j
Code:
b! k( y% I3 k" f- p9 D__FLYFF_INITPAGE_EXT: a" D! n2 c. C8 ^# A
定义
: X! T! o9 o2 g# e0 l/ i7 v( j! ^6 U; I' J- n
' Q1 U. H3 _3 l, ^3 Q# o5 @0 f) Q+ n* u, i$ O) e
! g, @3 y; Y9 g' R
现在终于删除我的狗屁加速...+ N2 R6 y* U, p: p% _* G8 t) E
, h9 |. l& _" ]/ q2 E2 e
1 k) Q1 i' c. F9 g! f2 ?, B$ s8 l4 d( c- l/ h4 t Y& o/ l
|
|