|
|
食品车:
0 }( i0 N7 s) |# \9 M: [尾翼:3 F; c2 j7 w6 p" T( }/ ^
2 U- L; m, ^" x, K% G代码:4 s3 A! `6 t+ J& u+ J: Y: }
CWndAutoFood::CWndAutoFood()
- ? c0 {: q+ G& |# r9 u% j{
/ f7 o# u" n S; r+ Y& y# \+ B4 m m_pItemElem = NULL;0 k$ \' `9 z: d q; V0 k
m_pTexture = NULL;
' v9 z) u3 F a M( U bStart = FALSE;
: D% a. P# z. T+ \) m}
3 F4 b* V$ b7 N5 |, B1 e7 D- v$ ~- {+ x3 a/ G4 r
CWndAutoFood::~CWndAutoFood()9 O/ s& N0 s3 o
{/ ~ G8 y6 o2 \; j" B
AfxMessageBox( "AutoFood ist gestorben " );
, ?4 q+ [9 [, S T7 g% y}+ M5 ]4 B' n! S6 _2 U
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )2 ]) h/ O2 v. N D9 J. y
{
, g& b' _" H( U( F return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );) S; Z O+ i% H. S- c/ Z1 A" y$ k9 h P
}
; m( E1 h; s b3 z# t7 r' @% e3 {0 |- P& b! U
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )% T5 l9 m! D" ?- ~4 K
{6 N' ~+ v A3 B1 K
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
6 z, v; x' w; X1 w% A/ `1 a CRect rect = pWndCtrl->rect;$ A, h: z! R3 m4 c
if( rect && rect.PtInRect( point ) )
2 P3 {* ]. G# k6 h4 k {8 h# @5 p0 n b
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );( r% n; a7 G) T; b3 ]" n S
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
7 n* n2 Y! Q' g/ o& ?$ L3 a {' a8 x4 H- ]7 M, s5 f6 b- m+ g
if( m_pItemElem ). T3 V( a4 `/ Y% a
{+ S4 t- m4 P, k+ q( A. f$ _, `
m_pItemElem = NULL;
, B1 ~/ D8 ? y }
% w7 p% k' N8 J% l ~ m_pItemElem = pItemElem;
6 C- x' n# J: ?$ [; v m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
/ \4 ?8 ]* U5 w }else{
' i2 s/ a7 W7 Y5 y! q* e! E SetForbid( TRUE );1 ^5 Z7 _' _& J) R
}( E7 E7 B5 R2 h( D+ F G' _
}else{$ s; z6 B; _8 A5 {& `
SetForbid( TRUE );
9 j; y. t; V8 V' r) a. |( A }! q+ o& A& U1 D4 M' p5 J2 Y
return TRUE;: J' X: j7 h2 D; `9 t j$ p9 O
}, N7 Y. f( C" ~# e0 c/ V
6 B' t' }+ s1 t. d# NBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
9 |0 x4 k# a. s3 g3 C7 ~& s* {$ o{
6 u j$ F$ F0 _9 \5 I. A switch( nID )
- e5 }: Y1 y0 ^/ d/ p$ R {
! _, _7 i4 V! P" j T. C case WIDC_BUTTON3:
* S6 I6 k$ u8 s" T S {
& N9 y, f' i6 y- _. z+ _ bStart = TRUE;
" W/ R: x [& J' _ break;
% l0 Q! U$ ]$ h# f+ a4 \ }
4 [* z" b2 F6 P C5 V9 u case WIDC_BUTTON4:. F5 Y- w7 s/ W A
{* V4 l/ k- T& m) n6 M
bStart = FALSE;, K, q0 P+ b7 K! z
break;& Z8 C! \/ L, Z
}
9 n/ w7 Y) {. z( @$ X8 e- h+ z$ | }
6 u2 L7 e& M& o4 @5 y, O return CWndNeuz::OnChildNotify( message, nID, pLResult );) u; N8 E* H5 ^$ N. u& h
} 2 J3 c; o! @: w o
void CWndAutoFood::OnDraw( C2DRender* p2DRender )) }8 M, ]" U( _$ n' t2 y
{
3 @2 J" y2 ?8 T CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );) M4 @3 a. K0 u4 p' f9 ~6 X
if( bStart || !m_pItemElem ), M$ q/ u6 B& j9 q! }& D( X! x# l/ ?
{
; r" \0 C5 Y# [/ t9 _ `# z/ S0 r$ @ pBtn->EnableWindow( FALSE );$ ?, H+ `% f8 C6 }7 I5 A
}else6 q K. I& w Y5 |
pBtn->EnableWindow( TRUE );
8 m' a' o2 z. C/ n/ {$ r( u5 A" T if( m_pTexture )' S/ B& q) v6 s. y
{- n; \% M- G5 ~ r
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );1 y1 u: O' j: v& x1 Y0 H
if( wndCtrl && wndCtrl->rect )
1 V3 I7 B5 ~" d% n1 l. g% m {
: h1 u% t% D/ l8 I) S8 P4 X m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );! s! @8 ]2 y: ?% ]7 B ?! z- x
}; u! F7 J8 r/ x/ I, m
}
+ P1 S) I+ |) G& m: Y R# f}
. V; ?" x& D: t! r! w% K g1 b
5 V% k9 G9 E5 VBOOL CWndAutoFood: rocess()
- X2 F) I& J0 b( Y. V- f' Y- a{
4 Q) d9 u+ T8 m+ c" r9 i' c: ] if( bStart )
7 A. O- f5 R- `' P {
" E' }# p4 O/ ]& u! _# z/ M if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
: g% ? X' }* {5 o# B2 V8 [ f {
; \& v: ^/ H. _3 U d if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
/ W0 H% e; Y" r- e" r. \0 Z" G g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );( x" z0 O4 y4 t; t9 U
}else{
9 Q! o2 x5 A4 H8 T4 y6 O' ~* j bStart = FALSE;, K5 o. E! y4 ?3 ?
m_pItemElem = NULL;) L% k2 ?( {% m; u
}! ?5 {/ k3 i3 Q# v ?
}
) _* g! t4 A7 }* x; R return TRUE;, w( F' e: q9 Z# F; u+ r# p
}
( `5 a/ W) [9 J) k( Q% \7 g
! T5 B$ y: \5 X! f y登录视频废话:- h6 P8 v2 p$ z, l2 p# N; b
尾翼:1 c, O5 x1 f5 ~# t R
9 j/ }) s' i) F# t3 c
代码:
5 M7 B o: S1 R' `
7 L4 r4 ^( U1 xvoid CWorld::SetLight( BOOL bLight )
2 k) B, I+ N- F. p3 A6 rdurch
5 W* h. o( j% `) Q! zCode:
7 @# ~2 C6 W5 ?+ ?void CWorld::SetLight( BOOL bLight )( a. I2 z+ Q2 B X
{3 q+ K/ u8 p" i8 t. ? B& c& ~% A
//ACE("SetLight %d \n", bLight);
: \% U! \9 v' l l9 [! ^* ~. `8 E6 \
#ifndef __WORLDSERVER
; P2 z! R# q) f# n DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
/ c4 M) }! s9 W CLight* pLight = NULL; T4 y4 L6 \5 M: }- x
/ y( A2 `6 F5 A% Z2 C' o
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
: G7 {; a8 j- x8 D( _9 R+ h, E$ A. P
# g h0 D H1 A( l pLight = GetLight( "direction" );. h3 [# M4 c" \: Q \' B
2 e e" ^7 _( M/ o9 w5 p#if __VER >= 15 // __BS_CHANGING_ENVIR; d, {) ?. t; Z, O# Y
if( g_pPlayer ){
6 Q: V6 m5 v: p' d- d, } ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
. G. H! T3 ?) g k# I% { if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
! E7 I0 y5 |( G$ Y+ f {, T5 ?& h, D$ L+ I) [$ {1 ?
if( pLight )
9 i5 o8 c P( A$ F" b* T+ {$ p {
+ @) S0 T* |9 N, ?- d( ~% ] pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
% U, q6 r& C$ Y) g1 d+ F' h1 L pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
' [: K! W0 F' r2 r0 T pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
: J1 o* B7 W' g( q
* C$ ?; \+ P$ X: n2 ]$ ` pLight->Specular.r = 2.0f;9 G( b, ]4 a) S, a. l& @
pLight->Specular.g = 2.0f;
: T, ^8 D6 m9 D pLight->Specular.b = 2.0f; n6 c1 l" k$ [) v8 Z
7 F& M2 T& K: s+ U3 p pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
& B7 R7 O% g3 ]4 N9 O% ?0 J; }8 a) p pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];5 [, K9 T, q8 n6 z6 M
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
' M: ^& S6 i* m& c6 ] , z, ]. n4 t1 q, \
HookUpdateLight( pLight ); 9 V" ]: [) n3 l& o0 f
% b. d. {0 J) _, G memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );0 G% ?) w, `5 o8 w# A* ]; I
) z" `+ o$ x/ C/ Z6 F) P! Z& ^ pLight->Diffuse.r *= 1.2f;
$ i9 j* b; O" g3 y: I6 f+ d8 Z pLight->Diffuse.g *= 1.2f;
5 u- Q5 M! n+ z pLight->Diffuse.b *= 1.2f;
* [+ W! }4 v3 }. o8 o
' o% ?$ q0 Z1 _% w pLight->Ambient.r *= 0.8f;
( E4 p" i$ U8 H pLight->Ambient.g *= 0.8f;
# K9 Z# _" M1 r6 e& U4 b pLight->Ambient.b *= 0.8f;
/ K* ?5 H( A+ {/ z4 N3 z7 {3 s
7 g0 s- w) U6 K# Q7 O memcpy( &m_light, pLight, sizeof( m_light ) );2 l2 m% D/ E0 s" @1 @& a! m
$ ~3 u; d+ B( u+ u5 O
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
+ q6 i6 V u$ X6 F4 R D3DXVec3Normalize(&(vecSun),&(vecSun));! t- J) M( e- p6 P; O# Y
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
2 K( t; K7 K$ [ B! c/ B pLight->Appear( m_pd3dDevice, TRUE );
! X& _8 T% A1 Q, d ) _# x7 k/ {8 [
DWORD dwR, dwG, dwB;6 [3 Z/ F+ Q# w# T5 D8 D1 _
dwR = (DWORD)( pLight->Ambient.r * 255 );
- _; W$ ]. V& \" W dwG = (DWORD)( pLight->Ambient.g * 255 );( k. P3 Z$ k6 `# X% V
dwB = (DWORD)( pLight->Ambient.b * 255 );
* }) U8 }+ e( q( d, C% @ dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
P6 m* ]4 w7 h1 \: p- T& [ }
" Z9 H8 l2 u/ M- I: H( k- N }* k$ p ]) K# g: a
}" d& ?% k1 d6 ?! u! e
else
# u5 q( \1 v5 r# Z; r; _) s: t#endif
, _5 b r2 P3 k; ], I4 o, [% W3 `, Q ^
if( m_bIsIndoor )
# z- s, \' E3 t& y {
3 q4 t% w! {8 e6 u0 r$ N if( pLight )$ \* b1 r* z! f& d( D6 U
{
" F; \: d% I. P // à??μ oˉè*
. B' ]2 A6 f2 c( z, n pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
- C" `1 u- v( X3 U" ?4 P1 F& { pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;1 I5 B* F9 T0 ^2 ]% Q7 i
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
3 ~, t8 a- L2 |: Y! q8 L3 n2 A s' c* h( ~
// oˉè* ??à? 1 l+ X: K* d% r# x1 K+ ?; u
pLight->Specular.r = 1.0f;$ t# [) i1 [4 Z$ h9 q9 g- _6 ?- p
pLight->Specular.g = 1.0f;; k- j# A% q" }( ]$ Y0 i
pLight->Specular.b = 1.0f;$ l8 q; r% @; U/ C- {& D
// àü?? oˉè* 1 [7 i/ m, n" ]9 r! s& F& ?
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
' P/ F. A( s b0 X5 ]1 _5 _ pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
" [/ o9 w" u) E7 I pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
( t Z) w! X5 S& `' |- J, j3 K9 ^0 C% V
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.) E0 W. t& I4 _' O
{& V( _1 X. W2 R8 ~, ^" e
pLight->Diffuse.r *= 0.6f;; K' b0 i$ H m# }! ~/ ] m k" n
pLight->Diffuse.g *= 0.6f;% @% L/ k( Z6 s$ R& i: Z, q
pLight->Diffuse.b *= 0.6f;
% ~9 b) A9 d& H pLight->Ambient.r *= 0.7f;
: X$ O( o+ q7 C+ k pLight->Ambient.g *= 0.7f;
. M/ ^3 V3 w5 } pLight->Ambient.b *= 0.7f;' Y0 B: [* ]: o7 @5 f4 E
}
1 A4 J. M/ O) B4 E" x$ U- q' X6 i
: X6 Z [, a; U+ T0 r' u+ b" {; N0 q#if __VER >= 15 // __BS_CHANGING_ENVIR
6 y( O% I: C: U# e7 m [% [ if( g_pPlayer )
! D- `4 ^. @% R% k HookUpdateLight( pLight );
k: n0 H, r" o#endif
' Q; M9 |6 }' z, ~' z- ^- o8 a memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ l. e: U/ y* _/ k+ A5 ^# \9 g" f0 O2 O7 Z) ]/ i& a
pLight->Diffuse.r += 0.1f;7 M+ m9 K2 W) Q4 \
pLight->Diffuse.g += 0.1f;
: P# V/ d/ j5 a& X, x/ @. Y pLight->Diffuse.b += 0.1f;4 w: z% F9 z0 t- s" Q1 i) i- C
// oˉè* ??à? 6 `, x( r5 j! k5 B3 c: ~5 `
pLight->Specular.r = 2.0f;2 y( J4 H$ e3 l# F8 `1 j5 v
pLight->Specular.g = 2.0f;
# D: [# {4 R: U4 ^ pLight->Specular.b = 2.0f;! ]) ]) n+ k$ S- }" w- w7 ^/ @
// á?oˉ : I( g$ }# _) S/ R! h: a @! i
pLight->Ambient.r *= 0.9f;) P6 L' ^: \* z7 Z* i. P
pLight->Ambient.g *= 0.9f;
B8 U2 Q) O4 t( H S. ?' V pLight->Ambient.b *= 0.9f;# l/ B, A. f' Y
% o# J& g/ O5 D
memcpy( &m_light, pLight, sizeof( m_light ) );
% g0 U. H6 ^$ X+ H* f" j9 {( ]
8 _( m1 J2 y7 w, o% Y" o6 \- l pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
. X$ [6 S6 z/ t. I/ U) P) T pLight->Appear( m_pd3dDevice, TRUE );
2 l: W) W R: o 5 V4 t8 i. o8 l+ ^" \! `& g
DWORD dwR, dwG, dwB;2 y! U0 c& c( ]7 C
dwR = (DWORD)( pLight->Ambient.r * 255 );
2 M8 P) R. D d9 s dwG = (DWORD)( pLight->Ambient.g * 255 ); G/ K$ l+ Y% v$ w: ]# x0 Q
dwB = (DWORD)( pLight->Ambient.b * 255 );
9 ~9 W8 ]. L" [) K: F8 ?7 y dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );* R) d0 |) |9 L
}
, ~( T: y. O, t- r2 r4 i2 a7 d) `: q }
3 u2 J6 Z8 L' m7 C else
8 w$ U3 s3 b& |* y3 r {
6 v! t5 U/ [6 ]9 ] if( pLight )
0 D; C' O9 e0 r+ }1 Z1 f. c {" v/ u' @9 W1 _
|& U( @% Y0 c8 c% u+ `4 w int nHour = 8, nMin = 0;! D4 V2 s; Y( V# ?
#ifdef __CLIENT0 u, b( {( A9 n# k4 Y
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
9 n' a( p3 i+ A; ~. C$ C8 D nHour = g_GameTimer.m_nHour;* L& X- }0 g ~# g; a# o, z
nMin = g_GameTimer.m_nMin ;, F; u9 {' o- u: d
#else
2 t. ]2 @: G. e4 d // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.# [) Y. L# V) V9 Z5 W4 j% J
if( m_nLightType == 1 )
; o6 i; f6 T$ M7 S nHour = m_nLightHour;
) d7 D5 n) R3 w1 K# L/ O6 ^ #endif$ C+ b6 E( t* E8 L
nHour--;( e# N& x" l0 J. i4 N8 b6 a9 E
if( nHour < 0 ) nHour = 0;
% H6 S8 [- y! H5 I- O' f" @- C4 h if( nHour > 23 ) nHour = 23;
2 O) M: M8 r0 @, {; F6 A% U2 L2 n2 B4 }
! t/ @8 h1 b: f {. x //if( m_bFixedHour )7 ~/ _, y$ A3 @+ [- B4 F: t6 |) Z
// nHour = m_nFixedHour, nMin = 0;! U9 @+ c& o4 B, V# K5 _
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
6 D& o1 ~' g O/ I4 n' v/ F LIGHTCOLOR lightColor = m_k24Light[ nHour ];
9 o& L) U: `7 W* N
9 c; D8 N3 }% j2 F; B d, u //m_lightColor = lightColorPrv;; F* y3 r2 R1 r( a
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;) v% G$ Z: J) _
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;7 f. h4 c! Q2 I0 W
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;! M/ \. a5 [8 z. C m9 S4 [
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
7 ~: U: R1 v6 _1 v' j+ A8 b lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
6 B9 N% Z9 Z% ^* P" L; b9 |8 P4 s+ U lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
- H- v1 _) J' Q // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)# X3 z3 A1 l: S. ?# u: j
7 i* z6 {, J' T/ ~; D1 z* a$ O) s3 a9 k- q // à??μ oˉè* 7 F" a* ? g8 q7 }' Q
pLight->Diffuse.r = lightColorPrv.r1;
7 \6 t. I$ ^0 U- D; _9 E) A pLight->Diffuse.g = lightColorPrv.g1;9 w; k2 [: y% q9 H" D6 L
pLight->Diffuse.b = lightColorPrv.b1;
8 d) B) h, M7 O! B // oˉè* ??à? - _3 f9 R& s$ P( N0 s! W8 Z
pLight->Specular.r = 1.0f;
% |$ N1 H- [) h/ Y. [2 s3 f J2 f pLight->Specular.g = 1.0f;
]) k0 m% D. s: e' v. W' t pLight->Specular.b = 1.0f;
& x+ Z8 [7 J n: @8 a9 m8 y# ]1 C) J8 \ // àü?? oˉè*
; a6 ] s7 F! |; v1 U: K pLight->Ambient.r = lightColorPrv.r2;
- j& ?$ M1 f2 n; M5 S pLight->Ambient.g = lightColorPrv.g2;
a7 C- F, i0 Q" h) C% N0 e pLight->Ambient.b = lightColorPrv.b2;
0 a8 c" R/ M H- R9 l& |3 [' f
5 y6 U6 _1 Y5 s4 R. h" J if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
! ]+ L* n) j$ e {
5 X7 N! ?1 X- |) ]" D# P pLight->Diffuse.r *= 0.6f;1 G* q' o m% g0 F- ?
pLight->Diffuse.g *= 0.6f;; ?* U2 ~% U% }2 G, A, {1 j
pLight->Diffuse.b *= 0.6f;
9 J4 C( T) e" d" { pLight->Ambient.r *= 0.7f;
7 ]0 A0 a/ j5 W" X pLight->Ambient.g *= 0.7f;) J4 f' E4 T+ O2 u: a
pLight->Ambient.b *= 0.7f;
R, [& L" v% \: F }
5 E9 h7 W! S3 m* e& ]4 K8 B ' ?8 I9 @% G: I8 C* \5 \
#if __VER >= 15 // __BS_CHANGING_ENVIR
" w% l3 k% m4 |1 Y* h if( g_pPlayer )
r# f7 n8 x/ S( [- M0 P1 U HookUpdateLight( pLight ); ' L0 _; S" p# j3 b1 ?" {7 K% D
#endif
$ k( y) X! v( S7 ? Q' N. l memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );9 O: p% ^4 N( A9 F `5 ]+ d& G
1 e; b+ N5 W* |$ z
#ifdef __YENV: c7 n* t4 {* J5 I8 n: `, ]
pLight->Diffuse.r *= 1.1f;
: d- B+ l* F" l) S1 b; A pLight->Diffuse.g *= 1.1f;! m4 k- ^' I2 q" z; w0 S! j
pLight->Diffuse.b *= 1.1f;
( u, P7 ~. e9 s1 n2 E; z6 | // oˉè* ??à?
( |. v' `% X% ]. t/ l$ H; U pLight->Specular.r = 2.0f;: v7 j5 w/ k* t9 U/ g: r
pLight->Specular.g = 2.0f;
* L. L: y s* y) M pLight->Specular.b = 2.0f;
% y/ L/ n! J9 D# L) P# M# c' p // á?oˉ
! b; F% K1 b/ l' _% k' l pLight->Ambient.r *= 1.0f;' I6 H9 K- O: S* S: m- b w5 |- \
pLight->Ambient.g *= 1.0f;: c4 l1 O. C3 [% I, C
pLight->Ambient.b *= 1.0f;
0 `- D! G3 \- f+ E+ E#else //__YENV
- q6 y6 z' X+ O* p pLight->Diffuse.r *= 1.1f;5 ?5 j; |$ L& E- ?. Q, @
pLight->Diffuse.g *= 1.1f;8 E/ J+ q- b$ N0 p& G' b3 i
pLight->Diffuse.b *= 1.1f;
1 Z4 k* ]5 _1 X2 Z0 e // oˉè* ??à?
# ~6 Z0 [' n6 Q# r5 G3 L' v9 O* x pLight->Specular.r = 2.0f;
$ K K& l G# f# ?2 x2 E pLight->Specular.g = 2.0f;- v, [8 f/ t2 a& v- E
pLight->Specular.b = 2.0f;8 h& o% N7 @. M* V! N
// á?oˉ
& Z$ _$ S c! o, k Z& J) W' X pLight->Ambient.r *= 0.9f;
+ F' k9 L. K3 ^ pLight->Ambient.g *= 0.9f;5 v% h, X: d3 A+ Z) Y* P1 L
pLight->Ambient.b *= 0.9f;
" l3 [8 x0 x) s! a' K$ [' |#endif //__YENV
) x6 g6 l k: c) N
% R' ?: \; u- R7 {2 q7 e- Y' q memcpy( &m_light, pLight, sizeof( m_light ) );3 m5 W* \, c; H& {/ A! Y, K
0 ~* |- X3 |+ q* n6 a4 }% _ D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);, s- z/ P# l2 i+ l7 O# G
D3DXMATRIX matTemp;
% K* _1 y# C- D) X* [ static const float CONS_VAL = 3.1415926f / 180.f;, j3 D% b* S& h8 W) z- G
& J: t: l$ K! c0 x
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);0 U" U" N! t* q) |+ J
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp); I- D1 L: b- h3 q/ T
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
: O1 O/ S- p4 C" p# p8 L8 G pLight->Appear( m_pd3dDevice, TRUE );1 H& `; A6 \; W6 i% o. A
- `5 U8 Y4 M4 Y3 x) T- H; ]2 t
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
) y% q" Q# d" R9 m' L" d // D3DXVec3Normalize(&(vecSun),&(vecSun));
5 z" o& j2 G! {: P1 E: F2 V- G8 [ // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. d: [" D2 ?- u
/ d6 g8 W; l. f/ G6 G: j DWORD dwR, dwG, dwB;
' e" z; u8 X: X, h# S4 G dwR = (DWORD)( pLight->Ambient.r * 255 );# u0 V* G8 N0 ^+ E) }. L
dwG = (DWORD)( pLight->Ambient.g * 255 );- a) D# L' E1 d# F8 g
dwB = (DWORD)( pLight->Ambient.b * 255 );
9 q* `/ H4 }2 U) F dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
, Y+ J5 b" J7 t5 N: ~ }
5 _6 D% x* }* w) c }8 P \4 W, q; i o y5 h
7 [* {7 D B& _& N+ P* O
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
% H+ f$ |7 H* g5 H8 k0 v# D# 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) );
2 Y/ l* Z: W3 G) f5 f2 b ::SetLight( bLight );
% A% o# z. w# N( N2 `3 K3 b2 n; f+ |; S$ z4 D; }3 l
// ±ao? ?D?í???ó á¤à?
3 f+ ^; A+ x! u2 O2 k m_pd3dDevice->SetMaterial( &m_baseMaterial );
" c5 v7 @5 M3 G4 G6 u 7 F1 j( U( }8 y9 J3 u
#endif // not WORLDSERVER) g" X/ e8 t5 O$ b3 A
}: `! U1 L5 J# p# D
并更换9 P% d* q7 |5 s0 M
Code:: A5 L* X7 m. O/ S
__FLYFF_INITPAGE_EXT' `8 d1 x7 D( }" N: [8 w
定义
0 H7 B6 P0 v( n% H3 F7 @# `, h3 p% q) q( u; U
; x4 X1 W! @8 A# H/ v& e! R5 ?! P
8 P7 q3 Z$ }: h2 f
& V$ d0 B4 _2 x) ^& g0 y8 h7 U! Q现在终于删除我的狗屁加速...
: v5 c" C! I) s$ v2 C0 F' M& S
& L& d) J* G( g" j( p0 x& ?8 [3 M. M1 C3 L6 T
+ `" R9 }- _9 x/ a/ Q6 ?( k/ { |
|