|
食品车:0 T8 `2 f: Y2 B; F; X! o
尾翼:
- M3 j/ O4 O' {0 U: B/ \ v7 o! q6 G/ r! H. W% b, k7 _
代码:, [0 a8 }: u+ ^+ W& A: X
CWndAutoFood::CWndAutoFood()) n# s1 |" R+ F% R7 O
{
, z4 v r, c. s( D3 v9 L m_pItemElem = NULL;
- p m) ?5 E+ i1 C' c m_pTexture = NULL;6 k5 @+ k* o5 p& e# [1 i; V; J
bStart = FALSE;; M. Z8 s3 i; d& i2 m- A
}$ k8 f1 v( y4 q5 Z
$ p! g. L2 j: a4 J% R1 }5 A o3 dCWndAutoFood::~CWndAutoFood()
! e$ e. a! Z: @. m* K' Q; q{
& I; K2 ^% i0 _ AfxMessageBox( "AutoFood ist gestorben " );- f: D. B, L" A! U& M6 @- X d( E# _9 u' I
}& ]! B0 D1 W& n( p* l1 ]6 ]1 A( A
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
7 n# M' ]- h( R9 |: d{7 R" l; b/ Q0 s6 ]/ O$ J
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
) y( q3 q% ~; {9 k/ c2 U( J}
1 r( X- ]4 b, G# b4 O* V: P
" t! s0 ^# l" U) e' jBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )' o X1 e0 B. L
{- e4 g8 V2 [& x0 v" h$ p
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
; Q4 _8 K+ h% k$ u CRect rect = pWndCtrl->rect;9 f( n) V, ^& A5 [
if( rect && rect.PtInRect( point ) )
% Q) f6 l# Q3 {& B/ s {
! f1 M# ?* ?, E2 v! T; K' x: F CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );* V T3 j- H+ A5 V, J
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
]+ _- c6 ]- ~9 O" Z" S1 e" F2 c1 o {
6 u3 ~% O0 E8 t* T9 r4 H. q if( m_pItemElem )
- d& ?0 |+ v3 t4 a& @ {$ k. d* t! _4 K+ B$ v
m_pItemElem = NULL;
" i5 L! o& F" _. ]+ J7 r }
z5 g* b6 f+ L5 B m_pItemElem = pItemElem;
d' C0 M1 ~% b7 @ m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
3 W2 n( U; t- I }else{
) m: `; O# }+ C4 G* U SetForbid( TRUE );$ C* L4 x) s. Y) Z1 B3 n
}
7 K9 ^. W# c d3 h: J N) X }else{
7 d% Y# ]9 m: n- u7 P SetForbid( TRUE );
& F+ Q N5 @3 s* p }
3 h$ ?5 N+ w- {+ f% e, S return TRUE;' ?# q9 y0 A1 c! L" ]' i' @% p
}0 T( C8 t4 H' P
) W" S3 M* k( U1 @' f7 mBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
) ?6 r& l! S3 k7 [* Q J{; S2 C3 v5 b4 X3 ^ Q- u( q% O2 e
switch( nID )
! ]" T4 c' T; N2 W- j6 z! ^( N2 d0 W {+ ~8 V& P, k, E7 L8 q: O
case WIDC_BUTTON3:: g/ K5 f3 R. l" h: ^+ ?
{$ _# D5 ]2 D( O" z' I4 M$ k
bStart = TRUE;
5 }+ d7 a) F6 [. ?: W4 v/ f break;
`# V: p h" S& B9 V }+ @" Z& a" w4 y( C k. C
case WIDC_BUTTON4:
3 o; M" l2 s1 X {
4 I; U8 H; a* Q8 B& y* H bStart = FALSE;
! F+ ?" U0 L- _; j; ]" G: U$ b break;. d6 a; R( @1 S5 h w, H5 W
}! q2 o7 a( V3 Y' O2 v* n
}
" W, R* _0 X X, \ return CWndNeuz::OnChildNotify( message, nID, pLResult );
) |& P n* N" j" i- G2 F} " b* \- s% q/ m6 f5 X7 [
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
* Q* r0 J* J J4 ~( ~# b( w{- t6 ~) ]% [/ H' W
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );6 q" @$ H* P7 ^% Q% z
if( bStart || !m_pItemElem )9 j9 N# T: U9 V' J
{( H# w9 N* `& A" p- J f: h
pBtn->EnableWindow( FALSE );
5 z2 v+ c0 b H* b' M* D }else7 K3 l2 b6 }8 m, C5 j
pBtn->EnableWindow( TRUE );$ D- z% p" E' U9 V
if( m_pTexture )7 w! ~" P( l; _
{ \; u/ n6 G9 I; X6 ]# f
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
, p5 Z3 e. U0 U if( wndCtrl && wndCtrl->rect )
& p% `5 Y+ s% ?0 Y/ l0 q0 o {
3 Q: ?4 u3 h: P1 `; W) `" X& ` m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );6 W4 H$ O7 L. G* I( f1 Y
}# y$ T7 }; \( [, P- |! A+ y
}
a' ^1 s4 q |}
0 P8 t0 i" H" Y3 q( I1 X- P" T3 D2 J0 g& W
BOOL CWndAutoFood: rocess()/ H2 d: ~# ]- ]3 z
{8 M, w3 y% k6 _% l* p' ~
if( bStart )
9 r7 Z; N2 |% v: @0 ]& w1 j {0 ], R7 r6 b$ W3 R/ m
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
1 j! [) W& E& l {
. `7 q. I# }6 U/ b% a1 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() )& K) h5 }) A6 M) S. ?
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
1 K1 K! t: |' n3 I }else{
9 F3 ^3 |. k& l2 e; {7 e: r bStart = FALSE;
' j/ j: |* U3 V" E% m& D0 C m_pItemElem = NULL;
6 ^* p7 z% C5 f: `# v* ~ }7 r7 f; o: S8 D F2 |$ Y6 `
}
. y& _3 ~8 ?1 U6 i. g" m( q } return TRUE;0 U8 @5 @: p% t: p; [: x
}
+ V0 q7 u' O6 |$ B, g* d p0 N6 N6 q$ F5 A3 d6 C
登录视频废话:7 P( ?$ {2 }" F# i
尾翼:
" K5 u5 T! o, s& |" s9 I3 |
% w# H. F6 @0 \ ?代码:; `3 n& x& ~. O+ U: k) I
& P5 n2 C, F2 Tvoid CWorld::SetLight( BOOL bLight )
8 l$ O: N* j0 W3 @: q' {durch
' y- l3 I; M( p, c( v: A2 B( C% pCode:
# P% c6 X c/ Z% a( |- C4 b7 ?3 ~void CWorld::SetLight( BOOL bLight )
* J! v+ X( ]# n) F0 f& [# V{
9 O0 h v8 a- j' V/ g% u& G //ACE("SetLight %d \n", bLight);7 J4 @4 c5 R" [8 Z' l' o( k
" Y, H+ V$ X* J$ N! P' `& [#ifndef __WORLDSERVER
, J$ j: |( l* o; ] DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
1 e5 E) S+ f p/ c0 |& d CLight* pLight = NULL;" N" G4 G; O( J; B2 [8 T/ Z, M+ U7 R( q+ x
. L, n4 B5 x! I7 |2 A4 B, o4 ?. L/ S
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );6 X. ]7 s9 U/ k9 Q' c( y
, L6 b g: D( D( e2 x6 Q3 r7 C pLight = GetLight( "direction" );
+ x" i; q- |( D0 @5 g: i0 Y, }5 K( V( I
#if __VER >= 15 // __BS_CHANGING_ENVIR
/ p8 T% V& k. f+ r if( g_pPlayer ){, s( h+ ^1 p1 J
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
: R) e4 i9 y, f if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!9 r' M" [0 j1 _* V( z8 s0 a
{
9 Z$ |8 ]! N3 |: J' ] if( pLight )
) A1 r- u! k8 q' P% N {
0 D3 m' z$ }* k2 b7 N. g# f# @& Y4 _ pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
/ d- Q) k/ N) ?: w/ f0 B9 h pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
+ ^5 M4 x: o! V. a! L3 u' i+ ] pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
8 C. H& p& n+ ~# E3 i9 t
4 J; m7 v& r+ v pLight->Specular.r = 2.0f;
1 S# u- \. t s pLight->Specular.g = 2.0f;( ?- p( G$ p8 U& s$ h- P
pLight->Specular.b = 2.0f;
! l$ k$ O& ]4 D0 t# l
+ |2 W( ?% ?$ n2 i pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];) d+ G. _3 T) S' K/ c
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
0 x# z0 r: k Z4 p pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
6 {7 u$ \0 ~) f
& h" H. K3 r8 {% A HookUpdateLight( pLight ); - x1 ~* i1 t' f+ N* U
6 W; w$ ?' @: l& A
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
- v8 J$ g, `* W- d0 G1 o1 D- N# R 3 H5 {, u- {! M( _3 t
pLight->Diffuse.r *= 1.2f;0 [7 ^4 K5 M) A& E- ]% H8 ~* Z% c
pLight->Diffuse.g *= 1.2f;
6 |2 s/ p2 n6 J3 A; n, H pLight->Diffuse.b *= 1.2f;) H. u0 _ I! o1 A9 i9 j- L8 r
' z8 E0 H, c8 p7 v( `, C- ~1 w* X pLight->Ambient.r *= 0.8f;6 ~* }3 A! j+ j9 a: B; G
pLight->Ambient.g *= 0.8f;% q, J4 n/ F4 y1 Y& _
pLight->Ambient.b *= 0.8f;
6 `. H9 ]. P8 F- \# F( a
, L" C1 L- R; l2 Q memcpy( &m_light, pLight, sizeof( m_light ) );
6 \( b$ V" K2 [
: q- [6 V" w; Q D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);/ k0 a5 X7 x$ h( Q, |; {, D
D3DXVec3Normalize(&(vecSun),&(vecSun));
; Q- R" o+ o# z0 g# H3 J pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); " u1 g! F" a! V! P; o
pLight->Appear( m_pd3dDevice, TRUE );
' V9 ~( u; q) q! L1 k
7 h$ w% \/ T$ p1 S' m8 W DWORD dwR, dwG, dwB;" A" M* A# ~/ G! x4 F6 f7 c; A
dwR = (DWORD)( pLight->Ambient.r * 255 );; g8 u6 C! [1 C7 _% {. _1 H
dwG = (DWORD)( pLight->Ambient.g * 255 );0 e! z* o9 L6 F0 J! N; x$ D
dwB = (DWORD)( pLight->Ambient.b * 255 );+ T- x2 H. k$ y/ h
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: [* W8 R! |' S5 a } A9 M4 \5 z- k1 ~
}6 b( b% v7 Y% {2 y! d v
}
8 X* D5 a" ?; g3 A; y else
. |* e2 F8 F$ ?2 {) B#endif % V$ Y" O# G# }1 ^% _0 D8 i' v+ M
) M- @- P, D4 E8 D1 |3 i( r# m& [
if( m_bIsIndoor )7 i' q# }. K6 L, {. e9 ]
{
1 p% F2 L6 d; i9 u% o- H if( pLight )
. D" e) `% c4 o {
! G) R' E* p1 V4 H6 `/ S // à??μ oˉè* # K6 G3 W4 i' F; e2 M7 H
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
9 C; P; A0 U) e pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
* d9 D- Z; C7 x0 \8 a pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
6 g2 D# w( o q9 a# B. a4 S3 }9 c* r& w$ m4 p
// oˉè* ??à?
+ o! g& v! _0 |! T% R pLight->Specular.r = 1.0f;
. f# Z) g' ~" Y& l, H# K pLight->Specular.g = 1.0f;
7 X$ `3 Q& K' F+ _ pLight->Specular.b = 1.0f;
3 G9 I ?; D5 G( n1 G7 ^ // àü?? oˉè*
) E% S: j* ]2 r; q& g; F, p pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;* _* n3 O$ X) N! X" h
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;. \ S( I5 Z: d% y, ], j
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;7 Y9 J! X- J3 G: L9 B
% T7 b. P, p0 F, V, [
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??. O( D; b2 K3 |4 f) e
{1 V5 r$ P, E- E( r/ z4 u
pLight->Diffuse.r *= 0.6f;$ M, y: P$ X! b& g4 @, I$ D
pLight->Diffuse.g *= 0.6f;
) O% J4 O$ d# u: U. c4 U$ y/ m pLight->Diffuse.b *= 0.6f;
5 p7 o5 V3 `$ r9 C. z pLight->Ambient.r *= 0.7f;
G* E; p+ ^. i5 M/ b. R pLight->Ambient.g *= 0.7f;
3 q1 n3 p2 B6 l pLight->Ambient.b *= 0.7f;7 r4 {& U" x/ v- {( n- w
}
6 }* H& B6 ^4 o" \8 S0 @
5 f5 ~- x7 f8 ]* d: ]/ i#if __VER >= 15 // __BS_CHANGING_ENVIR
: |( F' a& v, m# b* v if( g_pPlayer )+ z0 a. x2 U3 v; W1 R0 @0 s
HookUpdateLight( pLight );) @7 f" }- d2 v: c' J I3 _
#endif2 W6 k; `7 N7 B0 S' ?2 j
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );5 J4 z. h. \, W* B
, Y5 a" Q9 O9 R- W5 e& @
pLight->Diffuse.r += 0.1f;. s" V3 [2 z# J9 F' Y
pLight->Diffuse.g += 0.1f; ~- M0 r) e$ |, {+ }. Y! S
pLight->Diffuse.b += 0.1f;
6 J, G7 e- D( v2 z/ A // oˉè* ??à?
' |8 E. {1 t- E2 |. V) c pLight->Specular.r = 2.0f;
1 |; d$ U$ W; x4 z, r; G- V% _ pLight->Specular.g = 2.0f;
4 A! P8 R9 U. ~' f pLight->Specular.b = 2.0f;, d8 m& y% F% d% N) D
// á?oˉ 0 m% e* p9 G6 o8 B% r) |: q
pLight->Ambient.r *= 0.9f;! E# J2 T4 r$ G7 t
pLight->Ambient.g *= 0.9f;0 B/ M- w1 j6 w4 k
pLight->Ambient.b *= 0.9f;
2 b2 X1 j0 l7 c/ }! {9 P" \
% r5 ^1 ^" L {; M- m! P, }2 U* H; g memcpy( &m_light, pLight, sizeof( m_light ) );& S8 K& g7 s; \0 ]7 ~' a* G
3 w1 w8 w2 G C6 {1 B0 [9 ~* i
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
7 ]0 ?8 E4 a9 S* r pLight->Appear( m_pd3dDevice, TRUE );3 w1 p0 S0 b+ Z- Y% j$ k
3 E" Y" O8 ?$ P C5 t1 w: \ DWORD dwR, dwG, dwB;- o4 S! ~* z' y: a+ ]
dwR = (DWORD)( pLight->Ambient.r * 255 );$ D9 A. T6 Q3 \1 C
dwG = (DWORD)( pLight->Ambient.g * 255 );& O7 J8 S+ O* a; I) w. X. B
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ E3 j: j' ?3 z7 ^# C* G- ]6 g/ F$ z dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );- J' f; \5 L0 K( t$ ]+ W7 U
}. D1 \/ o' @) [9 ? K+ q
}* K9 p2 c0 j7 r* ^3 B# N
else
6 f; u- C8 ~6 q0 ] {! b# |$ A$ O' n# ]! }( o
if( pLight )
' Z3 n! a; e$ Z( ?# M: r {; {, X! M. f% z0 N& Q/ q) A
4 Z$ ]& H9 i/ H int nHour = 8, nMin = 0;
% G3 q- `( ]' g8 ]% q #ifdef __CLIENT9 s r2 S$ {" V! p
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. # o1 a" @( a! T3 O* }/ B
nHour = g_GameTimer.m_nHour;( h4 J% F2 \' A9 e4 R, ?& u
nMin = g_GameTimer.m_nMin ;/ i& h' s6 Y; ~/ i6 T6 N
#else
- ~% d8 n. e2 `( ^% ?! g8 c // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
! q+ X6 Z5 A$ ^ if( m_nLightType == 1 )4 F' M% W" h8 j' D- a
nHour = m_nLightHour;
! }) K& ~; t' G" \7 ] #endif8 G6 s1 N0 d5 S+ _
nHour--;2 ?4 g# Z. F9 w, ]* D2 w9 h& x
if( nHour < 0 ) nHour = 0;# ^4 ]' @' m# W& j+ C4 f
if( nHour > 23 ) nHour = 23;
6 i* H8 a* L x8 d/ v
6 V" n+ q4 \/ d0 F6 d" d //if( m_bFixedHour )( g5 E6 ~" d- Q* O# y6 W% `
// nHour = m_nFixedHour, nMin = 0;
n d3 s, f: \8 e% r, I B% [' J P LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
4 G- f( N0 \6 s LIGHTCOLOR lightColor = m_k24Light[ nHour ];1 h% v: q; f5 v
# I: x. Z, S9 @$ ?2 V
//m_lightColor = lightColorPrv;6 H& S! X$ W! ? h- A& E+ K2 c
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
1 N) }7 M9 o8 p lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
, g X5 ~+ [- e lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
. F; s$ U- @( Q' E9 ?, S2 o lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
! ]& C5 b) a$ ^/ A \3 a" e) `% ] lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;6 j) _5 U' B3 _4 q2 x/ i! B
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
$ P/ F) ~# ^# {0 K8 L // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)0 H X% d) e7 ?, _/ \5 @
( O9 N g* K! J
// à??μ oˉè* - U# B" x/ E! G- }$ D
pLight->Diffuse.r = lightColorPrv.r1;
0 {1 l3 V0 U# u- \) C pLight->Diffuse.g = lightColorPrv.g1;
# C) }% [& C. q) ` pLight->Diffuse.b = lightColorPrv.b1;
; S5 ` g& ~# i // oˉè* ??à? ) N% `% r- K0 j8 X
pLight->Specular.r = 1.0f;
$ c; H' c5 I9 o {: z9 Q- o# k) n pLight->Specular.g = 1.0f;8 b* `! n9 v' m* v+ V0 w3 n
pLight->Specular.b = 1.0f;
* g _! t* [, `& e- E ~ // àü?? oˉè* $ g& r7 l' k2 C9 y
pLight->Ambient.r = lightColorPrv.r2;( G1 ~; h$ h& p
pLight->Ambient.g = lightColorPrv.g2;/ T _( o4 L4 \% k* j: u. @4 J
pLight->Ambient.b = lightColorPrv.b2;
: ~3 v, Z* T/ D% ?3 _/ r# S8 O
8 P% v& q6 @, ~0 X7 P8 w if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
3 n+ [6 i* @$ D5 B6 e {* b9 i0 c2 a7 y3 P; g
pLight->Diffuse.r *= 0.6f;. Z& q' l8 `- k7 ?- F
pLight->Diffuse.g *= 0.6f;
^/ @. a: b% S0 {: v8 h3 L2 z. \ pLight->Diffuse.b *= 0.6f;" [6 n" U- C Z1 K& a
pLight->Ambient.r *= 0.7f;' m( E: b; b$ z# W: `
pLight->Ambient.g *= 0.7f;
/ t0 n1 x4 `; ^1 Q+ s4 R% S pLight->Ambient.b *= 0.7f;
8 r! a* s# e2 S' a, H$ D: D7 d0 D }
$ z9 v/ V2 Y. N3 c/ D3 k. A ! k1 w5 ^8 I% M! a. P; {8 g
#if __VER >= 15 // __BS_CHANGING_ENVIR
& B; U% n3 x+ o. W9 ]9 S& O0 x9 f if( g_pPlayer )
5 P* k' J5 j1 A' ] HookUpdateLight( pLight ); - P5 F- }- ?6 ^5 T, i% z
#endif4 P" _: r# t( c
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# s, j2 j& l) e, H; u8 m& ~ q1 ^8 {: n$ C2 [7 d3 W
#ifdef __YENV
' m, r9 S) Z- } pLight->Diffuse.r *= 1.1f;* H" g0 d1 [$ _6 Y+ N
pLight->Diffuse.g *= 1.1f;! O. _# E. h9 u$ u# L; I& X0 C
pLight->Diffuse.b *= 1.1f;
) D3 J2 V8 q& `+ K! { // oˉè* ??à?
3 k& {+ B1 F* K. g. \' K pLight->Specular.r = 2.0f;% O! b2 [7 R6 \. s: _# z& `$ N
pLight->Specular.g = 2.0f;
/ `0 P; C1 _& {' {1 b# d pLight->Specular.b = 2.0f;% \! ]+ {2 W! M
// á?oˉ
4 E& |0 L6 ?0 O# }4 ]' P pLight->Ambient.r *= 1.0f;# q2 O0 _) ^ k1 k% M3 v
pLight->Ambient.g *= 1.0f;3 c3 E% n9 G7 ^ `+ b0 A
pLight->Ambient.b *= 1.0f;
" r' x c/ u6 o3 J+ ]#else //__YENV( c) o1 X6 H5 u
pLight->Diffuse.r *= 1.1f;/ l. J2 I: y- y+ ?% i' m6 K& o/ D
pLight->Diffuse.g *= 1.1f;
) f7 A+ V( L. D2 `' E: _ pLight->Diffuse.b *= 1.1f;
0 s; W2 S1 T2 ~. ^ // oˉè* ??à? 2 S" |6 F8 z+ S* g: m+ k$ F# q
pLight->Specular.r = 2.0f;
, l% ?- Z2 Z }* |; `7 m0 K pLight->Specular.g = 2.0f;( p2 Y! J/ Z" ]& k
pLight->Specular.b = 2.0f;/ d7 c7 S, e9 \! M; t8 f
// á?oˉ 1 T5 T6 Z$ @% q! k6 U/ V
pLight->Ambient.r *= 0.9f;
$ u7 D0 j4 k2 L v2 R" J0 Q pLight->Ambient.g *= 0.9f;
/ E) O; S0 i. m5 m) A" i6 F) W pLight->Ambient.b *= 0.9f;' a: `4 u" k& k7 u# r$ z( F
#endif //__YENV * O+ i [, ?& |+ M" E2 ~
: \0 U. U: C1 R memcpy( &m_light, pLight, sizeof( m_light ) );; V: k7 |, v5 _- {2 \
/ q( b7 I& [; _: n) W' n4 D' S
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
6 H. J1 T5 j* N0 x% F3 G# T D3DXMATRIX matTemp;
; Q+ Y$ S. v; E! G static const float CONS_VAL = 3.1415926f / 180.f;
; A% P5 C9 n/ U2 C5 J0 T' C8 ?. N$ @" S! Z3 C1 W0 Y5 _: U
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
- m, O* S+ t |( ~ D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);* k: g( g0 \( T' @; u: Z* N
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 6 ^$ I, `' e2 e
pLight->Appear( m_pd3dDevice, TRUE );
8 c7 x. } t! j) u1 N
3 V. t4 Y, Q- h& q" S+ D // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
~/ p% P3 H; j/ I# n // D3DXVec3Normalize(&(vecSun),&(vecSun));4 R+ k T" |( A$ |0 m' x
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
1 c/ p( X0 E- Y$ \3 Z' I$ q$ p7 p* Q6 W0 y
DWORD dwR, dwG, dwB;: A: }: R' [% B! ^, {
dwR = (DWORD)( pLight->Ambient.r * 255 );0 ~; _2 ]3 z* [; X, P6 G& r* a2 l
dwG = (DWORD)( pLight->Ambient.g * 255 );
" d# M; C$ c- m- U8 S dwB = (DWORD)( pLight->Ambient.b * 255 );
6 o. x L$ N# C8 I dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% B! O4 V! k: R2 {" w2 h }
9 t; i7 m# @2 `/ k l" G }* {6 t# ]9 m! a) ]4 C8 V+ z: \. U, W2 Q
9 n3 {- Y+ G- ^ m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
. v3 L, { N! P7 z5 \ 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) );
: t) v, T! t. e+ B6 ~. V# J% y# b ::SetLight( bLight );
( j) H4 J$ [: c# d3 q& T% V' k; I- ?" a( j- ^
// ±ao? ?D?í???ó á¤à? ?) ?( h4 y6 A8 e
m_pd3dDevice->SetMaterial( &m_baseMaterial );
( l% M9 f, `! J/ Q) ?) Q( e1 z
4 u* M' x: t# q( J#endif // not WORLDSERVER
* y7 M8 J( K/ U}
% N9 s0 _# B' y& x+ F2 [并更换
* E2 f a, d; p. @5 a7 C. y. i; GCode:
. b9 v; \. g6 ~7 R& V__FLYFF_INITPAGE_EXT* I' R9 G6 K. D) r4 a
定义4 |8 N6 C: X" X7 a
) A8 Q& d3 _3 x3 \, \+ {
1 @# g) A8 N& y8 }2 N3 \- c7 S6 R
. k, G, n& n6 i4 ^" c5 p4 D- {5 F7 `# G
现在终于删除我的狗屁加速...
, Q( o$ K$ j" Z V2 h6 v: Z' Q! n8 T0 L$ |: X! r' Z
5 m6 j7 X6 m+ u T3 j, |; q
( A$ a8 |5 y1 M6 y! V
|
|