|
|
食品车:1 P& f' _, z- X- q: V# E% u
尾翼:
9 m3 @" |+ ?8 Q" `( W5 Z% u, w& J
+ ?& f0 I( y0 K4 ?) z0 S! e代码:, w O6 k/ ^4 Z/ p& O
CWndAutoFood::CWndAutoFood()
. J7 D2 K6 o3 A8 L{
4 f$ G3 c: G* M- K0 [, G$ U1 N1 b m_pItemElem = NULL;6 l) M- N3 B" F: ~
m_pTexture = NULL;
4 i: o: K* Y" S4 P bStart = FALSE;
8 B# ~ E4 H/ p}
9 A) W V* j' C4 q1 x/ }5 A2 ] `6 r. q
CWndAutoFood::~CWndAutoFood()
) R P" F- D. _) q7 {{: a! R2 V; y1 K: W3 v5 @0 X
AfxMessageBox( "AutoFood ist gestorben " );
( F2 d& E; c' I}
" t- c( f" y- I& C8 _4 h! }BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
+ { k0 X+ q, e. i, }& M& I* R* C! V{
5 ^% [: h$ d6 Y3 G return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
7 g1 O4 m; W! T! Z0 `$ i}; m! M- \; d) ^5 B
" [9 N6 x" p6 H) h4 YBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
) Q' S1 o1 i) ]. y{
# T n$ [+ ]( l* d2 V4 p- w LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );0 n7 y7 {6 A/ Z) p6 p/ K' A
CRect rect = pWndCtrl->rect;0 ?% c7 ~1 N4 ?( n
if( rect && rect.PtInRect( point ) )8 d; p5 I2 }2 h8 P4 [" h
{
# Y+ G3 A' p! S* e& }8 W! \: q CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );* A/ G2 y5 p# D! ]( t) Y2 ?) ~
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
5 F5 l: s, M% S% w! Q$ C6 E- s* T {
* p* m/ V' K6 t! X4 Z" R* m if( m_pItemElem )
+ @: Y- i% j4 p+ \0 e {
' { k$ _, W0 O4 D# p( K m_pItemElem = NULL;! M T, ?0 b( _) q; R ~- g* `
}! b0 v( U$ I( m4 [6 a
m_pItemElem = pItemElem;
* f. U& S% F: ~- n. f' S6 S m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
9 w+ I& C/ {/ a g2 |6 O }else{/ s/ A3 m5 F6 G. w' M$ L! G3 M
SetForbid( TRUE );+ X& y( e/ A2 V
}
: ^' u' C" o. c& r: u }else{
8 ]" C3 Q& s- o7 g: S% J4 F SetForbid( TRUE );2 G( g, {1 N; L# ^6 ~
}" G4 s6 u& A, L2 k+ g
return TRUE;
4 \9 S* M5 f; t+ u8 b; b' D}) ?- \+ ~" F1 @) n5 `" j1 t
: g" f6 o4 H) R. l: H: |
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )) D& t/ T3 }$ t( ~3 F" f7 O
{5 u4 Z& o+ s1 z0 w& _9 d
switch( nID )$ f. g% i+ ]. r& @- m% S
{
- A6 o1 V' I: a3 {% E h3 [ case WIDC_BUTTON3:
$ K ~) i* r; I4 b$ e {
3 N* z' f5 c7 z7 ]/ g9 Z# R bStart = TRUE;
8 f" @& p( G( ?% a7 [ a break;# H' n$ c. d- R: x
}
# S5 |" M- `, H: q, a% p, f+ B' K case WIDC_BUTTON4:5 K2 t! M1 n- e& @. Q6 n* R) d
{: A' O, V" R; |7 x ~1 g) {7 C
bStart = FALSE;
: H; f+ n% F' x, j/ V: [2 j, I break;6 V3 W) o* T2 f# ^, W6 t S
}
: v* e$ Z% E$ I }$ a, a9 h0 u* X; G3 Q8 h3 s
return CWndNeuz::OnChildNotify( message, nID, pLResult );" F" [+ n0 }7 K
}
1 t9 V; ]) c1 Z G) Z; \void CWndAutoFood::OnDraw( C2DRender* p2DRender )4 U* A1 z* b& f- z, i' K
{
+ S0 S; B/ R$ @& R: L7 y CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );4 K2 `. r% f1 G8 [- F4 d E+ |
if( bStart || !m_pItemElem )8 y' u U( v; v$ j! k8 ]
{
5 p2 ]- v( l( u" m pBtn->EnableWindow( FALSE );
' T t+ _! s6 B }else4 `- o5 ? d$ Q+ X+ e
pBtn->EnableWindow( TRUE );
8 ^. Q7 \9 m# S+ R2 Y) [- X if( m_pTexture )
1 \7 ~ Y( v! s4 x {
, M; v' c$ f8 Z9 V9 @! Q, F1 g LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );% _! n$ a& k- B3 e f$ X* l
if( wndCtrl && wndCtrl->rect )2 k0 O7 ~& F2 `, g$ M9 Z
{, g# j1 E4 r' K: J I5 O
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );% u' u, k8 E. Y1 y1 K
}/ ~) r$ D* y$ a) g
}
! d u& @; M' B}" V, ]& O$ t4 ]' q! J5 J
6 q* G- X; b( `% S8 j2 IBOOL CWndAutoFood: rocess()6 E( @% ]# k: p( K* `3 L
{7 y( ]6 d; K; P% y7 \
if( bStart )! V/ P5 T5 G, j6 c8 [; N8 M
{2 O+ \$ M; J4 t& T" u1 G
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )$ }& v* ^* w1 L/ w) P- t
{9 l6 |9 p# q) }: y
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
7 ^6 J+ G& V/ M s1 A3 n9 s3 I g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );- k/ K; O. A0 C# ~4 J9 z/ M
}else{
% x( r2 F: \9 d0 H& J bStart = FALSE;* `6 I3 }( a+ ~( S. W8 R
m_pItemElem = NULL;& ^/ i# L' o# |- G$ G ^9 q# M
}
l/ f. |* l o6 ` }! }( D, k+ Y: C M/ E! ]- k. P% V. w
return TRUE;
n/ I4 I, {- f/ L}0 ]8 ]: Y3 d* e5 ^6 @
" b& t" B0 T8 M" V0 M登录视频废话:; }* b' j& ` c+ k, B# p8 f: W- W
尾翼:
+ v6 g2 `$ i" p$ d; w2 g6 s4 w) M/ l c! V$ E' q
代码:) q$ l9 Z6 v9 u# S: M2 ]7 e0 Q
/ S+ D, B! @! h m8 y, C+ _' s& G2 ^void CWorld::SetLight( BOOL bLight )6 S4 K- b2 w3 e" a7 G! r5 C& L
durch! G) g- B9 \# X
Code:
1 ], T& }. _9 f+ B, Lvoid CWorld::SetLight( BOOL bLight )4 Q A- N, i8 C, s
{3 m" O% A% Z% ~! x" D( n, v
//ACE("SetLight %d \n", bLight);9 A0 l4 X- ~ }( I1 o6 W T. c
9 S2 Q( O# b9 W' J: ~
#ifndef __WORLDSERVER
3 `1 W2 B o* Q$ x% G- W5 v4 I1 I DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);. ~, g4 x7 W/ E- P
CLight* pLight = NULL;
$ ^$ W" E+ W8 ^( p" Z( {5 {' L) E! h3 R
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
9 D5 I- w4 X! i' D: n; ^
# i* ]: n* l6 o6 w$ Y* m' w pLight = GetLight( "direction" );
) c% K0 ?, j7 n! z! n5 y
, G7 q) U; O* ~) f" ]' ^#if __VER >= 15 // __BS_CHANGING_ENVIR! o; V. ~/ g; N8 c
if( g_pPlayer ){
# V! K! g- z+ @9 k8 d S5 b ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
|0 t. l; L* E6 O! y/ U if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
; T: a( H$ K1 u {9 L+ t/ T% I4 p/ V. k- s
if( pLight )
( ^9 q% x0 N( m+ Q/ a {
* {& D2 @" Y$ H+ A2 k4 `8 r( W( _ pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
5 [: N8 \! z: n3 m0 r7 z pLight->Ambient.g = pInfo->_fAmbient[ 1 ];3 w1 j+ ]6 [- J$ d- }) O7 f
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
9 u) U9 A. O8 K+ ? Q1 P# n, Z& G' A# U4 G! }
pLight->Specular.r = 2.0f;) t o% E# S; |" j, C; p
pLight->Specular.g = 2.0f;$ V3 k6 v4 ~5 M/ {5 L
pLight->Specular.b = 2.0f;# i% |7 ]4 ]7 z4 X
5 t% }1 S, V# d: _( l
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];4 k+ F+ J* K; Z9 L
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
9 \& ~4 S/ t" n4 T pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
" p+ i. @4 d' a, K) @# @0 p# ]
1 f8 F0 R6 G* F: O/ F% r% ~ HookUpdateLight( pLight ); : F: o+ g; i* s G/ K
; X* ]8 }# } r0 _3 W
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );* }" H+ o: b8 K
: A8 U4 |# b+ a& R
pLight->Diffuse.r *= 1.2f;
1 m' b6 G1 a5 J& l pLight->Diffuse.g *= 1.2f;
4 |3 i m& N; K7 f( l pLight->Diffuse.b *= 1.2f;! O4 H$ Y ^* s4 Y* Z1 E$ h
4 \9 Q$ n) B/ H% c
pLight->Ambient.r *= 0.8f;4 R0 _0 B! G& s9 v Z! V! y
pLight->Ambient.g *= 0.8f;! I& D2 Z% v2 B% E" _% X% m: Z
pLight->Ambient.b *= 0.8f;
! W% S+ H! K& p. l
+ U6 ?! i' W2 ?2 Z' l memcpy( &m_light, pLight, sizeof( m_light ) );& b9 r0 H6 w, h- ~$ }# {
: i0 R# B1 O3 X* }! d; F" a4 T' q D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);1 J8 d( _: b8 D, x
D3DXVec3Normalize(&(vecSun),&(vecSun));" ]% O1 a% x4 t1 `# D; T8 s% b& p
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
+ C( J$ B2 i; {6 j; M3 ^7 `& ` pLight->Appear( m_pd3dDevice, TRUE );
& t3 o5 R8 H7 b8 ?" r+ U/ E 1 A0 A% K, T( d
DWORD dwR, dwG, dwB;
# Q8 s+ A5 s* F dwR = (DWORD)( pLight->Ambient.r * 255 );
: s- Q2 ~( k5 w dwG = (DWORD)( pLight->Ambient.g * 255 );/ c( h* u% Q; h3 ?; E# v4 k
dwB = (DWORD)( pLight->Ambient.b * 255 );. \% e9 F7 l" w; s7 K
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
4 \# M4 W! I; s" a3 } F }
& i$ m: G. B% T% G; N7 } }
7 |7 L0 [9 L5 r0 m3 j }% n- R' D# Z' b3 P. I. D( d8 ?: m
else
/ w+ W9 P3 b6 q#endif
3 r9 G( u6 e9 C4 A9 O" P6 _5 J7 ?9 I7 _/ t/ _+ {$ f
if( m_bIsIndoor )
3 _) r3 s; d( V/ L1 {, O$ ^ {6 j8 @ m; V" v+ Z/ i
if( pLight )
( _9 O n4 m; R: R# w- n7 | { , F% U/ ~2 J" S" W4 ^6 S$ y* J s
// à??μ oˉè*
4 B0 y1 h; l0 l# Z0 F( F pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;9 Z0 j' ?$ @5 c5 y; x- a" h
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
6 y ]4 o2 i/ R! N# @5 y pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;( V% @( G* T# ]0 P Q
" a! u# v- Y6 P5 E$ s% _, U // oˉè* ??à? 3 ^: }7 ^/ x' [5 ~- B9 _
pLight->Specular.r = 1.0f;
4 ^0 B, V3 H( J pLight->Specular.g = 1.0f;( |2 T) h& y" R
pLight->Specular.b = 1.0f;
8 c9 n! u2 k, c8 V- X- R // àü?? oˉè* 4 y) [- O* P ]( s
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;' D- k' }/ r$ U5 g, H6 q
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;' z9 P' ]2 s. Y6 R1 X r
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;# h1 {( }" O8 q7 F3 A; s8 _6 @
" E% ^0 E) @; ?5 d/ `
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# b' ^$ O; _. T# Z/ T' a+ L% J {
5 p% \$ A+ o9 a2 q pLight->Diffuse.r *= 0.6f;& A& [" x, X, P, U" ?0 ~0 g2 n
pLight->Diffuse.g *= 0.6f;
) B4 k5 ~0 v" A4 l+ a# q pLight->Diffuse.b *= 0.6f;
$ p7 d- C! h' }% w z0 x% R, | pLight->Ambient.r *= 0.7f;. Q8 ~1 W% p8 Z
pLight->Ambient.g *= 0.7f;+ ^5 u- i! T$ p0 V
pLight->Ambient.b *= 0.7f;, i4 M* D' P+ J
}' \( _) F( t5 b# o* r A
5 P6 ? G- y2 _#if __VER >= 15 // __BS_CHANGING_ENVIR& g) ^% [) r9 L
if( g_pPlayer )
7 E1 X7 i. U+ \6 w5 ^ HookUpdateLight( pLight );1 b! D. I5 {9 G* Z' S
#endif
! q+ Y0 F8 X: D+ F3 o0 }$ [ t& @ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 N4 w; U0 x, @0 y' S2 Q% a2 E* E; W2 v' {. f! {1 I2 m/ K
pLight->Diffuse.r += 0.1f;
1 V) ~( h$ U& b2 t" C pLight->Diffuse.g += 0.1f;
, L$ b# N7 I. g. R! s1 q pLight->Diffuse.b += 0.1f;
7 Z. j- k2 S7 Z( \6 z) { // oˉè* ??à? . `( ^7 T. S" G8 e* T7 u
pLight->Specular.r = 2.0f;, |4 \% B1 f) i5 i, {
pLight->Specular.g = 2.0f;7 {' j9 V9 V9 i# N+ S. D& b
pLight->Specular.b = 2.0f;
( a* S* P4 r; z1 Y // á?oˉ * v8 d+ d" A2 Y7 E+ [. Y- J# d& o
pLight->Ambient.r *= 0.9f;8 R) X6 F: L x' I1 e
pLight->Ambient.g *= 0.9f;
/ |- d' N+ `+ g pLight->Ambient.b *= 0.9f;2 \3 ]6 B2 i, k' E( d
. E4 Q7 ]+ v) y C0 ?- K y memcpy( &m_light, pLight, sizeof( m_light ) );
$ C P$ T/ F ], p" }
2 T7 k$ A+ N, `2 |7 G) B' G7 _4 E pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
1 ?; S: F! V$ i8 \2 m pLight->Appear( m_pd3dDevice, TRUE );- J+ x+ c2 V6 l+ r, u
1 T. [1 `6 t* `) J9 d$ @ DWORD dwR, dwG, dwB;. ^* }* z3 X& `$ c
dwR = (DWORD)( pLight->Ambient.r * 255 );0 V% Y) D* M5 R/ \
dwG = (DWORD)( pLight->Ambient.g * 255 );
% o- {7 g8 i8 N( h: ` dwB = (DWORD)( pLight->Ambient.b * 255 );
' U- K+ P. {8 ^9 ?, p dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
$ h# B9 R# I( Q. ^4 g }
8 c6 C, e# K0 c A I }
# Q( V$ x( R6 V( w( h else
; q* Q9 v' U0 @8 Z {
: A! ], Z% G% N! u6 S( y. a if( pLight )+ _) s% \. ]4 t) Q# c
{; O2 x1 n. z2 A5 E
# ]6 D U$ P% @ int nHour = 8, nMin = 0;
5 w" N% x, |2 x8 U$ B1 W! { #ifdef __CLIENT7 \' W, s0 w2 L1 Y
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
/ ]6 k2 G8 r1 h8 Z* L+ Z/ r nHour = g_GameTimer.m_nHour;) R2 v: d) d/ o" O$ V) N' b
nMin = g_GameTimer.m_nMin ;
, z( L+ O, z' c0 i7 V: Q; ~. u #else
5 z- l& h, a$ z // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
. E# H) q; j1 {) Q$ F! c0 X if( m_nLightType == 1 )
, h0 H/ b, |. J' c; ` nHour = m_nLightHour; J! m/ T) \0 @
#endif
' }/ i% @; m9 A: g nHour--;# m% Z1 n. t* a( {: f% R+ r
if( nHour < 0 ) nHour = 0;
4 j) P( A! h8 a; A if( nHour > 23 ) nHour = 23;
3 b7 l# V, S* i; a! R! m7 Q
0 ?; V5 l( w" t8 t! [, C //if( m_bFixedHour ) i# W3 m' @$ O) s. s! L
// nHour = m_nFixedHour, nMin = 0;- n e3 F) M8 q
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];+ t: ]( M+ @1 G
LIGHTCOLOR lightColor = m_k24Light[ nHour ];* ^% @3 q( d" N5 W9 G4 A% Z( V+ \7 q
) Z/ w! J7 h+ b* O+ p //m_lightColor = lightColorPrv;
" s' M4 |7 P1 |* k9 Q7 K* ^ lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;6 Q& [8 ~ A6 W v/ o% V4 W! I
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;+ Z( e" C9 M7 C7 `+ }9 [
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
. H- J% O. k$ c# A$ R; t3 B lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
5 e$ O* l2 X, v8 y3 L$ J' @: ] lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
: t$ W) D! [- s& R$ o, Y, S) L lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;6 @+ D G/ o5 A
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
" a% X _ J" |& o+ T7 Z! A: V4 K% K$ k5 H" i( m3 K. B
// à??μ oˉè*
4 P8 W% y, y- w- U pLight->Diffuse.r = lightColorPrv.r1;
- L7 B! q; d$ x. E( L9 S pLight->Diffuse.g = lightColorPrv.g1;
' P$ |' L6 K# _( |3 g% b pLight->Diffuse.b = lightColorPrv.b1;( {2 k( O& Q( O( _2 B% e3 g- s0 X( o' z
// oˉè* ??à? . H; A8 E f- V
pLight->Specular.r = 1.0f;6 |' B5 c& e0 i$ d6 c
pLight->Specular.g = 1.0f;
1 V; d3 D# A) o7 e: e8 h pLight->Specular.b = 1.0f;
" j# d# W: ^' e: O1 n* ~/ b6 o // àü?? oˉè*
0 i0 @( N! ^+ [# Q5 g6 c/ s pLight->Ambient.r = lightColorPrv.r2;9 q7 b# E. U6 m; \# V
pLight->Ambient.g = lightColorPrv.g2;. R; g6 N9 F) r6 @
pLight->Ambient.b = lightColorPrv.b2;
* V7 y* z7 k9 I& C5 i1 R$ N Q+ d6 G% ^8 O6 L( I; S
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
" j( ?, g- q+ j" U8 h {
6 J* f0 I9 \) g7 H; E pLight->Diffuse.r *= 0.6f;' V# D$ I1 y7 Q. l, D
pLight->Diffuse.g *= 0.6f;
. b# D" l- M$ ], W. Q pLight->Diffuse.b *= 0.6f;
" X+ N ^; Q5 G- Y2 G/ E% _ pLight->Ambient.r *= 0.7f;
" ^" B# M) v6 ?1 [& i pLight->Ambient.g *= 0.7f;0 C& M; J4 l* l2 g% t' ? i
pLight->Ambient.b *= 0.7f;% a7 q9 g" f+ p0 S; E2 r
}
" M9 I" ]6 @8 I- r
/ x& U- l x# |' w+ u& k#if __VER >= 15 // __BS_CHANGING_ENVIR; J# Q9 k8 F4 k& u, @6 |! G
if( g_pPlayer )
9 ^) e; G1 ]1 i* X+ e/ h5 B' o y HookUpdateLight( pLight );
, C2 }6 Y3 r6 D7 i& N; j- n#endif
$ l- \% d: i. u. B# x& H& b- O+ n memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
' t: g) N9 W7 Z v3 U2 D
# ]# [+ Z8 l" R7 h2 M& Z. J: U* i#ifdef __YENV2 ?# {# v) ^' S! e
pLight->Diffuse.r *= 1.1f;
6 _5 l ~1 \' [+ u, n3 H/ \ pLight->Diffuse.g *= 1.1f;& ?" G" T |! ]. t A3 h l+ a
pLight->Diffuse.b *= 1.1f;
* g/ N$ G4 u6 v" }* _3 i9 X // oˉè* ??à?
9 o. [/ }) @6 e. X. e2 q. Y pLight->Specular.r = 2.0f;
* K. R8 i1 G1 D; N7 x pLight->Specular.g = 2.0f;! f' b3 u! k) d7 {" U
pLight->Specular.b = 2.0f;: z$ p+ t8 |( g' l9 h
// á?oˉ 6 D* }, Q u+ l; m6 L5 S( C' x
pLight->Ambient.r *= 1.0f;
: E8 ~/ y6 X( ?( ~. q pLight->Ambient.g *= 1.0f;
0 i" p$ o3 G# S6 Z R3 I+ l# F pLight->Ambient.b *= 1.0f;8 g7 p0 s( T# C9 |& ^7 M2 T
#else //__YENV0 R/ }& R3 p z6 b2 n
pLight->Diffuse.r *= 1.1f;3 X$ m0 `. [5 Q. v* \, i: m
pLight->Diffuse.g *= 1.1f;& V4 I. W$ H6 @/ _, J
pLight->Diffuse.b *= 1.1f;1 ` w- Y# x: m, D$ y3 ^1 b- F
// oˉè* ??à?
[* E# \% C2 K6 g pLight->Specular.r = 2.0f;
" U& {7 ~9 T! C' ~( H" b4 C/ S pLight->Specular.g = 2.0f;
- Z0 c5 i `( z: ^8 b pLight->Specular.b = 2.0f;
- r3 n8 [2 T0 z* {7 ]3 F9 p2 ] // á?oˉ 3 L- X# V) W5 Q$ Y; b, l$ k
pLight->Ambient.r *= 0.9f;
2 q4 }; C& t/ `# I" H- Y8 u pLight->Ambient.g *= 0.9f;
* z0 _7 |; }- [6 h q pLight->Ambient.b *= 0.9f;6 n! m. N" Q" }
#endif //__YENV
q/ M6 L9 S6 H2 h+ Z; r ?5 [ l / w# ?, V c) t1 _9 X E
memcpy( &m_light, pLight, sizeof( m_light ) );
9 K9 w+ F6 A" \! H% X 1 l- d- O7 P6 k/ W. x2 d. t
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
/ J, H1 T& f. r# f6 i1 ~. O D3DXMATRIX matTemp;! b2 ~6 m. D7 S, t( \% `
static const float CONS_VAL = 3.1415926f / 180.f;7 ?& @3 I' h& A, t; l9 U
0 x$ C7 i i C# k9 A& o! v1 ? D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
9 [0 ]# I! V, Q9 s1 v( k D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);5 N5 H5 ]: n* v2 ?$ {! N
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); ) U- f* X% E% S; l# J& ]
pLight->Appear( m_pd3dDevice, TRUE );, T6 J" P5 G0 E: x( `
2 G4 @ ` r. y( I1 K& n7 H // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);( p+ \4 j- w9 q9 a+ ]# o
// D3DXVec3Normalize(&(vecSun),&(vecSun));* |) {9 @) i/ Q* L k! z
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
2 [9 ^4 _8 F G* Q" n/ K/ P" V5 |7 U
7 G0 n% l, I$ }+ g U; {. L9 z DWORD dwR, dwG, dwB;
3 Z" o. s6 E8 G1 g4 C9 G+ V dwR = (DWORD)( pLight->Ambient.r * 255 );
7 {0 {0 p3 I2 e( ?, `( U4 r dwG = (DWORD)( pLight->Ambient.g * 255 );, r5 v/ c9 d% }6 Q; C3 X! {
dwB = (DWORD)( pLight->Ambient.b * 255 );
" L" n; t( A6 D) D, O; g dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 5 h9 }% c. g! `4 {5 C0 A
}
8 z m* n/ D3 q* S }
- m; Y+ w6 |! L( B: z% e* x2 `. P; n! O6 i
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
- X- g4 o3 V" Q2 a" [5 z 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) );, l, r/ e" @/ C) T' {8 j
::SetLight( bLight );8 l* R8 d) g5 _0 n F* f" z
J& v1 N0 H/ I // ±ao? ?D?í???ó á¤à?
' e1 ^: W) T9 H m_pd3dDevice->SetMaterial( &m_baseMaterial );2 o2 w+ b- `' Y2 z
2 F: `, O$ ~ t
#endif // not WORLDSERVER
! Z; G6 d# ~" `( D}- V& ~4 H! @% T! N
并更换
4 Y. V3 f0 f, sCode:/ U' R2 e0 X' H) M* v- }
__FLYFF_INITPAGE_EXT* s# I# r4 k0 p! ]2 |( y
定义
5 H1 L: h; @- o% D9 U1 ^; ` v% _+ `# V
0 ~( A/ @9 ^: L f4 }$ r. O- j
4 q& ?# e+ p+ Y, B; r4 F) t1 n
, Q, y* s! |' g& g现在终于删除我的狗屁加速...
\& z( v6 B5 h! G5 e# z) o0 C1 c+ D% q' u
: W4 [6 ~5 @" F
5 J/ U1 u9 a# M! l
|
|