|
|
食品车:* o' f% G' T0 z' T
尾翼:
8 {: e" j7 Y8 z# L8 m
4 @, j$ w2 ?5 E- Z/ s, ~代码:4 ^: Y/ T1 ]. j4 [/ |) r- c# ?' y
CWndAutoFood::CWndAutoFood()
. W$ w) M* g! }8 U2 ~+ d{
0 I# F) }& z( B! _( O* _! j m_pItemElem = NULL;
N( [) @, |/ G% _' e8 i2 H m_pTexture = NULL;; d v. Z- d5 Z. i$ ~
bStart = FALSE;
3 n) ^' ?9 q# h% f. N+ r$ ]- p}& e- b! z. ]; g/ V; t: _
4 a j0 x) l4 x
CWndAutoFood::~CWndAutoFood(). x4 A, E9 T, s/ n4 q" S
{0 f$ N: }# u3 E& X5 h0 w0 H
AfxMessageBox( "AutoFood ist gestorben " );
0 s( t+ Y' p' k5 n% C! W/ q9 W}
% H0 f3 h4 _5 C; L0 ?% L& ~, e. @BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )! P# U, t$ C# G8 A
{% {5 B( \; m- Y7 D$ p2 O
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );% |8 b4 D8 |2 W: w' ?, w
}
6 P5 w1 d; p- U- b% L& {6 H: E
' I, Y" o7 v) P% C# `; _+ b# cBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
+ e8 c; J9 B2 N; U{
8 b3 H6 ^. i5 }; H n) F LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
& C" Q5 p* x4 g6 `$ O) V; E h CRect rect = pWndCtrl->rect;& w/ t+ a u: ?# w. b) ?
if( rect && rect.PtInRect( point ) )
8 K% D4 }3 d1 M/ S! M& @" b+ G {* i7 a5 m( d9 ~& w2 B# ]
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
7 ?! q6 p5 h* P$ c* Z if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )( X) `- i3 t$ y: c
{/ a7 w! |! D. z) A4 a$ |1 v
if( m_pItemElem ) v* F9 R8 |/ c: W
{
# X# t$ J. b) b% f. Z$ v m_pItemElem = NULL;
6 V* r! O }" D7 z8 p }& n4 q0 r4 ^6 H- T( J5 l: S
m_pItemElem = pItemElem;
1 u+ I1 v8 X: y/ O* I0 z& L m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
7 w6 `& r# q" ^2 b8 i8 z/ a- w }else{
9 q3 K% i V" O9 E, z SetForbid( TRUE );+ r, m, `* u, o% Z& f, N. h6 H( J
}; m5 A Y3 q: ` l* M* y
}else{
) l: V6 S# A- K SetForbid( TRUE );2 m: f6 e; d, W* y2 a2 [
}0 B5 d0 W5 Y6 D( V
return TRUE;
; x+ D% m4 J+ O& g* }0 _" {}
' t% X6 V- P$ o$ A& G9 X* G# d; W1 m5 _ n9 q! K
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
% _: d" [: |' S{
% g1 `/ W" C9 ^: Z, S* U1 ^4 p1 S switch( nID ). {) P, _% d* R
{8 `) V* Z( I7 V+ A
case WIDC_BUTTON3:
k3 F4 V+ K: \, K' o' k! L8 ? {3 {" r, Y2 k; D7 W
bStart = TRUE;
5 T* J& J t+ x# X9 p/ g% e break;$ g- T k, E/ e1 A
}
" C' u5 w( t2 d! [- z" F5 g case WIDC_BUTTON4: o' I5 j; O& Z! h' ~+ I
{
/ a4 u9 e2 o2 }& d8 ~ bStart = FALSE;% b% f$ y5 m2 K: }' b, @1 q
break;
$ w. x2 c5 h4 q }
; Q) p- h' V Q }
" U: x0 c2 p7 u, e# {' x, R return CWndNeuz::OnChildNotify( message, nID, pLResult );. k3 {( h3 S! W0 ?5 y
}
, a! h3 |) A% l& @7 x& Yvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
# j. K# w% U- H1 J{) _1 Q, J/ w( i+ f9 S3 n. K( o, }7 P
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );' B, y/ c( M( v. r& [5 e l
if( bStart || !m_pItemElem ): P& g- S7 W6 [. c! `9 \
{9 i7 `7 ]1 `1 S3 {7 a% E
pBtn->EnableWindow( FALSE );
4 | d8 G4 w8 Y6 x; x }else
- F; V. _- r2 T% z pBtn->EnableWindow( TRUE );
+ s# R2 m5 d7 ^( ~" ?# }" R* A$ q if( m_pTexture )
/ g7 p% C; l: [, \2 Z# } {; \8 A+ O. c' U( P
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );3 o! _/ C/ L* T" n% x2 i/ u" @
if( wndCtrl && wndCtrl->rect )5 D T" o8 m9 [% h4 L9 T' u
{
7 p' ?6 Q/ ? P/ K2 O& W0 X m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );: `0 M1 M9 V3 Z. }! m
}0 y* G& |/ Y$ r4 l4 `
}" P" O6 b1 |- A
}! g g4 J! s: b1 h' P& m
9 @! l6 f; a: l! l2 C. l. }0 u- rBOOL CWndAutoFood: rocess()$ y1 t; n$ f* v0 T( Z
{
& X, u( e5 n- l3 Y5 z7 k# Y if( bStart )! ^" n. d; y/ W9 C
{
7 y$ Q$ y- ?" E, T: ?3 @7 I5 M5 m if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )' G( e, y1 ], N5 N% Q
{4 q3 w0 X; s$ E: ^* V7 e$ y, S
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )7 Q' g& |/ l! `; H
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );8 g: Q, n5 M* _6 z) A6 q
}else{+ \2 @6 f$ t% q5 g, i/ H
bStart = FALSE;
" ?+ v# t. I/ f% k- O m_pItemElem = NULL;3 `, s1 L1 H% P+ p- {
}
- ~+ @. ~+ {' L4 o }7 [0 R2 R0 j2 ~) v( Y0 a7 L
return TRUE;( S& d! o; }0 _0 V' A
}
& V$ d e5 u3 s6 K. t) W% ~+ A! C# {6 P" ]9 l) a1 J
登录视频废话:2 @) u- m7 H! u4 n% \
尾翼:
' w2 K# K1 k2 Y: y' Z) G
8 `5 N; S/ ^# y" W: T. C Z代码:
7 B" P9 y" h/ u$ U7 ~* r' f9 s; T3 J6 T0 O/ {1 |2 f) f- T, @
void CWorld::SetLight( BOOL bLight )6 e6 [/ ]6 s/ V3 G
durch8 Y0 [) N4 k. N6 b8 S# H
Code:
4 u, x( Y1 p% Y5 b& xvoid CWorld::SetLight( BOOL bLight )
8 I1 N# d9 k) `{
3 G/ ]$ c; E! o8 M# _3 n //ACE("SetLight %d \n", bLight);
. Q/ \) T2 t$ q
, ?# ?6 z! k* _2 @. k& i#ifndef __WORLDSERVER " U( L: f% X3 b& b, s: `$ p
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
4 P) i8 b V* D2 I( M6 E CLight* pLight = NULL;" b. @# `( H/ y0 p* c& Y R
, G, b% i9 z: i' I$ j/ p" a: ?% q D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
' V4 F# r6 a6 @- l/ d) i- u5 Z$ {2 o3 L% t1 T5 n3 T
pLight = GetLight( "direction" );5 A( f9 X7 ^" g9 l8 A
% l( a( h! \1 ]: C( D
#if __VER >= 15 // __BS_CHANGING_ENVIR5 a; c$ v6 q' H. e# [& {
if( g_pPlayer ){4 z% e7 M& ?1 ~
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );8 |9 r' X6 p9 W. Q( f8 g
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!% @* ^: l7 y3 `3 v, F* G. b
{8 `0 m" q8 S2 F+ c$ S: G1 T( f9 `
if( pLight )
$ n/ e! c( z' `2 M' H) K {; t& j& H/ W! H" }' L- L0 p
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];' S# F( h& d$ H# M, K' C$ S$ h
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];- O6 a! y& i, v
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
# s3 x6 W5 n+ n1 B8 l" P# n6 ~, T) H5 g4 {& R2 d8 R9 G4 }- K
pLight->Specular.r = 2.0f;9 B, D8 S# j9 n: L
pLight->Specular.g = 2.0f;
' C# Y+ J9 H. e1 S5 d' P pLight->Specular.b = 2.0f;
) S9 f; F% J) d7 P. M8 n
y% t+ E, p0 V1 t pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];+ G) v4 H' {5 E3 A1 r1 m( ]
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];. _) _& }4 ?( Y3 Y! L+ q
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
: V/ O8 V/ u; j' j/ s8 [- l- ?: x 6 u0 F5 |) A& L4 \
HookUpdateLight( pLight ); # c/ M1 y$ }! ~8 u
- j. g; ~" q/ g! {2 n4 D6 q2 B
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );- g) G b/ d9 {0 W3 f( f
7 w4 Q T; v9 | u/ I pLight->Diffuse.r *= 1.2f;: Q/ |$ ^5 a# ^- x- l
pLight->Diffuse.g *= 1.2f;
# |7 p9 j/ t8 ^ pLight->Diffuse.b *= 1.2f;
. ~0 J: W; O+ x% Q! H ^ y* ^$ l: X$ q! ~4 [
pLight->Ambient.r *= 0.8f;
/ H* G2 q- x$ B+ c' f: A pLight->Ambient.g *= 0.8f;# w( V( \; l2 g
pLight->Ambient.b *= 0.8f;, R& U* ~" _+ r* q9 X7 z- K5 S
4 q' C' }$ z9 h8 z
memcpy( &m_light, pLight, sizeof( m_light ) );
9 C% H8 X' r, h1 N$ E a; V. h7 L. R. y- S. _$ `
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);4 @% A) [9 @1 g# [" k
D3DXVec3Normalize(&(vecSun),&(vecSun));, ^. r4 ~7 d, Q- p2 {/ x
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); \: Y% Y: N! `
pLight->Appear( m_pd3dDevice, TRUE ); S+ ^+ T) V) l7 }! ~7 {, W
5 E! _! v& @/ {* H: j* ? DWORD dwR, dwG, dwB;
0 ] S+ E# d# ]: V- u dwR = (DWORD)( pLight->Ambient.r * 255 );8 `1 J' c n) F
dwG = (DWORD)( pLight->Ambient.g * 255 );
- }" `6 K% r8 w1 d' k# R; o dwB = (DWORD)( pLight->Ambient.b * 255 );" ?* B+ E. R9 I
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );% G8 D3 U- N9 `2 z
}
. a5 o/ m$ G. [1 E5 b1 c }
7 ]" ^- x" [: ?- c$ h1 w) G }9 Q8 N: Q2 g) @1 i
else
- x# I# j5 F! q/ F9 l0 |& w% n6 H#endif 0 S3 c8 @. {5 p' V2 i9 {! f
3 N! z# h6 c5 U
if( m_bIsIndoor )3 X" ]/ w" I1 Q4 I8 k6 P
{* ]! s. x4 c: x/ d9 @+ m# c+ t; F
if( pLight )
0 J5 I4 h% j6 S5 R6 D" j8 V" [ {
; W- `' P& o* M7 U* C // à??μ oˉè* ( S$ t5 k6 w' @8 @, g
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;( H# ^$ y- B1 F" [& J0 X
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
2 V6 N& C8 V5 l, z1 m; Q pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;$ d. K9 `* C \& e
" M) r- K3 c0 }- n# A4 _: L% b // oˉè* ??à?
6 Q+ O e0 j' M pLight->Specular.r = 1.0f;
( Y/ T5 o3 m( H% C pLight->Specular.g = 1.0f;- L- H2 J% z3 K
pLight->Specular.b = 1.0f;8 Z" Z6 W. a2 J: h" ?$ A
// àü?? oˉè*
) T, r0 L2 q6 t7 B5 B* R9 y/ h6 h pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;* ^; p- `8 M3 P5 I; f- P
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
$ m( |& i; E; S2 }, _% N pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;, V, q" @9 l- Z3 e) X4 K# \, Z3 P$ c
% X+ u9 s7 Z9 J if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.5 q/ M+ Z8 |% ~9 i7 {& S7 I9 `
{0 ^; X. q/ \4 K- B- N/ E
pLight->Diffuse.r *= 0.6f;
" M( L$ y( Z5 f9 Q. {1 w8 N' { pLight->Diffuse.g *= 0.6f;( o- a6 H0 g s, D- `
pLight->Diffuse.b *= 0.6f;
5 B9 z# {' l" g+ n! d; ? pLight->Ambient.r *= 0.7f;/ V* i( X" f: ^" J
pLight->Ambient.g *= 0.7f;5 D% J2 k+ G+ G9 A
pLight->Ambient.b *= 0.7f;; |7 R3 F( W( v& B _
}+ [! B" p5 L# [$ i# j1 v* U
) t) K% O4 E& @$ K
#if __VER >= 15 // __BS_CHANGING_ENVIR
) S% b6 i# c$ r2 O W' n, \$ `8 c if( g_pPlayer ): ~( r; O+ R; K
HookUpdateLight( pLight );
( C- s! {+ B3 T/ @4 e6 e# g/ k, O#endif8 m7 E4 [( ?% ^5 U( J' U" `
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
" | f* R, T' Z4 U. j8 o0 S3 G* t' d1 D# M( @" o/ H7 _; J# z1 D
pLight->Diffuse.r += 0.1f;
* a/ F. x$ Q5 d: }! X9 v4 ` pLight->Diffuse.g += 0.1f;
0 ]5 s7 S$ ^2 p/ `6 i0 [, y pLight->Diffuse.b += 0.1f;
& H4 `3 ?# O& H1 N, O1 E! g6 d8 a // oˉè* ??à? 4 @5 v! U( F5 ~4 M7 F
pLight->Specular.r = 2.0f;5 F3 N3 h+ [4 n. N1 e
pLight->Specular.g = 2.0f;
. Q' c8 `% g8 ? pLight->Specular.b = 2.0f;
8 L+ q, _$ }6 [5 ?7 ~3 K // á?oˉ
! D K) |6 v: F: F z5 k' J4 w5 l6 v: H pLight->Ambient.r *= 0.9f;, N& R3 w; H* H; E0 j& P, g
pLight->Ambient.g *= 0.9f;
/ o2 d% b T3 v' u# T4 t% }$ k5 u( l pLight->Ambient.b *= 0.9f;7 Y; @. r0 g, z" i: t' A
# o A0 H$ M2 N' k
memcpy( &m_light, pLight, sizeof( m_light ) );+ H# E7 c0 H$ r* o5 J$ p/ f0 U
, c; N8 ^( F A8 M
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
: W6 g( @+ P5 J( h pLight->Appear( m_pd3dDevice, TRUE );
' U8 L: Q% x( K1 H0 e 4 U+ S n( H3 e$ C$ s3 ^
DWORD dwR, dwG, dwB;$ X1 z, Y `/ ~" }3 |
dwR = (DWORD)( pLight->Ambient.r * 255 );
! Y: h- D- K$ R: ]9 r dwG = (DWORD)( pLight->Ambient.g * 255 );
) O( W J: N" _' D dwB = (DWORD)( pLight->Ambient.b * 255 );
& p/ h/ C9 {" M( |( l2 X9 r. m dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );; Z3 F" y3 S9 Z/ z
}
. Z: f1 U8 }, k5 h, v1 @( G' j, R }
+ o6 i6 |! }- o* U4 e* `7 W else
$ C9 v& h2 f/ T: _' J {, J5 a9 q: U! K; n5 E$ ^8 x4 a
if( pLight )% b& b" ?. o5 e9 W9 ^
{
. C* H, v- z0 t " S' o! h/ |- F( J
int nHour = 8, nMin = 0;8 B( m. @3 l( E. m% h6 l
#ifdef __CLIENT. S2 b, _: n# v! v! u. D; E
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
+ t% F) e* M( \! M; o nHour = g_GameTimer.m_nHour;
M8 L( f N4 z% F nMin = g_GameTimer.m_nMin ;, D. v) c @5 \: Y+ _1 J, G
#else
% L$ j: l4 U1 |9 W H8 L; Z // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.( n0 e5 ^" G3 N
if( m_nLightType == 1 )
7 n. i0 l t1 s2 O, K: v" d9 h4 ] nHour = m_nLightHour;
0 z5 v, Z# _' x. r6 c- i% A. O #endif
+ H; k. O8 D, }: F5 l$ n/ T nHour--;
2 E4 M; b6 r9 ^0 H& ?/ { if( nHour < 0 ) nHour = 0;6 A& ?( ~, D+ H! `3 q# l
if( nHour > 23 ) nHour = 23;
( s% A( J! ]1 N0 H/ C o4 l2 f
$ Q) c) G6 J. h //if( m_bFixedHour )) \! I% i3 J; Z5 ?2 V1 e2 l
// nHour = m_nFixedHour, nMin = 0;
: i) _- j6 I& i" c, ^$ m/ m" q LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
: ?. v' Z- ]- |# H LIGHTCOLOR lightColor = m_k24Light[ nHour ];
5 {% Z4 J' ?( _9 f* y6 w$ b/ z8 y; f! ^
//m_lightColor = lightColorPrv;' o4 O) L" P$ d
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;. o! Q) R- H1 x; h
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;$ L g) a4 t( e# \( e- i3 b
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;9 Z; P) H* O# h/ h; L: w2 f. {
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
6 k3 X4 k% Z% e! |: o lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;! n4 T* X2 S% A
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;% q/ K% s) D5 j& w' z
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
: y4 S+ [+ T, Q
, J( P% Q0 v& ^ F' J6 [+ X* z8 E4 L, ` // à??μ oˉè*
' D6 g5 O! d, } pLight->Diffuse.r = lightColorPrv.r1;
, e0 y- k6 s8 c& Z# b% }( g pLight->Diffuse.g = lightColorPrv.g1; A( R9 O# j k% ]
pLight->Diffuse.b = lightColorPrv.b1;
) C6 {! s+ y9 N2 K$ z // oˉè* ??à? 7 \1 w! o' B6 B" }. C) }
pLight->Specular.r = 1.0f;( H- ~7 H( `5 g9 _
pLight->Specular.g = 1.0f;! G5 h, p# ]" I, e, e4 f
pLight->Specular.b = 1.0f;
: Y; I; G7 H: \( @7 R/ x: s% \ // àü?? oˉè* ( q2 M: k: N3 Z# z4 @/ T
pLight->Ambient.r = lightColorPrv.r2;
' K9 B- Y) F( e7 p( P" t- J$ b4 K pLight->Ambient.g = lightColorPrv.g2;4 X! P( e* _) A6 X% |2 z$ o$ q$ b
pLight->Ambient.b = lightColorPrv.b2;
) m8 q" C) d' L( T Q/ o
O1 r4 v; x8 u @ if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.. T3 g J! A5 K0 d
{
5 A- U; d4 K# U+ ]. }/ [2 u pLight->Diffuse.r *= 0.6f;
% q5 X8 l. P7 w" g( ]* m pLight->Diffuse.g *= 0.6f;
% T& V8 b" X0 A8 @ ] pLight->Diffuse.b *= 0.6f;2 b( r8 g3 L9 u" |& H
pLight->Ambient.r *= 0.7f;
3 Y+ @: i: h! `& ]' C pLight->Ambient.g *= 0.7f;
# ]; T' u: c$ I pLight->Ambient.b *= 0.7f;0 q1 D5 O( T7 F9 L
}
( s+ w9 [0 E- i/ j8 u ( X! Z z; |" W% E( K
#if __VER >= 15 // __BS_CHANGING_ENVIR6 H& G8 P8 C. b2 t2 ^3 N2 l% T
if( g_pPlayer )/ H/ K: R w8 ~1 O
HookUpdateLight( pLight );
8 j6 [/ C9 o1 J#endif
. V4 T& P7 E/ s! i- S5 @ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 E( O" Z1 ?1 z: t k) o/ o1 q) W1 F7 t4 V1 E
#ifdef __YENV
5 y1 u! T9 v0 A pLight->Diffuse.r *= 1.1f; j7 n2 p7 O$ z4 b$ |$ _
pLight->Diffuse.g *= 1.1f;8 G- L+ W4 y7 T% W2 R/ Z6 [
pLight->Diffuse.b *= 1.1f;, l# {' [7 z2 t
// oˉè* ??à?
! a: H% V3 l$ c& n pLight->Specular.r = 2.0f;
. C% z7 D, R8 x6 P* N pLight->Specular.g = 2.0f;8 v2 J+ H# d0 Y& [) |4 i( z
pLight->Specular.b = 2.0f;
0 c. R9 u! S! `9 f) F) G# \! e! O // á?oˉ 7 f& y& C4 M' h) W% M W3 _
pLight->Ambient.r *= 1.0f;% M, s* U1 {" O1 j0 B! c
pLight->Ambient.g *= 1.0f;! N9 X! B" j8 f8 G/ q
pLight->Ambient.b *= 1.0f;
5 h2 }3 F% A( B( h" I( J#else //__YENV! `. Z$ f3 V" Z# r6 C" Z* q
pLight->Diffuse.r *= 1.1f;
/ j5 E% r K# U; C3 ~7 | pLight->Diffuse.g *= 1.1f;: p) {" Z! ~+ E* S
pLight->Diffuse.b *= 1.1f;; U8 V8 V7 a0 {% m5 Q0 p
// oˉè* ??à?
7 [, q, a+ L- k# G pLight->Specular.r = 2.0f;
9 P7 t4 g: A P3 V# c; M1 p$ A pLight->Specular.g = 2.0f;
# T' |+ k( N6 g( R. f! Q ~ pLight->Specular.b = 2.0f;
* {8 s& x5 Q1 r8 ]9 x) c- o4 I // á?oˉ
! T+ t# X7 I$ ^2 k pLight->Ambient.r *= 0.9f;# Q- }! S4 v2 N& D* h
pLight->Ambient.g *= 0.9f;
" e& A6 C& L/ K pLight->Ambient.b *= 0.9f;
. Q! F1 J" z+ }8 m0 t9 ]#endif //__YENV 4 J, r$ v9 I" Q8 ]
* L( G3 {) p2 {# `0 c/ j0 O G memcpy( &m_light, pLight, sizeof( m_light ) );
& m H* } ]/ _8 K; j3 | % w! V0 J% [8 {- s) @% k
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);# ^3 P I1 | s
D3DXMATRIX matTemp;4 \: `) p$ o0 Q0 X. F: x9 ?
static const float CONS_VAL = 3.1415926f / 180.f;. `& I- ]6 }* n& ?* v" ^
n/ A/ I( W/ x" ?' T! x& }
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
( Q- G+ L4 f# E* l- M& H9 O D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);- q7 ?, a9 d3 T6 J& [
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 1 V8 D$ P/ g5 ^8 B" q" u
pLight->Appear( m_pd3dDevice, TRUE );
& j T$ n4 S' Z( |# E7 b$ @3 d) p. ]2 f1 M9 ?' x3 j
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
4 B6 a& |! M* n // D3DXVec3Normalize(&(vecSun),&(vecSun));7 N$ C8 E3 e. y* v
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ) {% b O! x: J9 q. d w7 x- \$ P
. u4 j, Y6 R6 g! p- {
DWORD dwR, dwG, dwB;
4 t0 B( B5 z) S; X dwR = (DWORD)( pLight->Ambient.r * 255 );
9 G( G J7 N8 m( r1 s( p4 Y# e+ C dwG = (DWORD)( pLight->Ambient.g * 255 );0 m5 x# j& d1 n+ {6 I8 q1 V; q$ Z
dwB = (DWORD)( pLight->Ambient.b * 255 );
, J5 ^5 A* K" g+ g dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); . X" m I' E+ u
}# W, m5 N5 {5 D! _0 i
}
) R* A3 t! O- G+ w
- e; \$ l$ s/ j8 s+ U m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );5 o/ h/ f7 P& b4 r
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& V3 Y. }! }7 }% c/ d
::SetLight( bLight );
. x5 ]3 w9 m% c- @$ Y& Q/ ^; g4 W" t4 Y$ I1 p# a- @1 ]
// ±ao? ?D?í???ó á¤à?
% o; `$ i ?4 O+ k. C4 j. { m_pd3dDevice->SetMaterial( &m_baseMaterial );
: }3 h$ x+ a2 } 7 Q! v# Q4 k% a# y
#endif // not WORLDSERVER R9 u3 O& P8 n1 Q
} B- Y( r: D5 r0 L! E- a
并更换5 I% A8 [8 o4 J% Q: ]8 F8 e
Code:
a1 A1 @9 L: V: j( }8 X& S__FLYFF_INITPAGE_EXT
% x: G1 Q( \5 K1 ? t7 |6 j; c定义
2 E) r4 @% @ }8 {( s4 q# c, ?6 _2 g* u
3 F) |7 X; P; B, N) |
5 U( }, x2 _& n% c5 U$ G. f' ~* A2 c/ |" W, K" P+ ?
现在终于删除我的狗屁加速...
# c1 J s: A' }" c: {: k+ S2 p5 a" B% ]1 j. E
' R( X3 f+ ^* M7 v
$ Y B1 Z9 \" F; i% ?1 e
|
|