|
|
食品车:5 d; y" a/ b7 s$ t
尾翼:
. S! e* y- K6 ~6 c8 Y% E
7 f9 w; y' L! y+ u, ~8 K代码:
' q t% B' A' v4 ~) ~4 _CWndAutoFood::CWndAutoFood()$ F4 w8 c6 e+ M% |$ W/ F# x; ]
{3 @$ }' C) M9 f F7 U5 ^' Q
m_pItemElem = NULL;1 h9 H$ D$ O) K5 y# V5 c
m_pTexture = NULL;
* D' W) ~7 q3 s, W& a' O" M K. L bStart = FALSE;
% q" p. N# n5 Y% z+ X0 w$ @- y}6 r+ O1 ?5 l& f/ K/ h/ L
3 [6 ?% `$ V3 { j
CWndAutoFood::~CWndAutoFood()& D/ X% |8 l; E! P' m
{0 D- j( h% O/ R, I
AfxMessageBox( "AutoFood ist gestorben " );1 k/ Z. R' x( e( s! b
}
- Z: T+ Z1 I) F3 U" n2 e8 q. \2 JBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )& ~) u, s) V- f
{
0 H4 K4 |5 ?& @ return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );6 a5 [1 u7 i' H: o+ {
}1 Z8 R- k6 S- h5 \
( O& t9 h" T' E% M4 V$ D& m0 bBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )7 }* p( E& Q; q) o$ J
{8 j/ }8 B, Z5 _! G' L- ~6 ?
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
& e: B0 c( G2 h$ j; C CRect rect = pWndCtrl->rect;
7 j0 ?) @4 U+ m7 C$ C! L if( rect && rect.PtInRect( point ) )
; z8 f6 s: n" V9 f- ? f2 O {
- k. P: n0 |5 K2 L6 F0 a6 d6 F CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
6 g: R; j2 Z4 L9 m" M if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )6 u( K) E9 _( R n, D7 |
{
3 x& r8 u( H/ D) l* z7 t- U% F if( m_pItemElem )* M. w* L; F- O# w3 v$ b4 B
{3 D& M# e/ }8 U7 Q! t* E/ V
m_pItemElem = NULL;$ p2 E. g8 \7 a. f+ r! }
}- O, c& C4 i& V" y! J
m_pItemElem = pItemElem;
% y: S m! { b; ?' R' B m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );5 e, y& r* J' O- y7 t5 J
}else{, I9 G3 t+ b$ \' {
SetForbid( TRUE );
& V& h" a, e& C9 A! V }& }: F# ?; q* S7 b; H
}else{
6 r' }# k( b; j SetForbid( TRUE );& U5 x9 s6 e& `0 w
}9 x. S" U/ s# ^: x* W4 }
return TRUE;# v7 o; u2 u2 ^; ?' `6 @
}
; @! y' j) M& D0 ~
& g2 g: Z4 E; M7 YBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
8 G) Y- y( Z" ]) b: `: O' P{
4 [3 y. V; }; v switch( nID )7 ~$ ]( a& H4 f- w
{ K5 U( ~0 Z9 L' O+ `1 C2 w
case WIDC_BUTTON3:3 \! w G( K7 u9 N
{7 y: `& F! K0 S5 T
bStart = TRUE;
! x0 n# v% d0 H) x" S( ]1 Q* _ break;( t# Q6 H; ~4 l5 r1 L/ a) Y9 P
}
$ c3 d# C! R6 b" Z f* I$ p case WIDC_BUTTON4:
: {3 b( i. q, Y6 O" |8 a5 a* }5 N {
6 a" X6 M$ C: K bStart = FALSE;
* K" H7 _. ^" I4 ^0 G* W% x0 g% E break;
* U% ~& `4 j( L5 w/ ` }
4 l4 R/ y" o% n# f }* r8 J, r% d0 c4 _) W Z) r& }
return CWndNeuz::OnChildNotify( message, nID, pLResult );$ |2 t# Y$ x9 \* R* ]
}
/ O" }4 y8 J0 A! H$ h% \* Jvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )4 G) ^$ c9 L2 E+ f+ R: i
{ ^& D) W. L! N) b
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
6 ^* s4 h6 b' n: ~ if( bStart || !m_pItemElem )
# R- _3 j: O0 L: Z! j6 u6 Z. r {
8 `# Y' {- W4 D. m pBtn->EnableWindow( FALSE );: y4 k1 C; Q; q0 O0 ^
}else: e! A: N, L( {, v4 h+ Z9 g
pBtn->EnableWindow( TRUE ); R& r/ I' z. g1 R$ l" @. E) w4 H- d
if( m_pTexture )+ D H: i: H+ U) n r
{. @. d; \ w& B1 l9 R, x
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );3 ?, O2 n A8 A3 }9 s; b9 R0 J
if( wndCtrl && wndCtrl->rect )( d" k& `- a m% J4 S$ c8 k
{! B) z: E8 ?' z; ? I Z$ t
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );3 D: E! ~2 ^# K2 T3 o( T& D7 E
}8 J. A0 N9 e. V, k
}
) g0 D- V) Y+ V/ ?5 {! n}( `. Z7 r* s7 k4 }6 W
' _- [4 v7 z; J9 w
BOOL CWndAutoFood: rocess()- {! N( ^$ n7 R
{# G* o& V( @( P- ^
if( bStart )
- z; t) r0 y# s- E; Q! p {
9 g# y7 |1 D" ^: W# y' {/ | if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )/ v0 B8 _' x3 I: J- X# T
{7 q0 k& _0 G" H+ G8 V( a. \* D
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )1 G& g8 q& R% T4 q9 y y" i
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );. D' y* r+ e0 G4 o7 X) C$ C
}else{/ z' j. d$ R: b% s6 C; _: R
bStart = FALSE;) n% v0 _" }# [$ d& q% P
m_pItemElem = NULL;& [" _) I+ P; ?
}
: g# O u" m. S, V }
# x4 T% v Y, t1 I+ p9 ~ return TRUE;
; L4 E0 R R' u7 f: n6 U1 R}
. A& v. @3 j' h# t0 x* G- z& l& d+ D' D( g9 i) G' ~: {
登录视频废话:3 [& v4 p$ h- z) Q' C! R- S
尾翼:9 s/ R w$ ?( I* H" }
) p3 J: \" T9 I( P0 `: _代码:' a; `1 P! _, [; p
}: E% ~+ m0 L, @: Evoid CWorld::SetLight( BOOL bLight )
( g) o1 ?+ i' R Q [durch2 {1 b' W5 o1 a, P5 v; r
Code:
2 |# v* A# Z4 j* g9 }% J8 rvoid CWorld::SetLight( BOOL bLight ). e) @" K5 M: T) ?9 F4 w
{
' [- Y/ a9 K9 s( X //ACE("SetLight %d \n", bLight);
" f" q6 m7 ^, i9 p! P
- x0 }' R6 g' W2 `/ W. [' G#ifndef __WORLDSERVER
# ~9 G( @- Y; g" N DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);- t3 V+ l. V- z* c
CLight* pLight = NULL;
! }# j& }: S4 w {; m# w7 g5 F1 Q( |+ ?4 L( m( o+ Z
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );' X4 L l0 I3 t/ j
3 U m- V1 C0 W- }; p
pLight = GetLight( "direction" );9 V# e1 [; z! o. H m+ x
4 z% u; B- B3 E1 q- D
#if __VER >= 15 // __BS_CHANGING_ENVIR
* ?0 n6 q, Y: y9 V0 Z3 B if( g_pPlayer ){7 E4 ~5 J9 r E ]1 c
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
+ X! G* R3 L+ g9 O% P. y9 a: ? if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!( Z& o; G4 z. F# |" ]/ l
{
1 b) _6 _- p" q% y' D; V if( pLight )% ]( I. I6 J. P: ]8 T- N. X- v6 Z" I. q+ h
{. K, x- D/ \% s
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];( \+ ]" G; G& F1 E6 n a
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
) _( d: @8 k! V- O# |/ ? pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
8 x. U; r3 t% N4 V8 o0 R1 Y/ P" \6 k
pLight->Specular.r = 2.0f;
5 V4 Q& W4 T# L( h% o pLight->Specular.g = 2.0f;
5 S0 j3 l, @7 Q pLight->Specular.b = 2.0f;
4 S3 V0 w7 g5 O0 B8 R7 C7 {+ ^ 0 e0 x9 U# o) o2 j& |( q8 c! C8 p& R
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];2 V$ f9 r" K7 k, ^
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
8 s7 S9 l" r: U pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
7 k+ t. X* x$ h/ _4 }9 K% X7 y8 }
$ W, e" J$ N9 b& m HookUpdateLight( pLight );
5 Q& O2 x/ j3 d( S3 r8 Y6 }
0 O5 n( G: F7 j memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. W7 c5 \ e- k6 U% Y7 r
" U/ c2 u3 m3 ?& z& w! P pLight->Diffuse.r *= 1.2f;$ W8 P3 [ }, Y7 f8 q- ]
pLight->Diffuse.g *= 1.2f;
) S8 r& e9 h2 c# E4 ?' ? pLight->Diffuse.b *= 1.2f;& K. Y+ y; u1 F
1 \$ R7 i- }4 Z, [! Y5 o2 z4 { pLight->Ambient.r *= 0.8f;% X2 z, G" k$ B' `" e
pLight->Ambient.g *= 0.8f;! o( F+ @6 i# B
pLight->Ambient.b *= 0.8f;
1 D) V/ P0 Q' L& H( o' e* I/ D ( q0 q8 X- r: q% I
memcpy( &m_light, pLight, sizeof( m_light ) );
! z) { F$ ^* O# w( {. ~% K8 K
& L+ |) ^) |# ]1 { D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
* z h' m& j* { D3DXVec3Normalize(&(vecSun),&(vecSun));
' u' S, ?3 A/ S pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ! h. E! Q& v) e- ]8 i# }- p
pLight->Appear( m_pd3dDevice, TRUE );
* H. m: F2 l& {3 K# P S S K+ l0 s
DWORD dwR, dwG, dwB;
0 S. h# Z8 [: T5 e dwR = (DWORD)( pLight->Ambient.r * 255 );
# \; j' Y" U E+ A; F3 l8 u7 U dwG = (DWORD)( pLight->Ambient.g * 255 );
$ c( D; P8 C+ b. @# i dwB = (DWORD)( pLight->Ambient.b * 255 );
" X; y6 l& Y$ N dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: W% W! S* y$ h3 T0 S }2 C$ x* \2 L5 | A/ ^
}" u* [/ t) ]: g7 w" G" }
}/ @4 v5 Y# o3 a' q. a* d& u
else6 e; T# T2 z' s; M% j3 |
#endif " B* K" Z! b. a/ W1 Y* ^7 S1 N
# m! y, \# w% W; w
if( m_bIsIndoor )9 x3 J- Z" {$ @0 x0 H
{
q8 x8 `% t X) l if( pLight )
2 h- a, O: Y, w/ Z D$ K {
4 f( B: P& Y& H // à??μ oˉè* , L& {4 B, a$ t2 E
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
5 ~( r4 o- A1 |+ k1 H9 y( j pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;6 X$ X8 c- p# `$ A
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;6 c1 K, o2 |6 ]5 c/ P+ c
5 S* [7 p7 L, e4 G
// oˉè* ??à?
& h* y. k" C3 d+ E pLight->Specular.r = 1.0f;6 ~9 y; t: R& k4 ?* h
pLight->Specular.g = 1.0f;
( f% H: {6 t5 m9 { pLight->Specular.b = 1.0f;) j5 S7 _7 b) ?+ c4 j
// àü?? oˉè*
' e4 q8 ]" f; Z% B pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;/ b- m( L; H8 y
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
( N6 U8 b+ [' r7 ?/ a: t pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
& _, Q! |* W5 n/ N% |- M4 t9 I+ w2 R2 O, x3 c
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.9 J/ g- E. U, f: H4 `) P8 f$ l1 Y
{& h8 B& o0 R* T. a% g$ x
pLight->Diffuse.r *= 0.6f;1 W! b3 c6 n0 R8 d( {: F1 r
pLight->Diffuse.g *= 0.6f;
6 ?3 \& q. N% ^* F pLight->Diffuse.b *= 0.6f;5 V0 V* X; H$ [
pLight->Ambient.r *= 0.7f;; A$ U3 x) p) w7 t" k5 u+ I5 h
pLight->Ambient.g *= 0.7f;- r; A/ R/ A3 s5 z) C
pLight->Ambient.b *= 0.7f;4 r/ W( B' I" Q; r. u
}. V9 J. S" Z* E3 e9 {9 B6 L
5 d U) s" s5 c1 x2 t8 b" m
#if __VER >= 15 // __BS_CHANGING_ENVIR
t; W/ }, F1 `; I V9 T if( g_pPlayer )
- o/ P3 ]5 Y) ^2 E. ?1 t HookUpdateLight( pLight );
1 x4 Q. q( h- \#endif
8 v" B$ `$ z2 @2 ~ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );' i2 p9 R) C" T/ p
( l0 W+ E7 U( h/ M2 Q
pLight->Diffuse.r += 0.1f;& W$ Z% |( S( k! j+ }
pLight->Diffuse.g += 0.1f;
) F8 | t! O4 R9 p" z) q3 f pLight->Diffuse.b += 0.1f;
1 Q/ J0 q: B( S* V // oˉè* ??à?
1 N/ P9 N* V& p; t% P6 K pLight->Specular.r = 2.0f;
* c5 i2 x& v7 h& K7 m% K% G7 a pLight->Specular.g = 2.0f;
, M5 y1 V: ?3 N/ T% r/ t pLight->Specular.b = 2.0f;8 t: R# e* A1 u& U5 |. b k+ S1 Z/ L
// á?oˉ 8 v; T* G% t& x1 S w
pLight->Ambient.r *= 0.9f; I$ t! H! B) J0 j8 T
pLight->Ambient.g *= 0.9f;
8 k8 c7 a" M8 W8 d pLight->Ambient.b *= 0.9f;
2 C3 g3 t7 p& l: j' `' q8 l
# u/ H3 P) J* @+ C# r7 @+ K! d- m& p- {4 { memcpy( &m_light, pLight, sizeof( m_light ) );( s. h& [2 N* x: T* y; ]) r
1 ^( Q% E6 d4 K1 k; |
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
' ~! a! E2 \/ d pLight->Appear( m_pd3dDevice, TRUE );* F u% o! A8 A, J; p6 L
! I6 x8 _+ {+ b+ y DWORD dwR, dwG, dwB;% n* [7 @# E) T2 J2 t1 \
dwR = (DWORD)( pLight->Ambient.r * 255 );
4 j/ y+ }& ^7 b- K dwG = (DWORD)( pLight->Ambient.g * 255 );
0 [/ S1 K' g# b2 K( a dwB = (DWORD)( pLight->Ambient.b * 255 );
& x* K f+ n% \4 ~$ e& n& z) f4 \ dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
' |' ~3 G+ L$ l% @ }
6 x5 x0 A' E& k1 _/ J }2 J9 ^8 i: N( P
else
' F0 _3 S$ \0 Y }, b9 M {
* ~! Y- o5 J6 Q if( pLight )3 N8 X) @4 M: f
{+ e6 D4 l9 v7 T% z* D+ }
: ]* s2 [" U$ t6 s- ~1 _ int nHour = 8, nMin = 0;- b7 n% y5 S' P, ?4 d: M
#ifdef __CLIENT) s5 u4 _" u0 U: Y* H% k; l) A
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. ( S9 ~& h6 D& B1 {2 b
nHour = g_GameTimer.m_nHour;
- G" [- ~+ N1 _5 `3 j. C" i nMin = g_GameTimer.m_nMin ;
, B& Y* K5 }+ T( U* P; S #else& s! q# D/ O4 z
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
1 [7 \$ K+ W5 Z4 c3 A if( m_nLightType == 1 )+ f; J# u3 [2 U8 z: q7 K9 U
nHour = m_nLightHour;4 A/ v( E; F& }
#endif
" p. B' v+ j* q1 N nHour--;' r; o7 J$ x" Z* m$ m8 s0 } n. Z: P
if( nHour < 0 ) nHour = 0;
& w: h8 |9 U1 F8 i$ l if( nHour > 23 ) nHour = 23;
- B1 J1 C7 \' y Q
; E0 o. B4 G* K! a& a" g% W //if( m_bFixedHour )+ o; ` w* } y8 H; [
// nHour = m_nFixedHour, nMin = 0;$ V8 i2 ?7 E% e6 G! i, A
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
5 A+ ?7 `: J9 f e! h! \6 y LIGHTCOLOR lightColor = m_k24Light[ nHour ];
; c- V. n/ \" n1 J
2 O# p- x! Q6 Y+ u! Y6 }" w: a //m_lightColor = lightColorPrv;
, Q0 e v5 m2 v1 I; C, y3 } lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
* p6 { u3 @* H lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
9 T# R) b r- e% E8 { lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;( }* U8 o) Q4 [7 f4 A; }; Q
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
Q8 |! [8 |4 o$ C lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
$ Y! _! \0 N/ h; X# j f& n lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;" d+ m3 N0 `3 R1 @; T R! d
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
6 [) k( Q) P& ^. ?
- I$ E, B5 ^/ E: ?" c/ ?+ r // à??μ oˉè* " I; Q! ^& {/ f4 B& U2 A
pLight->Diffuse.r = lightColorPrv.r1;
; ^ Y8 X$ M3 J8 f6 C pLight->Diffuse.g = lightColorPrv.g1;) v6 g2 a I9 l% |' r
pLight->Diffuse.b = lightColorPrv.b1;
# |7 j( {2 a0 U // oˉè* ??à? 6 K" d+ Q) @" a. }$ L- t
pLight->Specular.r = 1.0f;1 S h O( w0 U' x2 I- e
pLight->Specular.g = 1.0f;
$ w) O- }1 q- n9 [ p3 I! o+ C6 } pLight->Specular.b = 1.0f;
0 ?4 M$ |5 \! k- y // àü?? oˉè* 8 f* d( Y, @# L, y0 [3 B1 F" L
pLight->Ambient.r = lightColorPrv.r2;
1 b7 B+ K$ f9 U8 @ pLight->Ambient.g = lightColorPrv.g2;2 N' x( l( X! \9 T# F0 `, t6 e
pLight->Ambient.b = lightColorPrv.b2;) y: v2 N% l& \/ _$ H8 R
* c. [4 Y" s) q5 r# { if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
+ u/ D7 `: O0 `( ~ {
: G, w5 S$ c/ O) }! D" M/ K+ R C pLight->Diffuse.r *= 0.6f;
$ A4 c' H8 G3 v pLight->Diffuse.g *= 0.6f;
% \2 ] u* ]! a+ E7 }; ] pLight->Diffuse.b *= 0.6f;
1 c f0 t' w$ J4 e* f pLight->Ambient.r *= 0.7f;
/ ] {+ _7 g+ w: r/ v1 y K pLight->Ambient.g *= 0.7f;
2 \) x6 ]- B% S1 }/ x pLight->Ambient.b *= 0.7f;
& ? R, Z1 `) K7 c. m2 a }3 W& p5 |9 ~. n
p) F6 H }- t) c& Z/ _
#if __VER >= 15 // __BS_CHANGING_ENVIR
0 G4 L2 }; K' F$ J# @0 u if( g_pPlayer ) j- ] k! c' P0 t. t
HookUpdateLight( pLight );
; _7 l2 b( p& k) q( y#endif0 S8 f% e; F3 ]1 |0 P
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );( x. K( d: T2 g& @* U+ e- _7 Y
. H% e @' i: R( o3 u) `; J
#ifdef __YENV2 H, |' Y: H6 A0 A
pLight->Diffuse.r *= 1.1f;
/ F. ^5 w3 N8 v7 a) V pLight->Diffuse.g *= 1.1f;
5 m, a# @9 _' W1 |! u8 M pLight->Diffuse.b *= 1.1f;
% l8 V1 L7 z, [& }. S // oˉè* ??à?
& F3 V3 x( Q2 r) E9 N0 T. p6 ~8 P pLight->Specular.r = 2.0f;% G& G4 a9 r, _9 i: g5 W( |9 s
pLight->Specular.g = 2.0f;
& l/ Z- H* F4 V3 x6 @ pLight->Specular.b = 2.0f;
, A- f K) U" T // á?oˉ + w9 j7 |$ ]: P. h5 v1 r: `: p, O
pLight->Ambient.r *= 1.0f;7 A q2 H( W3 V6 j/ e: O& m* c
pLight->Ambient.g *= 1.0f;
- Z7 }7 V3 V; u0 R( N pLight->Ambient.b *= 1.0f;
- z5 \2 F# a/ \+ i' ^#else //__YENV
4 e! R2 `- R# \( o: _2 g; @3 G pLight->Diffuse.r *= 1.1f;
4 p& w# ~$ J# Q% V$ u7 } pLight->Diffuse.g *= 1.1f;5 k- v! `! [! ?$ R2 L
pLight->Diffuse.b *= 1.1f;
) G. ]7 j2 Z5 U // oˉè* ??à?
5 H* `4 v' [+ q: z" m# Y+ e, F- ]1 v( J pLight->Specular.r = 2.0f;
1 g9 q/ J8 L% {1 K" p7 s pLight->Specular.g = 2.0f;& ~* n! e" {9 i: f+ o* ?
pLight->Specular.b = 2.0f;
& m+ }4 b% _9 b/ M, ]( T // á?oˉ % i% j! P% _) y( x! T+ a
pLight->Ambient.r *= 0.9f;$ {2 r0 q0 m4 X/ ]$ A
pLight->Ambient.g *= 0.9f;5 p+ y- _0 W; z1 k8 E
pLight->Ambient.b *= 0.9f;
# B: ^ i; b2 r* V#endif //__YENV 2 M% r3 C4 ~- F( M
4 R( l0 { K& x# T
memcpy( &m_light, pLight, sizeof( m_light ) );
9 A$ c5 Y/ P. ~/ Z8 l5 I
+ R3 E3 S" a' w2 ]8 F: B7 O6 P0 w D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
Y" I) B$ b2 s& H* g D3DXMATRIX matTemp;1 r" [, W5 H) i
static const float CONS_VAL = 3.1415926f / 180.f;
) k1 z4 V) b1 q3 J' B4 h) C) F
& d" o- K, B3 W9 J8 f; ? D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
; ~9 h; }0 D. D( y) ?$ X D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
7 s' A- y3 I! V* V. N. @/ r8 P pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 1 ]/ `7 a/ Y6 J8 y9 W! v
pLight->Appear( m_pd3dDevice, TRUE );/ ?: ^9 M y0 N( a. ]
+ b! F$ x* H4 [! J4 b7 k
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
9 ] Q0 T' o! ] // D3DXVec3Normalize(&(vecSun),&(vecSun));6 J' s$ o* R; X2 Z; @
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
5 Q* [- O% J: m1 Y0 D, ~# d- a3 c! z$ t. }/ j. _
DWORD dwR, dwG, dwB;0 X2 q3 R G" m8 p
dwR = (DWORD)( pLight->Ambient.r * 255 );* u6 n, B1 D7 k; N' r$ t
dwG = (DWORD)( pLight->Ambient.g * 255 );
* U: U9 ~! w, n3 t3 L% f dwB = (DWORD)( pLight->Ambient.b * 255 );1 S/ P; |5 e- E. }& G! @+ L
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); + V0 U" y- G; d
}
% x1 {, |& h4 I/ |$ q }( y: `- h0 I: e. e# D
- `& p" | v4 [/ n6 N7 L8 V
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );1 l: i) K/ O6 N+ N! B5 `
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) );
, A4 H# g+ j/ L$ a2 o ::SetLight( bLight );) u7 a" h" n% v
6 d) W) B$ p9 G+ D }5 m% b // ±ao? ?D?í???ó á¤à? + b& e6 c; W; p: | ?8 Q
m_pd3dDevice->SetMaterial( &m_baseMaterial );
$ Y& H+ T7 u7 x
, W! E* h3 v6 Y; K/ ?/ i#endif // not WORLDSERVER
4 g+ s5 a9 C2 N8 w# e3 D}
5 t$ n& v# Q+ u2 M5 C并更换
: V0 _' ]$ k* T1 q- ? bCode:6 f8 J& L8 W3 X, S
__FLYFF_INITPAGE_EXT
0 C3 B" T1 T/ c2 t, c定义$ B, z- k5 q0 n
9 @* t2 `; e; T2 P% i- h6 _
+ I t8 q7 ^5 d# F- s4 s: n( r
$ N4 r5 w" I) R# k: H: [0 w% x, J* C% c
现在终于删除我的狗屁加速..., h9 W9 T+ e: S0 h L) J
; E! Y7 K/ ^: w; z: G0 J/ t7 U
9 E$ M: ^$ j& ]8 n" u* K1 j9 [" D
" H! @) I5 O; M# F
|
|