|
|
食品车:/ a: o# v) O. k& c/ G0 U+ ~9 S
尾翼:
9 d( f3 h6 H. w0 ?, C" E3 p, b1 S) H
代码:
! g! t, n2 ]9 T' E* a* mCWndAutoFood::CWndAutoFood()
, S* \- P# u% B7 D2 f3 f. x0 n% f{
4 V: D; u# d* ^; _ m_pItemElem = NULL;
% p1 }" B$ G5 j6 z m_pTexture = NULL;
' [9 g: p; k# I4 m bStart = FALSE;
+ g9 N* W1 F4 `# o. } n4 `8 p3 z}
# R5 B" n" D3 N/ v/ @' x7 B8 R4 `
CWndAutoFood::~CWndAutoFood()
- G) x! X$ G5 \6 Q{: t. A2 T6 y n2 t2 U
AfxMessageBox( "AutoFood ist gestorben " );
2 O7 z' h7 o4 b3 v/ c! n3 Z% {9 [}
v/ I/ ?, e, W7 } J9 cBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType ), Y* T L/ ~# X: w3 ]0 z- q
{% L" J$ `) T2 h5 h1 y5 }5 [! _& E
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );* U" R* Q9 s3 E: O( Q' E
}
/ ]) N9 X8 @. S5 \1 K) u8 I. `; ^2 _- ~" W
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
1 m' h1 m5 l2 ^% z* q{0 }3 p/ S" \- C
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
& s, I, G1 @& w8 q# R& S. I CRect rect = pWndCtrl->rect;
) O" L+ I0 ~, w0 ~" J- u! y7 Q if( rect && rect.PtInRect( point ) )7 o& m, y! y6 \
{
6 z( u, S, ~3 Z X+ t CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );/ {/ O R$ {- b
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
9 J1 F- A; c# ]0 y) i1 A x {& r- t$ W9 G; t* a5 d3 M0 K/ q9 d
if( m_pItemElem )
8 B; `: t, q0 z2 s4 y! G l; \, n {
! a O3 ~" E) [( k1 T m_pItemElem = NULL;1 j# Z" U% u* R$ _8 t
}
" [" y: Z! H9 B X% R+ J2 ~) a m_pItemElem = pItemElem;
9 L) D5 u- | s m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff ); ~/ ]9 e# h3 @ P: j5 ~8 ~8 N
}else{
- e2 \. q6 [5 ^8 e& w1 M$ O SetForbid( TRUE );
* a$ f( R/ Y$ n: ]$ c }/ r9 I! N# f# [1 E0 C% x) `
}else{
) f2 b. N! O0 C SetForbid( TRUE );" a4 g+ {0 @' y
}
; A5 ?( V( M( W5 Q6 T l: j return TRUE;, ^& q J; P/ ` K `' N
}1 X) S7 d; T, N0 k. D
5 p" v- u; ~ |. r& ~BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )' ]/ ?% Q% F/ y4 |) z% q7 ? U
{
5 u" `0 h3 x" R% h switch( nID )* ~1 v: ^4 g% B
{! p X& E! T- z5 U) L8 x* a
case WIDC_BUTTON3:+ D7 c6 T& U1 u4 p B' |8 d
{ }" q3 ]# b4 ?! n7 t7 w5 t4 L
bStart = TRUE;
, V' [/ C# z8 ]( ?: u* ^! i break;8 ]5 y8 [$ u! R* ?
}# L1 z8 S9 Y* \; P
case WIDC_BUTTON4:6 I" ?4 _; y) q) @4 r! Z% b4 X
{
4 V( h. ^1 P; U* {2 D% { bStart = FALSE;
/ W) m) ^. [9 \& {3 N7 k break;
- q+ P r) E' H( I4 l$ \: r% N" ` }6 ~5 K0 W2 T3 d& i9 U; M
}2 _" I; H0 n$ v" ] T! D: i* H
return CWndNeuz::OnChildNotify( message, nID, pLResult );6 x: W V' x; k2 X0 y( Y- u
} 2 @! v5 a) E6 i& \
void CWndAutoFood::OnDraw( C2DRender* p2DRender )( }1 o6 e+ V. ~4 y
{
4 z) Y: t( u' f& {6 ]* t CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );) W* ^/ `0 w* r6 Q4 |; @
if( bStart || !m_pItemElem )
& L K& v2 q7 e# b* k; Q {* F, g" K1 ?9 ]6 {
pBtn->EnableWindow( FALSE );$ ~. }. _% n0 P6 z7 v7 J9 X) h# ^' c
}else
- t* o/ \* I" @! o \2 Q pBtn->EnableWindow( TRUE );
3 z; Q% V9 w* R1 H' n; b if( m_pTexture )" ?0 @. e) U8 F' G2 Z( x6 r5 \" {6 w
{5 K( Q& g( e$ L% Y$ Y# _
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );, n+ b- J( Q8 H) ^
if( wndCtrl && wndCtrl->rect )6 T: Q+ h! V4 ~1 P
{
+ I& R N9 m& [9 C* i m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
) [! _$ [# F/ _. J }
G0 n0 ~/ Q: _( S' U' Y* K }! F' ^. E0 w$ `. B6 e9 \
}4 i, X6 @8 A+ z' ?
4 |* g) a3 h6 d& a; uBOOL CWndAutoFood: rocess()
7 {. ]* Z% Q! Y% H" l{
5 H+ U) E# L$ I if( bStart ), e$ f- {- A( O3 _7 q: z6 {
{
; ? t' L% C: m F$ p9 d9 x6 L4 a if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
" [( k1 x% S9 M: f7 } H1 j {8 [9 U: n# t, l6 P H4 U9 r
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
# I3 w& H" d; w g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );0 h7 {: r2 R) W% _7 P
}else{
9 `5 v: t! ]" e# B5 p t# | bStart = FALSE;
8 l) x0 x- G# T, u8 ^: ^ k m_pItemElem = NULL;) B- P8 i% [/ ], L9 Q
}
3 L X1 m9 T* F8 R: r }
0 f/ Q. n4 H8 G/ r return TRUE;1 C3 R2 U# D9 \0 X# M0 \/ E8 G
}
+ U0 _5 _, g. K; V1 ]/ A/ C, ?0 J# b" f! ~! A- z
登录视频废话:8 y1 r1 x7 W* x
尾翼:+ Y; ^+ }" ~" e& X, K3 k$ q( r
t. S) \9 r6 D2 i
代码:7 a' S* L1 l* L/ B7 U' n7 N
! n$ U9 L2 h! L- I' q( z" r
void CWorld::SetLight( BOOL bLight )
: a' L p% J( {; Cdurch9 w- Q" R- B5 y$ J9 K2 q( Q
Code:
) m. P& z3 p5 h6 Mvoid CWorld::SetLight( BOOL bLight )
% f6 U: l. ^( w+ v0 x7 j% e8 o{
7 z1 I6 n c3 N" U; T6 v. h4 W6 Q //ACE("SetLight %d \n", bLight);
" T) E: ]# l. s4 t9 h0 Z3 m
2 b* {/ z: D# F: e#ifndef __WORLDSERVER
% q5 C0 x' k# t9 d; J# l4 u: W DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
" {7 S) C" q1 b9 D# N- S0 w& _ CLight* pLight = NULL;' Z- B+ C2 ]0 h6 a1 w
6 Q1 e# G9 n+ J. }
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
* c3 b8 B. C% f3 m0 t( l( \ N: Q! r- w) `" Z
pLight = GetLight( "direction" );
6 J8 Y# T1 C- d4 c2 B6 C Z; h8 W( c
#if __VER >= 15 // __BS_CHANGING_ENVIR( w# A: g1 b! K( f
if( g_pPlayer ){4 N7 s3 c2 Y9 H8 C2 `% b
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );" J) Q4 t7 F. M
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
4 R% _. ?# I3 D: h {
$ |/ j' ^- \) c& [3 P if( pLight )
/ H% M s% S# n* o- o; U" w {
$ r$ b0 n+ _3 V H; o+ i% C# y1 o pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
# Q+ `/ x# P) Z pLight->Ambient.g = pInfo->_fAmbient[ 1 ];7 }, e6 @# C0 Z
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];/ T% h! s5 M6 ~: D# `2 K" j6 V
) v, ~# A% B- y5 x7 P% { pLight->Specular.r = 2.0f;7 V1 ?( s2 l" Q0 O T* f6 A
pLight->Specular.g = 2.0f;/ v' P; _/ @9 d1 Y- d: M$ y
pLight->Specular.b = 2.0f;6 S7 B+ @" \; U @8 k
; a' r; h( f7 H, D6 ^( `, y pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];( m2 P5 Q+ M8 j& R& j
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];) J+ Q* [, \% {; |
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];+ j' x P2 N! u/ b0 V# x
, l1 Y0 D0 T. n1 F
HookUpdateLight( pLight ); 4 t! W* o- _' T- y* F# l: j
. ~0 ]; G* \" _9 z$ [/ |
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );( y; B% ?5 ~& v1 G: R B$ p2 h4 k
' g4 e: I ^; A. D$ L& z pLight->Diffuse.r *= 1.2f;
, K# x$ W3 m, f+ g pLight->Diffuse.g *= 1.2f;
3 c; z9 n& p+ O& `6 m9 @* H- q pLight->Diffuse.b *= 1.2f;
9 Q' p; j% w! a8 @* q# \ a) X j; ]& X" q% d% Y* X$ g D
pLight->Ambient.r *= 0.8f;
5 n1 n8 X& v+ S7 c+ T& n pLight->Ambient.g *= 0.8f;
2 x* _7 u# z$ ?* I3 g f! w9 G pLight->Ambient.b *= 0.8f;. R8 k% }8 n- U) \( o
9 H# `9 b0 ?/ g
memcpy( &m_light, pLight, sizeof( m_light ) );
& q. _; R9 G0 r/ K) R- Z- O; d& z8 D1 ]$ k
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
- f1 W. r5 S6 P" M D3DXVec3Normalize(&(vecSun),&(vecSun));; S* r- Y3 ~- x& U# P, @+ p& y
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
4 w2 b O# L+ ?& x) O) z& \ pLight->Appear( m_pd3dDevice, TRUE );
6 _& N6 @6 C0 ^, D) x% u 7 h! l6 ~' g' p' M: [, b
DWORD dwR, dwG, dwB;
" k/ K L1 C7 w" r* Z) s4 s dwR = (DWORD)( pLight->Ambient.r * 255 );( K: _# D q% Z( r3 q' W3 k4 ?
dwG = (DWORD)( pLight->Ambient.g * 255 ); Y8 b) N" M; `$ K- `; |& I, |+ N+ |
dwB = (DWORD)( pLight->Ambient.b * 255 );$ p* m4 e6 a" I8 g" N7 V/ @8 L8 D
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); }7 J) B; u/ ]
}8 `2 r& E3 y, G- ^3 D& h0 C" O
}
) I8 D6 b2 Z+ Q }
! M9 j7 b9 ~- J/ Y* l+ n else
, N% \2 g- S# `#endif
( X: y$ t0 g" b6 }% x& ]. A/ D
9 T& g$ J) h5 J# `6 T if( m_bIsIndoor ); I7 x' [7 O- T! U/ K; L
{
1 y8 h& }! {$ w. d5 A) \ if( pLight )7 N/ t& V/ ]- C& {. I3 f8 y, F& }
{
. X' m" m& {8 r! L' T5 t$ K // à??μ oˉè* * g' {. E3 R9 k
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;, U1 t0 \; f$ y& S! c. _# s: m
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;) Y3 N# W( S- F% o9 n! B& a7 X
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
5 D# i5 i7 v( v4 o& X! X: ^+ I- {1 h3 q3 v
// oˉè* ??à?
- V' ^8 \3 }$ V( e9 X1 K pLight->Specular.r = 1.0f;
/ W. ^- y6 p) t pLight->Specular.g = 1.0f;
* C* l$ @6 d1 r! h: K# |7 P pLight->Specular.b = 1.0f;
) K8 p' c( @. [( n // àü?? oˉè* 9 Y% d6 C" r$ R; v) u
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
: @/ [8 N* H8 Z9 i pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;1 c8 Y# [$ k4 E* I5 _. W/ b/ s
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;6 R3 A) C1 x! A8 L- y0 ]
* X6 h" M6 v5 E: {2 l( T if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
! Q% Z( U3 |" r ~. s9 t& D6 i {
' F' V& @8 C9 Z& {' ], t pLight->Diffuse.r *= 0.6f;
' Y8 @2 Z i3 s" ~1 i pLight->Diffuse.g *= 0.6f;; |+ L$ S- d4 j8 S s- m
pLight->Diffuse.b *= 0.6f;2 F1 d) S5 {+ N2 A$ I+ }
pLight->Ambient.r *= 0.7f;
3 E! S. d' |: p3 y; l pLight->Ambient.g *= 0.7f;
1 z; ?1 b+ C7 D/ H- @ pLight->Ambient.b *= 0.7f;, X# p% V6 d& @: z. M
}; O+ |6 K2 Q O# L" f2 d) S# X6 X
; O; P$ j( S1 I$ u4 X' a#if __VER >= 15 // __BS_CHANGING_ENVIR
6 F( C0 A3 y$ [* I$ C7 L if( g_pPlayer )( a$ a6 j0 `& V @- {9 h+ [9 v
HookUpdateLight( pLight );
& a* d9 P9 c% Y3 m#endif
0 j; s& Y1 p: V* U1 c- ~/ k memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );$ O5 v: w1 z9 e4 K9 Y* I X
/ V- X& n( A( q% d5 a# U
pLight->Diffuse.r += 0.1f;
; {) h( R" k y( B; S9 R# ] pLight->Diffuse.g += 0.1f;9 F) }, n6 R; @7 L8 M) e
pLight->Diffuse.b += 0.1f;- s* @- m$ @: i7 z0 a; U7 ^8 ]8 R
// oˉè* ??à? 3 _3 D+ ^. e" e: u. k- w
pLight->Specular.r = 2.0f;
6 e% Y O' {* C& t: w$ W/ D8 w4 Z pLight->Specular.g = 2.0f;
2 Y! @6 b2 S7 H2 _' [ pLight->Specular.b = 2.0f;
1 h- r0 ^" u1 x // á?oˉ
' m/ H [+ V# R' { pLight->Ambient.r *= 0.9f;1 U" `7 k) P u2 |
pLight->Ambient.g *= 0.9f;' S9 H* y# c( i6 Z
pLight->Ambient.b *= 0.9f;, X9 I* h) \0 |
% h$ L$ F5 Z5 l* S0 I
memcpy( &m_light, pLight, sizeof( m_light ) );) V& c, J9 A& F
+ w" t- A7 f0 l* J, h pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
' M6 Q) N& M8 h; h- p5 a pLight->Appear( m_pd3dDevice, TRUE );+ P! ]- e# K! Z5 ^8 v s# F( T- Z* L
" M8 s+ f5 n' r' s DWORD dwR, dwG, dwB;
7 s, l8 o7 w( e; J: t dwR = (DWORD)( pLight->Ambient.r * 255 );
3 N' a: p# {- s; q5 N* Q dwG = (DWORD)( pLight->Ambient.g * 255 );) s/ F8 y" c$ c7 \ x% g# ~
dwB = (DWORD)( pLight->Ambient.b * 255 );+ Z& B) `) L4 ]4 b0 ^
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* L% ?, L3 p2 {: N }4 W: |( z# u; @0 r' a' G$ }
}$ E, e X T' H$ D( D
else
# D/ N3 C4 z, `* }& `1 s {
* u( W* X7 R0 S9 j; y# L if( pLight ). w5 ?9 y" k. m9 P4 u# [: f5 c
{
) I' ]; Y+ F4 I z" o6 ? ! ~: f# t9 ~, O5 m
int nHour = 8, nMin = 0;: {4 F$ R& X/ R. d1 }$ R5 s
#ifdef __CLIENT
7 _: f: r4 G9 e4 j // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
4 D0 t1 w% V* L! u( D$ r, J: v3 K nHour = g_GameTimer.m_nHour;
. o' P; V! o$ E& J$ T' H4 f% A2 a9 m2 G, ] nMin = g_GameTimer.m_nMin ;! e: R% z+ T3 ` I; D
#else
. a; X' V. Z4 ~8 y // o??o??′? ??°£à? m_nLightHour???* °?á???′ù., j1 \3 Q7 E0 ]* `+ B+ w, I
if( m_nLightType == 1 )
+ o% Y- P3 A! i3 v5 H nHour = m_nLightHour;9 R; m3 S! J/ K
#endif Z$ D1 m5 d/ K& G
nHour--;# x* G3 R4 u- e3 k+ f, W
if( nHour < 0 ) nHour = 0;
: F, e6 }- [. n' f if( nHour > 23 ) nHour = 23;
! M9 w1 c; |1 `* A9 w
- B$ ~4 i2 ^8 o1 A' m //if( m_bFixedHour )
5 I! g8 f O7 Y+ C( ^8 \1 O // nHour = m_nFixedHour, nMin = 0;" k. u5 X, X! j; |% j6 \
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];( @7 v: l. i! w
LIGHTCOLOR lightColor = m_k24Light[ nHour ];# I; D' s$ Q+ P" t& L$ j
' l n! I! j4 u, Q% h9 C6 E //m_lightColor = lightColorPrv;
' s H4 P; Q- G2 w lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;8 m% G- l! f w' X
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;5 C- v: F4 L& K& P" ~& q9 ~- t
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
9 V/ |4 O* l4 K7 v: p! ] lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;( o) ?( y: z9 k/ k) G
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
7 \$ @5 I+ j' p* F6 @3 a lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
7 i( ^( }9 Y& f0 A( A // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
# ^, h! X! ^! ]- A# @& S
2 d! _: E' ?" a4 S9 B { // à??μ oˉè* 3 p8 Z9 k0 Q5 z
pLight->Diffuse.r = lightColorPrv.r1;, I: s+ p& }0 m+ Q* A
pLight->Diffuse.g = lightColorPrv.g1;
5 B0 D/ s: h1 ` pLight->Diffuse.b = lightColorPrv.b1;; \; D; D0 ]9 j2 |8 b" m3 |5 @4 z
// oˉè* ??à? % C; l/ v! `/ |
pLight->Specular.r = 1.0f;7 O8 W# {8 J+ k# p# ~) e- _
pLight->Specular.g = 1.0f;
/ v. a* V' z! G, D8 p# F pLight->Specular.b = 1.0f;! W" ]0 `) ~. l- D
// àü?? oˉè*
3 r( `* |' {% L& d# I1 t pLight->Ambient.r = lightColorPrv.r2;
! q+ S4 J6 X% v- ^5 j! H pLight->Ambient.g = lightColorPrv.g2;* ]3 q) ]0 d2 [$ l
pLight->Ambient.b = lightColorPrv.b2;
+ \# ?3 y, m; w4 W: H3 W" |) g* Q: ?3 `
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
. q5 p0 w7 L/ o {4 p9 q" U: ~7 p; p
pLight->Diffuse.r *= 0.6f;- Y9 F, I2 d; M; T: P% h4 B1 n9 U& p2 B
pLight->Diffuse.g *= 0.6f; O# w4 [1 t, ]! H) B+ u0 o
pLight->Diffuse.b *= 0.6f;
! U8 b( z9 M8 ?) M- y, _ pLight->Ambient.r *= 0.7f;
* j9 b( t) Z. f+ G pLight->Ambient.g *= 0.7f;
0 x1 _* T$ p+ P8 g7 O" Q pLight->Ambient.b *= 0.7f;; Q3 i/ {4 u* [( Z7 b$ O/ ^
}
9 Z+ I6 T+ e3 Q! x7 B5 Q3 k ! V$ f' Z" G1 l7 B
#if __VER >= 15 // __BS_CHANGING_ENVIR
. W) ~" @) o; }. U1 @ if( g_pPlayer )
; F" x+ g, l* ? u5 |5 c HookUpdateLight( pLight );
* ~5 B: t( T* v4 a5 O1 q0 u" `#endif# m- V; ^# {( q% W
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );& I* n, z1 {3 {5 ]
" H% n# S' L" a0 J
#ifdef __YENV" h. _4 v% h, c( h2 v
pLight->Diffuse.r *= 1.1f;- n, q9 d. m! u
pLight->Diffuse.g *= 1.1f;6 F) Z/ K4 R m2 p& d# @. w" V
pLight->Diffuse.b *= 1.1f;
- y9 e0 F8 ]# Q( Q5 f // oˉè* ??à?
1 L* J! H" M- _' ?% d$ }/ F pLight->Specular.r = 2.0f;
) G5 ?/ ^& V W$ s9 i. G pLight->Specular.g = 2.0f;- z8 M5 G+ l; |( m8 n+ P( y. t
pLight->Specular.b = 2.0f;8 T- A3 z; h1 h% Q, k, L
// á?oˉ $ j0 X/ u1 X7 W+ ]9 h; ?' [
pLight->Ambient.r *= 1.0f;
( I, |" N( K7 p. J pLight->Ambient.g *= 1.0f;
1 [' { a8 Z F0 [9 y! Y6 F: d pLight->Ambient.b *= 1.0f;
9 u! d( o5 d$ e5 h* n) }#else //__YENV
9 Q; @7 ~$ y* T9 c! s pLight->Diffuse.r *= 1.1f;: j& @; D; E. v- R
pLight->Diffuse.g *= 1.1f;2 u8 G) }! ~ H. V
pLight->Diffuse.b *= 1.1f; x: }( @! O% M- P2 S
// oˉè* ??à? $ X" k# E. K$ P0 C
pLight->Specular.r = 2.0f;* A4 n" ~+ {8 S$ [/ C
pLight->Specular.g = 2.0f;$ X" }6 H: e* B
pLight->Specular.b = 2.0f;, p5 S; ]! r, p" h: X5 F
// á?oˉ
2 I7 u; C7 I* U1 X2 f) S pLight->Ambient.r *= 0.9f;
' e! `0 g2 e+ l- A5 ]% h pLight->Ambient.g *= 0.9f;
8 I+ m: T9 |! C: s) O7 q9 y' ~9 Z pLight->Ambient.b *= 0.9f;
2 y1 Z5 Y* o) W4 z$ P#endif //__YENV & y) N/ u: \ s8 U, p8 A/ Q& v1 k
: q7 }: n1 n% F2 G+ ^0 { memcpy( &m_light, pLight, sizeof( m_light ) );( P" H5 I* I7 j9 e* J
* e& I+ e# S$ G7 h* {% r/ H D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
7 X' K& T. `1 u5 l6 m D3DXMATRIX matTemp;/ g6 R0 q( }! M* {7 u
static const float CONS_VAL = 3.1415926f / 180.f;- t; j3 b3 U9 L. ^
1 t6 J' o6 m. }" O3 d
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);& ]3 P. B$ g9 }& F* }
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
, \. T) d3 x7 S& C' z pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 2 g: N3 q" K" s P6 f) e
pLight->Appear( m_pd3dDevice, TRUE );
& O) J; d& w, ^* h, h6 c" w* P2 o3 \) g9 P+ x, i% Q8 {" w7 Y: i
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);5 g* g% q, i R, d# y$ I2 j1 I
// D3DXVec3Normalize(&(vecSun),&(vecSun));4 D: S/ {' s% N% q) ^2 y
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); # {* W. v9 u+ e
. p6 q! A* R6 {* `3 W
DWORD dwR, dwG, dwB;* p+ x4 z/ y. P) W% c: L' ~2 n
dwR = (DWORD)( pLight->Ambient.r * 255 );5 y/ Z* ]5 D: _5 G# u9 b
dwG = (DWORD)( pLight->Ambient.g * 255 );+ M. w- V% N0 |
dwB = (DWORD)( pLight->Ambient.b * 255 );
6 G) W$ V3 p( c: J: ? dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
$ `6 N2 ]% N# s1 ?7 N" t. v0 z7 k }
, c8 ~% P) {! l/ U9 W }
& y- B& ~; ^; U0 U4 [6 D6 d0 S, c* U9 e
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );* A, @; y, i+ Z/ b6 B# P. j2 I
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) );6 P2 u, ^& G2 S1 L. u" P
::SetLight( bLight );
+ H3 J( g1 z: c. c0 s
1 A+ V4 A- {) x9 F // ±ao? ?D?í???ó á¤à?
- k! _! u7 F7 v8 o( @6 k m_pd3dDevice->SetMaterial( &m_baseMaterial );0 d+ G% a# q; l
+ c5 ^4 k/ M' t#endif // not WORLDSERVER1 t+ K$ `- R. X( E1 q- m5 V
}
9 I/ z- C- }( C6 G- w" i并更换
* w; Q' e( H/ S M5 CCode:' ?3 C- J+ A2 N3 o4 X7 C: l
__FLYFF_INITPAGE_EXT6 h) N' i0 J; _8 t4 W4 j
定义, q4 p# c% b! ~% v4 q3 J
* s7 @/ ?4 k) _! G1 T
/ T2 T! W- A, f( ?$ c% v0 @; Q1 N: E' o( A2 F
6 ~) S9 g5 U" p. ]# B( d/ l现在终于删除我的狗屁加速...
1 w3 B4 S3 J" I* l$ |8 E0 f
# F/ s) E9 Q# K. t
2 @% [/ c* v0 r( l
: a! e$ S* }& [' ?- y, N |
|