|
|
食品车:
+ t1 u1 U/ L/ Q尾翼:& Y4 U$ ^& g- @, l% x @7 B) o' e6 a
; D% {9 i. m9 a& ^
代码:; z) o1 O1 Y8 @9 O. q
CWndAutoFood::CWndAutoFood()
1 N1 l+ W( L z3 v{2 ]% B& o o* A/ f# o, Z& Y
m_pItemElem = NULL;& ~) v; F. ^$ p: K6 ], i
m_pTexture = NULL;% O9 ~4 q6 l+ U3 N3 M4 e
bStart = FALSE;
1 i; R# t' P6 h, [2 M; L% S}' Y$ ]$ f% y! ^, Z9 x# V+ v
& h, ^4 M/ O# W w) @ z
CWndAutoFood::~CWndAutoFood()5 m d7 B* M& e
{
: Q* l, Q" ~# a7 P) G AfxMessageBox( "AutoFood ist gestorben " );
1 C( K; C3 G4 ^# I3 Q# B}7 F; @; u9 `* Z& }, j
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
7 l [! y% y6 ~9 h# {7 @{7 O9 _) K2 q# \ ?# c
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );# [2 {5 c) x8 e/ b
}3 Z; X7 c2 R0 R' {. x) G
! Y1 F: u, c6 b4 Y8 A* gBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
" h, D9 X X9 Z# {; p{. B4 U4 {0 _/ Y$ Z3 M
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
8 I' j) I/ z4 n e7 a CRect rect = pWndCtrl->rect;5 O/ A, O. [# M
if( rect && rect.PtInRect( point ) )' s# a- n( U o9 j. c) A7 K
{& w6 Q( o3 r/ ~& a$ i3 @+ j5 U+ S
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
$ J- y4 S3 o3 Q* t+ q' k if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
8 _7 L5 X! Q( L& ]! i {
8 m9 w+ h) C K if( m_pItemElem )
9 i9 A/ Q7 _/ X4 s4 b, q {
7 X- o( m8 w* `+ @+ |; G m_pItemElem = NULL;
2 }- O1 _% E& F4 A4 [3 \$ T8 `+ U }# u) I# F& y4 G$ C0 W
m_pItemElem = pItemElem;
$ T0 \: i+ W+ s! @* f4 l m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );/ E9 F7 _' ]+ x3 V% {
}else{
5 a9 k% t+ y' v SetForbid( TRUE );+ B* ?& K6 N/ f
}. H9 E* h. J3 L; e6 \2 {" k
}else{& x- i% s, i2 j2 c$ _
SetForbid( TRUE );
6 b! l8 ~3 M J$ Q% m9 j }7 i9 Z0 |) o) d9 ]4 ?5 `% _
return TRUE;1 [- T- k; W( C, I
}
* E1 ?' u. I. z; S9 h' q4 u9 \1 p
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )* _0 A- S4 @3 n$ d$ W8 F
{
. w1 }8 s$ V9 C" X9 ]+ ~1 X/ e0 M! Z* x switch( nID )' ?7 o4 S: j; v- E* E
{
b; |- L+ }5 y( h9 V case WIDC_BUTTON3:
2 [( m% F( R' j" U& m {
, I0 R0 T2 L; p: x- D. K bStart = TRUE;. J6 C1 x! k: E. J
break;1 _8 p8 W, T9 g& e6 k3 o' Q
}, j* n- L1 h2 M% L& h/ n
case WIDC_BUTTON4:
2 i9 R9 Q- H8 w& Y8 f; g7 b {* A+ p) y( ~1 |' [/ d" Z$ K
bStart = FALSE;' o- a# v4 x( ] c6 m
break;* g3 ?. @6 C: D/ |$ W
} V' X" K1 v3 n% ~
}* ~* u: z+ p: \( D
return CWndNeuz::OnChildNotify( message, nID, pLResult );5 X$ \% K" r2 ?: d
}
: h" v% R2 a- d4 lvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )) G; \8 T' g8 y$ s0 v
{9 a0 R6 n; g6 W% R9 S- l# X$ S
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
) W- J5 ?2 x0 b- X. X7 | if( bStart || !m_pItemElem )
3 n/ P8 d1 @8 q; i {
- M7 A; q6 J; y% {7 f4 F pBtn->EnableWindow( FALSE );
3 y3 ~/ F& Q+ Z+ r" o( Z* |1 g/ Z( ] }else
4 b/ O- r& R- l4 y! @ pBtn->EnableWindow( TRUE );
! l3 a+ Q0 F: L) @6 G8 J% K. ` if( m_pTexture )
# l( u/ H$ ?: p {& _1 R+ j1 U% A9 @: [
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
9 v# I- U! U' P H if( wndCtrl && wndCtrl->rect )
7 ]- l4 z; X5 R9 B B" }" W {
$ \; X0 |1 |- n2 i7 B5 S m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );1 l! H6 X5 L/ Y# Y Q( K4 [
}
8 R0 H0 `& |& e) C7 W3 ~ }
! C- d8 I/ u; K W}1 X& I# V8 O b7 Q4 h+ G, z! k
0 z. [, g4 \ X0 `BOOL CWndAutoFood: rocess()
1 p% ?1 S3 M& c3 U0 P+ s% M: Z{
- l7 K) ?* ^: u- Z' h& H if( bStart )
2 p4 h0 y7 `; U/ b: s8 q6 ^4 w) Y {
4 E8 d9 H1 {% ?9 Z/ u if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )( O3 y; \, I8 b( x: |
{
3 V: z6 g; ~. F! B) m( |2 h 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() )
4 b1 `4 [6 G% z y g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts ); m# Y [# T9 |# [
}else{
0 l. m3 Q7 y' f8 V, A7 G; X7 R bStart = FALSE;; M7 ]2 P8 J* ^! n
m_pItemElem = NULL;0 B9 f9 u1 y) q0 z/ q
}. M; b2 Q0 b% u, y1 g( n
}
5 m: Y) t8 F6 _5 Q! r& e return TRUE;
5 c" E" Y! F) r1 ]+ v2 C0 A}
" ~' X& I' W& f$ x4 a4 h) m( ~3 ?9 h8 l/ g5 q
登录视频废话:; n$ C: F5 q0 O5 J6 ]% C9 \
尾翼:
( d" R2 h+ P" b
6 v- g2 L( ]: [代码:; l- X0 I2 i* e
5 X% s ^( }% s) l6 lvoid CWorld::SetLight( BOOL bLight )
+ X2 a# [" x- y. ^5 b6 gdurch" w5 q! m# C! U' X( Z
Code:
) n( u2 ^- X2 n! A+ R8 }1 wvoid CWorld::SetLight( BOOL bLight )0 [" T- Z8 e( I" h# x( l/ P* m5 T
{
' M, `+ C, D2 f5 p- L //ACE("SetLight %d \n", bLight);( Q+ g$ [; \' l! E3 N! K0 a
7 f1 _, R5 d! W0 z6 o7 T/ d#ifndef __WORLDSERVER , e$ E& l' Z8 f$ ]
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
b$ G9 a) e3 d" P CLight* pLight = NULL;; |) H. J' P$ c
8 E/ M4 x- l! R( t/ N% j4 r
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );, @, Z) s. @- D6 `
C* L2 ~0 }7 t/ ]# X9 o' R
pLight = GetLight( "direction" );0 \$ t$ c F- }: K& V% [. ^1 H
+ ], f( v9 h0 N9 O#if __VER >= 15 // __BS_CHANGING_ENVIR
0 R4 P) n+ [: i if( g_pPlayer ){
5 x; Y. E1 D' \) k9 z* ] ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );1 F7 i1 w- N% {6 R$ p; f
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
4 o7 @. G/ J6 ^6 L6 g8 E6 v+ A { ^( v5 p) b) [% e
if( pLight )
6 H; N8 v- P7 [" ^" K% o {
: R& Q) i9 h( t+ n/ y$ H+ l pLight->Ambient.r = pInfo->_fAmbient[ 0 ];0 s( ]7 C5 Q7 w9 D( x% m0 f$ v; ]4 z
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];& I# a% Z+ h; X9 J M3 C! X) N
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
. X) S9 w5 g/ S+ p5 r+ F# _4 g# s5 I2 r6 t
pLight->Specular.r = 2.0f;
7 C1 d& L8 Q k7 {9 ^ pLight->Specular.g = 2.0f;
' F- h2 F9 ]- r$ @ }3 k- _ pLight->Specular.b = 2.0f;; A( D6 C4 P2 U2 M( m
# p/ F# H* ^( H- f4 Z; q pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];" X8 Y: b2 m) T5 w
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
' A/ J6 }' _$ C! e pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];; O- e/ a" h! }" R; o& p' h
/ R4 ^ q9 F% v& E3 K5 z4 M HookUpdateLight( pLight ); 9 c* D3 h# Y$ N5 X j8 [
6 q3 p) \" e8 s$ _ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );) O3 b1 O/ }- [9 F5 [1 E) O
4 m7 q* }4 H" l pLight->Diffuse.r *= 1.2f;
i! T& k) W. j pLight->Diffuse.g *= 1.2f;) E& n9 o; h. c+ a
pLight->Diffuse.b *= 1.2f;$ y# a" ^4 Z4 O* P
+ [7 {! a4 F8 d' q* U7 j1 c; b pLight->Ambient.r *= 0.8f;
+ a. y: V, g' @$ S pLight->Ambient.g *= 0.8f;3 }4 `5 x; d8 y) E
pLight->Ambient.b *= 0.8f;5 ]1 [2 i) E9 D) S
7 A% y0 C: Z: u* t% k$ E memcpy( &m_light, pLight, sizeof( m_light ) );
+ {# ^+ u$ S$ p" z0 P- f
3 z* a3 N: C& d% @ D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);3 L4 g: A9 y: t2 m, ]! m R
D3DXVec3Normalize(&(vecSun),&(vecSun));* B1 k% ]2 N" U+ e) ]: W q2 a
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
, W" l& T; n* n: T' g* A3 E pLight->Appear( m_pd3dDevice, TRUE );, o( c8 w4 |2 y) A9 `: {! F
1 [$ A# c2 F6 M1 N0 o0 d- ~9 v6 s
DWORD dwR, dwG, dwB;7 P( w( _0 [( a& `0 W, \
dwR = (DWORD)( pLight->Ambient.r * 255 );
( N* t$ K1 O! u( L7 | dwG = (DWORD)( pLight->Ambient.g * 255 );
g3 @, Q( _0 @6 u# c dwB = (DWORD)( pLight->Ambient.b * 255 );+ B9 @! a& u x* R% p' I: u3 {
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );3 l: A9 i7 o! k: x' I
}
# R4 \7 T j3 Z' A }
5 D; I% y* \% [" c. E, c! x }. k. Y1 }, e( g
else5 _8 x! Z) u$ _5 _* t" j1 Y0 E8 S
#endif
8 r6 p2 [ Q. j5 v* K$ t* V+ P ^0 T9 @8 X& |! c
if( m_bIsIndoor )% O* ?( u7 v; ~" Z+ Q9 H0 i3 w
{
; _6 u- J' _* M/ \7 h if( pLight )1 Z0 a9 a, I, D2 }: t* r( k% w3 H* F
{
* P5 H! [, T* J' J8 j& K1 ~4 v // à??μ oˉè*
; j. \2 N! N& I9 Z2 e pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
9 G& o5 r" H' J4 E t pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
2 d* h$ o8 ^) n* h: n# I pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;- h5 p8 d* b/ p: U
5 D# [) v' y( T2 T& K4 p // oˉè* ??à?
# q: ?$ b; Y# @3 ~$ W pLight->Specular.r = 1.0f;4 v5 O. h4 f; i0 f/ D, k
pLight->Specular.g = 1.0f;) q! L9 k) r$ _; |
pLight->Specular.b = 1.0f;
; W! P9 g5 J- w. J% K+ e/ E: w/ y // àü?? oˉè* 2 z z. x/ _! V8 Z, G0 g, ^
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
1 W* I; L: p/ k% A pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;5 ~) i+ O' c$ T
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;7 {! R$ N" v* R% T* r5 a/ ]
8 \! {: B: _+ ~! m- H1 H
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
! n1 t8 b1 Z& ~/ B' s {
" L: h/ s% Y( C4 o# f pLight->Diffuse.r *= 0.6f;$ e. s8 R" V3 V# e( s; h
pLight->Diffuse.g *= 0.6f;
# {$ n. q9 V! {8 u pLight->Diffuse.b *= 0.6f;
1 v. b' d* E( X/ E- ?2 o2 ~ pLight->Ambient.r *= 0.7f;$ F; w# ]' D: N7 M, s* L
pLight->Ambient.g *= 0.7f;0 T6 O. U, O" h4 T
pLight->Ambient.b *= 0.7f;1 E, _8 G% a" m3 B: h+ u* R
}
0 v" l1 l$ Z1 ~( u/ t. l* R6 ]3 S& m
#if __VER >= 15 // __BS_CHANGING_ENVIR
2 H* a `, Q5 k/ k1 e7 ] if( g_pPlayer )
6 b: l+ u/ L- V HookUpdateLight( pLight );
& Q" [% ]( f3 z7 g6 p3 }, h$ E0 x#endif
8 [: L* J3 S8 u/ M; X memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );( O- \% t4 x {! Q w' g
' f# ^$ _9 F. i) E( ?$ g pLight->Diffuse.r += 0.1f;
/ F; P* L1 C0 k" s) h O6 ? pLight->Diffuse.g += 0.1f;9 N* b4 f! M; {5 S. D; \7 _ G2 m. V
pLight->Diffuse.b += 0.1f;
7 P+ B1 I( t& N5 Y // oˉè* ??à?
" J7 K- e& y9 M, Y7 f+ B: S z pLight->Specular.r = 2.0f;, K# x7 P7 n8 ~/ B/ e( p% Y
pLight->Specular.g = 2.0f;. x" A- g' X) ` q/ H) ]
pLight->Specular.b = 2.0f;) z+ d! L! ~$ w, [9 E7 k
// á?oˉ
# q( [4 A$ q' Z, a9 G, R P pLight->Ambient.r *= 0.9f;/ m& O" ?+ b+ D9 d
pLight->Ambient.g *= 0.9f;9 ^' C- ?& j$ w
pLight->Ambient.b *= 0.9f;
- I$ r8 S! D& q% d) b- D6 @
, b7 ~3 M& I( E8 z. S% D memcpy( &m_light, pLight, sizeof( m_light ) );
( k( P) H0 w# c( d+ [ ' k) T6 f6 o2 S* T* b5 z! o1 z
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );- L' z0 H6 J) ?# y9 ^
pLight->Appear( m_pd3dDevice, TRUE );
0 |) J: B3 [8 k8 s1 T
5 G; [" u6 j, _ {: X! w2 J1 r DWORD dwR, dwG, dwB;- W! n3 u1 s* q: D; k& ?, l& g- T
dwR = (DWORD)( pLight->Ambient.r * 255 );
: U7 k# A# ]+ h6 } dwG = (DWORD)( pLight->Ambient.g * 255 );
1 F+ p r. J/ z# ], X% u% _ dwB = (DWORD)( pLight->Ambient.b * 255 );5 P. H! }& _' m1 x0 B1 ^7 {' L s( i" y+ W
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );" H1 {2 b3 k1 H) P& l
}
5 \& q2 ?9 \0 G& D }6 I) q( b, K. h, h. v" d- e; g5 [
else
& F) F. Q8 A5 n {* ^' s9 l; C% f
if( pLight )- S. ~+ h' y) z& E9 @
{ \+ T0 i& n/ X/ y7 W$ s
5 ~$ M. N4 l: t6 V# ~0 u
int nHour = 8, nMin = 0;
4 W% Q+ J- H5 K #ifdef __CLIENT
! S) |2 f6 J+ P! P; K, m7 Z // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
/ E3 U& d6 R6 C% ^0 m nHour = g_GameTimer.m_nHour;
2 n8 b ^! N. h nMin = g_GameTimer.m_nMin ;
) k, H+ ~& m3 Z; s9 b. ^ #else$ Z0 b) j. {( Q4 H% {* @
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.2 b/ W* D7 Y. Z# Q5 t6 N
if( m_nLightType == 1 )# I# Z9 b4 k9 l- \" c: o. T" c+ L
nHour = m_nLightHour;
e, I: R; v: @: W- g+ N z #endif
& m5 m, G+ g% }* A nHour--;1 ?5 Z: @8 F( f2 Z
if( nHour < 0 ) nHour = 0;
4 a! N! ?/ N7 t% ~; I if( nHour > 23 ) nHour = 23;
1 L2 z1 U4 E |& j; Y: |9 ~& c
1 B) H3 U; U# z/ w0 ]# R1 T //if( m_bFixedHour )7 y% \+ q( z- }4 W! l9 V
// nHour = m_nFixedHour, nMin = 0;
& y1 r3 V7 Y- \! U6 I/ g& a- ], [ LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];$ C' T7 k0 S3 M5 b3 A4 G
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
+ G* u7 H" ]1 z
2 H: u( {$ C& O8 a; m" R //m_lightColor = lightColorPrv;, k, D# B- i) X
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
5 ?" z/ W" N' F- o4 b3 |, h lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
$ V, ~$ z. E$ L4 N( K) k lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
8 Z# O, [/ ]. r) J lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
% A/ t7 t4 T* h: e, l4 n' R lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;( k/ u8 F2 m4 D) c. d1 e; \
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
5 C2 ]3 l9 A+ e! f# O3 L4 s% F // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)+ [6 |0 y& N: { \) [
$ u3 B* q! u$ ^ @: [! X* S // à??μ oˉè*
, T d( c# B5 c pLight->Diffuse.r = lightColorPrv.r1;4 ^4 q' O- J1 J! Z' W4 e5 c0 y; o0 G
pLight->Diffuse.g = lightColorPrv.g1;
4 ~! N5 j' }; b( b5 g8 P+ Y pLight->Diffuse.b = lightColorPrv.b1;
$ Z4 D! C9 y7 V4 O& I: i3 _1 x0 z // oˉè* ??à? c, g# C+ S7 s9 s# d/ J
pLight->Specular.r = 1.0f;
2 ^; L9 v" N9 N, t pLight->Specular.g = 1.0f;
6 t0 O) w6 f: w8 \% S" j6 K, b pLight->Specular.b = 1.0f;- O' h; {, p# x- g! b# w! U
// àü?? oˉè* . H4 g0 U5 f3 r( t+ x
pLight->Ambient.r = lightColorPrv.r2;
1 i. M* h& y, z- j* H' | pLight->Ambient.g = lightColorPrv.g2;
: l; q- x+ J6 Z; H0 t1 \ ? pLight->Ambient.b = lightColorPrv.b2;/ ~, t @% C0 E
9 R0 W2 {& V2 E/ I7 B
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.3 c J" l; C7 o. J3 k
{
! |: ~0 y0 v+ J g% x& p pLight->Diffuse.r *= 0.6f;+ K1 T) Y; a/ u; x. S7 v
pLight->Diffuse.g *= 0.6f;
$ a$ O/ @2 g4 e pLight->Diffuse.b *= 0.6f;
6 Y9 {, b; E2 s pLight->Ambient.r *= 0.7f;
! y- ^. T+ d/ _- Q0 v pLight->Ambient.g *= 0.7f;
8 B2 Y5 A4 F- N$ @# E1 O7 L5 m pLight->Ambient.b *= 0.7f;
+ @: `) z- D$ s! x$ K! x }
8 w' C- F+ W/ E& u6 q, T ) E4 S, n5 `$ a/ V6 E
#if __VER >= 15 // __BS_CHANGING_ENVIR/ u, Q5 N, s- w4 S
if( g_pPlayer )! f# T" n8 S; _$ A$ p3 u5 F
HookUpdateLight( pLight ); $ a/ r4 ~; A7 R! D
#endif
+ n4 B+ z+ o; W% }2 w memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
9 l' x+ i) c+ _! F g8 ~) o. M* E2 K0 C+ U$ l, _
#ifdef __YENV* P! B" J2 U |$ C
pLight->Diffuse.r *= 1.1f;4 \, l# p% q7 i( {. Y
pLight->Diffuse.g *= 1.1f;5 y8 i3 ?& |& }3 ]0 `
pLight->Diffuse.b *= 1.1f;
; L) z: Y- q5 f8 p, K0 Q // oˉè* ??à?
3 U! U+ B3 w' Y/ `4 A pLight->Specular.r = 2.0f;$ G* Z( n5 T7 p' U i6 u
pLight->Specular.g = 2.0f;
: m2 f( a8 F) w5 V6 i1 | pLight->Specular.b = 2.0f;) f# i Q$ C8 t4 X' a$ E) H: }
// á?oˉ . F1 x) `; B8 \ R8 B% j
pLight->Ambient.r *= 1.0f;* ~9 n# F% G( Z+ y8 c9 a( i, [
pLight->Ambient.g *= 1.0f;4 Z% v1 \) w6 a1 k
pLight->Ambient.b *= 1.0f;
# u: {# A9 [( W#else //__YENV
( R) s# U% x# R- \$ R2 M pLight->Diffuse.r *= 1.1f;
7 v$ C, w. k: [: ^ pLight->Diffuse.g *= 1.1f;! G9 A6 x: Z% f u
pLight->Diffuse.b *= 1.1f;
6 e8 ]* c8 N4 f% q // oˉè* ??à? ! `4 Z: e8 p. u6 f D
pLight->Specular.r = 2.0f;/ |2 O+ ~' G0 E4 i o
pLight->Specular.g = 2.0f;
5 ]( Q2 o: B$ x. l4 }6 s5 _+ [8 j pLight->Specular.b = 2.0f;' D+ M4 V p8 A' H
// á?oˉ ; w/ O$ G1 R- ?5 b) A( i
pLight->Ambient.r *= 0.9f; j; A9 \' M, @0 e" ?' ~8 r
pLight->Ambient.g *= 0.9f;
; u3 Y' Z- Q' F q8 B pLight->Ambient.b *= 0.9f;
% m9 a) v- I6 Y |: A3 l#endif //__YENV
2 H: ?1 ]9 a; \# d 2 `$ g2 f0 L- G3 r$ [8 ?. b c
memcpy( &m_light, pLight, sizeof( m_light ) ); ~3 n9 z, {/ K5 @6 L/ N+ c
S1 C% R* Q7 L
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);" X+ ]+ ?5 ~0 N- h6 A6 A( k
D3DXMATRIX matTemp;* E8 y2 [/ F" [2 [7 Z5 I
static const float CONS_VAL = 3.1415926f / 180.f;
( E6 W& l* _0 a9 d+ u; n
: U N8 K* I! p/ e D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);9 O$ F3 `* y0 X8 `6 k& U+ r! i
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
, u# t% ~ A' m6 U1 [ pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
2 |; {+ j, _! u/ Z! t! r: s, c3 v pLight->Appear( m_pd3dDevice, TRUE );" z6 Q# y. B- K3 A$ I
9 @: l& W& w+ w2 \3 T" B, e
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);+ Q* Q9 B; F Y" n
// D3DXVec3Normalize(&(vecSun),&(vecSun));. T2 e1 Q# O# l9 c, H6 v
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
! y. Y8 J) B- C! S' ?* q. J& `3 W) N4 e1 x, \
DWORD dwR, dwG, dwB;
" T2 F5 L m& Z! f$ B dwR = (DWORD)( pLight->Ambient.r * 255 );( g8 l: I1 K2 k) x* I/ w5 T
dwG = (DWORD)( pLight->Ambient.g * 255 );( T1 ~ O+ Q+ m, Z
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ g6 A4 m, ^3 }& ~ dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
! e; @; b1 ?1 p6 w; G }
' c: B2 ]# B7 `2 ~7 O, ~ }
, T2 e# ]. a* E* u/ g/ I* ^* o
5 f0 V7 y A. [$ V) H m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
8 m ]" T3 H& ?3 O7 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) );) q: [! }& F7 u! [, [
::SetLight( bLight );
$ e' V/ p3 d! y0 G: x3 \& F& r# W, q# ]5 |/ u
// ±ao? ?D?í???ó á¤à?
* {8 S6 P# m3 p0 c9 R9 Z9 k m_pd3dDevice->SetMaterial( &m_baseMaterial );
* T4 x0 @& s2 _/ j+ j: T : H0 Y6 u8 `8 ~+ U
#endif // not WORLDSERVER; [: X9 q; ~0 @4 ^
}
?6 g" l. g3 z3 N6 u并更换
' d& z/ h" Q( M* B) OCode:6 \# A. B. n2 l l
__FLYFF_INITPAGE_EXT
) P: E( X! c3 f: Y$ f: O定义
$ ~( Z+ B& ?. Q; H+ Y* x! N
: r( a6 g0 T9 T0 X i% q% ^8 l6 `% B4 t( u2 a9 B; t: H
+ r2 n( Z" k( O& m6 F) h% O
8 {, b+ f: z& V! R
现在终于删除我的狗屁加速...: w8 V6 U1 S! _5 x
' F( i! S8 Y# A6 `
# r, ^4 f# a% h4 Z5 }( }3 t
/ b, v) ?+ a. U |
|