|
食品车:
6 e3 e; u! z& q9 l1 x1 N尾翼:
4 M8 {# a7 J" {+ {2 q! X! S M6 a. u) k/ I6 D' H
代码:6 e6 G: I" m' z$ f) \* i2 f
CWndAutoFood::CWndAutoFood()
& O4 X3 p0 q8 w; v0 u0 @) Q% T{
, y) o( B. i8 ], e' j8 ^& I m_pItemElem = NULL;, p! ^. E3 l1 {. ~ `
m_pTexture = NULL;
: x8 ?4 H) A- U/ C7 {1 m bStart = FALSE;
1 L2 g; z: d" x8 L}
$ o3 E& G y7 t8 j0 d
6 I$ W4 W$ K3 c6 ]1 nCWndAutoFood::~CWndAutoFood()
+ j8 S) }9 i$ h- i8 h$ b' @{7 M" Y3 c C# s
AfxMessageBox( "AutoFood ist gestorben " );. L5 u- F, `- k# t( Z
}
$ p% N5 K4 W' Y5 e8 VBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )1 s! i1 y; h7 K' X
{: F7 |- O$ O( g5 n; c
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );7 u @2 G& h. y' t" h- K
}8 G9 y. [# h. R' S) q1 c @4 m( J+ `
w) |; I, O2 p, H* y5 w, A j
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )% A& |0 V3 @: ^0 d
{
6 }# j% k$ R A8 d& D4 o5 e5 j) ~ LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
$ r/ [' ~; i7 f( Q6 j CRect rect = pWndCtrl->rect;
% r* `3 i' R, \ if( rect && rect.PtInRect( point ) )
3 c4 \/ Y! i! J k {
4 a* S3 `. _- {, `# y CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
3 T+ M1 y$ j2 n7 B; d) o" [ if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
4 ?, x: U) [3 t' L {9 E$ d0 _) K) E* S! }, A
if( m_pItemElem )# @) n, m4 G/ u% h3 U" u' }
{
( j: w6 i' u2 ^& R* f3 Q; U+ T m_pItemElem = NULL; A. I" u+ B% n. J
}5 E" s: @* u3 r- v2 A% F' r
m_pItemElem = pItemElem;
: f5 R: Y- P1 G% D a1 v; t m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );! p& N- n. x% r R9 n7 p" C
}else{* L' A9 ?( F+ a% _: M8 `
SetForbid( TRUE );
# L5 S% i+ T4 g7 z/ E( n } T/ F4 L; W4 M
}else{
0 i* ~9 }, Y3 ^7 L# x SetForbid( TRUE );
- y# X \$ h y. ^ }
1 v8 ?, G5 W2 Z return TRUE;# u, F4 H K) B! `7 `
}
" O+ ~- {5 ^% B J5 l9 b9 u, m1 l( c. J
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ); A2 c# Y8 ^$ q+ B% F
{+ Y) G+ p; r: V- \) q+ _
switch( nID )& ^5 s0 D; S# w8 x+ G
{
2 o I# @, u) U/ E& N case WIDC_BUTTON3:1 F0 K$ s, ]" ~5 L v( h7 k+ e
{
$ x+ ^/ | d1 [0 O# ?) ` bStart = TRUE;0 q8 S3 F- K% F4 A4 O# _ G& B
break;
' T/ e; i- Y3 W' L I2 C! N }$ z+ @2 }& b6 ^% q
case WIDC_BUTTON4:
4 y6 y* b. I. n1 s/ `9 e* d* V {
. m4 Q% m+ ?' [$ w$ n bStart = FALSE;
) ^$ w- n. O( B. e4 J& n7 n break;
3 g$ Y2 H$ [# c, e# A4 M }. M7 B2 T& o( O) r5 ~0 F
}6 m6 @' D# \4 J4 y, f
return CWndNeuz::OnChildNotify( message, nID, pLResult );, f' H; e3 C0 H/ z. n
}
/ K' |4 e, w9 b: B, x1 y( h$ U0 i% Wvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
# i, B2 ~& D4 e( {7 T0 A" a- _{+ l$ X, R0 h' ~5 l+ ?% @9 R% k
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );, r' E6 ^' c" y+ V
if( bStart || !m_pItemElem )
! ^# m" {$ A( m. q {
7 T& A' ?: z9 R% i0 C4 O7 a/ J pBtn->EnableWindow( FALSE );
8 C B! ^, O0 a7 I4 T }else9 S8 K, {) z6 M% W
pBtn->EnableWindow( TRUE );% R6 ~# D3 V% u* W; F, Y
if( m_pTexture )
/ ^; X. T7 J- e+ Z6 g {7 N- | L% b* v
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
1 f% d9 }9 q# k% s if( wndCtrl && wndCtrl->rect )4 x0 k. b* A. g E# k
{
3 [- k' _% O/ z4 Y0 D; B m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );7 \+ O0 k' u) O' R" p
}
$ T- u- j! s+ _/ d u. Z }
) m1 A' s0 _! D( U: l9 u+ J}
# |3 l W$ e; V. ]1 Z/ J, Q6 q! p* }! X8 A
BOOL CWndAutoFood: rocess()
+ ~$ q3 n) a; @4 M5 k: e. U0 q) [- w$ b; E{
4 R7 f7 b) a5 g4 q* l if( bStart )
: L) O! P2 O- ]. i+ H {
5 F7 c( `0 O; Y' {% c+ {; m* A5 D if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )/ {5 D# a) i. L2 F: A) L
{- `7 A/ [) a6 l: V- l5 f% c7 Z0 i
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )- c# i. l! I3 K) {* L
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );: Z: _& M/ B! E
}else{
" n5 E) j) a5 {! o, o" V3 h' o9 q bStart = FALSE;' S4 K: E" H! `" Y3 _4 i k+ v. D2 U
m_pItemElem = NULL;+ ~6 d z F7 T: v* O* Z) i: A
}
' e' m& Q5 ~ K/ g% Z+ f& f }6 W: u4 A: |0 a" T7 _! z$ y! D9 k
return TRUE;
8 ]9 {" x. P% m}6 [7 [/ ]7 o; H- _ s; L
' B: @1 O5 N3 c( V) s3 V登录视频废话:
, ?4 h, y8 f8 g& ^0 j. Z: E) }# v尾翼:
! @! ]1 b/ ]" z4 v1 K! G( N8 f) W/ c5 X' J: g2 B
代码:- z6 M8 Z# D' Z1 u5 n7 ~
7 h: \+ n* g/ m pvoid CWorld::SetLight( BOOL bLight )
3 ]) g& r4 M% ^6 _! J r" Z+ I1 E& Sdurch
4 o9 Q- i8 t+ uCode:
: K6 J* E: Q* p% b( \! cvoid CWorld::SetLight( BOOL bLight )/ ` x8 N5 M, Z! C' q0 E
{
/ t+ b9 P$ b/ } //ACE("SetLight %d \n", bLight);
& b) I K% ]6 ?. P9 a$ ^7 v
1 f4 l K' d* C9 ^* j, h, V+ c#ifndef __WORLDSERVER
# c8 d9 L; Q, K5 `6 X/ g% b/ C DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
2 B5 y6 Q! _! k, x Y) j CLight* pLight = NULL;3 e7 {# m! i2 F/ | o# U+ s0 x0 ^
9 H4 N6 C# L# K' M$ w! I, l D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
! L! r) d1 Y0 F7 H$ f* f. q* E7 u |4 E+ ? C$ L$ t3 O
pLight = GetLight( "direction" );2 j; y% ~1 o/ R0 r
! \( a% L) A0 j; I0 c9 u
#if __VER >= 15 // __BS_CHANGING_ENVIR
8 C, i/ G8 W4 w7 \7 `( v5 e6 h if( g_pPlayer ){ h3 k2 j1 F" S$ \! S
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
$ D: Y( j; f$ G" s* j6 L- x if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
) }4 D/ \: |' p; F x( _, ^ {1 h3 r" Y7 n3 C
if( pLight )
, c! e7 \- p2 l$ E; o {& f0 G$ ~2 W- T- ~, X# N9 |
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];& t& I1 x* Z% x) Y% f
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
% d/ h/ v! ^ W pLight->Ambient.b = pInfo->_fAmbient[ 2 ];3 J: ?0 D: r% e6 |/ \# |, B
% U, z$ e: q! M/ Y pLight->Specular.r = 2.0f;6 a- ` w* H9 e7 |5 `$ X' c5 g+ H
pLight->Specular.g = 2.0f;9 w# I4 s O% J% x) x& R- |
pLight->Specular.b = 2.0f;
$ J1 \2 q8 c- B8 S, |& d% Q
; l3 w! ]" d: q% K4 N# M5 w pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];/ _1 Z+ H7 X( X+ e! t4 {
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
& m/ ~* N" \6 Q) G( ]) ? pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
& H, N7 t, E. q5 r
o( U( J7 G! [9 |4 x HookUpdateLight( pLight ); ( e" i }0 S& Q0 I; b
. R: S2 n) z# ^6 F* ] P3 Q memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
Q' u7 v; R6 b9 ^
$ E# q) O0 m* S, U4 c0 g2 U X pLight->Diffuse.r *= 1.2f;3 {1 P$ v* r' f
pLight->Diffuse.g *= 1.2f;6 E- u- p6 F, U Z- C
pLight->Diffuse.b *= 1.2f;, Y* E. P! O9 q5 Y" M
. Q$ A7 L) f6 `
pLight->Ambient.r *= 0.8f;* ^. k( ` F# G: h
pLight->Ambient.g *= 0.8f;9 w$ @; ]! ]; M( l! e- x
pLight->Ambient.b *= 0.8f;
/ z( ?3 v+ ]- ?& M: {
; _# d( p) t! @6 @; H; `$ D memcpy( &m_light, pLight, sizeof( m_light ) );
( G' P. N H: u9 Y/ {# B% \2 i$ x" h. }. q! ]5 F
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);% e+ {3 }& f% F' @. g D
D3DXVec3Normalize(&(vecSun),&(vecSun));
# I A( H+ n% }+ H pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 9 A o! }1 i: P. b B6 @$ D( z& j
pLight->Appear( m_pd3dDevice, TRUE );4 ^$ R7 q3 _+ ^( C1 @
: G0 `) n; M/ f
DWORD dwR, dwG, dwB;
! w* J9 r. y6 e) s5 q dwR = (DWORD)( pLight->Ambient.r * 255 );( L+ r/ ^+ Z3 s1 G
dwG = (DWORD)( pLight->Ambient.g * 255 );
1 K V! A t$ S7 l! z dwB = (DWORD)( pLight->Ambient.b * 255 );1 Y9 |0 c8 J; {$ m
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );$ @5 g$ ^1 A6 R! T6 p
}) p( Q5 c3 V9 I
}
7 H: l! \, ^) C6 ?2 k; ~5 f }
( \1 b" j8 }( D0 z else8 L. o. M9 m* C
#endif
! [" ?1 C% [. K; x0 l5 V, X9 X; ?" h; @; j1 o: c& h8 v
if( m_bIsIndoor )2 c/ m( y; b$ |
{
: ?2 i7 L) c: R7 k- s% ~5 c if( pLight ), v9 M: W- u6 a9 y. ~, }! d
{ ' N( e3 D( Y1 e! |6 \! ]
// à??μ oˉè*
! W) I/ P$ y4 O* x( @# T `5 _' O Y pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
9 T. F, I" m2 A' w$ D' Q: w pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
0 A; N) {) Q+ o8 E pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;2 }& f/ s( g% i
$ F0 W }0 Q2 Q# i // oˉè* ??à?
" J0 K* ^7 T+ G- G% K! M! G4 X pLight->Specular.r = 1.0f;
6 w J$ s- M& E7 M0 E5 u+ m pLight->Specular.g = 1.0f;- K5 r! n' I( F5 Z1 d! I
pLight->Specular.b = 1.0f;
. }8 f' A7 {: g' U // àü?? oˉè* a2 L- ^" W# g; B+ _3 {! t
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
( N! D' {6 ?, Y pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
" ?1 d$ T# {0 X) j- N" ~* m) ` pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;5 N6 `* U# O; P. S+ M
2 a& E+ t+ |5 g5 n5 q; Y if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
' r' B! H' X4 }6 J/ | {* ]. Y& p. r3 I5 o; S$ i
pLight->Diffuse.r *= 0.6f;
/ Q# {, I" J- A pLight->Diffuse.g *= 0.6f;3 [" P9 v6 u9 Q C
pLight->Diffuse.b *= 0.6f;$ [- G$ H8 A1 w p' V
pLight->Ambient.r *= 0.7f;8 E7 X) q/ m. l2 {) y$ u8 i
pLight->Ambient.g *= 0.7f;7 p/ {) r8 t% @$ s4 b
pLight->Ambient.b *= 0.7f;
' h4 V, s% H; F+ [! I; V0 {) o. { }' N% L I% x/ Z# |
8 `7 t o( t, `#if __VER >= 15 // __BS_CHANGING_ENVIR
; J' \0 L! D) J' u if( g_pPlayer )
4 ~: F9 `1 I/ Z2 `+ } HookUpdateLight( pLight );! K. T! q; t0 p
#endif
4 w0 ]6 M( R) p7 A$ h7 t memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 w" ~8 V* h1 G n: A& f n
7 T7 u1 i, a8 K% P( T3 c8 e; B pLight->Diffuse.r += 0.1f;
& O9 t" @% k% T1 w8 l pLight->Diffuse.g += 0.1f;/ d6 k8 e6 Y) a8 h
pLight->Diffuse.b += 0.1f;
$ @) {; Z! H+ `) D // oˉè* ??à? 1 \( T6 i& S! x5 q: O5 j! e) g" Z
pLight->Specular.r = 2.0f;
6 e4 i2 G% R i* `+ a5 T; o% E pLight->Specular.g = 2.0f;
8 }" x1 M8 l2 E( W; { pLight->Specular.b = 2.0f;( l" j1 ]: B2 f7 ~2 ~2 _* j4 Z0 f
// á?oˉ $ S( Q6 X Z6 Z) _1 r
pLight->Ambient.r *= 0.9f;
5 e) h: P8 o6 O/ P9 n* L! n$ F* _ pLight->Ambient.g *= 0.9f;
; q! H Y& V0 h% U8 O5 W* v. s5 @ pLight->Ambient.b *= 0.9f;
+ d$ n f& L7 c& p# G N6 {+ m- j' }5 ]7 ?2 o; x: ]
memcpy( &m_light, pLight, sizeof( m_light ) );
) E$ ]4 i4 S [6 c5 n ' v, {% j0 B! i; m) e+ p8 i
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );9 {% p8 W* _6 `! U& u
pLight->Appear( m_pd3dDevice, TRUE );
0 X r P6 W2 x( |9 H $ O0 U6 B B+ r n, L1 }7 X2 V. l
DWORD dwR, dwG, dwB;2 n8 W- A4 y1 L; z
dwR = (DWORD)( pLight->Ambient.r * 255 );- C4 H! O' G" \- e! L' k
dwG = (DWORD)( pLight->Ambient.g * 255 );( ?/ G, |" N- x: {
dwB = (DWORD)( pLight->Ambient.b * 255 );* T d8 |5 y5 _; }. @! e l
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- F8 D$ e& j4 N' ]+ f. ]' y }; U! Y/ t7 d0 a4 Q) P5 t. `
}3 X" U \4 o1 H1 X' V* z2 _
else
& k$ [1 Q8 _- F! [5 T' m' ^ {+ s6 y, A; v# D! j0 F! d
if( pLight )
* C) v6 }/ C0 Q" r {
: s7 {# Y: y3 v( x7 z$ v9 v2 | ) r3 [; T; _# o' a/ H
int nHour = 8, nMin = 0;) Q) J( |3 n8 K2 j6 y) `
#ifdef __CLIENT+ d$ g) o) k1 Y' ]
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 8 S8 E5 h. @3 v
nHour = g_GameTimer.m_nHour;$ x- Y q6 c, g2 ]
nMin = g_GameTimer.m_nMin ;, z; c/ I* j2 Q( ~$ A* Z# _
#else
) y2 y$ n( v! L% ] // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
. s& _6 j+ J5 g5 Z5 a$ A if( m_nLightType == 1 ), R2 _+ Y+ t# Y! m; y0 U7 T$ X/ d
nHour = m_nLightHour;6 }& q9 \/ N* c, [2 y) S
#endif
u$ h& O! a, V/ Y6 @+ E' q* d( j3 m nHour--;
/ D3 h( `, v2 @: [. D/ b: E- @9 @ if( nHour < 0 ) nHour = 0;
, j3 g5 u( `$ G! K- A# s5 Y- @ if( nHour > 23 ) nHour = 23;* R- A. M' P. f& ?# |
, X y) M" j: F) Q( l& K! n4 A
//if( m_bFixedHour )
6 q2 K' [ [. r& n1 o8 g // nHour = m_nFixedHour, nMin = 0;# }1 \4 M& n; {. V& g
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];; z- [9 s7 `$ S2 B( z5 i R
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
4 `9 p) y) L5 j6 a4 t3 L3 \) r/ N3 X! y
//m_lightColor = lightColorPrv;
# H. B& m* ?, b3 `4 M0 z lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;5 |* x/ M. U' z* Z& X& ]
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;# S! n8 D7 {4 y# d
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;5 P! ^$ w7 K' b( k
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
3 M- J! I/ ~6 F lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;' O2 V; \$ j$ M W
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;9 g" g/ W9 R* H0 m3 M* i. W
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)+ G/ p, E7 p, c0 f5 {! Z$ G, ?) l0 p
S; w% V7 F) B. v
// à??μ oˉè* - _3 H5 Z# P5 A2 e
pLight->Diffuse.r = lightColorPrv.r1;
- \ G% s$ c' c4 S4 g8 p; S pLight->Diffuse.g = lightColorPrv.g1;2 t# [! Y! c: n
pLight->Diffuse.b = lightColorPrv.b1;
. n8 }% {& F: `, D7 T+ u // oˉè* ??à? $ n: }# u. A& u2 ]5 k6 l
pLight->Specular.r = 1.0f;) P5 k a# z( A; M5 ]3 d
pLight->Specular.g = 1.0f;
0 s8 `9 p9 y# c( x pLight->Specular.b = 1.0f;. v" E9 ^. _; u$ w: U4 u. m' ~( \
// àü?? oˉè*
+ w* O+ I( ^& O+ P# I/ Z0 { pLight->Ambient.r = lightColorPrv.r2;) }7 S; ^& n. V |( {% h6 r
pLight->Ambient.g = lightColorPrv.g2;! P% i5 ]: u6 T$ z
pLight->Ambient.b = lightColorPrv.b2;
" V" H- O4 z9 E6 a0 o' I' H! x: o# W" [3 N# B% m7 S
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??./ s4 s7 C& q/ S3 V3 w
{, G! e. X) C: F. P: V. k
pLight->Diffuse.r *= 0.6f;
( @' d# s% f* J( x7 \& L4 b0 _5 ` pLight->Diffuse.g *= 0.6f;
0 M" ^" g+ d$ m# N( t7 P" S pLight->Diffuse.b *= 0.6f;# F+ g5 q4 H. `3 e1 j
pLight->Ambient.r *= 0.7f;
W. g' M6 d/ N3 f2 ?# w% S q pLight->Ambient.g *= 0.7f;2 q$ C. B- U e% \6 w* f5 U9 l
pLight->Ambient.b *= 0.7f;
2 k; N' J4 r! { }
# H/ [: q4 h& x- @9 X
8 G" U- r0 x, Y0 F+ l; r, P4 i#if __VER >= 15 // __BS_CHANGING_ENVIR
! h+ J9 s- _" ?) G if( g_pPlayer )
, x5 i( R+ _# z' n. J3 v8 Z {, m HookUpdateLight( pLight ); ! k" N9 [3 ?# B3 j: k5 }. d
#endif
5 W3 }8 F0 D- O! R memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );; C" I |+ J2 `$ |$ c! c7 x9 n0 ~$ _
3 Y' n- T9 L- W2 P j# c& x#ifdef __YENV' `$ X$ }% i5 f/ ~7 E6 i+ k# ]
pLight->Diffuse.r *= 1.1f;8 }4 i( e; M; C O5 C" z2 G9 D6 Y
pLight->Diffuse.g *= 1.1f;# K4 Y4 K' s. W3 H6 r4 D/ S0 j
pLight->Diffuse.b *= 1.1f;
) s0 O) N/ L# m7 z4 p // oˉè* ??à? . q7 m6 W4 X1 r$ m; s! o
pLight->Specular.r = 2.0f;
' W2 ]& \7 N1 l pLight->Specular.g = 2.0f;: O3 h. j0 I+ F3 |* _, Y+ I
pLight->Specular.b = 2.0f;
2 G. M2 {! Z; \2 K) }) w // á?oˉ
( @/ i$ K1 \( r) k pLight->Ambient.r *= 1.0f;3 R! }+ q+ T* B
pLight->Ambient.g *= 1.0f;
+ Z* R9 l, P( O4 z8 U pLight->Ambient.b *= 1.0f;
4 E* P# S4 m7 q8 J" J, u; L& O#else //__YENV
/ }" N% N" r: `$ m4 c# V pLight->Diffuse.r *= 1.1f;
- w! ?, h9 e8 P3 C( S* V pLight->Diffuse.g *= 1.1f;
& A8 a9 {" y+ L% g, L6 q pLight->Diffuse.b *= 1.1f; y' n9 n* h6 j; y
// oˉè* ??à?
' @, G/ w/ Y: a3 ?; G5 b pLight->Specular.r = 2.0f;
9 U9 E* k _* ?1 w% y pLight->Specular.g = 2.0f; W o& {! n4 @- O4 [. ]
pLight->Specular.b = 2.0f;+ ]. ?" }) ]2 d4 u: w
// á?oˉ * g% ^, X6 O9 j& x1 p) ]: |: @
pLight->Ambient.r *= 0.9f;% ~2 g: ^! h2 z! ?' P
pLight->Ambient.g *= 0.9f;9 u. I3 O Q# D" Y
pLight->Ambient.b *= 0.9f;3 ^5 s3 d0 |9 v. Q
#endif //__YENV 6 J* J, t% K' E
% e5 L5 w5 V' d memcpy( &m_light, pLight, sizeof( m_light ) );
1 y# }% _6 T* l% s2 H 4 n' ]: }! ^# K/ X) x/ l& z& X3 t! ~
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);' X" @ C4 D. [0 C
D3DXMATRIX matTemp;# |# K' W1 o0 p- E. k: M9 g) T q
static const float CONS_VAL = 3.1415926f / 180.f;5 ~% r9 F5 g$ N
) {* C: e; K5 h7 {
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);' f0 b! P0 t6 H7 {
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
2 i: w; a4 a; @: U: n z# `1 S pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); ) o$ I1 |0 c# x; Q, f
pLight->Appear( m_pd3dDevice, TRUE );3 z7 g6 l' q/ H3 [
! d9 R2 |4 s$ |' D8 i# k
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);4 m! [& H, j. V8 o: v& y! S
// D3DXVec3Normalize(&(vecSun),&(vecSun));
) {( f5 q& P! s& m // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); - G. s3 }9 P2 J6 S! y
- @, Y4 w% E4 |9 J' z
DWORD dwR, dwG, dwB;
# N; F, c% Q" Q2 l dwR = (DWORD)( pLight->Ambient.r * 255 );
, ^6 u4 R- o* f( m* \ dwG = (DWORD)( pLight->Ambient.g * 255 );
0 n" x! `5 s- Q0 H2 I$ d9 p dwB = (DWORD)( pLight->Ambient.b * 255 );
' k6 [: z E3 P dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 G4 W4 c7 G* L6 l7 X; x }
; [) \1 { y m* y* U) r, q }$ U! I6 J/ }$ q1 q
! Y& t" z- j4 k0 E. K
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
6 _) ~% @' C6 J: ~1 @ 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 B+ q& H6 a0 s s5 t5 y
::SetLight( bLight );9 Z* g7 u" j& S$ i3 m
, L6 e. B$ L! C% y9 A$ p
// ±ao? ?D?í???ó á¤à? ' V7 W/ s8 r3 j8 g7 q' h* ?3 f
m_pd3dDevice->SetMaterial( &m_baseMaterial );
/ s# H7 ?* M: m# I( c! G% h % b. N6 P2 W, ]! o. c5 z# a
#endif // not WORLDSERVER
' K) {9 S/ H3 N- C}
* N! h8 G4 v( ]4 P2 A# \9 u' r并更换, @+ W& J. v+ m% q" C( b. T) n; B
Code:- b# @7 A1 t9 B; T
__FLYFF_INITPAGE_EXT
! Q. d* Y1 _0 }3 C" [1 X6 Z* ^定义! d* G# I+ ?1 y& g4 }" h
" N4 R' H3 M. `6 j1 B
/ |, ~0 \. e" _6 a" m
. n# f" O: K) |7 t" M
: {' W5 y P6 h5 S' ]- ]现在终于删除我的狗屁加速..." v K) [# v7 C$ i. {2 s
. }& v, ~2 |& t4 b% y5 C
( `7 T8 G' t3 v# d2 [9 x& ?
* ` l6 z! {' I |
|