|
食品车:6 k# @' B* |6 x, L9 L) y* X
尾翼:, Y7 U9 z7 ] h" G* _0 b
* @6 d4 Q' k) d! s3 y
代码:
( [/ u+ C/ i6 t% N+ JCWndAutoFood::CWndAutoFood()$ Y! c, a8 g! [% e' M
{7 w" [3 o' i# U8 [; O& R* e; L
m_pItemElem = NULL;: G* e( ]3 x5 P
m_pTexture = NULL;+ w* g# p$ L( s/ h/ O0 y7 e
bStart = FALSE;
9 `, E( x5 T! ` T' D" H}
% q0 B/ J. h* T S `
* C o) E9 y7 SCWndAutoFood::~CWndAutoFood()
4 z6 I2 C8 |' R2 y2 k: J{& C' N) h {' |+ u! U6 H5 P, j
AfxMessageBox( "AutoFood ist gestorben " );
) j# M! ~8 ?+ Z" S}# O7 _; r. j" q9 |
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )0 _0 x8 k# Q6 ]" O R* G
{( o% e0 u8 V% H, a0 Y, N' g
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
5 [, J. q/ @+ h- L% z5 F}8 Y8 O: @: E- \( A* U, f/ a0 K4 z+ |/ I
: t0 q% m# V" g! jBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )2 [( T: Y6 @! x, t* W8 q! V
{* ^: W: {* s& w* F
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );1 ~ m$ V# x/ N# j* A0 X
CRect rect = pWndCtrl->rect;
: P) T' o0 r6 s) E) ?; P$ t$ w if( rect && rect.PtInRect( point ) )! `! a" h: E+ C, }
{8 t/ g/ i% Q8 F
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
' q# i$ y$ f: q8 y9 A if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
" G2 U$ d$ c$ l; ]7 @1 Q {' T9 F' {6 P3 B
if( m_pItemElem )
4 z. z- k/ v; S( J( Q0 F. w {
3 b* _& y$ ~ y$ ], j m_pItemElem = NULL;
* |. h1 E0 U% }) U ~ }4 {$ [; T6 J4 |5 ~ t5 N8 _
m_pItemElem = pItemElem;
B& }9 {3 y6 Q I3 h m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );$ m% J, h' H0 h p" A
}else{5 s( {; L$ G0 D- `: W4 X' Y
SetForbid( TRUE );, V/ W/ y* T1 g6 j7 V
}% o3 ]: f- o* S w
}else{
9 H6 ^ I- A/ v; z SetForbid( TRUE );3 B) u% @% K& i# B5 X
}
: o, e6 p' m$ w! n( m2 A5 ] ? return TRUE;7 M# X: R6 W) l# h) y0 B4 ]+ ?* Z
}
$ B( O0 `1 b6 f4 e( { Q; R; m- d# N
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
( U# j8 p: w8 C# x+ }$ [{
8 H: T9 z% t1 h) e switch( nID ); c# W# i% X6 I8 \
{7 j# t+ n' @" m8 C7 D
case WIDC_BUTTON3:! G* F" T( @; ~$ I
{- B" V3 P @. X* C) j! S8 }; p9 b2 y7 E
bStart = TRUE;: Z0 h$ Y& f$ t: @0 q; H1 b
break;! ^0 \4 _; ~" V: W4 w# e" Q
}
0 ~; O+ h/ x z3 J" g Q9 O s case WIDC_BUTTON4:6 n1 `+ l: \5 i
{
/ {) r% a7 _! \' q6 {: b: t+ l bStart = FALSE;$ ^9 [, M* V2 {0 Q( ~
break;
. Q( I( I/ s; z }
$ W* ^3 Z2 e: H0 A6 | }
5 O$ H) W) u5 T4 Q5 K- O4 C return CWndNeuz::OnChildNotify( message, nID, pLResult );
( s8 q; H( {8 f7 b}
5 E' Z8 H, ^5 k2 K% Svoid CWndAutoFood::OnDraw( C2DRender* p2DRender )6 M7 @% |7 e7 T* c) r4 I( k
{
+ T7 f, w% ~* ]( G9 U CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
" f% ]; `! l3 R7 l if( bStart || !m_pItemElem ), D& J5 n( v! U" I0 i# u/ n
{( X1 u/ R6 A, ?" C. Q X) s+ T7 T
pBtn->EnableWindow( FALSE );) G. B+ U' M1 W
}else
8 x# D( S7 B! W p7 ^: x( |( F pBtn->EnableWindow( TRUE );% x! b9 T) m9 w8 N! s
if( m_pTexture ), I, W/ h2 i5 x- A6 {
{
9 z6 K' y6 x/ F6 N" T. l9 c LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );2 Q8 G3 p9 z/ R: Q- y4 L" J. ^7 ?/ S
if( wndCtrl && wndCtrl->rect )2 T3 _) v$ [2 |4 G) s
{
# h/ ~3 |6 O( E/ m& ? m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
l; j+ ~+ X/ S/ ]; S- z }
' Z: `) w( _) m. J }
1 m0 ? u6 G0 r$ }0 k$ C9 p9 N4 n}
( b& d1 V$ W) y+ q2 U2 |" m6 B) _0 i
BOOL CWndAutoFood: rocess()
1 j" v1 Y; Q: i9 g; Z9 E) F{
) b; ~% B7 v% l0 M* _7 C if( bStart )& x# F( V* r. X
{0 o# \ s" _3 ^: b. g; q9 l5 h; q
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )( C" p' @; t. w+ M( H
{
3 B2 X- h- u; c4 P, h7 ~; Q if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )- s4 v" V7 g5 j
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );" H }! [: o* @ e# a
}else{
+ _: }% \+ f# k, o: o( M2 f; F bStart = FALSE;- w& b B, V; z+ q" @* k; ?
m_pItemElem = NULL;1 X( V# g0 @3 [2 ]# j. K: T$ D+ f
}/ L% S+ L' A- S3 Q- H I% C% Y9 n
}( o- p" y$ B0 Y
return TRUE;
; {7 x& A& P$ L$ H# O3 k/ u}9 i1 U9 d1 l; [5 g D, J) x* k
9 I6 e$ V8 u3 ?6 z" l登录视频废话:
' d! o4 u- v" W' `2 g- n! j尾翼:6 J% r4 {9 d5 f3 w5 T; b2 ^* [
8 g1 M4 y) U/ L4 w) D( ?
代码:
+ c( y0 w9 [$ A$ C4 B+ U3 `% e" }1 K0 R0 |
void CWorld::SetLight( BOOL bLight )5 R6 O) x6 P8 |2 _ D
durch. h# l# k! y7 R6 r# n* M
Code:) j6 C \" M. `5 t1 S& [0 O
void CWorld::SetLight( BOOL bLight )9 D- o- [* C8 _: n' j. S6 s( a
{
( d7 y9 b) K- _% Q //ACE("SetLight %d \n", bLight);
: O: P2 p; r+ `* f/ N0 C6 ] ( ~5 a; r0 e( _) ^8 f
#ifndef __WORLDSERVER ' E( x; H# c0 t( p3 B
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
8 F- \4 h( P, o: r n7 K, N- e1 y7 `+ U CLight* pLight = NULL;+ N& |1 m4 D- z7 i% f* x
- j" x2 H+ k1 L, h5 u$ e7 F) b
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
3 h2 V' X/ g% o, `, s& [+ D, j. x! g0 O: G0 A/ m# [- u8 w
pLight = GetLight( "direction" );
! R. W; }+ d6 M: d4 {" C/ a, g9 P0 \
#if __VER >= 15 // __BS_CHANGING_ENVIR G% }" t3 i3 @+ S7 }8 I% o
if( g_pPlayer ){
# I; v9 A Y- c; b; N8 u/ h ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );1 R$ c0 e0 [( h( V
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
* i6 U$ c& R( D$ C; u* L: m {
% A8 l7 q7 n" ]3 |& g# d( @: O if( pLight )( X P+ q; m: v! ^& @
{
. `, F( ^# C; h; ] S* [ pLight->Ambient.r = pInfo->_fAmbient[ 0 ];$ d3 F8 _# }$ n, ]% ?2 ^ K
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];( O4 h2 k% K; F2 Y" I
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
% c _1 G; a( }% g+ e z7 ^- h
' R5 s: u0 T4 R5 l2 b pLight->Specular.r = 2.0f;
: W% N& ?" [+ _ pLight->Specular.g = 2.0f;+ g- Z* M7 v* a4 r+ t
pLight->Specular.b = 2.0f;
. r: |4 f' C: N" D) _) m
! w. f% p: u" N: P: b$ [ pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];: ^0 s; z; w/ E& K
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
/ e, K+ k/ Y/ Z7 ^% ? pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];9 U4 q2 }3 R, v) y# i' L
; `" {8 X: J7 _" r2 b% Q `
HookUpdateLight( pLight );
* m6 C! G+ H# b! T$ H6 v* P2 m
( R- M/ h7 I ]: f! I/ N' l memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );0 {( X* }' Z$ w* K
5 R8 y5 t1 t& P3 p* @ pLight->Diffuse.r *= 1.2f;4 b" _, O& z- L- y+ ]( s
pLight->Diffuse.g *= 1.2f;- P7 E' K) c0 n8 Q
pLight->Diffuse.b *= 1.2f;% ^$ g9 p3 _+ z4 Q" h
$ ]) {% Z5 ]8 P9 ]
pLight->Ambient.r *= 0.8f;% |! g" B5 A) t1 Q0 |* V4 B7 Z# {
pLight->Ambient.g *= 0.8f;
1 g- q& n* a# s2 P0 }% G pLight->Ambient.b *= 0.8f;
% d7 v$ O) R$ t1 z# @' U, r* k - k/ n6 N: ]& y' D" _
memcpy( &m_light, pLight, sizeof( m_light ) );& l8 t. ~+ ]! M4 X* c
8 @$ ~' U* O @# B
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);/ @/ B2 G/ ~$ n9 q1 E" Q9 V6 i
D3DXVec3Normalize(&(vecSun),&(vecSun));3 @1 C A/ U1 b6 w' g
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ! L9 t6 I4 M& ?" i! \
pLight->Appear( m_pd3dDevice, TRUE );' ^, t; G+ H2 V) { V5 E
1 Z2 ~1 t. C( M- _5 {7 ~+ ?
DWORD dwR, dwG, dwB;; W% D: q. S$ r
dwR = (DWORD)( pLight->Ambient.r * 255 );
/ R7 K/ @$ y7 S) s, r dwG = (DWORD)( pLight->Ambient.g * 255 );+ |+ M9 Y* H; |& b1 r5 F* w+ w
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 w8 O, x- g4 T* s5 r3 w dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );( ~& H: r' v/ [* u. n( C
}) R% o1 s, p. r8 L; }& k
}: ?( J; s+ Z3 T) ]- W9 t6 [
}* V% ?; j' l, u
else V2 [8 |" W6 y; [/ g6 c
#endif
- z& M, ~7 J6 H: x# l
/ Q7 C) `% Y6 a4 S# c% ~- B4 m8 o if( m_bIsIndoor )
( j$ s- {! N- X$ `6 |( ` c, S$ z {
/ b. k5 o/ S/ Y0 o# G if( pLight )7 O- M9 [( O- M5 F8 L
{
+ I8 ?+ T' O, r. X( u2 y // à??μ oˉè*
7 v1 {) \: W& F+ Y9 j5 M% z pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;$ z% }) A: T1 X9 Q2 E
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;$ Z/ D% _2 X# s" y- C" b' a
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
' T; L- l( s6 f$ }; o2 Z* N4 d+ I6 b2 C- d0 |4 H. I: `/ ? _ _
// oˉè* ??à?
* t3 `7 H2 ]# M) c2 g; z! a9 c( Q pLight->Specular.r = 1.0f;
: M. _* k* C9 m2 O( r( F, q pLight->Specular.g = 1.0f;- D! P: t- w* Z; N# U6 ?
pLight->Specular.b = 1.0f;
( T. K7 H* M3 u* Z" U // àü?? oˉè*
0 S: ?" k3 P3 _' L! O9 r) E( U pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;: Y5 @3 z: z7 R3 |; D" [( I0 V& J
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
3 K3 s' L1 T) [0 P pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
. O$ F3 S& ~6 i" u% L" K
3 z" s( l4 f/ c9 [. B# A if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.* M2 e* J! b( T2 |8 P) V- E
{
( I/ a( Q9 @9 I pLight->Diffuse.r *= 0.6f;
. K5 }2 J. s O* i! ?8 x r pLight->Diffuse.g *= 0.6f;, f" Z6 Y4 ^3 [- U
pLight->Diffuse.b *= 0.6f;2 N: Y( ~2 ^# k' [1 h1 w
pLight->Ambient.r *= 0.7f;
4 T9 O3 K% u. K5 f. e6 x8 Z! n9 ^" B) v pLight->Ambient.g *= 0.7f;
' A2 h8 L' v% t0 t: d pLight->Ambient.b *= 0.7f;8 o2 E7 t! F- R, ~
}& |4 i1 {3 t, T+ V; ~- ~* [, V3 k
4 P8 Y7 B Y s- _7 W: x% l#if __VER >= 15 // __BS_CHANGING_ENVIR4 h w' _' L. Y& \: h
if( g_pPlayer )
6 g" l! b- \6 L: l# e HookUpdateLight( pLight );& b0 `8 T2 f4 }
#endif
0 n' K) l& e7 J/ v5 L memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
p+ p) {# d( F+ r7 y. M2 i Z* O
pLight->Diffuse.r += 0.1f;* ?& V0 G0 Z, V3 i% P1 l, A
pLight->Diffuse.g += 0.1f;
( ~' O( G0 B6 Y6 s b4 | pLight->Diffuse.b += 0.1f;. f. S! p. w. {3 ~* n
// oˉè* ??à?
# ?' F1 p0 A5 c+ t- o pLight->Specular.r = 2.0f;
* Y: H) C3 x. h2 c$ N+ T pLight->Specular.g = 2.0f;% B8 S1 e, s' T& o
pLight->Specular.b = 2.0f;
( ]) i6 Z& y: u/ b9 a' {" _ // á?oˉ & ]! G2 e9 M6 |' e2 D; t4 q
pLight->Ambient.r *= 0.9f;
$ g; e" R2 U& v( d0 p pLight->Ambient.g *= 0.9f;
) V# O& W. Q# z" |2 j8 ] pLight->Ambient.b *= 0.9f;
# a0 t. @8 u: ?& Y! k5 N, d& J; o8 d' t8 u; ~8 M
memcpy( &m_light, pLight, sizeof( m_light ) );1 p B0 t& [, q: p. A1 ?' l- P
( \/ ]5 x" O* ^% n pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
* c# D* m8 m2 S; f! X, B4 b: ] pLight->Appear( m_pd3dDevice, TRUE );$ y3 G# u# O" @6 n& Z
" o9 z7 p j( d% x3 K DWORD dwR, dwG, dwB;9 u5 U2 Z' P! D2 e
dwR = (DWORD)( pLight->Ambient.r * 255 );, x `9 @, m9 F3 G
dwG = (DWORD)( pLight->Ambient.g * 255 );' S. z% s I. C2 o1 h
dwB = (DWORD)( pLight->Ambient.b * 255 );/ e+ y: {; H: ^2 G- B
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& i) H7 V* w2 e, \$ @ }; g7 W; f" J: [8 l. f9 \5 v
}
. R. O9 }/ M, }9 p else- n- `" C3 m" F3 R2 c
{8 `5 G7 i1 D. G9 y) |
if( pLight )4 b+ h& `$ v2 Z7 Y
{
v% E) B" B0 N# a# I" ]; P
" a6 }. q% u5 H) @8 i, } int nHour = 8, nMin = 0;
- v# K. G n9 j& U #ifdef __CLIENT
# V( N7 ~4 B; M5 { // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. % b, H9 h6 O) [0 N3 c5 T
nHour = g_GameTimer.m_nHour;
# C: I8 G' T! z) ] nMin = g_GameTimer.m_nMin ;
8 z9 @- S$ x E- Y3 e. m8 F #else
' c- g; p1 ^: W) ]- X- N5 A3 y V' f // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
( w& A5 X1 H. S# {8 W if( m_nLightType == 1 )
6 y: X6 d; L8 C nHour = m_nLightHour;
2 f0 F6 E+ k @. Y# r( N #endif7 N+ S( Q0 F# R+ j: z
nHour--;
" T( l1 y0 \+ n6 R' w- t if( nHour < 0 ) nHour = 0;
0 K9 o. A9 Y. z; P! c5 T" ` if( nHour > 23 ) nHour = 23;' y1 C1 U3 q( m& J
/ Z3 ?/ U. A1 f1 k* J
//if( m_bFixedHour )
1 v* N8 ^+ G l3 C& ^ // nHour = m_nFixedHour, nMin = 0;
$ s4 J, L6 y+ l, D4 V6 q1 v" e LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];3 P/ M& {% H& L
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
3 R9 b. m* c Z5 V7 V
5 Z8 F4 t( q2 a" Q: F+ U //m_lightColor = lightColorPrv;3 ]6 x- R( N/ t2 P% f
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;2 R3 o$ A$ l& P8 J9 F6 P3 U" v
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;$ w$ l) K1 ?" M) m' G
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
: s, p7 C& c# J# F% ~ lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
+ G. k) m, I2 Q2 ^2 {) F3 n* i+ L lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;. e! o f+ P$ d0 z0 i1 d* m1 i
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;& [! y- R: _* S7 N
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
6 _1 I/ M0 | ~' R8 B! v" \$ _ e0 D9 j7 p/ A/ V5 m
// à??μ oˉè*
j7 g, K8 V- Q pLight->Diffuse.r = lightColorPrv.r1;
- [& `) V# G- i5 }) ? pLight->Diffuse.g = lightColorPrv.g1;
8 G7 @3 _& ~5 ?$ @5 t0 F; Y7 ` pLight->Diffuse.b = lightColorPrv.b1;
7 s, R; i: S- q) v9 {1 I0 Q // oˉè* ??à?
! S5 M. L$ K+ j. K1 a+ M& o$ W pLight->Specular.r = 1.0f;
% [ r9 v9 @1 f# T4 H pLight->Specular.g = 1.0f;9 ]% d5 k# o: e
pLight->Specular.b = 1.0f;2 e+ @. b% E/ T( r. G% E% N
// àü?? oˉè* 8 j- g. Q% S' p3 z7 q
pLight->Ambient.r = lightColorPrv.r2;! _. ?& m! q5 ~: r/ i; K
pLight->Ambient.g = lightColorPrv.g2;8 K: i+ b3 I7 P
pLight->Ambient.b = lightColorPrv.b2;$ q5 o- S( i; R7 T, b5 o) C
; {6 ^; L7 x2 J+ Y \. q
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# W9 _0 R5 e5 t0 L+ N9 k% G1 E {
, S" d4 f- O; A4 F" i+ s9 @ pLight->Diffuse.r *= 0.6f;
3 s# f# E: N) x) l2 N7 Z pLight->Diffuse.g *= 0.6f;* p. U# X- I. S7 G) `
pLight->Diffuse.b *= 0.6f;5 r; D2 a: b# D0 w5 z
pLight->Ambient.r *= 0.7f;
9 e5 E& `) N0 i [' x; O1 e" {2 J pLight->Ambient.g *= 0.7f;$ a: ^) Z3 f7 R2 n4 ~- |6 U$ G& C
pLight->Ambient.b *= 0.7f;
/ m$ t: J* i9 [4 e, X }4 n; P: t( T7 A
5 M# ~+ X, G. j1 Z3 m
#if __VER >= 15 // __BS_CHANGING_ENVIR
; j' F d8 n6 z if( g_pPlayer )
+ G% `# u3 d* u& C" |1 ?% q HookUpdateLight( pLight );
8 A1 J+ T8 V2 `( u9 T, l# I' v#endif
+ o$ @4 O' Z8 G4 S* w0 _; t memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
2 }: C7 w6 j3 z" W, N7 m% n" b7 y$ P2 d! Q
#ifdef __YENV b" o7 w$ C7 b( g7 T. d
pLight->Diffuse.r *= 1.1f;
% Q. Z7 g3 \! w( i, l pLight->Diffuse.g *= 1.1f;
9 W8 @3 o$ O0 w- r. Z' S* A0 W" L pLight->Diffuse.b *= 1.1f;3 ^# ?9 r/ w8 a: s) h
// oˉè* ??à?
" S: \3 k' ]" ~8 O+ U' D" A8 c pLight->Specular.r = 2.0f;
/ ~9 Y; p% K5 g pLight->Specular.g = 2.0f;
2 u1 _) o8 T! r& {+ s pLight->Specular.b = 2.0f;9 l' A, W! R6 X! I/ _$ g
// á?oˉ |1 v0 l$ A1 h, c$ D$ j/ R
pLight->Ambient.r *= 1.0f;
1 {. ?$ r1 i$ ^0 E pLight->Ambient.g *= 1.0f;
$ `$ Z1 z1 V8 M" g3 i/ @7 N4 H pLight->Ambient.b *= 1.0f;
5 d4 f& D3 f4 h9 J9 b#else //__YENV
$ h$ v) E9 ?7 p% x pLight->Diffuse.r *= 1.1f;6 `* r4 L5 v J5 a4 f
pLight->Diffuse.g *= 1.1f;( A5 [7 k# K8 q- h; \
pLight->Diffuse.b *= 1.1f;
4 W3 f1 A5 F: c9 ] // oˉè* ??à?
1 w1 m7 M" V1 U* w+ O+ |4 T pLight->Specular.r = 2.0f;1 C( N8 t' B% I# m. ?
pLight->Specular.g = 2.0f;- X0 ?+ e9 ~' x# A5 U, f% M
pLight->Specular.b = 2.0f;) d: B) x4 U2 ^3 q4 n
// á?oˉ
" f/ F" a$ X. J* m1 D& k pLight->Ambient.r *= 0.9f;. ~1 a8 L; q" s. g9 [
pLight->Ambient.g *= 0.9f;3 a" s6 H A! F
pLight->Ambient.b *= 0.9f;
5 p/ Q8 d* {, z3 k. @; Y#endif //__YENV 5 T2 X( w3 L2 a( n8 Q/ C/ n
# V% W6 F, c4 |9 _
memcpy( &m_light, pLight, sizeof( m_light ) );
: t2 @9 b, D5 R( N9 e8 ^6 s # O1 j: S( O( e6 ?
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
4 U! j, ^, {; P, g3 R D3DXMATRIX matTemp;
0 `7 d# x0 p; \3 Q d w' ` static const float CONS_VAL = 3.1415926f / 180.f;2 X" H* `+ K9 |$ C
* O: j0 p% Z7 r0 k& C6 _ D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
. B/ {7 O4 l( z; s# t; j) s, j D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);! Q6 ?; O# I# |, [8 K# v
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
: f9 Q& K* I" x. K1 r pLight->Appear( m_pd3dDevice, TRUE );
/ l$ z# L" S7 P# j. M/ x
. t/ t- S6 H4 C V' D/ v0 ^, M3 n // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);. v/ Z% _( D8 g# ^/ q: R2 M
// D3DXVec3Normalize(&(vecSun),&(vecSun));; ]' D9 h4 }4 f1 g
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); $ d6 |: _: a5 Z% v% C2 x) t6 D
) K; s) z, y7 G K8 Y DWORD dwR, dwG, dwB;
s; L9 A3 E2 e8 S" |2 x dwR = (DWORD)( pLight->Ambient.r * 255 );( [# p! b, x9 z5 E* V5 P
dwG = (DWORD)( pLight->Ambient.g * 255 );
: _0 h! o2 v1 t% S dwB = (DWORD)( pLight->Ambient.b * 255 );
# f/ N7 h- C0 @* h dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); + ~' `$ B( d- Y$ ~/ F/ U
}, b& D3 \/ z$ A$ E& p- N' e
}
_& U1 F9 X7 A5 m4 L
5 W9 k5 M7 k, P U* g m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
% N$ D8 y6 w: N9 b6 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) );
2 Y! ]/ m; h3 R8 O ::SetLight( bLight );
/ G3 o; Y9 [' B" G" H4 L( x& h
. S, H; F% E1 z( B: a% q! a // ±ao? ?D?í???ó á¤à?
; o* L+ w4 K* n; S9 A m_pd3dDevice->SetMaterial( &m_baseMaterial );
& S; Q; j, B2 Z [0 Q
: r( m/ y4 t; l#endif // not WORLDSERVER
: d* T4 G# \3 }% |}
& b5 m+ C; C* P) x* i/ \- w并更换
+ T! N0 ^! ]4 {$ j7 a7 R( o+ H1 C) LCode:; ?2 ]0 F5 P2 T- b2 l+ o! n6 C
__FLYFF_INITPAGE_EXT D8 m: o& }2 Z; J2 J
定义
* O( s, q7 `* M, }0 h8 G5 p) c9 {7 T7 u7 ]& w" h+ V
2 T. l/ u S9 ]* | P
' H6 s$ a8 K3 X8 B
( W4 P" R8 \ g: O D) ?
现在终于删除我的狗屁加速...
. F1 r6 l1 e! R% Y4 v0 M" _5 G0 t1 |: h
6 f- X5 Y5 R9 p3 q
2 O) t' h* K+ }! ] |
|