|
|
食品车:
7 x8 V; R3 e3 k. v尾翼:) `8 m8 y/ t& t* F! ~) T+ d: Q
' C7 | L4 @+ H8 r! Y" [
代码:
6 _+ O) j# j/ p6 t! w; J0 y$ D5 }CWndAutoFood::CWndAutoFood()" _( e9 G0 G, I
{& ]; Y4 J+ h( Y7 ~6 M/ m0 l3 w% g! X
m_pItemElem = NULL;
9 Z) N. u. m+ o" c* Q m_pTexture = NULL;' h3 ]! I; B s8 L4 ]# X
bStart = FALSE;3 J7 H1 h6 S- w1 s# X: B* ?
}$ x* }8 b# x! R1 m% j
# l: c, e; e0 n2 m
CWndAutoFood::~CWndAutoFood()
: z9 Z9 F& V( D1 @# p* F{
8 H1 B+ X+ K4 c1 f3 Z- ~ AfxMessageBox( "AutoFood ist gestorben " );
2 ?( K5 T A" i5 ]}$ {9 A7 `" N# `
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
6 L1 N r- D0 }1 A1 j' r; W3 @" S6 l D{
1 i( C1 ~( |3 x4 C# k6 i. G) I return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );' t4 I5 e1 U6 {; i) T, J6 J
}
- W5 |, ^" G: D* l9 Z1 g$ Q+ n5 d: ?0 @
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
. C* N1 w6 f- Y$ a% d2 a" D* U% u{4 E) Y1 K: I6 G c4 A
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 ); F& P' v8 Z. r
CRect rect = pWndCtrl->rect;
$ G* M h" b" E6 l s t if( rect && rect.PtInRect( point ) ) U, ]1 P* q0 E9 c$ G& e
{5 ~& c. @! g1 C: C4 z% U6 s! O
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
! {6 ^6 V c6 @8 a; b8 Q0 I1 N: Z if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )6 K) Y9 f$ |: a2 ~2 N7 x$ N
{
0 t! _% ?: e# e1 H% o if( m_pItemElem )
* t) w7 l, t& N' B {7 D1 q7 d: X4 h& O( w* s. ^) u+ V: f0 [
m_pItemElem = NULL;
1 m8 {& o0 K$ {* @: g }% O# L; u) Z1 V5 h6 h& E
m_pItemElem = pItemElem;
1 Z5 v. \% L9 v* F+ U' m+ n* M' V m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );' i5 n, @$ x$ j- n9 X `0 e+ y
}else{
. y) ~! E9 V' y g% U1 N SetForbid( TRUE );
3 q! K0 g0 S6 [8 Z }
/ W* j/ U2 P/ q# }( j$ j% ^. e/ ? }else{5 r9 G' r! X. t) m
SetForbid( TRUE );
- ^# {: G6 M3 Y3 i ^: `& {/ D }
2 \! D5 x) d5 U2 p. u4 i return TRUE;
) N6 J( d. ]- ]8 i& W}; s5 |: A3 u1 z' |) t" i3 F
3 G. y0 G: ^% V) ? \BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
, @/ Z3 T$ K/ H{) _ U* ?: Q7 D4 r: T8 A! C9 z
switch( nID )
. S6 h }( K$ a. a {
. J" M# |4 x1 ?, O) a case WIDC_BUTTON3:( N) A0 K' f+ S Z
{$ l$ j- U9 V& _" P2 Z2 s( [
bStart = TRUE;
3 B4 [ g' \! s6 E break;
" E9 Y# {3 o$ w- u4 B8 x } i9 X9 g# [3 u% @
case WIDC_BUTTON4:
+ e" Z0 ~% x8 ^" Y { i$ p8 a4 r+ B) U' ?$ r
bStart = FALSE;) M" z O4 P) U2 C8 S
break;
, ~3 B( d8 J a \% B* R }
- W% H6 b; f- a7 l' y }+ f: Q: p; M* }' T9 B& {9 I
return CWndNeuz::OnChildNotify( message, nID, pLResult );: Z. p. ^( v9 p, \7 o j
}
7 b; H) n1 N/ p$ _2 p; z7 }void CWndAutoFood::OnDraw( C2DRender* p2DRender )1 ~! V+ j8 u9 T! ~' X& y& o
{
$ ]+ _( Y1 f8 ^2 ^ ^2 y CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );/ p" z$ N9 X& @
if( bStart || !m_pItemElem ): g" _- n9 N2 `, Q: {
{
) o+ _9 V7 y8 {) U3 J pBtn->EnableWindow( FALSE );
/ q6 \0 U2 y' q- p }else. j3 R8 z1 Z, Q
pBtn->EnableWindow( TRUE );) n) d, A: }6 u% L$ M
if( m_pTexture )& r. N3 ^/ N( i; w% f+ E( O' [( h+ X
{& {4 q1 W. W" L1 {: ]
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
1 E2 p* A" ^! I( l" W if( wndCtrl && wndCtrl->rect )
6 k Z% p0 y9 M0 i: q {
4 Z& o) z% f$ w* n8 i# A m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
/ t4 F) b% F- w7 [! f3 z6 N1 F6 L5 Y }6 c' u; q0 a0 q5 \" }
}' { P4 }) g' q1 J
}
* _* b2 r% Y, C# z2 S$ N2 [ G ?, }) D, J( u' k
BOOL CWndAutoFood: rocess()
8 s/ E3 P+ E' ^) T6 R' t{
% m, }' x n7 @3 ~: [7 I! G if( bStart )
" T5 P0 u! f2 Q {
3 }6 b8 E# c4 l1 L( Q+ u8 I( n) c if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )) S) b( t) D) c4 c9 l! |( n# H2 \2 k
{0 t, Z. k- L# P6 c" E. b
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
$ k( b! Q# W8 D- _( \ g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );/ n) K$ d2 ]1 b
}else{" x( o: y* Q; i/ k; Y
bStart = FALSE;7 h: {* i3 |( ?2 Q/ V
m_pItemElem = NULL;
7 N3 t1 h+ x& N }4 v/ [' Z2 }$ ^6 }) s
}
. ?9 Z1 f. i# N* z' \ return TRUE;6 H' G& P4 O) K! F
}
; k ^# c' r( [" g7 [5 K
% M1 N I" u( E% h n n: P登录视频废话:! I- i- [# K0 o: ? Q
尾翼:
+ {- K; c# a& o4 U" u( F
) l" H% T; K5 g& v* d! f代码:, z) E: N. ^2 m
4 d9 _0 n y- o
void CWorld::SetLight( BOOL bLight )
1 S9 @3 t- \. e7 V- X$ }0 m- M* Fdurch5 p' V; y: U$ u- a: J) L* t
Code:
" W: n |5 G! U0 c- o5 `void CWorld::SetLight( BOOL bLight )
8 c! [2 |: n$ n{
# J7 _' O" P8 v //ACE("SetLight %d \n", bLight);
/ {2 U$ o" z) V+ R / t8 o. ?0 r) e; O8 n7 x
#ifndef __WORLDSERVER ' {% @7 r$ n# a7 [9 h ]! E* L
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);, \. {* I: f7 N+ E6 p! d
CLight* pLight = NULL;
2 D4 P/ G, {* L* f. q' ^
& h- D& r5 ?, ?: b, k6 v! ~ D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );+ X; Q8 L% c, n& P
' o) d2 o2 j1 L9 I- f
pLight = GetLight( "direction" );
0 _1 X1 C4 v3 W) t
$ v$ \+ ?' P% F9 G/ Y% N! e2 c6 o#if __VER >= 15 // __BS_CHANGING_ENVIR4 \9 W0 a- z6 H* ~# y# F( m6 V
if( g_pPlayer ){
; Y" @ K$ t: J* V4 Z, F ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );$ r. q" G+ D) p) N) m. ?
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!2 z! D$ @( N# h6 r" e- S+ ~
{6 q V- w& |) a7 w& b4 l
if( pLight )- u b d4 n5 y1 Y
{7 F J# N1 ~: g* L1 I; R4 {+ y+ T
pLight->Ambient.r = pInfo->_fAmbient[ 0 ]; v) y% r5 q! c; F6 M2 j
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
% r( C* A$ K/ f. D+ P pLight->Ambient.b = pInfo->_fAmbient[ 2 ];5 Y. i/ x3 y3 {. f
6 {9 Z5 p6 M8 A) s" r s# ]( K& ] pLight->Specular.r = 2.0f;
7 U1 c% O% d- ^* J8 q" v pLight->Specular.g = 2.0f;7 G2 p4 Y* h1 N x
pLight->Specular.b = 2.0f;, H1 v l: M6 \# G, J' Q* B
0 H2 u1 C1 h5 {4 j' l( u8 U
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];1 B' h9 r) \0 T. @& ]
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];1 g' `/ {+ B& Z
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
7 a- s$ g$ s0 ^9 [% ~& I7 R / P4 p2 Q7 V+ @, l. o5 L4 ^
HookUpdateLight( pLight ); ; o6 ~& A% b- C* e
A' C! h1 t5 I memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; Y% w* Q" L; r6 O- `7 h& ^ 0 B9 H& e( D- u, H$ d) z" }4 {3 \
pLight->Diffuse.r *= 1.2f;( }! d7 D- W& L( R/ x
pLight->Diffuse.g *= 1.2f;+ Z# _2 P% C. I" O2 E% [
pLight->Diffuse.b *= 1.2f;
4 g4 [# r5 Q8 U, q) b. |; l, e o6 i% S; e2 R
pLight->Ambient.r *= 0.8f;+ A+ t% D+ T( Z9 b
pLight->Ambient.g *= 0.8f;
- w* g/ f1 j5 { pLight->Ambient.b *= 0.8f;3 @0 [' j( V. W
/ a! s( c5 E( }4 ~4 } memcpy( &m_light, pLight, sizeof( m_light ) );& |# S6 J7 u% g4 i. o
2 T' n6 |1 n2 {
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
- V$ H) Z3 x: l$ A9 ^ D3DXVec3Normalize(&(vecSun),&(vecSun));
0 B( o8 r9 l0 d pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 8 o! |, g# S4 W! ] j3 i7 q& b
pLight->Appear( m_pd3dDevice, TRUE );4 j$ ~/ e4 J8 O
2 }" r( I+ U, H1 W
DWORD dwR, dwG, dwB;
( O, z( W: F$ T2 V" [; d dwR = (DWORD)( pLight->Ambient.r * 255 );
" @, @0 [- f; J" k2 e dwG = (DWORD)( pLight->Ambient.g * 255 );( Q5 Y1 M' v3 r* B1 _
dwB = (DWORD)( pLight->Ambient.b * 255 );7 J' D& I0 S \9 _1 z" H
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
+ x* d' P/ T& A, C4 J+ `5 l }/ h0 f( i! R% n5 X1 N% B2 _
}& x3 f* L# c6 t' x! p9 |
}' u$ ?. Q) q: y
else1 \9 W0 i8 `8 o$ p
#endif
4 y' a4 _& V0 k; E7 T q# W7 b0 @7 e$ R
if( m_bIsIndoor )9 Z6 K3 f% s3 B# o5 A
{
. X* e {4 K& H/ E0 L3 | if( pLight )* W3 F1 p# ]! s
{ 4 ]0 }- i3 ^6 G/ Y; b G
// à??μ oˉè*
& ]7 V& y+ W X: v# c& K, l pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;2 B# U# ~% U* S3 x
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
( F7 h8 {, k! W R" }$ T1 a pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
r' B$ H9 j4 E+ N" Q! l
: G6 @" w0 E; V8 R // oˉè* ??à?
( [. {8 k3 M# e% S" F) k8 b pLight->Specular.r = 1.0f;* c" }( d3 `. a2 V C
pLight->Specular.g = 1.0f;
0 Q" F' ]& b0 |$ N) f pLight->Specular.b = 1.0f;+ |5 {' r, b5 e7 [* _. ^' v, l4 h
// àü?? oˉè*
: Z# p. i1 E6 s+ s4 P v pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;3 e: l: p0 C; K( F8 k9 k& y
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;3 o: y4 a4 q. I' }% @. u
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
" w, h( X3 F8 i* ^* p3 _- `9 s: [8 l5 R3 R+ x( h' H
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.+ x% ~' R" @/ _& `& M S
{! b3 c% z; h* o R4 p2 V
pLight->Diffuse.r *= 0.6f;6 Q, C7 g# g8 X2 {
pLight->Diffuse.g *= 0.6f;
2 p, P7 h' T. P7 b: q pLight->Diffuse.b *= 0.6f;
& a9 J6 W6 L: I pLight->Ambient.r *= 0.7f;
; j& F2 B A* r, @. f$ H pLight->Ambient.g *= 0.7f;6 G+ Q. C9 H( S3 r$ R- z
pLight->Ambient.b *= 0.7f;
) ]3 g# c1 C5 i3 `$ ?* C }5 R+ c) {% {+ ^' g
5 S4 ?4 f: P! @5 h2 I# m3 U6 S
#if __VER >= 15 // __BS_CHANGING_ENVIR
& ]( }, T6 _& ]/ Q7 } if( g_pPlayer )# C/ M( A/ t( J, q1 U
HookUpdateLight( pLight );
+ ~/ w: n# B5 N4 n7 c* r2 B- \#endif6 V, h, W' w6 C
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );% @2 w+ O! [. i
, W8 F3 Z; o; w% Q, M$ A/ o
pLight->Diffuse.r += 0.1f;
) w( P/ X6 T- k pLight->Diffuse.g += 0.1f;
( x8 b. I& ?( [% s7 B pLight->Diffuse.b += 0.1f;
( C) X. g* ]7 H; ^. q+ V7 p // oˉè* ??à?
0 E6 C, C$ B, {+ r: c pLight->Specular.r = 2.0f;1 h0 P% `6 H- T4 r [
pLight->Specular.g = 2.0f;, _4 I% z U* D* P3 `8 x2 }1 b5 u
pLight->Specular.b = 2.0f;* w& Q( p: T# _/ y; w) L( [4 b
// á?oˉ
8 H3 A7 ]8 R8 t: C* q pLight->Ambient.r *= 0.9f;* }2 n; L( T& ~1 }% T: j
pLight->Ambient.g *= 0.9f;
* e, s; C$ u& b# H3 B pLight->Ambient.b *= 0.9f;
: m& H( F- D/ e4 Y. Y _; H# L. |
& j) p7 \5 z) ` memcpy( &m_light, pLight, sizeof( m_light ) );! Z( k5 P. Z9 T* H+ S
( M3 g# p3 T0 j! z+ I$ s. J
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );, {/ M. W9 W2 e* O
pLight->Appear( m_pd3dDevice, TRUE );
$ j* \7 x+ W7 v; ` 9 ^4 i. Y3 `: J7 G5 Z9 G; W. ^
DWORD dwR, dwG, dwB;7 t( `2 `, G2 D$ i
dwR = (DWORD)( pLight->Ambient.r * 255 );
# h% U* w# S$ A- ^ dwG = (DWORD)( pLight->Ambient.g * 255 );
+ d3 T/ `/ q2 i7 Y( R dwB = (DWORD)( pLight->Ambient.b * 255 );
9 [) f0 y# O i+ m dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- W9 A5 o) J5 ~4 ~, r( Y }
( u5 _7 Z9 c" p( F! A }
7 Y- @, B9 s3 B% x3 ` A else
" t i: @; ]' g0 n+ \2 l {3 {8 i: {# l; p1 ~& [
if( pLight )+ C3 b1 j# p! @6 F7 S2 w( H* R
{
3 a) p, R+ P7 Z, K8 l$ L0 b5 @/ W; @
5 Q0 M% q, Z7 o. B int nHour = 8, nMin = 0;
5 U- V7 N4 h1 f. ]. q6 F #ifdef __CLIENT+ m4 p- X# |! M% H7 s
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
& V" x! h! D1 i( U nHour = g_GameTimer.m_nHour; i5 ?9 T- ?# u! M
nMin = g_GameTimer.m_nMin ;7 p6 P- y8 O5 p3 v
#else
! D5 [' L- U0 ^3 p( x4 x: P // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.1 ]) d0 c- Y6 W {$ @, H( M, d
if( m_nLightType == 1 )
& I* _ r5 y. f, C; K* P nHour = m_nLightHour;
$ ^6 }3 m% e: c1 g+ `8 U+ P6 T' } #endif
+ |; o/ g/ Z4 o' L nHour--;
; Y9 @1 g P* ~6 b6 i6 C& L if( nHour < 0 ) nHour = 0;3 C+ |8 C6 K) i4 U) V- _
if( nHour > 23 ) nHour = 23;3 }& D3 q% B# o$ C6 A0 D
3 X/ @7 q% w q
//if( m_bFixedHour )
0 i3 Y* S0 z8 j+ K/ { I3 J // nHour = m_nFixedHour, nMin = 0;
( S& Z. m- \5 Z, p% y/ Z5 T LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];1 p" r' y7 ^, s3 {
LIGHTCOLOR lightColor = m_k24Light[ nHour ];& r( R9 U7 W! u/ F) Y& v; V
1 n9 |% x1 p" B' x' o //m_lightColor = lightColorPrv;
( J; z/ b! v( p( B- x+ ?4 T) |, F* R, V lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
0 A; Q$ p, I! @0 p3 s+ F0 F0 R lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;: U, y3 |* i- }4 R5 E# R) C
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;7 j2 P' a9 u0 x/ B( @1 N
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
7 a3 a$ h& ?7 G) E! S Q lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
2 f8 Y1 E0 A: A5 r P lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;# ^8 |5 P* Z& Z. q: V. J
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
9 c0 Z/ `+ @+ c L) r+ ^
* p, u) v3 R9 L3 ` // à??μ oˉè* - P$ _7 P' v7 K
pLight->Diffuse.r = lightColorPrv.r1;9 t; V! `% M2 Z5 t$ ~1 `9 ~( |
pLight->Diffuse.g = lightColorPrv.g1;
5 r Y; t3 T/ M pLight->Diffuse.b = lightColorPrv.b1;
& T8 x5 G& H* O. T // oˉè* ??à?
) ?. L- J1 I; W1 P pLight->Specular.r = 1.0f;
# c( K5 A- w C7 ]( q. u pLight->Specular.g = 1.0f;
9 d6 d+ i- R$ J1 h+ s- u% G pLight->Specular.b = 1.0f;9 ]8 ~' d; r* |2 V# {/ k+ H
// àü?? oˉè*
# H' u c1 f- b4 Y6 d @" { pLight->Ambient.r = lightColorPrv.r2;
5 L8 V" j" o' B2 _& r9 F4 ^ pLight->Ambient.g = lightColorPrv.g2;
$ S. o; D+ F' L. k6 O pLight->Ambient.b = lightColorPrv.b2;
7 \# D( d. @0 M+ y# ^. X: ?6 F
! ^! @4 u. e; r, q: V# U if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.' y M$ |; A6 |" `
{
+ e9 Q8 f2 v4 S- c pLight->Diffuse.r *= 0.6f;( y8 T; `4 W% O* H0 c `, [
pLight->Diffuse.g *= 0.6f;
) a: a- I: H: t1 v) u2 t: { pLight->Diffuse.b *= 0.6f;
" E3 `# C% g5 ?! X- u+ L2 e9 ^0 P0 x4 | pLight->Ambient.r *= 0.7f;
( X. ?/ D. U3 k# ` pLight->Ambient.g *= 0.7f;0 f# u0 j- C6 k# W% z
pLight->Ambient.b *= 0.7f;, J# ^. J: q* j7 l1 @
}
: H K2 k# i% w+ r; Z6 @5 S$ x0 h
! W3 q$ N/ F0 Z#if __VER >= 15 // __BS_CHANGING_ENVIR4 F: W8 B( H3 D* `
if( g_pPlayer )
$ C% }& A5 |8 M& r6 Z7 q6 f, U# A HookUpdateLight( pLight ); 0 w! {4 o: F: _% T5 h: _4 ? q
#endif8 I7 r7 A3 E3 f% \: _3 U
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
2 J: N8 p( B5 K: r5 n! P0 |
C: C$ H0 F* N1 b- W5 p#ifdef __YENV
$ q7 B. w' f Q: X* z/ V: M4 U pLight->Diffuse.r *= 1.1f;
6 Z0 j/ Y. b8 b# F- x, T1 L pLight->Diffuse.g *= 1.1f;
! P Y0 `5 s( B7 g1 T pLight->Diffuse.b *= 1.1f;; A: x; w; M& C" l
// oˉè* ??à? ) D9 j& l# @ ~+ s# u0 x
pLight->Specular.r = 2.0f;
# Y3 U) d( y- y7 p& U/ N. U pLight->Specular.g = 2.0f;
" W& g4 n$ D# m+ m9 u pLight->Specular.b = 2.0f;
8 c# h( l% e+ V5 A l* e3 U // á?oˉ
1 F* e) `- \% ~+ z" @0 R- _5 u! k pLight->Ambient.r *= 1.0f;
. X( |9 z4 l' f& g pLight->Ambient.g *= 1.0f;
: X- k: k+ b8 o6 F/ }/ E pLight->Ambient.b *= 1.0f;
" `: u1 r1 X. P' G#else //__YENV. `; {1 h+ y% t/ |# ` ~1 i
pLight->Diffuse.r *= 1.1f;
7 D% j, H: s1 p0 x0 a" I& t; x pLight->Diffuse.g *= 1.1f;& u# W1 \+ h4 l- N/ a4 N
pLight->Diffuse.b *= 1.1f;
; ^* D5 d1 w3 q: t# Q9 ` // oˉè* ??à?
4 J9 ?# Y. `' o6 Q pLight->Specular.r = 2.0f;
; y5 J9 l( c9 a pLight->Specular.g = 2.0f;4 M: g) \9 B" d/ W1 p2 O' s& W/ }
pLight->Specular.b = 2.0f;
6 W' V# F2 s' T9 |# ]. P // á?oˉ
6 w- X% T/ r+ v( J4 z, G; } pLight->Ambient.r *= 0.9f;
3 t, D: g3 l4 G* I& h) A pLight->Ambient.g *= 0.9f;: Y& y9 G. I2 w- C; V# V& _( u8 `
pLight->Ambient.b *= 0.9f;8 u& \& ^7 F6 I% i5 ?) r
#endif //__YENV
4 e; N% N8 m+ h8 I
( C3 K" f; M5 q* F1 G: W+ z3 d. s. U: _+ p memcpy( &m_light, pLight, sizeof( m_light ) );/ m6 O3 a1 |& B- c
: V. M3 m! j- t# ^. z1 y D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);/ V' K0 D( S8 a- ?
D3DXMATRIX matTemp;$ Y- I5 e, U( D+ g- Z% S3 h
static const float CONS_VAL = 3.1415926f / 180.f;9 L: o6 B, M7 R2 B, G9 U
- i3 T8 j7 @5 C D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
8 ~, g* i* T* V( O1 O$ K! r D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
( e8 I6 M0 X1 `! G9 a9 t pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); ' a% ?6 c; o9 s6 N/ l& @) `
pLight->Appear( m_pd3dDevice, TRUE );2 x5 ~; ?# M5 a! P; p
& e! I( V6 ]/ h/ v% F // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
& v s% v- v" O( w // D3DXVec3Normalize(&(vecSun),&(vecSun));
7 g6 T* N* d: w // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
% {3 }8 K" Q: p5 u2 A. n- m) i% {& O
DWORD dwR, dwG, dwB;
3 Y8 E9 r7 k. B+ S0 X; F dwR = (DWORD)( pLight->Ambient.r * 255 );' G* X: E: i% J1 m A$ ]
dwG = (DWORD)( pLight->Ambient.g * 255 );
# S F) F4 r; s, M( Y dwB = (DWORD)( pLight->Ambient.b * 255 );# U; q* K9 p. X0 a( A/ ^
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 0 H2 m c* @$ s; D
}/ B( T3 @. q& H5 e0 @9 V
}
# A4 f( F- k4 Z3 T
2 n) `0 [' w2 }5 d( n3 @- E M* U m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
! X! P# ~9 u0 q5 C& I( t 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) );" y, V1 N+ K6 `9 H
::SetLight( bLight );1 _% d8 p( N' l) K a9 b$ z
% T. b" a t# v. e! F2 y/ \ // ±ao? ?D?í???ó á¤à?
( U% d) Q1 k9 U' r8 O. ` m_pd3dDevice->SetMaterial( &m_baseMaterial );! L, m0 Y$ D2 M& g+ R) _
! O, v" T' [. a& G; D# E
#endif // not WORLDSERVER
! K0 W9 F! U6 A0 w}' c0 T8 U: E% u4 V( ]% D
并更换% I& z' p6 l8 T2 y1 T
Code:! Q! h) F) t3 w
__FLYFF_INITPAGE_EXT
. F% W [3 S& q定义
8 A. f$ A; y" a" B I+ d [7 o
+ e# }' K0 e, p6 D; r6 X# W: q( n( g7 j4 s' W
1 ?( D: h+ N" t: n
6 H9 p$ Z* ~. I; s* G
现在终于删除我的狗屁加速...8 ^1 d; X, J7 |0 i+ T m2 g8 g2 Y: m
. o' R$ F0 o& b4 m" n
/ U4 \" D6 R) W/ S4 m4 |: \# _0 A8 }- b2 ~' t
|
|