|
|
食品车:) [/ {3 q# L* h6 V
尾翼:* M, Y8 d# W6 |& ~3 t1 w1 E
$ o# V$ I# }$ g% ~% x4 M代码:
6 m7 d" F! `. W9 U T* ICWndAutoFood::CWndAutoFood()
/ r4 m4 g& E: K+ H' s# T{
$ Z* F) _) x* p$ w% B( P. {& n9 \ m_pItemElem = NULL;
! u, s/ ~1 g) b; g) K m_pTexture = NULL;
W& u+ q6 V& x8 g$ u- h5 k8 V bStart = FALSE;
" Q, q/ q( L) [; \+ J& s# o0 R}+ ~& E+ ~" f, h1 e" N
y* b6 \* u7 _# |6 V, y( v( vCWndAutoFood::~CWndAutoFood()* Y7 n+ `# G0 B4 R1 D
{
, Z$ U9 x# h: Z4 Y7 q1 t& | AfxMessageBox( "AutoFood ist gestorben " );6 ~" W3 k* r1 Q$ R" g/ L
}) k2 C/ E5 [" Z
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
/ j7 s+ n' P: e0 q{/ b- C7 B# i7 i7 T! O: g% V x
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );% @0 d! s: | u/ V* y. q1 Q5 ^" b
}
& O. s: H5 n u. G5 `7 n3 ]
$ n( M+ }- n! p) b" `2 wBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )) X0 z# W; \( S% Q! a1 `. V% `
{6 v, B; N2 V9 h/ Y) r% }% r
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
5 W6 D/ H) D; c# s! G6 y, E CRect rect = pWndCtrl->rect;
) S2 L4 R7 }2 Z3 @ j if( rect && rect.PtInRect( point ) ). \" w+ G3 {. o1 Q: S
{
% A- P9 F E9 `% A" C% t CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );% P7 I" `# V" Z! D
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )1 w% t( B4 e$ E5 {# m. _
{
, S0 ?+ [4 N X4 d if( m_pItemElem ): E/ {! N' `+ w* ?$ z- H
{- i1 a8 K' i2 \0 G. P( X
m_pItemElem = NULL;
+ K6 {2 J2 O4 O! _ }
1 r4 r" j* g- e$ Q* H m_pItemElem = pItemElem;2 r1 n: O5 ^# m- X) v: S7 @# D, u
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );4 A/ }- p9 V) g( O6 i$ A0 l7 q
}else{
( R! a8 A, u6 P3 C SetForbid( TRUE );6 a5 d- p) {% W8 U) f' R
}( A9 S7 J0 h7 t8 ^( B$ g
}else{
: T4 s8 {) H; N" T5 G7 ?( K SetForbid( TRUE );' a$ v/ b8 M; }: P8 P% @% Y
}5 o4 C# c% u5 K. f3 o" S5 f C9 @
return TRUE;
* a, o; ~7 C5 E; W' n9 M4 ]. S}4 E0 l. i1 p9 b8 T
2 J% ^# H8 s; d7 M( m8 \' f& T3 ^
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
7 ?3 F) K" S( Y- D! o{
" ~/ o1 }) G3 y) j0 h switch( nID )0 R9 E" e9 c4 d' W9 C
{
( e/ k; i- K; ?$ K case WIDC_BUTTON3:
8 M5 ~ x' Q9 S$ ~, h {2 @) S7 Y1 u! k+ R
bStart = TRUE;
. J9 S0 s" o7 `3 m2 q2 n. K break;
4 }2 ^( a0 b# u1 f, a3 w }
) h" n- q/ ^, s case WIDC_BUTTON4:
! X. T$ T# C! }# b+ @& g; g {
8 A. c5 m3 h7 K5 g4 Q bStart = FALSE;
, q# Q: ?. c& k$ ^& b; i break;
4 R3 c7 ^4 ?3 }2 Q# U1 i }
' v5 v" d6 o3 F+ j: N }
+ v1 Q( Y: \& l# G% i return CWndNeuz::OnChildNotify( message, nID, pLResult );) U* C3 |/ |& ]" v# w* N
} $ s* O- B4 Q( ?) e
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
& `7 ?. S/ n3 u! E* u{/ X2 P8 j6 {9 [! R
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );3 {0 A5 U. O0 ~% ?* U/ ]1 o
if( bStart || !m_pItemElem )
" T v6 H# F6 J' f d1 m# p+ K {# V& `, D0 I- g0 z
pBtn->EnableWindow( FALSE );
$ G- f8 }9 `1 Q) F }else
2 `: Q9 Z% S' _/ ~6 _ pBtn->EnableWindow( TRUE );
! ?4 V; p; o8 r2 S$ M% `/ z7 a+ |+ o if( m_pTexture )
# d1 s/ g" D, x* W/ P+ U# B, ? {
7 B4 a& I. n! `. x5 o& X0 \# u LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );9 k9 M2 ~: m# N: y# M4 i
if( wndCtrl && wndCtrl->rect ); V T, i5 ?& K* s3 T; K. y1 t$ t
{
4 [* ]2 s; N1 A, Y m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
% W0 |* X+ H4 n }
! t/ ^4 {* F2 ~ }& n9 \- l$ _/ H7 `
}
7 A' g$ r* ]* {, r N
2 m+ N" ] V3 `2 C! O( OBOOL CWndAutoFood: rocess()
+ e# V% M, i# Y2 a7 {7 W# A{
' e6 s. F* j% Z. E% V if( bStart )
# V3 {4 Q* j$ G; A0 c0 V5 D' ~ {
5 o! U. m x9 v0 s if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
6 N$ i$ p, L$ E( h5 V/ q1 Z {( Y& H% R6 \" }9 n% [
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )! } U% [# }6 I
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
, l+ }" C2 j! d+ l2 w& m: E, q0 p }else{
1 A4 ~/ o* W: s* H/ [2 p: g0 [5 j bStart = FALSE;! r- @" p! ?0 H+ l+ C5 F) e( Z" O
m_pItemElem = NULL;) ^0 l; ]4 Y# n0 p! {$ [
}' `, c- P3 s0 A; E/ d; Z
}6 }) I: Q8 ~' S
return TRUE;6 k5 \ M0 B8 t; x7 b E
}
% C4 q* V" L$ F1 J# m: \! h
# q! F8 S5 `$ f6 T" G1 X# ~) |登录视频废话:
6 q# ?7 @7 d4 h3 ~尾翼:; n7 Q1 d' ?- _: I1 _" w( w6 Q
! K1 B- |$ I' f5 a4 u$ F% M( ]# w0 _
代码:
9 f- |3 q$ {2 d; ] o6 k) C" w+ i4 Q
3 V) G" _- S4 v0 ` R- l/ a h- Hvoid CWorld::SetLight( BOOL bLight ): F; k7 v, m% Q u; R1 O
durch, \: _1 k" o* @: y& C
Code:5 ?6 `. v/ U2 k6 }( m0 }/ p
void CWorld::SetLight( BOOL bLight ); s* k1 i: Q- m3 H$ }7 a; Z
{& C% D8 N/ p) `8 I) A
//ACE("SetLight %d \n", bLight);
7 M, a3 w9 ~; Z3 ~8 l
( k. f' Y- l: p3 L+ {; l R#ifndef __WORLDSERVER ( P( m: p$ ?# I( |6 B+ a
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);# M$ m# s' \) i- B4 X
CLight* pLight = NULL;. A; Q1 x7 t4 s, T2 [
4 ~7 b( V. b: g" j r' T D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
+ D5 u1 S1 z6 i' l' _8 R$ m( f
; @$ k. v8 a, A0 n pLight = GetLight( "direction" );
" s3 N1 o |& L% V) O' o# Y
* P. q. ]: s3 N4 I#if __VER >= 15 // __BS_CHANGING_ENVIR1 Y; s) t1 b* W2 M7 T
if( g_pPlayer ){/ I. I) g+ j5 ~: [( ]
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );$ |, L( q$ w- _6 g5 D) L+ p
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
7 x1 c1 R o2 A9 A! }- w {5 ^# g+ ~% W) c3 c) \4 G2 ?- M
if( pLight )
. e1 l0 D* E0 W2 E! z6 K$ G {6 ]/ w: O* s; e
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];1 f) K. J' ]6 ^) l9 d% }1 y/ c
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
, a1 d. `5 w* Q6 E6 \ pLight->Ambient.b = pInfo->_fAmbient[ 2 ];. ^) j' g2 b9 i: J6 i
1 K2 H; B; f: h5 F' Y1 m
pLight->Specular.r = 2.0f;
3 i- C0 \" S- s/ P1 M8 M# l7 Y pLight->Specular.g = 2.0f;
' @0 ?3 w6 }) X, \ x; Z pLight->Specular.b = 2.0f;
3 v) c' N6 }. N6 @9 F! M' W * V* r/ `) I6 ^2 S+ _4 W
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
& j& n% z* D% ~. @ pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];2 V; j6 @) o5 Y
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
7 t j/ l* e6 `2 W
' n1 F. V+ p) p! ? HookUpdateLight( pLight );
. v. o# K; M5 g. G+ [8 e
# i7 ~3 A3 L+ `3 e# g7 X memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );+ g2 _; q' U2 y0 ?+ M
4 z7 _ X* m7 F% H5 F6 ~# F3 R
pLight->Diffuse.r *= 1.2f;8 }$ f* u: R+ ]8 }0 g
pLight->Diffuse.g *= 1.2f;& j; ^' w, z8 e- J
pLight->Diffuse.b *= 1.2f;* p9 |4 M0 G [4 f) }1 A" x
" v+ o" ~8 w+ Y x
pLight->Ambient.r *= 0.8f;: f0 b% w) h( n5 \
pLight->Ambient.g *= 0.8f;* h/ b0 Z* Q5 J3 h9 N; Q2 \: p
pLight->Ambient.b *= 0.8f;9 F# V9 E' E+ e% l! g0 h1 V
$ J& r% ~. m! F# C0 F# v, h memcpy( &m_light, pLight, sizeof( m_light ) );
# l% ]( E) g- C* ]3 p! R( c9 l
) C' x7 g( Q0 h2 A* F D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
2 a% H! d6 i2 \/ k" z" e D3DXVec3Normalize(&(vecSun),&(vecSun));
( l! O+ O2 _8 I. i pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
$ i, h# F! H* o, f. j1 w# k, `5 u pLight->Appear( m_pd3dDevice, TRUE );
/ o# e, [5 Z$ I$ `& R/ h
! c1 |. z6 j+ h, e/ s, o5 q DWORD dwR, dwG, dwB;; _, i1 t' N y! Z7 p
dwR = (DWORD)( pLight->Ambient.r * 255 );
: [0 ^$ V9 f( l# g4 I dwG = (DWORD)( pLight->Ambient.g * 255 );
5 y3 [, V* Y# b* i' u" M' s7 s dwB = (DWORD)( pLight->Ambient.b * 255 );
7 H8 o# w/ a6 r1 A6 G dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# @6 r1 T. @' X3 G+ Z }. O) P. C3 |* n' L+ X) I$ |
}
: U( ?5 b2 P$ G }
- [/ |( F0 q8 A" L! L+ T. K, O# A else
* I2 X2 c: h* v0 O#endif 0 I! z8 J$ o" B4 L. E$ ~2 d* ]
? ~' Y; o0 W) D- l9 D4 e if( m_bIsIndoor )
. S+ v. u/ S% Z {1 o- ]/ f# r3 z; y. j4 {. y) @+ A& o
if( pLight )& j k4 y2 d4 Z# t( v8 m7 I9 i+ W s
{ " f: T, C2 Y, t/ {/ T, a) R
// à??μ oˉè* 8 R1 z6 j/ I5 m- |) I
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
% d7 Q. H% ]/ \, G. ~8 h5 d! l' q pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
9 ~; M& x6 M$ g pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
! L+ }# I$ L( c; F/ C; R8 c! P" T/ ~6 h$ _
// oˉè* ??à?
9 r! u7 s' `3 R0 U1 h' m/ Z6 x! g pLight->Specular.r = 1.0f;( _$ o( H7 [2 j) H- s5 [# ^
pLight->Specular.g = 1.0f;# z* v" C# i& ?) V- a; {
pLight->Specular.b = 1.0f;
v$ b1 p! m7 S' H# ]& Y0 L7 ] // àü?? oˉè*
, U& A, n% K" M" }6 L6 X pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
) K$ V8 [2 a& X/ H0 Q$ _8 D" Q pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
5 V# Y. V8 Q' O pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;0 T" ?1 m, r; N: h, C
/ z$ j5 ~, I( I( r
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.2 u! l, W1 g8 V8 g
{: `0 ^/ [$ u* [" b6 n# o+ z4 p
pLight->Diffuse.r *= 0.6f;" x; B. N& F3 \* C. c$ }5 G8 s! m9 H
pLight->Diffuse.g *= 0.6f;
- l3 x g6 R' `+ K7 z1 I pLight->Diffuse.b *= 0.6f;
$ V$ K: @' r5 H5 D; O2 ~! X3 F pLight->Ambient.r *= 0.7f;- Z6 _( y% P) @- I; q1 @3 p
pLight->Ambient.g *= 0.7f;" G. N; Q0 J( z
pLight->Ambient.b *= 0.7f;) ^+ B r) j* P6 z+ ]! [5 D" ^
}/ ^- h+ Z9 D2 M4 ?
( M; q) r$ G7 N3 D* o
#if __VER >= 15 // __BS_CHANGING_ENVIR
5 D' O" f+ f* x% [7 G( a if( g_pPlayer )# w# O. o5 z% w+ @
HookUpdateLight( pLight );7 o1 M1 z* H( Y9 x$ U+ K
#endif' r- `- j7 F I& U
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( ?$ U ^* P6 I6 q9 M5 {" ^$ u# P# G" j3 d% x$ c* N
pLight->Diffuse.r += 0.1f;! t% g9 |2 k+ d7 W t& r
pLight->Diffuse.g += 0.1f;4 Z7 ]3 C- u. |* }* y; d% M8 ~
pLight->Diffuse.b += 0.1f;
1 z: V1 M2 x, J4 ^' F+ g // oˉè* ??à?
2 M8 l6 k; ]+ u1 ~7 E& q pLight->Specular.r = 2.0f;+ x$ A0 N' e* N* j5 s
pLight->Specular.g = 2.0f;5 V& z* Y0 l1 H
pLight->Specular.b = 2.0f;$ W, o6 G% A2 o4 l; P) h5 R: [
// á?oˉ 0 O, H) B/ D/ y5 r( h
pLight->Ambient.r *= 0.9f;
/ S* A$ A7 S! C. o pLight->Ambient.g *= 0.9f;
( X$ A- E7 |+ j& J pLight->Ambient.b *= 0.9f;
/ V. S) q2 q4 B0 S; ~
) p, v3 L: D R$ A, K9 A. A memcpy( &m_light, pLight, sizeof( m_light ) );
- m4 n% I+ W! G2 |6 Q* {
& I y1 r7 \& f' ]# X5 A pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );% {3 Y/ Z- E8 }% w+ X& a
pLight->Appear( m_pd3dDevice, TRUE );$ p9 _: d9 T& M# s3 b
' b3 v8 M: v; |$ i1 Q/ {' [0 r; o
DWORD dwR, dwG, dwB;+ s P6 @4 v( X, B) P# a U
dwR = (DWORD)( pLight->Ambient.r * 255 );
4 }+ `1 J; [# M: P dwG = (DWORD)( pLight->Ambient.g * 255 );
9 j+ t! w9 f0 n* y/ i dwB = (DWORD)( pLight->Ambient.b * 255 );
: D5 U1 ?2 C5 `$ ^) U" @2 u3 S& L1 x dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
' L7 v, d( e3 A3 H5 t# M }" y# `( P. k& @) I$ C: O2 H
}
5 f% L2 i4 }+ r else% D$ C+ i/ e8 p, v+ q% p
{
* O+ w; M# r o* D& c. c# u if( pLight )2 Y% O: D* C% P1 z0 i
{- |5 a; @6 h" Q, L6 Q2 r
1 J `& a0 t2 Y% `8 I int nHour = 8, nMin = 0;
- T; O6 Q6 ~; d7 Y% C' y #ifdef __CLIENT
) ?* ]) t" S% S/ q E" R8 g // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
1 x9 V- M, O! t+ l) v nHour = g_GameTimer.m_nHour;8 {8 ?3 N' Q! S5 U
nMin = g_GameTimer.m_nMin ;
, y7 d; \/ |, ?9 D4 D #else
- k* E/ w4 V# H2 h5 G // o??o??′? ??°£à? m_nLightHour???* °?á???′ù. l# `, d' e( I4 q( y" v
if( m_nLightType == 1 )
' P) z7 |. h5 M( g nHour = m_nLightHour;# R5 S: ^( z/ j0 M1 A9 u8 g
#endif, J: ?) M/ y; i4 E
nHour--; a4 ^. |4 g0 `$ q9 O
if( nHour < 0 ) nHour = 0;
. N2 _% c% ~' |" ?* w5 D& w W if( nHour > 23 ) nHour = 23;
5 s- M) T5 o/ N" K/ S" t+ _# w9 U# Q6 s" r; Q7 j
//if( m_bFixedHour )$ p2 o# K- U; h, h$ X' @
// nHour = m_nFixedHour, nMin = 0;' w: Y) [" }3 _: T3 L+ v
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
' s- D7 ~9 v v LIGHTCOLOR lightColor = m_k24Light[ nHour ];
; x2 ?/ r$ M4 q) J0 r
4 _' T+ G& q' o6 ?9 N5 z- N& w; ]* `. ^ //m_lightColor = lightColorPrv;
6 F) A2 N4 s8 a, q% U" S lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;& F) A& K8 V0 w- Q& z: R4 ]& `
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
0 W6 }' G$ k( U3 n7 R( m6 h lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
& Q% g( ]8 ~5 H8 } a+ l lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;, }1 v; r1 Y0 d5 D3 ^$ [+ c
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
3 ~, F+ N0 F$ B% Y% ] M5 } lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;7 {3 q7 |# Y' b
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
% S3 M' G2 H( i7 z# W) _, c
4 L: x: W0 b: `3 ~5 [- S3 Q // à??μ oˉè* / n+ {7 ~! A( F1 g
pLight->Diffuse.r = lightColorPrv.r1;
) v$ m, h \8 _0 v9 h pLight->Diffuse.g = lightColorPrv.g1;7 e8 L! P& \ F% _
pLight->Diffuse.b = lightColorPrv.b1;
- \8 N8 o+ l6 y+ S: k+ e$ a // oˉè* ??à? - Y. L! \% k) ] O8 Y6 }
pLight->Specular.r = 1.0f;
7 L, a8 T$ Z( v* y8 a( U pLight->Specular.g = 1.0f;
; O4 K4 q7 C$ z( W; [4 w8 |) k pLight->Specular.b = 1.0f;5 U$ V+ z9 M" _7 c$ E
// àü?? oˉè*
3 r- U P) L0 }1 R. \$ } pLight->Ambient.r = lightColorPrv.r2;
; G& z+ ?! Y2 e" W! x$ ~% J pLight->Ambient.g = lightColorPrv.g2;
% D: g, Q/ n7 y) g& H% l pLight->Ambient.b = lightColorPrv.b2;8 b' u: M" z! q) c0 U
* c! a; D t& b/ A' n5 x5 ?! C* @7 ^ if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.$ N) _% K$ j+ ~
{6 u+ R8 ]0 ]7 Z. C
pLight->Diffuse.r *= 0.6f;
: e, S6 ^5 w% ] s pLight->Diffuse.g *= 0.6f;
- m7 I4 s* x% D pLight->Diffuse.b *= 0.6f;
( \# B1 K; q9 b$ p pLight->Ambient.r *= 0.7f;' ]% D" L7 F" v& R+ W
pLight->Ambient.g *= 0.7f;+ {/ y. s5 {2 i3 g, q7 ~$ V
pLight->Ambient.b *= 0.7f;3 V; k8 D3 b1 j& D: n6 W, g* }
}9 ]; M% d; `- y; |
5 N( t, b0 |; T8 Q8 f#if __VER >= 15 // __BS_CHANGING_ENVIR' w3 X( R( N; F2 r# Y# [6 B
if( g_pPlayer )) ]; B u1 u! a9 F$ ^
HookUpdateLight( pLight ); ) f0 U3 s4 k- F; G" H
#endif
) o7 r6 k0 A' ^4 [/ z' k2 ~ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );" E) F- O; l* b) {; _. l4 h
+ }3 f- k# }! Z( s! _$ o5 Y, W; c
#ifdef __YENV
6 M* {( J# Y$ f( c) f$ C pLight->Diffuse.r *= 1.1f;# f: c1 K3 c! j7 t$ @9 v# L6 G
pLight->Diffuse.g *= 1.1f;( y: x( j" Z B0 r
pLight->Diffuse.b *= 1.1f;
3 P0 M% G1 Z7 D( L9 f1 f' M1 d // oˉè* ??à? & l) O* ]/ ~9 P& Y5 P- n6 Y
pLight->Specular.r = 2.0f;$ ^3 ~4 M, D) E: B- ]0 i
pLight->Specular.g = 2.0f;) B9 M- k) p0 o
pLight->Specular.b = 2.0f;
- o; s1 k' W! Y; P( e9 j // á?oˉ : r2 R! W+ P2 C6 ]" n8 D$ R" s% o/ ^* G
pLight->Ambient.r *= 1.0f;, f( l Q: M3 w5 F
pLight->Ambient.g *= 1.0f;5 q) j% [8 _) e
pLight->Ambient.b *= 1.0f;
; j0 H, ~% a, _, S+ x, g! w#else //__YENV7 ^6 k- P! M2 K2 h5 C5 Y
pLight->Diffuse.r *= 1.1f;
* u; S5 ]* i( f/ ?* o pLight->Diffuse.g *= 1.1f;
0 v5 Y- t$ ?5 h: v pLight->Diffuse.b *= 1.1f;* r+ a: B8 O! R3 L- k! O
// oˉè* ??à? 3 Q9 y/ X" n t1 u v- U: g
pLight->Specular.r = 2.0f;
, {/ V5 @$ S9 `, V& p" M5 b. F pLight->Specular.g = 2.0f;
# b# V/ b" P; l$ D3 g" z pLight->Specular.b = 2.0f;
0 r9 g# H9 a& r' ~ // á?oˉ
; V! l1 {( F i5 k pLight->Ambient.r *= 0.9f;
i' K+ b# o7 Q pLight->Ambient.g *= 0.9f;
; _/ y+ E. B( i pLight->Ambient.b *= 0.9f;
+ ]$ v6 H [: A#endif //__YENV
& o w. u, m4 q; A4 `( f4 a , C$ v7 M/ C3 A2 k/ Q
memcpy( &m_light, pLight, sizeof( m_light ) );9 ~; i( j0 H/ r, y8 |: z5 \- j
" |1 L7 Z6 L. l/ c4 Z/ {: a D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
- X/ ^: Q( F! k! M. S# `: [/ l D3DXMATRIX matTemp;
* m/ ?# t) m9 n. ? static const float CONS_VAL = 3.1415926f / 180.f;
2 M& M/ c5 `; ~0 `
n. J/ n; ]. s- Y8 ^: I2 z D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
9 w) O% e0 O+ y7 L D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);. J8 U" G# k# w. F9 [
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 5 {4 C* a; h' D
pLight->Appear( m_pd3dDevice, TRUE );% [: W6 ]8 x0 K1 K
( u1 s% J7 W; h& h4 n( o1 i9 V" u // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);! ?1 Z3 @6 Z* ]( j5 i
// D3DXVec3Normalize(&(vecSun),&(vecSun));( L' u! S5 \1 U+ B& N; L$ r
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); / p/ K3 P+ u3 B
: j% \. U7 M( K) H2 k DWORD dwR, dwG, dwB;
) C2 e8 d: z/ s; p dwR = (DWORD)( pLight->Ambient.r * 255 );
) ?8 E- g( s$ ~ dwG = (DWORD)( pLight->Ambient.g * 255 );
3 m3 E- U: ~+ J! u dwB = (DWORD)( pLight->Ambient.b * 255 );
& q% v/ A: d0 p5 ]0 x dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 7 n: v' x1 m8 r w) x
}' E. z8 x8 L9 f. p
}* D1 \5 c, t* j- {9 I
* w6 Q" g4 _ A" }1 L4 q
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
. @% e) l g6 z8 h 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) );2 G% m2 E0 [5 V2 ?( [
::SetLight( bLight );; k) Q7 R$ [1 [1 s
& C8 ~, _& ^& z' a5 N0 |; t
// ±ao? ?D?í???ó á¤à?
5 I$ j! a$ m4 f, l. S m_pd3dDevice->SetMaterial( &m_baseMaterial );
j* }" x! D; O# x
1 Y, i2 `0 |' Q#endif // not WORLDSERVER
4 K6 f0 l' x; D% ]}& l: ]: Z# m. [0 N' R( C# v4 ^" m
并更换
- h; |# o' D; e3 b) z+ `* kCode:" B- v0 {' ~' m% w8 O1 K5 |
__FLYFF_INITPAGE_EXT
/ e7 s" Z! W( K7 M! v( t1 g6 l定义: i; [1 `: P8 U& n
9 K1 p4 \1 P+ M
0 C$ q% X, H J8 g' |! t1 w: R! w* N2 R
- D9 ?4 O3 o% ]9 Q3 V' N
现在终于删除我的狗屁加速...
* `/ u4 ^% O0 ^: w" x3 C
% Y. M+ d' F6 F5 z) S2 C0 I$ H
; t( Z+ f% m5 [' d5 w X0 q3 ] ~! A1 a( |4 T
|
|