|
|
食品车:
' @# G0 @: U) K' R1 {尾翼:2 ~! ?+ `! s3 x3 K
1 N0 L" R; R* E4 _* D& ~8 [代码:
; Y, Q' t! v3 D0 d' y% H- | ZCWndAutoFood::CWndAutoFood(). n! g. J2 Q$ J$ o/ k. p6 [
{2 s+ f$ Q: L' ]# p. c. s0 S$ [
m_pItemElem = NULL;
7 d) ]5 w3 I/ f: d" P' ? m_pTexture = NULL;# {+ W0 s; s+ B# [% n
bStart = FALSE;- V3 Y( V4 ~' E3 N1 D" _
}. `1 H5 E1 \( }4 x
0 T/ }; C. h0 M u3 }5 g4 f
CWndAutoFood::~CWndAutoFood(): _; o8 B) J+ D; P
{: |4 m: Z H9 }8 J4 `, \
AfxMessageBox( "AutoFood ist gestorben " );
& [9 n% b3 g3 n3 e) k- l}
_" u. g. h# T/ ?+ `( ~6 LBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )! W7 s8 f' N6 f
{
: m$ z3 E3 G# [- d; G+ R return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );. G1 c. }; I# S
}
! e( i& _( B' o8 _0 x6 D
' r* D: U' o- \$ F" D: e- f6 C$ wBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
' b& {0 `; v% r6 `, q{9 R" w4 I6 R; W' |+ c* x1 \8 P
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
" Q! ~/ _6 t q4 s1 Q$ v CRect rect = pWndCtrl->rect;( V$ f0 Q0 U( o+ h# Q4 W
if( rect && rect.PtInRect( point ) )% p. {5 A" F0 E
{
5 {( u, s" r1 ^3 w. ` CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
& B2 D5 I9 L y) C; a0 ] if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )) r% G3 W T8 I( N
{
* A* S( G3 k" z3 _4 W if( m_pItemElem )
0 o; L% ^7 M5 v( W9 t {1 _) f1 a2 q% j2 ]9 O
m_pItemElem = NULL;
# Z; t% Z0 t3 v7 c+ h }2 g9 O9 h+ y. n8 y8 a. A0 j
m_pItemElem = pItemElem;
0 n1 S% N' {- j0 G) b& M: j6 j m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
& N1 ~* O6 g3 w9 ^( T, d* Z }else{
" v; R! |! p& q$ @2 d- U SetForbid( TRUE );' ~# f1 _! [2 {# A5 S
}
# X5 u4 J; w+ W! {4 S) k4 E) C }else{4 H% v9 T% S/ y1 h1 O
SetForbid( TRUE );3 J. r# p# U" F- j4 L
}5 \0 Q, c: }* ] C2 K. d
return TRUE;
' X7 g( E O& X}4 h$ f9 ]$ l% k; F3 y
7 H# ?- }. [, L( w4 E1 O2 i+ K. m
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )/ T4 S! ]7 W" D, ?; o4 @5 r, C2 j
{
: U0 t. J7 e4 c& O# H, x switch( nID )" H. j \" d# i2 h# O, \& F
{. ^) G' }9 W! t" r
case WIDC_BUTTON3: h2 t; [# ~ o G
{
) X! @# E7 L8 ?' a bStart = TRUE;
$ b A0 e) L5 X o5 e6 O break;9 l$ N! w3 d7 r8 S
}
: [( \4 h0 n# e/ J& d case WIDC_BUTTON4:
6 I6 x9 o2 r! k. m {
- c8 K' E$ o8 M! \) i( ] bStart = FALSE;3 s. C* j5 B' K
break;
z8 C+ ~/ u1 z& K3 y }
: U! y; _* o+ P( b; m/ i5 L/ h }8 d8 l/ y3 P* W. t
return CWndNeuz::OnChildNotify( message, nID, pLResult );
7 A. q3 D* y7 y8 \5 n- g5 }. E} 2 d; d8 H: L0 S8 c
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
& k2 T6 j9 r7 Y+ M: u{
8 y+ |+ P+ Y/ J' Q$ x CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
4 G$ X/ ~5 n$ P+ ^, p if( bStart || !m_pItemElem )! H2 m( D- g" }, H* j, W
{, k# F% ?1 q, }* _& U
pBtn->EnableWindow( FALSE );
% c/ g) L9 S& w( C9 O8 d8 X }else
/ w; D. r' r* I; V: i: s pBtn->EnableWindow( TRUE );4 {3 ^2 G# n8 R4 x/ f
if( m_pTexture )
; z! d" Q* X3 l" v( b1 B j, o! @ {0 }+ K9 ] | l4 s
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );' o2 c- b1 c; @ M
if( wndCtrl && wndCtrl->rect )
/ q+ ]+ }) s- ?! }# ?2 h1 i {
! I, O) e, e0 r) @) j* T) r- V2 t m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );7 l8 s% h: x1 b* W
}
1 Z0 w' J9 n% s0 m5 n2 d }' U8 j3 q0 [& l3 i
}3 m: b0 ]" A' y1 \( t, Y7 l
* h' n$ c/ ?3 k4 I1 LBOOL CWndAutoFood: rocess()" j" f6 u# f% d/ N& |) l
{
& I4 W; u! `0 P) u if( bStart ). i& \! I0 a/ }. I/ z
{
; v( @, l' c; I. C$ G0 Y" d, m. c7 B2 K if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ); l% f6 x. W! z9 u, l' ~1 O
{* r# | v. L2 M3 r
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )1 K5 w6 G$ K \7 d$ I2 z
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );/ B3 i; _) t1 r* \ B0 \
}else{
4 h9 x$ h" n& Y bStart = FALSE;" [6 ~( j( V) W* L1 Q- y
m_pItemElem = NULL;/ X' ^1 p7 a B3 s/ y4 i& j6 a
}
$ m; N; J( E; p+ B* [& w } i& k! `" i* H" a# B. z o
return TRUE;$ l" D- S" {7 e% W0 u& s1 I
}# D( N4 x1 j% }( w
1 f- l( w& K* P0 I5 q& u
登录视频废话:
" Z8 {; y) r$ c8 }, y9 i尾翼:8 z+ r$ ^, w. }5 h) c- H
2 z6 W- r$ Q0 b9 \- t* F6 b8 K+ N代码:3 \4 o; U* ]- V- O, M
* S2 \' C4 l* @' R. }void CWorld::SetLight( BOOL bLight )9 }+ c% w* K+ a' c
durch. L& r: g7 F$ [ m$ v7 M& d
Code:
: Z9 ^- U" ^6 D, ~% |% f* [. Cvoid CWorld::SetLight( BOOL bLight )+ P5 e! U0 i6 Q5 f: g
{
! y) V* b% b- Y/ z' F! C8 S //ACE("SetLight %d \n", bLight);; D! K& _4 O1 b# [( t
h' U# A ]! v; U2 v1 I
#ifndef __WORLDSERVER % ~! u! k9 h4 ?% R9 P
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);( c* ^$ A L7 q4 L" X. A- q
CLight* pLight = NULL;/ w e$ B# m- q/ [/ I8 V
# E" G5 @: e! F, I6 d D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
5 t0 {& i3 ~$ ~. r; o. G& q
8 N c/ {% d3 j0 J+ t pLight = GetLight( "direction" );
8 Y. ?) } e. Z8 \2 I7 H- P, l" g: k: r; u
#if __VER >= 15 // __BS_CHANGING_ENVIR
& J% P5 N3 U3 _+ _" G+ M5 @2 K+ o+ v if( g_pPlayer ){0 m& R1 `, l# T% a
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
" {2 m0 J4 z% k+ s; h# J& l, \ if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
% F7 t9 o, Q* Q {2 I( Q5 _9 q0 g
if( pLight )
- u ]1 w% b/ e% a3 k {0 s# E/ q- k2 p# k/ C
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
/ L1 M) A; ?' N' J pLight->Ambient.g = pInfo->_fAmbient[ 1 ];' D3 y e5 p/ N$ {
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
} I4 |& ~1 k* w, L& l l# t d. F& N5 D1 N' }
pLight->Specular.r = 2.0f;( P; B& v1 V. w6 w8 {6 A; @
pLight->Specular.g = 2.0f;
7 m% L- K X8 ~* K$ ^6 ] pLight->Specular.b = 2.0f; W w3 T4 k7 j. r: C) q0 Z
" g- h+ k) O4 e( x, U2 M/ L0 L
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
2 g" _. O* E3 |$ X pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
! j5 E" V1 k M4 f pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];/ ^, N9 o2 N2 } L
. s" c9 b+ A* B- H0 g0 k, {
HookUpdateLight( pLight ); 7 E2 B0 V& S4 l
7 }8 g. r* F+ x& ]+ `+ Z memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 g0 z J) O8 [( f$ R : w8 r( Y6 A" o" c
pLight->Diffuse.r *= 1.2f;! x0 E& D+ |0 M( R
pLight->Diffuse.g *= 1.2f;5 A3 G) w4 U: u
pLight->Diffuse.b *= 1.2f;
: U5 i+ ?) O7 t4 v3 P, n$ w3 N0 ]8 l2 u& j' v
pLight->Ambient.r *= 0.8f;
0 d- \4 v- _, g6 V" _9 C pLight->Ambient.g *= 0.8f;
8 m8 C; \0 s- e! i pLight->Ambient.b *= 0.8f;$ _- b5 }: }7 j6 z9 d
- W) E( L+ n( M! A3 b2 A6 A memcpy( &m_light, pLight, sizeof( m_light ) );
9 B( R0 Y) Q0 G# e. I9 ?; g1 v( a& l, T' Y
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
/ W ~2 w! \* o7 i D3DXVec3Normalize(&(vecSun),&(vecSun));$ L( |! C V& f/ `
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ( J* `+ K+ `3 @ L( k
pLight->Appear( m_pd3dDevice, TRUE );
0 n, U: n0 L+ _6 k
0 I2 J, f4 {8 `9 n DWORD dwR, dwG, dwB;# w5 p* Y! Q( M. u- Q) P+ E
dwR = (DWORD)( pLight->Ambient.r * 255 );
& `1 N1 P( ^2 s! n+ J' }2 | dwG = (DWORD)( pLight->Ambient.g * 255 );
7 X3 x) ]& h- v4 a) t2 x p E dwB = (DWORD)( pLight->Ambient.b * 255 );
5 I9 X* L1 |& ^) Y* g9 d0 @ dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );: _2 k% x0 Q, f8 L% L6 q
}
5 c. g5 t- O3 y9 u4 s! G }
# i( p: r! f; ^/ o' B }" x7 }* k. g) [& j) a& Y
else7 r, U1 G: G7 I# h
#endif
8 E2 U9 I* j- W3 K+ [; t0 E
( x' ]/ M+ s8 y/ t; y* k if( m_bIsIndoor )
+ c+ X: ^: G2 C8 j( [9 w! L6 n. N {
) F9 |- o# M: h& ?# D! u9 M1 G if( pLight )! @+ S3 K" f9 a
{ & L) ~ @0 B( f( o: {) |
// à??μ oˉè* 0 ?* b9 I# N6 Y$ c% k. D+ D
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;$ O! a* F" d9 [3 V
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
! W" k1 a, a( w) w pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;4 M0 l8 Z% C; T6 ^3 O
/ B- ^- k% i' x1 V5 x // oˉè* ??à? ) R) W/ @5 ?+ d' Z* u' D
pLight->Specular.r = 1.0f;3 \, b2 G& [3 F+ \. A: a
pLight->Specular.g = 1.0f;
# X0 Q5 M" U0 r C1 _& w8 T pLight->Specular.b = 1.0f;
2 E4 d; `4 T+ O( M+ Y6 l8 S // àü?? oˉè*
% ~( b9 P0 k/ f$ [0 s pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
9 x9 M% H1 i1 @- G. [, D pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;6 |6 G! R5 ~ I6 q9 p% [2 Q
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
/ \8 T" H9 H6 m, I" o( ]8 `+ @4 ]
. Y- E- z& g6 R# H! F if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
/ H; Q8 ?; Q1 [. i% t" H3 b {* o5 F" g9 X! w9 V5 q1 M
pLight->Diffuse.r *= 0.6f;& e$ S' u6 O3 N6 V/ l
pLight->Diffuse.g *= 0.6f;5 a- W- N+ ?8 e1 o3 b' f% L
pLight->Diffuse.b *= 0.6f;& k2 ?6 g z& \( ?( W5 q
pLight->Ambient.r *= 0.7f;, S5 Q! N( X s
pLight->Ambient.g *= 0.7f;
U. `: q M' v( J% O" x. ~ pLight->Ambient.b *= 0.7f;
8 Y. k- g% a; M# ` }
6 T$ T$ K5 H; m7 O
( F6 t2 ?# u$ P7 q; u#if __VER >= 15 // __BS_CHANGING_ENVIR' f$ o1 X4 H: G Q1 }0 E) d+ p
if( g_pPlayer )# k( {+ Y* V( b8 n
HookUpdateLight( pLight );' @# U: f- u' W9 I
#endif# z8 j0 O* Q7 v9 T9 [+ e
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );; @: R( L6 T6 q# Y( K! j
b @6 n. J& s3 k% m pLight->Diffuse.r += 0.1f;
$ n, z5 z8 P7 @# `! H( l pLight->Diffuse.g += 0.1f; _+ ], E3 d4 R, I. }# S* H
pLight->Diffuse.b += 0.1f;
) h5 U0 `. p3 @# u) G- ?* [ // oˉè* ??à? + y: o2 V1 N/ D3 Q; R
pLight->Specular.r = 2.0f;/ S5 O% ]- G2 R' Q
pLight->Specular.g = 2.0f;
. D* M0 A8 G' @- V3 f. C) X0 L pLight->Specular.b = 2.0f;% e" }: I4 C, a6 y- u
// á?oˉ
: ]) H1 \+ z% N# `; Q2 r! V pLight->Ambient.r *= 0.9f;
6 F1 Y* [. ^+ z4 _% o( V- o: |6 T4 X pLight->Ambient.g *= 0.9f;+ @8 N9 ?" e& \$ d7 l2 C
pLight->Ambient.b *= 0.9f;6 q/ ?) q G+ {* [! P8 ]) T
9 q0 C/ l: Z) v! m# I; L memcpy( &m_light, pLight, sizeof( m_light ) );
- [: Z/ R! w, J5 S9 O 3 P5 M4 J% d2 s
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
R+ I* X: V( A4 n3 B1 u pLight->Appear( m_pd3dDevice, TRUE );
% P. V$ F$ w- M1 N6 Q6 l. e 8 ?; J8 W. ?" p+ o. r
DWORD dwR, dwG, dwB;
5 r+ A2 G; f, X3 U7 e7 { dwR = (DWORD)( pLight->Ambient.r * 255 );" E3 {5 \' j( J7 R: M# ]( M
dwG = (DWORD)( pLight->Ambient.g * 255 );
8 J2 [) e q+ M/ x7 c! h; d8 N dwB = (DWORD)( pLight->Ambient.b * 255 );+ w: _# \/ a7 D N
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# p+ |( w: c! y$ H( {: z }* Q( G( e7 t) A8 c# B
}
8 L. y! G, e* U+ Y) d. y else6 x7 a0 _9 Q. B2 R
{
) G; O2 q3 v: O5 T' d if( pLight )
1 H) \3 a0 C! P$ b0 t {
; Y, Z6 ]" n, ~- V6 D
! z5 n5 A+ E1 O! X+ q6 s* S4 C int nHour = 8, nMin = 0; \+ b( ^, e5 d# P5 h
#ifdef __CLIENT4 a* {' y' N) {2 r8 Z
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. ' \: y$ z: W" C. Y! ^
nHour = g_GameTimer.m_nHour;
) {* S: w. V- R# C. w: \ nMin = g_GameTimer.m_nMin ;
" @+ ~% t- n Q$ l; T #else
% E$ O4 q% U% E // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
* K! s7 V% o: i: E1 F if( m_nLightType == 1 )" H5 N8 d8 u9 F$ T
nHour = m_nLightHour;
. q3 Y' n7 A) R1 i4 t #endif" p |4 b( E/ w; h$ M& |
nHour--;
0 T& E; G+ U- H/ g; m8 f if( nHour < 0 ) nHour = 0;
) s6 j; q Y" u if( nHour > 23 ) nHour = 23;! x+ n6 ]/ H" v
4 ], B: P0 ^( Z* R4 n //if( m_bFixedHour )- X# |1 r- O' @
// nHour = m_nFixedHour, nMin = 0;* F# k, k' i. H$ B- b
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
+ X9 D X5 o" U+ O( K1 h LIGHTCOLOR lightColor = m_k24Light[ nHour ];$ A& o+ r- O! \1 X: O
* c- Y+ [- z e3 W' w/ n5 d
//m_lightColor = lightColorPrv;
: e6 s- m( w% o. R- y0 L* W lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;; e; X+ k' O( L4 L
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
$ [# P. D4 p( v' B4 V% n8 A lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;4 _* M; m! `* W" U+ t! g
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;4 p( O7 H# e6 \9 g
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;* ]# D5 p4 i( L+ U/ {" P
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;" M1 V' o. \, ?! |
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
8 f8 T* ~* u: q
L& m5 f1 o& O! |/ _' x // à??μ oˉè* 4 }# k: E3 p5 O8 N, n. s
pLight->Diffuse.r = lightColorPrv.r1;9 n2 ^& K ~2 q! e- O+ C
pLight->Diffuse.g = lightColorPrv.g1;- ?! u- Q( J E" @- y
pLight->Diffuse.b = lightColorPrv.b1;! Y* b) J/ ^; }3 G4 S! U, R
// oˉè* ??à?
) i& w$ o. b% L) P0 W5 j. j pLight->Specular.r = 1.0f;
2 H3 w' a2 n% b6 n pLight->Specular.g = 1.0f;
; {( r% b# x3 M% F) X/ L pLight->Specular.b = 1.0f;" b4 _; r0 D* V+ x
// àü?? oˉè*
9 t9 X( _7 `+ ^ pLight->Ambient.r = lightColorPrv.r2;
5 r$ g' R# A9 N: S5 d, x pLight->Ambient.g = lightColorPrv.g2;
2 C1 n/ v- Q4 v# A0 v5 W pLight->Ambient.b = lightColorPrv.b2;3 N/ h7 y' Z7 C! S2 l
$ y+ d5 k% e# H if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
6 ~ h& L) s0 X9 C, p8 Z- c {/ k3 R2 B" [; M* ~& w
pLight->Diffuse.r *= 0.6f;8 I0 v2 e6 ^0 D
pLight->Diffuse.g *= 0.6f;
/ Y. j! O9 w( x. D7 `) o D% @ pLight->Diffuse.b *= 0.6f;
, Y$ P: ?& J" P/ P pLight->Ambient.r *= 0.7f;! v/ a8 C) F) X" j
pLight->Ambient.g *= 0.7f;
8 {9 u4 `: s6 s) L% s# A/ n pLight->Ambient.b *= 0.7f;( b- ~6 A" v U3 |
}% y$ g8 S% f7 M0 C r1 P$ j% b
* M7 P9 d6 e/ s* F. @6 O) P& d( W0 d
#if __VER >= 15 // __BS_CHANGING_ENVIR4 E2 g8 ]( g, h) M, g
if( g_pPlayer )) E* O: H; H, Y' T
HookUpdateLight( pLight ); , p r* C. o& T. k
#endif6 v$ a5 G7 L4 }
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# e6 d3 q5 x" n3 W0 Q: k8 g
7 L, |3 s- P2 x; ]0 ]2 d) ?% ]#ifdef __YENV8 ?4 a8 g# R( B: N
pLight->Diffuse.r *= 1.1f;
) }. h0 V, m7 G7 ~) M' N) H; y pLight->Diffuse.g *= 1.1f;
% u9 l# [ X# D, W pLight->Diffuse.b *= 1.1f;; x/ C6 }2 h" Z) \7 Z/ F* }
// oˉè* ??à?
% }- X a* B0 `& \% ]9 G' b4 a" v pLight->Specular.r = 2.0f;% q# H; ?3 W2 k6 o* @, X' G
pLight->Specular.g = 2.0f;
t7 U. a& C6 M2 N/ S! L pLight->Specular.b = 2.0f;* A6 _5 i* _- ~ w
// á?oˉ
6 Q4 }( R4 p8 C- h, W pLight->Ambient.r *= 1.0f;
9 [8 T& E/ a1 M( }/ h$ O pLight->Ambient.g *= 1.0f;; ~/ `+ {/ U w* Q
pLight->Ambient.b *= 1.0f;& {2 Z* o* a8 U) N
#else //__YENV
! T" ]7 a. W0 L' i& a2 ]2 K pLight->Diffuse.r *= 1.1f;
/ q9 s6 l" f$ t { N2 U5 t pLight->Diffuse.g *= 1.1f;6 C3 P8 @* R g' X, ^
pLight->Diffuse.b *= 1.1f;
2 z& [5 E& X. [! h // oˉè* ??à? 5 E a% R1 E1 w7 C( H) g
pLight->Specular.r = 2.0f;* `& h4 M- F/ a
pLight->Specular.g = 2.0f;6 H" {3 N; ~6 d; `5 q) y5 s
pLight->Specular.b = 2.0f;
- R3 W4 _2 u( I, K+ o // á?oˉ
# c9 h8 J( \( C4 x! z! c; a4 L9 P$ m pLight->Ambient.r *= 0.9f;7 {8 O/ n" m8 |$ d! U% A* f. `
pLight->Ambient.g *= 0.9f;
, B* w) r& Q& B pLight->Ambient.b *= 0.9f;# s, Q" n9 k' a1 {; O" `; l) A, T
#endif //__YENV
; t4 {: f2 Y/ t8 g 9 G7 }, F4 I2 V- R; h# W" W
memcpy( &m_light, pLight, sizeof( m_light ) );
1 }& t3 u1 _0 M7 Y6 F ( f6 i) k: C' t/ j! k' a6 F
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
3 I! R6 [) q3 ` D3DXMATRIX matTemp;! x5 J3 R/ i$ K5 H
static const float CONS_VAL = 3.1415926f / 180.f;
* s+ r$ w6 G8 Z. t. k, x* f% ~' f9 v( K5 W* }( @. Q: L
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);5 s4 {5 p: N: b* W' o* U9 A8 }
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
! c" f, I- H: b- T' M8 _ pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
/ H* y# g5 S! p/ Y0 \ pLight->Appear( m_pd3dDevice, TRUE );3 `+ |! j1 ?' L( W/ Y0 Q) O
4 ]1 a1 x6 M( ]$ R, L // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);* Y6 t4 |1 ^/ c' @% {- a+ w/ c
// D3DXVec3Normalize(&(vecSun),&(vecSun));
, ^/ w" n5 D6 Y: D // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
! _4 e* W8 k! T0 W4 g! N( v, x0 U3 \6 c+ Q- w0 X$ j
DWORD dwR, dwG, dwB;8 C$ f6 d- N" r; R% e; \
dwR = (DWORD)( pLight->Ambient.r * 255 );
, t U p9 }8 p o1 U7 }$ e: a dwG = (DWORD)( pLight->Ambient.g * 255 );) b. e1 }1 E( Z* P+ @
dwB = (DWORD)( pLight->Ambient.b * 255 );( W/ C* C) [* P W
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# @0 p) m- J& u }- U) {/ u S7 h$ o6 ~ s9 w
}# g9 Q- ^2 U0 m9 d6 I& j& s: \
: T& Y# V2 }( R9 m# U9 S! Q m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );, B( |, \/ l1 O) @7 ~/ U4 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) );
) e, ~6 g V7 G ::SetLight( bLight );. s( Y1 x: [: \! ]4 o
/ Z. x( a' q/ m7 Y' G/ {+ D
// ±ao? ?D?í???ó á¤à? " Q [/ r, I: \' r
m_pd3dDevice->SetMaterial( &m_baseMaterial );3 S: w' e( A# \) | B. ?
# S6 W8 Q$ ^2 j) o4 N; H. g. }#endif // not WORLDSERVER+ R* @/ U, e1 ^+ \" s" d
}
4 ^3 J$ \( Q, A# ~7 ^! e并更换3 O/ l+ O' o: {: {' H6 C
Code:
]8 P" b M0 k: P0 Z- J__FLYFF_INITPAGE_EXT9 I5 y5 Y5 u$ m: @$ Q4 {
定义) X; Q* V! r# `. S
9 ]/ z* n# ?( _- \* V5 ]
- C l$ x4 X! B( q0 K- a: w' h0 Z9 {) B( n9 p( Y
$ `& {, O0 E% J4 r! V" m现在终于删除我的狗屁加速...& l7 U: x5 _" O
5 o! K# \; C, ^9 I" k+ P3 ?) B2 Z8 O( P0 E: P
9 P0 }5 C# \5 \ |
|