|
|
食品车:
% |) h* f) k8 ^尾翼:
! w! Y6 U" F; M* n$ u
& N6 L+ o2 E, z- D9 w( a" r: {代码:
; K) L6 l" L6 e7 U+ y. {+ BCWndAutoFood::CWndAutoFood()
, b+ E( P/ _8 Q2 P* F: l5 W{
, T! v. f( S. o' d; N3 x5 @ m_pItemElem = NULL;
3 R! T; k* P& X8 B8 s! J, _' V& x6 B m_pTexture = NULL;. p1 B. z! A' p& F: V8 [# l
bStart = FALSE;
T/ O9 C6 \! G0 \! h}
- X/ ]1 r) j) v. z. [; u$ e- H4 J3 U
CWndAutoFood::~CWndAutoFood()
! B# p3 }# g1 O5 {8 \5 ?{& V9 E3 [& X% j- w* o V
AfxMessageBox( "AutoFood ist gestorben " );
" Z5 B, P" x f+ e- ~- h1 M0 g* y5 ]}
) G& }! P2 q( Z# @6 z* Y5 s5 \BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType ): h. A: [ p8 b4 U) L; Q/ b( B
{
7 @2 Z6 y# r! G7 F' \) \1 v# U1 Q return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
( T/ U9 Q5 q" d3 U}
+ s4 L# z8 B& |" i+ d8 i% G8 V, u: E
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
% h8 V8 A) e7 T- [. J( S{
& G2 C0 h$ b) f3 c! ]- G8 C7 v LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
9 r+ ~; Q/ v7 Z( t( i4 y CRect rect = pWndCtrl->rect;
( M. `( K# [$ E if( rect && rect.PtInRect( point ) )
( c1 |' ^# w/ a6 G3 _ {
7 J9 k% |" w; r: O, A CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );6 H/ r" S1 D) X3 ^. @6 c$ R
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )( X d$ D# } {9 B* o( K% e
{4 `( G- m. ]5 [3 R
if( m_pItemElem )
: c& f; Q9 F% Z {# {9 m8 h2 Y; s/ a
m_pItemElem = NULL;- I& X8 @. S, J) _# v+ [
}. b8 X8 p; v" C% O2 ?
m_pItemElem = pItemElem;
+ B; z! Z1 p! k9 b* b m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );) _! u' Z% q) M+ W9 P
}else{
7 `1 w% ^5 G% W9 O7 }, x Y, I1 W SetForbid( TRUE );2 ]/ }; S- A* _- o$ V+ a, h) [' P
}; P( V3 ?- ]& O& v8 v$ P
}else{
6 S5 L3 {/ }9 b3 V' O/ Q SetForbid( TRUE );
. j0 B* o) G5 O2 U+ U+ s9 W( |' H' T: s }% p* i+ c$ E* |6 X5 W
return TRUE;, U3 b% C! D! C6 N
}+ I' P4 D. R# n/ [! h. U$ }) p, z
: I# {( e" S# {) i
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )" @$ ^; F; N& e; F. J* K& n
{0 ]' t9 n% X2 X2 ]+ V
switch( nID )
8 G# T1 l1 ^7 B4 q; q- z( J {4 H' p' g% Y' U4 j
case WIDC_BUTTON3:
" e( a8 Y8 L2 E& a& W {& H* _8 o0 m8 O
bStart = TRUE; h& P4 _2 ^- u2 e
break;
7 | E' B+ S( K4 m }
) `3 ^. k& }+ j7 b; t2 u$ ~$ D case WIDC_BUTTON4:& }4 g6 c1 S: i' I/ k! B
{( y9 i- \1 |8 B p3 r( k$ {
bStart = FALSE;% ^! C7 U" ?8 {* P- ]
break;+ k/ d* ?3 @9 L) |" Q4 x
}9 r* n4 G$ ^, G. x8 E
}% Z. N. b( _/ w% [- R8 r
return CWndNeuz::OnChildNotify( message, nID, pLResult );
6 P& \! k: S. I+ M5 L}
9 Y8 u- k/ R( S7 T. @2 u! ivoid CWndAutoFood::OnDraw( C2DRender* p2DRender )7 D4 q5 c5 q/ h$ V
{
$ B" e& h6 ^* s, k& P CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );% u3 v1 E: _5 n* K {
if( bStart || !m_pItemElem )" b. n; ?% H, q8 k) ~* ~
{
5 M. y5 r, ], R _: c pBtn->EnableWindow( FALSE );* Q) U0 m" C( Y
}else
. ]5 c2 P0 T3 F% n pBtn->EnableWindow( TRUE ); M( b9 Q( \" t5 b0 Z# x: s- r1 T; l e
if( m_pTexture )) H& N+ P, ~0 {3 H
{& V. K4 Q" f3 B# V
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
. E4 O% a! O% K/ d' {; T% x if( wndCtrl && wndCtrl->rect )
: y2 O' E Q* |- g; ^" n {
: r3 O7 {# W* l) R2 t- l( k* ?: L m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );/ Y7 f# j/ a( H& l
}
. Q% A. }" @9 F1 `* F& A P }
( r4 c0 j" Q& i/ M+ m) f7 g F) [}# W$ V% b% F* h6 _2 Z2 @6 D
f$ v; O& \1 I8 ~, b( v9 a
BOOL CWndAutoFood: rocess()
t9 E9 U j# t6 a{' V7 t7 X5 k% M3 j* o' m
if( bStart )# ~* p' ?1 A9 R
{
* W2 w$ {9 h# i5 l$ J. A( X: n if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )( \+ d0 y3 E; [5 D
{8 L: T/ q; {. o7 H. z6 ?) g3 ?
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
. S; x5 J; n8 Z! }7 w7 E. U g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );0 E- A# G. c r9 Z+ ^" x4 k8 P
}else{
: j( j2 {' i2 A' |: o bStart = FALSE;
: S6 D- t2 F8 i, b1 @ m_pItemElem = NULL;9 Y6 e4 Y, g9 F. W
}
! t- `& Y5 M3 u7 d2 T }
1 a V/ d& j' ~8 v return TRUE;
7 }0 {+ T! A) @. P) ~' V}
& R& y, a7 u( e
+ J" Z! T# G0 S9 }登录视频废话:
- V3 S; f. Y/ w% \, F8 K+ r! }尾翼:; ]% E8 H% M+ B! [4 o& X
6 X* K6 y& c4 F9 G* v4 ?$ E5 D- D代码:- A. K9 y: H( d) A) M
e( x' o( A) K) G6 C- |8 i; Bvoid CWorld::SetLight( BOOL bLight )- ^7 c' H' [- o
durch
\% R7 n. H( {2 u: i2 zCode:
+ W. P+ v8 a5 x' R: }void CWorld::SetLight( BOOL bLight )
1 b6 ^1 x% j, z# c7 ^{
6 d! @0 _6 o6 ]/ E8 Q: L //ACE("SetLight %d \n", bLight);
+ X! {9 P5 J6 Z$ y& t0 J/ S 8 H( ]9 f- A6 w
#ifndef __WORLDSERVER
) z4 N5 R4 b& R, R6 B S; b5 ` g DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);! `9 O' V Q+ U1 E
CLight* pLight = NULL;
+ N7 D) D8 E$ V$ v' a8 ]( }1 M7 `! e% X+ V4 e. e
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
+ V8 N5 A9 ]! \' ?4 _ h. F' P1 E0 l0 ?5 C" R
pLight = GetLight( "direction" );2 `3 X& K; {4 ~* r* S4 D
( n$ v# E( R4 z5 P#if __VER >= 15 // __BS_CHANGING_ENVIR$ l/ K5 e9 s C# ?
if( g_pPlayer ){- f* x/ K" \% O% S: f9 {* ?
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
5 I% [; u! l& i2 M if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
* H1 Q3 L* z$ `- B. b { u0 s! d: a" N
if( pLight )
6 V3 V/ R2 }; N1 [6 u- P {8 Z+ P! q8 n: r5 p& W& ^
pLight->Ambient.r = pInfo->_fAmbient[ 0 ]; [3 j2 F2 t3 R& `
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];! V2 C6 o/ Y8 X# Y3 v
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
6 l& R2 g8 X) b& r( b) V2 X) t X% u; K9 e$ m
pLight->Specular.r = 2.0f;3 ~- M$ f+ t. y q
pLight->Specular.g = 2.0f;- q% L# n: S5 y$ l4 W* M' y; R) a
pLight->Specular.b = 2.0f;2 C8 V' M$ R: M9 @2 F' a
8 ^7 P* o# m$ F3 J6 I3 \ pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];$ a- V @ }" q4 d9 H+ z5 t: j
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
~6 m) ?, T( L4 o! j pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
& B8 M( ^+ K+ @; O3 T# b* A' N R , y) h% b; p- D i; q) ^6 ?# k! @
HookUpdateLight( pLight );
* Q; H7 x; y( [/ j! U/ l
' \! }( M$ M# V' q# e memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );# b' B2 ~! G! R/ h; V" E
1 x$ @# t* V: E* O1 f& {
pLight->Diffuse.r *= 1.2f;! e0 N3 `7 z) k" V( @$ t" Y9 w
pLight->Diffuse.g *= 1.2f;
5 S) T8 {) e7 A3 f% ~% N; n5 x pLight->Diffuse.b *= 1.2f;
6 A3 R1 z: z) k( w- J
* e, q, ~3 g* O pLight->Ambient.r *= 0.8f;9 J+ e. O, _9 y
pLight->Ambient.g *= 0.8f;
7 P% i9 E* O- Q3 `6 K3 _ pLight->Ambient.b *= 0.8f;" I; w. S, v" f- F& O
& w, p) v' K' Q4 Q8 R" ~
memcpy( &m_light, pLight, sizeof( m_light ) );$ k6 D4 R5 R! n, R# e
2 q% j1 u* G T/ M/ \" P
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 b8 h1 @9 y2 {% u D3DXVec3Normalize(&(vecSun),&(vecSun));, Z3 P$ M7 S. m+ \% b
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ; z2 V6 H# x0 [2 t* h" t$ R
pLight->Appear( m_pd3dDevice, TRUE );
" i/ y- o5 ^2 N( H- p. e% s
9 Q& q6 a1 o9 Z: D8 | DWORD dwR, dwG, dwB;: ]4 h- P9 J! n4 f. O# _
dwR = (DWORD)( pLight->Ambient.r * 255 );
- T, f6 Z: R4 X; w, l; M dwG = (DWORD)( pLight->Ambient.g * 255 );
+ @% @, |" ?2 { dwB = (DWORD)( pLight->Ambient.b * 255 );
, _$ U+ o* a* m dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; z' z) a1 e1 }* o8 p }+ e% `9 c, a1 o/ {0 K
}0 }9 l3 M4 C. k3 \* W
}& P) W8 a+ k5 V% v2 {7 ?
else
, g5 ^% F3 ]" i) @8 S#endif
! E# H( R+ }' P& u s3 q( R' N9 O1 ~" [/ M" {: |2 o9 J- O
if( m_bIsIndoor )1 C$ X: T6 s: K; ?9 _ \& |
{
2 J. f E4 |0 I if( pLight )* Y0 ^; a; V$ n% f/ T6 E# p& Z8 `
{ 2 W3 c! g, z/ N6 J4 ]: w7 J
// à??μ oˉè* + r$ [- O! r- a. T2 S- ?
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
1 z8 a2 r0 @8 J: g* g pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
- e3 i: j0 d- r( y pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;' E/ R0 R/ D1 `' |& K [2 e, v) i
9 |/ q+ @& m) n6 ^' n4 O
// oˉè* ??à?
3 e: r0 a+ }5 P( Y% P pLight->Specular.r = 1.0f;4 }+ _! b& Z' m* x
pLight->Specular.g = 1.0f;1 d/ \ W- d' [% ^
pLight->Specular.b = 1.0f;. r+ A2 e3 P6 d3 J5 R2 S L
// àü?? oˉè* - M( c2 G4 n0 ?' Y3 k4 J
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;9 J! F1 g+ c$ Z x& o
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;7 e( b4 c2 I( w! N
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;1 h" n+ Y$ a: @* S: w" Q: {/ j
$ `; [8 G. H3 H" {- { if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
* h$ [" [0 h/ @$ \8 T2 M: f {2 r0 K9 _ G( m! S8 M) |( s8 v
pLight->Diffuse.r *= 0.6f;
( l8 p- {% B9 S pLight->Diffuse.g *= 0.6f;1 _2 _# E- J( L8 C$ r
pLight->Diffuse.b *= 0.6f;
- O. q2 @ N/ d w+ N( C _ pLight->Ambient.r *= 0.7f;
% b. u: r& K* w pLight->Ambient.g *= 0.7f;3 K5 v9 Y- D6 N+ D: ~# ^& _
pLight->Ambient.b *= 0.7f;* z* f2 w) D9 F$ O X
}
- o4 O1 U- E0 h8 U5 p
; o% [1 S! W; d+ }) e#if __VER >= 15 // __BS_CHANGING_ENVIR
3 L& Q( M4 d3 O, U1 r8 | if( g_pPlayer )
" _' z) N+ w9 ]7 j7 d, o8 G HookUpdateLight( pLight );
5 p4 \5 D$ X' D% s; k5 u#endif- ?- M; Y1 W" C3 c! c
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );$ z S% E7 {5 K* o# c
+ P7 O g% Q, |/ \+ w8 s pLight->Diffuse.r += 0.1f;
, N+ u; i" G# C. T4 }1 Q. f pLight->Diffuse.g += 0.1f;
" E& E0 r& {; T pLight->Diffuse.b += 0.1f;0 I+ |3 s Y n. S$ ^$ L; Z
// oˉè* ??à?
4 v: Q' {& F) c* S0 R pLight->Specular.r = 2.0f;; w3 z/ d, i0 P! f0 \
pLight->Specular.g = 2.0f;
6 q+ @/ I9 w2 c& P pLight->Specular.b = 2.0f;
& ~+ @: F5 ~3 d' n // á?oˉ 8 @8 C! I) q+ y1 D( O" A; P$ ?
pLight->Ambient.r *= 0.9f;
2 X6 @ B" m6 f) E( ]) ` pLight->Ambient.g *= 0.9f;( Y4 d8 B9 |8 o
pLight->Ambient.b *= 0.9f;1 \7 `5 V& b! s4 E; O
8 a2 z& }- s& D0 u+ h memcpy( &m_light, pLight, sizeof( m_light ) );
5 y" ]! k% D% g' B+ U
4 K/ ^: h. B. `4 e4 S pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );- X+ g# C' R) w; C M
pLight->Appear( m_pd3dDevice, TRUE );
0 W6 a M5 P& | ?0 i7 g: S, a/ v, {# o
DWORD dwR, dwG, dwB;
- w) S, y/ j" o- ? dwR = (DWORD)( pLight->Ambient.r * 255 );7 ^0 u+ k2 B; k! k1 U2 |* @
dwG = (DWORD)( pLight->Ambient.g * 255 ); R1 ]/ ]/ `1 s+ Q% L+ P
dwB = (DWORD)( pLight->Ambient.b * 255 );8 r. i2 n6 R0 |" S1 T
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );6 ^) D7 T! _& n# p) D9 i
}
& D: w" Y& J/ e* U }
1 w7 Z |! s6 T- J: y5 x$ @0 w else. g! p, X J) s x6 S
{
; A% \" ~ E( k8 s( y+ ]! X- C7 B if( pLight )
9 k4 ^1 G. N; T% L2 [0 s, O9 a {8 \6 {( G+ P5 I c; @
) e: ]7 t/ ?) _, |
int nHour = 8, nMin = 0;6 F6 z* q8 q, r1 s2 [+ c3 b# f/ _
#ifdef __CLIENT
! `2 `- Z+ t/ P! n$ D- q // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 8 ^) j, ]( }4 K1 f E6 ]# d
nHour = g_GameTimer.m_nHour;( Y. R" X7 o: [& u, P
nMin = g_GameTimer.m_nMin ;
@" e! X" D( a" h2 M/ i. ^4 s( I #else1 s1 p# C! \" L- `
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.3 c$ |& Z2 K& [! d
if( m_nLightType == 1 )
+ ^* Z8 r! L8 w$ W; j+ Y7 h nHour = m_nLightHour;
: M, V4 }, W4 T4 g5 c9 N* E #endif( L: v- j w4 u+ R: l
nHour--;9 h c+ b) n' |' l, R; E
if( nHour < 0 ) nHour = 0;
K2 w7 R. D0 e* ~; I6 L" [ if( nHour > 23 ) nHour = 23;
4 H f0 I/ ~; i" @
* u: O9 h! F- C+ X; c9 E% p //if( m_bFixedHour ). W! v- t/ q/ _1 H( G' [
// nHour = m_nFixedHour, nMin = 0;
# ~3 u: ~3 b. k% J# o' v LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
4 n0 n! {6 B, ]# u z8 l' O2 r4 v% g LIGHTCOLOR lightColor = m_k24Light[ nHour ];* U) t0 i3 ]9 o! r- Z
1 K' ]4 Q7 v8 Z
//m_lightColor = lightColorPrv;& X$ |! h" B2 ]& g; A$ I
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;1 W- X! s& [9 D) B. k( f3 }. U
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
" ]1 W9 I8 d4 W6 v9 A lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;# L$ _4 H7 ?. G5 }
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
% [/ @6 Q; I( ~5 j& d0 _0 E K lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
1 J1 Q0 E& q1 q' w0 y/ ^* ? lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
+ F0 @ b+ ?. H" H# q1 j // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)7 A( b! V) n# Y* ]* Y
- k9 w. N5 U9 v5 ^4 z# i- U) n // à??μ oˉè* ( ~/ C/ F* r, U# |' t {
pLight->Diffuse.r = lightColorPrv.r1;
" \1 g; |, ~* T& w pLight->Diffuse.g = lightColorPrv.g1;
" \9 \: U i5 r pLight->Diffuse.b = lightColorPrv.b1;2 t4 e* u1 D) r/ A' r
// oˉè* ??à?
$ z) {* V: F' V* m4 f8 i/ x pLight->Specular.r = 1.0f;
: o6 F+ Y" Y# M3 y; ^! h pLight->Specular.g = 1.0f;& u5 {6 N- r$ y# r9 Q
pLight->Specular.b = 1.0f;3 v( D# {- o8 Z9 ~. K
// àü?? oˉè*
. Y$ L" l7 r. @( O9 {- k2 l" ?9 D pLight->Ambient.r = lightColorPrv.r2;* f+ l& Z! U' [7 Q
pLight->Ambient.g = lightColorPrv.g2;
0 h& S+ W) ?/ B/ Y$ p- r; p$ [ pLight->Ambient.b = lightColorPrv.b2;
8 l* k' c! o$ Y4 u
6 v3 g+ F9 y7 d) T. T7 Z4 H ? if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??./ t% H& o2 o! ]
{/ r$ l4 ~$ L; |, c+ @2 ~) m+ }
pLight->Diffuse.r *= 0.6f;
/ V! j& E0 f& G3 O. h" v% M pLight->Diffuse.g *= 0.6f;
- u1 y; h( _. P9 E pLight->Diffuse.b *= 0.6f;- u6 D( `% T! i6 ^1 k% E
pLight->Ambient.r *= 0.7f;
& [6 Q1 d7 T$ s/ M pLight->Ambient.g *= 0.7f;
, G9 O) B. t# a8 V pLight->Ambient.b *= 0.7f;# F/ R6 X1 q6 G8 Q$ t" N* F8 I
}% R/ t% v+ _/ ?5 x0 H$ H q
) E4 n: g7 k4 M4 Z#if __VER >= 15 // __BS_CHANGING_ENVIR! x& s( c) s" J7 ?
if( g_pPlayer )' }7 g8 J! C2 ? S, N5 X* i
HookUpdateLight( pLight );
; |# L1 K& A `+ k#endif
8 z6 _* H$ ]7 o% N% N$ h; a memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );1 N& M. _7 @ }5 y
0 b4 Z5 J j9 H+ N: r: t#ifdef __YENV) G# |' Y* }0 F" C
pLight->Diffuse.r *= 1.1f;
) s$ r- f; ^* i5 y pLight->Diffuse.g *= 1.1f;0 I1 w: H& b. d7 ]7 F# O, u0 L
pLight->Diffuse.b *= 1.1f;
) T" i) ^- V( V* I$ U // oˉè* ??à?
, R9 e b' j" g$ [ pLight->Specular.r = 2.0f;
# B9 g4 @8 ]/ u4 ]) r& m* n( S pLight->Specular.g = 2.0f;
& l( O6 @8 v8 q" ]- b8 y- N; o pLight->Specular.b = 2.0f;. j3 I& v: _* M) s& a, _
// á?oˉ , t+ E6 M1 [- Q3 v" ~( b0 b
pLight->Ambient.r *= 1.0f;' ?) |, u" u+ x. w. ] ^: t
pLight->Ambient.g *= 1.0f;" n( x4 ?1 @, p' G" C, m, G
pLight->Ambient.b *= 1.0f;
4 D/ ]5 g3 f% [; _* O" y) O#else //__YENV! K) A1 i4 y3 W# f7 i
pLight->Diffuse.r *= 1.1f;
& F+ B+ t) C* L' y5 s, R1 g3 s pLight->Diffuse.g *= 1.1f;; N8 ]8 c% b+ S# U- |2 M
pLight->Diffuse.b *= 1.1f; s3 ?( [" N0 ?8 L0 \6 i
// oˉè* ??à? " @! E/ W/ N$ j: j
pLight->Specular.r = 2.0f;
9 X' x2 m V+ z pLight->Specular.g = 2.0f;
* D i7 L1 M; I* ] A: p pLight->Specular.b = 2.0f;/ g$ a4 e1 v8 l8 O- s" z) h4 R
// á?oˉ
; d5 g& W8 J3 c0 ` pLight->Ambient.r *= 0.9f;4 e* [+ l; G9 n8 |
pLight->Ambient.g *= 0.9f;
0 X( I' n+ {* E pLight->Ambient.b *= 0.9f;0 q1 w) x: f9 K$ h J/ Z
#endif //__YENV
, J; F* l) E r) f/ }0 \$ Z5 t/ ] 8 B0 L5 c: G+ r$ R1 \7 n
memcpy( &m_light, pLight, sizeof( m_light ) );
2 h: g; X/ t# A5 Y " L0 R- n* M" J( H3 J. h w
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
5 z, [. @" B2 M- C D3DXMATRIX matTemp;1 ~( l3 j$ Z3 `) A
static const float CONS_VAL = 3.1415926f / 180.f;5 ^& Z& [9 |. O; j) W+ }$ g
6 ~7 ] t7 A, q
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);" {1 H2 d9 d$ ]5 \
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);# B4 Z% z5 {1 q% K
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
) x) g- n" R M( z4 ?. s9 s) a e pLight->Appear( m_pd3dDevice, TRUE );
* n5 _) p/ A9 L d! f* ^3 X3 D
! s/ r, }+ c" w$ K' ^" s5 m // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);$ A2 i' Q: ?9 U3 P6 y+ J4 `2 @1 J
// D3DXVec3Normalize(&(vecSun),&(vecSun));4 l9 Q% ?# F# Q: v1 p9 I" P/ b
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
) L) {6 R, B* o7 Q- x) K& t: u( n- K* l' H8 h/ I
DWORD dwR, dwG, dwB;
; J v2 _; n/ a" ^+ Z9 |! Q) a dwR = (DWORD)( pLight->Ambient.r * 255 );$ e( ^' l* A3 _
dwG = (DWORD)( pLight->Ambient.g * 255 );
M3 k% N& K$ i1 `7 E8 B; O dwB = (DWORD)( pLight->Ambient.b * 255 );
3 W" I2 O4 M& C( |' y% t* z dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); & S" f# n. Y1 b8 ]9 x" g
}) H* u' y: Z$ J3 m$ F7 D- O, u# \
}
7 K7 @6 g. [, e* H$ R0 O' j
; Z2 G0 M8 }8 f7 F4 \& G( q* n" l m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
0 [8 F5 x8 @, u 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) );: |+ }# U* ?# |6 v8 T
::SetLight( bLight );% v4 K) |2 T+ {" @
! }) Z. A1 ?$ ?* O
// ±ao? ?D?í???ó á¤à? ' [; k; G& [0 \+ J! z5 t4 B
m_pd3dDevice->SetMaterial( &m_baseMaterial );
7 ~% q* |' D M$ _! x L P0 ]/ k; N - H' }6 d, q: ~/ e$ ]
#endif // not WORLDSERVER
- F7 g$ [8 S6 `2 M}
. A! {% f, f9 a& J& T并更换
* ~5 x2 q% t2 l* a" S/ \Code:
. V; _2 D5 `( r# w8 A__FLYFF_INITPAGE_EXT5 W. _! A( R# ^2 c& e/ f, _, F$ u
定义- M' Q* t/ ~6 E* z( s
1 ?( Y, ~6 r, c$ {! T' m; M/ }
+ s8 S7 j2 k. `# m$ B2 L6 N2 s; Y
% w: t0 u& L+ g- Q8 G) `2 d
7 v/ Y3 `. a- Z1 d( T$ Z6 `现在终于删除我的狗屁加速...
/ u$ }5 S3 D& F6 H7 m+ Y c+ D% U
3 r( O( H( \( M) X& X$ T- ~: v' b2 ]$ R7 p D, F
6 d' \& ]" T3 g% u/ k9 z
|
|