|
|
食品车:
6 s5 Y3 j: c9 n# ?) p1 |尾翼:8 S0 R! h) ^" \2 c* R
: s; S ^: a1 B2 e5 j) v5 W8 I代码:. y- t5 E$ t2 X& K" H6 w
CWndAutoFood::CWndAutoFood()9 Z- H/ g! y+ z- L# O" E: k5 ~9 x
{
% ?0 t9 }7 b! t) U Y4 U m_pItemElem = NULL;
% A* [9 t8 Y. t9 \, g m_pTexture = NULL;. F, C, U+ O( ~. `2 v1 \
bStart = FALSE;
# Q, g$ L; w* ~+ ^}
% r( Q3 g4 d+ \* O# z! c" X4 G- L
CWndAutoFood::~CWndAutoFood()
5 H9 l( |% f/ ?/ ?{
5 b$ Z- X6 Y1 |# h8 J5 N! k( N2 e! v AfxMessageBox( "AutoFood ist gestorben " ); z6 i! ^' a/ C
}
5 n/ v6 G% Q0 V' YBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )- H+ k) |; Y& T% i
{3 _9 t8 t' e% \; H9 {7 t
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
- Z& b' X2 o& }; \}; G6 p# D" B6 z r! }) H
; F$ b" i" k( R, |& E9 _# I
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )* k+ Y# N1 ?) @8 N X) z8 p7 _
{) g5 ?. p8 {% W( K6 ?/ e4 Z
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );/ K" H T6 ~& Z b/ r/ P
CRect rect = pWndCtrl->rect;( N! H" p# q s$ c' g
if( rect && rect.PtInRect( point ) )+ \1 x' i1 y0 |$ Q" V
{
& z2 m3 R6 m" H2 r1 R CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );8 m; b p% d# C
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
8 w2 @' e& c2 g' k1 [( x2 y/ D {
1 p( {$ t9 r5 y3 O' F/ h if( m_pItemElem )
3 J5 M3 b' ~1 Z: n E6 b D, M {/ U1 g# J7 [% ~4 b q% @6 `
m_pItemElem = NULL;1 m! t5 v1 \. i3 k* C
}# M8 [' d5 y, b. o5 D( T# A
m_pItemElem = pItemElem;
4 W" Z' z! w, E# C T m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );9 G$ ^" j* l; r4 X, p. D
}else{
7 \. a0 E1 ~9 |3 o: L& N3 ]8 n# C SetForbid( TRUE );
, Q, e% Y& l$ d) F( s2 E+ B }
( y! t D* \ c' G, G8 r' U }else{- x- h8 s! ]% l6 c7 C
SetForbid( TRUE );
9 T1 c4 q% [/ | }1 ]% V4 z+ g5 S# a M
return TRUE;
& c }. s0 g* S3 r! o& ~# E" t" b}. Q& h% Y) y3 s& J
, h; E Y! g2 KBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
# N1 f" I' P. i4 ?& {2 i{
6 p+ A1 t \4 m, L: h switch( nID )
) k) {" U6 ~5 P* I {& J9 L4 ?" c9 I9 [
case WIDC_BUTTON3:( j# H; }$ g# e4 T6 V: r# X
{1 `7 c6 [! o8 { {7 A* k Y
bStart = TRUE;
+ I/ |! ?0 X+ o9 u4 ? break;: J6 q4 C: M2 x0 Y7 D5 `5 z8 P* X
}. b7 `$ E2 H$ I1 E3 L
case WIDC_BUTTON4:0 \( M h; ]2 m3 r" @0 h5 C9 ?5 e" I
{
; Q" G% p) k3 z u bStart = FALSE;
5 K. c; _0 r3 v* E. y break;$ S- ?( ^" S7 O3 l
}
# ^# L! H7 ~% M }" w7 E2 O K2 j) v1 L' ]
return CWndNeuz::OnChildNotify( message, nID, pLResult );
6 T' V3 ^: L/ Y! y& V; Q2 R0 |; {3 ^} - v. m. Y1 _- P/ Y% w. |# x( `
void CWndAutoFood::OnDraw( C2DRender* p2DRender )& I& j+ P# o' O4 t" y y
{
: Y3 f, C" k( ?1 q- x% S CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 ); {6 a1 H% d' G% `) r* W
if( bStart || !m_pItemElem )% {! l. P) J5 `
{* i* ^: u+ i) m" x
pBtn->EnableWindow( FALSE );
; W/ Q* x& j$ g% P7 u4 ` }else. s! Q# i# s8 |6 R. i7 P7 M8 j! J9 F
pBtn->EnableWindow( TRUE );' p8 X0 b. W5 w
if( m_pTexture )2 n% d0 s8 p& X' z6 {/ c3 O
{
' Y# V5 N5 Z& g% t4 { LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
+ b9 @7 h$ [8 }" E4 } if( wndCtrl && wndCtrl->rect )
F3 u8 q' O: z$ ]* j( Y% Y {
2 p6 x0 Q! e+ p4 d2 @) K. Y7 f3 ` m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
: V5 V; e+ A: z! A. I" Q) m6 s }9 G0 L5 s9 Y( V8 q- w( C
}
4 k- s& F# s& b5 z4 S: t. M}) a; [1 S' j% t( U" g
% F1 @" P2 Z) A' F( BBOOL CWndAutoFood: rocess()+ F5 I2 }; M( L- B- ~
{
$ `, y% s) U: j. N% n if( bStart )
Y$ D7 P9 p* q! X {$ ~' ]+ x3 E/ f" E3 \9 P; X3 N& X
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )6 Y; _- ^+ s7 d3 ^' M) X0 }
{1 H$ {# _$ x$ Q1 Q- X% j1 K
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )6 B; N* l6 J" Y) F; y( [6 a
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
0 [$ L' P8 z! r7 S. ? }else{
; e: O6 H. O. Z& S% w5 { bStart = FALSE;
6 Z/ B4 P! U/ E m_pItemElem = NULL;
: h0 D& l4 D0 p5 W4 K D7 u }; H4 ?2 z% d Z: l; W" A
}
" ]3 p( E& e0 Q6 D" s+ g4 `* z$ m return TRUE;
1 x, g4 e( B- N5 f' L}5 e7 K9 ?: N+ c# M+ e+ g
5 o) i" U/ t4 t f# P) D( [
登录视频废话:
) X& y: n7 i$ P8 p. x7 P7 u( L尾翼:8 O4 E$ `8 L2 w% L+ f! ]4 c( Y4 @
$ S) S3 u! c8 b
代码:
1 q* }, E N5 e. z8 q
3 C3 e& o7 H7 o: X. w2 [6 |1 tvoid CWorld::SetLight( BOOL bLight )
( X4 i& w% T2 W' ^ `5 hdurch
5 R# u/ |* m0 oCode:
6 `% t# i" D' Lvoid CWorld::SetLight( BOOL bLight )) z" V2 C6 I- H; T6 l- L
{2 n; j6 X& J" Y
//ACE("SetLight %d \n", bLight);
1 ?% n9 M& x6 y7 r ! U( Z8 t) F/ q7 B
#ifndef __WORLDSERVER
8 J; F/ W/ e& K- p, q' O1 ` DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);0 k3 M; k- h& w8 M
CLight* pLight = NULL;
5 j! \/ q0 s* ]7 o1 ]3 N+ Y+ W1 l, U8 ]. M2 P& `, S
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );' A, |0 z% w& u$ S. s! J
7 }; i, O* w4 y/ G3 h h4 l
pLight = GetLight( "direction" );
: N) n4 r! c+ Q- i. L6 Z: K o# L1 f6 [. k$ {
#if __VER >= 15 // __BS_CHANGING_ENVIR" M7 Y l1 S9 @% E) ^6 o$ C: f
if( g_pPlayer ){
3 L7 I5 D* y- |7 t! d ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) ); c2 k6 k' ?& a: m/ J0 y* x; V
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
+ b; X" U0 E* V9 C j* R X {) }% G4 P/ O& _; ~
if( pLight )
5 `) b# I( U! [ a# y" b {* ^" S+ P0 V8 M" }0 V5 a
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];2 g9 W* |. \2 I0 W8 K
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];& B& p- \, N/ R* h( \! [
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];3 a4 s8 {; l J2 q2 z3 o& y3 l k% f5 {
$ X" M) l' K% B q% @2 m
pLight->Specular.r = 2.0f;
3 w- @+ r) t* k6 d( F; Z pLight->Specular.g = 2.0f;
) N: B* e; m2 l( ?* a) r pLight->Specular.b = 2.0f;1 u4 V4 M3 V" { H/ p9 d$ ^
9 w8 T& t- _ i! o3 K, x$ m! o/ [ pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
! I; G) I' I, ^, S pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];8 f: ?! B& ~8 B g) |6 Y( c, {
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];7 _, f1 a: J1 `) ]
& H0 c( y V5 K/ o. A
HookUpdateLight( pLight );
, q9 N* g9 c. R6 x( V
5 _9 ^. W2 t! u' @4 e" a memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );- B J0 ~' g' R( F8 @
, D; ^1 v5 V( H' B* x+ X pLight->Diffuse.r *= 1.2f;
* ?6 v! A) A* C" y% H) Z pLight->Diffuse.g *= 1.2f;: z- H$ x: b% ~5 L: m
pLight->Diffuse.b *= 1.2f;
3 e8 j5 |- W# ^4 K& x; K, f" M# U9 ]* h6 |
pLight->Ambient.r *= 0.8f;
3 }9 \# G' ^$ c! ` pLight->Ambient.g *= 0.8f;
. b. X0 [( ?* R pLight->Ambient.b *= 0.8f;
% h# N: u( X- w ) S8 ?# N `: z6 u$ ~. v
memcpy( &m_light, pLight, sizeof( m_light ) );
9 u; ]; t, t. m: ?7 w( b2 }# L; h! L& a8 z0 _. v3 ~! H8 u
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- ^1 c. n, a, J* t" m1 y
D3DXVec3Normalize(&(vecSun),&(vecSun));- t! ]5 S! ^7 q6 a, l
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); |# e8 L+ f$ ], O6 H
pLight->Appear( m_pd3dDevice, TRUE );" `/ q. W" v M$ L# `5 K
2 y- j- m2 u+ Y2 D$ V/ e DWORD dwR, dwG, dwB;' B( O) x4 y( B5 I( [* N, o
dwR = (DWORD)( pLight->Ambient.r * 255 );
& I" A2 f/ z8 @& b/ z d7 s l1 [7 J dwG = (DWORD)( pLight->Ambient.g * 255 );
3 w) T6 K. e$ t dwB = (DWORD)( pLight->Ambient.b * 255 );
" ~' f& V9 a. S" b' ]+ h% B dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
5 \# t$ P6 ^ r% Y* M% Q }
0 e+ d# W3 C# z4 v1 k }( o7 j( c/ V# \0 V( }8 u
}/ j8 H5 k- A3 m. e+ k F$ n8 l
else: F- ~: `8 X3 o, T
#endif " b7 H6 w. ^1 ~% P n) ~
4 R- d; D6 D& Z% l* F% U* A
if( m_bIsIndoor ), H* v6 u. F. z2 p6 r( S( R
{3 l, h; F1 ~( ]% [
if( pLight )
/ J, Q4 j$ l$ B0 J$ P$ ?# c5 _ { 1 h9 ~8 s6 M' l$ g# O
// à??μ oˉè* + D' ?6 ?8 M6 T* c" @8 g& z
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
( U1 T7 K" C, z% Y$ E pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
/ J6 W2 V4 j) [1 V! K! G pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
% ^" c# o1 G4 T! v; j5 W
% U* ?* R: ]' l _ // oˉè* ??à?
. A" e0 h( Z+ {, R7 t* v; q8 ? pLight->Specular.r = 1.0f;
) @" T# l' e$ H3 ~$ Z3 `, D pLight->Specular.g = 1.0f;5 h+ i. y u' T4 [* g% x+ Y' }
pLight->Specular.b = 1.0f;
: [, I9 ^+ J8 [- e- O9 Q" P // àü?? oˉè*
1 N) [7 U1 \2 F+ ~: w3 w, n* W pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;: R( w+ j4 ?3 W K" V( |
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
6 f! D( g: q! @) E3 M" e' b) g pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
, m6 g5 `0 c5 ^5 R& i, M9 M! C& n" j1 x( f1 ]3 l% `0 Q
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.1 |0 m" K2 g6 p8 O+ Z1 o. c$ `
{
3 \% r* {3 O: c: ~2 o, H0 h7 K pLight->Diffuse.r *= 0.6f;
: l! b0 b1 E- N! G pLight->Diffuse.g *= 0.6f;' S# z/ d! ?( K$ ^
pLight->Diffuse.b *= 0.6f;
9 ^$ }* j) T1 P: |& \3 Q; M" j( u pLight->Ambient.r *= 0.7f;
* n9 q G5 n5 ^9 s( _; W7 u pLight->Ambient.g *= 0.7f;' _7 M- Z& r! z! Y6 V) D
pLight->Ambient.b *= 0.7f;
* A3 b' ~. N( r ? U$ S) t. Y6 @5 q }$ M4 {! }" F! F5 e" t
9 g, c% G3 o9 m
#if __VER >= 15 // __BS_CHANGING_ENVIR
7 G$ s# V4 W3 h1 E0 @ if( g_pPlayer )
- m) X0 Y& u, Y9 ~& j- g! B HookUpdateLight( pLight );& o7 t* P- I4 l, ~5 X: }% E
#endif
6 I, ]5 |( b# f3 t2 r memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
" v4 t/ ?$ N( L' K$ i/ E% l+ _( _& X* d9 K% d/ e, q) c
pLight->Diffuse.r += 0.1f;
& G) J% [. W4 s pLight->Diffuse.g += 0.1f;
6 {( t& o) J% c! I& q pLight->Diffuse.b += 0.1f;
. {, Z( C D2 k- _ // oˉè* ??à?
, L1 t, Q; f9 Y' r) {- H pLight->Specular.r = 2.0f;7 u5 Y" b0 X3 k6 }8 L; X7 j! y
pLight->Specular.g = 2.0f;" |3 @: t: ^. g' j7 w' o
pLight->Specular.b = 2.0f;# w) N4 v* }! p- v T0 y. p
// á?oˉ
0 I* S3 K( e; |; M. f4 C' h" r% Q! S pLight->Ambient.r *= 0.9f;2 ^, Q4 X3 n8 S/ |
pLight->Ambient.g *= 0.9f;* h; G# i; F: ~* @5 |5 o
pLight->Ambient.b *= 0.9f;
/ f$ w V$ @ ^! Y) `1 `8 I" w0 W! N4 E$ @ ^8 o. U- {
memcpy( &m_light, pLight, sizeof( m_light ) ); V+ b' k, S5 l. l
" V. t- H) B# l: d1 ^7 k) v
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
% j& q' S. f. t1 _! l pLight->Appear( m_pd3dDevice, TRUE );
7 D- ~+ |6 L8 Z3 m' ~+ K : O- d X% A& D7 i$ B5 }
DWORD dwR, dwG, dwB;! r' ]6 q" u# S, O" {, I
dwR = (DWORD)( pLight->Ambient.r * 255 );& @& I; m5 }3 Y# ^, H' q( h
dwG = (DWORD)( pLight->Ambient.g * 255 );. y: A. s( p3 X6 o: {9 F# O
dwB = (DWORD)( pLight->Ambient.b * 255 );
, x2 t; ?) X2 h7 N- C/ ~% D! ? dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );. k; g$ ~- X' V% C+ Y- _ z2 S
}
( O# v# a4 \2 ]1 ^ }
# M' h' z3 P Z5 M2 T! j else
& m( ^1 ?' Y" E& l" d' Z) A {* Y. L& p% J3 _9 X# K7 K* T3 s
if( pLight )
0 z9 ]# a: O( C2 n D {
: l2 u9 L. `; z+ S+ Q$ [8 ~0 l
+ s, |+ s( M8 l% W int nHour = 8, nMin = 0;
, x5 E: g" Z2 r' z3 b/ f& l #ifdef __CLIENT
& Y4 T8 p& I; h( L- T // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
! R, W- u+ g" W/ n3 H" I) i$ L nHour = g_GameTimer.m_nHour;
* b0 X( N% a& O nMin = g_GameTimer.m_nMin ;+ a: a! T3 f) E" ` K/ |
#else3 @' y6 f! O' g. o
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù./ m q( d7 S+ G3 Q
if( m_nLightType == 1 )
% u& i6 R0 [0 z0 K4 ~4 c nHour = m_nLightHour;* t& G6 z" R; V7 c$ J8 g, n: M
#endif! \3 @$ V4 v& H6 w
nHour--;
" |' y# o: P' i$ d% e/ i if( nHour < 0 ) nHour = 0;
_1 j7 V2 I' O+ Z9 ?" F if( nHour > 23 ) nHour = 23;5 n5 e. V/ f9 A n9 x; q
6 c. M+ r2 ~# l- T6 O: N. y' ?& s //if( m_bFixedHour )
; _; T, c1 P+ j // nHour = m_nFixedHour, nMin = 0;
3 E' W! e k* X: o( X LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];6 Q# u2 x @: B G: R$ B
LIGHTCOLOR lightColor = m_k24Light[ nHour ];# y8 s2 v+ w; \
1 d& Y1 @! M4 S //m_lightColor = lightColorPrv;
% F. e" l+ N3 W! @ lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
) T4 _/ l1 v- s- M0 ]) z! S lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;) R- e5 z/ k; _3 b* a% h1 q L
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;( A$ K, _ l( y: r4 Y8 j9 Z H
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;4 T6 P4 Q5 V- r2 [: \
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
+ _9 M6 d5 X* ] \* } lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
+ c5 C' V* g; ^6 }; _4 L S // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)" {) X6 k" i7 l D$ O8 Q
2 a) K# j2 R3 V: z: [
// à??μ oˉè*
( L, k6 M5 @) U* V( j pLight->Diffuse.r = lightColorPrv.r1;( D }: E+ _$ I/ e, v' e
pLight->Diffuse.g = lightColorPrv.g1;
6 ]- J( }6 U; `* U pLight->Diffuse.b = lightColorPrv.b1;
+ j- F9 I9 V5 V" E0 B2 A // oˉè* ??à? / P. W. T1 J' n5 p, r$ D
pLight->Specular.r = 1.0f;
0 z1 j" b, a4 @2 C: v pLight->Specular.g = 1.0f; |: b- R+ z6 p k1 f
pLight->Specular.b = 1.0f;. z, \3 V) H( \+ w" M. C7 H& b
// àü?? oˉè*
5 L$ u0 |9 N' w, v! m" v pLight->Ambient.r = lightColorPrv.r2;
0 U1 q3 q+ E5 l# N pLight->Ambient.g = lightColorPrv.g2;* Q) ^/ T- G# z( Y. }
pLight->Ambient.b = lightColorPrv.b2;
% E' p8 {. x k9 M5 s8 \2 s
7 E' S) h3 G# v# w% X8 z5 _ if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
- r& J1 T _7 c2 |; ` {; { W1 a$ v) i& a5 Z
pLight->Diffuse.r *= 0.6f;! |( E7 D$ y+ J" N) Z% n' d
pLight->Diffuse.g *= 0.6f;$ X1 c$ G/ B1 o2 |6 H
pLight->Diffuse.b *= 0.6f;
0 @9 Z. [: E4 v7 K% ^& _ pLight->Ambient.r *= 0.7f;+ a5 f1 H* A% z l1 z( p6 W
pLight->Ambient.g *= 0.7f;, I: h9 W4 ^: o5 Q
pLight->Ambient.b *= 0.7f;
- p% R8 R. P. D }) |; P0 `, C! ]
( x& k: K( u: C- d' b$ k" z" w#if __VER >= 15 // __BS_CHANGING_ENVIR/ V/ c0 D$ e" {4 ]2 I! x* W6 i5 a
if( g_pPlayer )
. Z" A: `( [6 L: b& h- Q! ] HookUpdateLight( pLight ); 1 n7 D! K% p5 S% l! Z7 Y" e4 _
#endif/ M9 T6 U3 n4 ?
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ ^) x4 V: u [6 u) g
$ {+ ~; o4 h% Q7 S3 V) s, r6 F#ifdef __YENV% Y" v; t& X8 ^
pLight->Diffuse.r *= 1.1f;
4 }" Z% Z9 a# M6 B pLight->Diffuse.g *= 1.1f;+ a# i. {* K. W, v, E, V
pLight->Diffuse.b *= 1.1f;/ P8 w, b6 d$ e/ A2 a; H
// oˉè* ??à? + i; z0 S% \" Q, f# i f
pLight->Specular.r = 2.0f;
: F. K+ h0 G& `: n pLight->Specular.g = 2.0f;0 x# N7 S- k' |! q$ R
pLight->Specular.b = 2.0f;
+ C8 r) ^* S/ j ] // á?oˉ
/ R. z' u7 j. f- b! L' m pLight->Ambient.r *= 1.0f;% {- d8 b. Y" h
pLight->Ambient.g *= 1.0f;! S! ^. Y, A9 x; y9 f x
pLight->Ambient.b *= 1.0f;$ u: e/ ^: d+ |
#else //__YENV H3 d/ C' u& S9 h. w
pLight->Diffuse.r *= 1.1f;
6 t, E" }$ I3 ?1 r1 \ pLight->Diffuse.g *= 1.1f;
3 i0 h6 {( u3 \+ m6 v pLight->Diffuse.b *= 1.1f;. n2 k3 a8 v" d: S5 } u' G
// oˉè* ??à?
$ u5 S/ ^! [: L, `4 f7 ~ pLight->Specular.r = 2.0f;
2 L' D% \5 P( s: b2 [ pLight->Specular.g = 2.0f;
1 i0 U" t& h {: K) L pLight->Specular.b = 2.0f;. }) G) Y6 h# P4 I+ {
// á?oˉ # L. T/ s6 C/ }8 e( S/ Q B8 f
pLight->Ambient.r *= 0.9f;( G4 p7 a0 G: y* ^
pLight->Ambient.g *= 0.9f;" V. h1 l# a: l: p0 ]1 R
pLight->Ambient.b *= 0.9f;* t! S+ W$ h# f
#endif //__YENV . k6 ~ O% ~" o0 p9 w' u5 m
: p) \, W" @2 n U8 a memcpy( &m_light, pLight, sizeof( m_light ) );& X- z# Q/ g% k( W( P! C
. v% ^$ Y1 |% f4 Q" c8 n* p+ ?) y D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
4 n' k" `; o+ _, V1 @3 L D3DXMATRIX matTemp;
* B' D# s2 `9 W6 V static const float CONS_VAL = 3.1415926f / 180.f;" w4 ^# c, s! a/ Q
0 J- U. J5 Q* d+ C/ K3 |
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
" [+ m& b: d1 g, ^' { D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);9 C `( q& D5 e5 R/ j
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); " J; I5 B9 @4 i5 W+ w
pLight->Appear( m_pd3dDevice, TRUE );' c; ]" [$ {' |8 H6 K
3 y9 }5 B$ e' ~; }# z% | // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- _2 E: Z3 n/ x7 I) p4 m
// D3DXVec3Normalize(&(vecSun),&(vecSun));
$ H' N1 B0 F/ c7 C9 k7 I // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
* v6 s3 E% t( {7 @
) a2 i6 I6 t0 [* Q) ? DWORD dwR, dwG, dwB;
1 B; l' p/ ]% x( h7 c dwR = (DWORD)( pLight->Ambient.r * 255 );
$ h: z3 b" z/ u$ L# F3 I: G: |9 c dwG = (DWORD)( pLight->Ambient.g * 255 );
& w% t, I8 M3 L. H' s dwB = (DWORD)( pLight->Ambient.b * 255 );- r7 z u% {: L' W" m; ^; C7 [2 I
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 6 m! C5 L1 Z( [
}" H9 F+ R i; b1 s% q
}4 L+ l! [4 v7 q, _- h
" |- [5 L: w8 {
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
0 M# x' m+ A3 } 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 ~0 y5 X6 ], U ::SetLight( bLight );
, O+ ]+ O, U" Y6 [/ z9 u2 s. v0 i; v k; k! q
// ±ao? ?D?í???ó á¤à? & X* G+ s9 g/ T3 T8 F
m_pd3dDevice->SetMaterial( &m_baseMaterial );
* ~4 e* D3 ?7 N& p% N3 O5 l6 J
8 P& G$ h% t" b B" C% c1 C#endif // not WORLDSERVER5 L2 M7 a S9 c$ Y" y$ Z
}+ j) O: k) K8 d$ d' \, M
并更换
0 y+ ?6 S1 W5 w% ~9 R1 XCode:! \0 P/ y: f5 ]5 ?5 g
__FLYFF_INITPAGE_EXT
& I8 X' }* F# ]& T定义1 u2 ~: o6 j! h3 p& U% [
' O2 f0 _) i6 Z1 H T- t3 c, F. M
6 P- Z4 N4 L0 C3 ~. G& U( R5 j
; M1 x8 N$ X1 a$ K' {" @
现在终于删除我的狗屁加速...
}) _, U$ s O. k, \& l: t7 [ Z/ G) Q9 \8 o8 d' k! V
2 h$ ?4 Y X N5 A& \' f
& I; q x2 q& U) {; { |
|