|
食品车:
$ G# T0 W% |2 Y P# r尾翼:
1 n' o) B$ |# ]6 c3 B6 A9 @" P! x) M' t4 R' [8 K6 i
代码:
+ V( {; ~& R8 g% P8 UCWndAutoFood::CWndAutoFood(): ~( W- @2 k* p9 ^2 l, w- A
{
+ _( @: P0 a8 e" J m_pItemElem = NULL;3 |6 j" S2 `8 V& d+ z- G8 I
m_pTexture = NULL;
$ H3 I) Y/ d N( r' Z: }) @6 ?$ N bStart = FALSE;
+ o- P6 I/ q$ J3 ]& {& p& T}3 e. w6 t, @3 s
" L( K# L8 _7 ]* d" |CWndAutoFood::~CWndAutoFood()+ n+ a! [, }* c6 V% k/ l+ Y
{9 ?, L9 B2 b: B
AfxMessageBox( "AutoFood ist gestorben " );" H/ ?, K# ~2 c4 g
}
2 v8 H) \) j; I5 i7 \& wBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )) i5 i# L0 L' Z/ m7 H
{
8 ?$ P# O0 Q4 P/ Y: u! P2 [ return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
2 h! Y4 H9 s, Y1 s}9 f! `. m$ z' t& [5 e
" }6 g% e- n( n9 N# R% g zBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
) R: G3 Y& A2 B! Y% h{* @9 J( I9 ~# _: Z
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
. [/ K7 B! c+ Z( o D7 H CRect rect = pWndCtrl->rect;: H d2 q& F h+ L
if( rect && rect.PtInRect( point ) )4 u$ l" {- p. G6 h
{
: s: u j& p8 h- s# t CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId ); Q9 e8 Q, [" G5 m0 m* x
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )+ s+ W: [% z6 c8 ]; G8 @) h' O) q
{/ E' F3 {5 _6 l' c
if( m_pItemElem )# w) X8 a4 W1 |# K2 @
{
% n3 y6 P9 ~, T m_pItemElem = NULL;8 n J& q, R7 L" P; G v1 q
}
0 x9 \8 a2 V9 C- c/ t& ^ m_pItemElem = pItemElem;
8 G1 {" h) U+ x$ B; w+ N/ Y m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
+ v- {$ E; \$ P, ^ }else{, s7 x; a2 ], \4 x6 O0 d! u. `
SetForbid( TRUE );* j- w6 b& W, {- w! T
}
' h P2 O: v4 n' o: { }else{
( ~- \( W& ]; j& w% @ SetForbid( TRUE );* K- v5 u& ^. h% f8 R; l0 s
}7 \4 W; R$ v8 {6 s# o
return TRUE;# i( T, C/ Q2 \8 w" ^* A/ ^
}+ R; [ c4 M) T$ W
) g/ W0 q2 r7 B) b- J3 X
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
9 Q5 |* }% `0 x6 i s{$ ]0 a4 z8 u) t. L
switch( nID )* }4 X6 |* h/ W7 X; M
{# v" a$ J: ?+ r' h
case WIDC_BUTTON3:. e5 }) `1 F& z3 |/ C$ u
{) o, U: F' d, g, n
bStart = TRUE;
, \& u2 y* T, J5 j7 p! M! U( m" R break;) R) E* C# u1 ]' w- i/ Q
}
2 t3 } v/ Z7 }& d! y& A case WIDC_BUTTON4:! p* `9 E. q% C, h- ~" c
{
3 d. q- \% b: \; F( \ bStart = FALSE;( m4 f' E3 t* u0 n) B5 ~% D
break;
( R4 b) M- r$ g8 `7 v& C }
j" b! J8 E. X* n }
+ x7 e) E- N2 [% @/ w) e, w3 g return CWndNeuz::OnChildNotify( message, nID, pLResult );0 {- t/ h" i" d; R
} / W- p. {" j+ w5 p- {' o: j
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
8 R& N8 s" W, k+ y/ f{8 P7 d8 m7 J3 K" g( w6 s& \* [$ X
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
4 P7 ~1 S4 K1 R if( bStart || !m_pItemElem )
; T0 U' s0 P, C+ ^) ]/ W8 q {
" k1 c. M9 v7 v& M% `3 ^ pBtn->EnableWindow( FALSE );- Z/ V4 N$ N& L" P
}else7 y4 d) H# H' a
pBtn->EnableWindow( TRUE );5 N3 S9 z' e4 f) r% q
if( m_pTexture )
! A; N: ]5 @* ]4 v1 h {
- ?7 I/ A6 {. \ s5 n% c1 \' y9 ]" n LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );% H1 f0 f* w' Y; W+ |/ r2 f- E
if( wndCtrl && wndCtrl->rect )
( |: _ ^' }+ H# { {9 @) b* I3 u6 y, H" G9 p
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
8 }- A" P) w8 a0 N }) ?5 o% h# H; t2 S) {/ P! _/ B
}
% j* X1 r& p$ c* A& R9 o& ^& K4 J1 L}
; E# k- h- A6 N9 a" J
# {8 O$ a0 s0 \BOOL CWndAutoFood: rocess(); c! k7 Y: c( }
{
& W i, R, L |+ ? if( bStart )
" U" m: Q$ \2 z! z: o/ d1 ^ {! `/ j/ |8 B. q5 Q2 O' M- A: L( w
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
7 u, r: S( G/ ` {
* e* [ B9 N3 w8 [/ ^9 v/ t if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )1 x; |" D) o8 m& W S% j- R
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );8 R5 h- E7 [0 x b) [8 N2 u
}else{
; w# N, q9 p5 Z- X bStart = FALSE;" A: {2 `% X" E3 h Y( X( s* u
m_pItemElem = NULL;) O/ x) j" H2 N' l: M( E! }5 A A
}2 L& D- _% V6 m8 d0 m- U0 V
}
% }5 J, ?/ s+ h, x; {% H! u return TRUE;/ J4 f: g& B5 X0 _. U: S
}' n. O4 } |& `5 R, t
1 C+ R) F4 r, } b
登录视频废话:
# J3 G; j/ w! K( Y尾翼: `4 C* Y" l' I' ?5 @
~, w) J: s6 W* J. r
代码:6 Z6 C% H( i$ o: Z
- p5 {: L- G8 X P7 L& h( M
void CWorld::SetLight( BOOL bLight )
* B! J4 y" t6 ]) bdurch
7 _; v0 F, i* K% v" gCode:
# C* a) z! B! q* B& ^1 _2 x9 U; W$ Evoid CWorld::SetLight( BOOL bLight )( A. G+ g: M, M
{
4 R$ \# `- c" c. D' z# B" l# M: E( }+ v$ x //ACE("SetLight %d \n", bLight);) [3 w- G/ [' `. m& s' y
* R, b: r6 @; ]3 q, B#ifndef __WORLDSERVER
2 K3 U/ P. N& S& q2 t2 w& k. V. ? DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
6 s' e& ^# x0 q I6 a CLight* pLight = NULL;
* p7 a' t; ]: f# ?! _2 N& D8 I0 n( H; Z. C7 v. r
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );' ~; w2 e4 h& _5 X) B$ o( H7 W. R
, w* a0 L x' W. z- R pLight = GetLight( "direction" );
- k) W& @9 y9 j/ w5 R
% \ H+ `; b- ]; Z6 I! Z% _#if __VER >= 15 // __BS_CHANGING_ENVIR
; O: c% S: {, ~! M if( g_pPlayer ){( J6 X1 b# C% I. O* o5 g+ b1 j
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
% N8 f4 e6 h; W% x/ ] if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!, j+ p- m& ]8 H" p, k
{
' l1 ` Z$ [) f( w0 q if( pLight )
' I2 N$ J5 p2 ~- y& Z$ _ {
( q ]" |) @( a4 K/ e+ O# c$ b pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
# L* f# N) \( Q0 ^ pLight->Ambient.g = pInfo->_fAmbient[ 1 ];& S& ~3 _ e* i! M' f& R1 y% H3 F
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];- t. S" |$ ]! m
. l& H+ E, m1 ?4 K9 V
pLight->Specular.r = 2.0f;1 s" z, r9 @4 Y& V8 G1 Q% E
pLight->Specular.g = 2.0f;% |$ d( J3 T( s( }7 Q
pLight->Specular.b = 2.0f;
+ M, Q9 V3 L8 Y3 g6 D& F
5 {) W( v+ d) |# p pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];8 z: F7 p! c5 l
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
7 \1 `5 E' {/ ~+ D' w pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
1 V9 Q9 v) \" O
# x$ L. @$ f0 e' i HookUpdateLight( pLight ); - c+ E) v/ A4 K9 x
+ D4 n+ p! f' g6 e% }; E& c& g2 Q memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );% `# [4 W! H; ?4 ]( ^
f8 Y# k, d, L$ P- s9 n/ G pLight->Diffuse.r *= 1.2f;2 e [9 W) c! k' q" T. O
pLight->Diffuse.g *= 1.2f;. `8 N6 X+ z$ [6 {
pLight->Diffuse.b *= 1.2f;' S: }8 i( T* |: f( v3 J" ^- T
0 x9 B. I$ `6 J# b! o" z) N7 k% l. v. ? pLight->Ambient.r *= 0.8f;
: `; _5 _/ V' W! f9 t: \+ H3 ~ pLight->Ambient.g *= 0.8f;$ x/ }% n4 e: e1 v3 _6 k
pLight->Ambient.b *= 0.8f;$ W1 e0 x7 s& y% J" F! k" E
5 }2 R( o% v; i
memcpy( &m_light, pLight, sizeof( m_light ) );$ g2 c% P% ?8 v4 N2 t1 b' [
& _" O% N2 a3 v+ G+ f' Y
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);% o2 ]6 `( e( A& z5 h
D3DXVec3Normalize(&(vecSun),&(vecSun));
5 ~# m M) ~! m2 p0 I. r/ M/ a. L pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
7 M9 q( ?7 @% p; x6 u2 |% m pLight->Appear( m_pd3dDevice, TRUE );
4 c5 I& B+ v7 ^. T/ e9 o" h E
5 d, @$ p8 Y9 t0 Z6 H DWORD dwR, dwG, dwB;
9 O2 q, W" {0 f1 T3 Z. z' w dwR = (DWORD)( pLight->Ambient.r * 255 );
7 D! K& M, J* v0 n9 \; ^ dwG = (DWORD)( pLight->Ambient.g * 255 );
4 _% I( W7 c$ L6 ^ dwB = (DWORD)( pLight->Ambient.b * 255 );8 L! R8 v' J, O1 R
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );7 x! E- z' p5 p2 n0 ^
}6 I7 U. N% |: B
}: `1 I6 L" {" ^
}6 y. v0 K l' x' T. q
else1 h* P: L7 E0 w$ {
#endif + z5 C' ^8 _7 O2 ~) X8 ~9 u
7 r+ L, b9 n- ^+ B3 y6 U
if( m_bIsIndoor )
+ @- e8 f! {! A$ T9 ?6 j- s {
# `+ ^! N* y! R7 P. f if( pLight )5 a4 b6 r; Z& ~7 {8 k3 T0 [# E
{
$ {1 X2 O2 m$ ~4 `1 i // à??μ oˉè* 1 H5 @0 A1 }/ j K# \" l3 B; G$ o. Y
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
5 ~. @" S. S3 z4 H+ B pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;! N) \2 F( \3 k U- h
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
& S& z, a* A6 x" ?; _( F6 Q/ n1 Q' d! Z. s. G
// oˉè* ??à?
0 ?7 r0 E; L1 ` Z% E+ y) c5 r pLight->Specular.r = 1.0f;1 y- I9 L+ Y7 R8 v
pLight->Specular.g = 1.0f;- u! f! l- i) m }. t% O
pLight->Specular.b = 1.0f;
/ N% l4 s. a2 K' S, B2 y8 ] // àü?? oˉè*
$ z0 z- M, Z+ N# x pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;5 t& o" R& w- F' k) @3 ^. g
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
3 s8 l7 B( u9 S# `- F, ~ pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
* k# `, H1 [( z+ _+ L9 H' A0 m$ X% h0 h! L1 c! z1 f, t! n* e+ ]
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
2 ?/ [- X5 O+ k/ x6 _) A% b {0 g: j9 H4 U- S$ H1 ]+ F* t* P
pLight->Diffuse.r *= 0.6f;
$ L8 ~ z* S! b$ f/ W1 E* s pLight->Diffuse.g *= 0.6f;# o p, Y. H3 E- P
pLight->Diffuse.b *= 0.6f;
a2 L% E( b- o6 n5 i8 q% t pLight->Ambient.r *= 0.7f;
. p# c& c/ ^0 X pLight->Ambient.g *= 0.7f;( _. c J; k* }+ i" x5 F* z7 L0 l
pLight->Ambient.b *= 0.7f;
) V2 k m! t& R/ l' v) T6 A }+ L; ~% T. n4 L0 \
, Y2 G7 C5 e; L0 @* X& Y#if __VER >= 15 // __BS_CHANGING_ENVIR% B; R3 s9 B2 e0 U; E G+ M* U
if( g_pPlayer )$ L+ u3 o1 h& U6 A# }
HookUpdateLight( pLight );
- J6 b$ ^5 {9 o0 K& d#endif, L- Z; q0 a1 r& R* E5 W
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );9 k: D* A5 @* W) s1 q
) T0 l# E6 O: t: ~ pLight->Diffuse.r += 0.1f;% ~: L3 q5 V, q1 l
pLight->Diffuse.g += 0.1f;2 i" C4 a* z( D$ e+ O) n
pLight->Diffuse.b += 0.1f;# {2 T% ]3 i5 A3 Q, g" J: }
// oˉè* ??à? : @8 d6 ~4 ]2 n- k( y4 Q$ K. ?
pLight->Specular.r = 2.0f;
* _4 D2 n* f* ^) \7 N( \. A pLight->Specular.g = 2.0f;, }6 ?$ `; @* J$ y. h
pLight->Specular.b = 2.0f;
/ @1 o# G: U5 N+ o6 y: B# a // á?oˉ 7 q# s( R1 S) [0 e
pLight->Ambient.r *= 0.9f;
& U. ]3 m3 v: M pLight->Ambient.g *= 0.9f;( n- s4 i/ v9 S* P) d9 S
pLight->Ambient.b *= 0.9f;
4 R! U; ?# S; g+ {2 J( A" N1 s
" z# E4 w1 m* \! b4 k$ S K memcpy( &m_light, pLight, sizeof( m_light ) );' q* s/ S7 t8 ^$ m C
0 {& [( S2 ?7 t
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
& X- R. m4 T* M7 @" V) O pLight->Appear( m_pd3dDevice, TRUE );
1 V2 u/ ~# e, a8 e$ \
* c: R, ]8 @# s* D DWORD dwR, dwG, dwB;
+ I3 _! ~# u n dwR = (DWORD)( pLight->Ambient.r * 255 );+ Y. ~9 T7 I" n
dwG = (DWORD)( pLight->Ambient.g * 255 );4 _! l0 L1 r: k
dwB = (DWORD)( pLight->Ambient.b * 255 );0 n% J! E t5 V
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );: S$ w: ?) Y( w" d( G2 M
}
& N- m- m- B. x6 _ }5 a- P) t3 A/ F
else) v, r4 L) }9 N' Y1 o& a% p: n& c
{
: _5 W" i+ i' f) V if( pLight )" W) t% V0 G0 l1 e. V- [
{9 L" J( w' X( Q! k5 x! W/ ~
2 R+ @0 D% a/ S! M* s" l int nHour = 8, nMin = 0;
7 ~; h. C. y. H h! y" I #ifdef __CLIENT
5 M# `( N3 Z% c+ \# O5 t. h$ D; } // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
3 y% Y. b# S5 y9 C/ b nHour = g_GameTimer.m_nHour;
8 Y7 D) ~" J: r. B$ Z% S; B) Z nMin = g_GameTimer.m_nMin ;9 S, r8 s. B- K6 Y. \1 b
#else
" m- H: K5 b' ?$ N // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.+ w' W1 o! E! Q% t- Z( s
if( m_nLightType == 1 )/ l& d/ H, ?# h x0 w( ?
nHour = m_nLightHour;. v6 w9 h W4 U, t% e
#endif6 M$ o- n8 b! j+ ~3 m' i& Q
nHour--;- j$ u( Z @2 G, p! R
if( nHour < 0 ) nHour = 0;
1 h5 G/ s: v+ s C$ B if( nHour > 23 ) nHour = 23;
- `* R" g D! }5 N; X( u$ W
$ h# M, Z% E: Q6 q$ r1 S/ x q //if( m_bFixedHour )
1 t4 w Y2 V- X8 D // nHour = m_nFixedHour, nMin = 0;) z% X, z6 {5 Q3 x% U/ I" _# f
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];. y8 _9 Z% d3 n: u
LIGHTCOLOR lightColor = m_k24Light[ nHour ];6 f+ z( O- h5 c4 ?9 K' z
4 w+ x( [) p& U& K" S* e
//m_lightColor = lightColorPrv;
1 }. w1 V- R# n" A. E" V lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;4 l/ u, u( x3 X4 \. J' H# E. m
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60; P8 e. h8 F6 H& z
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
+ S7 V9 X& f* y2 k; K `# c) \ lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;0 _5 C6 V7 m/ I' k; r
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;- ~* Q. N6 M/ s+ Z; {0 c
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
9 ^4 g+ [6 T& |! B, R( B // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
1 ~$ U7 e* C, l, Z5 k6 m: M8 k
1 i" Q+ T% q$ E" u7 H* ` // à??μ oˉè*
) B% h6 s) C- Y$ [/ S4 j. h pLight->Diffuse.r = lightColorPrv.r1;
8 p$ l0 a: G* ~, j; |! \5 E! \ pLight->Diffuse.g = lightColorPrv.g1;' t K; o) K/ `# X4 x& A
pLight->Diffuse.b = lightColorPrv.b1;/ p7 g; D) J7 @' @
// oˉè* ??à?
; x0 H: d {$ j8 n pLight->Specular.r = 1.0f;
* H) s7 q! L0 F8 o, a8 M pLight->Specular.g = 1.0f;8 k U. w, b/ }( F7 \. }, S
pLight->Specular.b = 1.0f;( w3 y9 Q6 O, ^+ Q$ \5 d
// àü?? oˉè* , `3 {5 i' P4 H% H6 Z( ?
pLight->Ambient.r = lightColorPrv.r2;
/ o" G, ~3 H: l( W3 P) F. g# D9 f" l pLight->Ambient.g = lightColorPrv.g2;
( Z' r- n" h8 ?2 s/ x; ^ pLight->Ambient.b = lightColorPrv.b2;* H" g: Y' C l. x3 V8 \+ U& W
5 S8 ^& m7 {* ~1 I% x! F6 m X* ^ if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
+ } g* X! U& X8 q {: e! |9 y1 m) S! c- S
pLight->Diffuse.r *= 0.6f;
3 U* m Y6 k4 a# K pLight->Diffuse.g *= 0.6f;0 R# }7 ]' _8 [! ?# D5 C% f7 r- R, O
pLight->Diffuse.b *= 0.6f;* d# @: f- V: `! g# H" `$ a
pLight->Ambient.r *= 0.7f;
8 ^7 t4 ^6 [/ B# C pLight->Ambient.g *= 0.7f;/ o! n1 y$ u! l. J
pLight->Ambient.b *= 0.7f;
0 J( I8 P0 k6 w3 t }
0 L- |0 A# z' R# U" [. ]
1 c8 V8 \& i6 z* ]8 _#if __VER >= 15 // __BS_CHANGING_ENVIR( p$ I! o/ q1 z; R& E4 }8 D
if( g_pPlayer ). A. \! U- I! x1 \6 s1 R- ~
HookUpdateLight( pLight );
4 p+ C. j+ F( A/ Y( O L5 u/ S$ P#endif
7 z* e$ }' w4 H9 [ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );: _+ H- r y) k5 D. d5 c+ t; X' b$ E1 Q
b3 s5 s: W. v5 x7 Z: j#ifdef __YENV
( ?5 R0 O j" m1 N pLight->Diffuse.r *= 1.1f;. _" f* X+ z* k) g/ c, K: N
pLight->Diffuse.g *= 1.1f;
& P, a; v4 w: W. H" T5 {+ w# g! K1 D pLight->Diffuse.b *= 1.1f;
5 V% g& I0 X+ b // oˉè* ??à? 3 n. G+ Z& @1 ]$ Y3 f& A% g
pLight->Specular.r = 2.0f;
5 E( m* U2 i0 j: [( o) [2 x pLight->Specular.g = 2.0f;
% E/ {7 F' M6 _9 J pLight->Specular.b = 2.0f;1 j( l$ D8 M1 U: Y4 q9 o4 {& V5 n
// á?oˉ % d& Q( e8 T) r" j, L+ P
pLight->Ambient.r *= 1.0f;
@" ]/ P1 B; G5 x4 C F pLight->Ambient.g *= 1.0f;, D5 t9 Y% m: d# l8 b7 r
pLight->Ambient.b *= 1.0f;
# w: Y1 o; Y) C4 y: U#else //__YENV
3 v. j# G+ ?, f, z pLight->Diffuse.r *= 1.1f;* O! e2 [+ x/ K7 G$ r
pLight->Diffuse.g *= 1.1f;
( N, W6 p. M. \ l. _ pLight->Diffuse.b *= 1.1f;6 N3 J- A! o( \) I: i! s: [
// oˉè* ??à? 0 T8 w L0 f d, [! w/ s
pLight->Specular.r = 2.0f;
# ?" H, `. [" h6 j pLight->Specular.g = 2.0f;
, r* I. v n: Z+ K0 Z$ ] pLight->Specular.b = 2.0f;
% |( h( T c# R; }3 o // á?oˉ
' G& H" U- ?# S, f8 o pLight->Ambient.r *= 0.9f;( ]" @- D% @4 ^
pLight->Ambient.g *= 0.9f;3 G( Q3 j) z( ? e# W& d
pLight->Ambient.b *= 0.9f;- }1 Z q) P) J' Y
#endif //__YENV : m/ }6 Z5 s1 X2 L- z1 k
( V' Q, e. [" @ i" v memcpy( &m_light, pLight, sizeof( m_light ) );* ^; _' e, J! t5 m$ v
, I7 s! D& i, ^6 t6 |& c D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);; Q: m. F, ]; [; o. ?& R6 i
D3DXMATRIX matTemp;, l0 ~; q l$ _! A( q
static const float CONS_VAL = 3.1415926f / 180.f;( F* k( M' o" h% b/ x
" U$ ~) p2 Q3 C L% O8 p' z D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
% D6 S; v3 Q- \& F0 ? D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);6 Z1 T7 k9 e2 t! L7 p
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 9 [, B6 k% P | M: B+ k
pLight->Appear( m_pd3dDevice, TRUE );
X1 P' U2 A& N9 z( w
9 o1 R' P3 W: Z0 l0 w // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);( [) ]0 U" M/ g2 N* G
// D3DXVec3Normalize(&(vecSun),&(vecSun));& O2 D* J0 C6 t) D0 o" Y
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); G9 @. Q b) P1 o% T2 A2 ]% }
9 Q6 q8 ]% n' O5 i# }
DWORD dwR, dwG, dwB;
! E" v) p. y. [- s! a dwR = (DWORD)( pLight->Ambient.r * 255 );+ i. b4 {; ]! _+ n
dwG = (DWORD)( pLight->Ambient.g * 255 );
( J5 a. ~! ]* K ^ dwB = (DWORD)( pLight->Ambient.b * 255 );
; R1 h0 Y' B& Q3 o' h, h) s4 m dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- v) q# ~; @, `( \+ f }
1 k P. C- P7 Y: ~8 A }4 l! e8 K/ n% s- `" I
: Q( m9 X7 D6 a1 }3 w) _; _4 `
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );/ L; w' ^% u+ y: w/ y7 k
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) );' Q: G# ~8 a( P8 X' ^8 ~2 S. D0 e
::SetLight( bLight );; e6 a0 _+ D& G
* W1 H. _9 {4 A0 F // ±ao? ?D?í???ó á¤à?
0 n4 s! D2 d' L. J' \+ s& h7 c m_pd3dDevice->SetMaterial( &m_baseMaterial );: V) ~& W9 s- r; s N
t# h" C! e# J( t: Y; H: @! p, m# q0 T
#endif // not WORLDSERVER
2 }5 i6 G) x% W4 h! h- m: d}
0 E4 \- b. \9 \# I并更换, n. I- T, x; n: T0 g2 X4 R8 O
Code:4 q( P5 R0 J: z
__FLYFF_INITPAGE_EXT& u1 A, m3 ^5 g* x! _
定义
0 o4 y5 Z# z" v8 s2 h3 c* d
/ _* D$ u/ V: D" @, r8 k1 h2 T$ B1 t- f2 l6 j
* c4 [" J/ {4 p- Y. F
; G. t! N, ]' J5 O7 j ]现在终于删除我的狗屁加速...
& F: {" V. J8 W) J% d* |6 H8 ]2 ?) Y0 K$ ^' ^+ v5 F* A, s
& _ `- l' ~7 T. R
7 @! h0 t, b5 K. H4 Z$ e
|
|