|
食品车:3 U% k' Y: w0 f# ~4 {) t8 g: D
尾翼:
% _# K. N, G' b$ s/ C' Q
8 r8 ?: y, ~! O/ F* P6 Z# n: w代码:: G. v" R. T/ l
CWndAutoFood::CWndAutoFood()
: Z& D( ^ L" |# z/ D) ^# A{
/ }' p ?! N% V" V% n+ p m_pItemElem = NULL;
/ k2 E1 y/ \9 u m_pTexture = NULL;5 `1 j. [ J$ [& J# W7 K# i
bStart = FALSE;
0 m( E5 I x2 m}
5 o! Q+ f, E# F% A8 m
9 [2 j2 V) j# b' N8 ^CWndAutoFood::~CWndAutoFood()) n/ }, R1 V. U. n5 ?
{
. M5 T) Q- ?" ?% ` AfxMessageBox( "AutoFood ist gestorben " );
6 Q+ m- G4 t. ~2 G9 C: B}
6 j4 V5 J+ O) l5 v e2 s- PBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )8 P6 R) l! }4 O" c2 G
{, Q7 C$ C( K* {0 C6 c" [. K$ \& N
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
) L9 T3 ^. l0 ~7 k P( _}2 }* W E, J7 O# J C. M( K
& R3 X+ t6 I: |7 }7 \BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
% Z: n1 S/ v* U& I0 S* i{: H* N- s; x# Y' C# \4 V# o4 o0 {0 K
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
) H# Y& n7 W ~ CRect rect = pWndCtrl->rect;
! ]) _9 I/ |: ~3 n if( rect && rect.PtInRect( point ) )
3 E. U- g* O( u* Y {
& w* D* c |% V3 f3 H CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );. _/ j. Y) ?) e
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
7 z" |! }* f( ?/ _- M5 }, j6 k2 g {
. y3 a( ^. t6 e( e if( m_pItemElem )& V% \$ s* e( [- G( ]* X. L
{
9 L, i& _! g# I9 |, d9 G m_pItemElem = NULL; v9 a" `8 R+ f: V
}
" m4 `! {1 v9 ?: t+ v* v2 j7 d m_pItemElem = pItemElem;& h" E9 k6 G g
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );7 p6 S1 |$ s, c
}else{: F5 q9 m' Y6 m0 C
SetForbid( TRUE );
6 @( ?; g6 |6 C+ g2 Z. }% r- M7 } }
# P) H a7 I# h/ e9 w }else{7 r* K% R5 @! {: A8 I7 u' S
SetForbid( TRUE );
: D! s3 U- H8 R9 d3 L: s* N7 x/ b }6 B! q( x8 q+ _8 |( e* y" K
return TRUE;. u- X, y& K( P. n: W/ E6 o
}
: |. c; d" v$ w! ~/ ^
3 O. R0 R" y7 m9 r# cBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
, f( d- T5 }; [9 o5 o{
( B9 r/ c/ I2 ^ o; a$ h1 R switch( nID )
/ M' h6 s# Z1 G$ J! o7 w" u {3 h3 w6 w( Q1 u$ s1 ^
case WIDC_BUTTON3:# G7 k1 S, O/ E
{& y0 i4 G2 f1 C D9 D
bStart = TRUE;! Y% D& v x0 e/ c
break;
; N, B1 F l9 Y. R }
9 |& E0 m4 L, t! a case WIDC_BUTTON4:
4 n H) R! v4 M( i( `3 y, p" W# c { w" m2 V5 ?3 Z) ?5 l. b
bStart = FALSE;
& o# v1 `; T+ r' M( f break;
! I5 Z" J7 w5 ?9 b6 Z b& F5 G }
: V! U" \+ K: U; N8 z }* j' G$ \! K* U# u, `( d. _& c8 `$ U
return CWndNeuz::OnChildNotify( message, nID, pLResult );
; X% `8 J+ U9 u: ~- _5 `} $ K% G0 x2 i+ K# ?! j
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
: N8 \6 b# Q! a{9 x d* ^: W* f% }! n' G3 {
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );2 V6 f5 A. i# Q; b. D% s# V
if( bStart || !m_pItemElem )
$ q- C6 a6 z# g8 B% M {0 _* b$ P0 A; D( X
pBtn->EnableWindow( FALSE );( P) X$ y4 h# c
}else
2 K" `9 P5 g: F( n; J pBtn->EnableWindow( TRUE );& Q8 H# n) P# t( m. c
if( m_pTexture )
% m! u# N. H. ]+ m" w) ]( k {, d3 H6 \1 j; Y V1 ^
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
& H0 m' ^6 @; ` if( wndCtrl && wndCtrl->rect )
, m) q- {1 A- y {
$ I2 B) a: |' F E$ y m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );& o9 \' W: B" s, Z
}
4 L6 e0 W& \% X+ B( Z# ` }
" `8 w$ X- c8 F6 z7 N% l}* r$ S. G8 B/ d6 `0 f8 p
$ W5 w" P1 Y, g- C
BOOL CWndAutoFood: rocess()
6 I0 l$ Y& Q! G9 Z$ j{; D, R. L0 W$ U: t4 `' _
if( bStart )
) P) i5 ~4 a6 ~$ u7 I {
3 J2 d6 c8 ^" n, U+ Z if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ); R5 ]* H; k, L5 D; c- ^6 F5 q
{
* q3 q0 o- [) g5 q if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
2 r6 e+ g! L; x5 U$ |! a$ R g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );6 R) o/ {" U% V' h) y6 U1 S9 y
}else{
- V8 f% Q( E, Y) K bStart = FALSE;6 a/ Y* ~, Q2 ?' [$ v' {3 O) }
m_pItemElem = NULL;
$ A! v% z8 ]! O. c }
. q; i+ _# O# J# Y1 o }0 L8 Q% V. b* g3 i7 ~+ G+ K0 g
return TRUE;
, B1 K# z5 W j% O6 Y. |8 m! m}
! ?5 w. x, J$ ]) s2 E! y9 c, P: s6 m4 \6 [, Q8 O0 n
登录视频废话:
& S3 |$ I( N, W1 u/ X0 |尾翼:
) l; `1 E3 W% s) D2 P. P' T1 Y4 T$ V E: v2 l+ P1 N2 B7 d
代码:
$ m% Z* G E8 L9 @& k ^& i( A6 s4 P: s! z
void CWorld::SetLight( BOOL bLight )( @8 H# u8 ?8 N$ P
durch
0 l# \7 d: @! V, gCode:
5 f5 B7 Y# z$ vvoid CWorld::SetLight( BOOL bLight ) _: v' V) i1 K
{1 a* P1 ~5 n$ \9 T/ @- v. q
//ACE("SetLight %d \n", bLight);! S% H# U" M: _* J
( @# L. \) \" c( j
#ifndef __WORLDSERVER 7 t- W$ |* C6 d% A8 W
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);2 T/ E& U# X( u. j
CLight* pLight = NULL;6 `- h* `# [' y( r5 N
% u2 D; k! [$ J
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
4 m' d8 n. N+ q/ d
5 _% N; c1 Z. W R pLight = GetLight( "direction" );
( D( M& Z. g N6 N, r, ?
" j$ {+ l& G1 m8 F- f) ^5 u) u#if __VER >= 15 // __BS_CHANGING_ENVIR
R1 f! f3 `: p: ? if( g_pPlayer ){
6 G2 h! d0 B3 Z$ ~7 X" z ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );, @' r/ L, W' h [2 c. ]
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
3 ^# G2 O. ~% N8 d8 C% z {" z4 S. B% r' L0 {
if( pLight )
8 p! b! w, g5 K" Q {5 D3 C: U& |0 z, p; _* d
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
/ d$ V' c8 p: x7 P( _. @' |! | pLight->Ambient.g = pInfo->_fAmbient[ 1 ];* m& L c8 C% a% W6 f
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
& V6 h+ _ t- u n& ~! X4 V: o. h( m+ `% U" Q0 ]& X I" u" J5 C# j
pLight->Specular.r = 2.0f;$ z: g) e b& U" E, x
pLight->Specular.g = 2.0f;' K3 a* Q, k8 D+ ~ k
pLight->Specular.b = 2.0f;+ H4 ~( }+ b% }! ^1 b
# B+ D2 B% o7 m( }( u pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
8 K" e/ p4 R2 ~ pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];* D- Q _0 ~5 H% q
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
, m! `6 |& F- e0 n * z) O/ c/ j+ q" e
HookUpdateLight( pLight ); % J6 N% Z4 ]6 [) J# \1 N/ J
; p4 k! Z" Z, U8 H+ \ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );4 p" g7 O' X5 a$ N, w# t D) l' H
! X0 v* ~% h; l pLight->Diffuse.r *= 1.2f;! Y: @5 G0 j/ [
pLight->Diffuse.g *= 1.2f;
) A7 D }/ @% @% U j' g pLight->Diffuse.b *= 1.2f;1 a& F' E( H8 c _& Q/ j
3 H0 F0 G) C( w3 L( N5 Q
pLight->Ambient.r *= 0.8f;
! u5 s* d8 [5 y( I T0 ` pLight->Ambient.g *= 0.8f;
5 S$ ^7 i* z4 a( H; `9 |' E pLight->Ambient.b *= 0.8f;) g( s' O+ S. I3 z2 [ r$ Z2 S
0 G) j1 ^ d. Y5 O+ E* `3 I2 ^
memcpy( &m_light, pLight, sizeof( m_light ) );) g0 O+ x R' [- x
7 i+ J h( Y* [. Y3 ~ M. |- { D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- _/ B% N2 E: @5 u: ~/ c* t
D3DXVec3Normalize(&(vecSun),&(vecSun));4 L* r0 s; p! J
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
/ ?; N5 I8 B" T1 m. t/ r pLight->Appear( m_pd3dDevice, TRUE );8 `4 R8 f; l& k6 O9 `
/ |4 l j1 h* w& n6 R
DWORD dwR, dwG, dwB;
. k8 Y, V+ E- b3 P) u' G( R0 [ dwR = (DWORD)( pLight->Ambient.r * 255 );
0 n4 l7 D( @& ^5 i' L3 l6 w dwG = (DWORD)( pLight->Ambient.g * 255 );
0 @3 z9 y w1 Q/ r" P dwB = (DWORD)( pLight->Ambient.b * 255 );
: x. t. t3 ?$ Q7 X; ~ dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 w0 [0 a& R: u9 N! }( W }8 I! @ }
9 H- }% e1 p) u+ x }" A8 W5 G( v- q% K' w0 Z
}
r9 t1 x& K# t else6 a6 i/ y; Y4 s: E7 [. u
#endif ! x S9 J; m1 R# f. H
& Z% V& {8 x# Z8 `5 U1 ?4 C
if( m_bIsIndoor )
" R2 v) C+ c$ T {
/ Y7 d* e4 y: ~3 I8 d, U0 I9 l" ]7 _ if( pLight ) ^1 p" J0 o8 ~6 u' R; a8 {
{ & ?& M. v7 E, b
// à??μ oˉè* K* J, q. r9 S: u' ?2 Q
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
, p7 [% Z) Y5 L/ J' X8 I3 E7 }9 R pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
) P0 h; h L6 x8 Z8 x pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
$ s, C- J T' I b# H2 `; I) y# `
. g* P b. R- D9 b# J, u" o- @ // oˉè* ??à?
7 Q8 D$ H8 @+ j1 q pLight->Specular.r = 1.0f;3 K/ w, b! s9 f% S, u
pLight->Specular.g = 1.0f;
2 w! \9 i! m$ y% z# A2 H pLight->Specular.b = 1.0f;
8 V. D5 e0 c# N( | // àü?? oˉè*
- _' s$ ?8 l* u4 a4 P& @0 D pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;/ x! `2 c# ?- z3 Y. s4 S& |1 g) u
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
, L- m4 o2 i+ K" ] pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
/ Q/ B' ~4 z/ r$ C! Y7 P( t( D7 l- D% Q+ o4 y9 l5 w) t
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.6 G$ z3 c% q% z5 J, F
{4 T; |9 K$ X8 |8 a
pLight->Diffuse.r *= 0.6f;- t/ c9 f. S/ q. ]( v) f6 J! R
pLight->Diffuse.g *= 0.6f;' f( l6 L; g) L l9 J; [
pLight->Diffuse.b *= 0.6f;
. o# O1 e8 D6 `/ z! m" g& H pLight->Ambient.r *= 0.7f;3 k* N& C# S; e `9 z
pLight->Ambient.g *= 0.7f;
' ~* X2 x; p+ g pLight->Ambient.b *= 0.7f;( g# {% c, v$ H" W& D+ U
}
, j+ Y( z/ U: s3 ^5 m' k2 i7 \4 ?" s4 I1 U: A: q0 _" O
#if __VER >= 15 // __BS_CHANGING_ENVIR
. c2 Y w+ W) A$ Q if( g_pPlayer )
$ a/ V% e+ X( c: `8 k' R HookUpdateLight( pLight );
( [8 d3 K& Y! b/ A0 b; R* z#endif+ B: P) F7 |. H' G! N$ ~4 c8 U O
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );" E, G: e1 U9 E* A! R1 {
+ U: q1 z% _+ ^/ { pLight->Diffuse.r += 0.1f;
7 `: W* b- l/ e! g3 U& v3 J pLight->Diffuse.g += 0.1f;
1 |% W" F7 l1 M* c6 f8 i pLight->Diffuse.b += 0.1f;+ h) ~$ R; `4 u9 l# |8 o0 o& u
// oˉè* ??à? % i0 f! o- D$ Q( O' X& [
pLight->Specular.r = 2.0f;7 g% _- j1 F3 K# E' L0 H) \5 P
pLight->Specular.g = 2.0f;# h! H% _" d! i6 S X! R( [
pLight->Specular.b = 2.0f;
( \- W8 e$ x/ Q4 C6 ]" s( g6 _/ c$ ~( p // á?oˉ 2 }0 v' A% T" F/ M: S1 |, [
pLight->Ambient.r *= 0.9f;/ Z: H Z5 d9 d
pLight->Ambient.g *= 0.9f;: F- R% I. O$ H+ j, H5 B
pLight->Ambient.b *= 0.9f;1 M, R. {- l# I) O) }2 }5 {3 _2 m' W
6 ?/ ^- [% L" O2 P7 u& B$ e memcpy( &m_light, pLight, sizeof( m_light ) );5 S1 X5 R5 Z. K; F
& A% Z9 _. p# v$ M5 [$ S- _ pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );* L) R( Q/ W" z, k! h: J* L
pLight->Appear( m_pd3dDevice, TRUE );$ Q1 A2 p: @$ W4 q4 q$ g/ H
1 o) f6 H. I/ U
DWORD dwR, dwG, dwB;; y) j/ S5 K, d1 D1 U- Y
dwR = (DWORD)( pLight->Ambient.r * 255 );
! C3 O: x! s4 Y dwG = (DWORD)( pLight->Ambient.g * 255 );
! {8 E b v3 {: T' O dwB = (DWORD)( pLight->Ambient.b * 255 );
F9 E _/ n9 i- a dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: Q% m$ @5 f* D* J$ B( r" h }
, w3 w" B G S5 ~: x) m }
7 i1 U) a2 V3 R, K. A else
& q" s' i+ ^% Y0 o. t+ d7 m {" A) ]) X/ `6 I1 U) }0 r
if( pLight )
$ b9 f0 B0 i. y* _7 S7 w4 P {& n: S! x1 m% j6 l& k3 e7 f
* M. F& R7 r8 k) x6 i int nHour = 8, nMin = 0;
, r$ Z8 K% X! u% y #ifdef __CLIENT
8 E, p8 @. @- T // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
) \4 q* t$ ~+ n' c1 C nHour = g_GameTimer.m_nHour;- n$ N0 Z4 g2 P; v3 N7 q
nMin = g_GameTimer.m_nMin ;
+ c/ e0 b* V% w. C" h; K #else) F7 f+ R+ v; J- ^9 `$ t
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
) Q; j0 O8 X0 E$ `; R if( m_nLightType == 1 )
( t( r# v, b: s8 B" r6 ` nHour = m_nLightHour;, V7 _3 [" G# D' e
#endif
3 G6 V" y9 {3 R" k# v; x% _" [ nHour--;0 b$ c9 {0 x+ i
if( nHour < 0 ) nHour = 0;
" h9 q4 ^4 J# z0 ~( |) a2 s if( nHour > 23 ) nHour = 23;
# \$ K, r: A- k+ M2 E. L/ Q( [6 b9 D) T" Q
//if( m_bFixedHour )! |3 N( u/ s5 R: c
// nHour = m_nFixedHour, nMin = 0;% V8 {2 T; I2 i1 P+ s6 l0 f" e
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
' \ N l# V- ~4 n+ X; a( s" A+ T LIGHTCOLOR lightColor = m_k24Light[ nHour ];
* _. P8 W+ d. |( ?
0 v0 j& [# z; `0 N# Q9 B/ ^3 O //m_lightColor = lightColorPrv;! y; U2 p9 |: f& q/ s6 [9 U
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
o# U" {6 U7 y$ y lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
1 v8 g. G# O4 L- V lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;) p% P5 n4 k; \9 L' i& l! U
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
2 Z& e3 q5 m5 R% z! s; T* @# w lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;3 W2 i+ w. s( q4 |5 N
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;# A& [, v7 }$ U6 `. I
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)5 a" U7 u- q& y0 f4 z) _; G* a
l/ K$ O0 ^. L, S0 x, J8 T2 n0 B
// à??μ oˉè*
% x' C. S- J! R+ V( l pLight->Diffuse.r = lightColorPrv.r1;3 n' A6 B/ M: N
pLight->Diffuse.g = lightColorPrv.g1;* g) |8 K) b7 Y& x0 A- g7 } W0 y4 J
pLight->Diffuse.b = lightColorPrv.b1;
7 E' \4 m2 c( S: I9 P- O // oˉè* ??à? 3 V* M5 a3 N& p6 J9 ]8 X: F
pLight->Specular.r = 1.0f;
" f$ Y5 v6 R5 m6 F1 ] pLight->Specular.g = 1.0f;
: v$ l5 D$ L- W% }; b7 _0 L pLight->Specular.b = 1.0f;' k: t" Z# w4 k" H7 ]
// àü?? oˉè* " X8 b# Z, X, v, ~
pLight->Ambient.r = lightColorPrv.r2;
# }6 G* W7 r. S( ^2 \4 @8 P pLight->Ambient.g = lightColorPrv.g2;* {) ~# B! Y$ ]' W5 V
pLight->Ambient.b = lightColorPrv.b2;
! \. C8 o, _; J% h$ ^: d0 u! o
- g/ x3 m+ k9 y+ G- y if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.3 s2 Z% ?# Z; o2 o P
{& \* p. y$ q+ {' w4 ^
pLight->Diffuse.r *= 0.6f;3 R: \/ d8 f6 ~' Z, q) l
pLight->Diffuse.g *= 0.6f;
6 \4 x, I7 b% [ ]; L pLight->Diffuse.b *= 0.6f;: ^" C2 q. T, B- m0 F
pLight->Ambient.r *= 0.7f;7 F! N1 o4 G) C0 T. A
pLight->Ambient.g *= 0.7f;: _7 Q. u4 Q+ V+ e! _& c9 C* T
pLight->Ambient.b *= 0.7f;# j9 D7 f8 Q; h8 H
}
$ J! D$ Z/ U! h7 V , {1 t! }, G2 r
#if __VER >= 15 // __BS_CHANGING_ENVIR* ^. B' n! Z W
if( g_pPlayer )
1 A( P2 R% S1 R1 t3 | P1 b3 N HookUpdateLight( pLight );
$ V$ W" n9 C: C; J1 F) X#endif
0 J# `" l/ E! L- x A" y7 a; ? memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; o( V: n% c6 w& Z( a
# S( }' l; V5 ?3 s#ifdef __YENV
, o e' X) ~ g/ W- \2 Z0 T pLight->Diffuse.r *= 1.1f;, Q3 I8 Y- _- n
pLight->Diffuse.g *= 1.1f;) l, W9 c& V! Z
pLight->Diffuse.b *= 1.1f;4 u& G# S5 [3 z' F; S
// oˉè* ??à? 9 h2 [9 U# e$ V" e- Y& k; O/ G
pLight->Specular.r = 2.0f;" ~+ O3 ]1 @/ l6 Q& ^ l
pLight->Specular.g = 2.0f;
+ K+ h- Z, C! [8 b pLight->Specular.b = 2.0f;
; y$ b$ e) E5 Y( J // á?oˉ 5 k9 E9 j! B; z8 M( d1 ?" h4 O
pLight->Ambient.r *= 1.0f;% s; w. c. S; a6 O, T
pLight->Ambient.g *= 1.0f;( s) j1 u5 p5 Z4 [( H E6 X P
pLight->Ambient.b *= 1.0f; z3 C8 l8 ~% J3 O5 M9 W( v. C/ S
#else //__YENV T/ V* n7 P6 b. i
pLight->Diffuse.r *= 1.1f;
i9 j$ @7 O7 Z' N/ a0 x) H1 Z pLight->Diffuse.g *= 1.1f;- m, S" d$ N; k5 c0 `- p
pLight->Diffuse.b *= 1.1f;8 w! J$ X& E; r7 h! [7 R% w, {( Q
// oˉè* ??à?
- S' [& ^, ^; T( k pLight->Specular.r = 2.0f;
- C' Z( c Y9 f/ o5 c4 m8 D pLight->Specular.g = 2.0f;
4 R; v+ E" I5 A6 f* g- ^ pLight->Specular.b = 2.0f;4 @& [+ c( I" w& e
// á?oˉ
1 @' k2 _6 w0 Z5 W6 d6 @ pLight->Ambient.r *= 0.9f;( H( d {1 G; ? h d9 C( y
pLight->Ambient.g *= 0.9f;
h, t" n& L3 b2 m pLight->Ambient.b *= 0.9f;
) u! e" k2 B) x- F5 L) G#endif //__YENV & {& w: }4 f4 f) t6 _
4 ?/ g _+ ?. U' l) y) P) p# |
memcpy( &m_light, pLight, sizeof( m_light ) );
2 _" H5 o; Y, d- {: [
! ^0 Z- ~- v* |# X, X: |) Z' D D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);8 j. J0 m$ P: t/ M( u6 |
D3DXMATRIX matTemp;% k L& m# W# ]+ M5 r
static const float CONS_VAL = 3.1415926f / 180.f;2 m* Q5 K8 p" F) w
) D5 v# v- q3 [& X% I e( K D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);6 T7 ^6 y$ K: W1 r
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
" _' g$ ~% ?/ }$ O+ \& e3 ~( C8 A7 ? pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
! L: j9 t3 w, E- C pLight->Appear( m_pd3dDevice, TRUE );& k# P! l K x7 Q+ o# v5 }+ q
4 ~: m% `# R. {8 ^" S
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);' z& [3 F4 @8 y' y' @1 |
// D3DXVec3Normalize(&(vecSun),&(vecSun)); i9 C' ?) M2 s' M
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); c6 f3 b, Q7 B7 h2 |
: c' M/ @2 ^+ d) U% q
DWORD dwR, dwG, dwB;9 R% `) o# B9 c/ O5 J/ X
dwR = (DWORD)( pLight->Ambient.r * 255 );
3 R% m1 m2 x+ K7 w- e A \ dwG = (DWORD)( pLight->Ambient.g * 255 );, }4 P1 @$ v8 B: g
dwB = (DWORD)( pLight->Ambient.b * 255 );
) N i3 f2 X: `- @+ ?+ }; d. x dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 2 I- P7 |0 M2 m; j
}
, `2 a* W2 m6 S) L }
4 R/ U- M. i+ o5 }
9 p; z* ]! S' B m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );6 c, w9 k+ H" J! S& d
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) );
+ p$ z1 I6 `5 [% A5 l( d. w ::SetLight( bLight );
7 D$ \/ w, t% }8 ?1 L3 R
3 e! _. d9 c4 K* O; F z6 A6 M // ±ao? ?D?í???ó á¤à? ( h! L& f$ x L) }2 o# a6 \
m_pd3dDevice->SetMaterial( &m_baseMaterial );* L0 d4 O4 Y' R) F5 B4 a
+ P* `* N: }1 Z
#endif // not WORLDSERVER
7 H+ ~/ {+ X& @}
9 t) E7 M* H2 t, j9 T3 N$ a# `并更换6 m5 a# T0 I# l- t7 X) a
Code:
% c; g/ E* K0 V9 ?+ c" i6 q" Q__FLYFF_INITPAGE_EXT' `8 A* v7 n: k) T
定义1 E6 N% P2 H! r- L- q+ ^5 M
! X/ U: d; j& ?9 u1 q2 m5 t
2 l6 `4 }0 |5 g4 d% H+ g) v2 {+ w0 I- Z! Q+ j
( E" n7 R+ H p# \, Y: l2 n现在终于删除我的狗屁加速...& U) F: H$ o. F/ P
9 u3 f* K% l. J+ b. c* l. h# N
; c" f7 c) m8 H5 I/ P. i6 ]* x. x5 t/ F3 D
|
|