|
|
食品车:" I0 K4 p! g9 d' }, g! `6 o
尾翼:
) e* A3 D3 R( @' k$ \' t8 ]; l& z/ g, d7 T, O
代码:
# P9 Q. G- b7 v9 UCWndAutoFood::CWndAutoFood()
, ~7 D4 h6 E' O+ g8 ?{
# G1 p/ k t9 c2 o m_pItemElem = NULL;2 S- s6 J6 a4 h8 } o6 S# X; P1 Q
m_pTexture = NULL;
D8 D0 f$ K4 A bStart = FALSE;: h" K$ B/ {4 ]0 m- X
}
3 v& Y, `/ F" W4 A3 H$ X
8 Z4 e1 T4 y+ O: uCWndAutoFood::~CWndAutoFood(). u& }# [6 s; u; N5 c
{
/ Y+ N D* C' e, { AfxMessageBox( "AutoFood ist gestorben " );
: T& b6 _. _9 B3 g; ]- `# U}8 G" K! J7 s+ r4 x& G
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )9 s$ K- K, R; I
{
1 u) p! O" y3 Y5 m% b/ q+ v, ?% D return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );0 o, [( C& C/ H5 o, ]2 l) v7 v
}
9 C% `5 H# }, W4 ~- J2 l& O d+ w/ X* @% _
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
% I: x( D' z" k F5 ?' j{
5 P8 \1 I4 l2 g4 H LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );2 ?' B* H) o" r8 Q
CRect rect = pWndCtrl->rect;7 i, W4 I5 _7 Q
if( rect && rect.PtInRect( point ) ) G' C1 V |. v7 b7 k% \
{. p, w) h1 I7 Z
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );, N6 K3 W4 {3 n3 e4 `& \% A
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
8 ]+ ?1 [! a, G j% m. O, X: m& \# ] {+ k4 I2 y- c" |# O' U
if( m_pItemElem )
A5 S6 [( P( I5 D; B* C. R {. I: h! Q4 Z0 s2 f
m_pItemElem = NULL;
. O* b5 s G# a4 g2 z# {0 x }3 R) p' B, H8 `/ [* f7 F" S
m_pItemElem = pItemElem;
9 I& ^" ^0 Y" M+ c m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );2 d4 B0 |8 N+ r9 o0 [! B0 |
}else{
* h# }2 B% O( z, r SetForbid( TRUE );
+ Q9 d5 z) a- d }
( H- W+ G& {- K% Z }else{1 m% Z u( l+ _$ ^
SetForbid( TRUE );
, W* V" D1 m& J }
! r0 b$ H# d6 n" k, [3 b- P0 X return TRUE;
+ y' T- U7 D7 Y8 x: v% U, _% @}7 j+ Z7 z0 \" f$ ~7 C6 q% |
5 V+ E9 f8 f# a* n; R
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )1 s% u, N( G: P- v u
{
6 e2 k8 A, \/ P2 {7 o& {; { switch( nID )8 N9 f" N& i' ^- ~/ m1 Q% L
{! H1 K; e9 T+ L6 i* Z0 ?/ E
case WIDC_BUTTON3:( E& Y1 O9 k: L, K" T
{
5 K% C7 c! n( r( R bStart = TRUE;* a: Z- Q6 C5 G
break;9 r1 l/ ?- M# `/ R
}
& S2 k- p% p6 {5 t4 l( q case WIDC_BUTTON4:/ ~$ l; }% f5 ^5 [/ E- V
{
9 G' b# x. z7 z! }+ @ bStart = FALSE;
& B+ ?- l$ B) h* w' i break;9 I" ]/ r+ J- K" b
}
l3 c2 Q9 W! A3 X" n, ?! V) s7 i }& ` N g* n0 l6 u/ ~
return CWndNeuz::OnChildNotify( message, nID, pLResult );
" p3 \- B" g5 q. x7 `# q}
* z/ ~% `2 x$ I1 j# R$ P f c1 Lvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
! V0 |7 Z9 P5 t3 ]' C8 n{
) N; L8 B9 |9 e9 d3 j/ _2 A! g CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );) C$ r: Y9 Y5 ]
if( bStart || !m_pItemElem )! ~( G; r6 g; o$ u$ p
{* M' v, a1 a4 Y. Z
pBtn->EnableWindow( FALSE );
: L0 U8 |7 Z- m3 u5 B) F9 |' [ }else
j0 F- U7 a/ L- j7 n4 p pBtn->EnableWindow( TRUE );
4 m2 y: |5 b) m' n0 n& C* s' } if( m_pTexture )
# {: d q( j2 |% G- _ {: ~- A! u$ l5 D# U$ {4 \
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );' r5 a1 z6 o' s; j* @7 S) t
if( wndCtrl && wndCtrl->rect )
# f2 p/ ^: O: W {* G& @2 C* J# c2 W
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );; l* I; C) z" v: p& \" i$ a) h
}
b. b$ Y! `$ P; ]! l }2 L! O0 Y9 r/ ~3 M `: n
}
' L o( E" q S# c! \) _" v( i3 ?8 e7 g; x" b
BOOL CWndAutoFood: rocess()7 e8 [* }# l$ ?" X# w6 E+ e" O
{; `1 d, k) v& ]7 C! R8 q8 G! V
if( bStart ) Y# X% _" q, t1 N! g) I
{
0 p9 u/ f1 \3 X, \( [7 Z& d0 G if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
( ^, G* ?: l2 C \$ t {& J+ {; Z$ Z) d# H" Q
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
/ m7 f1 J$ L3 W g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
u& v) R( o9 L+ G' G' R }else{3 I8 L8 w7 S. ?" m1 e) m0 s
bStart = FALSE;! k H: X$ o" t/ @8 X
m_pItemElem = NULL;
6 t6 c6 M6 J* b p- V }
! y( C6 A$ H* J2 v }& Z- H. m$ l/ A
return TRUE;
) @+ i4 ^- t6 C8 X6 D( Q. Q: H}
I# v9 Y4 ]- x$ j9 s
6 z' H h6 S. g4 l+ D登录视频废话:( J% D. i$ H9 I2 i6 u2 u( p7 o
尾翼:9 v6 S8 S! I, u; c1 ?
9 a1 M+ g3 o( y c- z. `4 y: A代码:
/ N2 c1 C/ V% E
) v7 j# d$ k) u. U! fvoid CWorld::SetLight( BOOL bLight )& D) s0 m# d1 b6 z9 ~1 T
durch
9 y3 M$ L1 ~4 k, w: D6 eCode:
, \, E6 u; s, @) [5 j: K( ?, M* s% _: Fvoid CWorld::SetLight( BOOL bLight )
2 s1 W/ g, @% z{
% o9 L7 Y) t. _0 P5 ~/ ^ //ACE("SetLight %d \n", bLight);
# C' q/ ?# ?! _" l6 E
- f {& r6 d4 S+ _1 X4 d: z#ifndef __WORLDSERVER
3 ?- Q+ w6 ]8 v4 B. c) l7 y' n+ [ DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
# f: U0 Y- Y& r/ ?1 G CLight* pLight = NULL;- B: L( }% i" m* Y
/ a. c3 t. }$ y- G
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
1 I8 U5 }* p2 w% B+ p
3 o( m" l5 t0 ~0 Y) M pLight = GetLight( "direction" );1 n5 a) w5 S! z5 i3 M
* K/ w( U2 }* b; ^. M6 k#if __VER >= 15 // __BS_CHANGING_ENVIR
. s4 U( @) G$ E- f: q if( g_pPlayer ){. Q0 K/ N& d* ^/ N- M+ [7 n
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
4 u3 q/ L( A+ ]5 v if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!! C: w! P- {! t
{8 |" s, ~2 j$ F* C) P6 U, N
if( pLight )
- V) \4 j0 |! \) n! v- i* J {/ m I4 D5 R9 ~/ a0 p
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];: d5 F. @! K0 D ?
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
# t4 m) {' G; I9 F pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
9 h+ O! N4 o5 ] x1 h! F' i
5 _# {0 i; H+ [) q pLight->Specular.r = 2.0f;% L+ t, b2 T- s" T% `/ A! ~+ u! u
pLight->Specular.g = 2.0f;
. m( q, I1 W: y ^7 a F( a pLight->Specular.b = 2.0f;
) I+ W* o) q$ X' D' R4 ~' S
' E3 y- H$ Q( g7 `4 U; B pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];0 n+ `5 k- w! f; f7 G
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];' c" `/ E/ D5 F1 K5 Q
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];% _& m) i5 b4 S" a {) M/ k
0 b4 a* }' n% `2 w1 n9 o, h# H7 {
HookUpdateLight( pLight );
% H. @% e4 D# \8 e7 L, p; q, B/ ]; g) d6 }/ F7 e
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ k4 @" `# O: i
5 } D C: u( G8 J* m pLight->Diffuse.r *= 1.2f;
- h: K/ l8 w9 \5 w pLight->Diffuse.g *= 1.2f;
# R2 \" g5 }' G9 V2 `; S pLight->Diffuse.b *= 1.2f;
" `1 t" X0 s: K* S4 S& L+ Y+ n3 T! l3 i! [2 D5 N' B$ s# k
pLight->Ambient.r *= 0.8f;( J# L c( k' q" T
pLight->Ambient.g *= 0.8f;
) y3 e u5 s8 s5 s3 `( ]2 C pLight->Ambient.b *= 0.8f;
% I; d: \$ Z+ ^0 m1 K9 D 0 S h4 h0 b8 w7 T6 F+ z* ?' g& A
memcpy( &m_light, pLight, sizeof( m_light ) );
' K l3 R1 O' {) ~6 B' ^& Q# H% `
: U( t. g+ ~ O" Y D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 a4 T" r; L) w' L2 X0 t; e D3DXVec3Normalize(&(vecSun),&(vecSun));
+ D/ p+ o q+ ]& L, c- G- ~9 W pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 5 z8 C' ?: a7 t! w
pLight->Appear( m_pd3dDevice, TRUE );
$ R4 }% Y6 u* p9 a* @/ |2 } 4 y' L% z- V+ t* Y0 d4 z3 d! J
DWORD dwR, dwG, dwB;' z3 y) m7 R" m9 }" h- W
dwR = (DWORD)( pLight->Ambient.r * 255 );
( K4 s3 `- t v- Z6 P& J% a! J dwG = (DWORD)( pLight->Ambient.g * 255 ); ` l. D5 Y5 |1 z- f, H
dwB = (DWORD)( pLight->Ambient.b * 255 );
?1 D# \' w6 V* n5 h dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );& U. r ~/ A8 h9 l0 c/ g( h, I
}
& X% U: F4 J* X7 U0 G+ m. T, V }
4 d( i# u) G2 B( u" ]9 @, C" z }
% P1 p: M+ u: Q t& m+ D* b else
, V# H0 k( T8 H- E#endif 8 c. S! [1 C" D1 z
. T/ z$ w/ K% ]9 L! R
if( m_bIsIndoor )
9 F( E B W& o5 [" k {
: z5 s1 Z0 I+ C( i+ A- ]+ F+ { if( pLight )% z+ u7 ?6 P3 z
{
; x! k8 R/ M- h5 O; b9 ? // à??μ oˉè*
7 w/ S$ M& Y: W pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
4 Q* [% f5 \) @6 o) Z# E5 y pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;% f8 H0 p4 V7 Z( J
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;/ N* W# {) j7 m4 I9 v/ l5 Y" y
7 @' Q% ?( T0 K, l
// oˉè* ??à? 5 U6 d7 r8 d9 b6 i7 E" |
pLight->Specular.r = 1.0f;& h0 V3 ?+ l' C( b' x# k# E: a
pLight->Specular.g = 1.0f;+ ]6 u L( H; k" Y( B& S
pLight->Specular.b = 1.0f;& G4 l3 g# h8 u( C- T6 O
// àü?? oˉè* ! {0 }+ W+ z, o0 ^
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
9 C" f5 s' \0 t+ c. S; } pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
- @3 y/ H) z r( z/ P5 d pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
' J& } L- h7 T7 C+ p' [
" h2 Z8 x& {5 O if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.- v6 F7 s3 ~* G. ~0 S# b: r
{
+ N5 ~1 r0 [' F: }8 X pLight->Diffuse.r *= 0.6f;; K. [' P k) X
pLight->Diffuse.g *= 0.6f;$ N! t- B$ ^* p
pLight->Diffuse.b *= 0.6f;: C3 T6 l$ _: j f9 d! ^/ k- A
pLight->Ambient.r *= 0.7f;, W" Q& o* H8 @1 z' b* v7 |6 B
pLight->Ambient.g *= 0.7f;
% m0 {( @" C9 E$ @5 P9 Q pLight->Ambient.b *= 0.7f;
2 q1 e r& G+ a, |, U }/ T) l( { O1 s' \+ e0 I# g
! g- d- ~1 p2 b
#if __VER >= 15 // __BS_CHANGING_ENVIR
5 V- B4 v- w6 N: P* ?' T \5 A$ L# } if( g_pPlayer )
0 ]4 J( S& O/ o Z3 U HookUpdateLight( pLight );4 K- n: f( l7 t6 y ?1 T
#endif
/ f; G3 |5 v: F6 N memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
9 {$ a' D! q) o+ g2 d% w. H* i% F9 r3 j) O
pLight->Diffuse.r += 0.1f;
! b3 {. k, D' A9 g0 p pLight->Diffuse.g += 0.1f;
6 @/ _, P7 [# B+ m+ [" P* n- s pLight->Diffuse.b += 0.1f;3 ?9 l, r% t6 {4 |, ^
// oˉè* ??à? ( I) L" |1 Q+ p# a9 C4 q& E( M
pLight->Specular.r = 2.0f;
/ K/ d: `" h \; | pLight->Specular.g = 2.0f;/ i7 L( T4 |7 `5 h: Y
pLight->Specular.b = 2.0f;1 f* P. S5 V5 |& w8 g( _) Z5 d
// á?oˉ : S7 d; Y1 Q5 c1 y: A, Q
pLight->Ambient.r *= 0.9f;
: O' }+ {% d) T/ x2 W+ Y pLight->Ambient.g *= 0.9f;
4 e* @1 ~1 i/ H8 ^' l# C- r0 z" m pLight->Ambient.b *= 0.9f;
2 Z/ j: v1 Z' `3 J
* M/ m% |4 b: R' F2 Q! }8 ^$ e memcpy( &m_light, pLight, sizeof( m_light ) );
# l+ w6 _5 T0 s( L5 L) w3 W, ` ! h, T# }6 ^/ `: a1 q4 V( d
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
+ A, ~9 O T. T8 R( W% T) ]. K" L pLight->Appear( m_pd3dDevice, TRUE );/ C5 w5 b6 I) N
5 R( W! |0 B# H7 M# Z/ n4 s+ M
DWORD dwR, dwG, dwB;
$ D& ]$ H d$ }5 C F3 | dwR = (DWORD)( pLight->Ambient.r * 255 );
+ r5 R# k2 G- a; u9 k dwG = (DWORD)( pLight->Ambient.g * 255 );
0 n8 z Q L, p dwB = (DWORD)( pLight->Ambient.b * 255 );
5 ?( o9 l4 t9 x dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
+ H% |' v7 F) ]3 O1 Q+ } }5 E" K1 W3 k) Y+ h
}
4 N" u b5 a) [$ I: U2 j5 S; R else
$ g" t1 R3 h6 k# z& u; ^$ M, W {
* D2 p5 D& N, k; f if( pLight )
6 W+ Y8 ~, ]0 O7 ^5 n$ Z1 X$ l5 x0 _8 K {) G5 `2 [" Y# G" L) |4 t
- Y5 L* Y% ~# @0 V) G
int nHour = 8, nMin = 0;; z( M. T+ _+ |9 v7 I+ l
#ifdef __CLIENT
! l9 s. m) D7 n3 ~. {+ I( ^ // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
6 f, t6 o" L+ p `) |, ` nHour = g_GameTimer.m_nHour;* z- k4 Z7 r7 t
nMin = g_GameTimer.m_nMin ;% c% m6 m/ M3 O5 B
#else5 x4 w" [0 U: t
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
, r4 z% u( b3 m$ k5 Z' y' d if( m_nLightType == 1 )3 w/ @% F! ?1 ^+ n# D# ^
nHour = m_nLightHour;
* r9 w* u/ l+ ~( |% p #endif
0 ]; a1 f. W" `5 R! [ nHour--;( Q; J! [3 I) X$ `, I) p
if( nHour < 0 ) nHour = 0;
- }- Z. p8 r) U- r, v! Y" _ if( nHour > 23 ) nHour = 23;
1 {4 H8 z; t+ _( Z5 M1 h
8 x2 a/ y. N3 ]: j4 F //if( m_bFixedHour )
1 m) Y7 D6 k7 i // nHour = m_nFixedHour, nMin = 0;
7 g x7 B. B- i' b. r1 G LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
! m* C7 |1 p6 [: ]+ _* ~; Z# q LIGHTCOLOR lightColor = m_k24Light[ nHour ];
- D% g' y* A: H: K: M2 [% M
. S$ n& X& s. G3 J# u //m_lightColor = lightColorPrv;
' L+ [0 J+ W0 a1 M lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;$ @7 P& v$ D2 |5 e' O8 e
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
* J* P; F3 k3 } lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
" @5 C% z F: h: K# d/ U; ] lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;4 }$ R5 H- p2 J D* k- h, w
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
+ B5 U, m9 Z, u( y3 R1 a5 n lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
2 e; F B% {4 F4 @ // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)8 L0 ?/ _ p5 D/ r/ B- r- A! {
5 |) Y, H; t$ `9 x, E* w
// à??μ oˉè* % V* v7 n* i9 {+ J$ u& u- v2 U
pLight->Diffuse.r = lightColorPrv.r1;- h/ ^2 B8 J% t( T% c+ {2 S& U
pLight->Diffuse.g = lightColorPrv.g1;# T) s2 `; n+ p
pLight->Diffuse.b = lightColorPrv.b1;
+ [/ u/ Z8 r& o8 q // oˉè* ??à? 6 g8 m8 e3 ?0 @' F
pLight->Specular.r = 1.0f;5 I( \: z {, }; x0 z, Z
pLight->Specular.g = 1.0f;
8 E. _( x3 ~# `4 ^ pLight->Specular.b = 1.0f;
5 n; s5 a5 v1 s. p: F. t. M4 u // àü?? oˉè* 2 J5 r9 B7 x/ G
pLight->Ambient.r = lightColorPrv.r2;, Q) U; i9 Q# ~& K! j1 Z
pLight->Ambient.g = lightColorPrv.g2;" s$ d/ p- ` n2 Y
pLight->Ambient.b = lightColorPrv.b2;
4 d0 K1 |8 M3 x6 ^- s- X% ?1 ]
% _7 z, H4 k! W if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.1 ^- W3 I2 q% t* @& g; B& n9 `
{
% S- o6 j4 ?# i3 K j- u pLight->Diffuse.r *= 0.6f;5 e+ t; J+ s9 n f1 J, P- e. P
pLight->Diffuse.g *= 0.6f;0 L9 L- P6 @) q2 P% `+ Q( t: v1 V/ t7 ]
pLight->Diffuse.b *= 0.6f;. n) B% @- M, D7 g2 b8 Z
pLight->Ambient.r *= 0.7f;5 u; b" }+ u3 L; q8 S
pLight->Ambient.g *= 0.7f;
6 `, R) u; T; h8 e5 B pLight->Ambient.b *= 0.7f;
9 c& Q) P! O! C5 Z$ Q9 J }
( g, H7 C6 c) |7 F8 B# O( K
; ]# H" n7 l+ Q7 U. ^( g#if __VER >= 15 // __BS_CHANGING_ENVIR
! K, F# n" V, H5 o' @7 D if( g_pPlayer )
1 J; N- x7 q% t HookUpdateLight( pLight ); + o6 |0 k: Z4 j' Y
#endif
" X; K8 j* Z) H; r' Z( S memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
3 a* {3 [! @6 |" H
) p8 J4 u/ A7 Z d; G1 _* F: ]#ifdef __YENV& y6 D& I) L, ]9 L* o; S- G
pLight->Diffuse.r *= 1.1f;
- O6 E! L* t, B- F, O. m pLight->Diffuse.g *= 1.1f;
: ?8 G; l5 D5 q" p. F pLight->Diffuse.b *= 1.1f;! O4 P2 |8 \5 y8 p- j
// oˉè* ??à? 7 T, e2 W) n. o S5 U, v
pLight->Specular.r = 2.0f;
8 \; x3 J" c8 w& D, z9 O pLight->Specular.g = 2.0f;
7 j4 ]1 i y5 H9 ^' o* Y( G pLight->Specular.b = 2.0f;
6 s3 i" {5 Y6 R% P6 E // á?oˉ 6 `0 D" n3 D1 v) v+ Y
pLight->Ambient.r *= 1.0f;
4 s, t* K7 m. K | pLight->Ambient.g *= 1.0f; x. _$ M, |' q' D
pLight->Ambient.b *= 1.0f;' D. ]$ f3 d! s+ Z* C. Q- ?
#else //__YENV
$ O! X; R: S' h4 X" Z& k" D pLight->Diffuse.r *= 1.1f;
2 F$ b) Q+ s% D9 }& e/ o pLight->Diffuse.g *= 1.1f;) o" i/ a4 v5 p I4 L
pLight->Diffuse.b *= 1.1f;
3 x$ u- o h U# x) e // oˉè* ??à?
! o0 q O5 g( r4 a, o: z: k; K4 q1 j( J pLight->Specular.r = 2.0f;
" v+ W' D, |! I- w pLight->Specular.g = 2.0f;
# y( j7 c6 _9 H9 j/ L Y pLight->Specular.b = 2.0f;
% k q X9 I- Z // á?oˉ / s5 {6 U" n# {6 o3 h. {9 @
pLight->Ambient.r *= 0.9f;$ v: S4 Y3 {9 w
pLight->Ambient.g *= 0.9f;
9 z5 ]( ]# U$ y1 c; d* v pLight->Ambient.b *= 0.9f;
' D5 Z8 s; Q& x1 K#endif //__YENV
( x% D4 E# w: K( a0 U7 ?
2 z% C. |. h; R4 ` memcpy( &m_light, pLight, sizeof( m_light ) );
6 Y2 D4 T9 C& ?9 V: j! M" y9 _
. w! r- t6 W( ]$ S# w5 X D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
3 {* }2 X! K A, d- H8 \2 Y D3DXMATRIX matTemp;7 ~( S" T2 w9 y0 {* N) w
static const float CONS_VAL = 3.1415926f / 180.f;
1 C I) b3 b% [# x; v9 H6 u7 }- ^
& p( g1 t& M: `/ u1 t D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);$ \ l. P! t$ Y; ?, z8 Y; ^
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);; d+ N ^8 n8 P) A5 q0 N% w
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
2 Q# m6 L+ ]. r+ [$ c& R! D A pLight->Appear( m_pd3dDevice, TRUE );7 B/ h' M/ ~2 ?3 I5 D# ?6 m4 v. I3 u
3 n) n% b8 I. W8 G* A // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
) l1 [! j; e1 B6 P& i // D3DXVec3Normalize(&(vecSun),&(vecSun));
1 n* \9 e. w8 n6 ]/ m // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
5 T# Y, e: \& D, W7 a
Q3 j [# M2 ~* k DWORD dwR, dwG, dwB;! F( i9 A( _4 X2 j' K, A
dwR = (DWORD)( pLight->Ambient.r * 255 );% b [+ U+ |: Z9 W. X6 f. T$ E! g; w
dwG = (DWORD)( pLight->Ambient.g * 255 );
5 X# @% R, `# Q' |' R5 u6 l dwB = (DWORD)( pLight->Ambient.b * 255 );: Y# @" p! E& ]. E \* d. C, q4 L% h
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); # d8 Y" W5 D: z# x \
}1 v7 q6 y V/ D6 [
}
$ P% a- j: J% K& z
9 J0 O$ ^' f4 g1 f" v m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
1 i6 y) s$ i0 m5 |; C0 b$ y 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) );1 O7 P' \3 O+ E+ J
::SetLight( bLight );
" n, c- h) _3 d6 h) h. Q& @+ Q' H8 J0 f7 k. G
// ±ao? ?D?í???ó á¤à?
6 T: V( J3 V: q, ~! {2 F6 H m_pd3dDevice->SetMaterial( &m_baseMaterial );
) L3 o( d& K% Z8 s- D; ^# `* c 9 J' {; _8 y) r: M# l6 p# H
#endif // not WORLDSERVER
: u+ H0 `1 e! \6 n$ @4 Q( U}' b/ F/ q( Q, O w0 k* W
并更换
3 O8 d2 u% a0 U5 `+ x4 JCode:
8 o) k b% g! ? [* Z__FLYFF_INITPAGE_EXT
9 G! s$ T/ M% N M/ I/ K2 ?定义
. x1 U% K S0 X/ c
/ J/ U. Y9 K& h
0 w, t0 f7 |. l( [( X3 x5 h) q: b2 g- {7 O2 t0 I( r+ I
* j' E' t8 E9 ]8 O
现在终于删除我的狗屁加速...- R a7 [0 v9 R s" P2 [' i0 W) _
' V" F4 D) n0 M
$ t, r( m! ?1 k; i8 O6 J/ E3 Q4 ~8 E U- l. u; }
|
|