|
|
食品车:8 J5 _# _ v" x" D: W0 ^
尾翼:' j" N+ f) ]" y, W9 S
/ k0 t0 d$ Q! f$ m4 l+ c! F4 t
代码:* N6 F& K$ J N6 n% c3 Z) T
CWndAutoFood::CWndAutoFood(). {6 W( Q; {! k2 f r, O1 u
{
: e, V6 f( k3 F$ r# o8 Q4 ?2 w m_pItemElem = NULL;
9 V! t1 z$ |! @' y5 g( V5 R* U m_pTexture = NULL;
( {% b k5 i. D( x& ?, L bStart = FALSE;4 D3 b( J: Z6 r5 }8 d* z0 Y
}) ?: @ T+ |6 _
( L& m- ~9 p3 L# |+ G0 Z' N+ h- _
CWndAutoFood::~CWndAutoFood()
( E; Z" ^ d: j{0 _6 u& `- J: ]9 v0 Q7 ?( J2 M) H
AfxMessageBox( "AutoFood ist gestorben " );
; a1 f' w' V6 j3 U}
8 v+ ~2 M5 n. l: h$ dBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
: e" ^- j3 h$ `" {. h H- N4 O{
, U6 T' y5 C9 J8 p5 h; N4 t return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );3 ?. B9 j" \* H0 i
}2 [0 E$ K* I, S$ v8 \
9 C( ]$ L, `9 Q# ?7 a7 B+ G$ |BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
6 B/ q" r9 r. F{
! N1 Q+ w# r8 O0 O LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );0 [+ d5 Z; U# V8 |7 k
CRect rect = pWndCtrl->rect;7 o4 w" Y" G7 D- }% ]8 E( ?
if( rect && rect.PtInRect( point ) )
" |( |( h- n/ w0 c {
0 K6 U. t5 o4 p: l$ G$ o6 m CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );2 }+ p1 G/ _0 H. i5 P2 W
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
' n6 D) p9 s9 q2 ?$ ^ {
5 N, A/ B* v! J( v3 ~! k if( m_pItemElem )9 e6 _3 _$ Z) h/ y$ R
{0 z4 G7 r) _: j7 j
m_pItemElem = NULL;
4 b" `+ _& l3 T3 p9 @+ ` i* s$ \ }
' S' b. N- M$ n4 K- D* |6 N9 D m_pItemElem = pItemElem;# P+ a/ W5 F# y
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
) @7 |+ C/ ~+ s5 x+ L. l; o }else{
$ r" }" W0 u* p' l; h. S SetForbid( TRUE );8 \; B4 a o( c' R# n
}
8 O6 E/ |- X' r$ L! T+ ^' @ }else{
( _' V" V$ H* D1 f2 w7 o4 O' m0 T SetForbid( TRUE );# o+ Z' I. v- Y4 e3 A+ Q' P
}1 g3 P0 z! L+ V, l; }5 b
return TRUE;
9 v6 Q3 g0 U( T6 ]( D$ Q}
- y# b! V6 O G. V- O3 J4 A3 ?
* u% g3 e2 T" | i9 C/ EBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
! ]- |! z! Y7 N* y{' {* l) J- ]( ]
switch( nID ) j a6 J: _/ c
{- F3 v! G& J$ n) @, x
case WIDC_BUTTON3:2 I+ }7 `0 `; m8 T, i$ o
{
b. C( B5 S! a8 w. x8 G% @! C bStart = TRUE;- L% Z" L) n1 Z- S& t4 V3 ?8 ~
break;
$ `* [/ R8 M" r& k( B& n, i }4 C/ n; ]4 Y' U7 \! [4 a, K
case WIDC_BUTTON4:
2 c: m: W4 m, o4 V+ z/ |0 e {
% w m; C$ z0 j3 J J bStart = FALSE;0 I$ J, V( D z0 |! S- E$ q
break;, e3 y- s+ L4 D3 t
}
) ?, S" X3 @+ c }: w- e# A* M8 X c0 l0 @/ }9 C4 I
return CWndNeuz::OnChildNotify( message, nID, pLResult );
2 w+ }; u" ?# y; C) H& M; q t}
! x: {9 g( F( e+ S, x" Wvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )' D$ A# E. q/ U0 a7 K: \, v7 ]
{% p6 U6 \! G4 {, N" Y
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );& h. Y: `$ M/ ^
if( bStart || !m_pItemElem )7 q% S) R+ X7 r4 c8 Z
{! F& K5 a ?) U3 t6 n
pBtn->EnableWindow( FALSE );
! i1 [# a5 H! s, s }else
9 C* |# d# Q% D: k& u pBtn->EnableWindow( TRUE );4 |2 w! W6 d8 D* u3 r' Q: k y
if( m_pTexture ); e+ K: ]3 R) v" }
{
, j8 h0 G$ L# C$ ~! Q' x LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
+ t, {+ s B9 ~) n% X, d) O9 J if( wndCtrl && wndCtrl->rect )/ B) Q& R5 E @0 Z J! r1 Z
{
4 |1 R! U% W. a/ J# O$ S: j m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
7 V8 {7 O9 Z5 R5 H" E, x }
3 B4 @7 h. ^( v$ K3 Y/ T }
' E# v# F: G$ y3 ^% I}3 z9 T4 o# o" r
# | v/ [$ V) `BOOL CWndAutoFood: rocess()0 \( N+ y2 P' s. G) _) v1 a2 I
{7 E+ v" v& F3 F- Y
if( bStart )
: J. j5 Z8 a/ X- |+ [ {$ V4 O2 ]( W, Z; b( } ^7 g! S* U4 I& e
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )2 M) E* a- j3 f! M
{
# A) Q6 E$ b) C7 G if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )3 R$ N; J! T( {/ E
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );# Y) l7 {: Y1 D7 T' a4 M2 ?4 [/ ?
}else{
0 l. Q/ P& r7 p( y4 K bStart = FALSE;. E3 c6 d& X) s) T1 [
m_pItemElem = NULL;
% ^! u) V4 R( c. d, N, ] }
5 ?6 Y2 k4 ~! ?: E% o8 C3 \% Y0 O }1 B* G" ]: t; H( j
return TRUE;
: z0 k9 I9 ~& G) J a, G& l) ]}
6 ^/ V2 [# y# R& A# S# V: U: H& \) E2 {+ R
登录视频废话:
3 J* q3 p& V. F% i尾翼:
* b- e! a, m% D
3 H1 `6 x7 C, G& y2 ~% l代码:0 H! b- j: e: y/ m7 D
! }% a$ H; \) C; f
void CWorld::SetLight( BOOL bLight )
8 G: [& z2 a1 ^0 p! K9 gdurch
' L# Y9 t* Z) x1 P6 YCode:& a8 w4 K5 G: A% x
void CWorld::SetLight( BOOL bLight )
( ~0 G4 v/ T6 J0 k$ \( \, E{9 O7 P* L1 V4 ^% R# d/ e7 p6 y
//ACE("SetLight %d \n", bLight);% c7 \2 `* x2 m; v& c- n9 G
2 A4 [4 z' J4 E/ r+ }5 c4 M
#ifndef __WORLDSERVER $ Y: k2 H" S4 g/ y' p7 e' N$ s
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
& e1 }9 F! G, S% _4 i# Y5 T7 n CLight* pLight = NULL;9 |5 ]7 y( h' f5 ~
) b; U( D+ y" ^7 m7 ?" F0 u* X
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );! H, y8 d( G# a, r) q2 N
+ y+ q( i N8 E6 N$ E% u& \: U
pLight = GetLight( "direction" );) v# p, X$ v# U
+ k# R7 M* U& ~' x2 W* `#if __VER >= 15 // __BS_CHANGING_ENVIR
3 c0 w& p) |0 v) W- s if( g_pPlayer ){9 Q. b! ]& F; }% x- x4 o
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
( s0 ] \6 G% M$ t+ q u3 ^8 o3 j if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
: a# c6 i: v1 b" l {
; H8 c% D [" c8 L2 R. P5 f. h if( pLight )
+ H$ r. h9 R/ U( U9 |% Z- g) ] {
# g7 _; B: e9 i& P# Y pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
9 \" e, f& S/ R pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
* ~) W; y! T( k) K5 U8 @9 S pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
6 B2 M+ p) J* H4 w, k3 c# h
8 X0 Y# N3 }% q5 D pLight->Specular.r = 2.0f;# L# i% g* B4 C3 V
pLight->Specular.g = 2.0f;
- c- ?5 ]9 ]4 t5 \- }& y% z! ~4 c pLight->Specular.b = 2.0f;0 t$ I4 q2 I# W, Y5 w! ^" O" g
9 q; _" N% ^* m" B; _. B pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
- K6 q8 @( l: T2 U% f: I* J _ pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];& D# z" M/ A8 T) R0 C: X
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];7 L! @# ^4 r- e6 N# q* D$ `5 F
+ A @ n! h# _% v8 W) d# q" M% i u
HookUpdateLight( pLight ); 6 L9 m" T+ }. y) v2 p
. N3 P% i; ]; a: S6 v memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
! f, D+ ?$ A; x: m' ~0 ^4 w 5 Q1 O7 ?0 g% Y; E: r3 Z, O
pLight->Diffuse.r *= 1.2f;
7 B, Y5 w+ D4 d* L3 a pLight->Diffuse.g *= 1.2f;2 O5 u& z* b! ~8 y$ _
pLight->Diffuse.b *= 1.2f;* h" n, A+ M. p' r' g* A
7 ]! ?- L; Q, P5 [3 x pLight->Ambient.r *= 0.8f;; Y0 s6 n8 K ?, b- n$ d
pLight->Ambient.g *= 0.8f;
. [2 p8 X* X5 j% K pLight->Ambient.b *= 0.8f;2 F" `' d# l" w" U( z# F+ |
1 b1 g4 F% l& `
memcpy( &m_light, pLight, sizeof( m_light ) );
- I, E# N: n. j: v& }' z* `1 f u; [9 K0 X5 `% F l/ ]# w7 W
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);. I# S9 U$ d' T) p. B
D3DXVec3Normalize(&(vecSun),&(vecSun));
! I9 u4 k2 P* _' x+ ]1 `8 z pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ! {5 a# ]' Z$ u% M4 D1 r
pLight->Appear( m_pd3dDevice, TRUE );8 i, x* ]! i% i! ~2 C
q$ j* P6 f6 F) a6 X DWORD dwR, dwG, dwB;
- t6 \* O8 l" W( D, I. w dwR = (DWORD)( pLight->Ambient.r * 255 );
: O0 E( W. w- |9 x5 j. U dwG = (DWORD)( pLight->Ambient.g * 255 );
- x8 I7 Y( y2 _' r dwB = (DWORD)( pLight->Ambient.b * 255 );& Y4 F: j! i2 }7 l O9 ^5 z$ X' g
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- V1 O! L1 A% _# X }
+ m% Z- M9 W L% Q- }/ w1 g( g }. k, z! \ c. Z4 j9 X8 S! ^+ K
}! d& z6 `# R3 S4 G
else$ e6 P* \$ H. x. ^
#endif 6 c% E: h$ N- u* }& e3 q
& ~$ T7 i1 [( C3 R, h7 N+ L- w& y2 i+ p
if( m_bIsIndoor )
) s' `2 W" j- n! {8 C" I) ] {: j+ ^5 w4 \$ F# O. h" t
if( pLight )
7 Q- o: p2 J! v, T) { {
: c, d6 F8 B( I. \ // à??μ oˉè* _. I8 p( M5 f5 L6 ~
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;1 Y( n: v% o1 B1 P
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
& \/ X/ {3 j6 }5 N0 L) e pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;7 W, t- G. T1 u% B
# I: b/ D+ }! Z0 O // oˉè* ??à?
4 C* i$ F$ k8 Y! y4 @/ {" F pLight->Specular.r = 1.0f;
- h5 `7 u! b7 C0 G pLight->Specular.g = 1.0f;) W! ?8 J+ L! ?
pLight->Specular.b = 1.0f;
$ \( O+ O5 j" G$ H0 e // àü?? oˉè* ) s0 Q( J, n4 }. B% e! z
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;* Q5 U$ A9 I& \; r" D
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;& ?% b3 A3 D: V* K3 |, Z! s
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;" L2 H$ n3 F. E3 u! T
- h/ n$ ~+ N* |* _8 ]/ S
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.5 s# ]* c% n" T! O" S
{
! ]# l% D V# ~" i* C4 | pLight->Diffuse.r *= 0.6f;
9 {1 S& H( {8 n" v- A7 h pLight->Diffuse.g *= 0.6f;3 y; T1 |% E7 V
pLight->Diffuse.b *= 0.6f;. ?% O( D7 g! X
pLight->Ambient.r *= 0.7f;, p* T4 y# Z$ x
pLight->Ambient.g *= 0.7f;
2 I3 F$ z: w2 H+ ]; O pLight->Ambient.b *= 0.7f;2 r [! |# q5 K6 l1 l7 V
}
" H+ i" V/ a0 D
( p; _" y1 u3 h5 J7 t$ U3 M#if __VER >= 15 // __BS_CHANGING_ENVIR
! r/ o3 o+ y$ s+ [! ? if( g_pPlayer )* k) I9 k; r4 l4 l/ o
HookUpdateLight( pLight );
+ T4 O/ {/ D9 C5 @1 [% F% X#endif
6 i" T2 j# L) j; ~ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );3 b0 z# A8 F; p! G- I( E
/ ^. x* ?/ O' \ pLight->Diffuse.r += 0.1f;* G" F4 u6 ~- v) \: \
pLight->Diffuse.g += 0.1f;
/ w# K2 P& @ E pLight->Diffuse.b += 0.1f;& t; T. [) I$ I# J' A
// oˉè* ??à? 2 S& r: L# o; r+ R* }
pLight->Specular.r = 2.0f;
7 ^" I8 Z0 ?8 j: |1 ?5 N8 m pLight->Specular.g = 2.0f;
+ C7 g4 z8 X8 a* i5 n4 G0 K0 Y( [ pLight->Specular.b = 2.0f;5 s/ Y- G4 @8 T4 ^' w+ {
// á?oˉ
4 j' M/ R2 c0 X6 V5 F pLight->Ambient.r *= 0.9f;
1 s9 }. L) K+ P2 J' m& P pLight->Ambient.g *= 0.9f;
8 b1 v# W- x+ t* {7 |8 V/ q$ [ s pLight->Ambient.b *= 0.9f;
* A) X! t. d- e, u9 {: {3 I- K3 e; }
( J/ ?2 N! [& w9 b- Z memcpy( &m_light, pLight, sizeof( m_light ) );
' I8 `' w: O2 v9 A: J! y 7 v4 k0 D& n0 u7 \" j
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );3 D( g8 k; L T
pLight->Appear( m_pd3dDevice, TRUE );. D, x7 Y5 X3 p+ _
. ?! }4 I* {5 ^! L" v$ H, G DWORD dwR, dwG, dwB;0 ?! M. h3 ^7 r2 h! U" Z$ ^
dwR = (DWORD)( pLight->Ambient.r * 255 );
3 f8 K* w# q9 H0 d9 y. a* T5 u( \9 l& G) I dwG = (DWORD)( pLight->Ambient.g * 255 );
. m" _. a2 r3 u* C9 u, }0 n dwB = (DWORD)( pLight->Ambient.b * 255 );1 l$ _- E' T9 S
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. h' C2 G7 E) u8 D! g9 z" r! y$ M }
( a3 A$ i8 Z) U0 G! o }
6 r# I2 L! \' S* N5 w: ~ else
2 }- o% x. @9 o {9 M4 \; E3 X6 a
if( pLight )+ j" j2 q) H* \; f- x- C+ r
{
& C( ~1 K( q6 ~* a
! X. {, g9 O/ ~0 o' h int nHour = 8, nMin = 0;! o W( b7 S8 n4 A& v! M
#ifdef __CLIENT
6 ^: @% _; Y4 ^4 |: a5 y( ?0 k8 N* Y& x // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. " ?1 N' ]* n W1 O- Z( V* @
nHour = g_GameTimer.m_nHour;
# h* I4 U U/ ^$ \: _1 u0 s nMin = g_GameTimer.m_nMin ;0 Q& j4 s j2 g8 T% t
#else' H" Q0 K q+ w; e
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
5 R( k1 \, Q8 Z7 ^) P if( m_nLightType == 1 )' Y7 ~8 p* ]9 R/ \6 b
nHour = m_nLightHour;
& M2 k" k6 I- @# m #endif$ Q! Y# [ ]' K
nHour--;
4 A0 k2 t4 e; |# n, L6 I if( nHour < 0 ) nHour = 0;* ?0 b, M* ]0 Q# i: ^; T
if( nHour > 23 ) nHour = 23;
& ~( b7 F3 G) ~. e3 n. {8 j) F+ b
# H6 y: Q9 z( u- R' R6 T //if( m_bFixedHour )- Y' O, F7 F4 x4 I
// nHour = m_nFixedHour, nMin = 0;
0 r) V) Q% S+ _( N& Z6 z! l LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];/ u6 ~+ A- v) f; W% i
LIGHTCOLOR lightColor = m_k24Light[ nHour ];0 A6 C: l- Z7 C3 [( {. _1 f
8 D6 x5 ^& I6 I4 b8 ? //m_lightColor = lightColorPrv;3 P5 L O) i: B
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
) c1 h- H0 I" V6 e4 T( G' b lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
' P6 @5 z, H7 b) I lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
0 _- q! e; ^+ d lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
5 b- x! [3 e9 e/ p3 [$ { lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;5 A- K9 Q* B: Z
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
! q& f$ b0 q8 y5 o6 L. k3 p // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
4 a/ c8 c' x" l A2 E, f, ]5 @ g1 ?/ Q
// à??μ oˉè* 2 R& W2 }( m0 D% {' J( o
pLight->Diffuse.r = lightColorPrv.r1;
: H7 H0 k# m# w- M" v pLight->Diffuse.g = lightColorPrv.g1;
! I6 H, a) l% ?1 a/ e; f/ _ pLight->Diffuse.b = lightColorPrv.b1;% p# f& A3 T: q& |# ]
// oˉè* ??à? 4 W, p5 }. B3 y- ~) H; R
pLight->Specular.r = 1.0f;
9 ]0 s8 i; I$ o. h pLight->Specular.g = 1.0f; ^* x# |3 t5 [8 D5 g% ?
pLight->Specular.b = 1.0f;
) i' E7 D v3 d8 A" A" T // àü?? oˉè* , e2 M; L j7 D, n t3 c0 ^# d6 h
pLight->Ambient.r = lightColorPrv.r2;
2 J0 I m% v0 H pLight->Ambient.g = lightColorPrv.g2;
4 S: ~: X! C' O" n1 Y0 ?/ U pLight->Ambient.b = lightColorPrv.b2;
8 j0 m* `- R: H3 K" r$ r$ P9 _0 i" D3 L: A/ A3 n5 S/ c9 R
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.* t! [- w" n9 h
{/ {- M" N v5 Q9 J# U1 S
pLight->Diffuse.r *= 0.6f;/ s, E" @# I$ w# J0 J; u/ A! v) ?0 x
pLight->Diffuse.g *= 0.6f;" J4 @1 }2 c D; N
pLight->Diffuse.b *= 0.6f;$ |# v0 L! _: U [; G0 _! y4 a
pLight->Ambient.r *= 0.7f;
* g6 p" p; _' B# m pLight->Ambient.g *= 0.7f;9 d9 H8 [4 l" U
pLight->Ambient.b *= 0.7f;
+ |5 c2 I6 V; ?' v }" r1 K( a: x* }+ I7 q$ ], }
- d8 R, h/ |. b% z: {% `#if __VER >= 15 // __BS_CHANGING_ENVIR
5 A0 s) {( K5 @' e2 D if( g_pPlayer )
4 A9 Z+ S7 j( b0 P. s: Y8 e HookUpdateLight( pLight );
* N- ]! Q: [( v% Q#endif" |+ F4 A7 w, H( Y5 S! X- `* A
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );5 w: G) ^4 b% ^0 W1 ]
@. q* d0 f g0 z N; Q9 N) x. C
#ifdef __YENV
8 Y- U' Y6 V, K3 L pLight->Diffuse.r *= 1.1f;
. T% k0 I1 x2 E t6 Q7 I pLight->Diffuse.g *= 1.1f;
0 d0 t: d0 ~0 p pLight->Diffuse.b *= 1.1f;
3 Y$ n6 W6 d# f // oˉè* ??à? 7 z9 p% r" y& `* p# j: {
pLight->Specular.r = 2.0f;' }# t* q0 r* _: B2 c3 X1 a
pLight->Specular.g = 2.0f;2 b; B; O8 f0 i6 B$ k7 R: c( }
pLight->Specular.b = 2.0f;3 s. V7 G. i2 A! L
// á?oˉ _" ~$ v& D2 ? }
pLight->Ambient.r *= 1.0f;
L1 |, a6 w( O' n/ g1 H( [. ~ m pLight->Ambient.g *= 1.0f;
! a" ~( X; ]2 z3 q/ B+ Q. n pLight->Ambient.b *= 1.0f;' h4 d3 C' Z3 T% e
#else //__YENV0 O# ^2 ]' K5 V2 P/ o2 r
pLight->Diffuse.r *= 1.1f;
* C7 h2 G, e" ~2 N# L pLight->Diffuse.g *= 1.1f;
. j3 t5 a' R [* F; O7 J1 D& k pLight->Diffuse.b *= 1.1f;
, M3 E0 E; f( w; j // oˉè* ??à?
' q7 K. w4 y% b5 D$ l pLight->Specular.r = 2.0f;+ |. L) n. p( f! g+ n7 V
pLight->Specular.g = 2.0f;1 l6 q5 l, _$ A: b& w# K3 }
pLight->Specular.b = 2.0f;
# W5 U% j) C& Y2 j7 z! [ F // á?oˉ
+ Q3 E6 A. e% h0 ~& n/ y pLight->Ambient.r *= 0.9f;! _* K5 w. ~, Q2 }
pLight->Ambient.g *= 0.9f;5 _: d" z9 L3 W$ V; r
pLight->Ambient.b *= 0.9f;; Z: C# S$ ^+ Z" W
#endif //__YENV
4 {( c, s- a5 l$ T( T
4 F: q. b& w Q+ G; ~ memcpy( &m_light, pLight, sizeof( m_light ) );& f( s: k5 D' _9 Z6 h7 x- X J
8 c/ }7 s+ h) B( F T+ n: w% ^
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);) E) u! j9 G% p% ?. F
D3DXMATRIX matTemp;
: x5 ^% J+ ^3 B; C) } static const float CONS_VAL = 3.1415926f / 180.f;
D, L" X, D* C9 N2 a
~' N$ p$ P1 W& w D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
) @- g( e" f9 [- y D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
( r% P7 o7 Z, N# t8 \ pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
' S H9 V8 c0 q8 E pLight->Appear( m_pd3dDevice, TRUE );
2 |( }( ?1 f) k% O5 Y7 ?& ^
: @( \# b6 R0 e; Z // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
4 J" Q# X9 K. h2 d6 f // D3DXVec3Normalize(&(vecSun),&(vecSun));7 E4 l* b) X# |5 Z8 v/ F
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
+ o% ?' g% U" X' T" A
& H0 v' U- B1 E+ _! R DWORD dwR, dwG, dwB;+ i4 @) L1 o/ ^$ }: x7 \4 p1 W
dwR = (DWORD)( pLight->Ambient.r * 255 );
' k# a% Q8 `- W( X dwG = (DWORD)( pLight->Ambient.g * 255 );
( _6 [/ i1 }3 ?9 R1 J2 {; l dwB = (DWORD)( pLight->Ambient.b * 255 );) o# q8 Y& S v- k% g
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; e* J5 h3 x( {2 t( ~ }- F$ u3 ^* v9 I7 I
}
; n: x) _+ B" M) e I7 \
6 m2 M% @ H9 R4 {: {8 v m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );+ _9 Q9 j2 o5 C/ 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) );
- I, H4 D1 q; J. d8 z! f ::SetLight( bLight );9 ^8 |0 p1 ^9 ^+ l3 e
# c. b3 U J' v$ Z7 J" O
// ±ao? ?D?í???ó á¤à? 8 t0 z Q& f4 l
m_pd3dDevice->SetMaterial( &m_baseMaterial );0 \9 d" d1 k0 {9 M
U2 D6 A( O& v' U; M) e
#endif // not WORLDSERVER
& G, [6 _: f6 J}
' o3 u n4 v& r- O5 K/ c并更换
. G G7 d+ g- O2 q4 G$ J- \Code:2 u& h a+ }- l+ i& S3 S5 M
__FLYFF_INITPAGE_EXT" v3 t6 q- b" p5 P4 m: w
定义: `7 b, y+ Z3 [& Z3 t
* z: M8 j' W1 s1 {: f- ~1 l- ^5 c
* m$ K K4 c8 c7 w
& f7 n* }) [0 h7 S, A
现在终于删除我的狗屁加速...2 N# c/ C! [% C0 q- V7 w; d% J
* E1 L: c" p# ~% ~. ~* E- Y M+ V- m( m0 j; \/ _( H' \+ P7 F
, }" H: B" N1 n0 X |
|