|
|
食品车:
& _( \1 V5 s, Q尾翼:
5 V z: h0 i3 h5 J/ s) d8 n. Z* E- }* u' u; C; Z1 J, o1 H. G
代码:$ E4 i7 Q" Y0 q
CWndAutoFood::CWndAutoFood()2 k( [# H8 P$ q/ S
{9 M) ?+ D8 v+ A/ {/ H% A1 _+ x. T! E
m_pItemElem = NULL;
3 R" P U3 _9 `/ U, d6 r m_pTexture = NULL;
7 n9 n S* N3 g' z% E$ ? bStart = FALSE;
2 f/ R8 M, h. b) G" D \0 }}$ G/ w) O. ~9 c" X5 |% C
( p1 }. B( m0 J. d
CWndAutoFood::~CWndAutoFood()
' J7 q) V! t4 D+ }{
* I# L7 N( Q6 w5 {) v AfxMessageBox( "AutoFood ist gestorben " );; @4 B$ O& W& D" W
}" H" Q/ ]4 O4 m8 G
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
8 J. [$ E, U' y- h{
8 |0 j% F) e$ k8 F- `0 ^- ~& X) S return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
t1 K2 d. d7 S}
8 U# d. K7 t$ J. J, i% U
# V1 k' O* ~* Z' mBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
5 }% R s1 h$ `$ P6 I+ _7 l5 \ x{( ^6 `. [- z- R3 o. B/ G- q" A
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );3 Y( P# W* V& f" I" W; J+ [
CRect rect = pWndCtrl->rect;
w- X: S1 l& i: m1 B( f4 } if( rect && rect.PtInRect( point ) )
1 O* Y: l% X& T" _( [ {
. l" T% {" O6 O CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );/ \. [8 i2 u# w
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )) Y& p3 b) L9 v2 A
{, Q6 W5 u+ o1 E% H3 u
if( m_pItemElem )
( M" N& ^2 z/ d, c, T9 }) ]. g {
' }+ K% B$ r( `& {# j F; j m_pItemElem = NULL;2 e- ^0 S- h# s5 }
}" o+ r' p" o. c/ h
m_pItemElem = pItemElem;, c& _% k9 Q) ?- s% k5 e
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );+ A* N! O( s0 N2 y9 E |
}else{
3 Q" e' ]' |# S- S. D4 j- f) s SetForbid( TRUE );
) n% G: l1 H& G# ^! A% R, K }
. @, [8 l- [. R8 Z( D }else{
" K6 H% F) r( K2 ? SetForbid( TRUE );* j* w s4 O+ C* ^
}% D- k' z% N% [6 X
return TRUE;
* g8 L( `" w$ f- N}- e0 p- P+ o# f4 T/ Z
" O& F3 O5 q; R+ E1 X; K7 A) eBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )4 j! K2 d9 {$ B4 r, u8 E
{
7 a0 s& k( y/ I switch( nID )
- a# @, Q& ~% s5 V, L {
2 Q2 ?, I+ ^9 p! L9 W! U! ] case WIDC_BUTTON3:
5 E; F3 f% }. W- I {0 u1 E. i4 y# x; u0 U7 I3 T! ^
bStart = TRUE;
3 s" v4 R t$ q9 u5 r( a! `; I break;1 I. w- f( x$ F3 F4 |9 t# z0 p8 q+ d
}9 ?" r! K, n5 V1 h
case WIDC_BUTTON4:* b; ~7 T5 g+ q& p* ]# Z& d
{
+ n7 Y$ V- C7 V- H9 i bStart = FALSE;
, [# W/ K1 A: l5 o- X: r* E L break;
+ h6 x! b$ m1 Z, O- h }$ _9 q8 ~% ?' L+ T9 b# S
}
* N. U, `3 G- H0 \0 I% `, P& t5 @ return CWndNeuz::OnChildNotify( message, nID, pLResult );4 u9 k1 O, M# T/ p; F5 |
} 3 A$ R7 D& z9 w4 G) H% P
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
" P1 u0 r8 C* ^2 }{
/ X6 O- f# x7 N1 J! \5 F% N CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
6 U2 j3 t$ e8 E0 Z. O if( bStart || !m_pItemElem )
, N; u; |* e9 ]; x1 m3 k+ g2 c0 t {' J" S9 o+ o2 U. e; J2 z
pBtn->EnableWindow( FALSE );/ f, \; C) g% @- b$ [6 C
}else
& Y4 q0 ~2 M( ^ } pBtn->EnableWindow( TRUE );4 Q8 D/ j- F, V! z$ R- {
if( m_pTexture ) c& E' w# e* U: L- Q/ c' C
{% {& [) l# E4 u; m7 [2 L5 ~. s
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
$ m; F4 Q* |0 A if( wndCtrl && wndCtrl->rect )
l) t+ E4 q9 L* f {
, P+ F3 e2 f$ } [& N m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
4 G* \) c, F$ s! u z" ?3 m/ E }
# v1 T a6 K1 x* o0 J8 ? }
' H- x* Y h: |1 D% @, a, @4 I) u, k}: ~* D- q3 |$ U% m4 y- {8 P
6 K, I K' J! cBOOL CWndAutoFood: rocess()
; T) E0 }# A% v7 S{
& [6 |! v; k9 R* d: K if( bStart )
& D, I/ U5 Q8 z$ q {) j' z" q: K$ l7 R
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
+ c) w! [8 z( X0 u8 _% L {, f9 r2 ~& V. A4 u; S+ 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() )/ }9 ]; [9 u+ R" N
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
+ H# t, Y& R+ I! x }else{
' b5 j. u& `/ G0 A- F. u$ R bStart = FALSE;
4 ~- b0 F% f% k6 I q1 J& e m_pItemElem = NULL;+ h( @/ ]# [4 r; [/ y6 [
}
; l% G& S1 ? S8 Z }
0 i+ f5 b. P' `4 M- c1 c return TRUE;
9 v0 R7 o4 h8 Z}( V6 I! p* J9 | F/ ?# ^8 e
- V O0 ~/ K; m. [7 \, q
登录视频废话:3 T; s1 M9 F6 u8 S1 V
尾翼:
4 ^$ Z e6 J% s7 j4 E# D' R8 U% n. k( T+ b$ D
代码:
+ ^7 B- l }0 j3 O2 U: P4 ?$ V6 L2 W
4 N. e% R( i4 b/ D+ @- Tvoid CWorld::SetLight( BOOL bLight )
% y; _' y' V; b$ Zdurch$ A; o2 R6 R! R
Code:; ]# P6 f6 e; ^$ z/ l
void CWorld::SetLight( BOOL bLight )
# D! L; y, v) x{; a+ M; L3 X. W- W5 ^
//ACE("SetLight %d \n", bLight);
. R, ^5 t' I# B9 t
5 w( z* D7 T/ E3 q& F#ifndef __WORLDSERVER
/ P7 s- L. k3 g f0 D DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
3 h( V& A& T2 w8 [7 | CLight* pLight = NULL;
( C: y, R* a- K; k3 u+ A
' ]7 e& d4 w: d P2 O0 F: u6 G D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );, n0 v9 r- n5 {* e( x/ L; d
! l# e4 W) T2 c; p! j8 K pLight = GetLight( "direction" );
4 w4 o' q9 Q& @$ T) k& _9 O$ @
7 A) p0 x0 u! R9 q* e#if __VER >= 15 // __BS_CHANGING_ENVIR0 q, y V. V) Q1 J" q. Q
if( g_pPlayer ){
: ?4 j5 y7 `- q" p# K [- I ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
5 O# a4 D8 L* H) \( ]0 a) o if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!1 t6 Z0 l! e7 w: L) Y# A) r
{: s6 s, b$ w/ k- s) L4 }
if( pLight )
$ x( e7 K) D2 ^( }5 J9 ` {
1 }, L& U [+ [1 a& v pLight->Ambient.r = pInfo->_fAmbient[ 0 ];! X2 L8 K4 H1 p* e! v3 d% F& W
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];( W/ S- T3 T% Y5 x- X
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];* f m3 K+ M. J+ w
) x% F$ R. c' l4 e1 T) ~
pLight->Specular.r = 2.0f;* Y/ Y; v2 C6 B) i
pLight->Specular.g = 2.0f;$ r) V$ V4 R. h' ]9 S R Q
pLight->Specular.b = 2.0f;
! ^& z, ~, z( F- J \& d& R! k \1 W, Y$ w. z$ ?! ~+ F1 C
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];$ a5 x8 ~( ~5 z" w8 ^( U' g1 X! X k
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
8 Q' G% `3 N+ V0 @) M. }: d" o/ t" w0 X pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];. j% \# R- t% E
& X( u& K! t# A. z+ b6 l/ C0 o! _- |
HookUpdateLight( pLight ); + \/ W/ G3 J% `% \/ ^" I
4 }. p# y+ S" q4 d* D# A8 v1 B memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );. @, l C, \4 l4 r8 k4 N' @3 S# Y
, c: V* m* @+ }8 T3 e
pLight->Diffuse.r *= 1.2f;5 t' B- b; X/ R3 o& M2 e
pLight->Diffuse.g *= 1.2f;
0 }+ e" j/ @0 A. L3 r% p pLight->Diffuse.b *= 1.2f;
. \ O6 Y4 o9 @5 ^, @5 x4 t8 z. i0 \6 l; F( @6 R5 ]
pLight->Ambient.r *= 0.8f;
0 j$ N+ N% f$ _2 e6 E) _/ w& v! T1 ` pLight->Ambient.g *= 0.8f;; G/ k# ] }! C0 {' a
pLight->Ambient.b *= 0.8f;
6 _" w( y$ b5 K6 f2 x ; F3 s0 C1 c" n+ T9 ?
memcpy( &m_light, pLight, sizeof( m_light ) );
( j1 d% k# e: h6 K& \+ c& r
! e l; O+ _) j$ N; s D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
) q/ @ L3 h: t' P0 ~/ p% y D3DXVec3Normalize(&(vecSun),&(vecSun));
7 {( x% r* D8 r+ \' @, e3 O1 `; n pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
" ^, L8 ?3 a/ t6 L% ^8 k6 u pLight->Appear( m_pd3dDevice, TRUE );. l( C3 Z9 {6 U/ s( J A9 l9 j4 K
# \+ c) S3 M5 \5 G; w- J* j* D DWORD dwR, dwG, dwB;- \8 H. d$ ?' u L0 j4 K
dwR = (DWORD)( pLight->Ambient.r * 255 );3 g4 a2 } P3 E2 |) x, n
dwG = (DWORD)( pLight->Ambient.g * 255 );# E4 m" h2 r* B, y
dwB = (DWORD)( pLight->Ambient.b * 255 );
! w" R) v, y1 N& b dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& c D; T' Q8 ?$ k! K }
0 z: y+ h4 U& ] {! o* b: W; J }
: R0 M0 [' \1 s. m' T4 r1 N }4 s5 e; h! d* [- {; u
else
) A8 J# P5 Q- c7 z# P) E0 } t4 N#endif , {, T: j8 d1 T' f, V% v9 Z9 _% n
- E0 Y7 e6 s* j) j/ Z if( m_bIsIndoor )+ P1 P+ {0 F7 m0 v: g
{( [/ }9 g* a; t+ q+ V' j7 ]# [6 T
if( pLight )* v8 M, _6 e" U% d4 J" Q% u" `' D% v
{
0 n! L$ W8 W, ~- k0 w$ w/ I% E // à??μ oˉè* , t: P- z9 ]- i
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
1 N9 B, g4 I' e6 X2 Z1 h pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;2 a0 ?2 d% r% i0 O1 x
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;# V; M3 L- u c8 F
- H; z3 Z. m8 D
// oˉè* ??à?
* Z1 Z9 Q9 u' C/ ]' m) H" J- y pLight->Specular.r = 1.0f;
8 ^0 [ `* l( _/ r5 T' e pLight->Specular.g = 1.0f;) A5 ?8 M+ a8 b. P& @9 K0 K5 ?9 ]
pLight->Specular.b = 1.0f;
. `8 V% `& M R; l // àü?? oˉè*
; p* v7 ~* k1 ?. \1 t, l pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
, D; ~. u$ z+ B+ w+ { pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;5 _* `9 H: T; H! @9 ?+ C& E' ?
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
8 }: h1 n' I" d; T7 k' \# A3 d+ \$ q& d% v
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
& \; K' x+ R. V o7 O) C: | {
7 h: t4 P/ ~3 I& N# T pLight->Diffuse.r *= 0.6f;
! @7 H8 R3 z$ _& V8 F pLight->Diffuse.g *= 0.6f;
& t; k5 p' D) n$ h) r4 F2 a% S pLight->Diffuse.b *= 0.6f;' J( u6 U j! O6 ?! v
pLight->Ambient.r *= 0.7f;$ G, C) r6 Q& ]% S" r# s/ T
pLight->Ambient.g *= 0.7f;
4 F6 F9 r% I( P( d7 k pLight->Ambient.b *= 0.7f;% w; p- F4 w i8 u( R& V
}
! c$ O: i" Y; o& a0 t: _& G1 E) Z! I, q( O. h7 o
#if __VER >= 15 // __BS_CHANGING_ENVIR
6 H* e5 t0 n* C- K) S if( g_pPlayer )! |! h- @0 O3 ]4 R |
HookUpdateLight( pLight );
6 u: z+ @8 M7 Y A) e0 w#endif9 Y+ ~0 A, g- D- i2 k4 q; v
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 i1 r* ~; A2 ~7 K
/ R. n5 U- a0 ?1 `) z2 e9 D pLight->Diffuse.r += 0.1f;
K/ g) ]/ P5 G, G pLight->Diffuse.g += 0.1f;
K/ o' H* j5 H, K8 e \( r* f' K6 l pLight->Diffuse.b += 0.1f;8 o& d2 W0 f$ y* [
// oˉè* ??à?
' V6 O. V1 Q3 x2 T& i pLight->Specular.r = 2.0f;
2 }8 M& Z" h7 q pLight->Specular.g = 2.0f;
) Y% X' G+ g+ s: c) f" q% v( g% w4 g: s pLight->Specular.b = 2.0f;
n- k5 V6 J/ R // á?oˉ
( j5 ~( y% S _1 f! E pLight->Ambient.r *= 0.9f;
9 M1 W$ v1 y6 c5 ^8 M pLight->Ambient.g *= 0.9f;
) c1 L0 S9 o: H8 ?* C! z' y pLight->Ambient.b *= 0.9f;
" W# P$ Y1 v# s3 L" v. W! t# z0 S1 J) ~8 B: B2 D7 Q( c9 p: J/ g J
memcpy( &m_light, pLight, sizeof( m_light ) );
5 I* L" r; n) |: j3 B/ a
, K6 d. q! j" c pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );! ~* M# P7 R6 @: q* g9 q
pLight->Appear( m_pd3dDevice, TRUE );
' J6 i" b/ q5 v. U
- V3 L, i: P- i& T4 l0 j DWORD dwR, dwG, dwB;& r9 s$ \, L- ^, y
dwR = (DWORD)( pLight->Ambient.r * 255 );/ O: c+ O. L/ `
dwG = (DWORD)( pLight->Ambient.g * 255 );1 a( I6 o& p' O0 i7 q* s
dwB = (DWORD)( pLight->Ambient.b * 255 );
4 {* C* L3 C: O/ J7 L dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );. g% K8 y* @( z0 F4 Z
}
: b: Y7 Q7 X8 c }
& d& q* y5 O; d9 m2 q- { else, P" V) r. S. I
{
8 v8 i' [7 ~" l! l5 U/ `( I8 V if( pLight )3 Y# u( z Q6 @$ R: Z* _9 N
{
6 Y7 n1 e& a/ F6 A
2 ], u4 b. a5 B# C4 Q int nHour = 8, nMin = 0;1 j$ \' o% @# |6 M( _
#ifdef __CLIENT
8 F: w: x# s( g4 j! v$ y // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 0 P; x% |$ ~' m! e
nHour = g_GameTimer.m_nHour;
! O6 M+ z" h) h* G" D1 _- i4 U* F nMin = g_GameTimer.m_nMin ;; W$ }1 s; m: }9 T6 I. c5 ~' E
#else4 T y1 n. H/ b2 P: A
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
% @% q. y: I' w8 v if( m_nLightType == 1 )
/ H$ q4 n2 B- v! N$ d+ e* M7 R nHour = m_nLightHour;" Z) V' Q5 z5 [3 z
#endif
9 `& O% f7 r6 O% d; T4 \* _ nHour--;6 C/ f4 W$ H4 F- b* i
if( nHour < 0 ) nHour = 0;
( k$ F# L. P. I: h% f) \, a) n if( nHour > 23 ) nHour = 23;
4 ~& P7 ^. f0 G0 I( @
# O3 s3 A9 x# \* B //if( m_bFixedHour )
3 @- u) y# F1 o& x5 l // nHour = m_nFixedHour, nMin = 0;5 g3 S( r6 R, c7 }8 J4 R, h
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];. ?7 X( }+ m1 T1 j0 l7 Y
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
! B c! \' w0 G* k% A2 L$ {# g" Z5 ^
//m_lightColor = lightColorPrv;
" L( w, r1 u, m* H lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
; N$ r$ D: l P. `/ l lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;, N o/ W( I/ D$ o3 k- X8 }8 D
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;" i4 [7 C9 J( g3 U# n
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
0 A9 B" n* _' N2 ]+ T2 [4 u lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;! z& Y2 `" L0 R! j
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;9 `$ h& s8 L+ Z/ F
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
- Y) Z1 a( E w# G; ?" `% {: T' l0 L2 S n) _
// à??μ oˉè*
* G3 e7 d# j( {6 x l pLight->Diffuse.r = lightColorPrv.r1;
% t0 ^) _/ y2 j* c' O; b pLight->Diffuse.g = lightColorPrv.g1;8 a: h4 r( N8 A
pLight->Diffuse.b = lightColorPrv.b1;5 J5 d/ P- m+ ?' `* W/ I
// oˉè* ??à?
+ J2 K# X5 P1 ^9 b# \ pLight->Specular.r = 1.0f;
6 ?7 ^- o% n0 S" R- P! z4 w8 H$ W pLight->Specular.g = 1.0f;
- E" X w4 D" {9 g; e6 e: X# a. C* u pLight->Specular.b = 1.0f;
0 Y7 l+ U1 U ?9 u2 O // àü?? oˉè*
- [/ b+ y( s, G K) z5 c3 [5 R) _ pLight->Ambient.r = lightColorPrv.r2;
4 Z4 y, Q7 c. A. C/ _ x% y pLight->Ambient.g = lightColorPrv.g2;
7 P6 Y q, g2 p6 @6 N* x pLight->Ambient.b = lightColorPrv.b2;
) d6 g$ r0 m& n6 Q- e( L+ b& [
2 H1 E3 m5 f2 r; A% R8 i if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
! T7 l; X) @; q: v0 D& U5 o" B* ? {! g* t* x8 k+ o# W( W- l
pLight->Diffuse.r *= 0.6f;
$ f. i# R9 q0 Q+ K* M pLight->Diffuse.g *= 0.6f; g& M* H# A5 j+ _ v) ^
pLight->Diffuse.b *= 0.6f;
. K& o' i b: i pLight->Ambient.r *= 0.7f;
K5 W0 ^* z& H; v! @2 V pLight->Ambient.g *= 0.7f;
1 y& Y! i# Z: G1 B/ R pLight->Ambient.b *= 0.7f;! ?" A1 I3 t& q) o! W3 M
}7 V& F g5 d) U) O
/ i& h9 v8 R! g9 N+ s. K' O
#if __VER >= 15 // __BS_CHANGING_ENVIR$ U* k0 M: E* w- @3 B4 o9 d& T0 x
if( g_pPlayer )
2 [% K9 u) v) }+ x7 L HookUpdateLight( pLight );
4 R1 }' k" D" G' | ?" D+ ^. Z. C#endif7 T- O: y' ~0 G& z3 _% b& E) ~
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
, M+ K; ? g. N7 o. K% ]/ f, G# Y% R" J# l5 j5 |; @! B
#ifdef __YENV! {# C# f1 T% h0 e# T b9 [
pLight->Diffuse.r *= 1.1f;
9 j0 c L- f4 @* {# w pLight->Diffuse.g *= 1.1f;+ W! A! A9 S' m j
pLight->Diffuse.b *= 1.1f;
l6 W: l1 |# p |+ @5 M4 @ // oˉè* ??à?
- Q& \2 \- M% p0 O6 n0 M6 a pLight->Specular.r = 2.0f;
, J( N4 E! u+ k. U pLight->Specular.g = 2.0f;) h0 J, A3 r0 p8 o* _8 L9 R
pLight->Specular.b = 2.0f;; x4 W! {) j* b6 \
// á?oˉ
! T$ a+ e+ v) } L& a+ ]$ O- I9 B pLight->Ambient.r *= 1.0f; J( r; E2 d) q$ y$ K2 `* }
pLight->Ambient.g *= 1.0f;
9 t" m& u9 H( v pLight->Ambient.b *= 1.0f;
/ h& B5 @- A, ]9 I( ~* ?3 Z% n#else //__YENV! \* _$ i7 E. ] z+ b: U- p
pLight->Diffuse.r *= 1.1f;
% c! C6 v; c" K- A( H pLight->Diffuse.g *= 1.1f;
- Q4 K9 L# `( q9 O; W& G pLight->Diffuse.b *= 1.1f;9 I7 n/ c9 V' f* r
// oˉè* ??à? q3 j/ M/ N+ H) a! }" D
pLight->Specular.r = 2.0f;- Y- T7 P3 T. Q4 K& ~3 r
pLight->Specular.g = 2.0f;
0 k4 H; O; c+ s pLight->Specular.b = 2.0f;7 A5 _+ L/ v2 h" \: q2 G9 T
// á?oˉ C- P1 b, _7 I3 v
pLight->Ambient.r *= 0.9f;
. Y) a4 f' ~( @# g pLight->Ambient.g *= 0.9f;1 O8 V, [3 ~. E( R! q2 j
pLight->Ambient.b *= 0.9f;
" n9 M; A4 c& o' |- p9 H4 L- ?$ x#endif //__YENV & Y: w6 O+ x9 E0 d5 v
% O7 r: G0 F) E2 X( }$ w7 e
memcpy( &m_light, pLight, sizeof( m_light ) );" F7 Y7 K0 B; p/ {* t$ t: }' ~
) Q# s1 D6 E; l2 r- t$ g4 j% y D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
; l7 z4 C+ Q0 b; h8 ` D3DXMATRIX matTemp;: E7 v C& e& V& f x: y
static const float CONS_VAL = 3.1415926f / 180.f; ^" B( w3 k5 r; z3 x4 |# a
2 O h+ u, x, k* U# B4 |$ U
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
I! [! F& @/ S7 K7 l D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
$ M1 W3 {; f2 K" e1 t pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
( S( y! n: s" r pLight->Appear( m_pd3dDevice, TRUE );
- ~ L. c. k8 t; X( q7 h) h" R2 g( n% m; F' G- E
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);) Q4 \# L7 u7 B" C4 i0 M4 M
// D3DXVec3Normalize(&(vecSun),&(vecSun));9 ?4 J2 F/ G5 S( h% p8 f
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
6 x* y/ e* l; _+ p. E7 c) J
3 K# W) _! r5 D8 l7 T DWORD dwR, dwG, dwB;0 t! f1 j( J5 f# T
dwR = (DWORD)( pLight->Ambient.r * 255 );
) b; J4 R* c0 ~6 t dwG = (DWORD)( pLight->Ambient.g * 255 );. X. u( F' N* M, j! q: L
dwB = (DWORD)( pLight->Ambient.b * 255 );- P* m2 _: ~' Q/ b% l
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); . y" d6 ?$ z" Q0 Q+ Q7 o
}
\. \# E2 x) T3 l+ n6 w, y }
! C, I Y' }3 a( _0 z$ A+ K
" }0 l3 ~: a5 [6 [8 P m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );* M' t: A, Y1 s5 }% 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) );1 h0 a3 E. G1 @! B" r6 @
::SetLight( bLight );
& R z4 a4 S# }4 P' z* g
( X" k/ s* Z5 G% ? // ±ao? ?D?í???ó á¤à? ; S, @- s5 t; E
m_pd3dDevice->SetMaterial( &m_baseMaterial );" L7 p( f W, B9 n3 T: r1 \) J
0 {( l: |+ O( G) p# o#endif // not WORLDSERVER0 M, O( s6 a; \# C- n: R
}" [0 H4 _+ \7 l+ G, F- o4 i4 S
并更换
: o* k: |# U- B: F, `Code:
" C. V( W- j4 m( F. s* u# i% e__FLYFF_INITPAGE_EXT
) c$ Q4 _7 \& B! N+ w; a定义4 C Y: a4 O( X2 j, F
& Y2 |/ r! l \" e4 v! s6 [) D6 ]9 n( c! O
8 S t5 H& m3 I8 m0 k
2 B. W1 {% k+ Q9 e" R: m现在终于删除我的狗屁加速... Z9 c: }, O' I" f' Q- _
' x( s. I% D9 V3 N9 L. [
9 `/ P4 D o1 [( v v: V# x; L, ?! U
|
|