|
|
食品车:2 S/ s% _/ a# Q) C, Z2 n
尾翼:
3 x) L+ y, s. `0 c( K1 {
+ u; t4 z' h! u6 f: w代码:% _4 f4 `" V: U5 [
CWndAutoFood::CWndAutoFood()
2 B* d# z6 e5 O$ j- {{" c+ N. l( x7 {: h( y0 f7 L8 N2 @" l
m_pItemElem = NULL;
: A3 ^3 }8 z2 B m_pTexture = NULL;4 o n3 k, ^$ T) ^8 h3 [
bStart = FALSE;4 D& G8 o) N" o' n+ x) L: R
}" X5 k9 Z3 g0 D8 n E% b5 C
& O1 g5 C" S* ]' a
CWndAutoFood::~CWndAutoFood()
$ J& R: G: S$ b3 M7 Y: c: @{; O: d' T: ? e0 K
AfxMessageBox( "AutoFood ist gestorben " );
* P7 ^! U/ Z' [! R}% F. i2 o: p1 w6 ~+ q
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )5 |. z3 v0 y& [6 g% q
{
- W+ I' ~6 W' c M return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );. t+ {, I2 H4 ^9 Z
}0 {3 T, @0 H+ f/ l8 t) O. @" o- Y; I0 G
! b. B- |$ o8 ~* z! C
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
! ]; M& N8 v4 I2 g{' m8 S% R; \- c9 e
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
I; u+ F% c- @! V CRect rect = pWndCtrl->rect;$ Q7 ^5 J3 E" X
if( rect && rect.PtInRect( point ) )
8 \' C* Y7 |) y7 W$ a U {& g; h3 |8 s! Q/ P: t$ n# q
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );! u7 k) ?* e; ^
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )0 C# v) N' Y% r. b9 [
{) k# A8 b9 _8 U1 E7 d# O* G! C- Y- k
if( m_pItemElem ). ]! w' P5 {3 c0 j9 k- P
{+ ~0 \6 m. q, G9 Z. j. j
m_pItemElem = NULL;
& U) E2 I) b/ t }
+ _* H. I2 V9 m" w m_pItemElem = pItemElem;- n/ p, B4 y- W5 `+ _! D
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
$ l& h8 ~. o5 v) R }else{8 F* `" j# G- z4 y* x" U) l
SetForbid( TRUE );
: R* x2 W/ }. y* u: T% \" F }1 `" A( V( O1 @/ n3 d$ S
}else{
, E+ A+ n* n* a$ S; L2 S" w1 B SetForbid( TRUE );" I& a) U F3 u/ [. L s, k
}
$ a* n, L/ Y- d" N% ` return TRUE;8 I4 z2 ~6 y* S: v Y
}
/ E! D# Y1 F- ~/ v6 v9 u, b
0 j1 b9 [' r5 G' Q- SBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
: s) i1 O/ d7 q/ d, w{# ~6 m- g) s' s2 m! l; S
switch( nID )3 l/ [. Y0 R6 `9 @
{
( w$ P* O* {$ c! k/ W: \( m case WIDC_BUTTON3:
+ ]3 M- c' k% W8 F {
: Q, G) ]* A$ w) D# Z* D+ G bStart = TRUE;
/ P: t) x; t9 L4 W+ Q* Z break;# |/ Y# q n( y. I3 Y; B
}& B% R' j) ?9 D1 U+ N n
case WIDC_BUTTON4:
1 b# C2 `. p5 Y" h+ P {/ k! b. k1 k7 |3 d
bStart = FALSE;
8 d. z# ~% V6 z+ k0 h4 F( s3 O break;/ n0 m" ]9 O. Y
}% N1 C. B. T# f3 W: y
}$ V3 }% I( A7 A
return CWndNeuz::OnChildNotify( message, nID, pLResult );
- T$ n% l9 i/ n- g1 F} * A2 E+ C% J1 r$ ^$ u
void CWndAutoFood::OnDraw( C2DRender* p2DRender )5 d0 u5 }$ z6 a$ r9 o1 n6 {
{
- e8 \; V. C3 w; P7 ~. y CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );9 c! m; U" |9 R {
if( bStart || !m_pItemElem )
: ?' B6 K/ u+ C+ d' l5 U! |' K* s {( Z9 [- I4 |/ U# I3 _& u
pBtn->EnableWindow( FALSE );
- k- c, W# `- u, m2 p }else# z5 O! d' X- D6 M% k8 b7 _( O6 {
pBtn->EnableWindow( TRUE );
, B# D% d+ J% W0 h( ^7 K6 O! _, W if( m_pTexture )" u. W- [* V! k; r1 D, U
{8 N& k" B5 b. o
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );3 ?/ H9 A4 R5 Z7 D' ^
if( wndCtrl && wndCtrl->rect )
. g" y. G: P( t9 E {" F1 a. G5 E- ?, z! P
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
# K: P- Y! G9 n' ^1 I- o- Y% e }$ L/ N+ C$ U; S$ {7 }) ]( ?, B1 `
}6 K% A- K) R8 E: C: g# p
}5 y2 N. N; K' i
$ z) u! I: q. Y) `; k) z$ IBOOL CWndAutoFood: rocess()3 G( J0 j7 O% Z4 H3 ^, }
{5 ~. T# T6 i7 j( I: x% t# H
if( bStart )& C! `" |# f8 }
{
5 p. i* ?: O% n* c4 y2 w if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
% o( c$ Y" A7 J1 I9 x% a {, }1 e# `- h* D* _7 |
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
# }- }9 U8 m' {; M5 } g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
) M, m3 I0 G8 T7 x; M }else{. V9 l) h- `5 T) \2 ]
bStart = FALSE;0 J$ l$ N/ Z9 ~9 \- }
m_pItemElem = NULL;
7 x$ {6 P b, u5 Z' d }- h( E& I- R1 R9 P
}
( j" m, `# d/ S5 I- Y$ i% h return TRUE;
/ `. m. w! @$ }, e$ b, M+ |}
" {7 u( B# z& |: V# f0 V8 T
$ z! a1 s" I; _/ ^+ J7 {登录视频废话:
. J! k: x' h8 u2 e- y: @尾翼:# U: D! n1 G- @$ V% y2 {9 P
7 j$ @# h8 w. u- k- [代码:0 ^% d( t* N7 I' m* K
' n6 z+ N6 B! ]) V- ?void CWorld::SetLight( BOOL bLight )
; G/ O; |- ]/ @2 Q, J/ |+ Zdurch
3 ^ B' s/ s9 F. kCode:
5 i+ [3 r. J7 dvoid CWorld::SetLight( BOOL bLight )+ f0 Q- Z4 S S2 c. `$ K
{
2 o) @# a) m! Z# t* l7 p' ^ //ACE("SetLight %d \n", bLight);: p/ u! w# L/ { @
8 Y' M! @' W' J! u% {
#ifndef __WORLDSERVER & o3 q' l% L6 q
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
3 O9 x% t2 I1 \- K. S CLight* pLight = NULL;
! H) e; I0 m+ a5 T! u+ u4 o, g# X0 l* k5 z8 B
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );% J, \0 U5 J- }, ~6 ?" _
( K+ q! i2 C6 V. |1 y0 b# p pLight = GetLight( "direction" );" ?$ t8 s& p" W1 O. G
f8 Q, b7 S. J0 m
#if __VER >= 15 // __BS_CHANGING_ENVIR9 q! [% Y2 E6 N/ F K6 Q
if( g_pPlayer ){4 ~* W. Q" R+ I9 w5 }1 ^
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );) |/ |3 u- ^+ V2 |
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!& k z4 q6 [- h9 ?3 |" f2 @+ L
{& V8 u) t! X% Q7 t
if( pLight )
& B+ o$ k4 r' _0 o {
, a9 Z/ ]% `- t- Y pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
, o( W7 q( b O# F, T) y7 @# M pLight->Ambient.g = pInfo->_fAmbient[ 1 ];/ s% C2 D# G6 z/ Q1 Y. H6 n- [* s9 I- m
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
4 W' l* ~7 b( p/ r4 P' Q6 @! Y
& O, s( i7 F, C. | pLight->Specular.r = 2.0f;5 `6 Q# n0 f2 p# n' |3 v: R+ t
pLight->Specular.g = 2.0f;
' K0 g% [6 w/ V% _9 E* | pLight->Specular.b = 2.0f;
; R1 g' V2 ?* y" Z1 E! M1 N, h. G& G 1 `5 R. @! B$ e s( [( _
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
( [; q* }5 u, G4 ?1 }' V pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];7 e* A: g! Y8 Z
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
4 {; \( P. V8 f/ D# `( O1 X4 h/ Q3 I
' @5 c: u* S& j! g2 e HookUpdateLight( pLight );
, m1 P E' d1 f% o
?& t6 ] R' F7 y, [ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
y+ t8 L x6 b2 ~5 a0 J
% y9 X1 \# K7 b5 B3 Z3 K pLight->Diffuse.r *= 1.2f;3 |( m" {) S* @, I0 g7 K& q2 t
pLight->Diffuse.g *= 1.2f;* F4 |, G2 `- c4 v( z+ Z
pLight->Diffuse.b *= 1.2f;
* w0 t, q. z, ~+ r/ Y& f4 I) c. @5 S8 S5 {+ v+ b
pLight->Ambient.r *= 0.8f;! z! s$ O: @3 I2 q/ x
pLight->Ambient.g *= 0.8f;# O6 M2 @, j/ O1 X: p
pLight->Ambient.b *= 0.8f;: U7 B1 c: b( G/ o" ~: s0 ?
( `- s5 I' b& c* [8 q6 q
memcpy( &m_light, pLight, sizeof( m_light ) );' H. Q5 p) W. w; \! L5 q% L
l3 B9 r1 Q% L- d9 H
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
6 e! [% @" ?; q( V- e) C D3DXVec3Normalize(&(vecSun),&(vecSun));
1 ]7 Q7 _7 x" ]1 `( a1 c pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 3 N; s3 f: f: e: N8 I
pLight->Appear( m_pd3dDevice, TRUE );
7 [+ V- f* l* O/ y( b
; I% Z" `/ w& b: w" a& ~ DWORD dwR, dwG, dwB;+ Y. K0 M4 [/ L) ?
dwR = (DWORD)( pLight->Ambient.r * 255 );
' {: q. n0 i) K+ Y* y dwG = (DWORD)( pLight->Ambient.g * 255 );7 A6 p& U" J' E/ M
dwB = (DWORD)( pLight->Ambient.b * 255 );4 J+ k0 w8 o( F" U1 I8 ^. s$ Y
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
/ J! u3 I& \ `6 d }
+ t5 }7 q( L& `0 Q- s9 T0 } }
: C c$ w, y' y1 I5 V }1 n; z7 j: B. _+ {' `% D
else
* i) A/ U' X, H# S: E#endif 6 c7 }* M. a Y! R* R
; s, W" B" Y' `0 D% K9 `+ w7 y if( m_bIsIndoor )3 H! d$ _4 H) Q% o% j
{
" j% H- W0 J( ^ if( pLight )5 J7 T! l) W/ p2 P/ r" }/ m! W$ A+ l0 p
{
1 e- Y+ A" b8 W/ y+ l // à??μ oˉè*
! w6 G f1 @2 e, x+ ?. ~ pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
) j# i* D5 p1 T( h pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
, b$ s8 G* s' V9 r# x* y: k pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
m2 |( @- y6 Y' y5 E* H
$ S/ c3 I5 m) S5 y8 F& o // oˉè* ??à? # R" @% j$ {8 y2 \% d# q
pLight->Specular.r = 1.0f;
+ _4 j& I$ C) T1 V# I pLight->Specular.g = 1.0f;1 N( m" T" l/ C3 }9 D" n; L
pLight->Specular.b = 1.0f;
( n* w# m; X0 k8 L // àü?? oˉè*
% e3 Z. H% d% e' r5 W5 U8 g pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;. \% {( F, _' }4 x" ]+ c) C1 [
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;5 W+ d$ z* H# Q+ S; x" Z
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;* y9 A# z. \) R9 s
- N0 }% G) F* m6 p1 E
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.% o- O6 {; t; o! N1 r4 e {
{" }- o/ \; u, S2 e' S
pLight->Diffuse.r *= 0.6f;
7 d4 n. h/ M, a$ f7 r pLight->Diffuse.g *= 0.6f;
6 ^% @2 X: t, }$ n' D( b6 g# p pLight->Diffuse.b *= 0.6f;
, h/ Q$ F2 o1 F pLight->Ambient.r *= 0.7f;) _0 d' d4 `. i/ t/ Q( \
pLight->Ambient.g *= 0.7f;3 E/ r, t, M) c% O) M
pLight->Ambient.b *= 0.7f;
4 v/ r' Y+ _% M! X3 U }. Z& |" a* w$ z
* D, I+ F5 Z" d7 q+ I#if __VER >= 15 // __BS_CHANGING_ENVIR
4 B* b v; H1 \ if( g_pPlayer ). c* ]* t# q: T! t& K* U
HookUpdateLight( pLight );& ?* z: a. u$ A7 q0 N5 a
#endif- E$ ~2 B- W& G# k- t1 \& ^
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 o0 O# F: t' i; q" b# O8 ?( Y2 y! w* L, f; W9 k7 f4 X: R
pLight->Diffuse.r += 0.1f;* `6 v, g& U) N
pLight->Diffuse.g += 0.1f;
" b3 P( Q' p9 K% J) ^" C3 j0 b+ b( T) ` pLight->Diffuse.b += 0.1f;
0 H3 k# r/ Z, e3 Y) Z1 e5 D9 E // oˉè* ??à?
, H! n+ J+ v: G9 I- j$ S pLight->Specular.r = 2.0f;, I4 d3 ]3 t" G
pLight->Specular.g = 2.0f;
5 N M* ~; U% i% @9 R7 m! } pLight->Specular.b = 2.0f;) A6 z7 y) `4 g( N6 I
// á?oˉ # `' A# j/ K6 g4 {; U
pLight->Ambient.r *= 0.9f;7 P$ h* k$ W1 W# \5 Q
pLight->Ambient.g *= 0.9f;
+ Y+ \' ]( i, M+ B pLight->Ambient.b *= 0.9f;! k& ^$ e+ O H1 `) i
- ]7 } j5 R8 Q* b/ I1 ? memcpy( &m_light, pLight, sizeof( m_light ) );
4 F( _9 p2 }1 H3 H, q& \: f% z$ x ]
6 F) j% K( I4 F! T" P" V pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );7 i. n& l6 n* A/ F Q1 z: R$ H3 I% L
pLight->Appear( m_pd3dDevice, TRUE );
# J( n5 T% b# W
) j7 A1 M8 y% B# V DWORD dwR, dwG, dwB;1 Q: g" I, Z' ~- G: d! h- ^1 P% V2 g
dwR = (DWORD)( pLight->Ambient.r * 255 );. `* V9 G8 E( j2 [- h
dwG = (DWORD)( pLight->Ambient.g * 255 );6 `. H! h1 | q8 S( E) p; v& r
dwB = (DWORD)( pLight->Ambient.b * 255 );
* N j( r' L6 z dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );5 M6 }! i; t, x7 S9 _, x ^% S7 R
}- I9 ^4 W5 A+ q6 H" m
}
7 d7 J8 j3 f' S. e: G4 F" c! W8 [ else
% ?+ B- q8 u' S$ S {
' F* O# W1 V3 `8 I if( pLight )( l1 w E7 R$ p- ?0 C- ?
{
8 U1 n" U5 V6 [* i1 ] % B* Z5 ~) T0 ]- |
int nHour = 8, nMin = 0;5 h! \4 z% S+ k0 a: n- {
#ifdef __CLIENT ? x) l0 ~: m9 u/ `+ `
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 4 h% {8 x; h" C! g1 @
nHour = g_GameTimer.m_nHour;* z5 Z# I- D/ `# Z( c# c; J& {
nMin = g_GameTimer.m_nMin ;2 m: V0 W" b( q7 v8 s! b
#else) x4 d ^# ]& w G1 Q: M- a0 Y
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.* L8 H' F* b) L
if( m_nLightType == 1 )- C/ `5 @8 c5 L' A
nHour = m_nLightHour;
. r0 j. n5 |- B) d4 T% @. T2 ` #endif
4 f/ S0 H2 S. g1 }1 \9 }, w. S/ X @ nHour--;
6 f$ y3 G4 E! f. C if( nHour < 0 ) nHour = 0;9 @6 l/ c2 s5 x1 K1 b. @- E
if( nHour > 23 ) nHour = 23;' o7 e6 o; P0 M$ i3 C `" A" ]
! I- e$ I* x9 i, Q+ K3 V
//if( m_bFixedHour )
, R1 K9 d6 e1 v, N( |' W // nHour = m_nFixedHour, nMin = 0;& S9 B$ _0 m4 m0 f$ @; ~5 r2 F
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];7 ?& w+ z* C& T; Z1 p
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
# e4 R3 v, u( P [( P i3 g5 ?6 K# d @& w- ?" N( m: h& t0 _$ Q
//m_lightColor = lightColorPrv;5 a4 d/ w0 R3 o4 v$ P2 {/ o! y V
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;9 g* O3 z4 n2 E
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
9 p% Z4 r+ x- ]+ @+ N. o9 l lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
' T, b Y$ M" g& c lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
: D2 z* c8 w* l* _ lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
2 C5 v/ p3 F4 |/ \ lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;) ?7 K) }9 T N8 k5 F# G
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
8 J5 [/ F0 W" o: D* _
5 q- `- w$ P- p7 e: Y& R // à??μ oˉè* 9 ^9 }3 @+ x/ t9 E/ r L: x
pLight->Diffuse.r = lightColorPrv.r1;: R; |: M/ L: D: j
pLight->Diffuse.g = lightColorPrv.g1;
3 p3 H K: e/ p3 K) m7 M6 K pLight->Diffuse.b = lightColorPrv.b1;
. q3 K& ]/ L- O3 V // oˉè* ??à?
, J' v3 P, F+ z! U) A$ H, r9 C3 v pLight->Specular.r = 1.0f;9 m5 ]8 m3 y1 Q4 w' e
pLight->Specular.g = 1.0f;" z4 [8 |$ Q. [
pLight->Specular.b = 1.0f;
; e0 F, _- C" x% N+ a" u/ N v // àü?? oˉè*
4 J; ]3 J% q% @/ [; T! J pLight->Ambient.r = lightColorPrv.r2;
3 b9 o/ w# C2 H3 g; n% V pLight->Ambient.g = lightColorPrv.g2;
6 \$ q3 Y+ m( \3 ^ pLight->Ambient.b = lightColorPrv.b2;* e% H# s1 G1 B. k/ A* t0 ?& U, Y
9 ?0 {3 w+ A& ]( D6 o0 V
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
6 c8 N" A8 j, }& K {( L( j0 W* N9 O* m
pLight->Diffuse.r *= 0.6f;
( a6 }7 M* A6 V s- d7 W! p pLight->Diffuse.g *= 0.6f;
+ \3 s. L( R9 i- F% ], C1 H pLight->Diffuse.b *= 0.6f;6 _, V; U) p: e5 b
pLight->Ambient.r *= 0.7f;$ ?7 }4 E- r2 G. g4 R
pLight->Ambient.g *= 0.7f;6 r$ [5 x( |) @$ F }
pLight->Ambient.b *= 0.7f;
9 @& T9 F! _: I' f/ T% }" r$ e }
# t) X, H0 ~; ?2 ]) R' n
$ I0 {. z& ~3 }& \. J Y i#if __VER >= 15 // __BS_CHANGING_ENVIR. s8 }+ b; k6 ~7 g2 _) i* H
if( g_pPlayer )
; @6 A$ M5 c7 P2 G8 [0 o- A/ H HookUpdateLight( pLight ); 3 B" N/ W, F- m4 {6 u7 n# q' Z1 M
#endif: v6 V8 W% _ H# Y9 N
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 q; d. t- ?9 z' V) x1 x/ l
o# e% H. `5 H2 U1 r$ u" G" {#ifdef __YENV
$ f* V0 b( i. Z1 a9 q3 s* Q pLight->Diffuse.r *= 1.1f;# N2 j3 B. Z1 S+ y3 z) [3 H& b
pLight->Diffuse.g *= 1.1f;
8 @. d" _. y$ E1 Y2 x pLight->Diffuse.b *= 1.1f;
/ j6 @! F9 L# V* J, P7 ^ // oˉè* ??à?
- \9 r( }( w+ e/ g. { pLight->Specular.r = 2.0f;2 a( y+ \# A. \( u: `* w F
pLight->Specular.g = 2.0f;& |2 r& W! }$ H1 f/ x' b4 M8 C! O
pLight->Specular.b = 2.0f;
8 E) `; E l) Y3 ?) J // á?oˉ + ]: E s4 O8 E( O. e3 W% x4 s
pLight->Ambient.r *= 1.0f;
0 p5 h. E$ s0 K pLight->Ambient.g *= 1.0f;
* e5 Q5 j, Y6 o: b) O pLight->Ambient.b *= 1.0f;, T3 d/ k, R9 T6 R7 x4 j
#else //__YENV
6 ?/ F" O* Z6 {3 F pLight->Diffuse.r *= 1.1f;! Z9 n6 u# [3 X) m5 q" ]
pLight->Diffuse.g *= 1.1f;/ F p2 O' e. N
pLight->Diffuse.b *= 1.1f;9 p- M+ \9 ]0 f+ I5 ~8 j
// oˉè* ??à? 3 O' w* R- L9 |) c$ U
pLight->Specular.r = 2.0f;% ]6 L. X6 E5 M0 g) m5 m ?
pLight->Specular.g = 2.0f;. ~, @% K9 |, x+ Q' t/ l. G
pLight->Specular.b = 2.0f;% E# V) A% `- Z% X
// á?oˉ 6 c& y" E( x+ J9 U) B
pLight->Ambient.r *= 0.9f;4 b# ], {* [/ r
pLight->Ambient.g *= 0.9f;' H# [2 j. {+ X! a: ]( l7 I* X" L
pLight->Ambient.b *= 0.9f;. }$ A" j! m) V! o4 x
#endif //__YENV
% _7 U# j% `7 p% o. [& [3 o
! M. n# G. z- E m% W1 o memcpy( &m_light, pLight, sizeof( m_light ) );
& C6 z, H& j3 q2 O& ] 0 R3 n1 X* T$ L
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
) w4 I. @6 b2 p1 V4 t/ m! @0 h: x$ n6 w D3DXMATRIX matTemp;
( U) l# q/ x& ?+ Q, g- b5 v static const float CONS_VAL = 3.1415926f / 180.f;! @ w0 X9 {/ F( g5 [
7 ?) V+ }' R( J$ a" K6 s, n1 e
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
) J- } @& J- i& w4 f D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
0 _- M! _; p H2 E) Y. H0 a0 o pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
3 Q# ~0 {/ h% B) Q( U7 } pLight->Appear( m_pd3dDevice, TRUE );. G+ B! y# |* \. L0 G
* u- X0 j$ t* A! h
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
, T" L1 c1 U: q- K! N; { // D3DXVec3Normalize(&(vecSun),&(vecSun));
/ H1 A0 W/ Y1 ^' v1 \; t6 m // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); - b' L4 B/ _! [) }7 d
8 z& b) h' A! w$ B0 R0 H Z9 U DWORD dwR, dwG, dwB;4 `: x+ ?, ]5 E2 O
dwR = (DWORD)( pLight->Ambient.r * 255 );
, ?" r+ s. \. B& u# c. Q& I$ R dwG = (DWORD)( pLight->Ambient.g * 255 );8 h% ~* [% f6 X4 ]" ]9 O3 X
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 w6 p9 q4 r; r$ o& `, ?) q dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); ! r' u' x! n; t
}* g( b8 v# d3 i
}% Y& @$ }1 Q5 u" R
+ o/ k5 n% e2 v5 Q \3 U m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
. K1 Z# J; O+ T g$ B# l* x 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) );2 r$ Z- S/ x* I" i
::SetLight( bLight );0 ?: h& m0 t5 Q, e
$ F0 X3 \/ {: ] \+ Q$ T- T // ±ao? ?D?í???ó á¤à?
) c X \ a3 R. U# p) T( L m_pd3dDevice->SetMaterial( &m_baseMaterial );
0 e$ D( @, e! i% W. ^1 w" e
2 p7 S( k9 u: u/ |1 B#endif // not WORLDSERVER
$ _/ o! G2 w G2 \" C: T, ?}% N* u& d& _9 Z
并更换
, K' v% D- l' Q! j, \0 MCode:% u" Q, S& J0 A" O
__FLYFF_INITPAGE_EXT- [9 n. q9 F( m; X6 ]: q/ s* B. s
定义$ W% V) O: C' I) J, V a. D
* h0 y' r/ O- q" @
( p6 V2 s3 E, I6 S" X, Z7 N7 x" b8 s( g/ V" Y
: k8 C3 v% ~ U* z1 ?8 W) {3 B; `* }
现在终于删除我的狗屁加速...
- \+ B1 X6 Y6 L" Z2 h4 }& ^
6 U) F9 w3 K4 R( [7 `' F. }. J( r+ x) c1 }' ^
& R+ i0 ]9 ?$ R8 j
|
|