|
|
食品车:6 \$ ~7 y4 L, P) {* R
尾翼:
% a2 Q4 b# C. P' \/ C" K c. f. |+ e! X+ Z1 Q
代码:
$ q1 {, o& v t5 MCWndAutoFood::CWndAutoFood()
+ k% P R9 Z0 s7 r7 {{
! A1 ~! s4 _; Y m_pItemElem = NULL;
1 l' V% B6 F/ N- Z# z- \ m_pTexture = NULL;# q' s& ~( T2 {0 g! d' ?" e$ p7 B
bStart = FALSE;
- R7 t5 r0 }! o7 c0 E0 g a3 \}
+ U9 `0 d% k# P! O4 U2 v) X
& Z& G' h% w( f! xCWndAutoFood::~CWndAutoFood()
- H2 B$ z3 w, A( V, G4 \3 A$ g{- A8 x3 x. e' h* {
AfxMessageBox( "AutoFood ist gestorben " );: N6 C4 \) \5 I* K) Q) v7 w8 x
}1 |4 A$ k& n1 r0 `. T7 q; `
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )/ r; T2 g+ t# E. m( F! ?
{
3 {0 l) |! K+ ^, K return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );# K& X! s5 j! |- u7 M; a0 ^
}
( o/ _3 M' \- {. P, X) @
" [* J. _' o6 d# UBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
+ F% B* I. q" Z1 Z* S/ _' K{
" T+ s0 H8 Z J, ? LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
1 C- D) p# W1 x CRect rect = pWndCtrl->rect;2 @, ]9 u9 j! v
if( rect && rect.PtInRect( point ) )% ~# J7 o2 {! e$ E. y+ e
{6 ]: |5 H8 T4 C" r5 V
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
6 i0 ?: \- ~ c. H% Y if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )" d9 S+ h& s' @& A* R1 H
{
, e7 [# Z/ ?, f0 k! O7 ] if( m_pItemElem )
' X# p" Z6 V8 d# C, R8 i$ ` {: T3 `8 o+ V' d* s2 y
m_pItemElem = NULL;
. i8 g) X j8 i) a4 S }
' M8 l" t: J6 s8 ~& a2 G1 _& @ m_pItemElem = pItemElem;% Z+ n- t# S3 C6 a
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
3 F3 O0 M, V l2 h& y0 f! e }else{, `. g ~) R8 F5 N& o4 V: j! X1 D
SetForbid( TRUE );
6 J" {, v. j( _; u+ D% h }* z H# M F$ f: m# \# M( S, b/ f
}else{! M* S+ U) w' D/ _: Y$ K
SetForbid( TRUE );
& [) D! \+ Q$ ]0 o7 Z6 Q7 p }- G9 M# |% q0 r
return TRUE;% I5 A5 ?5 M8 e3 d, {# V) _3 S
}! ~/ g5 P$ D4 M9 G! J! t0 x: x
) i1 }% C/ G9 S& s0 z" n" d7 }BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
/ g2 L4 [) ]# k$ e& j{
1 _/ z+ R3 y) k1 B: b7 T: E7 W switch( nID )5 a) O* T( @- n# I/ [5 {
{
G2 k$ v5 c6 n2 Q+ `. K case WIDC_BUTTON3:, ?7 k, @% q6 \) F3 ^$ v" R8 {, s8 p
{ S, @. j3 |5 p+ _0 D
bStart = TRUE;" e9 c- L0 _7 m4 s1 v6 m3 l
break;1 [: \- x. k4 V. [3 o
}
0 Q) I6 w& F3 U# T case WIDC_BUTTON4:
6 P# Q% I8 a3 x( v9 w, w; h {
- |' u& h6 p5 K2 E bStart = FALSE;, P) Q/ z& a8 J
break;
! }1 Z, N9 ]4 Z, B }
% j* L7 N- e0 u4 |4 k3 ~& f }
1 n. L" \! {2 {; b- c return CWndNeuz::OnChildNotify( message, nID, pLResult );
]4 C' H, y$ Q! q' X3 u8 v8 [ l}
$ F. D# u3 N+ yvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )8 b/ e1 V; ?! N, K8 [
{) ^: S9 i5 K1 G! [" J% z% i
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );5 L! q) n- d4 ]6 b4 W0 i$ |
if( bStart || !m_pItemElem )" z" u! R) ]! f
{
4 @/ l0 K6 z5 r. g; F0 T5 v pBtn->EnableWindow( FALSE );6 f/ q! x+ m; q( C0 j4 S9 G, @5 {0 I. q
}else
6 y# x. @ Y7 N/ w pBtn->EnableWindow( TRUE );5 C' d% ^, L1 t5 o: n1 ?" s( [
if( m_pTexture )' `2 P* W1 }2 l. ~
{. q9 _2 @# p, Y* p$ f) O3 g- Z5 k
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );, J9 }- C) m# n8 N( i+ g
if( wndCtrl && wndCtrl->rect )) C! o. b- F6 r
{
[: F& x2 N- b+ x; w5 k$ m m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );8 j: ]7 i# b. @- S3 a
}
$ B _2 I; n5 H }- u( G O1 B* p: a2 q6 p8 a2 k
}+ o; t. K$ x7 C6 \9 e/ Y5 d
. h; l7 ]9 F% |: f1 j6 K0 [, C3 h
BOOL CWndAutoFood: rocess()& c; f, v. `, n, m
{
' Y& ~4 S0 b _! v if( bStart )# x2 m. D/ L Q5 `
{
; C+ J9 n0 v) s3 e2 T if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
$ A6 I1 a6 N$ ]$ {* t3 Y1 A {/ e/ M6 m* r" M' f) w
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
& R7 j: k9 m; K3 ?! Z+ D7 i7 U g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );; D: m. L0 e5 Z# M: y4 L! V
}else{& h. n3 y: _2 ~$ G( L2 B
bStart = FALSE;! _1 P3 a9 o: |$ L0 Z
m_pItemElem = NULL;
- k, F3 G9 J- V9 ~/ _% g! z }; x6 D% B. ~0 l9 S# b; I
}
5 w; q! f; V0 @9 ]5 [ e/ Q, c+ e return TRUE;
/ o" s- C6 S+ m" S( w! d}
0 \6 |3 F x) m2 w
& O- `# C. m* ~0 O ?+ p( S登录视频废话:
1 G( z" G5 S+ Z8 I. @ S尾翼:" i- G. q3 l( p3 A- K/ B
5 ^+ R5 x- Z) |( B8 U
代码:
! `. |+ e( I, L$ k
+ f! a# A. m- W6 D+ V, d) xvoid CWorld::SetLight( BOOL bLight )1 B$ |3 Z# V+ M2 j' V
durch, I8 w5 K0 N* S$ b) H
Code:* _6 D0 I# m* i* P( n
void CWorld::SetLight( BOOL bLight )5 u4 ?& n- J8 F6 f$ ]
{
- ~( D M& [% M* [ //ACE("SetLight %d \n", bLight);
4 g+ v# R' K( E+ ~
8 S$ C+ k( J4 ^- Q* X+ Y#ifndef __WORLDSERVER , `9 Q0 l1 ~1 h. T
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
) b6 N1 k7 x2 ]8 D$ O1 I( y CLight* pLight = NULL;
' M" n! I. Q9 X7 X: m; g3 H' I2 f4 K1 H
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
4 [/ t2 |& y( M9 y+ M4 s- l* I* i( V
pLight = GetLight( "direction" );" b% D# i" U; d* E1 g4 Y. ?; V
- X8 Z6 `$ r8 X d
#if __VER >= 15 // __BS_CHANGING_ENVIR
- @: x( p' ]! ^4 o if( g_pPlayer ){& K4 K9 B S- M1 M
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );# k, f. i/ ~2 U1 h4 R6 q: j. [- o
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!3 B5 y4 L! m$ p9 D) [/ ~6 b+ z
{
# r3 s6 K! p+ y- _( |" U if( pLight )' |7 o! |) w5 R5 V7 ^
{' L: f d' }5 `* H9 d9 y' O9 S
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];/ j% i$ e2 V3 C' U; q
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];0 ]' n. v4 {: V1 ] }
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
: w% z* `( g! M; M% \, |" x3 z; m, T
pLight->Specular.r = 2.0f;& V! J1 B/ Q! m1 x
pLight->Specular.g = 2.0f;
' m; _8 m* m* n5 C pLight->Specular.b = 2.0f;" d. H1 m8 V! f: g
. t/ C; l8 V) a4 j' h7 s: X
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
1 V+ _5 ^ W) H pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
4 b: G' k0 L3 A pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];# w! z* t: N! p: C' r4 T
/ [% d( M7 A2 g+ U- b HookUpdateLight( pLight ); & k% v; V8 u, [! y
9 E. k' Y* U+ s p5 b% ?
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );: c# x, ]# d" \+ Q- f# d. v
4 {. n0 a( H3 q2 r$ `( }' w: h pLight->Diffuse.r *= 1.2f;
# D0 E: e3 @& J. m- Q0 e pLight->Diffuse.g *= 1.2f;1 e3 G! g, d& Y! l- \4 n& ~
pLight->Diffuse.b *= 1.2f;! j( F H8 J1 N* D
4 ~/ X/ N, T$ e6 @5 P7 h
pLight->Ambient.r *= 0.8f;
$ T1 y& l, s; o' F: t+ X5 Y! | pLight->Ambient.g *= 0.8f;
6 @% G. Y$ l% [2 I" g' c% x pLight->Ambient.b *= 0.8f;! o$ {7 t) V& H- X3 ~. j8 @
% K4 e9 p& w1 F$ m* ?" G5 h memcpy( &m_light, pLight, sizeof( m_light ) );3 k! \) T' v: E t h
% b6 {8 `: r( f( l4 D
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);! N: e2 D* E4 H( v; ?4 l
D3DXVec3Normalize(&(vecSun),&(vecSun));
, s; x( d# R8 G! o* `' J! x pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
5 c" v9 {5 S( M1 }3 x8 ` pLight->Appear( m_pd3dDevice, TRUE );* Z6 y3 _6 f0 p/ g: A: V
" o) P! Y3 e; {2 G& t3 G/ l2 E4 V
DWORD dwR, dwG, dwB;
: G4 M, y) S" w1 I dwR = (DWORD)( pLight->Ambient.r * 255 );
! m1 r! h- j% z% I$ @: o D8 Q8 C dwG = (DWORD)( pLight->Ambient.g * 255 );
7 d. c# l. [0 F! B5 P dwB = (DWORD)( pLight->Ambient.b * 255 );
" t5 A* I, Z/ I+ P% Q( c; o dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );8 ]3 a0 s Y" v3 a7 q* b* p2 u8 Q
}* g' c* g! U, Q% ?- `5 I
}4 u* ?; |! a) T# b/ L1 B1 R
}. l8 q9 k" i( s
else9 a' U. M# X9 G7 Z5 d+ ]
#endif
8 w% n/ F# ?( [- O( A1 j, f& t- O
( x# G x% P, j2 c$ [ if( m_bIsIndoor )
5 L/ F4 y: R' c6 r4 d {3 k0 ^$ R; K) V# l0 Z) E* V- |$ D- [
if( pLight )& _- p* _+ \3 C) H, ]
{
7 g8 J) }5 q t3 c' D, | // à??μ oˉè*
4 r( _# d& c6 n- V% C0 C- r3 ? pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
0 Y& ~* R9 J- c) ] pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;& ~; q0 @) r: @0 n1 U7 p/ n3 Q! L
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;2 y7 x- W5 F5 @
0 v( D3 R1 u0 s0 F+ q // oˉè* ??à?
) r5 a( H2 J: H& i2 e/ l6 @8 q pLight->Specular.r = 1.0f;
: ]; c- b+ L" r/ {. L1 f pLight->Specular.g = 1.0f;1 u& n, R8 B* }, F9 R7 a. `
pLight->Specular.b = 1.0f;% M% O j2 R7 w! t3 H4 Y @
// àü?? oˉè*
! _( C" @1 v7 O7 o$ B/ X O9 @ pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;) r- H( P% g3 Y. j, u, [- s
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
+ K+ C& P0 M7 @5 A' f+ M pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;" \0 H: V5 S( w
) B0 u3 e+ H1 B7 i4 H if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.# G# u9 K3 L- F8 F
{
T: F4 b# l5 j4 }9 S6 i pLight->Diffuse.r *= 0.6f;
8 A: v- j. b9 v7 e% b8 G) s pLight->Diffuse.g *= 0.6f;
9 g; w5 d4 q D( @+ C3 r pLight->Diffuse.b *= 0.6f;; \8 N: ^3 ^+ ?6 @* j$ R
pLight->Ambient.r *= 0.7f;
6 a! B9 f8 G6 B- c pLight->Ambient.g *= 0.7f;
9 @! b. M/ J; U' j3 N3 M6 P pLight->Ambient.b *= 0.7f;6 E1 g* B3 y# W$ N' ?0 H
}
5 c! i7 e- ^( o+ `& R
. j5 U8 @" [4 I: M1 B2 b#if __VER >= 15 // __BS_CHANGING_ENVIR: p3 G. u6 W' Y& t% O% o
if( g_pPlayer )
2 r1 X9 p7 s9 \$ [' _$ m, D HookUpdateLight( pLight );3 v8 u" [7 V+ {( i9 P G
#endif
. p1 v$ I% Y- n- _, r memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 J/ b- |% R. U" P3 b7 I$ T# W" B1 A( X! A7 v8 ?, l) S
pLight->Diffuse.r += 0.1f;
7 _: T! {5 q! q$ t! ^1 c3 t pLight->Diffuse.g += 0.1f;
' \& a( R# u. ?6 g+ \! S' B pLight->Diffuse.b += 0.1f;0 f; Q0 u4 u! ^/ c/ b# [0 V
// oˉè* ??à? # R g8 f d1 c$ o. h
pLight->Specular.r = 2.0f; s$ ^5 D( w2 Q6 H7 G K
pLight->Specular.g = 2.0f;
# J J/ e, s1 `9 z6 L pLight->Specular.b = 2.0f;0 j6 E5 W) t( _" W4 l1 ]2 V
// á?oˉ 7 c' {: ~# ]5 W2 f) T5 Z; f
pLight->Ambient.r *= 0.9f;# `- X4 ^4 v; j8 Y
pLight->Ambient.g *= 0.9f;
+ q b; a6 x4 o( S$ U. e# W pLight->Ambient.b *= 0.9f;$ ~5 R0 g- W; Z0 T i
" \1 I! l5 a2 Q: b7 O; n3 W
memcpy( &m_light, pLight, sizeof( m_light ) );3 ~/ Q& f* n1 j, }0 W5 Q8 F+ ^$ `( [2 B* c
" k* x# k7 H4 [3 V! L6 K F
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );3 F w( V- L, `9 Q9 ]1 G
pLight->Appear( m_pd3dDevice, TRUE ); S3 z4 ^% c% T/ q @ d* {
# N, {" ~. W' c: _4 g( @ DWORD dwR, dwG, dwB;- n5 c) S, w# S: ~
dwR = (DWORD)( pLight->Ambient.r * 255 );& \- x* t2 S' E/ V x
dwG = (DWORD)( pLight->Ambient.g * 255 );, ?) M7 E2 Y# W( w5 w3 Y
dwB = (DWORD)( pLight->Ambient.b * 255 );/ L4 p* G T+ U
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );! F. o# @& `% K4 C8 P( i B/ i! y
}
/ X6 J* Q7 d+ ]# l# M* P5 \ }+ m4 Q4 s7 K: l2 q6 v+ R/ }
else
+ u+ }- }2 \3 P {9 G) o% u+ y( o& }; X1 b8 k5 @
if( pLight )
! _/ k$ `" V# `: w/ _ {. |* a; ]# _8 d9 A
1 \$ y: r( t' z0 U9 d, b int nHour = 8, nMin = 0;! p+ \& \# U1 j
#ifdef __CLIENT
$ G9 I7 I5 n* }& i // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 7 G: V" P* K/ Y( j0 E5 Q
nHour = g_GameTimer.m_nHour;
: {, N; w% d1 p/ X1 b4 J. A nMin = g_GameTimer.m_nMin ;
& h: P/ v! J, ?9 t #else
$ @& B" S: p: ]& A1 @$ x // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.; ^+ \+ b* h! ?
if( m_nLightType == 1 ). L) H: l( u8 v' ]! N" w8 R6 U
nHour = m_nLightHour;( P) }( z, q, {3 ? v* k
#endif
6 g$ ^& b! ` v5 t nHour--;1 o! M8 T+ o0 E4 W2 B
if( nHour < 0 ) nHour = 0;
% ?7 u! e' ^9 U7 W if( nHour > 23 ) nHour = 23;
7 P' \' c0 Y9 B( r8 C8 n+ w9 P* t3 } w2 V) x
//if( m_bFixedHour )+ ~4 O0 R0 ?& H' a
// nHour = m_nFixedHour, nMin = 0;7 z. I- s/ f- d
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];. _8 k" ^& `: T0 l* w
LIGHTCOLOR lightColor = m_k24Light[ nHour ];7 {' }7 H" N7 R! ~; |, t3 `+ P
5 }+ b- |$ e0 C) p! ?. L5 n
//m_lightColor = lightColorPrv;
+ E2 o# m! i$ D0 |- J; | lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;1 v' C e( O* ~" ]/ R' u
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;( o: l' g$ \! u8 }( X
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
: }+ E9 I6 p+ j. a1 Z8 D lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;: i5 B& Q0 n, [2 o" k( M5 E5 ]4 O
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
) j; r" q. P/ A lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;& M [1 D$ N5 `
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
$ F7 Y6 i0 H& w; ?1 s
! } L# x1 U$ e // à??μ oˉè*
$ T; B A; R+ e1 A5 l$ w pLight->Diffuse.r = lightColorPrv.r1;
( Q9 v2 G7 z, L* A9 G, ^# r+ c pLight->Diffuse.g = lightColorPrv.g1;
4 \8 _6 i1 e6 c! O3 H: }6 | pLight->Diffuse.b = lightColorPrv.b1;" X/ S0 z2 F# U! F l3 c2 ]
// oˉè* ??à? 8 m, E0 b- z( z8 C
pLight->Specular.r = 1.0f;4 [, n r G5 R# x0 b
pLight->Specular.g = 1.0f;
* j: v0 y) `) v pLight->Specular.b = 1.0f;
0 j* A8 |& w7 f // àü?? oˉè*
$ A- g# N7 {0 Q+ l( M: B y pLight->Ambient.r = lightColorPrv.r2;8 I. T) l4 T( o0 n
pLight->Ambient.g = lightColorPrv.g2;
! i( \1 I) k; w! N& n% S pLight->Ambient.b = lightColorPrv.b2;+ \7 ~4 h' g, W( q s* _5 ~) R/ d
% S* U" ~4 Z8 q% E. [
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??. z7 Q; s5 f' `% D& O5 O# a5 E
{( f8 a c1 j- X& d
pLight->Diffuse.r *= 0.6f;: \7 H. x/ @9 {1 t
pLight->Diffuse.g *= 0.6f;9 f# b* `$ y3 F2 F" o
pLight->Diffuse.b *= 0.6f;; \/ ?2 h- y- } x% w* \+ { G
pLight->Ambient.r *= 0.7f;3 k q: l+ a! Q% U
pLight->Ambient.g *= 0.7f;
: R# C( V6 o j, s pLight->Ambient.b *= 0.7f;
. l# v$ p2 F/ W' Q* m4 F* L3 z }9 G% b+ q9 S5 @0 r: f4 Y: t$ s6 n
, M' {3 q( b/ x, b) i: E#if __VER >= 15 // __BS_CHANGING_ENVIR5 I3 R' v% k& m3 m
if( g_pPlayer )+ \/ u- K& D+ t0 r
HookUpdateLight( pLight ); ( u: T8 q' m6 U. D! l- B
#endif
3 ]" v& g$ h- p' f* l; ]9 J- n memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );( X y' h0 w0 w# ^ W0 t5 I
) N6 q: X7 l8 R1 G2 g& b' a#ifdef __YENV
3 s( C. H$ U+ M0 c4 T$ g# a pLight->Diffuse.r *= 1.1f;1 h/ i. _2 |+ q" M: E
pLight->Diffuse.g *= 1.1f;
, T! j8 g) @* h1 _2 F. T pLight->Diffuse.b *= 1.1f;
( f0 J; p- L ^0 G1 } // oˉè* ??à? 9 f7 h) Z5 [0 C. c: Q) q
pLight->Specular.r = 2.0f;
. o" R- q1 |0 I pLight->Specular.g = 2.0f;
, S; ~" r, v) ? pLight->Specular.b = 2.0f;
" m- B2 T/ I. z5 U8 Q0 m* s // á?oˉ
: \8 n ~+ s/ c pLight->Ambient.r *= 1.0f;
( ^' q1 S/ [2 l) e3 j2 \2 |/ }+ { pLight->Ambient.g *= 1.0f;& ]& p; H) z3 g7 n
pLight->Ambient.b *= 1.0f;9 V9 M$ I+ U8 A$ U* y
#else //__YENV" i' l' S7 v- a9 m9 e
pLight->Diffuse.r *= 1.1f;
- H& c, C+ ?5 ]& |! ?6 G- a, W# b pLight->Diffuse.g *= 1.1f;: G- l/ d. P. k
pLight->Diffuse.b *= 1.1f;
& E3 f0 U9 u5 n3 {- I0 v // oˉè* ??à?
0 {$ W7 f2 l& I6 H, ^. z pLight->Specular.r = 2.0f;& x! Z6 G! @2 {, Z4 @3 k
pLight->Specular.g = 2.0f;
4 v- @% s) i9 f$ \3 u1 |' Z1 {9 ? pLight->Specular.b = 2.0f;
; Y6 q8 N$ }1 e& M2 V; r6 ^& U# Z // á?oˉ ' x; Y- c) l" j6 [
pLight->Ambient.r *= 0.9f;; N/ l* v2 D, n5 y8 d* u
pLight->Ambient.g *= 0.9f;# d3 M( f! P- G$ ~) V
pLight->Ambient.b *= 0.9f;
/ A2 t# h$ m/ M6 }# a#endif //__YENV % o& l; W$ b, o# d: N
1 G5 R: L0 u0 v memcpy( &m_light, pLight, sizeof( m_light ) );
( G+ H; Y; r9 t' u% w
! Y, e5 T* n! k; Y; \1 v D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f); D7 Y/ x; s {% k6 @0 ]- X3 }
D3DXMATRIX matTemp;" |: B" B {$ b( O
static const float CONS_VAL = 3.1415926f / 180.f;, P a$ i) c7 T' A
( [9 W% B0 S( t# A1 @ D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
" G1 K- `" G! O' N" J" `, w9 A2 y D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);5 q% M# m4 w- z8 u1 K
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
) O; M( }4 K. r# S o' v pLight->Appear( m_pd3dDevice, TRUE );
( J y' Y5 H" @$ [3 u/ D8 j$ R$ s% t q- e& q
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
/ b* _$ |4 q2 u) N* r4 w/ I8 m // D3DXVec3Normalize(&(vecSun),&(vecSun));; p8 W( i$ U2 I9 M; M3 n9 u n3 g
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
/ S2 |4 f; W3 o1 L; Q% j l2 f7 Z9 ], Z1 }9 d. @- z
DWORD dwR, dwG, dwB;
: K& q1 ?# z( ^ dwR = (DWORD)( pLight->Ambient.r * 255 );/ I4 ]2 h5 L6 J% _% T1 c& B/ g
dwG = (DWORD)( pLight->Ambient.g * 255 );
2 {0 g* ~( a% k D ]9 g dwB = (DWORD)( pLight->Ambient.b * 255 );" X7 H# x3 f/ @ z9 _, g, \7 m
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 7 W8 ]. V: n1 x) x
}0 e# w9 E% H1 F, S D+ f
}; ~+ T7 c- U1 g7 l+ J8 { W
4 X: y" ~5 u1 Z
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
' @" k' B7 U: [ e7 N& c 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) );
+ |5 F4 u! L4 H e- W( }$ Y ::SetLight( bLight );4 P: x9 E" |2 S5 T2 _) b
+ j) p: e: D/ ]
// ±ao? ?D?í???ó á¤à? & I: l5 Q* f4 Z, G# ?" |! h" i
m_pd3dDevice->SetMaterial( &m_baseMaterial );( @5 P5 R# e; \
y- ~5 q' a d
#endif // not WORLDSERVER
. a/ ~: ^! G. B: t}+ P, p! W# k( q0 h
并更换3 Z* R4 q3 E5 {* c: X
Code:9 f; y/ G1 ]- L n& \) O& a
__FLYFF_INITPAGE_EXT# l# x+ w* y8 T; a X, ]) _
定义
* f. T$ A! q; @, q% E, V J) h+ N# ~+ d9 u! c
( @8 w6 ~: \, g a' e. u C
/ N/ X/ u- [2 j( y5 w
! `- |9 x n% U3 y9 P- W现在终于删除我的狗屁加速...8 c. R: n+ Y" Y u) L+ t: T
4 c9 ?1 B$ y5 K) G' I/ q* T8 k( @
; m* X9 D9 m+ |; O& C) _
0 ?$ j0 @4 [5 X8 [: y, W' i |
|