|
|
食品车:
3 c* U2 p# O) r+ N, z5 e3 l( }尾翼:
* O/ y4 e1 y) ~' d6 T
) G; @/ A/ B% I代码:" Y" U* }/ F3 H" H3 i
CWndAutoFood::CWndAutoFood()8 [& J E& |. C: ^
{
; C1 C5 N2 e: i m_pItemElem = NULL;' |& b0 }& ~" V r7 W0 _6 L* c' N
m_pTexture = NULL;+ H: A& @# a! H/ k9 r' i+ `/ Q0 \
bStart = FALSE; P: t" ?: \9 h* s! Z
}1 k1 |. u1 Q' B* R
7 z, {2 Q# U1 C' ECWndAutoFood::~CWndAutoFood(): @! S; x$ O- S! n1 \( E! m+ O, g
{
& P9 e/ U! D" M2 ] AfxMessageBox( "AutoFood ist gestorben " );0 b. P+ p, E' P% C4 s2 R) {% v% c6 A
}
1 s. T8 h) K( y0 y$ [BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
' y# }2 _. Y6 T! i* s{" T4 [) E2 _: [: P1 Z; @2 B s
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
, P& m* {2 \2 S* ?7 m/ l% C: p a: w3 W}* J; r( I" L4 y9 S8 C4 U( y! g
" f* U8 w- L: H4 R0 v3 }BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point ) T& F4 N4 r3 ?2 k5 Q2 C
{
. x/ {2 C" O8 W! F: Y LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
, k: a. n X$ m/ ]9 U D CRect rect = pWndCtrl->rect;$ [% x0 n5 s5 J# g3 a: j, v
if( rect && rect.PtInRect( point ) )/ \5 \3 q9 w7 U! G' ~2 O/ t: n, g, R
{& l5 s i M% U+ I: ]) _6 y
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
( w( q. C0 F( t* a* G" ^( _ if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
H! [& ?. y2 q+ A+ ~, P {
$ U, V; d) I* I: }! ?/ \' F) t if( m_pItemElem )
' D, E2 `3 l7 u, U4 ~* L {( N2 U T @( d# A, s
m_pItemElem = NULL;- s) a6 \ V! ]; Z/ b& Y i
}
( H5 }4 H$ Z2 t* [, z5 l m_pItemElem = pItemElem;' q, Y! r) D* Z" _& O5 }
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );/ v+ b7 W& x+ q3 u
}else{
! ?# V* d7 h+ Z% h8 V SetForbid( TRUE );2 w1 Z# F' P7 f& c/ n! S
}
! R0 K( u/ [ e3 I }else{
. a: o& G+ I( Q; ^ SetForbid( TRUE );
8 P9 x4 I7 G0 |- T D }
# d% j5 z( z1 X* G3 D0 J; O4 a' [ return TRUE;+ v3 o- ?8 F; r9 j, l3 u
}
) Y; j5 K, L9 R0 @% U" C7 S# i/ r. M- S* v1 K
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
1 N( @1 f& W' ~5 O# _{
/ p1 P7 W: F8 U4 V switch( nID )7 X) G- {0 q! X, j9 b' z0 q& [! l
{
+ h& o5 j( `3 k9 i- S case WIDC_BUTTON3:
+ c; r: L% t9 s* X {% X# T/ o5 o9 m& O
bStart = TRUE;/ T/ T# m2 a8 ]& l! f0 H- \+ L
break;
l. C3 N* u& \1 K {! } }
+ \9 ]" P) e" S case WIDC_BUTTON4: J U J$ w$ z$ o
{
1 R( a) \5 r/ u9 M _$ T bStart = FALSE;. Z+ c- o7 U) k) n
break;
' X( J( o1 }( ^ }
: l+ \" t7 Q! N/ w3 i: v3 ~0 F7 f }) E: s; i! I" @/ h2 M( g) s2 b; J. d# V
return CWndNeuz::OnChildNotify( message, nID, pLResult );/ S+ S$ x+ x7 s% s I2 a
}
% d$ G% J4 T" D! _9 _5 |, @$ vvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
8 I4 o1 G" I+ b9 x6 v5 m6 V{
* }6 u7 s" x' V CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
- \; e- v$ }- ?/ M5 i7 U( N2 h if( bStart || !m_pItemElem )
y6 L7 E7 E. ^. H$ F, L( ~# g; G {
# l. T }( O. z6 z pBtn->EnableWindow( FALSE );7 Y* b0 b3 a% S V
}else
# L% B3 X9 O9 B pBtn->EnableWindow( TRUE );6 h3 r0 Z- L$ U4 D& |- l
if( m_pTexture ): T% S4 C1 Q& C8 H) q2 g& ?
{ ^( N- a( `0 _5 A9 r
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
8 X; z! |* N2 s if( wndCtrl && wndCtrl->rect )
4 H3 O2 b p# @; Z3 ? {0 l1 ]4 B0 S4 s8 d
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
* T- l) \% g; R! k4 `, I$ L5 k }
' ? t0 \- d1 w) A5 G: Y }6 `: h/ i8 O/ |8 R
}
+ K7 f% V+ n7 C. Y% f) U
$ K# L% f+ q3 V8 Y0 S# t. ^BOOL CWndAutoFood: rocess()
8 v3 \, `5 F. d6 ^: C{( A( i0 ~: z8 A& @4 T
if( bStart ): s8 D0 r2 H) P# [! M
{
% R4 e$ @ ~- A9 ^' m if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
( I: ^; N' }9 D9 ]1 P* @8 f! h {2 h: D7 q% e- E+ Y* ^/ Q) q8 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() )- ]. {: n4 _ W' {% Y& U
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );8 `5 R8 @! V4 u) z7 x3 E
}else{* N8 x7 q# V5 L8 a0 D
bStart = FALSE;
5 j2 a# U) A! m: S9 C; s7 G9 }0 v' d9 r3 h m_pItemElem = NULL;* ?5 w0 t8 N+ A
}
' B5 q8 E2 r( i# _/ q& w$ b6 T1 l }
' o' I+ z' Z1 O; K) Z, p return TRUE;. Q$ J, ?$ D5 G: ~, s) ?5 X
}
% P4 H) `, q& ~& @! O% X
' ]4 @0 z; G1 y' R登录视频废话:! z$ i+ l; J4 Q/ o9 E( W4 p! N
尾翼:) ]; c9 y b: U u9 [2 f. {. y( U
]# S6 x9 S) c9 I
代码:# L) s& j7 s; w* r5 q2 V
- E$ t+ O4 Z: Q- Cvoid CWorld::SetLight( BOOL bLight )4 i1 P5 z. x$ v
durch
' O6 ^: r3 Y+ A8 y% s' X5 I/ bCode:
) @5 U( u X' R. V) U4 T" b& yvoid CWorld::SetLight( BOOL bLight )
: y7 C3 X* X- c, J{
. R8 {, w" W' Z" w% Z //ACE("SetLight %d \n", bLight);& E; A+ y3 ~" T+ d& v
5 S. m' w. @, l#ifndef __WORLDSERVER
" s0 G: j; ?# A DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);6 {) C2 _. ? Z1 n0 ^) V' F
CLight* pLight = NULL;+ U9 f7 g7 U+ t" Y' ~
. H4 X8 g/ V' _1 e7 H9 L D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );: F7 m$ E* o+ N( Z$ V! z
7 R9 n$ ?# r) w3 _# _, r" T
pLight = GetLight( "direction" );
7 A; G, M+ u! {4 h8 e8 R/ F% \% f7 Y* R4 F0 n, _1 x
#if __VER >= 15 // __BS_CHANGING_ENVIR
8 `0 N+ J: g6 y if( g_pPlayer ){' \7 }2 x3 M6 N6 M, Z7 Q6 r
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
) u8 l. u! q5 Z) i: u, Y& y if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
% y j. I% O* g- F* R; Z+ b { _* P! X" Z- i. l
if( pLight ), n# N5 M* H3 R5 U
{$ V e3 _# w1 `( E' s8 W
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
7 W/ |7 B) n/ s pLight->Ambient.g = pInfo->_fAmbient[ 1 ];5 P& @. J5 s. S+ W( a9 ?
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];0 y, n4 s2 K+ C- i+ g
" L: s# T4 _9 u# K' ]" o; U
pLight->Specular.r = 2.0f;
2 D4 Z, {& { k. @$ n+ W( { pLight->Specular.g = 2.0f;) P; W3 d; r9 \4 a
pLight->Specular.b = 2.0f;
* l+ G9 l0 M2 |4 B% f
0 A) i6 K! i* Y pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
7 J" X- I; H# q pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];2 C( c: W) `5 F }$ \2 r
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
/ K9 n. m, y% W$ {& s! W : Y1 t5 B' H. @0 G$ |- @% ^
HookUpdateLight( pLight ); 0 `: d4 K7 b$ Z! d* t3 \
6 O) G3 l' z2 R$ e
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );& P i& u8 D% G+ Q/ Q6 g
2 f9 y; w6 a! q" f
pLight->Diffuse.r *= 1.2f;
) H' i) T! l0 A6 ~, _/ X pLight->Diffuse.g *= 1.2f;
+ _. q2 M4 K# R/ B$ x7 R. ~ pLight->Diffuse.b *= 1.2f;% s5 L9 f. C: E0 e' n' s( @* L
0 ]" C3 u$ P6 [
pLight->Ambient.r *= 0.8f;
) S' ^; y( O8 ` pLight->Ambient.g *= 0.8f;
3 I. D* F9 ]& e% L2 Y# v4 G pLight->Ambient.b *= 0.8f;6 {& P3 a" x/ _. w: w" B
8 z. y# O, J) u) Z# O2 R7 h
memcpy( &m_light, pLight, sizeof( m_light ) );& g5 D% }2 U% U0 p& z3 I8 k
4 d2 H6 z' \! V
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
+ [! _- F, r" ?4 S D3DXVec3Normalize(&(vecSun),&(vecSun));
. s8 _$ Y8 U3 Q. y pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); / k; s: M; \! B, h8 k" ^
pLight->Appear( m_pd3dDevice, TRUE );% p7 J* E& @/ \6 i1 n( x: [
# `# \& {' I, N' Q" O DWORD dwR, dwG, dwB;
& S" D% `8 C% N. r dwR = (DWORD)( pLight->Ambient.r * 255 );
1 n5 C8 y/ _/ T/ Y0 `5 N* _; m dwG = (DWORD)( pLight->Ambient.g * 255 );
7 _0 P3 h0 t3 Q% B$ ^7 M5 H dwB = (DWORD)( pLight->Ambient.b * 255 );; Q. o8 Q ^, l c" _0 s
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
7 X5 ?& }5 Y5 \0 E }: `6 i" e. o" P& J
}/ i c7 N/ I$ d; p7 S
}4 W @+ \8 b6 ]! c2 A
else
. D s3 e2 s. a9 z, N+ n#endif 6 V& m( v0 G/ E) p m- q' |
8 H- F. Y& ?5 j f/ e- ^
if( m_bIsIndoor )8 }. p$ M: y& r* ?! A
{
/ B. `4 R3 Y( \' s& ]% W if( pLight )
: K) i5 L# L( L8 n! a { & i: e: `2 p3 k. q: ` M
// à??μ oˉè* : n# r$ r" N" V( D& n
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
+ H; a- [/ M4 P5 L' V2 x% j pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
" Y. q& `( K3 M pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;) L, h. g- z( w9 N
. T& q R# p4 ^& d: J+ V // oˉè* ??à?
0 d3 E+ u5 V% I6 Q3 z pLight->Specular.r = 1.0f;
$ c$ W# P' [# X" M pLight->Specular.g = 1.0f;6 S" h/ R5 X" p9 _
pLight->Specular.b = 1.0f;
( |; J9 q# z$ ~/ H // àü?? oˉè*
2 R5 G C* q1 k pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;5 k# b; ]; ?9 n
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f; d: I' x9 ?7 M) j
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;, n V" _! d% B1 r9 z
$ m9 Q: K5 P6 D1 ~) R' I2 h$ {: n+ ]
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??." l' Z" H0 \7 H3 F4 O
{
8 B9 H5 F" O! z5 ?, {0 s pLight->Diffuse.r *= 0.6f;! A: f) q- E8 @; Y
pLight->Diffuse.g *= 0.6f;
4 G( k. @# @+ {+ a: s- s: Y+ r pLight->Diffuse.b *= 0.6f;. H. T8 E5 x K( m# ^7 p% i# o% C8 g
pLight->Ambient.r *= 0.7f;
- S* p+ T0 g( X7 e9 a pLight->Ambient.g *= 0.7f;
: {+ a& B$ \9 W5 A' O( i pLight->Ambient.b *= 0.7f;
7 p' @) Z% B" {6 v$ f% r7 D; n4 l8 L! v* P }- w. k+ O* A4 Y% O' F
7 R9 O9 g+ L* T) \0 u5 J#if __VER >= 15 // __BS_CHANGING_ENVIR
9 K% a; t; d' m0 U) B' H, h if( g_pPlayer )
2 t; k& F. F. \# y# e HookUpdateLight( pLight );
q+ B0 |. h# `% c5 B#endif1 D8 |5 ~) i+ z+ v# z+ p. G
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 h5 Z7 x; U' ^- X" r9 L5 d8 R" @$ s) H* X
pLight->Diffuse.r += 0.1f;
! w0 a$ {* P i pLight->Diffuse.g += 0.1f;& U# K7 x4 h' f' b2 b, o5 }, w! |
pLight->Diffuse.b += 0.1f;
0 N9 ~$ @! H& l' A. X7 {* ~; `; U" T) x // oˉè* ??à? / q* `" O# y9 l3 M+ r/ y; D
pLight->Specular.r = 2.0f;
! J$ Q0 F! T* J, l" v pLight->Specular.g = 2.0f;
" g: Q2 T! ^+ Y5 K1 x pLight->Specular.b = 2.0f;6 _9 m, Y6 U |" }/ O% c+ k
// á?oˉ
# n& _1 u6 I) F4 Y( z6 h pLight->Ambient.r *= 0.9f;, K# Z6 c1 ?; j
pLight->Ambient.g *= 0.9f;
9 m! @+ H) S6 E4 j; S) H pLight->Ambient.b *= 0.9f;
9 N' r# u& Q; d3 [' P6 `9 w) `, M
memcpy( &m_light, pLight, sizeof( m_light ) );
( _. w& W3 F% k# r 3 s& c0 t/ J* z+ P+ s; g
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
$ T r `3 z9 m, {$ d6 W pLight->Appear( m_pd3dDevice, TRUE );
' e' D. y* [# Z8 {+ t6 c% F
% V2 b( s) M0 p DWORD dwR, dwG, dwB;
! s4 f: P" r3 s9 R dwR = (DWORD)( pLight->Ambient.r * 255 );8 L5 W( T {5 v `1 T F8 f
dwG = (DWORD)( pLight->Ambient.g * 255 );
$ s) x6 F9 N$ Q/ ` dwB = (DWORD)( pLight->Ambient.b * 255 );
$ j4 g- {7 J5 Y' o& @ c dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
b- y3 X. V) z( Y4 ` }& y4 o C* S' }
}5 `- Y+ p6 d5 B( \! z
else
2 U& }. b9 a' m" t9 ] {
/ ^+ @% O9 {/ q( g if( pLight )
3 {0 S4 i( B: ]. o {" F/ @0 g6 } k& ?6 F# ^% q' {
& t8 i6 z( ]4 W- f int nHour = 8, nMin = 0;* W$ ^- s8 W( z$ C, ]* t( S
#ifdef __CLIENT, Q' @" B& n @6 Y4 d% \9 q- J5 l
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. , w2 Y* X: _. L {3 q4 Q; ?$ g
nHour = g_GameTimer.m_nHour;
) p L! t$ @! X K8 _, c. X$ M" ^1 P nMin = g_GameTimer.m_nMin ;1 Z7 G" w! @; V5 H0 j
#else
0 ^3 l. R- T, j+ Y // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.$ G% Y C; M B7 t
if( m_nLightType == 1 )* m7 L$ R$ M9 ?1 N/ X1 B2 I
nHour = m_nLightHour;
( }( b- i& q# j. F3 z( G #endif0 U f# _$ Z6 g7 H1 ~, k3 o
nHour--;! ?: W7 J1 E) J& r7 J3 f
if( nHour < 0 ) nHour = 0;
( B* }+ }6 R+ N9 C# o6 r if( nHour > 23 ) nHour = 23;
, ^) e7 y2 V7 z+ j) {0 [- T; U6 }$ `6 O
//if( m_bFixedHour )0 w! [6 e9 X# L' r, F, U2 s
// nHour = m_nFixedHour, nMin = 0;! n/ C |+ y2 ~' }
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];# I9 }# Y4 K4 m7 l& B6 h5 o
LIGHTCOLOR lightColor = m_k24Light[ nHour ];/ k2 N/ j7 j+ C& z
. w6 D; A7 R$ J //m_lightColor = lightColorPrv;
2 J! D) r5 A5 ~0 D$ v lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;$ r# ]) E/ p s2 g4 _
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;' @1 M% W2 O- X+ v: w' P# I
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
6 P7 |3 h' X. O: T0 b- Z lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
" n3 K5 J; ?% c9 m( ^' l" ? lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
2 K( @/ J J- ?- ?' ^/ J/ N lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;+ j: E9 u- S1 H
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
" y9 A% a; a4 a7 |% W C: Y' v% i* D; q7 Z
: B& |6 C* `3 u; O& E // à??μ oˉè* # D5 N1 h& a0 B8 Y
pLight->Diffuse.r = lightColorPrv.r1;
! M# N# q2 H; v/ ~$ d% o8 _$ R, V pLight->Diffuse.g = lightColorPrv.g1;1 |' E' g8 z% x! ~% ?8 }6 _
pLight->Diffuse.b = lightColorPrv.b1;- P0 q' [. U7 v" N
// oˉè* ??à? " F4 y1 V+ \& Q- N. n0 B! |
pLight->Specular.r = 1.0f;
/ D+ M9 y+ H* ]0 X4 N+ U) f! C# w pLight->Specular.g = 1.0f;
+ k: Z$ v8 I* z: o c: v3 [, } pLight->Specular.b = 1.0f;9 u7 q1 g$ b+ I) Y' D/ @& Q
// àü?? oˉè* . V* _# C; H! q% i3 \; P, k7 F3 k
pLight->Ambient.r = lightColorPrv.r2;
$ u7 G; k3 J( _9 Q* @ pLight->Ambient.g = lightColorPrv.g2;. Z! G2 m+ p" t* s l
pLight->Ambient.b = lightColorPrv.b2;
' L$ U- n: k: } q4 S3 b
" Z& d( j* T" @# M, K& s" O if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.2 p. q* w! U0 l3 s
{
, \& ?: l8 k6 K pLight->Diffuse.r *= 0.6f;. Q0 ~8 X- R+ s2 B
pLight->Diffuse.g *= 0.6f;0 G b1 Y2 }" Y+ Z9 }4 o
pLight->Diffuse.b *= 0.6f;
$ J& o8 W3 ~6 }5 }) h# D pLight->Ambient.r *= 0.7f;* Z3 N9 ]. `6 i L
pLight->Ambient.g *= 0.7f;
' N* e. _8 O; ~: R pLight->Ambient.b *= 0.7f;/ g6 `6 _5 V4 n5 r
}
8 u% m6 ^6 k8 l; J 3 g/ D( w* z1 k
#if __VER >= 15 // __BS_CHANGING_ENVIR- C" `: p( Z; J+ W8 b, L! Q& N& i
if( g_pPlayer )0 r1 u2 v [8 M' A. z4 ?# |
HookUpdateLight( pLight ); Y6 `! P1 E/ X% P( E
#endif
; P5 f6 g' A L8 g/ _ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; Z- w0 a. S4 S5 V# P8 D- P9 b+ _ \' y
#ifdef __YENV
5 B" i' a7 ^8 z8 ~) ?7 I5 b pLight->Diffuse.r *= 1.1f;
1 j: C8 A6 x" z7 m; G2 r' W' O9 f, H pLight->Diffuse.g *= 1.1f;
) [( M0 \9 e. E pLight->Diffuse.b *= 1.1f;3 W9 |3 P' o( s+ S! }! W' h/ Y
// oˉè* ??à? ; D1 G* u+ o% y$ @2 m$ ]- e
pLight->Specular.r = 2.0f;
5 K4 z( o; o! D3 U1 {- z6 c pLight->Specular.g = 2.0f;
8 F, e( t6 T, Y, E5 H+ \ pLight->Specular.b = 2.0f;
. r! _. J8 P W! t5 n9 R // á?oˉ
7 W8 o- l% C. Y pLight->Ambient.r *= 1.0f;, i. i/ x8 O6 b+ Q" c$ g. v
pLight->Ambient.g *= 1.0f;* y& K8 j7 R* c" L7 y
pLight->Ambient.b *= 1.0f;6 f8 g" j$ C- l L
#else //__YENV
8 O3 n! \. E1 a5 e. W; N pLight->Diffuse.r *= 1.1f;
7 D4 ?3 i+ Q- ?9 b/ a/ |8 k1 o { pLight->Diffuse.g *= 1.1f;3 _, S! O: w/ N$ y& v8 @/ j
pLight->Diffuse.b *= 1.1f;! R, {- Z$ H/ R
// oˉè* ??à? . W2 Q% \5 `$ `3 S* p; S
pLight->Specular.r = 2.0f;' e$ A. b3 l& L0 B; |
pLight->Specular.g = 2.0f;' R! l1 r5 T/ K/ F5 G# k# t! z
pLight->Specular.b = 2.0f;5 }. N6 ~1 |2 k" T/ I
// á?oˉ
, m, a' l5 s- Q6 [4 c pLight->Ambient.r *= 0.9f;7 p& w$ `: Z5 \3 u2 J7 a; b7 t
pLight->Ambient.g *= 0.9f;/ H: Z/ E8 h4 l3 R+ M# I3 R5 R f
pLight->Ambient.b *= 0.9f;
# j: {& `8 u5 R) R#endif //__YENV
- o$ J9 p9 Q! _0 [3 M" I: l- m
# y$ m0 X& A& m- H1 d memcpy( &m_light, pLight, sizeof( m_light ) );
7 I+ ~0 C+ X/ {) I! ?- v
6 B. m) ?$ S" ~/ K7 R D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
+ n5 ?8 ~* r, @# e! z9 h D3DXMATRIX matTemp;7 F$ y1 N3 W7 r( r, r+ ]8 \8 A
static const float CONS_VAL = 3.1415926f / 180.f;
* F k1 e# s1 ]& q+ m: ~" S( e% J3 C* N, C/ u
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);( u$ H6 v$ V, C0 T# C
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);% I# L6 ~( I6 S
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
# d+ U2 m( ~+ Y- ~ pLight->Appear( m_pd3dDevice, TRUE );
& e/ m5 d" U- h; H V
$ \8 ~/ E; h" S' n/ g% ], X, O // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
% t" v$ y5 K6 k( M3 u2 ` // D3DXVec3Normalize(&(vecSun),&(vecSun));3 F8 V2 U1 k! w; I
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
+ f8 k1 w( b' n1 b/ O' s2 k" q# y7 s8 m6 O. W
DWORD dwR, dwG, dwB;, W. U+ ^. G2 A+ l) J, q9 g7 z
dwR = (DWORD)( pLight->Ambient.r * 255 );5 {$ o b, y' ~5 U* ^5 Y# E! ?
dwG = (DWORD)( pLight->Ambient.g * 255 );+ [# s% L: o" r; K) F+ h t& } o+ C
dwB = (DWORD)( pLight->Ambient.b * 255 );
; b# w' {! y& v- u2 O9 v( [6 H dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); . b* D' u% M4 ^' Y0 b5 c/ I
}; k: o# x! p. \0 W* U1 `
}
6 _3 _# K- h7 A: [3 g( l6 l0 l [9 r1 ]% x6 V K+ R
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
) r! X: B+ l1 V* V; E 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) );
$ T. @% o% d$ _0 o# \ ::SetLight( bLight );% j( i. x( K4 e- {- B& e) M
+ I3 k, y; ^2 A9 o) \4 J9 `
// ±ao? ?D?í???ó á¤à?
- N2 x7 `# P' z" S6 B( o m_pd3dDevice->SetMaterial( &m_baseMaterial );3 ?; ~4 ^# B0 q; E
& j5 f+ P# G* ]# U) H L2 A
#endif // not WORLDSERVER( `8 G# p, ~* ~) j, N3 b/ `
}$ l; O4 V/ i( o/ G. T
并更换. B5 B6 D+ n. {! u' V* X
Code:4 @ g2 x3 V6 O% I* Y1 s' i9 Z2 |5 m
__FLYFF_INITPAGE_EXT9 [% J4 D: z2 y; X! l1 U0 h5 e
定义; j: f) c& [. @7 g3 M$ r% K
3 w# S& _8 u3 g# h
1 ~5 K+ A0 N* g3 ~
( e# x7 O# x8 G* E- i6 U9 G1 h5 D# d/ ?: A8 u. `: A
现在终于删除我的狗屁加速...
& w" e4 c* S& s! h0 U/ A {% q# a/ T7 ~' u1 C
0 }1 W1 w: e8 A- E
* T0 u4 W# C6 O
|
|