|
|
食品车:" x5 b7 D& g6 C
尾翼:* B9 [) D8 |* j1 \$ q
! {" \! i* Z0 w* }- y
代码:
2 ?6 z+ u, A( Q; qCWndAutoFood::CWndAutoFood()
% j% L# ~. w6 x! ?3 E& \' s9 Z4 i. a{( e6 Q5 ]( ?. o+ h/ c
m_pItemElem = NULL;4 i& i: u2 ?& {5 G% B' I) J+ W
m_pTexture = NULL;
# P! X$ U# m4 W; o4 X Q bStart = FALSE;, I7 z- d7 c8 R! C% J1 W
}3 U" k. d# X6 r. ^& m
" M7 d2 ?/ b4 b9 F1 e) V, r+ _CWndAutoFood::~CWndAutoFood()
0 u4 J' u* s# {6 Y{
8 v5 @% F" Z8 ^, L+ n3 x. P AfxMessageBox( "AutoFood ist gestorben " );. O5 T' @- E0 J
}
# d# r1 d1 E, R( t W& \BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType ) F' r5 \3 z/ d/ G- T) H
{0 Q! U7 c$ f4 m# K5 Z
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
7 l2 Y9 r, o6 ^; r}/ n" K, f( n' ]# N/ I, }
9 e4 S- d) q4 s% T' Q' l
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
; Z" u/ ~! e; a0 e5 v{$ y# I3 v0 o! `1 W* k
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
" J% W5 c) B6 \7 L. j CRect rect = pWndCtrl->rect;0 d3 B9 a0 b: X
if( rect && rect.PtInRect( point ) )& Q9 N5 m; a; k
{1 _: G0 Q+ r }0 {" P
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
/ E7 R' O" m& V2 H7 C9 E if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
' n! P b% h. O' {! E {
+ ~* t2 F3 k5 H, w if( m_pItemElem )2 h$ @5 D U3 E+ l* R1 l
{1 R4 s% n8 Z& P# ^
m_pItemElem = NULL;3 ] P+ ?" J& J& H
}+ D7 n' l, _; R' X% E
m_pItemElem = pItemElem;
. x9 l1 O5 Q- E5 M1 m m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
( X9 m! Y2 K6 T: }7 U }else{3 f! r1 e- l+ S' C ^3 Z
SetForbid( TRUE ); g- Z' W9 d5 k7 `, m( U- r
}* ]" u. Y* p5 h# |
}else{$ F# E9 e$ o f5 F4 x, R
SetForbid( TRUE );3 V2 U+ O& K; O/ }
}+ v! {0 G' E0 I U6 P2 }& q
return TRUE;- |. Y% u( h" N; O
}
" Y7 T8 m- X7 Z3 P+ Y/ M- r& g6 p7 W+ v- F
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
- _! P q. y4 }. I2 G4 t{
' U0 S' W6 u9 l# l. H* u3 S/ X switch( nID )
; \% M& h5 P" d& ]5 } {
`1 b0 P1 |5 I b- |+ m# H, K# ` case WIDC_BUTTON3:
# o) v8 z- B* N; @! w% H! \7 k {3 K! O/ N, n' g+ e( K' w
bStart = TRUE;
4 F6 @- F9 x1 I4 g5 F; O' O0 q break;
% m8 V" n9 @8 [; g! D/ W } {2 X' Z1 |, p! Q4 R
case WIDC_BUTTON4:0 O5 L% y& m- _9 e1 n* b" H0 a. W
{
! m7 c4 J$ B% _, w3 h' h bStart = FALSE;
) [' i$ P6 W1 m) @& ~" ]8 l7 ~ break;
8 h5 G/ y2 k: b( a }0 y; f! m3 p: H% i6 k# F
}
: Q& R# E; V, R! ], B' t return CWndNeuz::OnChildNotify( message, nID, pLResult );1 x5 m1 s. Z- y5 K6 W
}
5 A. M9 {, s( G/ y& t/ h. k# j0 F% O' wvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )2 v" c' ~/ ~/ L, B+ w* | O
{
* o8 h* j( i- R4 }5 S5 l/ ]7 A) o CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );& w/ u! _ F& x' N
if( bStart || !m_pItemElem )- { x7 k9 r Y6 s
{: i1 d+ v) y7 X
pBtn->EnableWindow( FALSE );
( L6 L1 w/ `( B _. F }else+ ~7 s: H5 d+ A K
pBtn->EnableWindow( TRUE );
* g. a& }* j! `- F! c" E if( m_pTexture )2 e7 R; B, J i5 V; j$ r
{; a3 Q1 N( M2 K8 b9 }
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );" y) O+ v' [0 e
if( wndCtrl && wndCtrl->rect )
) t. r( `6 i/ f {
! M7 U, x* a$ W m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
; r$ H2 h! v; x0 Z }: O! m! L& e8 p- ?4 O
}8 s) E( r+ b& `8 x- n& h& C
}
8 S; W3 @* Q' T; b3 p4 e7 d0 _. j" [# Z5 h9 L% O: P- i. p& [
BOOL CWndAutoFood: rocess()
?- ~8 J4 B& h) ^$ W1 ~{) |9 N3 ~# a- `
if( bStart )$ v6 j) t" f) ?' U
{3 L6 F6 P' D2 Z* u$ X
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
4 V# O6 O8 q+ O! C8 N( T6 ~! _ {
1 A8 \0 I/ x" P5 z# O/ N: Y* R if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
5 w* x$ `: g h8 `) e, J g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );5 R4 k) {5 j. S& ^1 z
}else{
# n/ w1 G# P7 w- R bStart = FALSE;
, _! T8 ? q8 _ ~; T5 } m_pItemElem = NULL;
& i# k) O- D T0 }% ?5 O: p }
6 ^4 K& \) q# f- S9 v9 e }
5 r* p h& ^/ C9 Y return TRUE;
' g1 n8 H+ [" F* H7 L}
3 `$ O. Q' ^; V. J9 u# I! t8 S8 A2 I. g* G
登录视频废话:) H1 |, K9 N' s' r! I- [
尾翼:
/ |5 W M) J2 E" @ C, c; p5 M. T; G7 K. a- ^4 J. F, l; V4 m
代码:
- {9 [* F: i: k8 z2 K: ^: E9 c& E K) N8 N
void CWorld::SetLight( BOOL bLight )
# {0 J8 D9 z5 wdurch
" `/ O" ?( p3 |4 G9 \Code:) H: }: K9 |! g
void CWorld::SetLight( BOOL bLight )
( U3 I( m1 ?: Q( A{
" [- [1 I+ G6 P$ H! P: M //ACE("SetLight %d \n", bLight);4 x9 z% r9 \6 n/ S; s
b+ y9 p2 P+ b#ifndef __WORLDSERVER
8 b/ [9 M: H8 ?6 C) v4 o DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);& }2 S* f+ r: i
CLight* pLight = NULL;& w- ^& {! |, Q, W6 B. H9 O
0 z/ Z& P# C7 o y; }! K2 g$ c& }' z D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );7 K0 k. m6 n, L m l% N
; o; _1 N& f: W) S0 T5 x pLight = GetLight( "direction" );; b# X! S, y! [5 M0 e0 A" ^
: H0 U$ X$ _* m0 x I* s5 g#if __VER >= 15 // __BS_CHANGING_ENVIR
# j6 E8 a9 d$ j' e V if( g_pPlayer ){
7 X9 ^- v; d: E! A2 Y ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
& g( J5 g! V- N' J8 O if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
$ B& k& Q$ y& F& U {, }' o5 M1 `- o0 J
if( pLight ). f! x6 T' U! Q: R- D
{, N1 A" s) R: q) h
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
, W5 \1 u; k- |: f" O5 R" I pLight->Ambient.g = pInfo->_fAmbient[ 1 ];5 q5 K. E4 G) z
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
. i/ x7 d' T, I" Q
6 p1 O d0 u; s4 V" } pLight->Specular.r = 2.0f;
& o, M: ?2 @; o @( S pLight->Specular.g = 2.0f;
& b7 k v, r0 \$ S% d pLight->Specular.b = 2.0f;
' q' K7 `: @" O8 p % `8 U% S" S, U+ N" a
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
9 h6 z; Y9 p5 E0 J9 E pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
r2 s) i, M: S4 l pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];/ G% A1 T0 g8 s( A
" s0 d; s% A2 |4 S/ Y% A6 {
HookUpdateLight( pLight );
9 @+ E! {% ^7 N( r/ W7 [! a: H8 k* ^" m+ H6 R
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );% L- d6 k" E5 F# q1 c
& p) g% T: U+ R3 K# J9 {0 L7 y$ d pLight->Diffuse.r *= 1.2f;5 g$ r& A) U v) J/ h4 F+ D
pLight->Diffuse.g *= 1.2f;
& m6 W7 L1 l3 [ pLight->Diffuse.b *= 1.2f;
0 o, B" ~5 j7 r$ W* k7 ]' M
2 I1 g$ s- q9 }3 @% r# G pLight->Ambient.r *= 0.8f;- r: v* O1 [" L0 P, z. X8 u6 I3 Y
pLight->Ambient.g *= 0.8f; [5 }7 z$ i: b1 ^/ F
pLight->Ambient.b *= 0.8f;6 t3 N2 K( J- y7 ~
6 Y r: j+ S- I+ P memcpy( &m_light, pLight, sizeof( m_light ) );% R7 B, Q6 `8 e# e$ D
! A8 z: L+ r D- b/ Q; r }! }# D
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);# @% Q2 U7 Y# l
D3DXVec3Normalize(&(vecSun),&(vecSun));
' s& _ A ^9 d pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ! C# U/ P9 i% ~& V6 z
pLight->Appear( m_pd3dDevice, TRUE );! E& S6 l$ J* t
( L+ N4 }- e! q X6 ?7 r$ c DWORD dwR, dwG, dwB;
' \; A8 F% i/ `7 x dwR = (DWORD)( pLight->Ambient.r * 255 );3 q6 u; s y# {5 M; b2 C3 Y7 y
dwG = (DWORD)( pLight->Ambient.g * 255 );7 o: i% {6 o5 J6 X+ n" T
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ g8 s9 T, y: Q& h dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) w; E* Z# p2 |& t. N& F. w }
$ m. y4 b! c- D- G. X& C }% {( W. n4 v- X& a! y7 l
}! ]' t0 W' r$ [+ k
else9 V7 Y% W8 ~7 \( S
#endif
: \" n+ y- T; x& z' T8 q2 x: g! { q; h+ i' m( A, V: B4 F
if( m_bIsIndoor )
' t! X4 t4 x! v* B; h* E {" a% E6 G; d( X7 d( h3 v+ q; S
if( pLight )
0 `: M% s* N+ h4 _+ N2 T$ ] {
! H& L: |1 ?% [9 l" p8 L o // à??μ oˉè* 0 o6 d9 ?1 w0 Y+ n$ k5 D# E& p
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
1 U9 Y) A$ n! K6 e4 K# w, h pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
N- T- d# x2 l6 z) A6 w pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
) O) ~/ x3 `, o3 _7 a. q8 C! c' f1 j5 `2 |* f' r
// oˉè* ??à? . c- W# @7 c8 w5 K' n
pLight->Specular.r = 1.0f;; i+ j, D/ ?8 q: k
pLight->Specular.g = 1.0f;( h7 L' r# }; \7 f1 }
pLight->Specular.b = 1.0f;- a) n! b6 g3 }0 T D
// àü?? oˉè* 8 \, \4 R6 G* C$ X5 K
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;) y2 T% T- A1 M. [
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
' i9 Z$ ^0 H$ ^# J/ C+ n. H8 a! [% v pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;" r+ D! O- m- ~
$ H/ R( W# {! Q4 \0 W; `3 \9 u if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.5 R0 g! U0 N+ T& M" ]+ ~$ D) k9 D
{
5 A0 z$ L! f, K6 j+ W& ]/ W pLight->Diffuse.r *= 0.6f;% ^4 M1 R- C$ L6 q: d
pLight->Diffuse.g *= 0.6f;9 C( `& V. \9 Y; Z* E/ |* ?
pLight->Diffuse.b *= 0.6f;, M9 ]. A7 g8 b% [9 h
pLight->Ambient.r *= 0.7f;
2 ~4 S5 ~3 o( v; |3 S% k7 x9 T pLight->Ambient.g *= 0.7f;
; t( g. q- F3 Y# y3 C pLight->Ambient.b *= 0.7f;7 _: u5 R7 X5 R/ R# H5 _3 ?, v, t7 [) t
}7 x; `* [/ L% g5 C
6 \+ K2 d1 m2 h3 }
#if __VER >= 15 // __BS_CHANGING_ENVIR5 g6 X% F; T9 _5 F) m, S
if( g_pPlayer ). \9 b" M& z9 W5 I4 U6 g1 Y. l0 @
HookUpdateLight( pLight );
+ p9 a+ N# O$ H! F, ^9 d+ G#endif
* k" u% d, L( Y, q2 ? memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 @5 [$ r3 e; {5 j: R2 N# g7 m% S
7 i4 M. {5 W$ I p% G pLight->Diffuse.r += 0.1f; O% `" ?6 _+ d1 V) ?
pLight->Diffuse.g += 0.1f;
0 [% C) p* e9 E2 D# L( t( ~% ] pLight->Diffuse.b += 0.1f;
) A' |1 o) l0 t2 @- n // oˉè* ??à? ' d. F* |1 H& z8 I
pLight->Specular.r = 2.0f;$ p; i8 f% \: h2 ?! `6 N' |
pLight->Specular.g = 2.0f;( O3 X% K9 o$ r# E
pLight->Specular.b = 2.0f;: o* N" M/ [& v. t1 `. x; n. j
// á?oˉ & u7 R# j+ `+ f; l3 d0 Q* l0 R
pLight->Ambient.r *= 0.9f;, I/ H( g9 ]% B6 S" { P( Y* s3 T
pLight->Ambient.g *= 0.9f;
6 p1 a& p T8 L" ]1 `6 H9 J pLight->Ambient.b *= 0.9f;5 M' _$ F7 {7 G" E
3 B V& T) F* p7 i2 \ memcpy( &m_light, pLight, sizeof( m_light ) );4 ~; A4 i* Q2 W
9 E. S* e- j1 x& I pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
& p% Z5 ^% `' u: f6 e pLight->Appear( m_pd3dDevice, TRUE );' }. O& ^; b, |+ z" {
) B6 s- o* h% p) ?* g DWORD dwR, dwG, dwB;
8 d, j( `) f/ S0 G) m( ? dwR = (DWORD)( pLight->Ambient.r * 255 );2 x1 c- m) I, |& Q: q
dwG = (DWORD)( pLight->Ambient.g * 255 );
. I9 n7 {" C3 ^; z dwB = (DWORD)( pLight->Ambient.b * 255 );2 T9 u. X4 f$ E
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
, c7 J+ s& f. m' S }
$ M8 S t' o) G" v4 d/ i" X5 d }) {+ D% N% O; h g+ d1 I! @' X
else
; g7 c1 S! n, e0 { {4 a; i2 C3 v; @8 y B
if( pLight )
* n- @* K- [; k0 K( j: i8 w5 M {" X: b% c5 J) F6 [
* h: ~% d6 K( w. n$ r
int nHour = 8, nMin = 0;
# w* R' A: P6 K# }8 K+ T #ifdef __CLIENT
$ F3 d% b' O8 k // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. & L/ F( r2 `5 u& w7 [9 G1 J2 }
nHour = g_GameTimer.m_nHour;
" [$ u( Z0 O/ N& z, v6 E( K- \( E: [ nMin = g_GameTimer.m_nMin ;
+ |- M( k4 l' G! v- `9 V' Q) Y #else
/ S; s1 }6 k, a( N // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
( Q, W# i* |; [" D* J2 i8 Y if( m_nLightType == 1 )
% V& q/ Z Z( }6 Q1 C( J! v* z nHour = m_nLightHour;
& `2 E! R) @+ ]/ S #endif5 c. c5 c+ ?) {& b* i* G9 l
nHour--;
& S& `) y4 O9 n, k' k if( nHour < 0 ) nHour = 0;4 [6 }* v: R/ w7 [" x3 F
if( nHour > 23 ) nHour = 23;
0 M; O6 S/ B' Q* y" V" g
& i b% h; C6 B" \; Q7 y) f- t //if( m_bFixedHour )' L% ?$ a6 C0 j+ b+ f8 L1 g# y$ j n
// nHour = m_nFixedHour, nMin = 0;. l: u9 a8 V9 W m8 a! Y+ P
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];6 T0 X3 \6 o' H! a4 F6 U9 \
LIGHTCOLOR lightColor = m_k24Light[ nHour ];% T/ a( B% _: z: m
8 ~! B# \* @' @9 k# L. W# O
//m_lightColor = lightColorPrv;
( d" z& C* | u; R+ b: ?0 i* O lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
/ \; I" j/ F6 w" f) o lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;9 v8 L9 U& b+ N7 ?6 [4 D5 k% I! h
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;. N+ d0 P* w, G
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
" ~1 T% n- d* |$ T3 P2 U lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;( @$ e- L ~& D; H- h6 @
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;" k5 h3 |6 g0 F# i
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)( D, u2 v, U" ?; M. S
0 p* d0 G+ Y$ r! w // à??μ oˉè* 9 S; `8 Z R. L7 b" y' y% o
pLight->Diffuse.r = lightColorPrv.r1;
' v) x2 J m! Q1 U5 j7 T/ M! B) a pLight->Diffuse.g = lightColorPrv.g1;
7 O) V8 r: q: z6 o# q pLight->Diffuse.b = lightColorPrv.b1;
) Q# n! L" {. P8 \) c+ |0 z // oˉè* ??à?
4 s2 B2 i; Y' D% J2 ~ pLight->Specular.r = 1.0f;
5 o" Q4 }: I1 \& B pLight->Specular.g = 1.0f;$ ^8 I6 S1 X. ~0 \7 u- M6 q
pLight->Specular.b = 1.0f;
9 L b# P4 Z4 u4 {6 g // àü?? oˉè* ! e7 k6 R, O" Y8 F, B5 s
pLight->Ambient.r = lightColorPrv.r2;
. W0 d/ D u' b. J% C pLight->Ambient.g = lightColorPrv.g2;
" F7 H- {& Q( W+ |1 w t pLight->Ambient.b = lightColorPrv.b2;
* z5 ?, R% p) D
7 G9 R" O4 t4 W0 z( ?/ B2 g6 D if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.! b9 X r9 L6 h! T; [
{% K6 q5 H2 d2 ~& v @( E$ C
pLight->Diffuse.r *= 0.6f;: u3 O/ M* S* m
pLight->Diffuse.g *= 0.6f; C( z& w* E( N& A
pLight->Diffuse.b *= 0.6f;2 C/ k( H: w& E
pLight->Ambient.r *= 0.7f;* [0 M) m: K0 Y) y9 ]1 A) X# D) z
pLight->Ambient.g *= 0.7f;
# o6 ]: s! s; j; g/ W- }! P pLight->Ambient.b *= 0.7f;
% T9 F# L" I0 L+ E% [ }
* h7 y' @) p4 O" D1 p8 |1 y% | 8 r1 R4 B, ~" y0 m; |- A+ m! b9 g
#if __VER >= 15 // __BS_CHANGING_ENVIR; n Z# V. V u( A6 X3 ?
if( g_pPlayer )! C& O6 t: T; B, ^
HookUpdateLight( pLight ); , z9 I( B( m: O1 r2 _( b
#endif
! M( G$ r# y/ V& M7 _& K+ A memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );' Z7 V/ V# Q g
/ I( f! w5 @# H# _#ifdef __YENV
+ M$ a$ X% w9 \+ T4 u1 O! a pLight->Diffuse.r *= 1.1f;7 y6 d' d/ m( h9 e+ h
pLight->Diffuse.g *= 1.1f;
! o; {, X2 S8 P/ z# v5 q7 d3 A pLight->Diffuse.b *= 1.1f;
% |2 F( @9 y! V. r% X" L // oˉè* ??à?
& H! {& q6 f# }) Y7 T pLight->Specular.r = 2.0f;. q2 ^0 H% P) x K% H" d
pLight->Specular.g = 2.0f;
3 H- j: m% A' K1 z/ E pLight->Specular.b = 2.0f;$ m+ [! W+ [5 J' r" ]' _8 m5 M
// á?oˉ
! a1 J- U, r0 L; o pLight->Ambient.r *= 1.0f;% u5 Q$ h! P. G0 @' C# J
pLight->Ambient.g *= 1.0f;/ K8 p/ r1 z- T, w" Y
pLight->Ambient.b *= 1.0f;4 Z9 T! @0 a; E$ a& L! q4 b& F
#else //__YENV$ T4 d9 ?7 G+ V, D$ ~! h8 C# C
pLight->Diffuse.r *= 1.1f;
9 l( D0 G7 v9 U0 `3 F pLight->Diffuse.g *= 1.1f;
& x/ M, T$ T. U/ s+ E1 B pLight->Diffuse.b *= 1.1f;
/ q" A) Q7 d; B' ~! N/ j' x L$ J // oˉè* ??à? ! U0 y! w, M& C9 N" u9 a A) I# z
pLight->Specular.r = 2.0f;9 o& _4 D- \ y+ Z# d2 ]" e3 y6 l0 k i. W
pLight->Specular.g = 2.0f;
) Z F; b9 p i pLight->Specular.b = 2.0f;
* U5 K$ f1 j) N4 ^( j // á?oˉ
& K) V) r; c6 h( B) j) `+ j4 H2 p pLight->Ambient.r *= 0.9f;
& t$ e8 a" V$ u+ B" M pLight->Ambient.g *= 0.9f;
0 d& H) g7 N- B( J pLight->Ambient.b *= 0.9f;
, C& I g6 [0 n* W#endif //__YENV 3 B) N0 @8 v9 H/ ^
5 Y b3 F5 ]: k" g9 R memcpy( &m_light, pLight, sizeof( m_light ) );
7 R) g8 m& Q5 X. P6 R: ?
( ?( Q2 q( q/ \ D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
& c5 a" f3 A) f! ]* c0 U2 x D3DXMATRIX matTemp;, c- e% R4 q1 h
static const float CONS_VAL = 3.1415926f / 180.f;$ n9 E) A" ]9 G+ j* i
3 i) S( n. G& c+ A2 r! | ?. {1 Y
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
P O. r- \" G D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
& k; E# ~+ j# S0 _# ?3 N pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
9 m1 ^6 v: _9 H pLight->Appear( m_pd3dDevice, TRUE );
- b; Q) @1 | Q% O
}, f) b) w5 ^7 L- L // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);. e3 e C/ i" f. P$ }) B9 c. L
// D3DXVec3Normalize(&(vecSun),&(vecSun));# d0 u7 d8 k3 ^& W
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); # I( t1 v) e1 ^
3 i8 y2 c3 P9 W' X: J
DWORD dwR, dwG, dwB;' ?9 y6 K7 j4 m7 |2 U" [$ {
dwR = (DWORD)( pLight->Ambient.r * 255 );( q, o3 t+ s& g/ J& ~1 v
dwG = (DWORD)( pLight->Ambient.g * 255 );
- ]- W: T. n6 r& P% {5 l, s dwB = (DWORD)( pLight->Ambient.b * 255 );$ D4 F1 C+ s9 s% a( `
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); $ f9 ^) H, @) E
}) N0 ?5 n1 d4 j% q1 ?! O" b
}8 \) F" R; g* ?' W4 k/ x
6 {. ~% p) A, h0 T/ c m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
/ F2 z6 f% f5 f+ j1 e' u 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) );( z" u) f% ~7 Y1 e- ]. o: B6 p
::SetLight( bLight );; B& x7 Q, r, q0 `6 x4 J2 e' M8 x
4 R& Y3 y2 J, I9 [9 R! W7 H // ±ao? ?D?í???ó á¤à?
- \, B- m; V5 r x+ l+ u m_pd3dDevice->SetMaterial( &m_baseMaterial );
+ @1 ^+ @) H6 ~, \ s 6 F: C# U) i" @% l! p) q9 e
#endif // not WORLDSERVER
$ \% ]# i2 p6 l9 W" e) h9 u; l' N}
6 J. d0 j, B" R+ G% P并更换
1 }7 _( J0 z( {2 f# i( l- RCode:
" q8 V* @# f& I) Z/ }__FLYFF_INITPAGE_EXT2 y2 N- h8 @6 Y6 Z
定义
; j) q, C$ l3 x7 v+ S' X! }2 x) Z8 h0 |" R5 g
( R# ^0 S/ w2 Y. s! D! r' d( ~
z7 u6 G$ d& P f, `- @* Y: B3 Z' S7 h% s( E8 F. n
现在终于删除我的狗屁加速...
! c9 O3 d. j. ^' F8 g+ J, s# F1 X
" r5 {8 r3 e: I9 W% m1 Z/ f8 v: J" R; ?- Q
) S; X! N+ Z+ `5 n
|
|