|
|
食品车:$ J* L9 }! p! _. m6 l `# A
尾翼:4 V9 C: T' }" j
1 \/ i1 m1 G* l代码:
6 S/ e; X, u, B8 a) p2 T! LCWndAutoFood::CWndAutoFood()
" X! N! v7 b: t8 M) `5 B{; |8 g8 O5 `7 V9 T4 e. n( T
m_pItemElem = NULL;
7 Z/ s3 Y' i9 Q) }9 ~ m_pTexture = NULL;
/ k3 ^& G+ W: M/ ]6 U bStart = FALSE;5 [7 d- [& v: z$ B$ N8 R, ~( r
}- `+ V4 \$ B& g- K- K
$ z; d" B- U8 \! v/ g3 SCWndAutoFood::~CWndAutoFood()
0 f3 T( l6 b; ]2 m8 i{
* @) [% d$ z. C0 G% R' T: k8 E AfxMessageBox( "AutoFood ist gestorben " );
% g* i6 N8 @2 q' } T" ~}: w- l3 h; w8 @3 a7 Y" O
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
- b: P) ^. e7 M* h{6 Y T/ L) `* G; G! u
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );: Q" G/ M% A) e$ S, g! R
}
! F& e3 Y6 }7 P% M, `! B: t/ e( |) w9 }& O& @, j( _3 w
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )/ ^- D$ ~% D8 A6 V
{
" y: u. t* y) M9 o LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
9 G1 q! i' Z( {: l( d$ b CRect rect = pWndCtrl->rect;& g3 h* ?4 U. u
if( rect && rect.PtInRect( point ) )8 w. K; T8 F' T$ v' j J
{
8 @0 F) i0 I4 l5 m: J1 _ CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
2 c3 m+ g. b) K$ E4 r& x3 ~ if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
6 y$ G# K" m! {6 ~$ a3 a7 p2 l {3 r% x z8 E% ? w' y
if( m_pItemElem )
' z) |7 d* I e+ l% R2 q% w {
9 j, j9 e% y+ K: N& [ m_pItemElem = NULL;0 l7 g+ U! r- Q% W
}
* x8 E( k: o6 n m_pItemElem = pItemElem; [& |" b. e) J
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );7 g X- F. N$ W' h- m6 t
}else{- S7 F: K+ H5 p. b
SetForbid( TRUE );
# y1 s4 @7 e% x, y4 |+ S }
) s& T- [- A+ z# e) j, J }else{, m. y# w- B7 y5 b4 `
SetForbid( TRUE );6 R3 t& M% _, [9 x7 D( |
}" j! j' V' f/ d8 @
return TRUE;
# f+ S6 o u( q# a8 ^}
0 r/ e- q6 q4 U; C( A
6 z) h( f4 c# _4 f( p8 uBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
7 M) \2 h6 g t% D' Y{5 C! T/ r5 w; e I, M4 N. V
switch( nID )
2 X, |# V% ?0 j {* V: w% i) [# K; D( T1 T' G
case WIDC_BUTTON3:* `2 h7 r2 ^% _$ B
{
8 |0 y$ b6 J/ V g* b1 G bStart = TRUE;; `8 I/ q' r& ?
break;
C: S L9 O1 o }+ s8 c4 K& N, @ T1 h9 F
case WIDC_BUTTON4: }5 }+ W% l( \
{
7 H' i- I1 T; q, G/ k bStart = FALSE;) I1 ~ u9 K/ J" n- K+ E
break;
5 l* B( `+ j1 A& v+ Z }
2 t1 U, X+ Q. M }
3 j; G2 y( @" e* Q# Q' d- ~ return CWndNeuz::OnChildNotify( message, nID, pLResult ); w8 t! U4 M( u, Y, w+ |
}
$ f5 m; _! w: p& u* x9 gvoid CWndAutoFood::OnDraw( C2DRender* p2DRender ) S1 }1 W/ p; Y- k
{; _# [6 Q) k2 P* R( ^$ S2 A" V
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );$ e( }9 F! S+ y/ f6 p. l
if( bStart || !m_pItemElem )# N* e1 q' `+ `- ^/ v
{7 J u, h3 j9 [! e5 o- j% |
pBtn->EnableWindow( FALSE );9 p: w0 m: K/ P, N
}else
8 g1 o8 G0 ?6 w6 Y: X' l7 |" G; P pBtn->EnableWindow( TRUE );- p8 i& a# F ?6 {! ?
if( m_pTexture )& g/ \5 e- J( G# d3 z/ b
{) x& s5 p* X% z, {1 L" t5 }
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
# a* M+ D9 H G$ H# H if( wndCtrl && wndCtrl->rect ); f& S' i% K# p% l' S0 p5 I" C+ N
{
- h p/ s2 q" G2 E m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
$ w3 k k: b L+ _7 P( { }, T/ H* U+ v5 b
}, O0 j; E& ?# L
}
( r7 v/ E4 M) `" d
: o. ]3 F5 J' TBOOL CWndAutoFood: rocess()+ w7 [; Q5 S7 b/ A& y
{1 G# Q6 C- W% q
if( bStart )& h. M; c* j) @ K( g6 o! y
{1 c' y8 l4 y# A3 ^! e
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
& Z V+ | {) F0 h# O. s: V* L {0 H. n& r$ x, s; V! X
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
9 z1 X2 m. `& M6 s- H g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );7 {2 C* u9 B8 \1 J3 @/ k) G
}else{
& ~2 h" D" T8 ~- f! o- _ bStart = FALSE;
8 [. u" J4 @# n0 W, N m_pItemElem = NULL;. g1 c- o6 k- f- v+ z
}8 v% e! d, V( d5 K; k
}
3 {* }0 k' v& ~: P' ]- H return TRUE;, _1 U# r- o" i/ L; ?) v# V( B
}0 h8 L* P& ]' M1 y7 K# k
' G0 B& ]( L! D, g) s: Q; [/ }
登录视频废话:
- p, P+ c; L0 K( `尾翼: P( R5 B# d3 ?! p9 E
9 d" L1 z) Z- s- H4 K8 G代码:
; C; Y$ j8 F3 R/ _$ a4 }) I/ c8 | s4 R1 v; }% \
void CWorld::SetLight( BOOL bLight )
3 H! `2 o! \0 W% X( ^ P1 t5 ?0 ]durch/ E4 l+ P/ b* @- z) Z+ ^) w
Code:4 ]# t7 p* w% p2 }3 D4 S
void CWorld::SetLight( BOOL bLight )& ~1 _! x7 y0 z& z
{
7 j, c7 R$ m% ?3 J //ACE("SetLight %d \n", bLight);5 G, T+ `: ?! f
1 m. [! c8 A7 n3 i9 q2 @
#ifndef __WORLDSERVER
$ a/ B& s. G$ X$ ?% E6 j5 E DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);8 l( L& j8 p2 X- t
CLight* pLight = NULL;" [8 I7 Q9 ~% L
8 k/ y2 r- h. K4 y! ^' F
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );+ r0 [; k' T" t3 P. x. Y- Z. S3 T
8 |" A4 z; T6 _* \
pLight = GetLight( "direction" );
% b! d2 j2 M) L% q. F1 c& @5 l8 A/ e I6 N
#if __VER >= 15 // __BS_CHANGING_ENVIR
5 i" Z9 {5 M# C- O, n if( g_pPlayer ){
$ h+ V/ \/ F7 B j% f! T: ]( w! H ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );' A+ L# u2 q* M0 s" Z' y0 h
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
' F3 {* H Z+ F' A {/ N+ H. s5 }' W1 N# K. s- |
if( pLight )
" M0 `8 O* o/ _; P! q4 p2 f {5 P3 W U3 c" s6 G$ E5 t. X H$ J
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];3 f" c7 y7 _" A
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
o, g8 M( x o( p# v pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
0 x+ a5 i' P ^% f3 `8 [9 z
- ~* x' o# _! }- C' g pLight->Specular.r = 2.0f;
* b7 `' X9 ]2 `) M! j6 H) J/ T pLight->Specular.g = 2.0f;
9 N. l4 I; j' g/ x; c pLight->Specular.b = 2.0f;/ X% Y1 X& l+ V
* Z, }' f- T) U! x7 B+ p, B* A# q
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
5 u5 `# E% `9 u& } pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
. t' x% O9 l" T- y pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];/ n- O m) ?* A5 x
: }% J2 u; f" a% E
HookUpdateLight( pLight );
8 R; U! W1 B( H0 c6 t
& W( r+ Z: y+ {9 s/ |$ U' L memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );7 d8 W! g- `( _- ~8 _
6 n4 W! W$ p q j
pLight->Diffuse.r *= 1.2f;
: V/ m9 R% T& s$ F* ^; @ pLight->Diffuse.g *= 1.2f;! F, x X% W8 F
pLight->Diffuse.b *= 1.2f;2 N, V5 K: S- E) {
3 T: V* m( o7 _* w7 ] pLight->Ambient.r *= 0.8f;
3 d8 X& M: v8 P6 Y pLight->Ambient.g *= 0.8f;9 i* y/ c! ^# u4 V: [2 ?- a( I; y
pLight->Ambient.b *= 0.8f;4 t) D$ D" X* w9 d
' u' r, d! k! q% @6 ?- z3 { memcpy( &m_light, pLight, sizeof( m_light ) );# o7 W9 C6 C$ b% i, { f
# d. O. d5 _1 z y- d# M
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);& C& i3 J) j8 b8 I' t
D3DXVec3Normalize(&(vecSun),&(vecSun));
6 ], ^4 z0 `1 p3 B5 c G5 U: O8 G' h pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
- x/ ^" z9 x, c* C; S/ u- x" ] pLight->Appear( m_pd3dDevice, TRUE );( E4 ^7 A9 h) B0 O, @+ k
$ Q- A' O1 Y% d) K6 I DWORD dwR, dwG, dwB;
$ |# q' e! N' L# l7 ~+ K* u5 w' Y dwR = (DWORD)( pLight->Ambient.r * 255 );
+ e; m! m1 r* c$ ^ dwG = (DWORD)( pLight->Ambient.g * 255 );2 q" t: k5 Z+ y& u
dwB = (DWORD)( pLight->Ambient.b * 255 );
3 B( l0 J7 Y1 `! Z2 u9 a4 S dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- C7 E& S, T! ]3 _4 }/ y }
# `3 H6 D* y: h8 `) ~0 J6 l- m }
6 N/ \8 h6 t% F+ e* I/ [1 O- F }
9 n$ S7 E: s( V* [* r5 z else$ |) G o# |& Z
#endif
- V4 @! H9 q7 M f2 E( u
! n: u+ k1 @6 ^) \ if( m_bIsIndoor )) I _' ?' G" P$ Y3 _
{1 Z* c, j5 S1 m8 ^( }9 P
if( pLight )/ s% C4 v6 {" F: |# |1 G
{ 0 C" n6 P y# I4 \
// à??μ oˉè* 9 G q" x3 M9 G: k7 k4 ^( s
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
- V& z6 H5 |. [5 `5 } pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
5 l. y' b+ `/ \) Y7 Y pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
) d9 q/ X- V$ G2 u5 k4 [0 w" ?) J
// oˉè* ??à? # K: Q& z3 ~" w- t
pLight->Specular.r = 1.0f;" O0 G5 K, j4 Z/ n1 z! C8 X
pLight->Specular.g = 1.0f;
. k' D/ i, f1 E7 a1 N* b pLight->Specular.b = 1.0f;
$ L3 D5 h9 i0 s( F x3 A; x2 ?/ d // àü?? oˉè*
8 L9 z, u( L8 e: K$ x1 f! E k pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
4 }& W1 O4 A* c, p8 m pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;- t9 ]* ~# P' K5 `7 C. r
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
! J& z8 I( z! w) k
8 I# E; h) S1 i# i* x# r if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
1 L# _) o8 U( P: v- Z {/ h N- a" A% Y0 b" B: a
pLight->Diffuse.r *= 0.6f;( p: u4 A; [' n$ o# a5 P1 _
pLight->Diffuse.g *= 0.6f;! b* N0 N. i, Q, S
pLight->Diffuse.b *= 0.6f;
! h2 g! C$ J( J2 A* A pLight->Ambient.r *= 0.7f;
. Z6 v `- A8 ]8 @) K6 e6 U pLight->Ambient.g *= 0.7f;' U @' I( y' t0 f$ H# q
pLight->Ambient.b *= 0.7f;/ ~/ j! r3 { r/ M
}
) q7 u7 [' H8 U& h+ w" Q7 S' {9 W
#if __VER >= 15 // __BS_CHANGING_ENVIR7 T! \5 Y5 U! \" w
if( g_pPlayer )8 b/ f% Y% g: I6 g/ o
HookUpdateLight( pLight );$ R8 c- @5 X2 ?& W
#endif [( V( `* S8 f# ?/ @: u5 b
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
! G& H3 K5 g* O% q) H E) t
6 l. c1 ?& |/ g( J pLight->Diffuse.r += 0.1f;
3 l4 x' @. V" G6 T% b2 P pLight->Diffuse.g += 0.1f;: U' }7 @3 L- k" u& G
pLight->Diffuse.b += 0.1f;
% W% |+ @' {4 ^ G9 w8 ?1 [: u // oˉè* ??à?
+ r& l& s+ Z# [! Q$ Y6 m pLight->Specular.r = 2.0f;
) ]/ W- ]( v- {& f, B9 O2 Q1 J pLight->Specular.g = 2.0f;0 a) r4 T* R, I; L, m- k
pLight->Specular.b = 2.0f;
. }) U9 C( D4 Y4 e4 Q9 O; C // á?oˉ
$ O z; m- Z# A1 a$ P' I pLight->Ambient.r *= 0.9f;& u* f+ y Q' ]6 [( f; ^, P
pLight->Ambient.g *= 0.9f;
' ^- }1 w! P7 A/ P$ } pLight->Ambient.b *= 0.9f;
2 R( u0 t% p% O( c2 I! ]& `
( I9 F6 ?8 F" H3 k: d) g/ s memcpy( &m_light, pLight, sizeof( m_light ) );
% l1 ]1 |: g5 ~" w& ~2 O
$ b" F( i3 q% j; R* M2 {$ A; c pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
4 _2 ]1 I ~5 O( t pLight->Appear( m_pd3dDevice, TRUE );
; r1 t y+ i) W5 H# f( I 3 x0 }. \0 [. c3 w
DWORD dwR, dwG, dwB;. j; n- T7 D1 w' w/ i
dwR = (DWORD)( pLight->Ambient.r * 255 );
# V3 W2 \" o, n. b' b- x dwG = (DWORD)( pLight->Ambient.g * 255 ); K3 K) ^8 h6 G e# {" H
dwB = (DWORD)( pLight->Ambient.b * 255 );% p( ^7 K+ R5 _2 F
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# N6 l+ u& a4 j }/ B, F7 Y& U, k2 [6 U
}/ Y" n# D9 @8 }* B1 q
else
$ R7 O8 k. D2 g$ w* i {
' W/ |* o6 S/ j) ?% d F1 j8 U if( pLight )( D+ w2 B' X: u i' D6 g
{
" i. F( |1 I2 v6 Z ! f+ M8 d) l; i) g/ }8 b4 j
int nHour = 8, nMin = 0;5 N& p, D$ j) V. O7 p
#ifdef __CLIENT
7 c6 g3 f- g; \- C$ j2 A1 m- Z- d // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 4 H0 O; T* C. u" T9 S
nHour = g_GameTimer.m_nHour;
% s3 {1 l* H" s1 l nMin = g_GameTimer.m_nMin ;
! {$ _4 J! O- x0 F1 m# F# f #else Z) x: d4 ?0 j6 }' d8 |* y& [, \
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
5 S5 i: c8 E; n$ V8 ~) S if( m_nLightType == 1 )
, r! g$ [1 M8 x$ @% v5 T nHour = m_nLightHour;' I \1 X1 [. c& v3 J
#endif
) w. O2 @! D+ W0 K6 w# Z2 c nHour--;6 T6 k) w0 y+ n
if( nHour < 0 ) nHour = 0;
( ~% K0 e* S$ | @' f2 j if( nHour > 23 ) nHour = 23;
5 q% v3 `, D) R6 ^/ T- G! o: A# C' ~' f' @ \& |5 U! E0 P) D
//if( m_bFixedHour )0 _1 L+ w( p7 |; r
// nHour = m_nFixedHour, nMin = 0;2 Z+ i2 \! O. [' s/ G
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];; r) _7 {/ m& U4 T) `
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
% Z' H+ K4 x j4 l6 U1 c5 L/ T- m b* W N
//m_lightColor = lightColorPrv;
- E' ^6 i/ u3 h1 X1 } lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;* ~% N4 L" g C5 ^1 |% l9 s
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
9 C: l, J) G& \& ?+ ?- |; z8 ] lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;2 I4 i c6 V, K6 O! {, F" g
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
. W, K! s1 ]7 n* W( Q2 p7 u! r lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;/ l5 p7 b* S, R L
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
* c0 e: F# a3 f6 q // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)& C9 F) j+ F% Z
6 F. l# H. B1 N/ J0 J // à??μ oˉè*
4 Z5 {0 l/ y; V4 m* V6 k pLight->Diffuse.r = lightColorPrv.r1;; e& ^5 K- V9 V/ o( I
pLight->Diffuse.g = lightColorPrv.g1;
6 u4 j: y$ _6 [) M$ v" t4 x pLight->Diffuse.b = lightColorPrv.b1;
# h) f7 b/ S/ h7 z R4 `7 \6 n // oˉè* ??à? " i I n2 E& L. L
pLight->Specular.r = 1.0f;; U5 q6 }- ^% Z c# E I. C
pLight->Specular.g = 1.0f;& }- T+ k9 M$ _. H6 D
pLight->Specular.b = 1.0f;
& s- ~% o# { x ^1 ]6 v) I$ k // àü?? oˉè*
: W G" h# v- q- i pLight->Ambient.r = lightColorPrv.r2;
8 E$ }; g0 u3 r, Z! M% A pLight->Ambient.g = lightColorPrv.g2;
0 l" e$ O1 t% p1 h5 u2 z pLight->Ambient.b = lightColorPrv.b2;
i) M0 \. S1 |9 a
$ Y' J% o" p: G- B9 D if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
( k, d* t/ n# S9 R: q5 I {
# } u4 s0 e& \' F+ \% ] pLight->Diffuse.r *= 0.6f;
% K4 C R- O( u- T+ `0 s5 n2 R pLight->Diffuse.g *= 0.6f;% s' G8 {% z6 a4 q9 e) G% `
pLight->Diffuse.b *= 0.6f;) H, a) Z( M" o
pLight->Ambient.r *= 0.7f;
+ ^$ B$ A7 K; s. _1 N5 }* D8 D# E pLight->Ambient.g *= 0.7f;
: [9 [5 d$ x2 c/ J; D0 |( D pLight->Ambient.b *= 0.7f;
( p5 @! s9 Q( q' ~7 u* |$ r }; W* F" q/ t7 X
6 a* o S6 ?' J/ g+ [( Z, \#if __VER >= 15 // __BS_CHANGING_ENVIR% h- i0 p" w) r* P5 [) c! H( K
if( g_pPlayer )) n+ Y4 C; J+ L; K: F
HookUpdateLight( pLight ); ' x" r3 f( b \! i" e- D6 R
#endif4 o) ]6 U! B1 Y' @0 k7 G0 B5 M
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );; \ f* s( j3 t7 u& c. p& j6 f% k- U
2 ]& N; \% r. P8 _. }#ifdef __YENV
- j& V+ Y5 h8 c4 H _7 h pLight->Diffuse.r *= 1.1f;
; y; Q0 M: a+ P/ q4 s pLight->Diffuse.g *= 1.1f;
$ G+ p) m0 w' R5 Y pLight->Diffuse.b *= 1.1f;6 y$ g4 ]) O2 p. K8 `2 m( l
// oˉè* ??à?
( x; a' `1 s( i' Z$ M- k5 v0 K" x6 L pLight->Specular.r = 2.0f;
. D0 g& F1 l2 P1 D( G: C* v pLight->Specular.g = 2.0f; q8 N5 [$ G; ^; Q1 l2 R% q( |
pLight->Specular.b = 2.0f;, G8 y( {, m3 n+ t4 Z I/ _
// á?oˉ ! \* n- P! T) b1 V% i5 j$ o
pLight->Ambient.r *= 1.0f;6 ^( l1 k/ V1 e" e' l9 N
pLight->Ambient.g *= 1.0f;
# F4 P4 }8 {5 g/ t8 {. Q0 K pLight->Ambient.b *= 1.0f;
1 R( \! W* F% F7 A* l#else //__YENV. {3 s1 l/ ]4 E) D8 P- O4 O* J B) [
pLight->Diffuse.r *= 1.1f;
' V; P( {0 s# Q8 X+ ^4 M pLight->Diffuse.g *= 1.1f;
0 P* Q! l& ?* o% u% s pLight->Diffuse.b *= 1.1f;
1 X9 T; B5 q3 V }7 G9 s) x // oˉè* ??à? " ^4 ~+ }3 K% a6 E+ G
pLight->Specular.r = 2.0f;
- n* N6 l3 P7 X! E6 X! x pLight->Specular.g = 2.0f;9 w* g# x- L% J8 ~
pLight->Specular.b = 2.0f;" E7 H5 |2 Q7 J" I3 J$ e d
// á?oˉ $ O4 o( X* q8 I
pLight->Ambient.r *= 0.9f;( c5 A& a% b( j; {, { z
pLight->Ambient.g *= 0.9f;
' w4 a# I3 ^; t; ~ `* z pLight->Ambient.b *= 0.9f;! n( i; l0 K7 U D1 R
#endif //__YENV
3 V0 c% e3 a, |
: k& z; b- R6 c2 ?- c. F" H q memcpy( &m_light, pLight, sizeof( m_light ) );
' A) Z! ^% Y8 V; y4 ?0 z. V5 E4 e, a : Y5 M( S2 D( z+ d/ x _' _, L
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
. R* p$ e3 r) d/ C+ u& \ D3DXMATRIX matTemp;
+ t# [! A C) v- B' { static const float CONS_VAL = 3.1415926f / 180.f;, |4 N9 A* E" A! A) W" k" h8 T8 y
x, }8 m4 x! s0 R0 i9 |+ A D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);, H& I. B& `# ^) S
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
* d4 Z% Q o6 K; N) }# h/ J# s pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
' U" z1 i5 c$ p& ]0 Y6 {; q* S pLight->Appear( m_pd3dDevice, TRUE );
3 ^, C8 \! \" b6 @# n1 F
4 E" u! Z3 {" o& b& d2 c4 e // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
6 _$ Q( }! `+ @" [3 @ // D3DXVec3Normalize(&(vecSun),&(vecSun));9 @* q1 { N s9 c7 t& I+ h
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); & J0 r5 L+ z$ O9 H, H) @! p/ u4 |
2 Z5 M" F/ s4 G8 u I# L
DWORD dwR, dwG, dwB;
3 u2 B9 T; z3 B$ l5 v- u' V dwR = (DWORD)( pLight->Ambient.r * 255 );
1 G5 ?, O; ^( j* p* ? dwG = (DWORD)( pLight->Ambient.g * 255 );
) n0 y- B7 _( v$ W% D( V6 m dwB = (DWORD)( pLight->Ambient.b * 255 );' L9 ~& s ?0 T' H2 e, Y( ]& b
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 6 [ F$ ~0 ?+ h* }: F) }
}
4 s# \& I' A# {4 Q5 n }
: R& \3 J4 Y' v: Q ?7 k1 x
8 y( a: U$ V8 U- ^# c m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
8 P: _' u2 U7 R2 D3 X. B/ 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) );
1 g; e/ `; e5 @ ::SetLight( bLight );
5 N% u+ y6 j& ^' h8 k$ } s+ v) i! i" w1 @2 U2 x, c* C1 }8 T
// ±ao? ?D?í???ó á¤à?
9 P( r; G/ j: y! e( g m_pd3dDevice->SetMaterial( &m_baseMaterial );
4 F/ ^7 M; i7 P4 P2 J! V 1 R/ b9 \- o5 R- j& g* n
#endif // not WORLDSERVER* m6 G) q# u$ \0 M7 x
}" E4 N' Z; o: c
并更换
* s0 b, h: A; K( M$ U$ _Code:
) Q: W* o+ E$ h3 P9 v3 G! p__FLYFF_INITPAGE_EXT5 R- ~" R1 L$ ] L* V
定义: _) G; A" l' b- [! i
7 C* H4 h$ |( W5 h0 R8 J8 Z: x# F& t1 r$ b& U
% }* \# e* U1 V4 |' o9 G& H0 S
) Q9 `) |! k ~. r& g, ~' v' T现在终于删除我的狗屁加速...* J, ~. c; `& u
9 e. K* P6 @8 y2 i Z
" \9 a) K/ J! v2 n8 G
) \9 I( P# S. a$ z0 m L) n7 g |
|