|
|
食品车:
3 p; c& s+ a' }1 W1 m; c尾翼:, d! F9 e: v+ Q
! H% Z% M3 G/ ^) x
代码:
4 U) {. ? F5 \CWndAutoFood::CWndAutoFood()1 ?% ~" S* H" l1 O( `
{; C1 ?. l( s( O! b: r; j
m_pItemElem = NULL;: O% Z% @ ], l9 F/ S
m_pTexture = NULL;
7 o$ \3 k0 |8 g1 y, ?' v bStart = FALSE;5 C ?* R y0 t. Z" C& [
}! }0 [7 m! J& b6 j% `
/ b! H; S$ U" E7 z5 hCWndAutoFood::~CWndAutoFood()( O( [# w0 C- u( w8 F
{3 C7 b& _) H2 l4 v! I* I
AfxMessageBox( "AutoFood ist gestorben " );" L% |. [% ], g% X: O$ Y6 t
} K' I6 Z9 _# N
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
. f) k; ^7 D+ A{
7 J# U3 h) j- ~( T" \/ q return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );. L7 a9 ?7 a: ]5 s& S2 s3 \
}
. I( s3 F9 B9 D' ]/ x! t
6 c) w2 z- G% Y' t, z. ]1 ^BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point ). G( q! j7 H1 ]) ~
{6 J9 S$ S. Y9 ^; U" f* F" ]4 a
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
) ^0 l: l9 X2 }9 m7 y) x& _ CRect rect = pWndCtrl->rect;
5 ~. H6 v& M- @5 x if( rect && rect.PtInRect( point ) )
; T- Q0 i* K( p" `0 b7 l {% |2 y2 e( g* O# u# l* H9 ~
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
& [4 E' F$ l; y9 K/ @& }2 d$ | if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
; v7 U" q9 X( Y4 j* ]# t1 G {0 A( l# q+ Z& D
if( m_pItemElem )
/ E5 [$ t* Y" @- o! @ {
% |$ _* G' X4 x" e1 N m_pItemElem = NULL;
" K- W6 p, o" S }
" G9 [9 R5 J9 `9 f m_pItemElem = pItemElem;
4 G6 F" v1 a/ a( \ m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );& Q/ z( G4 H; D9 f8 i, R; l6 Y
}else{
! z: S5 `$ M$ c9 @ SetForbid( TRUE );
5 l* r% \3 W2 E( k7 u1 I' N% G }
- t/ X L; V. C0 `% W L0 _* j( n }else{
& ` f! Z* M3 ?; r5 }# j SetForbid( TRUE );
Q& j8 w/ {1 V! E9 A H6 z' D }
9 `5 S) G& u% k4 i0 a9 ] return TRUE;( X( g! G1 t7 p6 x' s
}
# Z5 i+ S. [) |2 G2 n* Z! U! Y+ K g/ J1 _* C1 m3 T$ g! a
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
1 G7 X9 p" K% N{
- o5 e* D9 r5 Q- m) Q# `) t switch( nID )
6 O9 U5 ~, `+ y# l/ }, f {
: h( R6 v0 r$ I1 L- @. Q case WIDC_BUTTON3:
; z) d% I( f6 q( i: ]" M7 H( W9 |0 E" Z3 w {' o5 D5 {, W. n L$ D- [- z
bStart = TRUE;
. X. X* k. p6 M( _ break;9 U, c/ U+ H: Z+ m- e" ~
}
: u; c' e9 `+ L# m7 V' a5 W$ _ case WIDC_BUTTON4:0 S0 N3 }$ w' C; r- b' m! F
{
# r3 n G2 C5 E6 F. w% I bStart = FALSE;; J* k T1 M( p
break;
- o4 }1 F( A. x* L3 V' g7 n8 ] }
: B9 V# U7 S: `& n }
& H( h* w$ p; M$ b return CWndNeuz::OnChildNotify( message, nID, pLResult );
/ W! ^% K& R7 [; u$ D4 {- C} + n" E! k( Y+ [0 v& t( M0 k
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
0 l k/ Z8 r# _( v- _' R9 o- M! o2 x{" m- _- l/ {2 D! h5 J& K$ R
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );, l, N/ A- _- I' g" E q! |4 v' Q
if( bStart || !m_pItemElem ); ~9 Z+ m5 @6 U, R; O( h
{$ o" k, `* b6 P7 v O
pBtn->EnableWindow( FALSE );% j3 b2 z7 R' x& y
}else" }% T9 { z" ]4 |" E G6 b
pBtn->EnableWindow( TRUE );1 B' u) A2 d9 `
if( m_pTexture )
+ ^7 N( W# m- r2 }8 X { Q5 c, H9 y5 F; S% I
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 ); q5 E! ?7 V( Q+ n6 b! U
if( wndCtrl && wndCtrl->rect )# z% n7 y2 ^+ G
{, a% c* b7 H- l* ]. H
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
, H5 m: ]2 b( t: U/ A5 i }
& v/ g7 J0 t* A2 V# l }
0 a+ c7 a* u: R} U2 x9 H# l/ [3 _6 ?% l$ u
* F: N6 Z' L9 }BOOL CWndAutoFood: rocess()
: v6 x @5 n( w{
" r: s2 ]5 p9 y. X9 s) b if( bStart )1 q7 B0 Y1 n; x5 S7 p* ^
{
, C3 E( l) N0 u7 R8 \ if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )/ `. w& j# C6 M* Y) l7 k
{
0 ]$ E+ c! e, j: Q) Z& o3 ~5 v 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 }" e* h. X; p# S* Z8 c g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );$ m2 k' g' F' u3 j
}else{
+ u8 y' H* F6 d1 Q* n1 h bStart = FALSE;0 p% @' S3 b( X' h5 u' i. K, S% \/ Z$ R. U
m_pItemElem = NULL;
0 n) L5 g& u2 q4 q* j* U7 z }
& P2 {: o3 O( |' y4 H' S& A }
8 @4 J$ g) D. h+ P$ P2 A4 ^ return TRUE;
/ q& }8 r/ }+ ^ _' @) W4 h}
& r$ r1 a7 O2 _7 u! W
g" ]/ Y. r& V1 c o; g! c登录视频废话:. K3 S% x7 n; H" X1 b- Z
尾翼:
' a$ d3 p# f, f9 P* {9 @3 @3 D1 `* D) S3 {! p0 F
代码:
3 U! l9 B# n% ^
- G/ u7 q5 a' g1 w4 @0 uvoid CWorld::SetLight( BOOL bLight )
( } c# f2 i4 cdurch
" D; g: K9 [1 {# V# s kCode:$ D4 H/ o5 ^' Z* c2 r& ]
void CWorld::SetLight( BOOL bLight )
0 s! k$ p, o$ d! |6 N{
" h( m/ \) F% G3 [+ ?# P //ACE("SetLight %d \n", bLight);+ z: G' Y7 x; h4 V% b, p* P4 {' p
% o" J1 U' v9 X! z' I
#ifndef __WORLDSERVER : a+ X7 j' c+ V0 s1 r0 S
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
& Z% h: Z3 j/ k CLight* pLight = NULL;
* i6 ~# V5 [9 Z9 k" r- a( Y6 N! ?6 j
! q `. u5 i. F$ w/ P6 C- T D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );/ f* o" W1 X6 |" C
" b/ k' T+ T7 l3 t- e pLight = GetLight( "direction" );
, o3 |* k! W. T; Q4 b* q3 Q3 v4 W1 M! M8 _) u! J
#if __VER >= 15 // __BS_CHANGING_ENVIR
. Q4 \( c. ^# H2 ?$ K8 {: R: A if( g_pPlayer ){
8 u2 k$ U3 A A% Z0 ^/ e ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) ); `+ w9 t: Y$ k* d
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
$ x1 l! m9 N, c; n/ C3 `1 s {
- X; o/ v6 Z. O; ]8 N if( pLight )
$ T5 P' P; W7 j; D* |( ?" Z {1 D, z7 I9 q0 \" b
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];$ v: N7 g; P' B% M% C) ~* w
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];8 j: N! Z$ `7 a5 S( y, @7 t
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];! v h) n; H8 |3 p
: X: C* c" I; Z) X
pLight->Specular.r = 2.0f;
. g2 b. ` f/ a& {: h6 F3 M pLight->Specular.g = 2.0f;' w9 ]7 n6 f' L/ b
pLight->Specular.b = 2.0f;& e8 d Y' ?0 P, B1 A+ F [
6 H# d+ F. s+ X4 `3 p6 v pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];' Q2 O9 P) A4 n: \
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];, H+ d+ s; O" u: u
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];& `$ y7 G# v& D' ?
7 K! {! c$ T! g& X% L* h3 V2 z6 h+ {* M HookUpdateLight( pLight );
6 P5 L4 {9 N6 S! e- j t; ]4 C( g$ o$ m
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );5 G: Y( {: q, t. _: G: m% l7 W
+ Z( \ O6 G' K6 \/ Y! X
pLight->Diffuse.r *= 1.2f;& f, K, }' K; ~, c
pLight->Diffuse.g *= 1.2f;
0 D( O. ^/ @) Y8 j3 N pLight->Diffuse.b *= 1.2f;- \9 ]1 d4 l0 V- t: F
' Z2 X7 d* o; h' C
pLight->Ambient.r *= 0.8f;
% o: v0 ?/ V/ ~ [" G5 ^0 w pLight->Ambient.g *= 0.8f;
2 |' z3 ^" A0 G pLight->Ambient.b *= 0.8f;$ w2 {7 ?+ b- R
/ o$ y$ q6 z& z: n
memcpy( &m_light, pLight, sizeof( m_light ) );
& n. x, ]8 B6 |( m5 W0 q0 q' Q. ^" G0 _7 ]; R @
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
7 f8 M. v- @% D- h9 I* a D3DXVec3Normalize(&(vecSun),&(vecSun));, S1 v/ T( _( D
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
- R% y! F( a( c5 l( I pLight->Appear( m_pd3dDevice, TRUE );* i. S; r. a/ G
! O) U/ D; v4 h2 S6 ` DWORD dwR, dwG, dwB;
9 h8 c" c. b! v' W: ~ dwR = (DWORD)( pLight->Ambient.r * 255 );
6 M. c! a! m- K( a2 p dwG = (DWORD)( pLight->Ambient.g * 255 );8 p( c$ I% K1 _# C* K- V
dwB = (DWORD)( pLight->Ambient.b * 255 );
- N/ n, m, K& p4 K: a4 ? dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );0 O7 Q7 V( K' I d1 \) O
}
/ r( B. e" d8 y* ]' } }
* h( u, U, E2 R4 @ }
8 h9 G4 c3 V: S" ~ else
+ E# `% P$ w& T: `0 {# P#endif
5 M( @, j% a0 a7 S. T/ o/ N; S0 J* v2 W5 ^1 V+ Z) R' W9 b2 D
if( m_bIsIndoor ); K! V1 h( S# i: p ~7 `3 e
{9 Z( B& ?5 `" ]
if( pLight ), J$ S9 m) z5 e; _8 x2 P
{
% S' c; N3 _% R) G7 [ // à??μ oˉè*
8 |' f" I7 c& F& Z pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
3 s0 ?2 f* `7 O- Q O pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
3 ?2 j0 E' v6 d, b" ]6 F! ^% Q1 N. q pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;3 r; h* N6 _/ n& Z. Z" M
8 Q: j* P: S& B' ?% } // oˉè* ??à?
6 [4 X8 i: d( N S0 Q6 t pLight->Specular.r = 1.0f;: b1 g6 ], [, h% P; q# _% Y
pLight->Specular.g = 1.0f;) L# g% e0 k7 |7 r/ G
pLight->Specular.b = 1.0f;
3 Z' c; \' \' Y$ x5 x; V // àü?? oˉè* & U( P+ M) \7 Y! B) a6 D) q
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;4 d. _' { E+ m
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
' I8 L: l" b5 V pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
, \6 q) w, [- U, F. B( w% P3 Y, F2 A- J
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
/ s' E6 a8 {0 q7 K {
) D" [9 `6 ^; _8 n$ X pLight->Diffuse.r *= 0.6f;
# t5 S) A1 h% U4 p' Q2 M2 c pLight->Diffuse.g *= 0.6f;9 d/ f g4 z! ^5 Y$ O4 g
pLight->Diffuse.b *= 0.6f;
, q5 o+ F4 `8 Q$ `) E! H; `2 o2 w& f pLight->Ambient.r *= 0.7f;
: D8 I2 i! y2 l pLight->Ambient.g *= 0.7f;
- [* ~5 T& s1 H. K pLight->Ambient.b *= 0.7f;% F9 F8 {& S9 c- C) C4 r( H
}6 |8 m" i' H2 f i6 T5 }
/ U$ K" i0 m* U. {8 z4 e#if __VER >= 15 // __BS_CHANGING_ENVIR8 |, F9 m! n, ^/ L0 ]
if( g_pPlayer ); }) ]; A7 s" Q% q9 \# F" _ Z
HookUpdateLight( pLight );' ]7 v3 a+ Q4 Y/ z- T1 i$ U* D
#endif& P# c* a, c5 Y: I
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 [5 i8 Y; y1 C0 T b" Y8 X( F6 A
2 a# g) d! j4 t1 e1 m# ?' Q pLight->Diffuse.r += 0.1f;
+ I, @; J1 T7 \. { pLight->Diffuse.g += 0.1f;2 P8 g. n, w( a
pLight->Diffuse.b += 0.1f;7 t6 W! O* C% X) `$ b- X
// oˉè* ??à?
+ q) T/ S* k. L6 e z pLight->Specular.r = 2.0f;, ]6 ^4 k) q- w2 w5 ^
pLight->Specular.g = 2.0f;
# u {3 m' H( c `$ x$ `' o0 { pLight->Specular.b = 2.0f;9 j% I, ?" l& d, ]2 E7 p1 U- K
// á?oˉ + L3 s8 K" K' D) [8 Q
pLight->Ambient.r *= 0.9f;
; G8 y( N7 _9 G7 j6 B, `% e pLight->Ambient.g *= 0.9f;% o* S+ l& R3 p4 v* C% \+ ^& Y
pLight->Ambient.b *= 0.9f;5 m% a v! F! u9 p6 ` \
+ l3 b% w. F' B# }. B
memcpy( &m_light, pLight, sizeof( m_light ) );
7 G( K2 r: Z- m Z( W5 c 3 i( C2 H6 j* T
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );# j' e. ~! f$ a
pLight->Appear( m_pd3dDevice, TRUE );: B" s* l8 X4 t8 Z9 Y8 m/ y
4 G) y9 m6 R* N- p3 y DWORD dwR, dwG, dwB;
, `$ k8 N& R2 a, o( o dwR = (DWORD)( pLight->Ambient.r * 255 );
5 ^2 D% z! @- {. X8 e! u dwG = (DWORD)( pLight->Ambient.g * 255 );
6 y: z, \# v) M4 ?% V- P dwB = (DWORD)( pLight->Ambient.b * 255 );# _' ^9 h% E% F" \: x# r4 m
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 j4 `- k4 n0 p- a }. N5 F% k$ s3 L5 ?' A: k. N
}
! C9 ?9 [$ ?( r z* s; B else
: g; v, _: R& g {
" K. m9 Q4 C& @& h if( pLight )
. O1 `- u; o4 u% p8 a& {# ^ {% N# K; l- r% h, K% k' v# h) z! f
8 Q5 i7 M! _; _$ f w( t int nHour = 8, nMin = 0;
0 q) |% V D* Y+ O- X$ a #ifdef __CLIENT
+ ^( w- `% [! m* X6 A0 K- U, j // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 2 J6 u7 A6 _& z$ e8 P# g9 z
nHour = g_GameTimer.m_nHour;3 m) D1 o- r( i9 o% j; n
nMin = g_GameTimer.m_nMin ;9 s# j) d1 a) ~8 l# K" J) x, c
#else7 t: B1 t: q+ j: j P5 q
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.% t( b1 M5 H2 h2 k( X) R ]% A
if( m_nLightType == 1 )
9 o5 n' F/ K! r' Q3 \$ o+ j nHour = m_nLightHour;
# ^( S d# ]4 W: C& ~: p, W #endif
3 D2 J3 e9 |4 ? P% | nHour--;+ D- |9 @$ ]/ D* ^, J9 H
if( nHour < 0 ) nHour = 0;
; y3 x8 d! i0 r$ b) O- ^2 N0 `* l8 { if( nHour > 23 ) nHour = 23;
2 S' x. s. ]% M! n) M; p$ f
3 y% A9 }% T2 f0 ]- s$ ]5 k1 b //if( m_bFixedHour )
. F4 L% D0 I3 ~1 ~. Z0 P // nHour = m_nFixedHour, nMin = 0;
' R% s: a( j! | LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];# t% g) w* H9 r2 o, t; Y n
LIGHTCOLOR lightColor = m_k24Light[ nHour ];6 R" W v) i* y9 o
2 v. T w" @& d# _: H0 f //m_lightColor = lightColorPrv;
. H6 \3 U$ y$ c0 u3 O+ U3 E lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
+ n% [9 e- G% t( k# T9 a lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
. t$ J- E4 e) s2 q- A# x lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
( X/ T/ Q, q! N2 d8 _4 t' Z lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
, K* ?) D7 [* Q& k( s# W# ? lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
0 z" @$ K& M& |2 _( F lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60; k1 K/ L9 k' ^2 F
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)8 c! g6 F2 J" T9 O$ @* x2 u
: }3 X* z% Q; D0 a# Q // à??μ oˉè*
. M+ ]! p" j# d* E/ V, C: Z+ i pLight->Diffuse.r = lightColorPrv.r1;
2 R& x; a+ y* M0 S' H" y% }7 U pLight->Diffuse.g = lightColorPrv.g1;
$ b4 X* r1 R7 s' e% n, W2 d pLight->Diffuse.b = lightColorPrv.b1;5 T- A2 p! j6 b6 [, b, A3 ]( h
// oˉè* ??à?
$ j$ i( I0 s$ n pLight->Specular.r = 1.0f;
0 f+ |4 J! j; ^; f" z! f) V2 T pLight->Specular.g = 1.0f;- E2 m2 \3 N% L. m% |
pLight->Specular.b = 1.0f;" a1 s: r2 n% V" D2 i; [% V
// àü?? oˉè* ) D+ D& P6 _7 ^6 W6 J1 m
pLight->Ambient.r = lightColorPrv.r2;
f4 F7 W% i9 Y1 |, R: N pLight->Ambient.g = lightColorPrv.g2;# `, E( D4 v# I8 H& O1 ^& g$ I: H
pLight->Ambient.b = lightColorPrv.b2;4 {# x1 [" a9 i
- e- d, U) B# ^1 i5 y4 @2 h if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??., o1 x, M% o+ T0 E7 {% z" ^" z
{
' g- n' F0 L9 C' u" e3 z0 | pLight->Diffuse.r *= 0.6f;
- x6 c: N8 }* Q. s$ l8 K3 I/ y pLight->Diffuse.g *= 0.6f;" L& M9 C% B$ L# f! } E' \; }
pLight->Diffuse.b *= 0.6f;
& m, ?6 k; }2 x pLight->Ambient.r *= 0.7f;
. k6 l! H' w1 k* B0 b; @3 p pLight->Ambient.g *= 0.7f;
+ f; e- r1 L' z pLight->Ambient.b *= 0.7f;
T; b% k) H3 O) ~/ o7 k' r; | }
# m+ m, @( J# E" N M0 Q; Z
' k% H% t9 ~5 E* _#if __VER >= 15 // __BS_CHANGING_ENVIR$ `! T7 W- S& B6 j; a
if( g_pPlayer )' b# A7 e8 L9 l
HookUpdateLight( pLight ); * {% a* |8 M, B" M* K
#endif
- A* I' |( f! I# f! W+ C; q memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% S- ^3 T; s0 D+ V- q1 }- R
# g/ y# a% J# |2 ?! Y- f; I% B# Q#ifdef __YENV9 z: R' v5 w* Q! V; ?6 i7 R1 w0 V
pLight->Diffuse.r *= 1.1f;
# j" G$ w- Q2 C- `! ? pLight->Diffuse.g *= 1.1f;
1 h3 D: M" @ y! s pLight->Diffuse.b *= 1.1f;
; T" Z. f$ w& G. H // oˉè* ??à?
1 y* j4 }/ D9 z- i0 ~4 d; @6 T; O6 U pLight->Specular.r = 2.0f;# x+ s4 c* r3 ^) l
pLight->Specular.g = 2.0f;
$ M9 U- a5 L* C! U9 P: s) |# l pLight->Specular.b = 2.0f;
) l H1 {% t: D) C: i( f // á?oˉ ; \& i; a& |9 R% o0 {8 J/ Z2 |
pLight->Ambient.r *= 1.0f;9 o S. j: K' s" V* @
pLight->Ambient.g *= 1.0f;
( c4 R/ C$ a! n pLight->Ambient.b *= 1.0f;/ S% ~- a" N" n, F) j0 v
#else //__YENV
i, L7 j# } j0 C pLight->Diffuse.r *= 1.1f;
2 y! Z+ l! f7 z2 ^ pLight->Diffuse.g *= 1.1f;2 R1 V9 m6 `5 f. s/ L. l# E
pLight->Diffuse.b *= 1.1f;% V. x4 N# p; V! [! u1 c
// oˉè* ??à? # T; Z1 v6 ?5 o. U; k! P" ~! p5 B! e" d
pLight->Specular.r = 2.0f;
, r/ j7 ~5 R' J z pLight->Specular.g = 2.0f;
/ N- T' H3 T. c& w pLight->Specular.b = 2.0f;9 W8 g. X2 A& p7 i9 D
// á?oˉ 9 }& m7 b/ @% R$ V! P) p
pLight->Ambient.r *= 0.9f;( c" e* A7 K+ C/ s8 c
pLight->Ambient.g *= 0.9f;
M0 V" G. I; m/ s0 d. F pLight->Ambient.b *= 0.9f;' u' i P; J; R/ x- b# l
#endif //__YENV
) A: c5 C) M2 Q0 G
: V5 C* o. E0 J3 ?8 F& } memcpy( &m_light, pLight, sizeof( m_light ) );4 D9 v3 S+ C5 p+ U5 q
! M0 b. O; p- X3 ~% L: x$ R
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);: }% G' Q" h* h
D3DXMATRIX matTemp;) R6 u! e) R7 L% @( Y
static const float CONS_VAL = 3.1415926f / 180.f;1 Z- k9 H4 L7 z" K0 w
5 D( m: T( e6 R" l
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);) A7 s& T% F* }3 l! i2 w/ q
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
4 P( \4 @9 w& g: s& i pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); + O7 \0 a2 q8 t W: r
pLight->Appear( m_pd3dDevice, TRUE );
* q i6 T: l& ?2 L1 _
& @, _6 R/ S7 f! g' [2 Y // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
8 \# b$ X9 J, P3 u3 C( u* p // D3DXVec3Normalize(&(vecSun),&(vecSun));9 B! v2 j( n4 K7 ]8 ~
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
# _, ]; o' R7 j8 e4 M. [ u" O1 c L& q5 f% W
DWORD dwR, dwG, dwB;
& \1 V" w) E8 z' a+ B dwR = (DWORD)( pLight->Ambient.r * 255 );; |# ~* b G. G4 Z* K' r# q
dwG = (DWORD)( pLight->Ambient.g * 255 );
|0 F! B: _- p. V, c dwB = (DWORD)( pLight->Ambient.b * 255 );& N8 |* m: X) r& z' A! l( |6 l
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
+ J& w) Y6 o1 b" D% g( z& Q } E7 F7 F7 r \8 d
}0 I1 n$ j4 s5 v E3 A, S
* ]# H/ l; H/ T: r: Z2 Q m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
1 _: }+ B# w( e+ m- ^8 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) );; j Y+ n. {" W! ?5 z0 ^
::SetLight( bLight );
. J V% P" R F- }/ [2 ^% h2 i0 G3 T! E4 c# a" v* ^
// ±ao? ?D?í???ó á¤à? + ^/ W7 g9 `. L6 q' x
m_pd3dDevice->SetMaterial( &m_baseMaterial );
, G, q' A' u3 Y! ]( U3 `+ }
) I, }" R; L0 U1 N j8 Z8 H* Q# A#endif // not WORLDSERVER( d7 f* H. V) G6 E1 c
}% T- _* |5 b: p8 b6 ]/ N
并更换- @' u* N; V4 |* T
Code:
W! @) k0 j2 X__FLYFF_INITPAGE_EXT1 F8 O. b0 n, a, d7 c, K( P2 k2 H
定义
- Y+ ~% s" y% E) u- _; D% U, [& E2 Q6 ^4 @
* M, k! Z! p0 S2 p3 a. X9 A
. `& Y* C! S8 k' R4 _8 s2 V% n$ a3 a2 q5 k
现在终于删除我的狗屁加速...- ?/ c5 k6 j- y" v) [7 R0 T
+ L) K3 f1 V8 {1 F! H9 ]6 i' c3 n5 e/ d( A6 I( }( d$ P
/ J! p3 }) y! M6 \5 Q2 l2 t2 }4 O
|
|