|
|
食品车:
# U0 z7 [" Y" ]6 n* C尾翼:5 ?( O- j, |0 |0 t' n
) |- z' h9 W4 [$ S
代码:
- ~* G! \$ B- ^" o; \; lCWndAutoFood::CWndAutoFood()
0 k1 h) [: I# r! Z{4 L$ d3 X! t7 I5 h/ z
m_pItemElem = NULL;
1 I, Q* W# _0 _, z3 Q# W m_pTexture = NULL;
. r+ ~" `3 W% D$ z% l bStart = FALSE;2 Y$ U: w% B0 D; C: I
}3 Z+ o% H( t9 ]% ^7 W5 P/ h9 {
& C" l: U% s% N! {! ]& q( P* @CWndAutoFood::~CWndAutoFood()) _: W! v7 Z$ w1 c) n
{
9 A W3 {6 @! M5 L! Z8 Y* s AfxMessageBox( "AutoFood ist gestorben " );2 Q8 V3 C: U: s1 _
}. o9 Y, M7 g4 `$ q: R/ b: `8 e
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
) [' b' \8 w& Z& _: g{
0 g; x7 ]6 |4 g& r5 x' } return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );. I F b; f; d( W5 W7 z
} u4 s3 Q' p7 Z9 X2 \6 p+ V( p
6 E {/ |7 r+ Y; z3 oBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
' [1 m$ f6 O2 b: Z{4 U2 B2 E4 z3 O5 s3 Y
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );$ y r- \. Z! F
CRect rect = pWndCtrl->rect;
3 W N( n0 E- a" R9 h if( rect && rect.PtInRect( point ) )2 O: ] H5 i$ g, I$ p4 |( c
{
( y$ G) }4 {; ~ CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );" C: s% q u7 q. I8 ]' h
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
3 k! `& R; W' {: Z# T! n {- B/ a7 ]6 T8 ^/ y
if( m_pItemElem )
6 F% v6 e9 B7 x# b) [! s {
; F9 i& {. D- u2 ?" M4 M m_pItemElem = NULL;8 {9 h$ ~& X% O- S6 x
}
/ K1 T! w" ?# u; ] m_pItemElem = pItemElem;
9 E# K* j6 N" O m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );# L9 [0 M7 [6 o* ^" q( z2 ~5 L
}else{
! C, p2 i8 Q. ^ ]% S7 j* u SetForbid( TRUE );8 u0 I, Q9 D& r- i
}; U# k- N* {) s: g' @8 S8 }! _
}else{7 A( }, L/ E$ l
SetForbid( TRUE );
# P" ^# ^2 H2 [4 m' f }9 e" B8 o! S2 \' F: G+ r! Q. w8 u
return TRUE;# W: V* `8 [/ y/ d4 h( P+ x- ~
}
# L+ g/ T6 K$ D" J# [$ O, A" C& j, }- u9 c0 `; W& m) v' J+ h
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
$ D1 ]9 D& e4 V7 x( u: Z6 N) B{, B' _0 ?" o/ I$ d& P" T* Z0 ?
switch( nID )
- H' {6 D7 i- V& j4 i4 X {6 p$ L0 v0 D( ^9 U) a3 I- s
case WIDC_BUTTON3:3 ~. n g! O8 H
{0 D8 P8 P# v" }4 ?! A4 S: K
bStart = TRUE;
U; t& u( n8 F7 U. u& d/ y break;
* S4 j5 Z3 {' }5 g }9 a- S, A, N9 n) K0 ~
case WIDC_BUTTON4:- k4 F& i$ K! N3 v/ C7 B+ f
{
" A& Q" _" Y/ Y/ I2 A" A% z" L5 O: b bStart = FALSE;
" a0 W0 i9 y5 i i% K& ]1 V8 u& g break;
, ]8 L" r9 ]% M }
- y' U8 l6 @: m9 L. @. q }
0 M: u7 C+ x9 O6 M5 t7 A+ R return CWndNeuz::OnChildNotify( message, nID, pLResult );. T! X3 E- n7 T8 \
} 3 A4 o% `4 ^9 G% C- c
void CWndAutoFood::OnDraw( C2DRender* p2DRender )4 V* W: v5 T+ `) W/ `: _( T5 a) U
{
* C1 z4 X: o# x8 W: Q CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
2 v1 W" m! S8 K0 s) X4 T$ _ if( bStart || !m_pItemElem )
" w2 l: D3 ^* y) `# F1 x1 v {8 l2 ~' S1 {! i6 S
pBtn->EnableWindow( FALSE );6 h* _0 _+ u* a; s) a
}else6 t; f7 u l: N- g9 |! W& T9 U
pBtn->EnableWindow( TRUE );7 l) P& c* S" l/ w
if( m_pTexture )
, P& ~4 n* ?4 }$ P5 r {0 J) j! _; J8 W) A# [6 l8 k9 F5 [6 W
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
. k! J5 N% G3 A* q* h! M if( wndCtrl && wndCtrl->rect )# Y& \! [1 G2 e" g
{
! T$ W6 g5 R8 ]1 p m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
3 m; ~# i/ `+ a! U F }% q" V1 P7 b1 U( ^* D. h4 C
}
+ w. j4 \& P3 N* G. F5 r- o}( V8 j$ I; Z" v5 I
6 [# H/ S$ N& J; P: w# SBOOL CWndAutoFood: rocess()/ r8 l! c- i- W' N7 P) V; \
{, O7 w% n, N4 a5 A% o {. U" K
if( bStart )5 k* N, E6 g" x, |% |+ p Y
{: S4 s! J8 T/ n
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
& ^) p4 w) `3 `- F3 h {3 g* d9 y) e m. 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() )
3 y1 _# W3 b6 e/ u; T5 H g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
! P4 o& {- F3 V }else{
x& g1 Q, } S8 c6 B. I bStart = FALSE;
6 k* K% s+ x7 R R x* ]) m m_pItemElem = NULL;7 L( V4 i+ Y: E! ?1 \2 `$ ~0 ~2 H
}
. s; V9 _( r; S1 W, K* |9 P( Z }# s+ y9 G3 }5 x2 x4 t
return TRUE;1 a2 p' U6 s. Q! l' u; x# A9 p
}
4 L2 Y$ c, u8 d6 n
; @, a& P, s+ V5 ?3 h登录视频废话:" C' V, j# x8 g8 i* n/ G. A; K
尾翼:
7 G* y( T3 m& S) d( A' R. ?/ R# ?1 G! l5 z) w% W
代码:
1 Y" I! D1 C" M0 Q6 d0 B! f. g7 n; R7 ~4 A, V
void CWorld::SetLight( BOOL bLight ); ?7 H2 c; l; m- ~/ q0 J$ J; Q
durch
: u; j, P, y7 ^Code:
1 @5 m: t$ y' |0 `! ^void CWorld::SetLight( BOOL bLight ); Q/ d; \5 S( e M4 x
{
# r- R) `: X9 {6 V' I7 }% V0 o- L' G //ACE("SetLight %d \n", bLight);$ q. v4 Y" y9 I' P1 C
5 E2 E p+ s6 G" }3 [! U4 F#ifndef __WORLDSERVER
1 q6 ]7 _9 n4 j8 }( d DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
7 E2 V6 P1 C8 s* ~ CLight* pLight = NULL;
0 ?3 C) ~. c* x% I
& U' c9 N6 Q6 e- W D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );, [# Q+ }9 K$ [% N5 M8 B9 G
) i0 L( o+ L5 C0 f pLight = GetLight( "direction" );
+ H, @; n/ X$ |( ~. t) Z" G0 Q6 A4 T! R G2 c* c
#if __VER >= 15 // __BS_CHANGING_ENVIR
' K6 C' B" o- h if( g_pPlayer ){
3 Q4 R0 J1 q% c+ I; O. a ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
/ N" {" J9 f3 f5 [7 H. L! E1 I! L if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
( y: x9 F/ I! @) g" o) K4 P [ {
, Y% {" s/ |& } if( pLight )
+ Z! X: r; M$ q* ^2 \/ g' `, D {1 _, |) P7 \9 w6 p
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
+ w+ @3 O. `9 p/ g. ~- q: f3 d pLight->Ambient.g = pInfo->_fAmbient[ 1 ];' y1 I t( [% Z( E3 n3 G0 x) j
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
) ]- }& }* Q+ @; y3 ~$ s' F8 G+ P
; B* U: `& y) v( x. F7 W, U pLight->Specular.r = 2.0f;
/ W% }0 \7 k$ }3 F+ U pLight->Specular.g = 2.0f;3 I& B! d8 |6 _9 C
pLight->Specular.b = 2.0f;
S6 C5 e0 z7 V& M, L1 o' V: p! N: E 6 e! I) P1 g1 L8 J1 \
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];. F; f/ P/ R$ X& Y3 M7 y
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
. @( O0 Y8 F; K! j, ^% s' R pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];; }2 x' h& ]- h, O# r0 N
. N \$ Q" H1 [% _- S; k! Q HookUpdateLight( pLight );
, l2 Z6 j& M: m
: W: ^2 S9 x) S% q x; O7 B5 P' r, D memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# B* @$ q8 Z+ ~
; K+ T7 K$ J+ ]( q/ m9 p* t pLight->Diffuse.r *= 1.2f;8 N6 c+ @' z8 u7 c
pLight->Diffuse.g *= 1.2f;
( L: {( @/ p9 k% w5 M, S pLight->Diffuse.b *= 1.2f;6 u8 m. u: ?6 o7 ]: a
3 a4 a5 U# L0 B8 j+ Q e pLight->Ambient.r *= 0.8f;. J6 e& `# R6 [7 c1 k) c. s
pLight->Ambient.g *= 0.8f;
9 E5 n& |2 s/ | pLight->Ambient.b *= 0.8f;
# h/ ]; W' x9 U# ~, [3 Q2 Y3 A
5 S! w* e3 D2 E( s memcpy( &m_light, pLight, sizeof( m_light ) );
: H) I, L, ^1 H) i+ [
/ O# p4 c. R$ T u" L0 D2 f D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);; V+ H V) i" V2 i8 V
D3DXVec3Normalize(&(vecSun),&(vecSun));- O9 A: J' T; j. M% N" F9 O: |* s
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
2 x8 F9 k% n8 v pLight->Appear( m_pd3dDevice, TRUE );* T: l; W' A1 c
- i2 L$ b. G' L: z$ q
DWORD dwR, dwG, dwB;, l m; b7 V7 |7 h+ j0 P4 j
dwR = (DWORD)( pLight->Ambient.r * 255 );
7 m& s: T" I2 O4 b& K6 \7 L" j& @ dwG = (DWORD)( pLight->Ambient.g * 255 );
* V8 b/ L! {0 \0 d dwB = (DWORD)( pLight->Ambient.b * 255 );3 l& B1 P H* |, Q3 q
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 C' F) g2 m) }+ W( D }5 j8 m* X i+ O1 q$ i/ B7 p9 s
}/ [0 \& r C( p% k
}( c3 h) g+ A/ r0 m* M
else
5 b6 i! N5 C! b8 l#endif ' _" J) n* b. F3 s& g0 }* V
$ F3 K5 o; ]! e# T3 S: [' ^4 f if( m_bIsIndoor )7 C+ Q' Z( d: `: }8 {! Y
{
' x u5 C9 U* ^0 e0 Y' C+ A9 P if( pLight )
# O' W7 T" \2 M% N2 N' T7 ]4 m8 Q { : r( l& i$ l# u. ~) |( E
// à??μ oˉè* % ?4 s$ l/ b9 g5 z9 ~8 c$ h
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;9 y/ X7 P) U: b! E o
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;$ [4 R7 e9 W6 T" H* M7 o
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
" Y9 D6 v" e. Q5 h) L. U
! Y2 W& p9 w% q) b7 ~, @ // oˉè* ??à? , H# Q# f7 Q& A8 k: H8 ?$ r- r2 T
pLight->Specular.r = 1.0f;
W( M$ b" w: H/ Y pLight->Specular.g = 1.0f;/ h* D3 X- K) U; [5 Z6 }
pLight->Specular.b = 1.0f;9 P8 y8 l* N5 e4 ~! G$ B
// àü?? oˉè* 8 W1 U. g/ f4 p7 S
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
3 B+ m! j0 P, g pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
9 D+ P2 T% g: E" F pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;1 G, ^* d7 {* g, g. [
' }) d/ [2 G/ h! O) {& y
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
" ^" _* F9 l8 j1 d& s) g {7 {) ?' I7 B8 o
pLight->Diffuse.r *= 0.6f;: I' A' ], i+ \* t3 \
pLight->Diffuse.g *= 0.6f;
" N8 |( v, q5 E/ B pLight->Diffuse.b *= 0.6f;
/ C5 ^/ [5 Y2 T' A0 H- o# e pLight->Ambient.r *= 0.7f;
. J! z4 V# Q5 ~, j% b pLight->Ambient.g *= 0.7f;
+ g- Z9 Y, t8 t) g2 K; E# q pLight->Ambient.b *= 0.7f;8 Y+ U2 \8 J/ d& j0 Z% k7 d, w
}1 r9 d1 A/ J* z: W3 ` W, L, [( k5 ]9 P4 z
; Z b" J/ w- M9 o! q' ~3 n
#if __VER >= 15 // __BS_CHANGING_ENVIR, L, A9 y# w* v) @
if( g_pPlayer )3 p9 g. z( U9 {& n v
HookUpdateLight( pLight );
/ N9 i+ z. O) q4 d, o#endif
/ M9 B. M+ {5 p& P1 g* M memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 c- J* ~( h; d7 ^1 K: n$ {1 K) _( b* f5 ~. T
pLight->Diffuse.r += 0.1f;. y! S/ h' j: a1 f% w; ~' O
pLight->Diffuse.g += 0.1f;
* g# x5 M% M5 G/ b) W pLight->Diffuse.b += 0.1f;
+ u8 ^/ } Y1 j) ? // oˉè* ??à? * o5 P# Y- ?# h# I! d3 _
pLight->Specular.r = 2.0f;
( z; p8 x( m5 t9 h, H9 z pLight->Specular.g = 2.0f;
3 W: `$ w, E: X0 ?7 q pLight->Specular.b = 2.0f;
' f& l6 j! r7 K7 u+ ~* g1 o // á?oˉ ; s" N5 K; n! i. m6 r' R! i4 D: g$ Q
pLight->Ambient.r *= 0.9f;
/ {5 D) {" {# u/ _6 {( m _ pLight->Ambient.g *= 0.9f;
% f- o: D; `% }! T+ {3 b pLight->Ambient.b *= 0.9f;
* |6 d5 P+ j3 l5 i+ ^5 Q% ^& ^! V6 ^$ i2 e2 N6 H5 w
memcpy( &m_light, pLight, sizeof( m_light ) );+ S, U# I9 `8 g" D. R' \, f; h( b2 j
6 D+ V( O. r; {" {/ e% O# \( o3 Z; A pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
- s2 @$ }. v/ ^, ? pLight->Appear( m_pd3dDevice, TRUE );
0 G2 K! n( T: S1 S
: F8 t* {; n# P; i DWORD dwR, dwG, dwB;4 q' M/ u( j/ n
dwR = (DWORD)( pLight->Ambient.r * 255 );& t% j4 p5 w- W- }: ^5 V* a" z
dwG = (DWORD)( pLight->Ambient.g * 255 );
6 C" n" P9 U" w7 }: G, x dwB = (DWORD)( pLight->Ambient.b * 255 );2 [6 P2 J3 Y( {5 `
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
( D$ O* S N; @( Q4 F }
( x- `- I( i' \/ s1 t }
J- S4 _( n* }: K3 _ else
0 Z& ?% D5 m4 j {
2 J, `+ @- O" y3 y+ C) s if( pLight )3 R5 y1 Z& ~* r) e1 _! O8 _* t$ m; ]% @
{
' o( @. Q* y7 U) U . f/ D$ k$ x# Q, Q, A& J- S9 F
int nHour = 8, nMin = 0;
% `+ i E4 h$ f& N: _' | #ifdef __CLIENT4 ]8 f4 F6 d" e- X
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 9 `* @ r9 ~' y' M. Z! @) v
nHour = g_GameTimer.m_nHour;
! F$ U7 Z. s2 D8 ^+ E nMin = g_GameTimer.m_nMin ;! M f* f5 o2 H- m% E+ p2 c
#else7 }/ _6 l1 d/ K3 Z& M
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.1 G5 i5 u+ @$ y4 J6 ~! P* K
if( m_nLightType == 1 )
2 n S) H1 l6 ^$ B# q v nHour = m_nLightHour;! t( k& u |& _& {
#endif
" |4 \0 @! {4 ^; a' [0 T& R ` nHour--;( ^, p* H9 B" [6 V& \
if( nHour < 0 ) nHour = 0;
/ d# Z7 P H7 r+ _ if( nHour > 23 ) nHour = 23;
6 K L( r. W$ G/ P
, E' R8 `2 n; |& z //if( m_bFixedHour )) z0 w$ x4 t O' h
// nHour = m_nFixedHour, nMin = 0;
u% g! _6 g4 H+ d/ o LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];+ ^: ?, x$ Q4 w+ K9 b
LIGHTCOLOR lightColor = m_k24Light[ nHour ];0 j; k9 T/ b0 H/ W. Z
! n* z8 B7 h) }* L. |
//m_lightColor = lightColorPrv;
" S7 [$ {+ _- G7 D% w; c lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;* S \0 L' [% K9 N- _ e
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
. j$ C" z6 J0 A' `3 o* I7 ` lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
" i3 P/ y$ m& L! {$ X0 Q4 `- @! E lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;& d. w- R* _9 z
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;2 [) j0 I% i: g
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
, K5 p0 ~+ ~! g" a7 w5 ]- \ // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
0 |8 Z* a! E. G" l: T% X: L" s: r% A* [. ^# Y W: ^
// à??μ oˉè*
3 n# |- G/ \$ O. T: W, B3 d pLight->Diffuse.r = lightColorPrv.r1;8 Q" {: C" y3 X6 v. u0 G+ {
pLight->Diffuse.g = lightColorPrv.g1;! C/ t$ H! R8 ?$ ~8 X& @! C. m: q9 x6 [
pLight->Diffuse.b = lightColorPrv.b1;/ J' {* D# s, q* |2 k
// oˉè* ??à?
: s" k2 T$ J2 n/ y, A pLight->Specular.r = 1.0f;& j5 M7 [% J4 z4 H
pLight->Specular.g = 1.0f;- w6 y0 `" D u0 r
pLight->Specular.b = 1.0f;
* J, L& t! W- g% i* }; B& v // àü?? oˉè* ) Y9 R/ ^! p \) f6 C$ h6 R
pLight->Ambient.r = lightColorPrv.r2;; T G: O) u8 A' }8 E: V$ m
pLight->Ambient.g = lightColorPrv.g2;( g/ |# C5 M* R7 X S9 \
pLight->Ambient.b = lightColorPrv.b2;
* V3 R6 f$ d1 v: c# Y1 B! l M" B
: U! B+ N1 k! [, l if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.% c6 g; r1 d& z0 s' i
{
' U2 B' Z" ?$ Z/ \7 s) N pLight->Diffuse.r *= 0.6f;1 J/ f6 j/ M/ z
pLight->Diffuse.g *= 0.6f;+ R0 M- `1 J+ ~- F {6 S7 V/ C
pLight->Diffuse.b *= 0.6f;
$ J v9 {2 w( D3 Q% m pLight->Ambient.r *= 0.7f;. I# C0 M9 ?! b3 [# O
pLight->Ambient.g *= 0.7f;' K7 c$ j3 p3 ~' l, c9 _ h
pLight->Ambient.b *= 0.7f;
5 q1 g7 ?8 w* V+ m1 H9 z# g }7 [$ w/ ~9 a2 m! c( g( y
4 {, I/ ?( j. r- z#if __VER >= 15 // __BS_CHANGING_ENVIR
0 `) ?" P! ?1 I6 `$ y! e4 v. V if( g_pPlayer )
3 K, _, K- G* z1 _5 } HookUpdateLight( pLight ); # c; B' a) e7 H: Q6 n
#endif1 z+ E+ }5 e$ h+ v. P
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# n. K0 ]& e* q$ y% a8 ~" N5 q7 b
% L7 S5 |" f- q& t$ w/ v#ifdef __YENV
( v, `5 }/ f+ n pLight->Diffuse.r *= 1.1f;) u6 ^* T8 B( O& x) k$ u
pLight->Diffuse.g *= 1.1f;% `' z3 c2 A) n! `+ ]$ N7 t, p6 T
pLight->Diffuse.b *= 1.1f;8 q( t4 E" F& @. k& H* h2 d
// oˉè* ??à?
: [4 i% k2 ?+ G/ T* O! R pLight->Specular.r = 2.0f;5 L' c7 A, n- F. z
pLight->Specular.g = 2.0f;9 a) [! Q4 v6 F: v- ~
pLight->Specular.b = 2.0f;& D4 n- [: ?- X: T
// á?oˉ ) L1 R/ R5 \" j% I9 Z3 y; L
pLight->Ambient.r *= 1.0f;
- D- h% B* C7 `- M( {4 D pLight->Ambient.g *= 1.0f; r4 I5 K0 x+ g9 |; c
pLight->Ambient.b *= 1.0f;
! ? g2 e' f4 ^ i4 Q4 r/ l#else //__YENV: {3 g' Q8 N+ ?6 U3 L0 b
pLight->Diffuse.r *= 1.1f;6 O/ M. V2 P9 v: p
pLight->Diffuse.g *= 1.1f;
% Y$ A; v! P2 o2 n% O/ g" ^6 P1 A pLight->Diffuse.b *= 1.1f;; D5 l, ]) l1 Y" |/ V9 D
// oˉè* ??à? ( q- l! a' {% S. }4 {* R# G/ ` W
pLight->Specular.r = 2.0f;
" q7 l- ?7 U/ D4 B1 l pLight->Specular.g = 2.0f;
- P0 x, ~ ]! M: V" t pLight->Specular.b = 2.0f;1 ^( A1 Q0 m5 t& b2 o- i
// á?oˉ
0 l2 X8 p5 K; P9 [! s, j4 { pLight->Ambient.r *= 0.9f;$ o$ x: z; P$ s" I Q( f
pLight->Ambient.g *= 0.9f;
6 @' y' J0 N. r* ^, `8 |0 G5 c8 q pLight->Ambient.b *= 0.9f;) b8 F/ s6 |, q) H. S
#endif //__YENV
: T& t0 U; ?) d# x* [0 q$ g6 f 4 }1 q+ h3 x( B7 O5 h% v$ ^1 @
memcpy( &m_light, pLight, sizeof( m_light ) );
0 ~5 w4 r( b) i$ x# e4 A |, s " B( @ R" J, ~
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);; p# o d' `/ V" \0 E
D3DXMATRIX matTemp;
5 D8 |" q0 m2 \0 k static const float CONS_VAL = 3.1415926f / 180.f;8 H& j5 O* W' |7 O
4 ~( ?7 I, B% N# _7 ^4 ^2 v5 v D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);: j* }6 o. Q9 g+ p
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
8 q# Z% U2 Q/ p: |3 Q- z pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
& b9 Q9 i$ e! X pLight->Appear( m_pd3dDevice, TRUE );
A& m Y \; n7 P3 Q& T: E t0 g9 ]5 a
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);& T& D% E, D+ `: b
// D3DXVec3Normalize(&(vecSun),&(vecSun));
+ \1 N3 L% N# N7 w4 I2 ^6 r // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ; K8 ~' O- |) |2 l5 h8 x4 z; @) H
% c1 ^) J3 ], F) u
DWORD dwR, dwG, dwB;
0 @4 ~* h! e3 C. f) }) P dwR = (DWORD)( pLight->Ambient.r * 255 ); L7 m4 [' z$ T6 K2 G. _" ~$ O* p
dwG = (DWORD)( pLight->Ambient.g * 255 );
}/ F) e8 F5 ~ k dwB = (DWORD)( pLight->Ambient.b * 255 );. r2 w! x6 ?- ?2 z+ o% D
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
+ w! v f" Z- K% j' T- d }
( Y+ s3 j( t6 t2 G }
) V. S. d1 s; g! O- G/ e
+ _( T. d$ { M' `) a m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );/ e' E0 M+ G9 y9 C# [& _) L% n
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) );
8 ^' \7 B6 q. |/ P ::SetLight( bLight );5 I J, _2 V7 s& n1 T1 T9 N9 s. R
! Z/ ^1 l) N: X$ g& C9 u) o* r
// ±ao? ?D?í???ó á¤à?
# c3 Q- n5 l5 t5 n( g m_pd3dDevice->SetMaterial( &m_baseMaterial );
/ W* y. j6 h1 x; j9 C, ]. \ A# b0 V
# I# m! r" W% f( M) r3 E#endif // not WORLDSERVER
/ P7 V6 g+ L5 j}% @. ?. {( d2 m- z; U3 K# O( ^ \
并更换
- g) G# f. q; S7 G5 SCode:( g* F0 H5 ~' u k2 P# v
__FLYFF_INITPAGE_EXT9 D6 Z4 w, c1 `% j! i, k1 W d# P
定义1 B) z7 O4 {5 D" D2 k( [% C* S
* M6 \- I ` ?2 S* j3 D
, W5 \# U$ b0 |: x
2 r: C- I" w/ @7 P2 z( I: r
`) g' a( K2 {' U( V现在终于删除我的狗屁加速...3 V1 [5 ]( z9 w* m0 w, n
( `* W' u) n+ m/ a
% h% t' k8 |1 |+ Q+ _5 @5 O0 v1 r) u$ a+ u5 S
|
|