|
食品车:
' b. U6 R' z( X" y6 K7 _尾翼:5 Z3 E- T. t( w
1 l/ t, T+ R6 [* v2 O u
代码:, [2 }# G4 A1 Q+ l4 k8 z$ ]
CWndAutoFood::CWndAutoFood()
# ] T" p3 F1 c% Y! G{
" \* N9 g8 h/ x" o+ S m_pItemElem = NULL;( i Z2 o* Z0 u4 [8 W9 `
m_pTexture = NULL;
( T0 T* n' I `1 o+ Z2 H bStart = FALSE;
! @/ J" g, |/ n! K% K}
, R2 ?8 U' p* I* h. _
/ \) U$ Y% @& R/ j- X! e8 iCWndAutoFood::~CWndAutoFood()
5 _+ i: T/ o/ H7 B3 ~+ ~, |* y; ]{" k J2 _) d% W- B% ]
AfxMessageBox( "AutoFood ist gestorben " );
^! r z8 Y, @ b8 d/ Z/ T& v}
, _8 G3 R f E6 p8 j, v, z; UBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )! u5 z, W! M9 U+ n
{, y6 {6 Y+ P, M1 I5 ]# `
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );/ b! B* r6 g* b. F
}- t8 n' f) y- q9 K4 v
& V. G3 K( u' f
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
2 L8 X4 _& C( y3 }% `! f- @{ U; @4 o3 ^( M3 k# g8 m7 _
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
; e% i. Q M# u CRect rect = pWndCtrl->rect;+ u- n7 R- p7 M; c6 B9 L8 h) d
if( rect && rect.PtInRect( point ) )
/ b# u) J5 ]# i! B6 i. N# R" P7 r {. U, v5 y. g8 H7 h
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
/ m' Y( G/ d5 S6 L if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )% n6 \/ r5 J! \; k5 K# |; e8 q
{
9 p. o q( k$ j9 x7 N, m' S2 _ if( m_pItemElem )9 i2 G* R: j( _# Z
{4 r: z2 k K. J
m_pItemElem = NULL;
2 J0 @, Q) H1 l+ |) Q }
* {& { ]( u. B9 [& f) P! H, G% A m_pItemElem = pItemElem;
' C8 }0 z5 f$ V" } m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff ); _8 c: j, a; e) x0 y
}else{
) \! J/ X# F3 b0 ^% O9 |; C SetForbid( TRUE );
$ K' y+ H" S x8 G }
. Z" N7 `. u' n$ P5 ?; R- W) _ }else{+ I3 z; @, l, [, v9 E3 q% Q! v% [8 D
SetForbid( TRUE );# G3 M& R" z6 D, N0 o: z& ]
}
( z" V3 A; A% r u6 t/ |' P. ` return TRUE;8 k- b, B5 k( r7 t- q$ @
}# G6 f( I" |( V$ H) U
' M: ~; N2 j( X: L1 X, sBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
6 g m$ @7 j: b8 \/ t% @{
x2 |, a5 y d) v! h8 A switch( nID ): D; F8 P, m% a& m
{
9 W! q6 h' i f; f( z1 M9 `5 }- ~ case WIDC_BUTTON3:2 r8 X" W9 X' N8 f
{+ V9 _2 |% T0 v7 ~$ o0 k* P
bStart = TRUE;
3 N8 X: w" v9 X' T0 r6 s break;
0 W% S: i3 K# |1 L/ p l0 e }
0 r. z1 b( ^& G2 E+ h( t) x case WIDC_BUTTON4:
$ M& d# z" s; o6 K, u! [ {0 l) ]- K8 j) Q, j/ Z
bStart = FALSE;
$ G8 P8 ]# z% X1 P, t+ j ^9 r3 I break;8 m5 x" a' k* z( V* q: j/ Q
}; c' Q& o6 t0 [) x- O& v/ [1 Y
}, r! J9 A! _8 A. I( T
return CWndNeuz::OnChildNotify( message, nID, pLResult );
4 E1 |% f! T+ G}
, s4 s1 W2 o" F4 u3 L& V/ T4 bvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )7 j: {* {: e" p5 N% z# y
{
# ~2 W9 U" h. b& c CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
* d+ z% N6 {5 ]* H if( bStart || !m_pItemElem )
6 L$ ~& {6 g4 ~ {
: d$ l; x2 J" s( k6 y& m8 o& W pBtn->EnableWindow( FALSE );
" ~0 B, U1 E" O5 z" d2 [ }else
3 S" ]# J- L5 D- o# ? pBtn->EnableWindow( TRUE );
; e+ P: B0 I: a& E1 e if( m_pTexture )4 B( ^# u' |/ N- @# W; q
{! Q9 W8 s/ o. Y2 t1 t
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
, C3 E+ o1 D$ S3 ` if( wndCtrl && wndCtrl->rect )# d9 m# \4 P& d9 S
{/ T# _+ S1 q# @/ M& s
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );# C4 z. S p7 U4 Z. w8 r! f/ i
}
* H( A. m8 J7 W3 O; F8 d' f8 ^ }
% V. E4 X+ u: a2 K0 K}
9 q6 L2 |- A# Q5 D2 d& t9 i2 s7 L! v: L( Q, ` r
BOOL CWndAutoFood:rocess(); s8 r; l9 o. x# G, s7 x
{7 E& u( g8 E$ d( s! r* f M" t
if( bStart )
+ q3 m: H$ O0 A, H7 u {6 k" a6 ~( n6 d' T9 R% G# q6 v/ Z2 R
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )$ ]* r; D; d9 \2 F
{% i3 F/ x; e7 p! \; @
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )! R5 {" U' Q. Z: C! q/ U
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );# r- J7 i- U6 { H" @9 t m
}else{
& A# A' C0 ?# C* j; B8 ] bStart = FALSE;
1 L! C" Y, O) R7 z m_pItemElem = NULL;
% _( x/ H0 r6 ~( c# _ }/ Q$ A+ Y- n4 z+ K* ^1 N% y
}
& | v) h, [. {+ ?! F q return TRUE;' D' p: c8 P7 j3 e0 t* N
}/ A9 ^* {& X }$ ?
8 ~. ?1 D- O% E6 A) w q K, s6 V9 G登录视频废话:
6 Y/ s. f1 L2 b5 S- ~9 ?7 ~尾翼:
( D$ r) X& O$ {, o
2 v) H: R% O% ^# Y, k$ W代码:9 C+ ]1 [/ w% b
( Q' @; n; e$ F! h! N. M
void CWorld::SetLight( BOOL bLight )
! H; i1 I/ g) K" rdurch% |# }" v, u" G c2 b/ ~
Code:( r* t% A( O, A$ t/ T @0 L" W# e; d, B
void CWorld::SetLight( BOOL bLight )
6 T. w+ v5 [3 ]0 j/ W# S{
& }/ j% C8 _/ c" W. A3 L //ACE("SetLight %d \n", bLight);
0 K3 _" k7 j. d3 u ! G2 c, t' G3 s% g! Y! s
#ifndef __WORLDSERVER
+ r6 L* R- m: G j# U DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);% V; @" |; W0 Q& t- ]
CLight* pLight = NULL;4 T% x+ m$ J/ \5 e8 x( i0 [. Y
8 _ D, a" T5 f& P, ^ D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );* I2 _5 U+ n- [% H* S: A
& j8 j' ~2 e4 x' v
pLight = GetLight( "direction" );
9 |) N+ v0 S4 b/ }* [3 Q# B4 k7 b! R7 u0 y
#if __VER >= 15 // __BS_CHANGING_ENVIR8 U" Y& w9 v( V4 j
if( g_pPlayer ){
/ z4 t; R) ?6 P2 j9 z9 F ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
2 v1 |9 u% z6 C2 {9 Q if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
* w# u# p$ }5 r {
, j0 {' Q5 c6 ]% L/ u3 x if( pLight )
' t, d8 y- ~8 I {
4 K( Z8 n# g6 @; n; @8 G9 t pLight->Ambient.r = pInfo->_fAmbient[ 0 ];# O7 W' d1 L3 k. K% O
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];$ |3 O1 l9 W" i
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
" Z6 e% `7 e/ D! M" Q& b
/ L& r* ~$ I4 Z# Z8 G5 j pLight->Specular.r = 2.0f;
' I4 c% ` C9 n: v+ T3 ` pLight->Specular.g = 2.0f;
7 i8 n2 S" e, l0 s2 G | pLight->Specular.b = 2.0f;+ k- w6 O+ y" q9 h% \! z8 D
% L0 c# z" o3 d s# ?2 o9 f8 Y6 Z
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];4 r( z- q2 c( a# j7 V) m, X' J
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];9 R% x& [' E: _; O/ F; u
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];. G6 ~& k7 F/ g
T$ E1 D7 ` I4 Q
HookUpdateLight( pLight );
' ?# v* I1 B2 l
: q g/ E2 \& F5 R- ]# v memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );( g# y, u+ K$ W( _
/ d& w" V3 |5 _' B8 O* T- E0 P8 B3 B
pLight->Diffuse.r *= 1.2f;
! T4 E7 ^3 i9 u7 p$ `6 M: y% ] pLight->Diffuse.g *= 1.2f;
) {; U) `; N' ?) G2 u W pLight->Diffuse.b *= 1.2f;
( ^9 o" ?: D2 J ~! H t9 H
7 o: n8 G: J& @ pLight->Ambient.r *= 0.8f;
; \- a v5 @) @ pLight->Ambient.g *= 0.8f;: m$ ~" C" [ k
pLight->Ambient.b *= 0.8f;
: Z. a5 l/ q( C/ F 5 o9 \; U! q0 B _
memcpy( &m_light, pLight, sizeof( m_light ) );' K& ?9 ?7 X# S$ g; Q0 s
# |" g k5 M# V3 @- F( x3 w2 v8 L k( g D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
- v$ y+ H, H' C2 z D3DXVec3Normalize(&(vecSun),&(vecSun));
6 @% l4 D" B5 F* z$ \4 | pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
3 I. E5 i1 W+ P' B pLight->Appear( m_pd3dDevice, TRUE );
0 @; i/ {% h- m' q2 X) z * ]6 z5 M6 T: H2 u: F" c/ P
DWORD dwR, dwG, dwB;
) R, t6 X; b8 u dwR = (DWORD)( pLight->Ambient.r * 255 );
" L' @; L7 L6 Z dwG = (DWORD)( pLight->Ambient.g * 255 );' N! K( Z' @' p! M: h' C; g. b
dwB = (DWORD)( pLight->Ambient.b * 255 );
& T4 M8 ]% b* ]$ n. m6 v5 E% I: p dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
8 j( F1 J) F" Q, n: V! o }% s. R" r! A/ n
}
, z7 `* j5 G2 {& |1 ]5 l( z( d& W% j }
. s1 `% W, W. p* y: c& V else. ]; y; f' l# ?0 [1 n" L
#endif . \: n/ ]0 G5 i P" T
; c! O" E1 Z- q
if( m_bIsIndoor )
* U% N$ u$ j% }8 r {# Q6 V u1 s' D
if( pLight )) J$ v9 x1 E+ n* h2 |$ l
{
# j0 \7 V! _) l7 c // à??μ oˉè*
2 T1 m. s$ X% Y* `2 R! V pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;4 }+ V% @9 N+ n/ }5 M" H
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
$ B, E0 y$ o& q: ^ pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
/ a: h k7 }1 [/ v; N ~# D4 V% D
1 e; F4 Z6 }* j: _/ a/ o) w/ a2 _9 T // oˉè* ??à?
: l& U. O5 K$ e3 B pLight->Specular.r = 1.0f;; |3 c2 M. d2 ~& ?) y
pLight->Specular.g = 1.0f;
" E; j- [- z$ w2 B# f$ g- q! f4 m pLight->Specular.b = 1.0f;
. m$ C( R( G/ x; h // àü?? oˉè* 3 R- Z- p- A! F% V9 O4 N6 W: S' ]
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;% Y( M; a6 v1 k% R- F+ K! G% E9 a
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
- p; F# C# D3 B' D pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;, `. v$ L0 n) V: [6 t
/ x8 ]$ b$ B* D# q+ ]4 m& a if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# o5 i. z4 m6 j& ~& b6 O {
+ o7 ^' d) ^: S t pLight->Diffuse.r *= 0.6f;
5 i" p8 V0 Y9 \2 b' @7 q- J1 ~/ F pLight->Diffuse.g *= 0.6f;
' B9 s$ B9 \) \+ Y pLight->Diffuse.b *= 0.6f;
- W% A- o0 v7 F# R% { pLight->Ambient.r *= 0.7f;
, P) ~' @3 x" A) v, v pLight->Ambient.g *= 0.7f;+ X0 s" F' k' h/ s& ^' ^
pLight->Ambient.b *= 0.7f;
5 t, E! v/ i5 Y9 A+ E9 | }
1 g+ ^+ H7 x8 c: u. f& w/ N* _7 m( b2 Z& W
#if __VER >= 15 // __BS_CHANGING_ENVIR
, v- u( Z! n. ~8 u9 n if( g_pPlayer )
" Y! g0 I$ l8 F* ?! `3 ]$ [3 W HookUpdateLight( pLight );
4 X; N+ K) T! n4 j#endif- K0 ?) Q0 z4 ]: c
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );) ~9 ^% E+ x# g4 p# c3 |1 z
`) Y: c0 r1 n
pLight->Diffuse.r += 0.1f;' \( x8 k( s4 q- Z8 L
pLight->Diffuse.g += 0.1f;1 |4 D3 J) M2 L; J- S7 d
pLight->Diffuse.b += 0.1f;
2 `2 L$ I# |; N' O6 ^/ T6 ^$ x) A // oˉè* ??à? ! y! |! @# G* {' h* O) z- z9 }
pLight->Specular.r = 2.0f;( C5 Z, ^1 k2 E4 l( A+ h
pLight->Specular.g = 2.0f;
* J! a" N4 P& a3 N, E, M2 Z pLight->Specular.b = 2.0f;
) s N. P3 @ c; v0 e // á?oˉ
% d9 O, B2 `* L+ F, E pLight->Ambient.r *= 0.9f;
! s( z1 _( I% `4 z7 ?4 N pLight->Ambient.g *= 0.9f;" p, u# `5 m4 ~2 A L" }
pLight->Ambient.b *= 0.9f;
( g9 E0 \1 x& _4 \; i9 s2 i; _* R% s" [5 P" V
memcpy( &m_light, pLight, sizeof( m_light ) );& h* g1 {" F, Q4 l
% F; d# h( Q5 ~% D5 p0 Q
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
3 A- w3 P% i: Q pLight->Appear( m_pd3dDevice, TRUE );
3 n' l }$ ^ n- C, o8 Y 8 r& t6 A7 q! ?+ r
DWORD dwR, dwG, dwB;
* Q+ l& F1 m/ U6 n- X- n dwR = (DWORD)( pLight->Ambient.r * 255 );, c( m5 f. I0 l; g
dwG = (DWORD)( pLight->Ambient.g * 255 );$ l* e: W3 `( h: w/ v
dwB = (DWORD)( pLight->Ambient.b * 255 );! {$ F1 m% D! l8 Z" ?& n O
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; T/ }' }/ ]) d0 ^ }
) h1 g2 J$ d, S8 v }; {0 N8 z8 F- B3 v7 q
else0 Q3 h ]9 @. ~6 k" P4 J5 e3 S
{
$ A& P9 w4 q( e) c8 l8 J% e/ Z if( pLight )
6 p7 p6 f" g. s/ v {6 n# K0 _4 m- X1 s" j H5 ~! a
! _" i2 ^4 W9 x% }
int nHour = 8, nMin = 0;& E0 _6 g+ B4 A! r( U% M
#ifdef __CLIENT) V+ |; H- u F
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
6 D6 z7 ^: p9 ~ nHour = g_GameTimer.m_nHour;
/ J2 d1 n( n) a nMin = g_GameTimer.m_nMin ;
0 a- ^( f% `/ i5 H #else; [1 ^! }0 G; z" _
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
/ n9 b) w- Q! A! E! _ if( m_nLightType == 1 )
; Y$ v1 h9 u1 ?! ?& {- W nHour = m_nLightHour;
$ S0 i, ^5 m- T+ y. y #endif
+ L1 \6 M. q* Q' n- a9 } nHour--;
}( T$ \# L$ Q& z% }/ s3 ^ if( nHour < 0 ) nHour = 0;
& [# l& b+ V6 Q! s. s; y7 V0 f: ? if( nHour > 23 ) nHour = 23;. `3 E! X+ M$ c6 d+ ]
& a. X# m6 `4 x1 w/ n3 u //if( m_bFixedHour )8 ]9 z) w5 x' {! y
// nHour = m_nFixedHour, nMin = 0;
& J, P& {0 }( I- n2 P/ s- Z0 X7 { LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
( P% O! V: X- T8 c LIGHTCOLOR lightColor = m_k24Light[ nHour ];
( g0 k$ @: f2 l
/ B! X! c' [8 G0 ^# l" ?3 Y R //m_lightColor = lightColorPrv;
/ c( S. ^% \( v2 c& j+ ?$ k' a lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
3 {( W$ G6 r- C: x7 W. B/ B5 L s lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
- m A% \% T5 b i lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
; P9 k) B- e7 W7 s- [# S, Y: f lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
, o5 M, L* l/ j; \+ z4 n/ a6 b lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;3 U9 R/ |9 K% d" i; O# M
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
# Y# _( w" s# I$ y# D% D // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
4 ~' ^4 e6 e4 V
/ k* E: a: {) t' } // à??μ oˉè* ! z. k) b5 J7 z! U; L* `( r
pLight->Diffuse.r = lightColorPrv.r1;! V$ ^7 J+ r* h/ V; T
pLight->Diffuse.g = lightColorPrv.g1;
/ D9 b! J" g0 I3 n) \ pLight->Diffuse.b = lightColorPrv.b1;$ X" g4 a5 H7 W* L( a: O
// oˉè* ??à? 5 h. s9 w1 ], U0 G0 I+ ]6 \
pLight->Specular.r = 1.0f;" {0 j9 a# |; R9 u" ?
pLight->Specular.g = 1.0f;$ X( `5 }8 M B" z% v
pLight->Specular.b = 1.0f;& U2 m; _0 d! B) D' L% Y* ^6 _7 x9 |
// àü?? oˉè* 1 x! L/ A) v# p$ b
pLight->Ambient.r = lightColorPrv.r2;
& v6 Q" [% Q' \4 v9 ?2 f3 j* q pLight->Ambient.g = lightColorPrv.g2;) U- J' E' s5 A( K9 G& o2 z
pLight->Ambient.b = lightColorPrv.b2;( ?7 e5 Y, y. n1 T$ c/ r
$ o- Y: S6 f7 T& B. t
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
1 {. x2 p' Z# b5 ~: l {
! d) D, M1 W3 b pLight->Diffuse.r *= 0.6f;
$ e. t) z8 U# F3 r$ t pLight->Diffuse.g *= 0.6f;
* o2 o# n5 E% B; J pLight->Diffuse.b *= 0.6f;
- L) \* s5 d1 h pLight->Ambient.r *= 0.7f;& ?1 L' ~" o& t- P3 M! l3 f
pLight->Ambient.g *= 0.7f;
/ H! h* q' W$ d3 A6 e pLight->Ambient.b *= 0.7f;* O4 U( z1 X, z. c6 l( f6 I
}' O X) y9 d" ^+ i( l1 x7 M& |3 O
5 `7 D$ {0 L! `#if __VER >= 15 // __BS_CHANGING_ENVIR
R% `2 q3 C! C+ T if( g_pPlayer )8 ?" I3 B. K9 T. s& G4 ?* }- \
HookUpdateLight( pLight );
5 D2 f8 A! M& m n, a) x#endif
: Y6 |# ~4 M% l6 P memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 {+ R5 k0 d/ W5 X a! J4 t0 ^# G( d% V
#ifdef __YENV
4 i. o$ x; z. }9 f# k pLight->Diffuse.r *= 1.1f;
3 L1 m# G) Z4 X pLight->Diffuse.g *= 1.1f;1 Y: _- S0 T* h7 S+ q
pLight->Diffuse.b *= 1.1f;
) F0 l' G4 r+ @8 b // oˉè* ??à? 3 M Q0 S. x. k- W5 z
pLight->Specular.r = 2.0f;% ]; d8 Z8 W" L# `2 \9 x. \
pLight->Specular.g = 2.0f;& p, V2 Q( g' n x$ ]
pLight->Specular.b = 2.0f;
0 F! G) D1 h/ a/ F5 x, T$ q+ I // á?oˉ ' A7 T& Q/ w. t) S& g
pLight->Ambient.r *= 1.0f;
/ `) O5 |$ }5 u/ I0 P2 Q( y pLight->Ambient.g *= 1.0f;
! w4 W7 s- | m% |- \. n pLight->Ambient.b *= 1.0f;/ w6 {& W" s# z9 k, G1 @& T
#else //__YENV
7 Q5 @4 S9 {& I' p- [! O4 Z1 _ pLight->Diffuse.r *= 1.1f;! O' {; |4 F+ U7 V$ z6 T4 H. y
pLight->Diffuse.g *= 1.1f;
! ?; G) U& c% v+ p% G' `1 ^ pLight->Diffuse.b *= 1.1f;/ A. {/ U. K9 y0 L7 _
// oˉè* ??à?
3 b# ^2 Z, E- ?- g+ \9 q pLight->Specular.r = 2.0f;! p) S) _# n) |7 @" A/ U
pLight->Specular.g = 2.0f;4 l. J6 S; m. U1 A/ Q
pLight->Specular.b = 2.0f;
* e4 X! l6 ?, e/ ` // á?oˉ
0 P! x1 X' {! n pLight->Ambient.r *= 0.9f;. y' k+ v% G9 L$ m' ^! i: T
pLight->Ambient.g *= 0.9f;
' R% K F9 P$ M9 z pLight->Ambient.b *= 0.9f;) ]8 w* P6 ~1 u1 S, c! Y
#endif //__YENV 8 I* J! r( ^8 r; L
4 R& ]- h' j, _' r# V% S7 y( O
memcpy( &m_light, pLight, sizeof( m_light ) );
% y' B4 @/ w( H# a
4 e3 ]0 I% D! M& Z/ v# V# Q D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);1 k; v) Y. {. `9 V
D3DXMATRIX matTemp;, C/ f3 F8 u2 Y( S9 A/ F
static const float CONS_VAL = 3.1415926f / 180.f;8 M7 a+ h1 z5 U+ E4 j) A: K7 C
% |9 ^) c" M5 K7 B
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);# D" i% E& _( @. s, ^8 U5 [ h( n; v
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
+ _8 i( `& A. w" G! ~& ~3 F pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); # ?4 w# }) h" G3 z0 N- c, `* {
pLight->Appear( m_pd3dDevice, TRUE );2 i6 P/ V$ u R6 ^7 o3 L6 M
0 d! m; z5 n- l1 k+ p) O9 T
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
9 a, T2 i$ A5 O1 N% G0 r( f) r# w // D3DXVec3Normalize(&(vecSun),&(vecSun));2 j$ ` b) |' i0 @# N! F/ D6 c
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
! D% e; X r& j1 U0 [
. }2 i/ @. \/ m5 W, I DWORD dwR, dwG, dwB;
- u) d! |1 a) V5 o' H* b ^- E dwR = (DWORD)( pLight->Ambient.r * 255 );5 m( [0 l% n9 L* ~
dwG = (DWORD)( pLight->Ambient.g * 255 );
. I9 M* C9 c j9 U3 A( T0 J dwB = (DWORD)( pLight->Ambient.b * 255 );- @, F- B: I3 F
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
5 O: Y5 A8 P4 D, a }0 F. a1 |0 ]/ J0 n! y; K
}
3 G0 _" E9 v# v% c; b6 l- `- b7 t. X# u
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );- `% `" t# f( r& f7 G. f
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) );
$ e$ b9 o$ w8 q, i ::SetLight( bLight );, ~1 \+ B: C8 K2 V
5 v6 R3 v, r; O3 F- r4 }
// ±ao? ?D?í???ó á¤à?
6 y# _7 r' X3 B: F. c% r) p m_pd3dDevice->SetMaterial( &m_baseMaterial );9 p( I9 c1 y- Z: h7 u* w
3 r% e0 V* O% V" V% f
#endif // not WORLDSERVER* w! n6 [( g' u: C+ b
}+ K2 n7 a' M1 A* r: Z; j5 _ D
并更换
( Q# d2 M, ~/ C, g6 F; BCode:
3 k+ i: U4 \5 W1 u2 V) |9 m7 T__FLYFF_INITPAGE_EXT
4 b1 q! [$ I( i! b0 K* M6 ?% f定义7 l3 G6 H2 i& j3 d+ }$ H
& h0 z2 g) a: B$ t# @
0 F- R9 [2 R7 O* J
" ?5 `1 N. Q1 |9 K" i3 J& h
, k$ K, z, k D) M3 C5 L6 G. r+ x, n
现在终于删除我的狗屁加速...
! R* a; T1 u$ K) q# w* {# h8 n! l. |$ {
' c6 J4 z+ ?- c2 I% \) n, P. F' g0 F+ @2 h* B
|
|