|
|
食品车:
6 D5 P2 l* n" E( L9 a. O尾翼:
8 [( X& h! F" T z& i) i S, T/ `
代码:0 K( m G/ C; o% J! h- T' Q" T
CWndAutoFood::CWndAutoFood() q" Z4 Q' u; p$ z8 |6 `5 [3 j
{- h, D: t4 s8 k# \
m_pItemElem = NULL;
( R. ~7 G# V* D m_pTexture = NULL;! \4 u! n" D+ f: W8 J
bStart = FALSE;
w. D n, B3 v}) w7 c3 V6 K* n- ^$ x$ {7 p, {
$ O3 D. G' m8 N% C
CWndAutoFood::~CWndAutoFood()
" S. h6 W; k, M; b0 k& j0 Z! \{
& j- L0 B @' L& x; O* z- b, }8 w9 J; _ AfxMessageBox( "AutoFood ist gestorben " );0 C7 j4 a: r2 {% L4 J1 V
}$ s' w! w }# N; K
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
, L8 V) `- D' Y+ E8 U% O4 s{3 K/ N9 a. v5 S) e2 m/ z/ c) y4 Z4 U
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
4 o8 S- z. K9 B, f4 u- M) i- }- [}3 ~$ f. S" a6 O& `1 a) _
- V# L& ?+ p1 R$ P5 ~# I4 L
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
8 C/ O3 F% T( ?9 A5 c8 ~" |{
* N$ A0 v, {) `7 c& U w0 p9 I1 a LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
6 O6 {- Y1 e/ P @& G CRect rect = pWndCtrl->rect;1 b- D- i# x' S+ i
if( rect && rect.PtInRect( point ) )4 Y2 Z) M' r! _5 O j( d
{6 M% t2 M! H: ~* ?$ k5 ~
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
/ X5 t. W) c! h if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )9 v8 o$ B1 D* u
{, D; Z1 Q' }2 M; m, R
if( m_pItemElem )
3 f3 R4 x8 n+ N3 B3 H j% K# c {
. B8 L; N2 t6 n m_pItemElem = NULL;3 x% u; [# b" [7 _( ?% I! Y
}
# c# A& e0 F) { m_pItemElem = pItemElem;* T& \4 S6 H N5 K0 ]! z
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );* p3 x9 u. ~( U) V( E, D
}else{
4 _( [% i4 X* l* y# h SetForbid( TRUE );$ S9 ~8 Q# P2 i5 e9 @5 F
}
' P$ m0 c. X. Z. ~, F3 S0 p }else{, M; p0 s: X0 }) q5 ^
SetForbid( TRUE );/ h( _% f1 D4 I' j
}- z0 S5 Z; k- p2 `. _. h
return TRUE;
' K" l! i$ p0 `# p# K}
f9 U( W* a( ^5 R+ d) F3 W9 x' \3 y+ @- }5 f
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
8 `0 I7 m3 p- j; t6 o0 x' J! L{# K8 d, J9 [: ]- L
switch( nID )
/ g$ @" B1 J/ u! D$ a {
( n" G( B& L: X+ D7 d1 Q( k case WIDC_BUTTON3:
9 U i1 `, Z( W8 i7 t7 A8 ]; T2 ` {' B% `* y+ n6 p+ m9 N4 w
bStart = TRUE;
9 D+ E' E- {) W% |3 x/ w' _ break;
8 p3 J, T( \0 B/ K' _' L }
5 C! `+ J& [- u4 T! j K case WIDC_BUTTON4:
! n: [( p8 h$ g: p2 M {7 O, u/ X$ `, r8 k4 g& {- }. K+ d
bStart = FALSE;
, A# b( i% A/ X4 h8 c. i( Q break;
& ` z$ g/ V+ ~- M }
+ d4 s4 s3 B8 Q8 Q" h( A }; e& M2 @1 u# E7 M
return CWndNeuz::OnChildNotify( message, nID, pLResult );0 }1 X. S, X2 y3 ^" u! F( z
} . ?( I- w7 B* I
void CWndAutoFood::OnDraw( C2DRender* p2DRender )! {: ]( [% W5 r9 n
{
( J+ K1 l" {6 N! @8 F; @; n CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
; j- g5 q- V" u4 o3 B1 A0 v if( bStart || !m_pItemElem )
3 F }1 E7 J: y% _3 _ {* x9 B7 E" c7 @+ ] z: T' q" X
pBtn->EnableWindow( FALSE );- U+ W, J% |8 n7 V& Y
}else
/ W! e9 f: F: ?+ Z" `8 v) b pBtn->EnableWindow( TRUE );0 k1 B& C/ }' h5 e8 x. E
if( m_pTexture )1 T) u8 X) }/ Q: R- K* J2 S
{
( ?, E: w# n t6 Z. P8 ^ LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );8 t: k+ ?5 @6 W" A9 L! o
if( wndCtrl && wndCtrl->rect ), l/ M8 Z% R. X: j, s# f- V* Y
{" T# S# H l2 Q: b& I+ S- l
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
/ g0 O" \+ Z2 o" O H2 g1 u9 W0 ?( o }
. I: D3 |+ o* n0 M& ^% b: X }+ d3 L0 z- x5 ]! }3 ^( v
}; \4 S1 b1 n( c! I k
/ ~5 b: ]) K- D) J4 w+ V7 Q/ B
BOOL CWndAutoFood: rocess()
1 n* r, W9 n# M{$ M7 ^5 m1 | }2 x4 d6 F( G3 R0 b" e
if( bStart )
; [ c1 q1 H5 m2 q1 W( `* r3 S {
+ U" J6 K) \" V4 ]! Y6 S0 d6 Z, J if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
& F" ?9 V( x6 t' S {
% O% C* @# T. @" m; Y* {. V2 t if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
& H1 D x$ A5 F2 R$ c g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
) c$ u; \5 H& r6 q! ?1 Z }else{
* o1 m" G5 s2 W$ k bStart = FALSE;! O# C4 U" x( k. k4 r
m_pItemElem = NULL;2 N$ V, t/ W) e3 Q. Z
}' U' E1 a, W b# `% e3 V; C
}
8 V, x! X: W5 ]& n, F& s8 y return TRUE;
6 z, E$ w4 y8 j* F' ~8 |$ o9 R' i}% x. |" l8 J! G5 d" b
3 q4 ^% x& C" k+ ]
登录视频废话:7 ~0 c& @7 v% R4 _0 x
尾翼:" ~7 h% W+ x3 Q/ k+ |4 z
( r! E, r0 Y6 g, c
代码:8 v$ T/ J# v: j
/ a; e4 V+ n0 B7 R
void CWorld::SetLight( BOOL bLight )
3 ~# ^- b k x7 U0 n7 @$ |* y2 L# sdurch
( E0 N) N4 Y9 Q2 jCode:0 n$ Z E5 t1 k- {% t
void CWorld::SetLight( BOOL bLight )
- @$ T1 E s e, t* X% {' Y{
; J( A2 i, |4 j4 d$ Y( l //ACE("SetLight %d \n", bLight);% p3 e$ p# Q+ u; ?' B& x% P5 b
+ K0 F) f; f ^8 s" o#ifndef __WORLDSERVER
4 y/ J/ L: Y% `$ r9 N DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);# w8 Y$ C; w: E2 q1 z- ~5 M
CLight* pLight = NULL;
& q+ G, f" s1 I) ~; B0 o {8 t! a7 {
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );2 e4 ~3 R9 x/ h4 J5 T
- j! J* \, t8 d1 ]& M3 X
pLight = GetLight( "direction" );! H. M2 h4 {- Q' a6 Z7 c2 \( Q- d) u
; ~ v6 S4 h) J. W#if __VER >= 15 // __BS_CHANGING_ENVIR
5 {' A/ J) m! k, {; j if( g_pPlayer ){( i( s, c; d) y: T! |4 T+ A* k
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
2 h7 P: n# I" a' @) ] if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
, a7 L6 B- b3 x) j# {' x! P& G {
. P/ z# Y+ n( ]3 W/ ` if( pLight ). j& M0 T2 R+ Q( ~* M6 W
{
5 I: G' Z9 \& F pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
2 {5 M% }5 E+ T, G5 s0 y- S pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
$ K, y& m4 R+ ]: K4 Y7 x pLight->Ambient.b = pInfo->_fAmbient[ 2 ];; y o8 e. X' q( L7 i: R* X- g- H
4 }2 E0 V0 m! P8 y
pLight->Specular.r = 2.0f;0 k) S: I* f) M& H0 l8 K
pLight->Specular.g = 2.0f;( F; N! j0 i5 i. I9 [$ i
pLight->Specular.b = 2.0f;" O5 D p' G! w n7 L! B
* \# N- }" O& i8 O' t pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
# Y2 {: s4 o# o5 Z7 K0 o; X- G pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
4 K$ w% T; ?( H! Y V pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];1 H4 L* N! D# p' l5 P9 T' O
8 O- f0 L: W( i' @" X( S
HookUpdateLight( pLight );
; x+ P8 Q( W( }& s4 |' v+ }5 n. P5 r( R7 Q& v4 W h1 _
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
2 d6 u+ L5 l" a; y- ^# `; d; w: J: X
* m6 ^! q5 h' H# T4 j: R2 u9 u9 h pLight->Diffuse.r *= 1.2f;
/ C1 q5 R. J7 Y( I pLight->Diffuse.g *= 1.2f;
) s. i6 u: i3 {! x- G pLight->Diffuse.b *= 1.2f;
+ d( U" U* d9 F% E/ a d: s- g) a- h
pLight->Ambient.r *= 0.8f;# X7 b' g. m( m7 ~6 z
pLight->Ambient.g *= 0.8f;7 O: t% w7 e$ W4 }) j
pLight->Ambient.b *= 0.8f;* x/ T6 M9 t' a1 I2 ]7 |
! `: h: I. P6 D, n- H
memcpy( &m_light, pLight, sizeof( m_light ) );$ c. A2 t7 C% G" h3 {6 i4 v
- @) s& f, h2 R& u g
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
3 Q+ P1 t$ p$ T) \+ m# H$ R D3DXVec3Normalize(&(vecSun),&(vecSun));6 h' B4 m- g9 g
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 8 R4 `/ T: ~) Y) J8 B% j+ e4 v
pLight->Appear( m_pd3dDevice, TRUE );( C- p9 C* J& z$ a) ^& H
8 [! G, U0 @: L DWORD dwR, dwG, dwB;& I: K0 {9 L0 R, ]" D
dwR = (DWORD)( pLight->Ambient.r * 255 );" C1 b5 ?/ _; v; g0 Q& I
dwG = (DWORD)( pLight->Ambient.g * 255 );" S8 }: G: Z: |2 N( Y" R
dwB = (DWORD)( pLight->Ambient.b * 255 );
# N4 r& b( F |/ S dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );. M0 h6 }& x: d4 g
}
' W- e0 B' D4 g) l: r5 M }; k, u4 r; V' v, q& X. f. E
}% q8 a0 g- P$ O5 ?
else8 }' ~0 B' ~$ \7 r' k' K( y
#endif % L# E8 }$ @3 m1 W: J9 C
0 \# Z8 ]( e7 p: d5 b
if( m_bIsIndoor )1 B0 L7 f) p4 a3 A
{
: i2 S2 ?8 ^( }" ~ if( pLight )4 Q* e; m3 m' g) F
{
0 J' S+ M- n' d$ y+ o // à??μ oˉè*
6 L5 C# F3 N, f: E9 d3 ~( P pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;- k, m8 q7 l K
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;: V; |. }& ?# C P, U
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
; K7 H7 c+ A" d. A* X+ C5 _. x
' V( ^3 T( D1 o o // oˉè* ??à? 7 A2 ]" w4 i, U' a& _3 m8 {
pLight->Specular.r = 1.0f;
1 H" L0 {8 p+ O* D pLight->Specular.g = 1.0f;! o, B; F+ m4 g" E, }6 f6 g5 n
pLight->Specular.b = 1.0f;
5 \5 h8 ^( Y# ?" M- r // àü?? oˉè*
, ]" O% k. A3 e0 b$ R pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;: v: h* m# Q% {3 I7 Z% h2 [* r
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;/ S7 i0 R% C: A' x& {! D
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;, t) N$ z! T% T: `4 E4 N5 s* E
9 Q2 m1 x$ h) n/ {' O if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
( o8 `0 G* Z3 ]* q" |' B { b5 J) G- Q. A% j! G! V" f$ Y
pLight->Diffuse.r *= 0.6f;3 C9 m$ r* s/ _# I0 E5 b6 j. Z
pLight->Diffuse.g *= 0.6f;
$ {( K* P! \6 t" n% h7 | pLight->Diffuse.b *= 0.6f;
1 u! S( ^. a9 s pLight->Ambient.r *= 0.7f;$ E# u2 ?1 s6 a2 q9 K
pLight->Ambient.g *= 0.7f;1 k1 \3 f" R0 Y: Z! D' y
pLight->Ambient.b *= 0.7f;0 g1 ~. Q1 w: E" W
}
4 a* B) D) k; M3 X2 A4 D0 M1 e$ B, _+ [, _% p4 O
#if __VER >= 15 // __BS_CHANGING_ENVIR
: d5 R! l) t" o/ C t/ w! ]" e3 X! |$ Q if( g_pPlayer )6 \7 S# B3 [# u% J$ x5 _3 n
HookUpdateLight( pLight );
7 J5 i; f" r3 y* @" P$ d1 b: b#endif/ w0 O) g2 M1 e/ {
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 a+ P# `7 g. j1 j% B8 P1 L/ p, p% K
pLight->Diffuse.r += 0.1f;- D! ^8 V. |% B+ Y7 s0 d! c# \
pLight->Diffuse.g += 0.1f;
6 }) g! H0 o/ m( ~ pLight->Diffuse.b += 0.1f;. S/ h U& a9 I
// oˉè* ??à?
9 R: v& M! \# v& N$ c- N) P3 V pLight->Specular.r = 2.0f; Q$ Z Y% f( C% F% B4 M M8 f7 H; ^
pLight->Specular.g = 2.0f;3 _( @& a: s- {* G7 G
pLight->Specular.b = 2.0f;, b, @. u# n5 L% R
// á?oˉ
* c* |, M9 r3 d4 z7 a- ` pLight->Ambient.r *= 0.9f;; M/ b4 Q8 m) _3 e( Z
pLight->Ambient.g *= 0.9f;5 ^8 ^& F* r9 O2 {7 r
pLight->Ambient.b *= 0.9f;
6 p, M7 v$ L$ M5 ]
* b+ Y5 r3 o3 B8 u memcpy( &m_light, pLight, sizeof( m_light ) );
% z: s2 _: F5 N! G2 H: X
5 E$ M n, j+ _7 o: j3 W0 T! g* j2 f pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
n# u" [7 o, D5 m" w1 g7 t pLight->Appear( m_pd3dDevice, TRUE );( S! \0 q# P, _$ N/ l$ K
5 n# v$ i) x" T0 Z n. I( B DWORD dwR, dwG, dwB;
5 V M u5 {1 m6 \) B dwR = (DWORD)( pLight->Ambient.r * 255 );- P- j, W6 z- A" g
dwG = (DWORD)( pLight->Ambient.g * 255 );6 M) e9 b s9 m
dwB = (DWORD)( pLight->Ambient.b * 255 );
9 j0 z8 _* l; P* O% e7 W dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );9 ^) V( y( ]( H
}- H6 v1 k- w/ i2 t' {
}, d q# c! S6 b& g' I
else
0 J9 F% g% i6 s0 s3 | {6 N; W. s N1 G/ p. w4 j2 y
if( pLight )2 A/ ~8 y$ d, }% z+ y3 w G1 f0 s7 z$ h
{" R, ]4 g, i: y) v8 L' ~6 @
" C: u( p3 c( W, Q- w1 k. Q5 [ int nHour = 8, nMin = 0;
; l! V4 Q3 S U6 K& l0 O #ifdef __CLIENT
5 @7 I( I; m( y, L // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. ( W& P; Z8 |' a8 U
nHour = g_GameTimer.m_nHour;( G5 k! d4 \: Z2 D$ ^, T+ @
nMin = g_GameTimer.m_nMin ;
L4 F) t& O" _% |1 e #else8 c0 S0 J, r8 R6 l1 G0 u
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
7 V5 O8 L, D A! |# i if( m_nLightType == 1 )
. x7 N, Y1 a; U7 V, U6 w P nHour = m_nLightHour;. ]0 v% {! E, K; c* _% j! b8 S
#endif2 _0 q. G1 V- k6 H1 H
nHour--;
! N# U0 C2 o, a if( nHour < 0 ) nHour = 0;
7 m5 x7 A! V; _8 N if( nHour > 23 ) nHour = 23;2 k0 @5 r/ i; e
- T) b: \6 l0 U& R
//if( m_bFixedHour )
, Q! {% {$ k9 C4 \! m3 ~$ u // nHour = m_nFixedHour, nMin = 0;
) y" p7 g* _( a9 d4 N: M LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
' }$ Q4 R, i2 K4 o! [/ A2 j5 H LIGHTCOLOR lightColor = m_k24Light[ nHour ];& n. }2 l \3 R6 E
2 ]/ X4 @5 s. G3 d) w
//m_lightColor = lightColorPrv;
( \5 t( s, P7 Q( F5 b lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
* g% X+ ?. ]; m5 P. C9 ~ lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;0 J8 b z8 z3 _0 {7 i
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
2 p8 Q1 T i4 @% u lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;* y1 K8 @8 h& ^# V
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;" | c2 q# D) o) O8 ]: |( r
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
M1 F' O+ j4 L // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)( E) e4 s5 M" z3 Y+ Y6 O
3 }( I0 u* k7 B: [0 O
// à??μ oˉè*
' \% L) W0 ^7 \$ _ pLight->Diffuse.r = lightColorPrv.r1;
% J8 ]2 {5 v0 ]& f J pLight->Diffuse.g = lightColorPrv.g1;4 c$ b, }& c: j4 {, G2 l
pLight->Diffuse.b = lightColorPrv.b1;) c' E; z- q) O0 E1 X Y) }/ B+ q
// oˉè* ??à?
) i9 y" G- Y9 J0 z1 i' h pLight->Specular.r = 1.0f;
$ X/ {2 ]; Y: o" l pLight->Specular.g = 1.0f;1 R9 y1 d9 u% l* H" ]( {
pLight->Specular.b = 1.0f;
. l( @7 x6 [7 u$ F // àü?? oˉè* 1 Y. i* }$ r. Z& \& [
pLight->Ambient.r = lightColorPrv.r2;3 J# R3 E6 p1 m9 A9 [* }
pLight->Ambient.g = lightColorPrv.g2;
1 h9 O' F4 u" \1 \3 o pLight->Ambient.b = lightColorPrv.b2;+ [" c, W1 T: w
4 b: c5 F9 o7 m6 p! V
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.8 x$ l; g/ M& G% z! `0 J8 x
{
# V8 Z8 h" J* x7 ]6 G pLight->Diffuse.r *= 0.6f;
+ q' N4 ]( F9 `$ c2 K$ r- W K pLight->Diffuse.g *= 0.6f;) g. W6 r! _- L+ c) X
pLight->Diffuse.b *= 0.6f;
" d D6 a& Q# ^: W. c pLight->Ambient.r *= 0.7f;
) }3 |5 \; C8 ]3 J6 u$ i pLight->Ambient.g *= 0.7f;
3 C) G) `! F' u pLight->Ambient.b *= 0.7f;
# M6 z H7 M* y9 C0 g }& W/ W$ E! J% e7 n( O0 V9 c
6 Z5 q, C- D# z
#if __VER >= 15 // __BS_CHANGING_ENVIR9 S" r0 ?; c0 Z# R6 q. B. P! ?; m) d
if( g_pPlayer )
" g) a' ]$ [, W4 C9 \6 ^( s HookUpdateLight( pLight ); 9 ^+ O6 ?9 S& J9 w6 d
#endif
* u9 j; X7 l r1 C2 Y memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );" v: w7 x3 }! l' O! n5 m9 u
# V6 t/ S- t3 b# B
#ifdef __YENV
! W( P9 i) G! q8 p3 i ?9 _ pLight->Diffuse.r *= 1.1f;( x& l( u: E% t6 j7 E6 B
pLight->Diffuse.g *= 1.1f;' z9 P8 l; L$ O/ N# X$ P3 O+ o
pLight->Diffuse.b *= 1.1f;" _' X T+ E5 v3 A" y
// oˉè* ??à?
" x% x0 ]5 ], q3 J0 Y pLight->Specular.r = 2.0f;/ ]. `7 Z' J" W8 N
pLight->Specular.g = 2.0f;$ W7 E7 u! g+ d. s( A
pLight->Specular.b = 2.0f;$ F" x2 [) O# t
// á?oˉ
1 A D7 L7 s( w" f" ] pLight->Ambient.r *= 1.0f;+ p- v, A. }6 c# b* E8 M
pLight->Ambient.g *= 1.0f;+ K4 B, k% {) n) L! y- V3 h; @
pLight->Ambient.b *= 1.0f;
' T4 w; ?/ M" K! i8 ?, Y* |#else //__YENV
0 N; Y- ]- n/ {" f# g& h pLight->Diffuse.r *= 1.1f;) T$ O7 [. d& r7 a4 G$ l0 e
pLight->Diffuse.g *= 1.1f;
* a( `( e; Y; D5 z0 q pLight->Diffuse.b *= 1.1f;
: c" Z! M+ N! g- T& x // oˉè* ??à? # n4 b/ J: A" C; V- z3 |
pLight->Specular.r = 2.0f;" S9 q Q+ \+ v/ I/ i- }7 R3 X/ h% J
pLight->Specular.g = 2.0f;
+ F: m5 l+ d7 f! k! E pLight->Specular.b = 2.0f; _3 [- R# o! y5 N( J
// á?oˉ - ^3 n* F. ?' e6 A. q7 E
pLight->Ambient.r *= 0.9f;$ J$ p O3 g3 b& t$ H: s2 H) E, S: i' J
pLight->Ambient.g *= 0.9f;1 H; u+ T, E6 r0 \# _+ f
pLight->Ambient.b *= 0.9f;
T, o' |0 y9 O1 f#endif //__YENV / `& O& c% c+ S- W; k! u' q9 I
* N2 c- V+ D& W& J memcpy( &m_light, pLight, sizeof( m_light ) );
9 j' Q/ g4 T. ^ 9 E0 r! u/ R3 @& E! |; D) ~4 B
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
$ j: T. a) T$ l2 P, z' X) ? D3DXMATRIX matTemp;/ Y2 v0 K8 J" v: e* y; m3 E
static const float CONS_VAL = 3.1415926f / 180.f;3 Z+ d. [" n% q5 u3 w( Z4 D8 @9 e
^' I3 H6 e/ Z6 N# A0 p
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);3 N; P9 A$ W& c8 C2 U6 v
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
3 \0 b$ u0 g1 I( r' B. E+ ^ pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
" N+ ]: o# u% L pLight->Appear( m_pd3dDevice, TRUE );! b2 P3 h; X' \; u' E! B! V# s# a
! {1 q; ]8 u8 \' C // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
. N8 I) M3 M( ^1 a4 F# m // D3DXVec3Normalize(&(vecSun),&(vecSun));7 f) s! x7 q) i5 R7 y" o
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 0 B J( K* s& i5 {& x+ v8 D
; j) a: ^! J; a: ` DWORD dwR, dwG, dwB;. Z( N( l" u, n9 [2 t
dwR = (DWORD)( pLight->Ambient.r * 255 );
; D# t1 v/ [- [, Y; T8 [" b dwG = (DWORD)( pLight->Ambient.g * 255 );
- E5 n5 @3 `) G9 z7 f2 J, K dwB = (DWORD)( pLight->Ambient.b * 255 );) m' Q* }& E v: A; f2 @5 p$ b8 j! c
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* \9 [9 `5 t, k m3 z0 o, w }' v' v3 t! d, |9 R6 i( u/ K: p
}
% u5 O1 y$ a3 Z0 S% u; L3 k6 b; w- L6 B9 M! ]9 N
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
# G& H/ w6 W0 K, S 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) );
- A) a e: e- H# |; c! O# z) E7 Y ::SetLight( bLight );1 K+ t* |$ Q8 u+ s9 S: t7 e, `
& j- U- G$ h, x' L) o! r8 Y
// ±ao? ?D?í???ó á¤à? 6 l% z8 r2 c: m' g# G
m_pd3dDevice->SetMaterial( &m_baseMaterial );0 J1 H1 M; w4 B
" g' S$ H6 o: T7 ~: X% A# l: H
#endif // not WORLDSERVER8 P7 C8 @- a7 I6 s
}
: w! N/ M8 l& I; v2 Z: a并更换- B" y4 k0 Y* `. ?. J+ M
Code:0 k/ [: z2 e, d; f3 R. X. l
__FLYFF_INITPAGE_EXT
6 a, d" Y* \( |& { u; n; S定义
. L4 w$ L3 H3 A/ `# F+ Q0 Q2 q3 r$ i$ E2 I
' l: E7 |( v5 {9 w% r+ o; A% {# L) V
# a5 o0 s! b. C5 S8 z5 G+ Q. u
* h4 l* T& {1 _现在终于删除我的狗屁加速...
" v1 Z" r1 j# N7 u% S2 @6 n, E5 A8 z
- s* ?( Z, C! F3 S7 j& j. m
" G* y6 y8 B8 {& a8 k |
|