|
|
食品车:
5 {% |* A3 p J/ U- ] V( L6 d6 {% q尾翼:
: B# i9 o5 a b' m0 @0 j: b/ o
! }1 k3 g0 |1 f* S% q代码:
3 t) f' V- F/ A. |/ i6 MCWndAutoFood::CWndAutoFood()9 S4 F! u7 [" i& S
{" B# x' v6 w ?6 {9 @
m_pItemElem = NULL;
* Y6 x2 T1 D6 A6 E' @ m_pTexture = NULL;
, p) `+ _( d% b" E bStart = FALSE;6 G! _0 M- d; o& h$ E4 z
}
9 O- a% Q: |* h1 [+ L$ ~( q6 F) w' U
* J d, T; h8 }- Z* XCWndAutoFood::~CWndAutoFood()
. W% ~2 G0 K. H8 _" V, r& D{* j3 o# F$ ^: m0 O
AfxMessageBox( "AutoFood ist gestorben " ); f: r5 d, j! d
}
/ M3 y6 d2 o9 B0 ]* |( GBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
9 F7 o7 j9 R1 _* ^" x, p0 A{
) a" ^4 T% a' p5 I3 @$ G return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );* F4 e5 ~6 }) |$ _6 Y& A' Q
}+ T3 c/ o& s4 h' U
& y s$ O/ A- U0 YBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )2 }# m' y$ [7 ~$ ~% t( M
{
6 A/ e+ c- @+ E1 m LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
' Q% ]# o1 v0 Q, K CRect rect = pWndCtrl->rect;* S+ G! G) s# b2 t
if( rect && rect.PtInRect( point ) )
' x) [- d) c6 r {
3 M, o8 D' m$ L. ]2 v1 ]6 N CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );+ l7 V! `1 F/ [8 s. n
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )7 [& L- q- _5 M" n9 V$ E
{
/ o/ |% x6 f! O& w( j if( m_pItemElem ) t' _# \% }5 `, ^' T& w
{6 {' b$ R, w3 C6 @8 w" `
m_pItemElem = NULL;
+ \% g+ V8 M: b6 n9 a; v8 w }
) T Z, f7 s- \6 t8 u8 V m_pItemElem = pItemElem;0 }) J" c1 Y8 C- W
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
' o6 b @- ^: }/ y; s' m }else{4 f4 ^5 y: y& H6 X- h
SetForbid( TRUE );
/ i$ a5 |4 J5 f4 Z. i' [3 y }- |8 Z0 |' J3 a$ n% Z& r5 w ~2 v
}else{! r; }" Z" v6 ~1 a$ N0 P& D9 R1 K
SetForbid( TRUE );
* I0 n; T5 i; C3 U! v, H }
6 Q- z) [: G/ A5 G X return TRUE;
' B3 X+ g$ `! i; @9 f5 i' b: G i& }}
& f7 d. f7 U8 v( Z, ^" ^* V" ?) a6 I" e
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
2 h: O' L, \5 q' m7 `% s{% a/ E1 r4 X" Y0 v4 [& X& F
switch( nID ); n" v% T; w- M5 {
{% }. z: y( c# x
case WIDC_BUTTON3:" \- @3 g1 M) X
{; J: a# c& v3 W! _0 U1 l
bStart = TRUE;
- q5 o9 S+ g- d7 n7 } break;& x& H h7 F! `/ L/ M
}( {/ ]( J' q1 v# Y6 I
case WIDC_BUTTON4:
7 H; [% t2 {! e; q& r/ h9 H6 V5 Q; u {* F& c1 z: W' u2 f1 t
bStart = FALSE;
0 D, p* ~! l9 E l7 v$ |( [) r break;
! v1 S* Z8 P5 `( [8 Y2 s; I } X9 n2 ?) E; ^9 o: X j2 ^
}* s9 e" i X+ I
return CWndNeuz::OnChildNotify( message, nID, pLResult );
6 R' [" A" S! W0 i0 @}
8 O9 p1 @# f, R( C" ^) Xvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )3 F6 P% h. L; C. W/ x" c
{
9 |- p1 j! g9 m9 x CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );: q% x7 G- d" d# p
if( bStart || !m_pItemElem )
7 z! e8 r' D* l& v6 R {
: A* |9 Q4 N3 S% N4 t pBtn->EnableWindow( FALSE );0 O w+ l( J, e2 ^1 P/ L) V
}else7 M, d: e9 f, F; R
pBtn->EnableWindow( TRUE );- L& }0 `, G2 W* t
if( m_pTexture )
/ Q. @; \4 }: l+ D {
0 w5 z2 _+ D4 ~" G4 Y" s LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );/ N) V* \0 H! {
if( wndCtrl && wndCtrl->rect ) L: L4 `( H1 C1 C" N5 b; s: ?
{
8 K/ l: u; l4 G7 v& n! y5 l m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
' X2 o5 z" ]9 d0 h; Z }
: F$ y. C- ~6 G/ z }
1 c9 s8 x. S' f. ^}4 }; u3 v x+ }1 s( j9 w
: T3 n0 d: V4 ?5 A4 c7 Z
BOOL CWndAutoFood: rocess()
- J. R) ? u1 @9 y9 G% ?0 g) J/ c{
; u- M d* x2 o if( bStart )8 @5 S( u. A: ]$ B: v) [! M+ a
{* ]3 y7 H! {5 U, W7 b ]' P" Y; w
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
/ q5 U3 U V ]6 X' }/ o {
6 P5 R# X- K* a( d( T z if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
$ m* ~4 Y3 b8 K: [) I5 l! k g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );$ a P, ^5 h4 I1 \
}else{9 D O+ c5 @3 u: k
bStart = FALSE;2 \: \5 F) C. _8 ^* A
m_pItemElem = NULL;
7 i" _2 C1 N) |+ i6 [ }/ ~* D8 C8 ~+ S
}
6 x- w. s7 q. O8 D0 K; O return TRUE;
/ ~$ K1 R# g/ N9 h& Y% H [}
& c2 I V( `$ ?" F7 G0 I
+ B7 ]. \7 o- h) T* @4 [, r4 \登录视频废话:) w9 [6 C* g0 H, A. I/ z4 B1 Z
尾翼:
8 H% e5 D E6 R. K+ `* n7 W$ [9 s8 a; F2 M' Q
代码:
2 b, Z5 }" m$ m0 l' i& z# F/ T6 V7 [5 n( t7 C! H
void CWorld::SetLight( BOOL bLight )2 V! Q- Q M2 l2 `! G V
durch7 D6 d; N/ U# R5 w. \) I+ n
Code:
( L5 z. b7 _0 ` }1 n9 H! ]void CWorld::SetLight( BOOL bLight )
8 R& J, L& Y" }$ `{+ R5 ^/ k( W' w( h
//ACE("SetLight %d \n", bLight);6 l- M) V( n$ M8 ?0 @0 j
, t. R9 T- D) e+ \1 z4 ~# o Q#ifndef __WORLDSERVER ! _. k, p9 G6 r; `, ?. j
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
' `1 t7 S9 {1 v3 w% ^$ m CLight* pLight = NULL;; N( q8 h+ @8 L+ a2 E
; Q% j( N8 {% d4 v D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
/ K* }. G: U/ ^5 ^# \6 V( I- f/ C! \: y+ \, P2 y6 \9 {
pLight = GetLight( "direction" );9 q) e* Q- r, L1 K+ {8 H) Z- }
6 g4 b# v% s5 @* f* ~#if __VER >= 15 // __BS_CHANGING_ENVIR
4 d+ p0 X- n) X* }7 J( F% i6 J* m if( g_pPlayer ){' z% I* r- `2 r7 x. m: I
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
5 s1 R6 ~5 u! J9 z( M5 Q$ u7 ? if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
. K& e( N* ~$ f" x$ T# ^" S {
6 E3 D/ ?' v, X if( pLight )
& S, f. L1 p2 {! J" y) l! s- x {
6 ~6 q, c0 S$ p" P pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
/ o6 u. t; W+ P# ^ pLight->Ambient.g = pInfo->_fAmbient[ 1 ];2 G: {# ~. h, w6 \ S7 S
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];5 t. \% u0 B s$ A6 {& A3 Y* L9 P- W- H
. o: `& {+ b# | pLight->Specular.r = 2.0f;* C0 Y4 c& u. i# K
pLight->Specular.g = 2.0f;3 d% A2 R1 ^1 G$ Y+ a U" G! o
pLight->Specular.b = 2.0f;
. C& ^ b" I- q' G. U 9 }/ M- R- ~: J% u5 M8 R
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];4 f4 }! {+ M9 Y3 l" M2 O
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];8 K# \- S- C8 b s& g
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];) i1 @: A; Z9 P- B' ?. B
, V$ F8 x- Q3 J1 [9 `& k! U8 l
HookUpdateLight( pLight );
& _1 ?4 w' j! t; Q" _1 g0 N( Y) L) X. h3 Y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );, f* j2 w3 i# u+ y; x5 `' p
* q$ U! A' j; y; {1 l* z pLight->Diffuse.r *= 1.2f;/ w+ W" _, q$ I" Y+ G; n. ~
pLight->Diffuse.g *= 1.2f;8 o5 i* s+ o; h% x0 v. X g9 x
pLight->Diffuse.b *= 1.2f;
; i6 }# r P3 C# s3 q1 r
w$ F7 w# M8 f) w% q7 A% x4 g5 G pLight->Ambient.r *= 0.8f;
5 U6 g2 O+ ?; e6 p pLight->Ambient.g *= 0.8f;
- P$ u, ?. x% n7 d, f' T pLight->Ambient.b *= 0.8f;$ c$ U& l; Z3 n. u. K; {9 o
+ g; ~4 f. R* l+ Z8 A6 u memcpy( &m_light, pLight, sizeof( m_light ) );# A6 o' f# s4 T; F% m: c6 Y6 c
1 g( S1 a; f# U6 C f/ r6 Y
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);) l3 A2 f$ [* i( Q8 l7 I* ?
D3DXVec3Normalize(&(vecSun),&(vecSun));
) K7 Y% A6 h) Y* k9 E1 }, \ pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
8 Z/ [$ }0 u' c& B pLight->Appear( m_pd3dDevice, TRUE );
9 g( D9 o+ K6 Q9 p " e6 L P, H' s9 b' i C
DWORD dwR, dwG, dwB;
* n; r8 r4 z6 y, V2 I4 _* b2 O dwR = (DWORD)( pLight->Ambient.r * 255 );
3 D0 ` q( }! C* @0 G0 e# G; _ dwG = (DWORD)( pLight->Ambient.g * 255 );
2 K6 C L* v$ A# K dwB = (DWORD)( pLight->Ambient.b * 255 );9 J( p+ r& {# A5 m" e7 V
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );7 S4 p' z/ `% r' J! U
}
" I6 T% Y+ E0 ] }5 K7 }! k* @: e
}$ K1 h* E: m- X: L: C( b
else# ^, C' F& a" _
#endif 5 E r6 F- _) u
1 J, Q. Z8 J; \! \$ E
if( m_bIsIndoor )/ h* L* P" R! D7 S
{
! v! L8 ^ W9 u& C9 d/ p5 h if( pLight )
) W- _6 ?5 l: v, y8 { {
- Q( ]# s3 y0 a( n8 e5 V // à??μ oˉè* A' Y+ r3 C; o& A& X! U8 a
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;. B+ D5 |7 I e' Z& w1 P
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;9 t/ a& T3 n. M/ v6 E9 I
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;! l4 E. B8 V$ C0 k
. T% q% A7 C. s; x% q( z
// oˉè* ??à?
3 W* _+ Q Q& S! Z pLight->Specular.r = 1.0f; {) T) V. k" S1 p5 l9 x7 M; [
pLight->Specular.g = 1.0f;
/ @) W. f( z# C0 E pLight->Specular.b = 1.0f;, I6 o9 @, P w6 _+ c, k% E
// àü?? oˉè* . C7 n) ~& {+ q9 M6 Q) o
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
+ L( ?) z) L+ B [ pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;( w* T V: N) t
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;" G/ F9 E1 A, w2 X7 b. Y
1 [# H# k. F( Y6 _- C, f if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
/ k+ G; _/ T4 p6 U3 f p1 C0 K {
- w# }6 k6 Q( @' y6 Y pLight->Diffuse.r *= 0.6f;
/ m- i# G, }- _# K: o pLight->Diffuse.g *= 0.6f;
9 g3 M1 A$ n( }5 v' s pLight->Diffuse.b *= 0.6f;- L3 d5 T8 @$ V, b( j1 `
pLight->Ambient.r *= 0.7f;' Q1 g8 @" q! X( B3 J
pLight->Ambient.g *= 0.7f;' U0 @$ J: ^* q: c4 k! c n
pLight->Ambient.b *= 0.7f;
8 R3 [: Q9 Q# u+ U. q }$ Q1 ]4 e! @9 B2 v
/ e! }# t, a5 q) c, j. k. {' s
#if __VER >= 15 // __BS_CHANGING_ENVIR
3 R% ~0 [* W: G' ~; Z if( g_pPlayer )
, e6 K3 h J. l2 U& t5 t HookUpdateLight( pLight );) T5 v8 g2 b, _) T7 s. L6 u6 B+ I! U) ?
#endif
7 \$ R7 Z# c8 T memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );, g. ~( x. Z: q. Y
' j9 c2 o( s, @/ I pLight->Diffuse.r += 0.1f;
) p* ?% U* i, Z5 ]2 | pLight->Diffuse.g += 0.1f; h. _6 {; u! t- S9 B% ]
pLight->Diffuse.b += 0.1f;
( q) Y, M/ L+ { o( ]3 ]1 K // oˉè* ??à?
! W' S" u1 D+ e& B9 |1 b, h( c pLight->Specular.r = 2.0f;
" H3 i: i; h1 E2 C' ]/ O% g pLight->Specular.g = 2.0f;! V; X0 ^7 Z8 }# C$ _
pLight->Specular.b = 2.0f;) n8 W7 w& V j" U8 A
// á?oˉ
: {) R) w$ L2 |, y% n, _ pLight->Ambient.r *= 0.9f;) d1 m) m' l" D! j' q& n) z
pLight->Ambient.g *= 0.9f;6 K4 J. u5 R2 Q0 I9 T6 n
pLight->Ambient.b *= 0.9f;
* K3 x* s! b& @, t+ Q# O( h& k
memcpy( &m_light, pLight, sizeof( m_light ) );
+ n5 w: G1 ^, w. D 0 s& ~- U5 z1 O/ B2 J1 a P
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z ); U* y7 e: L* a9 g4 Z1 h/ A
pLight->Appear( m_pd3dDevice, TRUE );$ a$ q4 p k @* f
- `4 h/ E. p" [& O: H( r, R3 u; x DWORD dwR, dwG, dwB;$ t' w' c9 O8 Z2 ~/ U( Q7 ~
dwR = (DWORD)( pLight->Ambient.r * 255 );
, l3 z" x$ F2 s j( b* y dwG = (DWORD)( pLight->Ambient.g * 255 );3 _1 i1 x q; b; U
dwB = (DWORD)( pLight->Ambient.b * 255 );! q2 ~. c1 U3 a
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );+ `) R* [4 L4 q, g2 b7 \
}
8 T1 j! A/ o/ K+ K3 Y, I0 w, z+ n2 a }
5 W# N( y( |, s# X a. i7 F else
l' H+ y% p+ m {8 t$ }: r1 C; p8 h! j
if( pLight ) U `1 U$ l' P/ e5 \
{- ~& q+ @. i& `( A& T! d% M
: T" f/ h% t+ l3 e( e/ d int nHour = 8, nMin = 0;
9 R. Q7 w# A" B* c: Z. s #ifdef __CLIENT
' x3 p& G$ `$ C' q0 m7 v0 ` // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
- c7 Z( J+ `9 Z* i nHour = g_GameTimer.m_nHour;% w, U: J/ F& a, ~4 t9 |
nMin = g_GameTimer.m_nMin ;, H" [- L4 q8 O
#else4 {; A7 _" M" R3 g" h4 C7 ^
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
# z* X7 m* b+ r- \; G: } if( m_nLightType == 1 )
& S2 ?+ \# }! o3 ]3 z4 x) Q" f nHour = m_nLightHour;
$ f2 ~; {0 _* H, `8 R #endif& ?0 [/ s. x1 m _+ M
nHour--;5 k* [0 Q8 Z5 X& Y' Z' ?
if( nHour < 0 ) nHour = 0;3 G: U% j9 P P) {! J
if( nHour > 23 ) nHour = 23;
/ q6 Z6 e" H7 R9 F
( D$ U) `5 n$ [7 M5 t/ R //if( m_bFixedHour )3 h6 w+ M9 R J e# {* k
// nHour = m_nFixedHour, nMin = 0; X% N1 |. E4 q8 m
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
$ r9 ~& h# f1 C( p5 q LIGHTCOLOR lightColor = m_k24Light[ nHour ];& x' n# n c/ K, \* b% r5 C
7 ` _! |* A. R. W+ ? //m_lightColor = lightColorPrv;
' u& g2 T) L, x4 e2 {2 M5 W3 Q! f lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
( n2 g* w L& m, d" o' W' l! z lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;6 g0 W/ S& L; x9 z! F8 z. T
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
% T! O) e/ W0 X lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
* y7 S! \- x8 I lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;, w0 O5 S9 R" A. i- x3 s/ S
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
" ]: N. d" c v3 t% e4 B // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
8 O6 T, H% O% E! l5 K2 s
; b. O. p& [ {( Q, z q. c7 ^ // à??μ oˉè*
: l+ d- e f6 b5 I& P% V, B& A pLight->Diffuse.r = lightColorPrv.r1;- ^1 V0 F. p5 n/ L! r% L) {0 l! \
pLight->Diffuse.g = lightColorPrv.g1;
{! b+ w ^ t% P' e. f5 R. v pLight->Diffuse.b = lightColorPrv.b1;
1 Q6 n4 u6 k* z) ?9 V // oˉè* ??à?
) I% j& c z2 P) J pLight->Specular.r = 1.0f;
3 K+ r% U: b6 b+ s pLight->Specular.g = 1.0f;, F! p( V$ Y$ @% t& U* B3 k' H
pLight->Specular.b = 1.0f;" ^3 `! F; \0 _" W# P% B
// àü?? oˉè* - r7 C0 n$ u* z
pLight->Ambient.r = lightColorPrv.r2;+ t- b2 S- e2 i% H
pLight->Ambient.g = lightColorPrv.g2;
4 f; g* U" B8 U! B: p8 V" b pLight->Ambient.b = lightColorPrv.b2;: B; A" r: v2 \+ r. A; I5 J& t
; x# Z L p% D8 s
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
^* J1 k$ r) C2 I' N7 f {7 E* b) U' H- C
pLight->Diffuse.r *= 0.6f;
: `8 s# y0 Z l+ ]+ C pLight->Diffuse.g *= 0.6f;
4 O/ [; A7 q8 B4 X pLight->Diffuse.b *= 0.6f;
" p$ V; W( \/ Z2 S pLight->Ambient.r *= 0.7f;
0 L' q' l# @; |5 @0 K1 v, L pLight->Ambient.g *= 0.7f;
- K4 r$ W |8 @% g2 p pLight->Ambient.b *= 0.7f;
+ f( W+ B* B+ h- ?# A9 I }
( I. c8 l: U6 g8 S$ v
: O% p" g9 q1 D) t#if __VER >= 15 // __BS_CHANGING_ENVIR, {& b% `# {5 O* A
if( g_pPlayer ), x# p! K9 j+ U2 t* `; M- @/ Q
HookUpdateLight( pLight );
6 `$ b* E3 U! ]. e6 y#endif# n$ w' E6 G+ F' v% v% T
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& @" @4 L. {9 V1 y1 R+ z" a1 u5 h, I6 H& r. s( X
#ifdef __YENV
. _; \7 `7 m( o: U# g pLight->Diffuse.r *= 1.1f;
3 N" [0 x4 E, Z# F& S pLight->Diffuse.g *= 1.1f;- Y a, x! b9 t6 ~4 g+ K, g* `4 z
pLight->Diffuse.b *= 1.1f;) W4 G, V8 G% J" I9 }2 `
// oˉè* ??à? ; S+ |* u& s% c G+ a: h) w
pLight->Specular.r = 2.0f;' Q2 m+ j2 l, {5 d E7 H+ N3 |$ W
pLight->Specular.g = 2.0f;* J( c2 a2 Y. p
pLight->Specular.b = 2.0f;
* B1 m) t; I- G // á?oˉ
- f% o% r2 X. }5 \: d$ r. @ ]0 d pLight->Ambient.r *= 1.0f;
' G# V9 m, R R4 l# }% [5 Q pLight->Ambient.g *= 1.0f;* n2 b+ a( m$ o
pLight->Ambient.b *= 1.0f;
9 L K3 v: X# J! w) J: e#else //__YENV
$ ^* }* S9 ~3 y- E pLight->Diffuse.r *= 1.1f;
* H2 c' ?' i4 f n% m pLight->Diffuse.g *= 1.1f;5 ?7 C' h- ?: [# R: W- _: |
pLight->Diffuse.b *= 1.1f;
2 F1 O0 ?) ? L) U: e // oˉè* ??à? ; ?9 K' s5 U1 p1 y8 a2 Y. N. A1 H
pLight->Specular.r = 2.0f;. n" O9 s7 t! n7 p% `
pLight->Specular.g = 2.0f;
|' S+ K1 M1 ~0 l; J pLight->Specular.b = 2.0f;) A( q7 ^6 q& h5 n
// á?oˉ 2 O0 q$ [ Z3 o) E1 D$ j, q
pLight->Ambient.r *= 0.9f;
* N* I U3 c% `% X pLight->Ambient.g *= 0.9f;. i o6 m0 `' J8 F/ N( ^
pLight->Ambient.b *= 0.9f;
, ^* Q6 O; q" T: e#endif //__YENV + Q# u# h5 u* B- y, P: O5 Q* ~; {* i
$ n, I# W$ K! s! k: X memcpy( &m_light, pLight, sizeof( m_light ) );% T& Y3 T" N6 h$ J6 C8 R
9 B. p- m& _ C; t8 C# o5 O( g$ G% \ D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
! \1 Z* C, {, T3 w- Q. U D3DXMATRIX matTemp;
! C6 g2 z* k$ V; ^6 q" A) J static const float CONS_VAL = 3.1415926f / 180.f;8 o/ o" |$ U6 O3 S9 d7 F/ p+ o1 o
( d% E3 R5 _' o
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
1 | }0 }1 C; i D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);! U8 V, F! I: x! T$ S* F& q
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
6 I/ J5 B8 _" w* M- `$ j pLight->Appear( m_pd3dDevice, TRUE );
4 `6 Q$ q$ @8 a- D+ e3 F- T$ i0 ^# K; k9 v
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
f% c: y2 k9 i) ]8 {+ u // D3DXVec3Normalize(&(vecSun),&(vecSun));
) @1 n/ i* e: c! }) o, s // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ( W2 F6 E U0 {/ {3 w) S
! h7 w% V3 T# b j2 Y7 \
DWORD dwR, dwG, dwB;* V3 |) T7 C" q' Z
dwR = (DWORD)( pLight->Ambient.r * 255 );
! _; T. B, E% e% w dwG = (DWORD)( pLight->Ambient.g * 255 );7 q0 N. i* ^" ^. U$ U8 o
dwB = (DWORD)( pLight->Ambient.b * 255 );, j7 ~: M! ]1 t3 A( B; _# S
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 7 b, E! f/ R. A5 u1 r( K4 V
}/ m3 I" n( y! g m9 M
}# V1 j/ m- f* g" i, z
& |4 L% l3 q2 \( g+ e6 l
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );1 r# q9 U& r4 e" Q/ Y" ~, Y' 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) );
$ N3 O$ k4 c$ u9 ~* T( \' b8 R+ }! N ::SetLight( bLight );; E7 E2 U3 d6 d" I5 H9 n6 f L' Q
' [" D. ~7 C% O# d // ±ao? ?D?í???ó á¤à? ( |' s% _' j9 r: M4 }
m_pd3dDevice->SetMaterial( &m_baseMaterial );! G. ^. A0 r1 ?- k) U9 @# z
. T) _: z$ w/ ?" z* L, F5 y& U( O
#endif // not WORLDSERVER) @1 ]9 k5 r6 {, B" V; e
}
$ n# C8 v/ c! i6 Q并更换
5 y3 Z$ `8 }# BCode:
3 h" t/ \, l6 T__FLYFF_INITPAGE_EXT
, H4 N9 N! |. t" |定义; O* I; r" @8 {1 R
0 n4 K( y$ S& r% g1 `: s' C: J* R3 m" P+ a' J
+ D. m9 H5 N5 _' |9 ^1 Z
' V% v I* i6 A* s- O" ]( y; b
现在终于删除我的狗屁加速...6 K7 \+ |# Q) E
- V$ E0 N" X% F$ \8 q
) i+ A3 l) h. F0 H9 B: m1 O* U; \; j' F, H
|
|