|
食品车:
1 ^" l4 I+ h q* Y1 A尾翼:
: P4 c5 Q3 P% I" U, C! K- s, Z4 S: y. ~: z" d% F
代码:
0 f! M/ z& C: qCWndAutoFood::CWndAutoFood()
4 g: ?1 n, T. G" G+ k+ F{
3 w3 U! B6 q4 W. n m_pItemElem = NULL;4 O& w+ U+ @; a; D( L4 D X
m_pTexture = NULL;
2 o1 l) S; D {+ a- q3 S2 U bStart = FALSE;& e* {( {" b( e) b3 U9 A
}
. H4 |0 C1 u+ v- o9 ?6 P6 ~- U U6 v: b: X
CWndAutoFood::~CWndAutoFood()
4 ^2 I7 q1 `* O9 A" R2 l# N{
4 m' l& q, n- R, X7 \ AfxMessageBox( "AutoFood ist gestorben " );0 i8 d+ s7 h2 W# P6 c
} z1 G" h; m' {% T9 l
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )1 ~7 [) ?, \! B! h& x
{: Z0 h9 @+ m1 h3 `. E$ N2 q
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );- N" {- v/ r8 |" L; O% z8 y
}
% G8 Z% N" g% a, H/ z: ]1 s
2 ~% K% p6 F' j" {2 Z; M$ nBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
5 @ j1 ?& _6 a7 E) P9 c B* O. Q{( v8 h# K( {2 _
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
; k6 P% L- }& V+ }& _, i CRect rect = pWndCtrl->rect;
0 u! j) P) ~8 K! u6 m if( rect && rect.PtInRect( point ) )
# Y6 q8 Z7 ?& Q& ^* f4 Y0 N {
* e1 a/ O! ]4 V. U CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
4 B9 W, B/ V( Q5 h6 i( q2 [ if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )) ?& q7 X! y( O
{2 o0 K* i6 M- R! X& Z
if( m_pItemElem )
, i8 V7 M' w" I4 w- L0 s {
1 j# L( B- h' C, E. d1 q, c2 j m_pItemElem = NULL;
$ C3 E( c7 v2 \" u7 x. A }! H* ~% i4 f d$ \' W) v% }
m_pItemElem = pItemElem;
$ } ~) e1 F2 q m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );$ L5 F5 C' u E& @; l- d# F
}else{
2 \! H9 v# E0 w' e2 n i SetForbid( TRUE );# z X a& J2 Y+ E
}9 g2 b1 r( }- ~: | n: C0 S
}else{: u. _9 D' x( U) g: R, P9 Q; _+ R
SetForbid( TRUE );
% ]3 E9 J7 c2 ^" g1 N7 V }" B$ Q! a/ K) E4 ^
return TRUE;. o9 }( s! j z/ b
}
N9 q7 P4 [+ }2 T& d% S& X
# d: e1 [* H* B! `+ \: u2 R$ YBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
* B; q# i6 X" R C; m/ Q{( i, K! B% x. p5 V. n9 A1 g
switch( nID )
4 h. Z( r! z# f& c# B% A {
2 O2 {8 M; o8 {9 a9 M2 m" c. { case WIDC_BUTTON3:
- u" |3 l; ?! X) f! }) { {
$ M$ D: B0 Y, i5 {! H& E bStart = TRUE;
% P5 ^ T3 H) L& G7 \9 L break;' N: D, e3 X* @' C6 z
}7 ]) l$ V3 W) }
case WIDC_BUTTON4:/ s" X6 D2 `3 f; p5 z5 B
{
' E1 c$ q$ z" O0 G1 i bStart = FALSE;9 z$ ^& p, ^' v/ d: E
break;9 i7 s" S4 {! A J9 {8 ?
}
9 q& ~) N) [7 w' J6 w4 I L- x- f0 N% k }+ b; ~4 z/ W% z0 ~
return CWndNeuz::OnChildNotify( message, nID, pLResult );
, Z" A( o- y. k& d) n2 y, d6 \& P, c} / W7 m6 e5 a- ]& W2 p7 d3 b+ A; L' s
void CWndAutoFood::OnDraw( C2DRender* p2DRender )9 K+ _1 v g. v: c4 E( o( k
{
! e+ E" u+ i) |+ W G- o CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 ); x8 i( n% g# i' x. h* n( B
if( bStart || !m_pItemElem )
* f6 }! e j1 \6 ~ {
6 V" v# |( h: l5 p: b pBtn->EnableWindow( FALSE );
8 I2 v7 `9 { R" R$ R! K; h9 H }else
3 j3 w3 b8 b0 U c* [) i! y( h pBtn->EnableWindow( TRUE );
8 f3 J) ], G: C1 I* n6 I if( m_pTexture )
' o$ |& r' \* l! R {2 T/ i# v7 c& \2 O k5 Z/ n- u
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
& J6 f) e# c' d: w if( wndCtrl && wndCtrl->rect )
& k8 I& }/ q! H6 A9 `. \ {$ L# p {0 s& O6 A! n- [
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );9 C1 f/ Y) S" {8 h, T6 Z; Q* i
}
: h5 H5 }( s1 L5 W( o4 w4 J }
8 E6 W4 F( E& x7 n# K6 f. f, i+ y}/ \. ` Q9 M3 m" f
( f7 V$ Z2 Y& G' uBOOL CWndAutoFood:rocess()
' z7 }' C3 \+ `# s5 w2 F B{) I3 Z+ Z+ u1 Q7 ^
if( bStart )8 ^( o: p2 j { f5 b+ Q0 G& J# O* T7 r
{2 n. D0 a. t, g
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )( [& c" {9 R) o" d2 F
{
$ \6 t$ s1 A p if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )* h1 P6 Y$ U; h& {) J+ n
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
. z q, c6 g N2 k+ b, N9 |+ | }else{
9 z; Y; }, z9 [ bStart = FALSE;
/ f" q* f9 |+ ?8 m! r; W) s m_pItemElem = NULL;/ R( m2 T% @/ K& ? g
}5 w3 }& W9 k: E# w5 w
}
* |- r! D: w! n I5 F+ ? return TRUE;
% ~- w/ a+ Y& n2 _}* j3 r7 T! f2 P# q0 F
7 c7 x" N @* ?: ^$ M2 D登录视频废话:
0 N% F$ V3 d4 J% J6 Y尾翼:% F! V4 a; W2 h6 {0 V
$ t/ V6 F( B! m! _* P! S代码:* P! W2 D; L- ?0 K" v
' K( d; j4 J8 ~; o; o
void CWorld::SetLight( BOOL bLight )9 V$ F* Q& n# S4 W9 `; s6 _
durch
0 U9 \2 q5 }! \1 p6 p5 e4 y* [Code:
: b; p; u& x7 i4 s1 yvoid CWorld::SetLight( BOOL bLight )1 ]8 c8 F/ }6 X O! B2 o. p& G
{
" `/ P3 U* L( t0 f6 o //ACE("SetLight %d \n", bLight);
0 i* h& Y; A" I9 z2 k . L' d% j0 A5 P3 S9 z
#ifndef __WORLDSERVER ( c5 l! a( A: F; c- E
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
# Z$ m* ?6 H, ]1 i4 a CLight* pLight = NULL;
1 X2 C) j1 m$ X0 V% |' j: D5 D
2 s. E. ^/ F2 k/ S8 p( p D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
$ O9 u$ a8 ?9 _
; A' b% m& C4 J5 d2 q pLight = GetLight( "direction" );
, [4 v5 l8 }0 E6 B* m" }0 x3 m. X' K) ~. M8 q! U4 }
#if __VER >= 15 // __BS_CHANGING_ENVIR3 o' f7 g+ H' t m- K! F
if( g_pPlayer ){
8 o t$ O( z# I" n ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );" t! i7 Q* I8 b0 x8 r/ g
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
9 I' S* o+ ^( n8 e2 W- b {
2 e( M! t; U( N8 A3 V if( pLight )6 o5 K! P# O/ S; {$ t
{
& M8 q- o- I. T( Y pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
) u/ Q5 I, @$ `( V0 _2 h pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
6 ?) U: D. w1 Z! n pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
! L% q! R5 y: S/ A% V2 n8 {) J$ `. i, |$ B' |9 j \
pLight->Specular.r = 2.0f;
, |' h/ h6 {3 _' E9 q pLight->Specular.g = 2.0f;
; t5 D5 D: {* N: ?* q: e( m; x pLight->Specular.b = 2.0f;
8 o0 x! e& k9 T* \ 1 K: f0 t! v. I* [7 Q1 u' b6 @
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];, U' b0 O% l+ g) y: a
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
; K$ J; C) Y( q8 j. i" s pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
6 S1 S, ]0 R# u, r3 ^ ( \% C# j% f' [
HookUpdateLight( pLight ); / q2 U, Q" l1 k. G
( g2 P# o, E+ U' u+ V memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
8 S9 N- v$ M7 U4 j
( i' D: H: U& @0 Q4 F pLight->Diffuse.r *= 1.2f;2 z% G0 g- W8 _5 y, c* ?
pLight->Diffuse.g *= 1.2f;
9 n. g# V. C- O9 I pLight->Diffuse.b *= 1.2f;
; G2 s- J+ h: ~7 x
, k, e( u2 M; H0 G0 O pLight->Ambient.r *= 0.8f;3 W [, L5 L: H3 Y6 t1 W; T& H- j5 [
pLight->Ambient.g *= 0.8f;" z/ U7 z" \7 e8 x( f
pLight->Ambient.b *= 0.8f;
+ q' C, P" H% J @6 W8 s5 m! k7 p
8 _. ?/ G9 B$ d' E4 ~9 w; k" K memcpy( &m_light, pLight, sizeof( m_light ) );1 D. \1 D: r* @# S* U* H, Y
$ y7 e; y9 Y/ B7 v) }7 X
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
8 C% n) c* A1 g D3DXVec3Normalize(&(vecSun),&(vecSun));
$ A3 G R' P+ l% i; K9 C pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
4 C+ f& T0 `3 G* a pLight->Appear( m_pd3dDevice, TRUE );
% Q, _8 w% Q: @+ W
9 C) `, K9 r! i. Z& O: Q) N* z DWORD dwR, dwG, dwB;
! w0 {) r5 y- B4 {3 z2 N+ \: { dwR = (DWORD)( pLight->Ambient.r * 255 );$ B/ H* g6 S; ?( h5 J
dwG = (DWORD)( pLight->Ambient.g * 255 );
7 G2 c5 J7 j; W7 r+ _7 ^ dwB = (DWORD)( pLight->Ambient.b * 255 );
3 }& M4 j2 x& ?' i/ ~# }/ O9 E dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% r+ r7 W! n* h b& u0 i8 Y4 N }
. E+ c) I& p, p) m }1 |# z/ `) Y. h3 t; A
}5 ]6 F" v) e7 z" v. t- S
else
, V" q' Q3 g2 B0 v8 }#endif
0 j0 x' z# {, z5 W. M7 A* X4 v
. w" j: z1 Z5 i2 J if( m_bIsIndoor )& }( M. T' A% ?
{" C2 I; y6 J3 T% e; h! r8 t5 K) U
if( pLight )$ H9 Y; e( c/ t' E5 f( a
{ ( ]+ D3 H: x* Y* G$ l) D* p
// à??μ oˉè* # D# O7 f9 ^- @! f% e
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;6 u% p& d7 `( B( R6 H
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
) q) p$ o3 \3 ]- w9 T8 e pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;$ Y) w- m+ e9 t2 ^
9 n# U9 |5 c3 a* U# P- m! X4 n // oˉè* ??à?
* a" d& M5 S$ B' h- B9 @ pLight->Specular.r = 1.0f;
, L5 ]" u" v; G( h4 Q pLight->Specular.g = 1.0f;
- H7 {3 p w! K# t4 b3 U6 y pLight->Specular.b = 1.0f;
1 V, ~9 |5 J6 w/ ^) n // àü?? oˉè*
1 {1 T3 N6 B, \0 Z$ D) L pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;8 C/ @' Z3 U' _7 n
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
( j5 a5 ?9 y' W6 U pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
$ K9 I: H7 T: I. a) R+ u. O
* x5 s% n" v4 d6 m3 G ?# L if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
8 l2 I6 |3 q. b# J Q2 g {, c" _ k) ?$ E. W( c5 R2 ~' }
pLight->Diffuse.r *= 0.6f;4 T) {0 N/ d+ l+ u
pLight->Diffuse.g *= 0.6f;9 ?5 z, |/ U7 x O; @1 R" D- X
pLight->Diffuse.b *= 0.6f;) \+ K1 b2 _9 M& `% T" f6 Z
pLight->Ambient.r *= 0.7f;1 x- n( ^ |& S& m2 |7 U
pLight->Ambient.g *= 0.7f;/ b; W8 ]5 Q+ V3 Y5 A5 [" d
pLight->Ambient.b *= 0.7f;
& b3 f1 `# K9 C2 ?2 i% M }. }% i3 w6 @0 i% G" a
j/ z" U i9 g$ F W- E8 v#if __VER >= 15 // __BS_CHANGING_ENVIR' j8 x0 o6 _$ r5 M- }: j4 M2 `
if( g_pPlayer )
+ y' g! i# Y9 k, c HookUpdateLight( pLight );( X6 z# Y& i8 z8 i1 {* ~8 _0 F$ s
#endif
/ V, ^* K; D/ P/ b memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );6 }& I1 z* z _! {% v" k( B w
( Q# a2 Y/ Z0 v7 |
pLight->Diffuse.r += 0.1f;
+ f) Z0 ^* d# G1 Q" T2 Z pLight->Diffuse.g += 0.1f;. _, s8 t1 O3 x' {
pLight->Diffuse.b += 0.1f;8 D3 Z! P* @7 z2 w2 @
// oˉè* ??à?
9 {; ~& k2 h4 c" g pLight->Specular.r = 2.0f;+ z4 |% I/ F, r
pLight->Specular.g = 2.0f;4 Q8 N2 y; y7 n1 E% z
pLight->Specular.b = 2.0f;- a' c/ m6 a. @$ ~5 C
// á?oˉ 1 _) `8 [7 K9 F
pLight->Ambient.r *= 0.9f;
" N9 G* o" i9 z$ w pLight->Ambient.g *= 0.9f;
G/ w1 A! N3 @6 f. F pLight->Ambient.b *= 0.9f;
3 t' q& [ d5 Z' q: ^% R- s+ y9 t( Z7 H: D
memcpy( &m_light, pLight, sizeof( m_light ) );
; y9 r1 V% {+ ^% ~( g
+ _4 X- ]- b, T" s! C$ i& R' P/ L3 ^ pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );% g2 T+ D8 W% P7 ]; c2 p, n" }% n0 ?
pLight->Appear( m_pd3dDevice, TRUE );! N* O3 d8 q& a1 _" H
' R" R* P. n% V8 L' K DWORD dwR, dwG, dwB;3 G0 _+ W1 Y' u) @9 J$ v5 g
dwR = (DWORD)( pLight->Ambient.r * 255 );, y: z' e0 V0 g
dwG = (DWORD)( pLight->Ambient.g * 255 );4 [4 E( ? J X$ ~" Q/ v
dwB = (DWORD)( pLight->Ambient.b * 255 );
, j2 N' {0 t3 E! p( c3 E dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 t- i% D) ^9 H; ^* o }
* d, s* D9 S+ t+ E$ n }
( [0 S9 c. T9 G6 W( n else. V) J$ g3 x% M- V: v
{9 ]! w) ~8 C( \
if( pLight )2 m6 O. r8 x4 B1 v/ \
{
+ C' F+ A! ^' ?/ ?
) T3 [* V: p$ n0 U; K# O u* l5 S int nHour = 8, nMin = 0;2 V! x) J; D6 s. |! T; k
#ifdef __CLIENT/ x6 w2 N( S7 y4 d+ p
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. ! D: N$ Z2 ?4 V
nHour = g_GameTimer.m_nHour;
5 J& T3 h; e. M7 H5 M* b" D0 b' |3 | nMin = g_GameTimer.m_nMin ;
/ k1 e0 w6 d; I& T8 p #else
" f- p+ b, x1 m$ c$ ^ // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
* T3 `& U( M- ?# d6 Y6 \ if( m_nLightType == 1 )
& k, L3 u" V: b nHour = m_nLightHour;0 M' C' @' }5 B( h$ B" v
#endif+ A2 l4 q& A i" q h' h
nHour--;
9 |/ h& @9 s2 R' x* H if( nHour < 0 ) nHour = 0;1 U$ T- Z! y; t$ t
if( nHour > 23 ) nHour = 23;" h" P* c* J4 m, a4 G
! Z1 }3 K' [5 u7 {' b7 Y: m' v% E/ v //if( m_bFixedHour ): [4 x# G7 g2 D
// nHour = m_nFixedHour, nMin = 0;2 U; w+ `* H8 _, U `( n
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
, K. Q9 M8 N) H7 ?* k6 _& k LIGHTCOLOR lightColor = m_k24Light[ nHour ];
! T: H! P( R, D/ K" N/ j8 \4 j6 Q" p6 z: K) z) w% c
//m_lightColor = lightColorPrv;5 ^( `$ z2 Y) {/ c9 F
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;, w5 Z% g, g& N* H. L' F
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
; O- X; h3 u5 F! U: w$ z+ a- t, p lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
9 n2 C. y1 L) l7 j lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
3 N+ N( q6 d$ y5 ?0 p m5 u lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
6 R: I! m+ H6 Y7 I- b. I/ T lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;: H, ^/ m9 T1 o8 n3 s! m
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)$ a$ z9 D% H0 `$ a6 x! _
1 ^2 G/ o$ _; _/ }7 ]1 S // à??μ oˉè* " T2 k1 H' R8 G* [3 m9 q1 O$ t) y
pLight->Diffuse.r = lightColorPrv.r1;
5 s/ F% d+ x7 x* I pLight->Diffuse.g = lightColorPrv.g1;7 g# |- ^- P C7 |5 Y
pLight->Diffuse.b = lightColorPrv.b1;
% k# A% o% A5 K, G // oˉè* ??à? ' e+ M) t: |, M5 f" Q
pLight->Specular.r = 1.0f;
3 z; M& j. i8 A pLight->Specular.g = 1.0f;
; o# n; K- _# t4 m pLight->Specular.b = 1.0f;
4 a& a% N9 ^. C# \& i // àü?? oˉè*
. P5 C0 V9 n. }) d) C2 [ pLight->Ambient.r = lightColorPrv.r2;( F- o L- [" s8 k
pLight->Ambient.g = lightColorPrv.g2;
9 C$ i* `# C% y* \ pLight->Ambient.b = lightColorPrv.b2;
, w" Y0 }2 U* h' v, B1 O! R% D! r
4 r% V. Q& c& j Q& I# s8 w: G if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
$ X8 p* j1 w+ {7 a! V, b9 A {+ D9 d8 L; p& t. e( }% i0 g. B J
pLight->Diffuse.r *= 0.6f; l, g; a/ `9 ]) C( m, l8 G/ m1 x
pLight->Diffuse.g *= 0.6f;; ~5 @: a, z( c6 e3 O
pLight->Diffuse.b *= 0.6f;
$ C- D9 ]. x2 A4 O0 M9 M* _ pLight->Ambient.r *= 0.7f;: }& T0 U7 s& J. u
pLight->Ambient.g *= 0.7f;* j+ v) `4 A# p4 J! W" H" p% X
pLight->Ambient.b *= 0.7f;
, h+ l7 t/ w* V% n" L }
V; C0 I! V4 \) m) }
$ Y; h& W4 h6 Y* q( v* }. I' R#if __VER >= 15 // __BS_CHANGING_ENVIR
$ k8 a: ~# c7 q% ?* c if( g_pPlayer )" m/ w+ s4 c& I& r% T# u
HookUpdateLight( pLight );
- z1 c( i4 u( n' a1 _' c8 o- v#endif" A* y4 V1 R( z6 l2 r" ^. U
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% n. _' D$ o. p6 w0 c, F
6 n' w5 y/ w, }5 ~#ifdef __YENV
8 h- M9 H* F+ ^- h. d- @ pLight->Diffuse.r *= 1.1f;
% p! a! l8 J5 E0 B+ R) L* t pLight->Diffuse.g *= 1.1f;4 E% w: L$ L N, W( ~) L- I @" I
pLight->Diffuse.b *= 1.1f;
. Z2 G# N1 O$ ] U9 P& a0 X6 p // oˉè* ??à? & k: r6 T/ j; W5 [6 F1 j
pLight->Specular.r = 2.0f;
* T; M. D5 c/ h& u9 l; J pLight->Specular.g = 2.0f;
0 m4 b/ c+ h2 q7 A, r" p9 u' \ pLight->Specular.b = 2.0f;
; V0 ]& i# j3 k2 L% w+ g3 Z8 J/ E // á?oˉ + ` U/ y7 E D. `) e
pLight->Ambient.r *= 1.0f;
2 M6 b$ n% g" Z! ?# J- | pLight->Ambient.g *= 1.0f;
4 U7 `6 M1 B" X" h# H+ i pLight->Ambient.b *= 1.0f;) `" L( N: x4 N3 z
#else //__YENV
% R% v2 V7 I# B5 r ~* `- o pLight->Diffuse.r *= 1.1f;
0 B# x9 f( H% A pLight->Diffuse.g *= 1.1f;8 e, X6 w: ^; z2 r+ e: M
pLight->Diffuse.b *= 1.1f; e; H2 t8 T7 G
// oˉè* ??à? 0 b, C1 X- [, M: ]8 _! S8 V
pLight->Specular.r = 2.0f;
8 c$ e3 A' u( L' h pLight->Specular.g = 2.0f; [( P3 Y* z& g/ Q9 i
pLight->Specular.b = 2.0f;
' m% }) o% C! O // á?oˉ
1 j4 \1 [3 C( ^0 ^ E pLight->Ambient.r *= 0.9f;5 N" u: C7 r5 z% \, U
pLight->Ambient.g *= 0.9f;
: H9 \6 t4 v9 }8 { pLight->Ambient.b *= 0.9f;
. y7 T0 Z. }! a8 m9 g' v#endif //__YENV
$ P% Y$ {* x' ^+ v5 ?$ ? , w& r+ K) I+ C/ z! }% s" H8 G
memcpy( &m_light, pLight, sizeof( m_light ) );
8 _! |; q) d, V' k+ Z' L7 t 9 g/ [8 N- }2 S, L8 R9 V& f
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);- Q& Z$ I4 J/ d g# i5 O& U
D3DXMATRIX matTemp;
# r+ K1 t9 A8 T# n" D% |- d static const float CONS_VAL = 3.1415926f / 180.f;
3 C* r9 ^ ]/ g, O! r8 F
! ]3 k4 d4 y3 f$ C8 [+ I# C! G& H" Q D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);! {: `2 D7 _& S: _
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
' H# i: ~. ]! |' i! ]6 a pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); & d$ F. Y: X6 ]- u
pLight->Appear( m_pd3dDevice, TRUE );9 p- x( ? g i9 x; Q" i* w8 ^
# n5 [ N# I1 O: x // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);& c% u8 q1 q6 F8 c& z! c7 w
// D3DXVec3Normalize(&(vecSun),&(vecSun));
, f5 N# {) i0 A: E; i; S // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
- n8 v+ G) l# E
) h) F; \+ I$ n! X DWORD dwR, dwG, dwB;! j5 k) I) B' ?: S
dwR = (DWORD)( pLight->Ambient.r * 255 );3 B! N9 o1 F* H0 H' C7 X" a
dwG = (DWORD)( pLight->Ambient.g * 255 );
8 k0 g+ q" U+ \3 }9 O dwB = (DWORD)( pLight->Ambient.b * 255 );; f1 y7 a8 S- M' r8 p* O) s
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
4 V4 A" m) m' J b1 O' ~. m: C }. R2 d0 g7 g! k4 T& y- W. {
}( t i/ T7 k) k5 j6 ^7 i
0 T8 _' ^2 W+ }6 J5 a m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );- T4 i1 m+ d% z 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) );
/ Q# J S7 l! y/ e- n+ Y ::SetLight( bLight );
3 J" U: B! x7 y1 Y( T) K3 N B1 g$ z% N
// ±ao? ?D?í???ó á¤à?
6 Q8 ~% b( b; s5 I) H+ G m_pd3dDevice->SetMaterial( &m_baseMaterial );
- T* [* F* k0 s+ L/ s + i* }* ~# Z1 H9 z' Y; x
#endif // not WORLDSERVER
. ]% T# @8 A9 ]4 A e) ^4 r}
( G) ?# {: @! i. Z% g4 }, Y" v, q并更换, f+ F2 e& S( x
Code:' g( ?5 h7 L5 H4 N
__FLYFF_INITPAGE_EXT/ W* k& p0 |+ A1 L& Y1 v' I
定义
- o" U% K; L" ~0 s* i. x8 @5 |: ~7 J5 ~- s# r
+ O$ g: f) {; O O. E
7 ]! B: m+ F0 A. p# X- }4 L5 o4 Y# |8 E) H" Q& U9 ?
现在终于删除我的狗屁加速...
' T! H) b( @# C5 D
" g! |6 U/ @$ f, w% [; J3 d# r
1 Z: o* C4 Y ~/ l8 G4 O8 A
* W5 o7 A7 n" [/ ] d9 F/ d$ u' F |
|