|
|
食品车:9 W* Y) T$ C1 l8 Y* V& ] `! r
尾翼:
2 [$ X( {. [8 u4 C d
Y) T: L2 d' w5 ~代码:
+ ]9 m+ B, }, PCWndAutoFood::CWndAutoFood()
: g, o6 @; f" ]$ K3 w{5 Z* s; M7 z# ^( A
m_pItemElem = NULL;+ F/ @7 Y _, N s4 R u
m_pTexture = NULL;
- ~. _' o- i0 } i2 B bStart = FALSE;8 A8 ^" z/ x: Y6 I9 [4 Z8 G5 t
}& y+ a: w* j. Q/ n
) I/ j0 g$ t( d% `+ ?
CWndAutoFood::~CWndAutoFood(). x- h6 R; c. k$ T% S) n3 R0 }
{5 b# O6 N2 o# @" q6 B
AfxMessageBox( "AutoFood ist gestorben " );
% t9 W9 L3 O8 }8 o8 T8 E2 M8 R" n} u g" ]* |8 u% A7 v8 N U
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )' Y+ m9 o: q! W( }" o8 R5 Z
{: n6 L5 D+ U) M4 c; w+ e
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );" J; [( v* _, {* g- R6 o
}
, R+ V1 H" z/ g7 @5 h0 p7 i# D% y! p
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
. A* U+ L3 X7 r Y& {3 B5 e{
- s" F8 m7 P5 U1 S LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );6 v) g: d, Q1 p8 m: T! R
CRect rect = pWndCtrl->rect;/ f; v6 g& }( R
if( rect && rect.PtInRect( point ) )
+ U+ V! d, K* B2 h! C' W {8 E t/ x7 h& C1 F' c4 x
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );5 t K* _% @/ v9 O! u
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )$ K4 i4 V4 U, V! {2 y& ]7 S( y
{
4 z2 w. V9 d3 ]. P if( m_pItemElem )8 T' r# X( Y" C! B; p. U7 I
{
. K. [# e! a# `, s! y' y! E m_pItemElem = NULL;
% ^, m) L( L! b9 S$ I* C3 J }* I6 c- Z/ t. T9 v
m_pItemElem = pItemElem;2 _ C2 m7 z' Z% R% [4 `+ |7 o
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );+ z3 c V- [! \0 X" f' C
}else{
) `" o U; |# M" | SetForbid( TRUE );
) l: {4 b1 \7 H5 ?' J }
* ]5 m( [8 \+ c' e {7 L }else{8 M2 H4 \! t$ y7 G8 k% m
SetForbid( TRUE );
# \' _, W4 _# V }
% v( P: c6 b3 E0 M' Y5 }, { return TRUE;
# t6 k% o" K/ r% I}
+ o4 f7 o2 u6 E7 _& g* K
# \! f4 A+ t9 }8 ?/ h8 O5 zBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )4 E/ o: R4 ]6 E! y0 q) b7 t0 _: N
{& G4 u- a2 t. h+ ?& v5 J
switch( nID )
; M, z! ~' Q7 \% W" i& _1 m/ ?+ @ {% ^ {0 g8 p2 `. c7 l: d
case WIDC_BUTTON3:4 c: b# z8 N6 Y" d; \# ~: d
{$ F* o) q. K" {( D' j" d
bStart = TRUE;% W2 E U4 A, `+ ?! s6 P
break;
" M% G4 w4 q; \+ X+ _' m& f }+ f- o* ~3 x/ u F7 {
case WIDC_BUTTON4:( K8 |. Q. g. M A
{
; h$ x7 f0 m8 |. \- c' L, Y bStart = FALSE;/ t( x$ f5 R! ~5 `, e
break;
- k, P( O* U% |/ O( z }
" e1 B5 g; |6 ^; @8 H }$ A0 _, j% j5 J3 g) n( E
return CWndNeuz::OnChildNotify( message, nID, pLResult );- i% R4 h8 o: z& {: |% o8 q
} 1 ]# p+ O( T8 I u! P% w8 B0 u
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
$ W/ x! Y5 ?* J A" u) |# K{
; S1 ]2 R- b/ W9 G1 w5 M1 S9 A1 R CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
d) F5 D. o$ u& V# r; C if( bStart || !m_pItemElem )4 a: F5 h/ g, v0 Q) M
{8 B8 g, X$ J4 t
pBtn->EnableWindow( FALSE );
2 a: _% e* ?+ u( `3 ^8 @ }else
/ A8 b9 I0 q& |0 h pBtn->EnableWindow( TRUE );& m' j t" Z* [" r- p
if( m_pTexture ), U# N% K4 b N5 t5 z
{
: n' B y8 |$ p/ j' S/ }- p# P. ? LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
, [# z# E& L( |+ o; s, y if( wndCtrl && wndCtrl->rect )
- a( `& l: V4 Z m3 o {4 P+ f0 s w' T1 a$ ^5 q2 }7 H4 k
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );- m6 Z7 x) A' O8 z, Q, \' R. O
}
( F+ d6 d% O1 s0 `1 f# j }
1 w ]$ |- j ]8 w- x}4 J7 ]9 X; x2 k5 W8 s, f5 o
. F/ q r7 v5 i2 b4 E2 tBOOL CWndAutoFood: rocess()# o" m( C6 T2 [9 X5 n. h1 y. _
{0 k$ W( K0 ]6 N7 w5 ^7 @* t
if( bStart )$ Y, F' |1 K2 ^7 N' p5 `% P0 a1 b8 E& \
{( s% g( l% c( J2 M& l8 R. C0 _
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )4 U7 m2 t; d0 \& o
{
& h* _5 K, H6 g1 Y if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
. V( |5 U# D: B( q s' Q9 E g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );$ S2 @2 x2 z, l+ `$ ?
}else{
: j; k8 [3 W. p5 @" Y bStart = FALSE;4 ~+ w. r8 Q) Q5 j- V w
m_pItemElem = NULL;
: S Y# y/ m9 ]3 Z; K; c8 @* r }* O( N7 M& p# M( n: p( G
}: t+ R) n. X" o1 K* k
return TRUE;
1 X7 N. S2 ~0 s) Y1 m N}$ ^4 e: g F- A1 H, O E8 y& K1 Z
# \+ f8 I- J- O" Z* ^登录视频废话:
6 r" L6 ^0 T/ i6 q尾翼:
, h! C" V! b! w8 ]7 T; ]
0 c; w+ j% O. u' q4 ^, p2 q# B代码:9 e8 x" u) O) n
} Y. K5 ~# T+ u8 [9 C7 v! s. kvoid CWorld::SetLight( BOOL bLight ); B! C9 M. ^5 ?: K! m( Z
durch, r1 |6 s; v5 }& U" ? L
Code:
0 ^! F- X" e% L6 p' K4 Ivoid CWorld::SetLight( BOOL bLight )
7 Y. j5 z4 D7 L- b& ?{( W4 F1 g1 _" q. h0 ?9 D1 G3 n
//ACE("SetLight %d \n", bLight);1 F8 i, f2 f/ D, I7 \
$ G- I# T' C, t2 s#ifndef __WORLDSERVER : X( s* O% T+ f
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);# o- s L. [1 r$ q s# J
CLight* pLight = NULL;7 q6 H; f1 J3 F1 F- M
8 T& T! b- Y7 ^1 r D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
) m/ Z$ U0 @5 |" f5 l* e/ l) f4 U. l5 d, b6 u' M7 i1 r
pLight = GetLight( "direction" );
6 z5 O. a7 D! T5 i! F
+ X& }+ l$ y5 L+ ~( d/ }" O1 p5 }#if __VER >= 15 // __BS_CHANGING_ENVIR
% a4 Z* f) X/ }- @: | if( g_pPlayer ){
7 J* O' [/ _* @" t- x, _ ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );2 I( ?/ _" b+ _" z! g" ^( j
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
, A! |$ Q5 N' o4 C8 J0 T {
3 \, V+ q$ P- E; J, _. [ if( pLight )! f7 R- k! q: |1 c
{
: Z: Y: Y: _3 x$ }1 u% K pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
- s# Z j7 |8 v* ~0 G& c( k y: j% o pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
3 L7 e2 z( h7 E$ U! u% X( w pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
- s( `) P' g' n1 J' @
; |6 c* L# E! k4 k pLight->Specular.r = 2.0f;
: v# }0 r! G! b- ~* l$ c- _% A pLight->Specular.g = 2.0f;
; k; u7 e+ O$ R pLight->Specular.b = 2.0f;
9 I( ]# R7 \8 Q1 o1 ~ s
' {* w' V6 C/ o9 t' L pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
4 D3 b9 s# O! Q* X8 u; a pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];2 E: v$ w( h# Y4 J
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
) Q c; O) O) U
: z' k3 s+ T _, B8 K8 x1 [ HookUpdateLight( pLight );
* r3 O8 [" h3 p9 ^9 G; c3 `" W/ o9 r% ~# Q+ T! j; C
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
, m+ g$ x# L" p* h# w 8 P* r L% E' ]* J" S1 u
pLight->Diffuse.r *= 1.2f;$ x% E+ m2 K2 S) H6 u
pLight->Diffuse.g *= 1.2f;
- ?( l4 ]! R! v! N pLight->Diffuse.b *= 1.2f;
. k" w0 f& {1 j- L5 F+ K# c
' D8 d: f( X3 e pLight->Ambient.r *= 0.8f;
: ^ j7 A0 x! y. }& i0 r pLight->Ambient.g *= 0.8f;
8 e: X) Q( b# L- ` pLight->Ambient.b *= 0.8f;
" Z; d7 I0 J+ A2 x) _& ?/ {9 \ - a0 K+ E6 _' J/ ?
memcpy( &m_light, pLight, sizeof( m_light ) );
, K/ R' C/ l9 \5 l0 P) R! s6 X( `; D h7 h' W
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 G8 O) l3 N# f: z0 T$ P D3DXVec3Normalize(&(vecSun),&(vecSun));
& M& q8 b0 o' w. o pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
+ a$ Y% P% k1 s" I, Q pLight->Appear( m_pd3dDevice, TRUE );; X/ R" ~; H' b1 ~$ _
( C' z% \- k: b$ y
DWORD dwR, dwG, dwB;
+ a5 `$ T8 m: Z% R! W dwR = (DWORD)( pLight->Ambient.r * 255 );
( ]( l9 H) s: F1 g. ?4 R4 x! [ dwG = (DWORD)( pLight->Ambient.g * 255 );5 i2 Z. _+ @! R, m8 h
dwB = (DWORD)( pLight->Ambient.b * 255 );6 f( Z, `( J% k
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: U. D! z& M: K8 V: H6 T }" R0 i2 L1 {# {; L. ]% _4 b8 }, E! `/ F
}
" [0 w# ]: ~# K3 D }
, |" v/ F! G- y' Y else' a. l/ s8 g2 g5 X/ H
#endif
; M7 i8 n& \, j9 ?9 O7 z1 Y7 {* K8 ?
if( m_bIsIndoor )% p& e- N3 Z6 o
{& A0 P/ h) `, Q& }' q" i/ K
if( pLight )
4 R, U: s! b* P! \, v* f {
5 F) y$ d, K9 d, E& w // à??μ oˉè* " M/ |" {, R. R
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;$ V. o4 R) G8 `/ G5 @8 y
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;% R* V) n" t* w% `7 ?
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;* Y4 ^7 Q7 q: b
5 M# R) b/ J* @; s8 `
// oˉè* ??à? 7 j+ X, Z l2 \7 C5 @6 p' w1 s
pLight->Specular.r = 1.0f;
) ]4 }( N5 s4 l, o/ M$ v( n* S pLight->Specular.g = 1.0f;0 {' ^( p4 o( D
pLight->Specular.b = 1.0f;
5 n/ K5 A! d8 y* m, m // àü?? oˉè* / Q6 y7 L& b; K
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
0 m+ {/ m6 {4 m9 o pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;8 @ R: U5 [: r' W& H
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
! z" ~/ F# P% g. A' N) x5 K1 M7 C; d/ C
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.7 K& j4 c4 }) m+ C( O' O( _
{
% K E: D0 n' q2 x: E pLight->Diffuse.r *= 0.6f;
" ~' l4 l& D2 w2 O pLight->Diffuse.g *= 0.6f;) z8 u z# ^% L6 _
pLight->Diffuse.b *= 0.6f;
( K" J ?4 K8 d" \ pLight->Ambient.r *= 0.7f;
1 N& s% }9 \( ` c# F- V% P pLight->Ambient.g *= 0.7f;
+ f$ ?8 v/ B0 K9 h) w. J. H: g pLight->Ambient.b *= 0.7f;
7 \* ~; O ?0 a3 C, m& f# ` }: s0 ^4 y6 Z9 z8 x, {* v
. M+ u/ S n3 c; e#if __VER >= 15 // __BS_CHANGING_ENVIR; V7 Y! `# {7 K) f
if( g_pPlayer )
, ~7 j5 S: o6 p* r5 L8 p& g" B HookUpdateLight( pLight );; Z, a% F: M4 E
#endif
1 e- Q/ p* @! x, G6 ~6 r$ _) J memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
0 R" r c# n, @) | I+ y; ?0 ?7 [7 k' }
pLight->Diffuse.r += 0.1f;
- i0 l% s# g2 B) {* H. E3 O# Z pLight->Diffuse.g += 0.1f;
x% A9 {. O( E/ u pLight->Diffuse.b += 0.1f;
$ d4 W! W' D. J6 v% E7 x8 z // oˉè* ??à? 8 N( f, e7 V" S8 Q- Q6 W. ^0 C# C
pLight->Specular.r = 2.0f;
7 J/ a" N' u1 q" F" }! Y pLight->Specular.g = 2.0f;
7 k5 u3 w: t+ b1 M. D3 I8 U d3 T pLight->Specular.b = 2.0f;( l5 q; s# E' _- s
// á?oˉ 4 B- F/ x9 a9 d& J' f' v' {0 c. A! s
pLight->Ambient.r *= 0.9f;
: K) R+ C7 E" G/ r$ |* o6 y. r pLight->Ambient.g *= 0.9f;
' M$ ^1 ^3 ^! s1 }6 J% |# `' O pLight->Ambient.b *= 0.9f;
. Q7 v5 b A( P5 h+ y; n# i. @6 g4 S4 N; f
memcpy( &m_light, pLight, sizeof( m_light ) );$ o$ d9 O1 E- U b! z" |8 U* E' O
& N2 p h. l c4 p- }. T8 f pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );8 q- M8 |9 w5 @" J
pLight->Appear( m_pd3dDevice, TRUE );
; B: V7 H! q' N' A) G5 b
" n$ a. A+ `; c* j- ~+ [3 A DWORD dwR, dwG, dwB;, ^4 C1 ?7 H+ U" A0 G, O5 X
dwR = (DWORD)( pLight->Ambient.r * 255 );
" y, K% h0 ?# e/ F dwG = (DWORD)( pLight->Ambient.g * 255 );4 E- F& x. ]6 a; h6 j$ r
dwB = (DWORD)( pLight->Ambient.b * 255 );; X7 q4 D* V" d5 z8 U
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );; n6 L# a! l) T5 t( d% i
}
! S) W. ?0 \7 _ }
1 @! v4 W9 s" C& A9 @. g else7 @3 g/ V4 S5 s7 ~/ {
{/ L6 n* _: e$ d5 T& a" h) {' n) Z
if( pLight )
# T1 M [) a. I5 c( _- r) h* Q {1 H: W$ f, _% [, ~7 E) l
6 Z8 f6 Q1 E* E1 g) B2 T+ Q, W
int nHour = 8, nMin = 0;# E0 w- ~7 Q9 N6 }5 }* P0 S9 }
#ifdef __CLIENT
4 j5 v: G& z( X! Q/ i4 T, n // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
( i$ m5 o% C1 V5 H) J nHour = g_GameTimer.m_nHour;* Z4 e8 [+ C+ v0 d: s
nMin = g_GameTimer.m_nMin ;% V, m$ j+ x/ u8 m, C' w$ \: b
#else4 b; P) [6 M9 x. K
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
2 v/ \8 t, ?2 o$ S2 {. D if( m_nLightType == 1 )' m" j Z) X+ V; x# ~
nHour = m_nLightHour;
& `$ F9 N' K9 w$ S #endif& G0 I- H6 |; o( b
nHour--;
5 t# P1 W( x( j; A( m if( nHour < 0 ) nHour = 0;; W3 t% B0 j* d
if( nHour > 23 ) nHour = 23;
9 V: p* f) i3 Y! x/ I' k, r+ `% ~5 [9 g* Q$ @% A. p# w
//if( m_bFixedHour )% t* p+ X9 Y6 n: O. g
// nHour = m_nFixedHour, nMin = 0;# T) B5 ~4 j) w L8 b( A
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
3 ^) q3 f9 n& L LIGHTCOLOR lightColor = m_k24Light[ nHour ];
0 Q6 N, E; C; Q* Q$ U8 F1 i- Z7 R7 R0 I* C8 G0 d2 ?8 g
//m_lightColor = lightColorPrv;
& ^4 d- S! \2 Z8 Z lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
2 g8 n* U7 \; M) |- m G- g8 O4 } lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
8 q/ N0 s- L$ A, ?" I } lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
0 _: t5 h+ A. A% R4 j& w8 N lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
& y% v6 v; m1 ^6 Z# ?, M# | lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
" e& J8 i% l6 z& F lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;. Q2 x1 I6 N \: t" w, B+ [ r) g
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)& p+ H- X2 x2 W4 M
A2 t2 w, _; _) P' z2 Y
// à??μ oˉè*
$ \- J! D9 |# }4 E$ s; k8 u: a pLight->Diffuse.r = lightColorPrv.r1;' R, r) O& w/ s. i1 ]. o, Y- O. k
pLight->Diffuse.g = lightColorPrv.g1;+ @0 C0 U( r. X1 }. b
pLight->Diffuse.b = lightColorPrv.b1;4 h: H3 M. \! d: E. m
// oˉè* ??à?
- J \5 \0 v, C pLight->Specular.r = 1.0f;0 Z. h, u \4 x) E) N
pLight->Specular.g = 1.0f;
; o! @& p! {' }2 I pLight->Specular.b = 1.0f;
8 X# ]8 T1 ]5 M/ i7 ]7 a0 k // àü?? oˉè*
: S; g. b9 t0 e4 V, O4 Y. ? pLight->Ambient.r = lightColorPrv.r2;
8 \3 ]; M9 j" d pLight->Ambient.g = lightColorPrv.g2;
- ~, v* Q: Q8 n1 m& H# W1 l pLight->Ambient.b = lightColorPrv.b2;
& x5 K |5 h. a" _8 V
/ T X! U6 |) C$ A' y! ` f if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
5 R0 c/ k$ X3 r9 A0 I {
7 X9 e2 i" G# y2 x0 L pLight->Diffuse.r *= 0.6f;
0 t2 a4 M* ^3 f: X9 _" } pLight->Diffuse.g *= 0.6f;
4 L" V" i; V; B pLight->Diffuse.b *= 0.6f;
- B1 E3 n' O w4 c3 t& {1 W1 { pLight->Ambient.r *= 0.7f;1 b, X; o3 @5 \% _
pLight->Ambient.g *= 0.7f;- B1 h4 X1 x; x( P. R
pLight->Ambient.b *= 0.7f;6 G8 N1 M0 n1 d/ Y+ l7 o
}. G/ H: P0 v: O$ y$ Z! W
/ O! ?5 c6 |! a0 H* N
#if __VER >= 15 // __BS_CHANGING_ENVIR
8 K8 i8 ]3 g- q. R, `- p' F( V+ k m if( g_pPlayer )" q1 n/ b8 s9 a, e* I0 i
HookUpdateLight( pLight );
* l$ I( g/ t$ l K& b$ T' {#endif+ @( s( K& m$ G N+ T# O
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 W7 }' Q4 q" m% e/ N' X
* g. ?0 c6 ]( P, g#ifdef __YENV
/ P9 u7 \2 E( z pLight->Diffuse.r *= 1.1f;
" L0 a" Y) m3 l6 R pLight->Diffuse.g *= 1.1f;
- ?1 u. v l" t! l9 t4 K: E pLight->Diffuse.b *= 1.1f;
( z9 G- X/ `2 ?* x // oˉè* ??à? 2 y; s" q% z+ m. F: _1 ~
pLight->Specular.r = 2.0f;6 I$ G5 z: k+ i2 n1 z) f; ^ ]1 X
pLight->Specular.g = 2.0f;
) x' K* C: G* V$ d6 R: k+ B- @ pLight->Specular.b = 2.0f;
7 k, i7 Q- C7 U+ s5 e9 j* w) ` // á?oˉ : T1 a$ v `7 P
pLight->Ambient.r *= 1.0f;, c3 ?% b& _% ^1 R/ H
pLight->Ambient.g *= 1.0f;
9 f3 M2 N8 o; G7 e2 m4 k1 W pLight->Ambient.b *= 1.0f;. G6 C) X, a: S2 J6 q
#else //__YENV
V5 L% E* _: C+ k% l9 q pLight->Diffuse.r *= 1.1f;
4 d& V3 x( e% ~1 [ pLight->Diffuse.g *= 1.1f;' e8 a$ \6 ^( Q) H, V9 I
pLight->Diffuse.b *= 1.1f;
' b8 C. i( p9 E$ s( E // oˉè* ??à?
7 ]/ r8 v6 `7 j1 w pLight->Specular.r = 2.0f;
/ |3 c* t$ g' v/ C; ^, } g pLight->Specular.g = 2.0f;
! \9 U. L; C# a pLight->Specular.b = 2.0f;
0 D; k; g8 H/ \$ q& Y // á?oˉ
t: C8 \# y% O6 E: B; W6 N pLight->Ambient.r *= 0.9f;
2 ~0 [& Q( J5 S) M0 Y; m l' I pLight->Ambient.g *= 0.9f;, T. _7 B% F: s* d5 V
pLight->Ambient.b *= 0.9f;7 `& u2 w Z# U1 Q# a6 G4 u9 Q
#endif //__YENV
. l* U0 P. {0 j
5 v% v/ L4 u8 h9 ]+ B) C# f memcpy( &m_light, pLight, sizeof( m_light ) );+ r; ?& W# p6 O! w# v
. {0 S+ R( B; J- l D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
8 k \) _& r% k0 A9 b1 p; g; l D3DXMATRIX matTemp;
5 W5 J* A' o: Q! l9 ? static const float CONS_VAL = 3.1415926f / 180.f;
( P1 R1 L# e9 v- s% G- s# Z' [4 z( z9 |4 ^7 ]* c
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
5 {) ?/ |/ N8 Y8 K D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
7 a) c' V3 s! `4 | _( y* H pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 6 X* A3 o$ e! n/ k
pLight->Appear( m_pd3dDevice, TRUE );
% h# g; S) }" s% K: c" X
+ d' v6 H- m: G2 S$ {8 |7 G // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);; _( g. W0 J% @
// D3DXVec3Normalize(&(vecSun),&(vecSun));! l6 p# P/ }1 H6 X
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. L! ?2 @2 q# \9 z9 Y3 R6 D; [4 Z8 X. B0 r5 g- m" d
DWORD dwR, dwG, dwB;
0 b) ~) L- v9 T! e! M5 |6 a dwR = (DWORD)( pLight->Ambient.r * 255 );$ \" C, `. K5 c- o1 M1 ^
dwG = (DWORD)( pLight->Ambient.g * 255 );* P# O: }3 d2 A4 M; u+ G
dwB = (DWORD)( pLight->Ambient.b * 255 );& t8 y; N# ?$ Q! \$ j; ]( m4 y
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
/ v- q9 V8 @+ ~ }
+ f* u( I; z6 E! l) P$ C$ s }
, h7 i2 E6 q. f7 `8 j
+ M9 _6 G9 U/ ~+ L" M! C1 d% |' w) Q m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
% E3 D. M+ z( w8 [ 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) );
. X; v) C! J& w L; _ h: e ::SetLight( bLight );, z# E9 Q+ r: Q0 m( x0 \6 [
5 M( x$ G+ q* ~8 e; A
// ±ao? ?D?í???ó á¤à? " G2 X; s" U4 O' L/ h1 v6 M. v. k
m_pd3dDevice->SetMaterial( &m_baseMaterial );
/ A! l5 Q. m9 H
; o. u3 i* c6 d* G8 Y) o+ a5 o#endif // not WORLDSERVER
) `# h9 o1 N2 D, E; i. q$ F}! O- W7 {3 [; V: W x
并更换
, _9 Y: r2 J1 z( f. O" ECode:
, p i5 w( p, {__FLYFF_INITPAGE_EXT3 K, t- N7 Q! F7 V( A# c
定义
% U3 f2 S8 S6 f, t" s! z
$ d0 ?/ l$ o+ K8 m! \* `7 S1 Y
5 y$ ]1 o+ ~7 y& I4 T/ c1 \$ d# _3 [. P' _& N! b1 A+ u
现在终于删除我的狗屁加速...
' @) j2 m% C9 l+ A0 g* z, k) K# Y0 h v: Y( ~% `( g6 s
+ t4 \ s& m2 q! b) Q& X% U- [& n) A6 U. m: P7 I/ F. m
|
|