|
|
食品车:
2 h o; |3 F0 p" h6 ^2 g2 j尾翼:( \- j+ W+ Y2 Q1 O5 M7 a
' J" P: {: M& H( v# @% ~ u3 b( @+ g
代码:) @- L& ^6 |) |
CWndAutoFood::CWndAutoFood()
+ _2 d2 a2 p$ X: E{# x" w! x5 r$ g: Y. o
m_pItemElem = NULL;6 A, o$ K) d; L
m_pTexture = NULL;6 } ]" S( {6 |
bStart = FALSE;0 V4 g4 f2 ^' j2 Y% G; Z$ _5 a
}0 R3 \$ t- R$ ?; Y% z# K% O$ o' e/ K
( k% V; x6 O+ p& T0 s5 r; _
CWndAutoFood::~CWndAutoFood()
$ S0 h% w. h; J{
5 O) t. Q7 w+ Q3 z% `9 {- E& H AfxMessageBox( "AutoFood ist gestorben " );& y. L/ m' D @4 ], T! r7 G
}
y, y6 X( p+ E* bBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
+ }4 u$ \5 O' X1 c{/ u0 E# c/ p" L B
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );4 K' W1 s8 u! D5 w1 R& c+ u7 Y
}* L( R) a/ B, a3 {, Z+ u
- U/ C& A7 T' A0 m- A% u8 M0 fBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
: X- d) X. h$ P! w{" K: }6 Y# W6 u6 h% o
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );3 {; q, }/ D+ [0 c8 P& H9 r
CRect rect = pWndCtrl->rect;
4 u* Z9 l) Y& J9 S7 D, {% ~, m if( rect && rect.PtInRect( point ) )
6 t6 n4 D1 w, V5 | {
6 c6 r) o; h7 i$ p! v CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
$ `; H# ~, V7 l) x3 ?' x! ]) b if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
3 I) i5 X+ f+ j2 G2 f c {
5 V4 R: N( B! f& J if( m_pItemElem )! b4 b) f$ z7 K) p1 Q) Q
{
) q2 R+ n& q: `5 X" y L m_pItemElem = NULL;) u- r9 I. }7 a1 `# P: Z5 [/ k
}
' z( Y) q# T" _7 I7 u1 Q! X m_pItemElem = pItemElem;
- m; K+ }0 `0 x3 |0 _! Q: } m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
4 Y5 ?0 X s% O" n1 [+ i+ E }else{3 {7 L' d" Y' `* {! D9 h
SetForbid( TRUE );
! {" w" D8 h5 x, Q- y }8 o: T1 _7 N/ m9 X( i
}else{
& W& ^5 }& P6 ?4 k K+ t+ { SetForbid( TRUE );* B0 J" g' t: C9 ?) U
}( o: v r$ L) c6 }8 _3 E1 o+ i) _6 y
return TRUE;" U0 c3 ]* X; l
}# w) T! X2 a! F+ x1 g C. o$ L
3 Y s$ L' r4 H
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )4 k4 e7 A2 k4 J
{% q6 M0 q( L2 t# C" ~% M' Q7 f
switch( nID )9 W* s! L9 r9 \6 T. B+ B' |2 O
{5 i, d2 b9 @- @
case WIDC_BUTTON3:: f/ T' Z0 C# T; X) {) Y
{
. S* H* m; t3 [9 ?, Q bStart = TRUE;
2 a' h; W( ~! z break;3 ]4 K9 A, J' ]" X$ S
}, t0 B* _, W' E+ G& N
case WIDC_BUTTON4:
, Z F/ |5 ~4 X) p {
2 j1 x5 T: M3 Z! ^9 a( f bStart = FALSE;0 Y/ t% ^: d' r# c( {; I
break;
; ]' J$ O7 F5 \$ I: l8 X3 F! R1 w8 f0 {. { }0 z( n) f0 O! r8 L
}
. U2 K% ?8 A: Q return CWndNeuz::OnChildNotify( message, nID, pLResult );; R- b3 L4 X6 A0 C' [* [
}
0 k" @0 e1 O g N u: Hvoid CWndAutoFood::OnDraw( C2DRender* p2DRender ); U1 C/ I4 B8 I' G
{( x9 J. h1 {1 k
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );) a! l& G5 g5 I& A5 C: U
if( bStart || !m_pItemElem )# R8 W* Q& b# W' u; f' V# l+ ~
{( q1 O' D5 k" v, O) \
pBtn->EnableWindow( FALSE );3 L. p5 v* c1 D0 i$ Q, Z
}else% l. Y" T2 h% H4 A
pBtn->EnableWindow( TRUE );
) D. I: ?4 w- c% }' q if( m_pTexture )
% x7 i" M0 N+ f0 G7 l" D' | {
. }2 ~0 g0 {5 U LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );9 [+ U' F3 C! M8 N
if( wndCtrl && wndCtrl->rect )$ [4 i! v1 p# k# o
{
9 `6 Z8 c! U2 f& c4 S# M: j m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );. G$ C" Y3 j& C8 E* @3 |' R, k9 F
}6 @0 d; o% Q3 j( r0 f4 m- y& R
}
1 V/ X) M% Q5 |- k; t" u}1 v% M- |7 K+ i- h9 D- o; q1 b
& `1 r2 |5 L1 B4 T" i' |; B
BOOL CWndAutoFood: rocess()
" f# P9 b1 w* S$ ~' C' q{, W; |4 b, s8 n, h1 ~! k1 h: w
if( bStart )! P. C' r9 t1 x3 m+ ?
{1 g+ w2 g/ i3 R; F, X" I
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )9 n8 b9 ?. P$ M1 a5 s
{" g- {- F: ]3 i) O e+ d+ o
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() ) t3 l" a5 Z& Y) ~1 ?3 |) _; o
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
/ C+ ~( r$ c& _) R }else{& E# L4 H6 _: _0 Y8 l0 o
bStart = FALSE;
. O) a, F2 d0 u6 a' k m_pItemElem = NULL;3 G5 _& P# c& o) X0 ?
}# L0 C) L$ I" ~) K5 G( i
}
' `9 u6 C" {) f% @$ k return TRUE;0 y# V$ B* |6 o7 j+ I# r# J
}9 `3 n" }4 g) ^$ o, B" e
6 g0 a/ m4 A$ f$ Z
登录视频废话:
5 e0 a, Z1 @/ Y尾翼:
7 V% q4 \: u# o* Z8 O0 E0 g' m4 f* e, G+ M. ~
代码:) w8 z5 d k- W
- `9 R$ Y- I" B2 P9 N& D: @. xvoid CWorld::SetLight( BOOL bLight )
* X' y. D- v. s; r3 P9 ^durch6 x) B" ^" d6 o- f6 _9 ]1 T3 g, v
Code:3 m; k" {* n" e' O$ ~
void CWorld::SetLight( BOOL bLight )& F" F* y, e) L* A Z
{
9 X- ~. H& c: l: U7 I //ACE("SetLight %d \n", bLight);
- o! q; }0 k9 K1 A0 a. O8 Q " j. O/ n1 w4 f7 m" d( G
#ifndef __WORLDSERVER ) ~% t* \8 t1 Y& r
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
) s0 t; H0 |. g5 O& X' w X5 Q CLight* pLight = NULL;
$ N" f; i! o, C) A/ t; i
$ R4 f$ i4 I# U D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
" L2 \/ V4 z0 l% S+ p' T# U4 Z1 s1 v, K! R# m6 S/ s
pLight = GetLight( "direction" );
0 A/ `+ p% g1 g6 x
/ C d* _% G+ x/ F a0 s#if __VER >= 15 // __BS_CHANGING_ENVIR
* G0 X' g- D, j0 _ if( g_pPlayer ){9 a9 w! r3 d3 c$ F2 r8 Q' q
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );; r+ b3 {: b* L# t3 Z) ~* @& W
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
9 L; C% Q: t" [/ D {1 A+ E1 M2 m) ^) @
if( pLight )# w) V: u7 N$ Z7 ^8 l
{% y+ s! {. B( b+ R: h! K
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
% o& } H/ \/ t3 J, _4 x pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
' [1 w- d7 g' [4 m pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
6 Z% K) w5 \8 _) d' z2 v6 k# R) Q' W
' E& A% \; m$ U, a# g pLight->Specular.r = 2.0f;
7 g2 z0 \6 ?, O1 A pLight->Specular.g = 2.0f;
9 K4 P: @- T8 Y+ Q5 E pLight->Specular.b = 2.0f;
, Q; W) a% ]( y, @, } 4 Y: e2 y2 x" y# i5 c
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];$ K( @. ?( a2 V; U0 s8 j) [, s; _
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];! Z% r" j& R" P7 H* A8 q
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
3 y8 h2 `4 ?+ X0 ^( k/ K: H
0 L' D% x3 n" Y" f HookUpdateLight( pLight ); 7 ?2 y5 r6 u: n! w
" Z. k x. G& E4 N/ `4 p1 O memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );% W8 p" W0 e) H5 M
& ?) R! X% `. V
pLight->Diffuse.r *= 1.2f;
( M4 P5 i9 j+ r pLight->Diffuse.g *= 1.2f;
% N2 B8 |: {! v# p$ @! ?8 F pLight->Diffuse.b *= 1.2f;$ n( E7 l6 Y! ^" O9 j- h
3 x. n' r/ N: I# n3 Q# E pLight->Ambient.r *= 0.8f;
8 ?* l( S. i6 b) h, i6 A9 r pLight->Ambient.g *= 0.8f;
9 n% X, `; ~+ p/ j pLight->Ambient.b *= 0.8f;
5 D6 x& N7 J8 h# ~! Y8 } ; s" f; {) b. |- }& U! ?! O
memcpy( &m_light, pLight, sizeof( m_light ) );: L& `- ~1 I7 M4 X
; D9 K# P: O5 W6 Y+ v" S; J
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);( K! s! T: D" O8 C5 G
D3DXVec3Normalize(&(vecSun),&(vecSun));
4 w% X% a) K8 J& n1 w. z pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); & w. O# H- h0 a' m5 G
pLight->Appear( m_pd3dDevice, TRUE ); h. t3 u' T" v5 J( g7 V
, R# I# Q! m- _9 I, p9 r DWORD dwR, dwG, dwB;
/ h1 O4 e9 J* l3 B6 _- S dwR = (DWORD)( pLight->Ambient.r * 255 ); V, O6 y, }- x8 A1 u
dwG = (DWORD)( pLight->Ambient.g * 255 );
t. b$ I- `+ C( B: K dwB = (DWORD)( pLight->Ambient.b * 255 );
6 l a( i0 t7 M' x$ z! n { dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );( o7 j+ T' i' g
}
7 G8 {7 p9 r) j6 b8 h( a$ l. e }* i& f0 j$ Z" u2 h$ H
}
/ L- s b6 z+ q) g else
3 _9 p! l, ]3 K) m% q- a- Q. Z#endif
& R/ h/ s% j" X* O, H; Y% t" I6 o" T: O( A" }) ^3 _+ w8 C
if( m_bIsIndoor )
% N( [- S) `0 f {% D; _9 B ]4 K# m' D
if( pLight )
/ L: l2 l9 a! [1 c9 {7 z& R9 F {
( E7 K) b" e8 Y8 _ // à??μ oˉè* 0 s7 B% `) G3 H# q+ z6 B8 X
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;5 |, d8 _" u o
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;, J6 T; [$ _( v. z
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
) p, _% Q2 H+ b: A( S
, I: w7 t9 D' b // oˉè* ??à? ( U7 `5 l1 i( U! T: b2 [) `( n7 p
pLight->Specular.r = 1.0f;
3 v g3 h0 x; R2 `5 J' z$ q pLight->Specular.g = 1.0f;
% ? e( g& M) k% B! u, G pLight->Specular.b = 1.0f;+ q/ O! x) a+ S; f! G6 N
// àü?? oˉè* : R2 y2 m3 R1 u" s" ]2 p. ^% D
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
8 _0 K$ ~ ~% X! t) W r; z pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
4 t9 p# {" ]/ F. V; I pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
! [( X( {' p Q8 c$ z( v$ d
3 Y n* L* j L if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.' u' `+ Y6 @" e
{
, Z8 m9 {2 B: D% i1 p* h pLight->Diffuse.r *= 0.6f;0 ?8 X3 U) ]( ]' F' s$ v6 _6 G3 [
pLight->Diffuse.g *= 0.6f;" L L' a0 T# K7 U4 \5 y( E& H
pLight->Diffuse.b *= 0.6f;
" j! E" q2 D7 j pLight->Ambient.r *= 0.7f;
' S: w, y6 v% k* H) v* P pLight->Ambient.g *= 0.7f;5 B# P2 m {( R
pLight->Ambient.b *= 0.7f;
3 \. }6 w6 ?2 v6 w$ h( r4 [ }
; D1 r/ G" P3 N1 g
$ C' Z# \# G0 k# y* G: [#if __VER >= 15 // __BS_CHANGING_ENVIR( P" A) `. N7 N( M* Q3 A3 ^' w
if( g_pPlayer )9 k2 @7 K' }; n7 o% M1 O" ?
HookUpdateLight( pLight );' d6 W, ?; R4 N* _
#endif& E3 z& L, o! P: I! T& b
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% j3 G: ], W6 E* ]% Y6 D6 Y$ t1 s. w& |
pLight->Diffuse.r += 0.1f;/ o ]9 k5 X6 w: ?4 L
pLight->Diffuse.g += 0.1f;
1 h% l- n* S( V1 k( O" J pLight->Diffuse.b += 0.1f;. O' P. T. _& ]% p
// oˉè* ??à?
$ g$ b! W! a0 x" c3 z6 L4 U pLight->Specular.r = 2.0f;
# J o" J- d. R. P7 f* Y, i pLight->Specular.g = 2.0f;
! S* [3 u$ g/ w/ C/ m pLight->Specular.b = 2.0f;' r! L. d2 W; Z
// á?oˉ
2 k9 P+ ?4 f* _$ a0 G8 U. \) b" ` pLight->Ambient.r *= 0.9f;: o! g! B' q0 I! X5 G# d0 f
pLight->Ambient.g *= 0.9f;/ c+ r2 O* g) B. U
pLight->Ambient.b *= 0.9f;
) M2 I" ]' P f* E- P
" q. J# L: K2 F( E memcpy( &m_light, pLight, sizeof( m_light ) );
$ ?. y3 L$ Q" e' y
& o+ S2 c+ G1 F$ H9 d1 C pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
! g0 J" i; r+ o0 N! {$ O pLight->Appear( m_pd3dDevice, TRUE );' N$ i# y7 ~8 @. b# _+ J
3 L r* N O+ y9 \ DWORD dwR, dwG, dwB;6 Y8 G) y ]6 g @! Y' G/ d
dwR = (DWORD)( pLight->Ambient.r * 255 );( H* v l# x8 r
dwG = (DWORD)( pLight->Ambient.g * 255 );% L/ a, \, C: d. K/ R1 X
dwB = (DWORD)( pLight->Ambient.b * 255 );( K$ d& ]. C1 \' M$ q& P* t1 q
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
~# E6 q2 A6 g0 l3 B# V$ [2 I }
" z7 w9 `4 l& u2 J }6 F; u9 U. k3 p5 ]3 U- x, q
else
9 N& u3 U' @6 D* z( C {1 N4 v$ S$ f# w6 q+ q: a& p, U
if( pLight )4 M9 h4 ?. ] e. l
{
C& l6 O& e5 y! F3 U; q" G 4 |& E$ E! N" }$ y
int nHour = 8, nMin = 0; o& j: D: _ m1 k4 ]
#ifdef __CLIENT
3 F' | D9 p |6 H8 `% E# Q // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 4 |5 Q; i2 G9 n$ B% C- n& P/ s
nHour = g_GameTimer.m_nHour;7 D2 u/ k% b" {, F& }7 y3 b4 }
nMin = g_GameTimer.m_nMin ;
# f, N3 {4 _5 E h4 K #else
5 W' @/ N5 ?% b* n8 C [5 C // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
. X5 V$ Z1 u; N: o- E. Q3 w6 d3 M if( m_nLightType == 1 )8 i0 X1 a/ [+ ~, ]! K
nHour = m_nLightHour;
' h7 T# ?' l. w1 E" {* m2 q E #endif, M8 O! n+ o, n! r; I5 `+ ~
nHour--;
1 E0 G9 T" g; e" Q if( nHour < 0 ) nHour = 0;" |2 M3 x: \4 j2 n% H! p2 m. P0 Y' A U8 v
if( nHour > 23 ) nHour = 23;, k3 ?) Y ?% |7 k* O m
' y( }5 ~3 o6 m) f, @9 u# p //if( m_bFixedHour )
* ]" u, h8 q8 N1 X1 J. l // nHour = m_nFixedHour, nMin = 0;
( b- b8 A; y: g+ Z4 v LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];* t( x1 r/ } Q0 W
LIGHTCOLOR lightColor = m_k24Light[ nHour ];; A+ h: f5 \6 j; I5 P
" U6 O4 i+ @, x. {0 e2 Q //m_lightColor = lightColorPrv;: d( K( [) K& D6 \0 u/ {
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
5 z' w3 S6 ]( V7 e/ q2 B) P lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;6 z; w6 S" G# X. p
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
: q+ @, O! D' a- u1 F/ T lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;9 t4 _( b. C* g" p# R
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
' h9 ^- S/ g$ Q lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
6 k; K9 p" Q: E) Y# c: |0 U+ J // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)/ A' @& @" F% m2 F5 b9 O
) t8 {; I8 }8 x$ d3 ^' h3 d // à??μ oˉè* % c, k! M6 n( C! ?9 p
pLight->Diffuse.r = lightColorPrv.r1;! |/ g- s# x3 {/ M9 n: |: t' a' m
pLight->Diffuse.g = lightColorPrv.g1;
0 X1 m9 r, x+ p. }7 _. d, ^ pLight->Diffuse.b = lightColorPrv.b1;1 p9 ~# }# j/ M
// oˉè* ??à? , P1 o! u2 B: n( }5 \, F
pLight->Specular.r = 1.0f;- g7 {: t- ]" O- f
pLight->Specular.g = 1.0f;. C" ^ z. m9 i4 s3 f) {5 f
pLight->Specular.b = 1.0f;
. |! y& H/ q% B3 q) k& l // àü?? oˉè* . d! Z4 W: Z' H& W( m7 ]6 u
pLight->Ambient.r = lightColorPrv.r2;
: x( t# [5 |$ k/ ]" f# A pLight->Ambient.g = lightColorPrv.g2;
X7 ]! @6 t5 d pLight->Ambient.b = lightColorPrv.b2;- _ U+ C( X# Y+ d% p9 m; Y
7 y( B5 k) R, \3 h9 B( ?2 \
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
& ~0 d' B& K* z( {9 {7 a' E7 L h {# {3 D6 r7 t4 [7 u" o6 s
pLight->Diffuse.r *= 0.6f;
0 s! g% n3 J/ m( J! K2 { pLight->Diffuse.g *= 0.6f;
. B+ I9 w6 y- j9 t) [% H% s pLight->Diffuse.b *= 0.6f;
4 w# m6 Z: G* I l! ~ pLight->Ambient.r *= 0.7f;. @, _% O0 |, E. y9 F5 X3 D+ b, C
pLight->Ambient.g *= 0.7f;
7 f" _ a1 B3 M; b pLight->Ambient.b *= 0.7f;. z& H, E; {) }5 J* |! Z% Y q, Z2 w
}- E% U* k) D/ N) E
* p2 v' f) o7 S3 [#if __VER >= 15 // __BS_CHANGING_ENVIR* @* s( J: u! w: d
if( g_pPlayer )" [+ a# v$ A2 d6 e: b
HookUpdateLight( pLight );
) l+ E( b( b0 @#endif5 C, b; U' q+ G, ?
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );% y% r+ `% u/ m7 ^ s( s
$ ?0 [( D/ q8 y/ k" W0 j! U% R#ifdef __YENV9 g# o4 ^2 D% [, J; |1 I* W
pLight->Diffuse.r *= 1.1f;8 J3 Y6 B2 M5 s% b
pLight->Diffuse.g *= 1.1f;
+ \* y5 s3 b6 n( C pLight->Diffuse.b *= 1.1f;& ]1 M( Z1 A1 s- S {' N
// oˉè* ??à? - m- r6 v9 W, J$ H- K
pLight->Specular.r = 2.0f;" L4 n/ s! G- H f
pLight->Specular.g = 2.0f;
$ ]' U, F; S+ k2 I2 H+ { pLight->Specular.b = 2.0f;
y' b" E4 L" Y/ F* Q" H$ b // á?oˉ 5 ^! j# y+ N+ A3 M8 X' W4 f
pLight->Ambient.r *= 1.0f;3 Y+ A5 `/ U' [* C1 I( s
pLight->Ambient.g *= 1.0f;
3 `0 _8 ~4 e9 [0 Y, k pLight->Ambient.b *= 1.0f;
* A7 N, a/ O* h! J, U U9 F' ]5 C0 G#else //__YENV
& {) B. ^8 i/ l! K0 X pLight->Diffuse.r *= 1.1f;
: E$ c" v) o0 u' V9 ? pLight->Diffuse.g *= 1.1f;
* @. z; s; m( P1 R C pLight->Diffuse.b *= 1.1f;3 Y, `* F9 [0 r: U# R2 j' W
// oˉè* ??à? " q; X; x4 Y2 f; R& t+ u
pLight->Specular.r = 2.0f;
! r3 E* R" q# h5 R pLight->Specular.g = 2.0f;
i8 b2 V, l+ x1 o pLight->Specular.b = 2.0f;
* f7 v% p+ J! G) }" C1 ^ // á?oˉ
) r4 E# P! P. j3 m: @8 T9 m pLight->Ambient.r *= 0.9f;
1 T; u9 K0 p- d; L6 e- [ pLight->Ambient.g *= 0.9f;
7 o5 |% ^6 q' i( g3 V pLight->Ambient.b *= 0.9f; v" |2 T4 {( L# B( y- J# X2 q
#endif //__YENV
: p. k8 }' R( Y9 L) ?& e & j4 H, m: d# \
memcpy( &m_light, pLight, sizeof( m_light ) );% A+ J) t+ R) _" a6 d
& Z9 p5 C" M* E4 V8 ^: W4 j7 J D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
% T$ k1 O h0 M5 d* ^2 A% E; L( q D3DXMATRIX matTemp;
|( V8 g. q3 E; i static const float CONS_VAL = 3.1415926f / 180.f;
1 H7 D1 q, O5 b( ]8 i9 R( p+ C: C& P2 f
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);! `: D: K6 L% F7 N8 O$ P
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
) \* i: f i/ | pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
, f3 T" w1 o, {4 f( @, f pLight->Appear( m_pd3dDevice, TRUE );
( E6 N# Q# j+ [! _1 O: A! x3 ~6 }
% ~; B+ u; r `) u5 | Y$ S // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);( d1 j/ e. `0 ^0 H9 l
// D3DXVec3Normalize(&(vecSun),&(vecSun));5 O3 z4 r* o: F) N) V
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
* ]7 A+ {* M* R" {4 N( y2 W! r2 v0 j+ |& V* [
DWORD dwR, dwG, dwB;! B0 {+ X9 y" v4 F
dwR = (DWORD)( pLight->Ambient.r * 255 );# S" d" k7 V! r6 G: d/ m1 q
dwG = (DWORD)( pLight->Ambient.g * 255 );
6 T! V8 r' E0 ]( u+ R$ W5 C dwB = (DWORD)( pLight->Ambient.b * 255 );
0 S/ x4 C# }7 G* h8 Y* b7 K dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 7 j/ M( ]0 F0 ?
}
# R& V5 x* S6 ^4 T" ~* O }. b, g$ m" q8 ^* e
: ^' V; r% x* ^% y
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
$ T, e3 P" R5 }! a 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) );0 y% \! ^4 v' g* N# R! C
::SetLight( bLight );& ^( G1 i- q0 H- d' y9 W$ D
$ A0 b6 A# t# L; H9 `2 w; x
// ±ao? ?D?í???ó á¤à? : D- x8 j4 R+ G2 d$ j
m_pd3dDevice->SetMaterial( &m_baseMaterial );/ }6 {. K! O$ g
6 |, H+ }9 F& g4 e: A#endif // not WORLDSERVER, ~0 K/ U" o, D* M( K) S
}- _( F2 o6 ~; }+ z
并更换6 j7 T$ p/ [ [! L5 F
Code:3 R7 Z# W7 d6 `7 g, ~5 C5 b* t4 `
__FLYFF_INITPAGE_EXT
- [* u u7 ]' h G4 c7 X! {定义
$ m: @! D: Z( p! W6 `9 ~ @( S. S" T" |/ U; e6 E m! @% ^
# K/ O3 f0 \; U" f+ }" J
6 {$ L4 G+ | j- t
' T9 T9 } }; q- v7 q现在终于删除我的狗屁加速...% k' A6 a" I6 M: P) I- n
- _" m5 W. [8 S, y1 l
2 l" F. z2 s1 ]2 D0 h
) \ I" w; p+ T' G7 Q# V. s |
|