|
|
食品车:
# l5 y# I0 w! `- K尾翼:
$ C" Z, ?. e7 s9 M: D4 k
( W, v/ E( [1 S: R' E7 w代码:% F7 X0 |( |, ?, P( e; V
CWndAutoFood::CWndAutoFood()
T* v: F+ D" ]9 q{' b% W% w$ t% r Y9 \$ e+ u2 M
m_pItemElem = NULL;
) R8 K& B/ I. Q4 ^- {% R. x* ^$ f8 C m_pTexture = NULL;
) s: d, A, E. O- y3 K0 y: U# f7 h bStart = FALSE;" z" z1 U8 {6 Y' Q. s
}
7 e" C4 c. J! d7 N
- g9 j: P. z1 O% k4 j( pCWndAutoFood::~CWndAutoFood()
3 ^7 [6 C/ E/ h/ a& b{0 u2 D* l" X/ t4 P; g
AfxMessageBox( "AutoFood ist gestorben " );- Y7 M0 f2 N' o: s
}
; T; |) w u1 `' D( s0 VBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
( F$ n0 w: X- @" ?9 _0 y{' U2 t' j+ D+ h
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
3 N D/ n/ y! S8 R c% R% s}
: l3 _- W6 d! V* j& x, R6 Z2 j2 E3 ~* |% p) L; j$ l3 ^
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
: l* S$ ^; t* s5 X* _: `{
5 P9 m5 x7 U R LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
; a4 q* {1 z5 ?+ W CRect rect = pWndCtrl->rect;+ H$ m C: J+ {0 M
if( rect && rect.PtInRect( point ) )
: v5 C9 S1 a& X& P0 h+ k _ {5 ?- L/ F" |) u: o/ B4 `
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
9 Y1 ]6 l! C* [# s. m) v if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
7 k W( U* W8 \5 E5 B {1 s& b! T0 L2 K* y) F$ F
if( m_pItemElem )3 x5 g! }7 r, J! b2 ?
{( d5 l# H v# Z/ v W, V
m_pItemElem = NULL;
; ?- L7 e% e% y+ W# t }. R y3 S. J% Q- ~2 D- D
m_pItemElem = pItemElem;
) @* A: Q' e2 }$ q m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );$ |- ]( k# A( I
}else{8 {8 o0 G; M B1 V
SetForbid( TRUE );
V$ k" }5 K1 u* Q7 } }
% p9 D2 J2 X7 w3 H }else{
1 f' p) ~/ F% D) }2 S SetForbid( TRUE );
" z! o) F8 d" m! b0 j }
3 i5 C6 X& q$ d( U! F return TRUE;& I, L$ y+ n& [# ]0 Z
}- [9 _+ b# r& K. b) R3 K
2 N3 e) r6 F; s+ u3 K0 EBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )/ }3 T7 w i5 }! o
{
3 L: U, h# w7 c/ r, X1 q switch( nID ), d5 j0 R( [3 L' U0 ~
{
6 G, l! I) `) U; G" [ L case WIDC_BUTTON3:5 a2 x% b; W5 z' F+ U
{. i/ p! S+ g- v K6 h* R
bStart = TRUE;
4 [; e+ z7 ]) ]; @7 M5 L) s break;
* x/ G( `3 C. z }/ I4 b$ _7 [0 @. M" F% f9 @& b5 C
case WIDC_BUTTON4:( N- g! @% t, C; [4 B! a2 X( p
{
) z# q$ P! \; y! C/ Z0 {+ a bStart = FALSE;
0 Z0 Q& d; X! l" ?# k6 l break;
( j! D; c1 {) |+ M4 O- c! d }
( [- N6 `- {2 r. {( X( t% ] }
; f# D2 h9 k! a7 `$ p return CWndNeuz::OnChildNotify( message, nID, pLResult );+ l. T) T1 s% }9 h+ C( N+ x
} " Z# t Q0 R2 [3 Y
void CWndAutoFood::OnDraw( C2DRender* p2DRender )$ @3 ?( i1 f' U& w# s' F! j/ `: ?1 j
{
4 T& ^" E! f1 q. J2 _6 E9 t CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
$ c3 y" J; }! Y5 J if( bStart || !m_pItemElem )/ V t8 I' E* h$ h n
{( O# w: U: [6 O2 i4 H7 @/ E
pBtn->EnableWindow( FALSE );
% o8 k) C: @. U3 @6 ] }else
" G' g' {: j5 I* J- [8 F6 l pBtn->EnableWindow( TRUE );
$ a( @- j' |) @ if( m_pTexture )- b& t, @: ]3 q) j* y
{
* P1 m; {2 l& a LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
+ W1 ^" f7 s! D5 `! Y9 S i: {8 Q/ D if( wndCtrl && wndCtrl->rect )
( r; z6 l: u0 B2 K/ t: z/ G {! a& a) |$ e/ G. m
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
" v9 a6 I6 N4 I }
5 o* J$ K3 k# g& x- Z }! p% N$ H, I' F) g( A
}% g+ A3 J7 Q0 Q/ @4 e, D$ b* I
7 s8 }5 d" k8 }. [1 C$ j' NBOOL CWndAutoFood: rocess()
" }" F4 h6 Q8 @ q n{1 u9 c/ C- N; c
if( bStart )
1 T7 ~$ e' }5 n5 |; _ {7 ]' }" I/ \4 s f3 y. h1 u0 s
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )5 u1 ~5 n( z# H+ s( p
{
8 B) u" ~2 i1 f8 R o if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )- Y3 [1 e/ \9 l- F( X0 x5 ~
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
5 P' B7 \: T/ @( V }else{3 f4 `1 m. c/ u+ e/ i
bStart = FALSE;5 W. G; F! O1 d: {
m_pItemElem = NULL;
- I# k h0 f/ G6 s& Y, F+ { }/ v2 _( ^' C, F9 `( f
}
* F0 u+ j" }1 a' I. d return TRUE;
8 R- V, m E- N. {) N}/ ?( l1 W+ ?* u1 Z
3 O Z1 X% N. Z6 u1 B0 { _
登录视频废话:
' i& A& g/ o# @- t) @) a1 O尾翼:
+ V$ p0 \5 H9 C# \& o& o+ q9 b" g# u3 g" X4 F* {
代码:
8 t- a! w6 F8 H8 \% q9 F4 _( p1 Q- X5 w) U
void CWorld::SetLight( BOOL bLight )! v3 K; M4 i+ [% O( N
durch
4 U; v `1 t: @3 C7 S6 oCode:, w" s9 y/ N. f, s: U- l {
void CWorld::SetLight( BOOL bLight ) b! m: E, l) h0 ^; T
{! l$ y" ]& Y3 M( A( f
//ACE("SetLight %d \n", bLight);
& p- U# \* Z6 d+ f( ` , x+ I/ p) A1 L' p0 r
#ifndef __WORLDSERVER
8 i/ \6 @- T$ ~/ E: b; j: n DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);$ O7 a, t9 J. d. N# |( F9 c
CLight* pLight = NULL;
7 n, e5 X m+ H \. c3 f
! C# V8 Z& G; n5 _9 O# R D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );! z5 k, r. D0 W, e! P
, J; M( q; y' k' g& i- y4 A
pLight = GetLight( "direction" );
/ |" E2 q0 a; \8 h1 j0 _( m& |/ c# R. K& ~( d0 } @0 ~
#if __VER >= 15 // __BS_CHANGING_ENVIR
. \2 k3 _3 Z( B5 t if( g_pPlayer ){
. U$ i* n' W$ L; C; k. \* Q ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
. Q. }5 D+ I8 E* E# {, d6 H( D( W g if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!" R9 ^1 n4 v( b* C! S
{2 D4 p, y$ u3 ^; S. `" M9 C
if( pLight )
& _: o" j5 s E5 e {, R( b. B# k$ u4 B6 b# Q, N6 ~
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];7 m; F2 w1 `; O/ \# v. c
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];9 Q2 P* e$ S2 L/ d
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];5 J: U) C! v |7 O$ X. c4 }
1 x5 s. v. m$ z/ g
pLight->Specular.r = 2.0f;
" L: G3 ^, q5 x8 x* H pLight->Specular.g = 2.0f;& Q5 o, y, i# m8 ^5 i) k
pLight->Specular.b = 2.0f;1 R4 d) Z8 Y E( N
6 Q3 d! d7 i, a; Z* n9 j1 X% T pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];6 x) q9 @3 o* g$ a1 W, c
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
! r0 l! `% ]6 D& v& I6 O6 K pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];1 g) D- |2 L. ?2 G2 a5 I, [
0 j$ b" h/ t0 Q& {6 c
HookUpdateLight( pLight ); $ g; b% D; m7 R( T: A, e6 l* r6 W3 A
% _; U0 F9 w2 o* M2 ~$ L memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );3 U2 U* G2 i& ?$ O$ @4 N! P0 R* ]7 s
" P3 Z s2 I0 K6 |9 `, W pLight->Diffuse.r *= 1.2f;$ O7 Y0 H t! A, @
pLight->Diffuse.g *= 1.2f;
# L1 B# e0 M' Q" ]/ M5 {( q: I pLight->Diffuse.b *= 1.2f;9 `7 W, Q' \# q
9 o$ u, m& D4 ~2 D* v" X pLight->Ambient.r *= 0.8f;
* y3 v% i! ]# A( ^9 n6 w3 b& K pLight->Ambient.g *= 0.8f;/ p r) k F/ g" n$ h
pLight->Ambient.b *= 0.8f;! g& t( o( e% ]4 S9 R
" m" X6 q) s9 ^0 h8 [! `1 N* q memcpy( &m_light, pLight, sizeof( m_light ) );1 g$ k3 C' @* Q- `
, v4 `# e [$ L( [
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
7 e9 P) I [8 B2 g D3DXVec3Normalize(&(vecSun),&(vecSun));
0 {" X1 e g2 q. _- ~4 ` pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
/ Q4 b6 s. W" m( z9 \ pLight->Appear( m_pd3dDevice, TRUE );& o% G4 c$ Q/ h2 N0 m
5 C p1 F( p+ N. K6 Y' p
DWORD dwR, dwG, dwB;8 ]( X+ T' Q& w4 b% J8 v
dwR = (DWORD)( pLight->Ambient.r * 255 );- K9 g4 I5 D% @1 L3 m
dwG = (DWORD)( pLight->Ambient.g * 255 );4 _( h7 c( I- C1 E
dwB = (DWORD)( pLight->Ambient.b * 255 );
& R# Z0 G, Y7 g# l n1 k; A2 \. P dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );* i" u! o9 V& J
}
/ R2 j8 v4 X+ a9 E( j }7 K5 ?9 ^9 I& z
}
+ T. r8 i* C2 n8 x. M- t" D& [ else
1 f+ @( G8 N6 Q, p$ x7 l#endif & I% A) c# F/ P' O
6 @8 H3 q! n5 ` if( m_bIsIndoor )# j; `- v9 D, v. x; F0 o+ S
{
# |/ t( [" M# @0 ~- j if( pLight ), W- w7 B( f6 j9 ]( @
{ , Q$ ~! @; [0 b" b' n; e* u2 M& j
// à??μ oˉè* 1 D5 Q' ^; ^3 d0 }9 R6 g
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;& s. a- {7 }; x
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
" ~6 J: e2 k. v0 { pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;* S2 A4 ]! c" O: t9 W+ P$ F
& P, |( P$ v; n* h3 x // oˉè* ??à?
: i3 J/ ~+ f j pLight->Specular.r = 1.0f;
* p$ ?' `+ E$ R e2 X8 z pLight->Specular.g = 1.0f;
$ y: F( D$ {8 X! e! Q; J) b# j! X pLight->Specular.b = 1.0f;) r5 J9 T* W0 \3 H4 y& E
// àü?? oˉè* 5 G. F0 f2 V& {2 R& b- j2 C. P
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
3 l+ q8 x) E" }( i" `' S0 Y/ N pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
& {9 B2 ~9 b1 M8 J1 W t2 e: S pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;: Z2 C8 x. {# N+ \
- V5 ~8 i9 f6 r* a8 \( v if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.5 n. H# a, }" U- X/ Q
{- y- w6 i. @# N
pLight->Diffuse.r *= 0.6f;9 n! C6 t& J$ F, T
pLight->Diffuse.g *= 0.6f;, W' R$ N7 l1 O
pLight->Diffuse.b *= 0.6f;& k; G8 W4 @$ K" B
pLight->Ambient.r *= 0.7f;
0 Y$ C5 @$ |; V' O M o8 T' G pLight->Ambient.g *= 0.7f;
( T$ P# A# ~. U" w! @ F% \; t pLight->Ambient.b *= 0.7f;
# j" U/ E+ p- q/ _+ t }* q; f7 R# ]0 i& e2 h4 x! ?7 V$ e6 b
/ M- K/ r _8 ^/ s- }. ]
#if __VER >= 15 // __BS_CHANGING_ENVIR# z6 b7 M( |8 {% S/ ?
if( g_pPlayer )
2 q: w9 \6 o1 f$ D# g HookUpdateLight( pLight );* s; I' _) [9 X+ d! f& z/ _! E. D
#endif
- L; k. `6 j. P: @& C, S memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );2 f; h! ~3 ]% d! Q& w! V% p I
c9 Q! R; {- `& q pLight->Diffuse.r += 0.1f;
4 i+ X3 ^5 u. l' T0 s: m pLight->Diffuse.g += 0.1f;
- ?3 Z8 |! I. ^) Q6 h+ B pLight->Diffuse.b += 0.1f;8 J+ _( i& @" [9 H. M
// oˉè* ??à? / L P2 P6 y# V% C E7 j8 V. J
pLight->Specular.r = 2.0f;
, _, B# d1 P8 r% a7 d- A' y pLight->Specular.g = 2.0f;2 W! m; {* K' j9 z
pLight->Specular.b = 2.0f;3 Z8 K H6 q0 L* Q" ^% e
// á?oˉ
+ Q+ ]. t. C% j- | pLight->Ambient.r *= 0.9f;
/ G8 X- H0 ~" g, N pLight->Ambient.g *= 0.9f;# O! |, o4 J+ g1 |' b) [1 y; s: F
pLight->Ambient.b *= 0.9f;
- ]! q# M. W4 e ~3 a+ P& ?/ T( R6 Y5 U5 |" @7 I# m0 M
memcpy( &m_light, pLight, sizeof( m_light ) );' G: `: ~, c/ y* c
6 ~$ b0 C; z2 b" ~* @, ~ pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );* Q, s% U, h& a3 \1 @, X6 h
pLight->Appear( m_pd3dDevice, TRUE );
% c0 F- Q, Q# \
: _( K' c3 n5 }( w0 {$ j0 f0 [7 K DWORD dwR, dwG, dwB;, |. k, _9 j0 c' M
dwR = (DWORD)( pLight->Ambient.r * 255 );
* R' {) n6 R& f+ W1 w. M5 f4 Y dwG = (DWORD)( pLight->Ambient.g * 255 );
n K7 {1 r" n' k dwB = (DWORD)( pLight->Ambient.b * 255 );% J2 w+ _/ y; N; i ^1 s
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 S9 U6 S8 s) I: o. K }
, M, @. [' R; ~+ j9 y7 B }
2 c2 K: j- }' s else" @* \+ ]2 W* s: L6 N. l
{( {3 ^6 Y2 C/ l% ?
if( pLight )
/ Z+ k- v2 I7 Z9 s; R {! D i3 ]& @& Z/ A" ^
( d$ w# M, E' p f! ^ int nHour = 8, nMin = 0;
5 @% _0 {& Q3 a5 E% C #ifdef __CLIENT
6 v: s' _$ S6 B `5 I // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 0 G% B& P! e# R- U f' i
nHour = g_GameTimer.m_nHour;0 b1 q" z2 `2 |+ S9 L8 h
nMin = g_GameTimer.m_nMin ;9 `2 z! h# |: r8 s5 |1 H" A
#else8 }9 ^. Z& H% C2 n6 J) `: j
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
2 n: D$ [. j% z0 R" n$ b if( m_nLightType == 1 )
! y( X! e+ O% a G nHour = m_nLightHour;0 A. V( L0 u5 {5 ^' E
#endif# N" |4 s% V! l7 |: P- _
nHour--;9 h+ S" X. B% O
if( nHour < 0 ) nHour = 0;, N" k2 P/ T) a t8 m( O8 q
if( nHour > 23 ) nHour = 23;( h- I9 v) \$ V3 h( M
} r7 C$ y: X& _4 [
//if( m_bFixedHour )# k, L6 l# Z8 {9 q) g
// nHour = m_nFixedHour, nMin = 0;
/ L& B3 I7 J* D# a2 i& I5 i9 R. ^% _ LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
4 O. a1 U0 a; Z5 o8 O: L) F LIGHTCOLOR lightColor = m_k24Light[ nHour ];
9 ~. {3 x. u- m/ P5 ?3 L8 W* j+ H9 \4 I' d, K! u
//m_lightColor = lightColorPrv;1 ?( k. i/ a! ^3 a% R) p
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;5 z2 q& X4 D8 Q
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;3 O4 N: M& ~2 d* c: v
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
b8 r, f' Z5 J+ [" P lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
- b$ |3 Q9 b. {* f lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;2 q! u3 I1 I6 A: H) |* |6 ^
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
. O: J9 D5 a& @, d. [- r V // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)6 t, J7 h0 k7 ^2 B
; ^! n- \- x0 P8 ~. b% b$ z // à??μ oˉè* 7 V) l2 n( T/ j! U3 I/ z
pLight->Diffuse.r = lightColorPrv.r1;
9 d- H2 L/ Z( W5 t1 H% N( n pLight->Diffuse.g = lightColorPrv.g1;7 S$ `3 G2 u1 Z" a; c, X- k ^
pLight->Diffuse.b = lightColorPrv.b1;
4 j2 w6 x, W* f5 d // oˉè* ??à?
4 c! s, d( \) \; }( H pLight->Specular.r = 1.0f;
3 P$ p( h) {# d6 @4 ^$ \/ | pLight->Specular.g = 1.0f;: w4 t0 K1 m" c4 l4 y5 B, p
pLight->Specular.b = 1.0f;
& q0 i; z# M! O$ Y1 v0 A // àü?? oˉè* 8 U9 f u5 M1 t; Z
pLight->Ambient.r = lightColorPrv.r2;9 U. L& _+ V. H7 L; P
pLight->Ambient.g = lightColorPrv.g2;
' I9 y" |1 m3 q: N9 \ ~/ v pLight->Ambient.b = lightColorPrv.b2;
2 Q/ R! l# G L
# Y: B) `+ X2 I; q; V2 F if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
% I2 e6 f% O( u {
- U. A0 ]7 V: c+ f: b& h: g+ L" b pLight->Diffuse.r *= 0.6f;
) \; c+ h5 p6 R6 O. ^ pLight->Diffuse.g *= 0.6f;
% M- h8 [. W/ ]$ k/ q pLight->Diffuse.b *= 0.6f;
2 P- {& e9 w' N& |3 J pLight->Ambient.r *= 0.7f;" k0 Y+ p4 i3 o) C: u
pLight->Ambient.g *= 0.7f; L/ u- s) G- |7 C: R# ~
pLight->Ambient.b *= 0.7f;
' D$ Y7 i2 f' p1 T }. a7 ?0 k. ^5 ?1 G
7 i2 M9 s/ }' ]8 w$ I h
#if __VER >= 15 // __BS_CHANGING_ENVIR1 g# L0 i8 u8 q# s4 B
if( g_pPlayer )8 Q( y* n! I0 M2 c1 e
HookUpdateLight( pLight ); , v, K5 ^' G9 r1 C' {. ?7 U% S
#endif$ f4 d% d) b. H& M- I5 P
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );% u3 u6 }! e6 g3 v0 J% M# m ]
7 ~' D- S. t. }* d1 u2 U& }
#ifdef __YENV b" v: {1 z& c4 [+ |' Y
pLight->Diffuse.r *= 1.1f;
9 B) T z c% u5 M( @5 I' m pLight->Diffuse.g *= 1.1f;- L% H, @+ r4 ~2 k1 ]0 { |
pLight->Diffuse.b *= 1.1f;
# [& u& P$ I( O // oˉè* ??à? " k6 |/ a" y6 R4 v B* p6 C3 D
pLight->Specular.r = 2.0f;2 a! q; G: ~" J/ c: L/ L3 r
pLight->Specular.g = 2.0f;0 M: o& z r; h4 _) B0 D3 b9 m
pLight->Specular.b = 2.0f;
6 A' [* t5 i/ b0 G$ D) j% R6 k // á?oˉ
& q7 w# w2 F" I' \/ ^% d pLight->Ambient.r *= 1.0f;
4 \% m6 S2 [$ I5 l% l pLight->Ambient.g *= 1.0f;
# o4 R7 {# N8 \9 G$ F pLight->Ambient.b *= 1.0f;
1 [0 ?' s: y5 s' k; S( X#else //__YENV
1 g4 ~0 n8 i) D; h) i8 \8 T pLight->Diffuse.r *= 1.1f;6 D* E8 y# c- d8 l
pLight->Diffuse.g *= 1.1f;
' T( ?* e! p% }% F' t# N pLight->Diffuse.b *= 1.1f;
6 E" {) g# I) n% \ // oˉè* ??à? 3 a' W2 f# B: c9 d- t' g* O
pLight->Specular.r = 2.0f;
4 N- ^! u$ i5 u9 E# f pLight->Specular.g = 2.0f;
5 E! F' J: V, m. T" N) z, t0 } pLight->Specular.b = 2.0f;# X. \; d( D: L, `. H) ?, R
// á?oˉ 5 I5 C! ~. \& v6 C+ o) R' I& z, w
pLight->Ambient.r *= 0.9f;
& E% Q B, t5 ` l3 C pLight->Ambient.g *= 0.9f;6 k; a3 D' B1 h0 ]
pLight->Ambient.b *= 0.9f;
/ m# ~* Q1 b9 T) B( g. n* r" t#endif //__YENV
8 n' M& ~2 m/ O / W0 ^9 I5 \; J) ] C4 m
memcpy( &m_light, pLight, sizeof( m_light ) ); F8 ~2 o6 j8 M0 o% ]- T
h D1 }) {) l& {+ Z# j D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
' A, q7 }4 O- I% o% i4 y D3DXMATRIX matTemp;
4 x) z$ n7 Q5 w, K static const float CONS_VAL = 3.1415926f / 180.f;
- G( R; O/ p( P
( i0 E% K2 A- u D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);8 `9 q+ Q# B6 W: Z) d
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);- {, _4 |' q* O6 W5 s( ]* K" z3 e
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); ! y6 J9 W1 T! F( Q+ S8 b
pLight->Appear( m_pd3dDevice, TRUE );
4 p, `+ d" `1 h; Y' Q( [9 F( L* o( C
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
3 F9 r. G. @& }) I: X4 Z+ W% C // D3DXVec3Normalize(&(vecSun),&(vecSun));
7 a9 y: G J }8 O // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
t. i- v" b2 h& P3 l
5 F% g, M7 M/ o0 w+ C3 F0 X* W9 N DWORD dwR, dwG, dwB;
5 D( w( ]# n. V! b; R4 j6 L dwR = (DWORD)( pLight->Ambient.r * 255 );
% y0 j# g8 \3 T4 s dwG = (DWORD)( pLight->Ambient.g * 255 );) Z+ `1 j. s4 P; V) c
dwB = (DWORD)( pLight->Ambient.b * 255 );
+ J3 Z; I! M5 h) Z! s0 M; R% X- t dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 7 @. J0 }& w) o! I+ R
}
( y4 |4 Q( c- I: x' z9 J) o7 B }" W3 m5 A% ~+ p7 d" _$ ~
- d | n8 a$ y% d$ [ m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );- y5 E2 C W+ h; }$ ~% `+ {
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) );
- |, k, c& O6 k1 w+ y ::SetLight( bLight );
3 Y1 e0 f$ T, w" j W: J% x
3 Q4 n- ~6 ^% O" Q/ i // ±ao? ?D?í???ó á¤à?
7 D# ?7 p! N, N* i m_pd3dDevice->SetMaterial( &m_baseMaterial );* F$ D8 B L9 L+ D7 ?
. Y# o, c, _% w$ r% t- Z: B8 m
#endif // not WORLDSERVER
4 I, i3 f& a: E+ b} U2 Y' U) ]: l( C/ S* T
并更换( k3 r7 o( T3 R5 q
Code:
! b' s! y' K: {+ N+ b7 s__FLYFF_INITPAGE_EXT
+ C4 t8 ^' Y/ S& z& k; {定义. u; L1 q0 [- O/ B* Y7 @1 P4 _& r" N
3 z: j! `* _/ Q* b% \
1 D# x( I8 g% L0 l
; B$ ~8 i. O9 d A0 Q" m% Y% k: g; ^ i" f1 y/ O: G: @' X
现在终于删除我的狗屁加速...% W6 N8 n; X" N" |
: b* g! E" ~1 d6 Y4 A1 _4 |4 L5 f
: {! I; k4 Y4 p+ ?# G/ L
4 K* Q5 ^* V) Z ^ |
|