|
食品车:
$ L1 d5 R! F; A7 N尾翼:! U) |5 a) g/ `& \% v! t e
6 v" o4 G- A5 r. ]; D% p+ F
代码:
4 T1 v; p: D+ C; Y FCWndAutoFood::CWndAutoFood()4 g) z. Q/ x* D+ ^8 r. Y x
{
1 D" f/ S o2 f; V; o- X m_pItemElem = NULL;/ Q u3 h% s- I1 b# W4 m
m_pTexture = NULL;
7 _. s6 F3 j0 r M bStart = FALSE;; o5 Q6 x0 ?; O' p
}7 c* r7 R2 ?) |3 m: N" _( K
3 V. U& [) b5 ]5 |/ T+ O7 @: DCWndAutoFood::~CWndAutoFood()
, f- T6 `2 ^8 j: ?{
" Z8 d0 ?5 E) ?1 G3 [9 B/ l AfxMessageBox( "AutoFood ist gestorben " );
/ z& I+ N% t% l}
8 P3 l( `! }, bBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType ); I; s1 l9 {3 F* K
{& @: d9 H I# N, Z3 ~7 e- E
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
4 I! l# ^$ P) ^$ @+ H# F}( U4 V2 ]. [4 z; v+ Z
0 _8 @+ _2 {/ rBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )& z, {% ^# s% ^# m6 U( p# ~7 [9 m8 d1 R
{
% K! ~1 z% k( z" H b' t! @3 [ LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );* y3 B& I1 F2 @
CRect rect = pWndCtrl->rect;
$ W b" m& t' W8 n1 e if( rect && rect.PtInRect( point ) )
9 a8 h; d+ ~5 u {
8 K4 D6 ^( |7 u; u) m. Z/ N) G CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );0 L3 @7 ]+ f9 \, ]! z2 [
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
) r0 @( [7 G; p4 s# e {" y, {9 P# G1 l5 P( \1 U
if( m_pItemElem ). u2 R& g+ p8 E. w
{2 c" g( w: _2 I3 R' V, {" [
m_pItemElem = NULL;
+ o: ?' W: F Q* `& S }
+ y9 | a5 t3 B1 d4 s, E m_pItemElem = pItemElem;
4 [+ x5 B* n- }/ I0 N% V m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
5 _' Y I# C) H: x }else{
! _6 o. u0 A4 ^+ a4 a9 D4 f0 E SetForbid( TRUE );
3 V0 t! x0 O& G5 v2 z }
+ M7 \6 b9 `( p9 _+ I, j }else{
& d2 D8 q% S) O, X SetForbid( TRUE );
3 D# j$ R6 P6 H2 r5 N+ _, m( x }0 T' I' p! l% V$ ]: w& s
return TRUE;
9 h3 x; q, ^$ `3 Y0 ^}8 J3 b# E6 G2 T% N
3 k2 _; {8 v, q4 t) t" ~* HBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
4 P5 }4 K& J3 `+ u{
# @* n1 a6 x. G4 W switch( nID )
q6 P! ~7 H% a5 r+ | {
# j: r( R; c3 u! H9 X case WIDC_BUTTON3:
- P% K9 M8 g# N I6 f {
. z& v( f" P2 m: I bStart = TRUE;
0 F; p; y$ X+ A. G6 j0 {1 z1 e break;
5 q( N$ N7 _7 `' g2 z- f }! ~5 j; i2 ?' J" c" [% T
case WIDC_BUTTON4:! `# I* X T2 i0 j# b4 U
{$ R- i3 t1 `0 g2 X# {6 o
bStart = FALSE;- \# s. f- O. v& |
break;
* B s4 O( O1 T& X/ K }
) u9 M5 x/ a: V y" D- B+ ]* [5 F }2 @5 A) t9 g! Q$ ]* b6 [! j# W. w8 q" l
return CWndNeuz::OnChildNotify( message, nID, pLResult );, k+ s* H' E# p! \
}
1 O" j( X/ a* j) z3 `7 @. m1 n" lvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
2 p/ T# }. G( J: p{
" q# G" u0 E) a$ a, A; C/ @; ^ CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
/ o; }% z9 H5 T% K W f' ]8 I if( bStart || !m_pItemElem )5 x! l# U/ M+ F" F
{
d* \( @$ B9 G; A5 r" k' U pBtn->EnableWindow( FALSE );
2 ~5 E- j$ P, _/ X }else
) u* J0 _/ R& A2 h. n$ R/ R0 \ pBtn->EnableWindow( TRUE );
0 u( [- i9 N. c) F( n4 D; j if( m_pTexture )6 S( M" q1 c! w/ S/ B
{
6 t8 U- o0 g. ?% M LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );, Y. x( O- [$ w* N8 h; H* l7 n
if( wndCtrl && wndCtrl->rect )( F) U! y9 k' H7 s$ T; O7 E
{
: h; o1 N8 u; }& | m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );0 q* b+ _4 H# N* V4 Q" t, F& X
}
' }9 _9 ? P% a8 t: N }
/ S7 `: Z* P0 h% [' a: J. E}
+ f* P' v- z) G/ m& U+ i' y$ P& u, n0 B Z2 N* i$ W x( m
BOOL CWndAutoFood: rocess()
# I" e6 d7 t' O{
4 w0 p+ ]' l9 @! D) n3 A" V if( bStart ) Z( y8 B( L9 k! `
{4 A( ]+ k8 }4 {$ r" _4 k6 c+ F- a
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
5 R5 E( ~) v, o0 w$ s {$ S5 ]$ Z1 T" _0 G0 O
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 ?% J' j0 R" ?- | B
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );! E) g ~! p; q' h' [0 }
}else{" R8 c+ l8 J+ r( i, b
bStart = FALSE;) H$ L- T ?8 V; s3 D- D
m_pItemElem = NULL;$ q: T1 k1 O) v) M- z/ P1 ~3 O' J, c
}
9 q) ~8 W- L& q }
8 X$ |" c! k2 M return TRUE;
3 S% h( u' t, [3 d: U: `- w}, W: i7 [# ]- f! r& z
. U: B3 {6 e7 Q# B登录视频废话:
! S+ _- p/ Y+ ?0 M6 ? p尾翼:
1 H& N0 {+ k6 T8 ~" a
1 Q( l7 T' A8 E/ j代码:+ ^8 K% e8 L, j0 s* P" ?# c
) s0 N; [3 W9 P" y# m6 w: Y) [9 Tvoid CWorld::SetLight( BOOL bLight )
7 u, s; ]+ }# }5 E9 O& tdurch
3 f- q3 }/ A/ CCode:: n1 J7 V. [. B
void CWorld::SetLight( BOOL bLight )
$ h2 j9 C8 u" j- a$ Q9 ]{+ T7 s3 e/ o* |- u# ?
//ACE("SetLight %d \n", bLight);, Z5 _3 s( C1 Z% X4 K& e
3 G X0 j1 l4 N! c, M. l/ K6 m( |
#ifndef __WORLDSERVER ' G w* N: z# ~4 _
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);0 f( v8 m# v8 P2 J7 e
CLight* pLight = NULL;7 M, i3 z5 e* D4 z+ I( z
/ x# d! ^+ v/ y D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );- P8 R( j9 l @3 p
0 S) j0 A( S7 L. P pLight = GetLight( "direction" );
6 a Z8 b! g) J9 M8 \- T5 l) n$ _ N
#if __VER >= 15 // __BS_CHANGING_ENVIR1 l' ^2 c/ o( j( F
if( g_pPlayer ){
3 d# z% M& @+ i$ j/ W* ~ ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );: s6 _* @ n5 z$ {7 z( C9 e# D' @# p( c
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
! G R1 k. n4 o' a& d {
9 K6 B, B1 P) j4 I if( pLight )
/ X9 M0 h P, p# Y: G( N {9 i3 D& i# w4 a `
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
5 S* Z. a0 n" F+ L v pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
; V4 _' K8 P+ ?$ c. y pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
0 |* m9 h( w; e0 D/ o& C6 S
, A- R, L, f3 C" ~2 P* H. x pLight->Specular.r = 2.0f;0 Y- z% A8 R3 |- P
pLight->Specular.g = 2.0f;
; m8 r7 z: z7 K% g6 _ pLight->Specular.b = 2.0f;8 \. E3 F0 H- _
" w! X0 X: V( h) K ~0 ^* B! L pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
* I& l+ l# E J2 @" ^9 l' t( H$ n1 Q pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];9 ]. b6 D9 ?( F& f/ a+ e
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
: w* Z, G1 ?0 H; N
" E2 D+ E7 y6 c# J% \, S HookUpdateLight( pLight ); ) |, c* F0 F. e2 }. a6 R
% T; H! X) q* S1 M9 v
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
' s7 y; Z W, x4 c% d7 F, }3 ?; r. j : S7 R( I y' t5 y
pLight->Diffuse.r *= 1.2f;
" L0 ? U/ k0 q$ n {$ Y pLight->Diffuse.g *= 1.2f;
9 E: I* h# [. e& z" l pLight->Diffuse.b *= 1.2f;
: R& X3 Q1 @# z; Y. }; J n( Y/ y: \8 e8 ?5 Z0 P" M9 g
pLight->Ambient.r *= 0.8f;2 J% N4 ^, t& H$ m( y" D, ]
pLight->Ambient.g *= 0.8f;$ G0 {* i' A, u, j5 i$ n1 v
pLight->Ambient.b *= 0.8f;% ^$ o3 v# }6 z I; \
$ A+ N5 \. o# H2 D. j
memcpy( &m_light, pLight, sizeof( m_light ) );4 t; w: ^ d; Z0 z7 l
* g2 m' c. k1 m" o8 p% O$ w D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
p3 [; A3 S/ z3 H. |& \ D3DXVec3Normalize(&(vecSun),&(vecSun));
5 g% t! f7 _2 s% y0 u$ M5 J pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 3 ^) A! H. f4 F' W, i, Q
pLight->Appear( m_pd3dDevice, TRUE );+ s. z) |) a6 i0 }
2 L$ G! d" z) M
DWORD dwR, dwG, dwB;
+ C+ A+ X- l0 J) A# X3 A$ R A, V. T# b dwR = (DWORD)( pLight->Ambient.r * 255 );
$ k/ ~! t0 N- d( M( X dwG = (DWORD)( pLight->Ambient.g * 255 );
' X3 {+ T2 W- U( q dwB = (DWORD)( pLight->Ambient.b * 255 );% [7 d: [! b6 |) c5 [
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 M% L8 m# w/ w7 n. J }
: }& L' l1 [, q3 S0 P# c }8 L9 B8 B$ R% @* C
}+ ] Q9 a9 L5 f' U' o
else
# }6 u8 B; X3 d0 T/ W) R; i" D) P#endif
7 p9 u& k% r$ l0 N9 n
$ Y! x, T: |4 u4 o! W if( m_bIsIndoor )$ R* S2 A) K; a$ w# w# ^% B
{( X$ [: l, O7 v5 ^ E; C# h/ P
if( pLight )$ [) a/ n/ ~: y3 S
{ 5 `. F8 e+ G3 p- o
// à??μ oˉè* % m4 V" C1 C/ V$ H2 t: k8 P
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
! l5 T# }# _5 W ^( m- P0 l2 o pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;+ H4 n4 Q$ Z' w% _3 O
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;6 f6 t1 M5 T: H* j/ W6 E
9 t8 p* h9 C9 j& D7 W0 @
// oˉè* ??à?
/ m, F! ~6 j( B" g pLight->Specular.r = 1.0f;( M; h( U5 I& v: ^4 Z: H0 _
pLight->Specular.g = 1.0f;; x6 H( H# p' ^# Q7 `, M
pLight->Specular.b = 1.0f;% W9 V$ K( P& m2 F' M
// àü?? oˉè*
7 J. o# p9 P7 p. e$ F2 o! d pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;; u# I2 Y2 x& i |, l
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
' p% ?: f) O, T/ P) B5 C pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
4 q- V6 |! ^$ ]# q' I. Y. U% D0 G1 E" S$ n- J& V5 `& \) u% z1 h
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
& W% n/ [4 K- Z. T {# E8 `* N) g0 W7 S4 y
pLight->Diffuse.r *= 0.6f;
$ L, X9 V' f# R, x# d5 \ pLight->Diffuse.g *= 0.6f;1 c% c7 _/ o! C e, C
pLight->Diffuse.b *= 0.6f;
( y: f1 ]' V" R/ s p% u$ t pLight->Ambient.r *= 0.7f;4 L- u7 g% ?/ i' M
pLight->Ambient.g *= 0.7f;
6 Z( U, [; M% U1 y0 M0 _ pLight->Ambient.b *= 0.7f;
2 t) F3 }8 m# Z: `, z0 \: @ }6 O; D u& B3 {
4 i/ S, g+ ^9 e$ s" G. a+ u#if __VER >= 15 // __BS_CHANGING_ENVIR
2 ]: W l' _! {% L: q% o1 F if( g_pPlayer )
' g2 h( G5 F# G% S9 J HookUpdateLight( pLight );$ o1 `7 I6 [4 K# t T
#endif
* \* }% `8 O0 ~9 b memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 \/ A" W* N& i( b) P2 e- z& Q9 E: u- w3 C
pLight->Diffuse.r += 0.1f;
! H) ^! n# A$ x' X) Q) X pLight->Diffuse.g += 0.1f;4 w- `& B; H5 `1 O
pLight->Diffuse.b += 0.1f;% P Z9 E1 i2 [" f9 ~3 A
// oˉè* ??à?
; l* ~( W b1 s1 `4 v. T8 } pLight->Specular.r = 2.0f;- @; E" p' l M& P8 C$ X4 ]
pLight->Specular.g = 2.0f;
7 a4 Z) i) i2 c( t. d pLight->Specular.b = 2.0f;
+ u3 X% p' r# T0 m2 k // á?oˉ
$ |- z) v" k' L& Z: l0 r: x A: t pLight->Ambient.r *= 0.9f;2 @+ @5 X; s3 ^) H
pLight->Ambient.g *= 0.9f;
1 F% Z8 w; P3 s pLight->Ambient.b *= 0.9f;7 _6 W0 j& ?6 Z) @& Z
1 L1 R2 p: C1 v# o# ]8 u! T; k* i" [
memcpy( &m_light, pLight, sizeof( m_light ) );
' I5 V$ q9 D. S. V' y' N8 l% l ; c+ W5 q0 W1 R6 x$ h M
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );$ x5 j- O( e X" q" i- ?6 t) k
pLight->Appear( m_pd3dDevice, TRUE );
2 \4 v! C- O- K+ ?; M) {; k. k/ U / J) e0 v/ q; k# W) u& D
DWORD dwR, dwG, dwB;
7 F3 I9 R. y/ g S2 D7 J& r/ W dwR = (DWORD)( pLight->Ambient.r * 255 );
! o! C1 ?4 w( t5 c! D( L# c3 u8 t dwG = (DWORD)( pLight->Ambient.g * 255 );1 i3 ~, j% J+ h! g
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ c6 J6 N8 q* D' l7 I dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
1 H2 o6 L) X, g* ^ n9 i }) x' s. \, _+ u4 X1 ]. n
}8 w4 W. a2 A/ W' ~6 f& U9 }
else
0 X7 l) m; B4 l1 G B& S {
d# H1 u$ z6 c. @. g# o# [ if( pLight )( [' Z x( b5 f4 u! [
{
" h: y3 L: o' F. p( O# }
" q# V7 `0 h) \; d% C% g int nHour = 8, nMin = 0;
d, f; ]+ y3 M5 Y4 A/ a/ K #ifdef __CLIENT
( ?# n( q6 N' j8 F! }# v" a; y // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
4 y0 f, H1 Q+ } nHour = g_GameTimer.m_nHour;* {* Z4 D* U6 i9 D
nMin = g_GameTimer.m_nMin ;' d* Y8 A0 ^1 G, z, _
#else
2 o0 N$ B5 C) c# L" B/ x! } // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.% o+ D; E& z, M, A Y- l$ } T
if( m_nLightType == 1 )
- }% Y, H4 X4 B- z0 ?8 X nHour = m_nLightHour;
) k4 ~6 [+ v5 A R* E; [ #endif* @+ q6 @7 s# a6 _6 `2 [
nHour--;4 U5 u! K2 z8 T( E+ c" Y
if( nHour < 0 ) nHour = 0;2 V8 e7 p- S8 T. W
if( nHour > 23 ) nHour = 23;* _7 E( E6 D! g' A5 T
; |- p4 E1 Q, p, c
//if( m_bFixedHour )
* h% W0 e- C% d0 r // nHour = m_nFixedHour, nMin = 0;
" Q+ i/ W9 n' h2 W LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
* r8 A8 \3 C3 r LIGHTCOLOR lightColor = m_k24Light[ nHour ];' ~) f: u, Q+ q
% K# J% U& w8 o j //m_lightColor = lightColorPrv;
2 H' N8 d, \! c7 f. b/ ^: A6 t/ l lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
: U6 Q: y9 t9 j) D* R; y: G lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;6 f7 T3 Y& ]1 P8 j
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
2 M, C( r+ }0 j4 V- M$ B n: H' ? lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
1 K R. z+ v0 u2 T3 B# r2 g1 z lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;# p! n, G2 e) T) M5 m3 s
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
( Z' |& H; D5 m0 O3 `) V: k // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol). }0 Z4 d5 z, a
3 W' b/ K- I( T7 i4 ^! a9 U // à??μ oˉè* + w6 f5 O3 d; Z1 L% p
pLight->Diffuse.r = lightColorPrv.r1;2 v" W5 A! o8 e! ~+ ~
pLight->Diffuse.g = lightColorPrv.g1;% I7 j/ S9 g* ~5 A
pLight->Diffuse.b = lightColorPrv.b1;' j, G9 H4 v# ~# Z
// oˉè* ??à? 0 J5 _9 y, \6 G- I& N
pLight->Specular.r = 1.0f;1 t5 v, [- V1 {) ]) u, Q
pLight->Specular.g = 1.0f;
& h5 J2 z( S4 S8 w [ pLight->Specular.b = 1.0f;
; g# k. @5 Q0 g1 p // àü?? oˉè* $ N, o: i; U i6 T
pLight->Ambient.r = lightColorPrv.r2;6 {) F- v" @( E4 M3 z* U
pLight->Ambient.g = lightColorPrv.g2;0 T0 _, h; P/ p- e% A+ ~/ p p
pLight->Ambient.b = lightColorPrv.b2;
9 M( q+ _6 A, C: g& }( _" q. J" U2 q4 K
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
6 T! ]# q! e8 E1 G0 i- p* I {
8 K% w( V, o: X+ f pLight->Diffuse.r *= 0.6f;
$ b( e6 N% D+ V& P: m pLight->Diffuse.g *= 0.6f;" Q1 L- e' @) L$ S" x1 e; a8 t
pLight->Diffuse.b *= 0.6f;. e1 ~$ l3 u" S) I- v! b
pLight->Ambient.r *= 0.7f;8 K7 Y" @, a$ {; n1 \6 i: T
pLight->Ambient.g *= 0.7f;
% n& [! h3 W$ Y; ^$ J4 E9 U5 e9 @ pLight->Ambient.b *= 0.7f;
2 B# E7 w0 c7 p- n7 x; A/ f }
: L7 L3 l6 w9 Z: h3 ] _+ u; f R6 I/ B) N: C9 l ]2 a1 f
#if __VER >= 15 // __BS_CHANGING_ENVIR' [) ^3 _! U0 X" N8 {
if( g_pPlayer )9 x% o7 E- O# n9 S4 `
HookUpdateLight( pLight );
9 i& [- B# h3 S$ p. e#endif
! n+ K5 ]; x( [ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );1 P( N/ O1 ?- x0 E
. j$ a3 L# L4 }, ^' a' {% G#ifdef __YENV
+ l5 D2 I' E6 T, m k; K5 E pLight->Diffuse.r *= 1.1f;6 d# J p. a( Q( U
pLight->Diffuse.g *= 1.1f;
' D9 t: h K5 _ pLight->Diffuse.b *= 1.1f;. V/ I( k1 T. _) x
// oˉè* ??à? # \. s$ L! `/ B( q
pLight->Specular.r = 2.0f;8 m4 F* }' ?$ [* i
pLight->Specular.g = 2.0f;7 {. s, s) s8 o2 _) X
pLight->Specular.b = 2.0f;
, y6 w; v3 x6 D& T // á?oˉ , f0 z% g' H1 A
pLight->Ambient.r *= 1.0f;" w* l, ]+ y3 ]) X' o3 T2 n: R
pLight->Ambient.g *= 1.0f;
4 V# q! U6 W U- o9 } pLight->Ambient.b *= 1.0f;
9 Z" W7 ?3 F0 i5 F#else //__YENV" D6 d$ F0 T2 {' t b* \+ W
pLight->Diffuse.r *= 1.1f;
0 _ I8 f' A! W- e' A# k0 c) t pLight->Diffuse.g *= 1.1f;
, f7 ~" }% ?0 J! M* l9 i! | pLight->Diffuse.b *= 1.1f;. _2 b7 e" N: `4 x& ]1 M
// oˉè* ??à? 8 _, R; J. |# f) m/ Q
pLight->Specular.r = 2.0f;9 G& X4 r' s7 ]& f& V7 X# E
pLight->Specular.g = 2.0f;. j( Y* ?8 f: u+ s
pLight->Specular.b = 2.0f;0 a5 q5 v+ {$ o. N/ \$ { c! B
// á?oˉ
. k" p" b+ L# T1 i' ? pLight->Ambient.r *= 0.9f;
4 U0 L" O& w8 p% g& p# P* i1 \ pLight->Ambient.g *= 0.9f;8 x: V' {7 L; t5 o( W) t
pLight->Ambient.b *= 0.9f;+ c' L) t* k2 x1 l8 O
#endif //__YENV
( s6 B7 {; A% e8 v1 R# V3 C8 W/ T 9 d4 ]% `# ?/ c: A {) F% A
memcpy( &m_light, pLight, sizeof( m_light ) );
0 N- i! m6 a( {: m% X. @1 \
! J, j+ z$ @8 Y7 Z9 b1 E, W D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);$ f( [' i, E9 j1 b' G B1 M U4 ]- [4 @# U
D3DXMATRIX matTemp;0 c" E4 f' J4 n5 p! w, | L
static const float CONS_VAL = 3.1415926f / 180.f;
/ s" u+ A; }5 |; D
7 R7 s' l+ e! j5 z D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);! f# ?1 b5 A n0 Y, ]6 V" T4 ^( D: c6 U
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
( L* t$ j/ \( I% y$ R' r pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
- O( s: N6 x) ?7 U pLight->Appear( m_pd3dDevice, TRUE );* ?' B& `/ O3 r
2 e5 X$ a; C4 i: q/ C0 K8 } // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
0 m4 y( ?7 c# y, C( X/ | // D3DXVec3Normalize(&(vecSun),&(vecSun));1 J& M5 D# v- f5 i
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
) _- _$ z) Y& j' s' M/ X
- m( q% c: o9 G0 J& y4 d8 h2 t DWORD dwR, dwG, dwB;
' I* [- O- S5 M9 K! [1 e# h; X/ E dwR = (DWORD)( pLight->Ambient.r * 255 );+ V4 P2 O3 C4 b( t5 P4 a( Z- O
dwG = (DWORD)( pLight->Ambient.g * 255 );
' a3 `( c2 Q) \ dwB = (DWORD)( pLight->Ambient.b * 255 );, o4 d( l8 z! n2 y
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: `1 N% \+ z+ _+ u& V# A5 V }
% }+ n. D" ^, p }
5 z ~' l* r( c7 b4 u& M; B4 A# Q* l! T- Q" g5 c
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );& T& @- O+ S3 `/ ?" H' i' _
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) );. [3 Z# a' g' h. J, k# Q
::SetLight( bLight );
* @, I4 {0 _) v3 r u5 G* n8 v; L u! d
// ±ao? ?D?í???ó á¤à?
8 d9 k8 g' K' `0 ~: B- C m_pd3dDevice->SetMaterial( &m_baseMaterial );
, D3 L) C9 q4 K0 V( ~% H8 x
& y( T5 [; {' |# n#endif // not WORLDSERVER
. a4 w3 F! l2 H; j0 O}
, G4 \: d4 D6 V9 f, Y$ B/ ~3 n% s并更换& M/ M8 O* A: `0 X; b& P; F" p
Code:
) }4 H' `6 N8 Q. Z. j__FLYFF_INITPAGE_EXT
% e+ O! F4 d( p( k. d- q( m1 M定义
+ H* Y0 |: x0 h6 ?' Q4 C. h2 x" Y; ^
/ b, m' x2 t% D- h$ G5 ~6 P
! j3 K3 a9 F# l" z; M; S5 N2 S% h' H+ |* _* j* _+ c
现在终于删除我的狗屁加速...
2 j7 r' g7 b0 S( H9 {
, C& G( {6 S2 r2 o9 V. Y1 [/ {, O$ O" t
- r+ q6 I1 J) B2 s9 I
|
|