|
|
食品车:
# ~" Q0 R* I1 J' e尾翼:( D; ^- X G7 h; e2 b
" _% R7 Q* \ O9 A
代码:7 Z, H! p( U- [2 Y( I! n- z
CWndAutoFood::CWndAutoFood()
: e& z. H$ m" \2 G7 O3 ]% R{
$ W9 ~2 C# B* J/ ]2 W& j m_pItemElem = NULL;
1 }8 U# a) k. D m_pTexture = NULL;
& ]) O5 ], [, `1 i9 _- o; }/ V bStart = FALSE;* r; t. l, o2 O5 p! A" t! [
}
$ t7 P( t7 C. } O7 S5 J4 y. W
- Q6 {2 F- J5 m9 A4 ]1 C8 PCWndAutoFood::~CWndAutoFood(). u% P. W) ?" ?/ ^. m9 w. {
{, |4 |( d5 T5 w
AfxMessageBox( "AutoFood ist gestorben " );& u. u" B2 ?4 K) Z m. t7 `
}
5 ^& g) T- a0 jBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
) Y* _/ M# p. W& [{$ A) S* `. C7 L4 H7 Z2 @
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );& r' M, d) a2 |: F. c
}
, b' ?9 T1 C! T) ~- N* k) |5 S; I% K! K: g* W0 d
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
' o- ~3 v4 R) V! Z{
3 F7 G$ @+ S k* \ LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );, E3 k' H3 B6 ~& ?
CRect rect = pWndCtrl->rect;
/ L# J& H) C& V5 C! y o if( rect && rect.PtInRect( point ) )' D* X2 T, G. N0 v# ?$ I6 ?
{
; g2 Q7 A: i n8 G! O CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );5 h* N7 K4 l1 p6 F" l: R8 A, g
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
" b# F, U5 c, U8 \8 D) V! H" \5 S {) n1 d8 X$ M# `) |% j, S
if( m_pItemElem )
- L+ U2 A2 z( I+ b, p {
8 e' y. ?- y) z# \" Z# Q' i/ P m_pItemElem = NULL;
. B* R, i0 y$ R6 p! [ }
. G6 [7 R* F( q$ \; l- c; l! \ m_pItemElem = pItemElem;) I5 g* m, G: m6 I9 W8 L
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
I5 p4 a! o9 D3 C }else{
* p D& I: U# [ SetForbid( TRUE );
8 S) H) _: q0 z }0 J4 M: S4 ~( K* E9 C" P
}else{% N! e9 `0 o+ I
SetForbid( TRUE );
; Y% P. d6 L3 {3 p9 h5 @+ J }: x( `6 J" j( H! t9 C& Q" m# k
return TRUE;
! Q$ H4 T! C7 ^}1 C+ E8 C1 d+ S
0 k$ C5 s1 L2 I# O5 G" ~7 k1 f* ?BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )/ u0 U1 c0 I, z* y" |
{; |2 ?# e8 b9 d! ]- X p" n; u* Q
switch( nID )* S# y% H3 D2 ]1 k* ~0 c$ G9 a$ D7 B
{3 V8 O- x; O' y8 S, ?: S7 C7 [
case WIDC_BUTTON3:; o c% ~1 g+ \/ a
{. I3 M2 h+ T! H* y* N7 P
bStart = TRUE;
' n- {/ l: A7 H+ m$ ]8 n break;) E* ` K( L; D+ j ^& J8 M
}
7 K" A* U" m. b! P6 ` case WIDC_BUTTON4:
( ~7 c" e/ G. Z7 f) e( o6 j: B' E {# K; u/ }& {$ ~) x! L3 E
bStart = FALSE;
' u# d0 E4 e3 Y$ `% j break;
6 y$ P: l3 }- W }7 L$ X: w/ I& ]8 j
}
$ B9 V/ }, b9 t9 q$ }, s return CWndNeuz::OnChildNotify( message, nID, pLResult );) c0 j( p# _* y* W! z! Y
} ' Y K1 o! J! v Y# v! ?; `
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
9 q, {, n8 E5 h4 C) I5 N2 r( E( g4 O{
: L- j2 E" X7 Y) `# P CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );" W4 V% q+ ^, G6 k
if( bStart || !m_pItemElem )
3 Y: y: y3 H# G' c2 ], [6 e {
) X4 M, X" P- n: u( U: F pBtn->EnableWindow( FALSE );
5 ^# R+ H+ E1 ?+ p6 k& t }else$ t+ Q' x5 _% C
pBtn->EnableWindow( TRUE );4 Y* b4 c3 x7 B9 i0 {
if( m_pTexture )6 z# V7 q/ y) f/ A0 d& N
{
8 S$ i! z" z% x% r LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
6 d6 I& x( G% [% u5 q+ S; a if( wndCtrl && wndCtrl->rect )5 q7 V Z# U1 U( f, G; e( s
{7 t: u2 ~- }2 t* {
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );+ J/ i8 S9 J0 d% l. m' e
}
& S0 |1 V. |4 ~7 c5 n( V }8 l* T; v4 k1 ]0 ^' B( o; a
}) Y# _# c5 e9 C# M4 h6 ?
2 S1 w- v6 U- l4 v6 r- v( HBOOL CWndAutoFood: rocess()
( i& I: }* e$ T6 d; l{# L+ F; ~) s& s* k8 F# e0 |# }
if( bStart )
* A( U% R$ e' [' c {
% J4 Z) c. a5 _0 Q2 e" C if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
- H; a. V% a; S+ p* X2 } {, x9 F5 X* c+ s: f) O( Z$ J2 A
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
' x0 k/ C9 [7 W) \ g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );2 r4 f! K6 s4 `; H4 Q- d
}else{* x) G$ s( p, ~: x* u/ F
bStart = FALSE;; E' p! B# R$ U9 M2 q d
m_pItemElem = NULL;1 F f' n# ]) F6 Z2 @ r3 H
}; h& ~5 p* P! C! B1 h: S8 _
}$ _7 K F' ]; G/ J4 U4 V
return TRUE;
^2 {* G3 W( H2 u3 b7 y}
! f2 g- A* w8 v* m6 a) y5 y2 N! C0 J8 t; N- s4 B
登录视频废话:
& D# d) s/ I2 X( E- S尾翼:. a, M. H6 G$ ^7 N2 b) I
( `+ Z% ]1 H) K, s( ^+ a代码:) I8 |' J$ i0 L' h9 G7 t& n5 l
' W+ L3 \" |* n# k! y. gvoid CWorld::SetLight( BOOL bLight )
5 T$ `% t1 h7 S6 T- |4 @durch$ J: r2 a) x, N! ?( _* k, o
Code:5 T1 b5 e7 @# v8 L8 e
void CWorld::SetLight( BOOL bLight )* U F" I2 k8 `7 F: x2 }; U
{
9 l, E1 [& d* E //ACE("SetLight %d \n", bLight);
: `4 l9 ?5 L) C/ j
! T) I& r- F7 E/ b- z8 s#ifndef __WORLDSERVER " U! B" f$ h& d8 u2 D
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
2 Y) o: e9 f4 q CLight* pLight = NULL;4 A4 ? @" F" n+ L. P
, J, f+ s+ Z4 P
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );0 M7 U" X, p C: d. Y) B r( ~
( D5 B3 F. }! E. x' r% b. Q+ Q pLight = GetLight( "direction" );
8 q* f- ]. d! S+ q! k2 ^
9 }) j1 s/ e6 W#if __VER >= 15 // __BS_CHANGING_ENVIR
3 ^/ [1 H g w6 }" z if( g_pPlayer ){7 O* L* F& `+ H0 A! x* l2 x
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );5 v! r. c3 W$ C% f8 M$ K
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!; X( Y( T C5 l( \: M s; r) ~- U
{% r% G" ~' m2 F* `9 r3 R" ^
if( pLight )
- e& V( y# K6 i) U7 _ {
' h- [- h4 C4 A1 M3 c& k: W pLight->Ambient.r = pInfo->_fAmbient[ 0 ];2 c, l; d9 K% a/ n9 r
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
, V9 `+ C( \& n pLight->Ambient.b = pInfo->_fAmbient[ 2 ];. n2 o% [) g* P
8 L+ F/ C# \9 C" [( C pLight->Specular.r = 2.0f;3 [& g- o/ Y) A. R+ j& s
pLight->Specular.g = 2.0f;
: g; b7 M; l1 P: \( i pLight->Specular.b = 2.0f;! I+ ?6 j8 f' _; }9 v3 l! Y
2 h! b$ d$ H0 S3 ^8 G
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
$ \; A% b0 I- w5 l pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];1 C' U6 t6 S0 g8 u ~
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];4 t$ R! G) ^1 }; g/ H) h
' t1 [6 }. ~' B1 V/ r! x
HookUpdateLight( pLight ); ' ^' h/ T" o/ _, o( W+ Y/ p
4 V" O" M8 p% B6 c* Q memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
' R; }: J4 V5 N8 |% |7 F
1 z+ t& n) r1 e1 S. E pLight->Diffuse.r *= 1.2f;
+ T: z, K0 }! g( _6 P pLight->Diffuse.g *= 1.2f;+ W9 u1 q9 Q! o2 j N3 E7 K4 j
pLight->Diffuse.b *= 1.2f;* J) l+ k( o2 n2 G4 d4 ^9 V* P
/ ~. g) \. R9 `" I1 i. m" h pLight->Ambient.r *= 0.8f;& I8 x$ y6 q y1 T K
pLight->Ambient.g *= 0.8f;2 o5 r: \) p5 ]8 @' @ @0 j
pLight->Ambient.b *= 0.8f;
3 k( ]' h4 b, h {9 x, ~ : q- o. E1 j2 W
memcpy( &m_light, pLight, sizeof( m_light ) );
; Y4 \8 L- z3 U9 c0 I; y: M: v! E, c+ n/ Z' p8 u- B
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);4 q( p- Y8 N7 n3 K' I# T" ?
D3DXVec3Normalize(&(vecSun),&(vecSun));
1 m3 B. L! X: g9 c pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
3 }. y, a4 T$ x: v. k- s) | pLight->Appear( m_pd3dDevice, TRUE );
3 b8 h: P5 J9 i( h: C* K$ H; \) H5 w . N. \+ y. s* N, @' g5 C. T$ H
DWORD dwR, dwG, dwB;
3 r- a) h' @, e$ W2 y dwR = (DWORD)( pLight->Ambient.r * 255 );$ t. ~5 O3 e, W" |: p
dwG = (DWORD)( pLight->Ambient.g * 255 );
* n8 u4 d" C t% e dwB = (DWORD)( pLight->Ambient.b * 255 );; r8 i2 n P4 o- a+ i! o0 r7 Z
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );$ e' X+ `% L1 J7 t, b. O; i
}& E8 Z, }* R, m5 x, b5 u
}
" h* V4 h! z9 C! s2 F$ m- {2 g }
+ g% J3 D1 o$ R4 u else! m o9 l. B" c, H8 d- L5 T
#endif $ @# d3 K9 y s
' G3 M9 P9 _6 P if( m_bIsIndoor )
9 v- E9 B1 Y9 Y0 }, F$ V" D2 v& ~ {7 M3 \4 M! R3 @% ^% s
if( pLight )
+ i. \% B! M9 a. ^+ l! l& z4 l) U {
- Y. G, O6 t6 | // à??μ oˉè*
6 n: X: [ `, B0 t6 z pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
! H0 }9 @) W* ^& J pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
6 w6 B9 l' k. A" P* V. p: D pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;1 t! n: k* j2 E# Y% o( Q
+ A( [% t2 S* e; y$ n( a
// oˉè* ??à? * V& i$ t2 B, Z, X
pLight->Specular.r = 1.0f;
! f2 G+ X& T6 y- _6 ? pLight->Specular.g = 1.0f;0 m( M) Z2 k# a+ n M
pLight->Specular.b = 1.0f;
! |1 n( A9 m3 o // àü?? oˉè* % i6 H% l2 ]) |/ z7 ^. q/ ?8 R4 i
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
, T5 k/ {# A. e. V pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
6 r/ i% d1 ]2 S# F" ]: q2 y. m' h pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
; b) X9 Z2 c$ R. v
; I9 F1 L& y: F* W5 Q if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
/ S0 c9 d+ H; } z7 M+ l, x5 } {
8 J+ l+ q, O+ ^# J pLight->Diffuse.r *= 0.6f;. `: M: J( p; Z$ n7 j- \
pLight->Diffuse.g *= 0.6f;
( \( Q" m0 z- N# L3 d/ g+ j* q pLight->Diffuse.b *= 0.6f;1 e; e8 z8 C: G
pLight->Ambient.r *= 0.7f;( f' a( z4 m* [; {5 T# P$ n
pLight->Ambient.g *= 0.7f;( U3 r& s7 n9 U- }) W
pLight->Ambient.b *= 0.7f;
- a" O$ h/ g8 |3 G# G6 u }1 x% B: C# ^9 g U" s
8 n! ~5 [- G* W/ J H/ z#if __VER >= 15 // __BS_CHANGING_ENVIR
. o) W0 |6 e9 u7 T$ Y- n* o if( g_pPlayer )
6 C6 u! @ N8 ?/ n5 I4 A2 I( F HookUpdateLight( pLight );
$ y2 c0 n0 ^7 a2 t7 v3 J#endif3 A" ?( {- D0 T) F+ f
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );# `- H0 I8 c) a
* ~- b4 g( k8 {* D: R) v pLight->Diffuse.r += 0.1f;. l5 L. h! x% P( ?
pLight->Diffuse.g += 0.1f;
, T% Y7 k$ \8 I7 i. O$ K b! V pLight->Diffuse.b += 0.1f;$ l. o1 e# h$ L* D( s# k, q: I
// oˉè* ??à?
7 f& ~9 a4 S' A% o% e pLight->Specular.r = 2.0f;1 o! U7 Q8 g# b) u& L8 \% Q
pLight->Specular.g = 2.0f;8 d6 i- X3 d7 U- A
pLight->Specular.b = 2.0f;2 d$ l2 r8 }/ {! c6 b C5 q2 K
// á?oˉ
) Y ?9 w3 e! `! i3 e0 D pLight->Ambient.r *= 0.9f;
- N9 o5 [" C4 @* ? pLight->Ambient.g *= 0.9f;8 E& R2 ?& j+ }. l6 C) E
pLight->Ambient.b *= 0.9f;2 U! E" O) ]+ |8 O5 L$ g2 |
. W: }, m V! E: p3 a* A memcpy( &m_light, pLight, sizeof( m_light ) );* x. m: z; i% l1 U
3 A2 S7 f5 e! k/ _$ ?8 a( t
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
/ `6 j0 c, I1 u7 Z# v pLight->Appear( m_pd3dDevice, TRUE );
( M& j+ ^0 I% s+ L ( N9 o0 `6 E+ F3 A7 C5 ?
DWORD dwR, dwG, dwB;
, ^5 D+ G* d# ]. o dwR = (DWORD)( pLight->Ambient.r * 255 );
' `2 y# ], C! Q: f; t dwG = (DWORD)( pLight->Ambient.g * 255 );4 L ~- R# H0 b( S% Q
dwB = (DWORD)( pLight->Ambient.b * 255 );
9 F& k7 w6 x* B& _ dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );" M! D( v [! H7 Z0 w) v6 k5 d
}
3 a2 s# P! w! }: a }
3 D3 c u, y) z, V: w else
4 V6 ]9 [: K/ n! y {
8 S; J0 m, O' [9 i$ I3 {! }% @% ]2 K; \ if( pLight )
$ `/ T- _7 |( w. Y" K: s; x A {
; x( d/ E1 h% |/ |9 b- K ^; N I
* K. n0 K( k5 A$ ? int nHour = 8, nMin = 0;
2 L: @) Y$ K1 s: L' a. @$ w6 F0 s #ifdef __CLIENT
5 S& C! a, b1 Z. V, Q- n // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 8 E) {) O* K7 \% b5 z
nHour = g_GameTimer.m_nHour;. i+ T+ G% l, m3 C. B$ ]
nMin = g_GameTimer.m_nMin ;
0 `: Y' n( H' k" n: P ? #else
! R5 t( k1 k' Y' @) D // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.2 V6 f y9 L5 w% h( o, P
if( m_nLightType == 1 )" i i# l+ a4 c5 q. |# [
nHour = m_nLightHour;7 o( A9 F. V, ~( L: u- C! g
#endif* M& w) |) M* L+ C, ~; e# A
nHour--;
- @7 [3 o1 U; b if( nHour < 0 ) nHour = 0;
6 a7 S0 d6 h9 V if( nHour > 23 ) nHour = 23;2 b2 a1 k4 `9 Y- q; T$ A
! g) b% d" \! |% h$ k4 B9 A
//if( m_bFixedHour )* ^ W+ o q# \% }6 e* @
// nHour = m_nFixedHour, nMin = 0;
: j' g4 o# G" S9 ]5 }% F) c LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
/ Z/ ^5 P) X$ y" Y$ H9 J LIGHTCOLOR lightColor = m_k24Light[ nHour ];5 t. U3 V4 V" `. g0 w
9 v0 }3 I0 I5 t C# w# | //m_lightColor = lightColorPrv;
+ r+ i5 r+ H9 A0 f lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;" ^& d( Y; F: V5 y% Q
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
/ v$ N6 Q8 @- F2 C$ s! t5 W e lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
* A- H7 Z' E; N R9 z lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
: P" \+ L; k7 n3 P lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;1 T$ J; f; ]; G- o' l
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
1 l, f! N4 E( E" { // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)/ o6 U7 N o/ |, p6 u+ B0 {' |
& n' o) x: N/ ~
// à??μ oˉè*
0 t1 m4 q) l3 e/ Q, d1 P K- { pLight->Diffuse.r = lightColorPrv.r1; Q( s) n; I1 H) Z- H4 c
pLight->Diffuse.g = lightColorPrv.g1;
& ^8 M \) F" G9 ]5 R% D/ H$ p pLight->Diffuse.b = lightColorPrv.b1; [7 j% r3 T* p9 r
// oˉè* ??à?
( H( w2 r, w0 b: R) T8 h3 `, Z# t pLight->Specular.r = 1.0f;
- i* Q b& \9 F4 | pLight->Specular.g = 1.0f;9 G* m& y" H2 K
pLight->Specular.b = 1.0f;8 Q' M. i* T; D$ t
// àü?? oˉè*
$ u) s0 O- h `4 A$ Q+ ?4 Y* \3 a pLight->Ambient.r = lightColorPrv.r2;
$ u% O2 M: V, L8 i% q5 p4 J pLight->Ambient.g = lightColorPrv.g2;
, [# R3 i3 P! D; K3 } pLight->Ambient.b = lightColorPrv.b2;
, K8 I: }, T9 S& ~. S: g
; o0 A5 r$ Y$ o: P( _0 |* \; h$ Y if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.: {! v6 u/ X/ C/ [3 s$ V
{% O$ b$ Z2 S0 u" x# L
pLight->Diffuse.r *= 0.6f;) K x1 W/ p' F9 {9 o( P
pLight->Diffuse.g *= 0.6f;
& X. }$ y! P/ j1 F pLight->Diffuse.b *= 0.6f;2 b( M# _/ h( J; A' k6 o0 J
pLight->Ambient.r *= 0.7f;
% d9 R& l/ C- O' V7 E0 _ pLight->Ambient.g *= 0.7f;
% ?! v3 Y7 {% t+ w5 y pLight->Ambient.b *= 0.7f; N8 E% `5 P# ]6 w5 U
}: y+ w2 B/ A( i/ q0 `1 w
" F0 m- z* s/ Q; i2 F
#if __VER >= 15 // __BS_CHANGING_ENVIR( ^ t/ G0 @+ n4 c* {5 ?! d/ x
if( g_pPlayer )
" U$ v) B5 B; C; m HookUpdateLight( pLight ); , u$ X+ b4 p3 e/ ]' i
#endif+ z- i6 V+ i' [
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
: Q9 h r1 B0 c- ?& K) l: ^0 b% J0 P! K6 O& {+ [1 b
#ifdef __YENV
6 f, z* N" t7 C& e. u8 c pLight->Diffuse.r *= 1.1f;
* B# C# d1 y% `2 ~: {# G+ P pLight->Diffuse.g *= 1.1f;
( q7 @) z0 r" ~9 M0 ]& O pLight->Diffuse.b *= 1.1f;
7 [) K, e: y4 C! e // oˉè* ??à? " P! _0 S0 }! t; g, F9 C1 C
pLight->Specular.r = 2.0f;
$ q1 I0 g8 u+ y& F+ ]3 t pLight->Specular.g = 2.0f;
. z* s- u* O1 e5 t: D2 y$ O pLight->Specular.b = 2.0f;# R9 F0 O: C+ ]5 y% h) n
// á?oˉ 1 T5 C- H1 x/ `4 v0 _
pLight->Ambient.r *= 1.0f;! A0 u2 Y, O3 r4 W' Z
pLight->Ambient.g *= 1.0f;# W* J! ]+ v6 r6 m; ]
pLight->Ambient.b *= 1.0f;5 |- s6 Q& g+ F: C. K, x1 Q) W
#else //__YENV0 k A, D) A, |7 `! Q; g+ I) A
pLight->Diffuse.r *= 1.1f;
- p3 e* \* g4 W pLight->Diffuse.g *= 1.1f;
# J* j, Q; W3 ^+ s2 \ pLight->Diffuse.b *= 1.1f;; k) Z) T! s( N7 G s: ^
// oˉè* ??à? - t$ F% W* f1 o4 ]( n
pLight->Specular.r = 2.0f;
' B" C& E2 n( Q0 i* C pLight->Specular.g = 2.0f;4 w) M# i2 G3 Q8 X" t
pLight->Specular.b = 2.0f;7 L% v& o: b/ v; v: [3 T' @# C v
// á?oˉ 8 |6 @/ P9 t9 a7 z
pLight->Ambient.r *= 0.9f;$ i, S" s$ |# @; o/ E+ F4 d
pLight->Ambient.g *= 0.9f;1 S9 t1 m: s; [& |
pLight->Ambient.b *= 0.9f;
5 {7 I& y; ~. O5 i#endif //__YENV ; `9 j, i9 I5 m
: D6 u. K2 y7 { memcpy( &m_light, pLight, sizeof( m_light ) );
4 }2 z) d" m! G9 `1 g) D5 m/ a ( _& O4 h# M( o. \3 @7 x
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);, k" B7 N+ B k, r
D3DXMATRIX matTemp;7 n6 _4 B: R9 H, D* c. E1 F4 F- n p
static const float CONS_VAL = 3.1415926f / 180.f;. Z' t4 s6 s( Z2 m; V" T" z" P
\# T$ S" }& @( L7 {! v, d' R D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
$ a. }% h7 `# s. [8 b D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
. ~& n- J( O8 M pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
, P4 s9 c3 S- a3 M pLight->Appear( m_pd3dDevice, TRUE );
% K' E; m7 L8 i4 i' C1 b- w u7 X$ M l& n7 \* n) i" W
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
4 J$ G2 p. ?! R+ z" p6 [% A b // D3DXVec3Normalize(&(vecSun),&(vecSun));
, D2 F4 k5 O/ ^; Z! T // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. h; Z+ \7 N5 E, D: A6 n" I. S
$ B* d6 j, e+ y: K2 v# k( B& s k DWORD dwR, dwG, dwB;
! t+ V" O: z9 o; J. {& N dwR = (DWORD)( pLight->Ambient.r * 255 );
" }! w8 a, T; e' C6 c dwG = (DWORD)( pLight->Ambient.g * 255 );
5 k6 W4 R4 ]$ M; `. E% e2 \ dwB = (DWORD)( pLight->Ambient.b * 255 );0 G0 Y9 x; o* m: y& |. f2 F
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); ( I# t" v3 |1 G1 D9 V8 a0 u/ ~
}3 q6 t7 r5 v4 h* J' ?
}
; W9 z& W/ g; K5 u6 u: ^1 E) N4 B! I% J5 C! n7 B
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
: E& I- M1 }3 V' r 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) );
4 s0 B8 {' {/ T. u ::SetLight( bLight );# Q5 u! b$ p5 I# k V9 c' J
3 `$ T- a% L4 R, e6 f3 q; ^ // ±ao? ?D?í???ó á¤à?
- [) T" f9 F; S, g( V6 } m_pd3dDevice->SetMaterial( &m_baseMaterial );" r6 A; W3 D) t) W4 b+ z, {4 I
) m9 x- o+ [* i( R( O#endif // not WORLDSERVER
6 T# _, P m: h+ J/ c* {}( ]4 _" k4 }( H3 r
并更换
# R# M. J$ f- W. N' vCode:4 b7 [! m" D/ m
__FLYFF_INITPAGE_EXT( }5 V, q# i t `/ ?2 U
定义, K' r5 W; X( r( I& c+ S
0 x7 \& o& ?. u: [" l- U: d6 A7 f
/ w& J8 k N9 I4 ?8 j
) } z% q' ?! O4 ^
5 V& _/ p& q2 P2 f* C7 F现在终于删除我的狗屁加速...9 Z& Y9 `6 y# I& a* N& r0 U
7 q i4 M# G6 @1 C
9 s+ [% j' J/ _1 e! C+ r' B4 J, X; R* H8 r4 h
|
|