|
|
食品车:
3 F. a7 J, b6 Q" r8 I% S( d尾翼:
8 o/ m/ o7 ]% M1 }( F0 T5 s& n4 N% u# u6 z5 |* R
代码:
7 f1 Y) t4 l& q/ `CWndAutoFood::CWndAutoFood()
: F; n. t6 B3 v+ A& R{) h g6 _3 {0 [+ f
m_pItemElem = NULL;5 a$ K" M" h1 m2 D
m_pTexture = NULL;
% n) q- W `. J" V4 D2 X' G9 g- i bStart = FALSE;- J1 Q9 W+ B" V$ I m1 n
}; A# r6 a9 ~- X+ J
x' X: w: ~8 J; R$ z+ d8 g% C4 c
CWndAutoFood::~CWndAutoFood()0 k5 P4 q7 c. [" _. Z
{
u, T9 T4 @" Y6 ] AfxMessageBox( "AutoFood ist gestorben " );* N8 {5 F# v, T' f1 y
}
$ ~1 H7 M% y7 k) d. WBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
& n+ ^: F; W4 E{9 B9 o$ Q! D# D
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );3 d- U; u$ |9 {' K% U! }1 W
}
$ }9 H# b1 A* w+ f
* J: i, F* S$ |BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
! O; i" N) v" M; a; E{' o; f9 x- w# K
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );6 a7 w- v7 B/ Y7 w3 Q4 N9 ]2 u
CRect rect = pWndCtrl->rect;- ]/ g$ e$ D- W4 t! q3 l3 M5 A
if( rect && rect.PtInRect( point ) )
& G0 l2 |0 x" T) b {
8 G$ m2 C9 l9 T# T v3 f7 Z# j CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );% V- @' y) j% r2 S$ N: f
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )5 \0 A- b+ r/ q: N ^0 A
{
' n! n7 ]5 F1 W5 G2 Z if( m_pItemElem )4 D+ y" G4 k9 _
{
5 V9 _2 d9 k0 S& A) {* p, E m_pItemElem = NULL;, o8 N- e$ @) K% |1 y K
}
' F( }) M* |2 @ z6 K1 e" d3 N+ n m_pItemElem = pItemElem;2 U2 C1 w9 R8 q2 \+ k) w
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
5 _# _8 I0 N) { R }else{
/ [* _/ F% b. N0 Z2 w4 J( a SetForbid( TRUE );
4 f/ D1 R9 @( q) o+ o4 Y }
: k' E6 C @- O$ G- m1 e }else{
; f/ b: u4 L. S7 r/ Y7 s SetForbid( TRUE );2 h" j. v2 t8 ~- o$ H, Q
}
9 n, @& i* q! [4 Z$ l" X. h( D return TRUE;% e( @. o9 V' U8 B6 p, j# Z
}# e8 t; C: l4 x' D, u+ p
3 i- H' B7 X; G. S1 |) I* q. q- ABOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )% R% |2 `; n- l/ d
{
@8 I0 u2 c0 a1 F1 f switch( nID )( J& V( {1 o9 ]- t- M, t0 \0 q
{2 j1 K9 h p# \( n5 e
case WIDC_BUTTON3:* [8 T) e1 s4 S
{
- q! H% H2 k7 D bStart = TRUE;2 ?2 A$ D6 W8 Z3 o, _) T
break;: T5 M, f% S# g4 i6 \ P
}: q8 e* S; h" ]% G T9 O2 \1 c
case WIDC_BUTTON4:
4 c$ ?+ C w T$ P3 R {! V1 D% p [! L! O1 w j* V5 @0 p
bStart = FALSE;
' A" s4 j; D, [: n7 K/ N break;! k3 L d i& ? d i
}
5 h: S R- v& ]/ E5 } }! p6 ~) a, T7 c. ~
return CWndNeuz::OnChildNotify( message, nID, pLResult );
: Z$ o* B( p8 H}
* m L7 Y+ w6 Q2 Evoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
( b9 H+ c- v- m# g/ m7 J{
0 p* H; E. }) {( ~* t O% f# U# X3 O3 Z; ` CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
9 t6 U9 F3 \$ E& G1 j8 ~- l# S9 F if( bStart || !m_pItemElem )
1 i9 z' e* x: Q! T# K {: v y, {- ]9 A, m- j
pBtn->EnableWindow( FALSE );9 Q, X6 L L& Z8 k
}else
3 N. K3 w7 F# C n+ h; S pBtn->EnableWindow( TRUE );, j6 P( ?* |! V0 O% ^( `3 H
if( m_pTexture )
6 L p8 \2 J8 w9 C {# O. y+ s% i7 Z4 Y/ D2 [
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
# E+ H- y( s9 n6 P if( wndCtrl && wndCtrl->rect )5 N! u3 }1 m1 p+ f& }
{0 }7 [1 D& K* p! q
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );; {$ J' D$ {# |3 r( B3 u
}* E% ]) S6 |% }7 f7 O7 S9 f. V
}
. B- n( p _1 m2 z: L- A5 v}
; ]6 f, t: I+ W" e. T! L
6 }! T/ Y+ w7 L9 Y1 k/ dBOOL CWndAutoFood: rocess()
6 f' C8 e! {4 f. k K4 u{
$ p4 @4 H4 F5 O! a if( bStart )4 C% z( |0 k1 `+ Y
{' Z2 {+ m+ x6 Y% e0 x- S
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
' x3 ?. _( w- K; f+ W {- v7 X+ t# A p* x9 K- i
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
# E6 e0 G5 C5 d" ]: y9 Y g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
) D" @+ V! x! w( L8 N3 B! X) D" O }else{4 E4 K1 N+ [, c6 l% G9 e
bStart = FALSE;- N z4 s& n" a9 N/ o4 \! c
m_pItemElem = NULL;2 g% O) Y7 c9 Y. \' H9 B) K% K3 j% k& S
}/ J; o8 a& z" S: |1 Z5 z6 T" q
}, [/ i( A- S: @ _( n/ o
return TRUE;$ C( x: L3 O- T+ W& W
}
0 @5 ]4 Z% S& A& \- y1 L, X& r
* ~9 t) O5 r. y登录视频废话:
% b2 n) p6 [& v/ d尾翼:: { @7 c: I9 d$ E" [
3 ^. F+ r( J0 m- J% ^
代码:
& Y- I" \9 ]1 O3 Q
0 j, X4 I% n, {( j% tvoid CWorld::SetLight( BOOL bLight )8 U! u% M4 L# b2 R
durch; c' O: j" ]! n/ T6 D
Code:3 r3 g( Z8 [9 c P7 q$ p
void CWorld::SetLight( BOOL bLight )( z, v/ |5 i: d/ n" N
{
5 W: h1 A: Z+ E0 x! c' ]( [3 v //ACE("SetLight %d \n", bLight);
0 R( F" w" [. F S% t $ m9 e/ a) G& c/ z) P
#ifndef __WORLDSERVER
/ d. D! | n6 W( `' _5 s DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);" }4 w- Z( c. S; g. `( x
CLight* pLight = NULL;& ?- C! o; X6 m4 X3 w/ o. c
% [( j; M G, D& T
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );4 \! F J8 r# C3 o. y/ \
/ q; k* ^" ~$ S9 n5 b1 N pLight = GetLight( "direction" );& O7 Y* {: h& t! E
" f2 f6 m: A( o3 y+ G3 v#if __VER >= 15 // __BS_CHANGING_ENVIR4 ^5 V# u( Q# @
if( g_pPlayer ){2 Y# l( f; V" b% K. b4 F9 C
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
6 I9 Z1 l, A3 Y# M5 Y if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!9 `! T: X/ F. N n0 l
{
8 F& P( P. F. i* o if( pLight )7 L( j; B; v! A$ Z# c. q3 O- r
{
7 Y! T3 T5 b, L7 H+ | pLight->Ambient.r = pInfo->_fAmbient[ 0 ];: C! G8 V1 ^6 x8 A0 K, g$ N
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];% d, J% B% Z, K9 q* {1 k3 c. E) |
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];& [, l) m: K- ^5 r
2 K, G* F( e# U: g; {3 |4 z k
pLight->Specular.r = 2.0f;
4 u' i2 G1 l! M O pLight->Specular.g = 2.0f;
) k/ F8 S; i2 X pLight->Specular.b = 2.0f;) J8 z( }; f |3 d \% W" j5 v j
; O/ O# ?( ]' k. n
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
/ L1 v" P7 @; u8 e) A; G pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];. L2 C) E! n g! D$ V9 n+ `* \2 k
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
2 ~2 v% @4 n& {6 Z $ o6 _% E9 D' \* M8 [' k& x
HookUpdateLight( pLight );
! y7 ^2 \% v! w* Z* |& f9 A- l& [$ z
$ E: B i* T' j memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );, v2 b. X5 }6 Z7 a! C6 N
% y+ E1 A' Z/ E5 i# D8 k
pLight->Diffuse.r *= 1.2f;
1 b) I' B1 _! f+ |6 g" r* V pLight->Diffuse.g *= 1.2f;, Y. `0 c) U, L. Z" a' L' ?
pLight->Diffuse.b *= 1.2f;
& _" l% m* b& R+ U- T2 v+ C$ h! v# h* m- |5 Y V
pLight->Ambient.r *= 0.8f;: V" h0 j. W+ |( B; ?+ G
pLight->Ambient.g *= 0.8f;
/ R* G# v) L8 `2 V' B! f pLight->Ambient.b *= 0.8f;
. a) ^6 U( U5 F' I
. p$ x, R) ~1 v0 b memcpy( &m_light, pLight, sizeof( m_light ) );2 Q8 `( V7 o- B9 |, X: X9 F
3 S2 B1 ?5 x- p& _1 a# q
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);' \% w. I/ I" T5 X5 N: q
D3DXVec3Normalize(&(vecSun),&(vecSun));
& a2 i0 K$ H; ?+ \ z3 ?0 L4 O pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); & k2 W9 w% m ~! g. D- l6 I6 p8 P
pLight->Appear( m_pd3dDevice, TRUE );$ I* r0 e: M) K J/ K
2 N+ w5 t9 }6 q. N9 l4 C2 t
DWORD dwR, dwG, dwB;2 R* g; R' l1 ~) n# {0 x
dwR = (DWORD)( pLight->Ambient.r * 255 );
p/ j$ W3 J, j8 G4 g B dwG = (DWORD)( pLight->Ambient.g * 255 );5 x$ K' t+ T" R% Q- w
dwB = (DWORD)( pLight->Ambient.b * 255 );
9 A. Y/ H) _1 E dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );, g% l( |" Y8 {- j# l% e% v! n
}7 K) C7 |8 n- o5 q
}6 b. i P% x; O
}
& F: N) h. E# O- S, y# A& q else# m; B2 Z2 h& ]2 m" D; x8 ]7 C
#endif ) D7 Q5 `8 P* m. B* v$ Q
1 g( f* @: n. C5 [- b. @ if( m_bIsIndoor )' H: K# Q+ K. b
{
* k0 {9 c9 `4 O if( pLight )9 b$ m; q' N# Y3 b3 u
{
6 r8 [3 S4 f2 w( R6 ?2 K* |8 ? // à??μ oˉè*
4 { x N$ t0 w ?3 V pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f; O# n# o, u% ~
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;9 |' c' F+ v2 @
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;2 x6 \! F* s' k$ X; g- l
a! ?, V2 h, M& ]) T // oˉè* ??à? * {4 P; K- d- j3 w; |2 E7 U* J
pLight->Specular.r = 1.0f;/ v4 g# p5 \9 U y" {* T* Q
pLight->Specular.g = 1.0f;
; m; }5 C& @3 W) f; o; V pLight->Specular.b = 1.0f;- s9 ^- Q2 p3 \( W d6 e0 N+ h# a
// àü?? oˉè*
8 |* z2 f6 \2 |+ f$ q* W pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;5 P" }! L6 H( l
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
, E4 w( `3 j; f5 g; r pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;" s8 J. F& p2 C
/ o K y$ y" ~( ~! w3 G if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??." e+ t# S* ^/ B7 A# D1 C
{6 R6 k7 q- P+ H$ p& Q1 S' u: g
pLight->Diffuse.r *= 0.6f;
0 r' f- b8 \' H2 V pLight->Diffuse.g *= 0.6f;/ N% N6 ~1 R+ {
pLight->Diffuse.b *= 0.6f;/ D8 T! O# q- @. w* Y6 _
pLight->Ambient.r *= 0.7f;
- C& ~4 \4 ^0 Y: {0 g. p pLight->Ambient.g *= 0.7f;
4 Y8 _7 h a y1 u) O pLight->Ambient.b *= 0.7f;
, q3 y/ `! W2 V6 b" j f }/ l) g n/ X( s3 H1 s
+ n" m/ }! U# N" C. A
#if __VER >= 15 // __BS_CHANGING_ENVIR
8 M1 N" g+ g5 d T0 c3 L if( g_pPlayer ); A, P) W' I7 [1 c' x) s
HookUpdateLight( pLight );
) |* H: |# X, P |& R4 v% z#endif
9 s; Q* O8 z( I3 ?; w% e memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ Q. Q1 b& w8 Q( T3 E2 }7 z/ _; R; G x$ M. o. K/ |
pLight->Diffuse.r += 0.1f;
Z+ `' j2 ^# d7 j$ k2 b1 t; Z2 w pLight->Diffuse.g += 0.1f;
( c c) ~1 T% d8 b6 y$ t pLight->Diffuse.b += 0.1f;
7 ?/ U" v' U+ s0 b, C6 _+ o( Z1 U // oˉè* ??à? 9 c5 s9 h' N: |; }
pLight->Specular.r = 2.0f;# i4 f# t# ]& ~
pLight->Specular.g = 2.0f;
' r ?2 z- X# J pLight->Specular.b = 2.0f;
2 H$ v- b: j. [+ Y- x // á?oˉ
( Z3 q' s2 T+ K- P pLight->Ambient.r *= 0.9f;: ?( V% O* P3 C) x' ]% U, s1 C# O; s3 x
pLight->Ambient.g *= 0.9f;: K- a8 B0 j* o0 ]+ N! e% A5 }
pLight->Ambient.b *= 0.9f;
! W# b3 x( G( p5 x: o g1 B- O0 t# K: S" Z4 h( {( S
memcpy( &m_light, pLight, sizeof( m_light ) );
+ w; v' s* C2 {$ Q) {6 ]7 W5 l, e- O 1 m' I; }7 v+ m, q+ ]) Q
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
' T! Q+ t" Z% ]% Q pLight->Appear( m_pd3dDevice, TRUE );' j' ]: m+ X$ c3 Q$ ]
/ o* l, ]6 M- u
DWORD dwR, dwG, dwB;
% y' r/ d$ t( `; d! n' P dwR = (DWORD)( pLight->Ambient.r * 255 );
3 {9 s3 k* a+ X* f" c# F: S dwG = (DWORD)( pLight->Ambient.g * 255 );0 d: a4 O2 X, A
dwB = (DWORD)( pLight->Ambient.b * 255 );; S- I8 j, \* K2 V9 |0 E' r
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );6 M7 g$ M5 {' Q9 a* E: [
}
. H6 [ Z3 R& N1 Z% m* r }
' G" q# j" |, ~: p else6 S7 b ` h0 o: `
{4 N, Z5 w& X8 d3 m' V/ V
if( pLight )
2 l7 c3 Z9 \: W( \& H% m$ Y {
7 Q; w. g. t" s' B
e$ g8 y' h6 z# D. X1 w7 I int nHour = 8, nMin = 0;
+ \! u! d7 P" L; r# ~ #ifdef __CLIENT4 a+ c1 }9 b" x" `
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
# y5 u' c4 ?$ F& V nHour = g_GameTimer.m_nHour;; P* J/ ]3 y) v% v9 |, [* H
nMin = g_GameTimer.m_nMin ;
q, ]# p' Z1 b/ h2 _/ y. ~1 |2 m7 j #else8 O5 O; C4 H& K+ C6 a0 U' `
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
, l( g. E2 o) q, I. I if( m_nLightType == 1 )
" f, r9 ~7 R8 Q' a, m nHour = m_nLightHour;& W6 _4 J+ I( S1 x) @
#endif" [/ M% A; p% m' s
nHour--;
! x- ^ s! Q& ` w* y, @ if( nHour < 0 ) nHour = 0;) [+ E0 Y* c5 C5 g, B, m
if( nHour > 23 ) nHour = 23;1 A- b" ~! p" \9 u) r
m+ j6 r" k7 @& |7 A6 Q
//if( m_bFixedHour )0 h8 Q) q) H8 c' r
// nHour = m_nFixedHour, nMin = 0;
( Z( M# L" g! Q; H4 C6 [6 L, Q3 i LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
$ H$ }7 ]' c+ b: c4 W LIGHTCOLOR lightColor = m_k24Light[ nHour ];
$ k. t' c" u6 m3 c5 R6 G
4 g4 E4 @9 N& k7 \# V //m_lightColor = lightColorPrv;! n& y6 I9 V' ~2 u3 T
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;- Q0 o+ W; \4 }8 a
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;' p6 p/ y4 M) N9 Z F
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;' s. g7 ^8 v; a2 N) Q( v& N/ [2 h
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
* f# E" @- ]' A' C: L- v; Q lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;& q9 m7 n# q B9 E
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;0 F- q3 u8 _( }+ P, P' O7 t+ ~+ l
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
* |! g& Y! t6 {
; G2 |- E8 T: _! Z // à??μ oˉè* $ g3 Y; ]7 ]# e9 K
pLight->Diffuse.r = lightColorPrv.r1;
! W% ~) \" S1 Q+ n, h* B4 N; W# j' U pLight->Diffuse.g = lightColorPrv.g1;3 J4 Z, v6 \( u' M; o. D1 i
pLight->Diffuse.b = lightColorPrv.b1;
) O. Z* d+ N4 k5 r( A& q // oˉè* ??à? # y% p* v! L) ~, `
pLight->Specular.r = 1.0f;
3 u( O5 l* ~7 A8 ?8 ?! a6 Z1 H pLight->Specular.g = 1.0f;# c# {1 j9 ?& P$ |7 ?, W8 ~6 ^
pLight->Specular.b = 1.0f;' W. f! ]! e2 V$ h2 k ~3 u
// àü?? oˉè*
! O& z" E) O) T& H& u7 W- |3 ] pLight->Ambient.r = lightColorPrv.r2;
$ K1 B# t! y6 _ pLight->Ambient.g = lightColorPrv.g2;
+ j+ D) K+ b- r- B' y pLight->Ambient.b = lightColorPrv.b2;, Z' L7 r& E, t( k; g" ~
5 @3 q' R' I. k5 O8 d) G if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.+ o/ x+ ], f2 O b
{7 u- N1 t8 l2 e K
pLight->Diffuse.r *= 0.6f;3 V+ [8 w0 I5 m6 _, m/ v8 Q
pLight->Diffuse.g *= 0.6f;7 Z# N z# i9 s" v5 p3 U
pLight->Diffuse.b *= 0.6f;
. ~3 Y4 g, Q4 c, C8 y& n' ^ pLight->Ambient.r *= 0.7f;
6 Q7 T2 @( u9 s pLight->Ambient.g *= 0.7f;
: P8 s: r: `. F U+ Q8 N0 { pLight->Ambient.b *= 0.7f;4 C6 W) B% t0 m7 B z# f; [ i
}
" s" Q, A3 Q: N; j
& i$ O! G; |% J# T- t) z. n#if __VER >= 15 // __BS_CHANGING_ENVIR
* f" a( T0 [; R: g0 G: x if( g_pPlayer )
' N0 t6 ^5 j2 \3 d* R8 \ HookUpdateLight( pLight ); ! P- |, X2 [2 B2 M0 F
#endif
; X1 t# @9 ^9 s+ X" m memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );! M- A, I! O7 ^5 G5 V8 f
- {. \, u) L3 c9 z h#ifdef __YENV0 X" m' G q) q, W, ]0 o4 L
pLight->Diffuse.r *= 1.1f;
: L9 m' d/ J" l! f) | pLight->Diffuse.g *= 1.1f;$ T6 Y2 k3 S1 R" t/ O8 ?
pLight->Diffuse.b *= 1.1f;5 d. _) j; H6 ~
// oˉè* ??à?
$ M+ |2 w4 h" T pLight->Specular.r = 2.0f;
5 O, _ M% m" R$ [/ u0 _7 N pLight->Specular.g = 2.0f;
" y2 Z- s9 e' V6 y pLight->Specular.b = 2.0f;' `+ ~) S% v! G0 O. O7 ~9 X2 P" r
// á?oˉ 9 b8 G5 r, G+ x3 U, \
pLight->Ambient.r *= 1.0f;
+ i) m. ^( h Z pLight->Ambient.g *= 1.0f;
# S0 \7 s/ q9 D/ I pLight->Ambient.b *= 1.0f;
$ A/ Q9 X' f' K+ ^4 B#else //__YENV
0 k) H8 K$ }2 u, j% ?3 { H. N pLight->Diffuse.r *= 1.1f;
4 i; u/ u' S5 h7 `5 b2 Q pLight->Diffuse.g *= 1.1f;
' D; k. ~1 o2 q! Q, G& Z% S) V4 b pLight->Diffuse.b *= 1.1f;
. w* w- X. Y; f& e$ h& {9 p // oˉè* ??à? 4 I% i; Q& h! r j3 q% {1 K
pLight->Specular.r = 2.0f;. ]" q7 f& a- B$ i
pLight->Specular.g = 2.0f;
1 v& M! t, q% _" W8 p pLight->Specular.b = 2.0f;
. k' d( v. K- o6 P5 R+ M // á?oˉ . ]. d0 B0 J, i- `8 n
pLight->Ambient.r *= 0.9f;4 ]9 d k9 U F4 n$ ~
pLight->Ambient.g *= 0.9f;- w8 ^8 }" {$ N) A3 s1 y. l C; Z- Q
pLight->Ambient.b *= 0.9f;. x K k+ ~; M5 I! }
#endif //__YENV
7 a7 t: `: y# O' G' x 2 |/ f* m2 [- d! p7 s
memcpy( &m_light, pLight, sizeof( m_light ) );1 H! t; A0 s9 n. f
/ u4 }6 E1 J/ w: T( b2 q
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);% U' q. c9 p5 d. @. k1 I
D3DXMATRIX matTemp;
" \# z N0 Y4 z+ Z# a% J2 } static const float CONS_VAL = 3.1415926f / 180.f;
x: P) B8 I$ ]& I# u P& P: J* T, T# W
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);! S- Y- `8 y7 X# }
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);% e* i' j3 r5 a4 ]
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
& q7 o& P# `& ?/ S. h$ L pLight->Appear( m_pd3dDevice, TRUE );
( q9 I. E! a. v
, W k: o* p- a' p; L( R& k // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);% u# E7 x8 p& U6 X0 j1 o
// D3DXVec3Normalize(&(vecSun),&(vecSun));8 ? _" i. n! o2 c5 i
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); * M) n' D0 N$ F+ ]5 v7 \6 J
( n' a. |$ ^! |+ m DWORD dwR, dwG, dwB;8 |0 G# n3 E# k8 o1 }/ P
dwR = (DWORD)( pLight->Ambient.r * 255 );
I5 Z* p1 K p }7 L" E dwG = (DWORD)( pLight->Ambient.g * 255 );
% z: `6 [/ H' C' q G dwB = (DWORD)( pLight->Ambient.b * 255 );' p! Y" d/ E, Y# s
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); . A" ?4 {- |# U% Q9 F: i
}1 V! j n9 D @; t" [+ {" t
}
7 o; |6 [$ M5 f) T# L; _8 G
' W$ L) Z. u) T5 F2 W5 ?. o. L m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
) ?9 q9 t5 s W& J' Y 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) );) @, W5 U3 M* v! {
::SetLight( bLight );8 F4 h6 \# B# m" v, h( \ _
$ U* y( n4 A, P+ B/ ]3 ? }
// ±ao? ?D?í???ó á¤à?
- x2 U0 E" H8 s" k) c7 g. U. H m_pd3dDevice->SetMaterial( &m_baseMaterial );
. x- o& c. g: L& ~7 B% N 6 k- b( Y4 {3 ~1 Q2 C" z) b8 C r+ A" w1 A
#endif // not WORLDSERVER
! H) W& K/ Z( ^% D5 Q" V}
2 r" d% X# \+ G2 K并更换/ q, |) `2 ^7 V8 V
Code:2 O9 B( r) q# D! R% ~4 [
__FLYFF_INITPAGE_EXT/ A% z; S- I; f$ q; g& _& a5 ]5 H
定义, }' ~! H/ k" B# {6 X ?/ _; N
) ^- U, q: Y9 G! w" I2 B1 }5 D" |% C$ Q$ T# c
$ n C: H- h3 r6 o! X. {
5 D' O6 n( y5 ~0 G1 E8 v: ?/ t# P现在终于删除我的狗屁加速...
% p" x# |* l) o) r
9 z2 M5 q5 d! C5 r9 C" U, I' v3 B) _3 a w* q8 [" v
: e) M& i# Q' N$ N |
|