|
|
食品车:3 B! {2 D. r" z1 t3 f% c$ v
尾翼:
/ L# {; S0 K. ^$ d& ]/ b( I8 _( m z$ X F
代码:, e; F) @" f! {
CWndAutoFood::CWndAutoFood()$ A9 g) G, [/ }. h, e G
{; s$ Z, R `+ L7 E+ _/ t7 g
m_pItemElem = NULL;1 q' Y s" f- N7 n' [
m_pTexture = NULL;
7 o* W: ?* r/ g, N1 Z- X9 f bStart = FALSE;
! G/ I( h m8 r: I, Y}
: {- R. N. E4 S0 {
/ W% B0 ]1 r0 z6 Z; l- |CWndAutoFood::~CWndAutoFood()3 S* Z* ^# {9 F" p
{' k" Z* \3 v* T# i* B8 E
AfxMessageBox( "AutoFood ist gestorben " );5 W( U! J4 ^7 G
}
1 c& F! _$ V1 C9 F8 ~BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )4 q9 e1 g, W% H: k& d3 W
{
3 }6 p3 c* l$ I8 R. v return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
) S: j3 n& Q! W7 G8 v}" P- ]; t' b* Y2 L; {
. b" J( [6 @, I4 @
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
% d& H4 s2 n$ u Q9 }8 k{
0 P' s. V5 |# e LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );7 n$ v# f: @5 U: }2 H$ u/ h5 v/ J7 y
CRect rect = pWndCtrl->rect;
4 P! S6 g$ C" X+ i if( rect && rect.PtInRect( point ) )9 t1 \, }. Q* Q3 U, K4 @
{
' H5 z6 l) | k: J, S6 v* r CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
" ? o& ]: ^! x3 j if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )' C) l& D- N+ F/ w- [
{
1 l9 o2 P* m3 d1 y! r" e if( m_pItemElem ): u8 T( G) h- i
{* C+ w+ `- S7 @
m_pItemElem = NULL;2 i1 v8 j* [$ p" i) C9 U; S$ F
}
% r' }7 c; E/ s" |& E' H m_pItemElem = pItemElem;5 W4 K: K+ ^! a$ r3 q
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
2 n1 j2 v- M, d: J }else{3 \: Y/ R; s, T. P `1 Z
SetForbid( TRUE );5 R; g0 e( u7 V
}
0 {5 }! h9 \1 p" H" S! \ }else{
& S6 c0 V1 o8 K/ p! ~ SetForbid( TRUE );! p% E4 S+ C$ w0 _, P K- [
}
; I4 @) A+ c1 @9 ^% r9 m return TRUE;+ _. E; `- f, p; e/ X; c
}
% ^7 s6 U! `( y6 L' s% [" S, T) S2 S1 i/ a
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )7 m$ D, d T- U& ?" w0 K9 F
{& Y( \- s. k. G X( I& g; A9 U( I% A
switch( nID )
# B! D$ m M- `* \, ^; O' j {+ \1 S, d% M/ k) L# y
case WIDC_BUTTON3:
0 s$ I @) _' A6 X! U$ v {0 H D( [5 {% T7 t3 _8 d$ _
bStart = TRUE;
$ N4 E/ e9 }3 y2 ?- Z+ W break;, c- m- n: f d* u
}$ t) n1 ]% ^+ A2 t/ \4 `
case WIDC_BUTTON4:, Z) b' F& p6 u; c+ w1 ?% [8 `: B
{$ J) M2 C _; P: z; ^
bStart = FALSE;/ O* V, W& S- n4 \ z; P8 x" R; Q) l
break;
0 Z" a4 ^1 s2 o. A7 W, |7 L3 d }* v2 t$ {/ l$ K/ u, w9 J
}
K5 N4 @/ @$ g. M8 ` return CWndNeuz::OnChildNotify( message, nID, pLResult );
' N. c O9 B% Q4 P} 5 q& P9 a' Q/ c' | C4 u; k, |
void CWndAutoFood::OnDraw( C2DRender* p2DRender )% `: }( ?! S0 Z. v1 I/ H
{
~; o' N7 S; e/ f% G/ F F& | CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
5 Y( j8 h9 A5 j5 R: L* j if( bStart || !m_pItemElem )
( w* W4 [5 g: P# G8 y {
# T6 b! N& b( W) c pBtn->EnableWindow( FALSE );
/ l2 [0 h Z5 { }else
" |& Z7 g1 c# ?* h& k6 u# F pBtn->EnableWindow( TRUE );/ x \% e+ p7 |8 v
if( m_pTexture )9 P3 z. C D# P3 Y8 ]
{! M5 T8 k/ x) f" U
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );3 U! o( ~" P: R b L
if( wndCtrl && wndCtrl->rect )+ S0 A& f9 G* b' Y7 r
{5 a* ~7 s0 N! H
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
- ^6 O3 \- g8 G) I, n, e0 | }
1 C- h* c' `& U) T5 e }
8 p; M4 a; [8 ~}/ r( f' ], k. p7 |
+ Q) @2 `4 a3 o5 i! ~BOOL CWndAutoFood: rocess()! S( e- s5 S) v! S( ^+ a
{$ s( Y+ N# i9 W& d/ M- h
if( bStart )
9 Q; G v' C+ N {
! U+ |! P, B/ U1 y! A if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )) s% i- D% z" j; d, Q9 Y( v
{- {! [+ M2 f4 C( p7 y* t( r( h$ s
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
" X k5 N3 W3 l* ]: Q g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );, V; S+ v& k5 A w# @9 O
}else{" t6 i% Y1 c$ a+ ^! \* }, f
bStart = FALSE;
( v; m" |" i7 y% B+ E m_pItemElem = NULL;5 U& }* X# j) [/ W! {+ f' d# D
}
+ q) j* O' i. \$ C; O) _' W }
8 l. } ~' J- \3 [8 e) Q return TRUE;8 g$ p1 x2 M$ X( y2 F/ ]3 E0 r
}
$ _! g0 v" f2 g. }: g" y4 |! }% Z) Z9 \- o! y
登录视频废话:1 J+ r- e5 l7 r4 s
尾翼:
a7 F4 U; @$ _# ~: H- Z9 e' S V: N; R$ c( x$ @9 L4 N; w6 P) @, y. ]
代码:
/ w* O0 M S, H! W( s4 W
# I# M* o4 c+ {$ T& _void CWorld::SetLight( BOOL bLight )& b0 b' k! j5 C8 n+ Q
durch$ f3 ?3 n. a& C) r, e" b2 Q5 Z
Code:% P; \( K; P% B% f( q
void CWorld::SetLight( BOOL bLight )
& n: m2 b5 { X$ O$ n* o) q, s{
% E5 z# C7 v, ^& h2 A+ O //ACE("SetLight %d \n", bLight);
1 D% H6 A9 p0 _# d + g; Y1 s& f4 J5 [2 a! p# N9 X
#ifndef __WORLDSERVER " A/ W+ r/ T. z( s+ E* Q+ n9 h
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
% ]2 Y- p7 g0 _8 K5 X4 ? CLight* pLight = NULL;
/ K8 z5 t9 |$ e2 q f5 y
4 A e( o7 h) H2 U4 H! B D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
7 u0 W$ q/ g% [, O, i9 ~9 g, P. e7 n8 X+ ~
pLight = GetLight( "direction" );% h# O }: `! z: G' i- x$ P0 H7 v
& G# Q, ?3 K* c8 C# h#if __VER >= 15 // __BS_CHANGING_ENVIR
; {2 V! |6 n5 h# e, J if( g_pPlayer ){! a! h0 V1 L$ X! E& \- D
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
, V) h( @) i: z if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
: R7 L9 i3 G2 B3 k {. Z1 a/ L0 K7 j0 k
if( pLight )
3 P/ ]8 j& k u" F4 q7 a5 N {
9 L( m- P8 k3 l7 h7 Z pLight->Ambient.r = pInfo->_fAmbient[ 0 ];# [( V9 w( k* P( B/ L8 G3 a3 e
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];( R8 y2 x% N6 U* {6 t+ P+ b" f
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
' z0 _) Q* ]. ~9 t o5 D( V
! D( @" H+ H1 d+ [6 X pLight->Specular.r = 2.0f;: L$ K% {6 a3 j9 V; K2 L6 i. a, Y; k9 f; ?
pLight->Specular.g = 2.0f;3 V! [! k! N0 l# A( y* j
pLight->Specular.b = 2.0f;6 l5 z0 W5 W4 J) i1 X$ q" M5 A. K
+ R! i% A& p0 |3 h pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];9 @/ b5 i* S; x
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ]; l7 b: {* L$ {
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
$ U, v4 Z8 G2 B& z9 Z& Q ' a; m9 |2 V( \3 A
HookUpdateLight( pLight );
1 A6 n8 y/ Z' F) X4 C& Z: @% e2 T$ E" M/ ^3 ^, |
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 X- c: d3 _" ?
4 _ h1 C+ \6 f2 I# Q& n3 M; O pLight->Diffuse.r *= 1.2f;
. s5 f! D9 }3 f: D) d9 p! D6 p* g1 m pLight->Diffuse.g *= 1.2f;
, A6 N% }$ G* D" e9 F$ d* G3 Y0 p& j pLight->Diffuse.b *= 1.2f;" s* w) g' Y4 ?- s# H* e
5 x5 _/ B, O+ [6 g. m+ b5 ? pLight->Ambient.r *= 0.8f;
, w. u5 W) w6 e/ o) X pLight->Ambient.g *= 0.8f;
' s' r# U* o9 c- r pLight->Ambient.b *= 0.8f;
. `9 `( H* i& Z : i5 }) O9 I. ^7 h, l+ Q
memcpy( &m_light, pLight, sizeof( m_light ) );( B% g& @1 |6 }: B: k/ U" U5 `$ X
5 T9 r; F& l& s+ J) t
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
4 c0 f: _ a4 Y/ X. X$ |5 D! i D3DXVec3Normalize(&(vecSun),&(vecSun));9 o/ @4 V3 f$ Q7 h0 t3 U
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
$ W& x- H" U: H" b) K0 K2 |' C/ M4 K pLight->Appear( m_pd3dDevice, TRUE );& e8 h( ^) ?/ M. [
# u9 f, [$ c$ z* f" L
DWORD dwR, dwG, dwB;
$ C/ a& f) a2 `& {$ _, `4 e( q dwR = (DWORD)( pLight->Ambient.r * 255 );* M, B" d" a) Y, _# `( M
dwG = (DWORD)( pLight->Ambient.g * 255 );% |( A9 v& g" I* n6 M. [
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 F) N* O/ a0 R7 E dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) F4 L* i1 s1 K( y: G1 A. G6 Y$ o9 T+ { }5 H' B! H6 U. e7 p+ e8 M4 b: @5 {
}
& H. T: o& a$ k4 B; \9 I }" Z4 V0 O& y6 q9 K( e) [0 M
else
( e: I( o9 T9 A4 {- F#endif / j' u/ K8 }' c& z3 ?+ E6 ^
/ x+ U2 g2 _# ^$ D' Z; p. N- m* F9 ? y
if( m_bIsIndoor )
, ~- A9 q* S; _" L {+ h, p# C/ y6 M& [1 F* E
if( pLight )# l. A3 _% s# T: \5 q& H
{
) b; h/ n; ]& D+ T s, v& h' ^9 J // à??μ oˉè*
5 N* J0 J% j- o pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
. s- P: p, E3 G5 z. N pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;; \" q, I8 _. [2 ?( k7 Y8 l j
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;! B& P" o& y( i+ f/ u' y8 r8 f A
6 r2 [% q' {" s1 [$ K, G* p3 g' U // oˉè* ??à?
- e. s" c! h$ |+ W0 e pLight->Specular.r = 1.0f;3 S) ?& G) `2 u* v/ L: E; H
pLight->Specular.g = 1.0f;
: b+ p- H9 ?! `* L/ h. T0 h1 ]7 d pLight->Specular.b = 1.0f;, Y9 W1 T" F: \" C% ~; D# w! R
// àü?? oˉè* ( p& {1 L/ X7 T
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
* J. `5 o4 i( c pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;; T) M! \0 ?2 Y) o
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
" \( Z0 Q( F- U) T4 G8 `% P' T7 c! N6 d- ~, e5 F
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??." r; m% C u o; _! c
{
- a. o- M" X5 w- t/ q1 w4 c" i pLight->Diffuse.r *= 0.6f;
3 b1 F( h/ }2 K. Y pLight->Diffuse.g *= 0.6f;3 \% l c+ Z5 C6 S
pLight->Diffuse.b *= 0.6f;
" B9 c' Q6 ]% }3 a8 e8 p% o pLight->Ambient.r *= 0.7f;+ U1 S. z2 F% T/ E* g
pLight->Ambient.g *= 0.7f;
* \* b- T3 W8 `8 \ pLight->Ambient.b *= 0.7f;
9 K$ ?5 d | a8 b6 y* }) J( } }4 y7 _. g1 N, @
2 L4 M& w- N, m#if __VER >= 15 // __BS_CHANGING_ENVIR
" ]+ u0 X' |( O9 ^ if( g_pPlayer )
# Z6 `# e" m( p6 u% _ HookUpdateLight( pLight );
4 {( T6 A6 V# y$ z/ p; @+ V#endif
8 D- |# ~8 \, q8 \ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
! b# d. F' _/ z7 H6 J* b9 P3 G! \3 D! ]$ M
pLight->Diffuse.r += 0.1f;
4 a3 ^8 j3 j1 [& t' b pLight->Diffuse.g += 0.1f;
2 k* X6 G& I' K pLight->Diffuse.b += 0.1f;2 q8 w) S" W: e* d. |# O+ N% ~: h
// oˉè* ??à? ' h u3 j5 G! w; k& g* W3 J
pLight->Specular.r = 2.0f;
2 c+ @2 }/ O# c pLight->Specular.g = 2.0f;. s! f+ ~" o- J2 f: V/ Q. t, ^
pLight->Specular.b = 2.0f;
; v) s4 }0 g* F3 e% z: T2 t$ M // á?oˉ 4 n# Z" E0 p; W% R1 p: c# W7 j
pLight->Ambient.r *= 0.9f;
3 \& i4 H, }. x/ R& [ pLight->Ambient.g *= 0.9f;
! F8 F, m: ]+ z pLight->Ambient.b *= 0.9f;
, X, s8 y7 R0 a: K/ c+ l$ r* `) ^, c5 {
memcpy( &m_light, pLight, sizeof( m_light ) );
6 `- Y/ V1 n' m$ T
. U) s# `! A |* J- @- }& C. m pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
% u0 Y) v* D( x% `' I pLight->Appear( m_pd3dDevice, TRUE );
& l) t8 w. J# u) g! N( B; ~% B ( f( ]# n, `) F* |
DWORD dwR, dwG, dwB;- I0 M D; |+ E. \$ o5 t
dwR = (DWORD)( pLight->Ambient.r * 255 );( L. O5 Q$ V5 G8 J" r- s4 V
dwG = (DWORD)( pLight->Ambient.g * 255 );# D! `/ o2 P2 Y$ A+ }
dwB = (DWORD)( pLight->Ambient.b * 255 );& h6 x# b2 v' N+ m& `
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 @4 l4 w7 e% X" Y }9 |: G, g& a% f- b$ k0 n* M
}4 C/ S0 c6 W0 ^6 y1 K" L# t
else. q* g9 `6 S1 R2 M7 ]) c Z+ s
{
& M( V3 D+ {. n if( pLight )
9 m0 _. i2 J& E1 c, v {
$ l1 z* F, @6 ?2 ], V 9 @! o( f; ?, H9 e4 S
int nHour = 8, nMin = 0;* ~, ?+ u% V1 j# K7 {
#ifdef __CLIENT
! h0 m! G4 r O( m0 k9 I // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
% l* i8 }+ ^# r& ^ nHour = g_GameTimer.m_nHour;0 t+ o4 J" Z0 Y: U: K' ?
nMin = g_GameTimer.m_nMin ;8 [7 ?) N: k0 x) s7 F' k5 W- z$ k9 `
#else
1 C3 E9 d/ s* f7 O // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
+ B, {3 i4 z, b if( m_nLightType == 1 ): n w) J8 F* @8 _( K5 B7 e
nHour = m_nLightHour;0 z2 z% o" U P+ E) o$ X
#endif
# M# Q% T$ g- y nHour--;
: `: w& m( m e7 a1 b6 W+ N if( nHour < 0 ) nHour = 0;5 L/ ^; T$ [- l+ S, h [, t+ s3 f. ^
if( nHour > 23 ) nHour = 23;# V* A7 a9 ], V2 C+ j5 K2 B
/ f. P n: f+ L6 r. V
//if( m_bFixedHour )
; ]) @5 D, H5 P1 R( P5 M. T! B // nHour = m_nFixedHour, nMin = 0;7 S/ ^7 h, p0 w' y0 @
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
5 c* D% z4 k+ S0 X0 n9 N LIGHTCOLOR lightColor = m_k24Light[ nHour ];2 a9 o" A; V; Q, v
8 S y0 ~1 y' ^( J8 B
//m_lightColor = lightColorPrv;
8 B4 S1 N z9 v( G0 [6 K lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
$ u7 j6 S [+ R) m. K$ O- B. J lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;( j/ t3 v! j9 i" G7 L
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
* I V Y! s) t lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;% D5 O. S) [, u) `
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;9 i% |& |$ O/ b) @) ~
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
) R4 g/ U( z6 e% U; B9 e. m) m // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
4 L# {. L. {% a2 }) A5 g: {, @8 | b# p- _7 @) K. y
// à??μ oˉè* 9 _% ^0 y* L( C- k8 ]* \+ z
pLight->Diffuse.r = lightColorPrv.r1;/ L. j& l; q8 I1 r0 q
pLight->Diffuse.g = lightColorPrv.g1;
4 [- M3 u3 H4 D% J- b. _' L pLight->Diffuse.b = lightColorPrv.b1;. l2 K* @, S" d9 s
// oˉè* ??à? - s& J4 j2 m- R7 F8 _
pLight->Specular.r = 1.0f;" F: y% Z0 A$ n e1 X
pLight->Specular.g = 1.0f;& e8 f. \7 k" o5 [$ E$ ]1 \ N7 q
pLight->Specular.b = 1.0f;
& o# @' }7 d: Q8 L; `8 D- C // àü?? oˉè* 4 _( C: ?) Q: U" ?, U$ M) s4 b
pLight->Ambient.r = lightColorPrv.r2;
- W* q4 b. b3 H pLight->Ambient.g = lightColorPrv.g2;( }' G v; W3 t, y' C% _
pLight->Ambient.b = lightColorPrv.b2;! L' x j5 f, w5 N
( ?3 A! v" k3 ^/ u6 O2 Y3 x
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.5 z7 u2 g \: o3 N0 x
{2 ^ m1 m6 F2 H3 k1 K$ b- s
pLight->Diffuse.r *= 0.6f;# }; a% |' @+ X Y
pLight->Diffuse.g *= 0.6f;: d1 m* ?$ K o2 k4 \
pLight->Diffuse.b *= 0.6f;
. `/ y% b& D4 J0 b pLight->Ambient.r *= 0.7f;
4 { A: @# e5 H* {$ B+ F& Z pLight->Ambient.g *= 0.7f;
( E8 o& P8 m- `- H# ^ B ~ pLight->Ambient.b *= 0.7f;
F1 [4 R! l* S% b& l }: u) ]4 d- W" D( C
? d3 J) u# f; ^% Y#if __VER >= 15 // __BS_CHANGING_ENVIR) O! }, z" D! V5 k5 s2 E
if( g_pPlayer )
1 m$ q7 p: N4 d) E O) w HookUpdateLight( pLight );
4 N7 c, I. r9 i3 y7 Q( H#endif
9 I! [' J1 F( j memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) ); |3 w9 k1 w) G1 ^) Y: I4 J
+ g* q- M7 Y v3 U& k5 x' P
#ifdef __YENV
/ I' V& X* B# D$ A pLight->Diffuse.r *= 1.1f;0 i1 x1 w) T4 C
pLight->Diffuse.g *= 1.1f;
) P/ n+ [0 }* T1 _ pLight->Diffuse.b *= 1.1f;
: N P$ G2 e$ J* m // oˉè* ??à?
. P% l, @& }. n4 E# p4 ]# ] pLight->Specular.r = 2.0f;" @0 `: l+ ]6 Z) l2 h
pLight->Specular.g = 2.0f;
/ G5 x1 f3 G0 I6 r2 i; B/ t pLight->Specular.b = 2.0f;8 e) y; G6 _3 x8 {
// á?oˉ
' Z' f; o4 i) o7 y4 M5 t pLight->Ambient.r *= 1.0f;
4 x3 C, S* a- w5 r5 G+ E! V pLight->Ambient.g *= 1.0f;2 O6 d. l- [) N* t, R7 ^# ~
pLight->Ambient.b *= 1.0f;
p: R0 O/ R) M9 f" S#else //__YENV
$ k2 Q" @8 U. x/ I" D1 `+ \! ^ pLight->Diffuse.r *= 1.1f;) z' A9 y. r9 o( h
pLight->Diffuse.g *= 1.1f;
- j7 f5 h* m9 E- C8 x pLight->Diffuse.b *= 1.1f;
6 d3 W6 q6 W9 w // oˉè* ??à? 1 N2 ?, `. Z: d( x
pLight->Specular.r = 2.0f;
& U9 V& j: N# d9 G8 J* v: P pLight->Specular.g = 2.0f;0 J a: Y' D( H C! l/ A
pLight->Specular.b = 2.0f;
( E1 x# a1 \. N* N* }6 Q* F# Y // á?oˉ
( H7 s4 b. P6 c% [ pLight->Ambient.r *= 0.9f;, m/ f5 o' o b* ?! l) \2 |
pLight->Ambient.g *= 0.9f;: K# @( E( P9 d q
pLight->Ambient.b *= 0.9f;
, n/ e! k9 H+ `. v#endif //__YENV % f, u( G# W/ z* B
8 X. I& l$ E- |" U* ? memcpy( &m_light, pLight, sizeof( m_light ) );$ a- S; ~' }4 r# b# T0 T" y1 c
1 `4 q" w j$ q" C5 x: h8 b
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);: S3 A" m8 v% r b$ H
D3DXMATRIX matTemp;& o5 O* [# ?4 U8 D3 V6 I
static const float CONS_VAL = 3.1415926f / 180.f;
& b3 Y) e- e% R: ^
5 X! n: X j& D/ j- [3 B D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL); M U! B5 a% y* |, i% }1 _# ~) z
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
; U* L4 q. _4 }$ q pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 4 F3 Z) M1 E! A, X( }
pLight->Appear( m_pd3dDevice, TRUE );
' p# D3 \4 N! j7 u' e* m
% j) w: C. _# C/ x$ F3 U7 e) u0 j // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);$ F4 m3 v! I' m* ^# h# G" n
// D3DXVec3Normalize(&(vecSun),&(vecSun));4 e( V! F2 ~# J2 a" F
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
% }" y" s) x4 Q) z
1 o8 x5 _2 u* @) o# @6 \ DWORD dwR, dwG, dwB;9 s. e, @6 T2 K% m7 v! V
dwR = (DWORD)( pLight->Ambient.r * 255 );$ k2 g% h7 {% R! C) D
dwG = (DWORD)( pLight->Ambient.g * 255 );+ g' o: Y% I# g/ [
dwB = (DWORD)( pLight->Ambient.b * 255 );
% D, ~* e M) G5 `1 |4 u dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# c' s; M3 E, ?% X6 ~ }
, w, i; a* u2 ^! m8 A4 J }
0 W" d5 a K% n* c2 \9 U( x
& w( c/ s. e5 g. b; H m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );( H) S% H8 L2 D0 T* T" c5 M8 U, o
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 e: K# y- ~! k5 A" b$ C
::SetLight( bLight );
: O8 @/ n+ G: t1 H$ z! p
6 u% L; p2 `9 P/ | // ±ao? ?D?í???ó á¤à?
$ Y" Y$ A9 r8 a4 ~. ?% J' h m_pd3dDevice->SetMaterial( &m_baseMaterial );( M& r: @) L$ u3 c* e' {( Q7 U" B4 y
9 g5 x6 s" A% A. r$ \* a/ j
#endif // not WORLDSERVER& j. S% Q1 J/ n. s* r' C4 E% ^
} [$ x4 y+ I/ s. L8 f
并更换
* ^' l' J2 t: E/ l- q, PCode:. ~/ R1 C+ u) x' F6 y- G% z8 |7 g
__FLYFF_INITPAGE_EXT% F: d7 V0 V" ^) o
定义5 A- X9 x& `/ x3 U1 Q+ e
) `- B( K; z, s
+ z. R/ ~- ?1 v6 p7 i" V
" c# ]/ X5 C4 [7 Y
+ V! t8 Z5 ?3 G' P
现在终于删除我的狗屁加速...; w& T1 C! z1 b# |( d' ?: w
7 b6 f( y* J, r1 {* r" J
4 J0 K- C( t Q' g
5 b0 \& X2 b# B$ v& U& d6 ]' @ |
|