|
|
食品车:
* x: {5 t( d* Z* Z尾翼:* n* ?' W7 m; B# \ E
# |& x9 i" P5 Y
代码:
# C! i3 \/ C3 Q2 N/ L* P1 oCWndAutoFood::CWndAutoFood()
, n- {8 H. x$ a' c, `{% Z/ S* I, H- s- B6 z
m_pItemElem = NULL;& O7 l4 B& z' \+ \* ]; P
m_pTexture = NULL;
, }& o: B5 k0 c+ _3 P& k. Q bStart = FALSE;. [: G5 o+ Y$ n" q
}9 ?# I4 C$ G& P
' @" y7 S. o L9 [5 M& t; fCWndAutoFood::~CWndAutoFood()
: M& V4 n' O" u{
3 d7 }' ^8 r+ c2 w/ d% P3 | AfxMessageBox( "AutoFood ist gestorben " );
# q, k+ s+ |; A. ^; Z}
3 W2 b4 {1 j |4 T n( m6 P4 WBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )9 U, s5 G9 W Z+ g, P. q- i; P1 j
{
2 f8 z Z! B2 a& l return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );$ X1 X+ S( w1 K
}
# J* T& M! J; U
' \" | k8 B5 i# |7 l3 ?BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
" L* G( z+ P& B' s" x* c, @{8 _- O" d( u8 }2 r6 L; y* M3 C
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );# A. P( V# e, k1 u+ ]% b
CRect rect = pWndCtrl->rect;, }5 L' S# {" W* m/ e, _
if( rect && rect.PtInRect( point ) ); S1 R G5 P4 @- i, S3 h5 B0 J
{
% `( @, I+ R: O; } t2 Q! G CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
4 v8 Q' T+ Z2 Z* [ if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
, _4 ~( W% ~ p2 d/ a; V" U7 h6 D {
' @- t0 f( e* u% L if( m_pItemElem )9 X$ j8 N( ?' l
{
0 r# B% R3 z0 C% \4 D1 R0 C0 j m_pItemElem = NULL;% x9 n5 z" v& R& j" r3 V4 P
}1 I' ?2 e! v# y7 m
m_pItemElem = pItemElem;
% H/ f& W8 K# g3 z m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );0 E- G0 n1 L) E" x. _! V- m
}else{' }$ g% t- A; R1 F0 Y6 {
SetForbid( TRUE );( G* |, Y: X6 e# I" D- I+ s
}
7 d, T* d, E' w: l1 s, r+ S }else{" i3 G& t! _ ]% S
SetForbid( TRUE );$ u* X4 O; D3 ]2 M) ^
}. U. {" p* Y M6 L) j4 q4 I- [
return TRUE;/ m5 Z9 _: X. i8 F5 @* l9 O$ d
}( R0 W. F9 t6 f9 X
" U2 Y* T `) p0 L" f( p4 q+ T! S: P2 b
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )" c+ O1 Q3 u7 d# T3 E
{
. \1 K; o7 O' T: P1 \. \" f1 ^ switch( nID )
- x" x" r& \" }' m' a2 K4 a {6 `8 x! s5 Q; E
case WIDC_BUTTON3:- `& A" s. T) [, g! q! S% |, m( h
{' ~8 B a2 ^+ A! Z
bStart = TRUE;
$ A( T; o# [; A' I break;# P. f9 H/ T' b8 ]
}
, l7 N0 j* M) E9 d) M a case WIDC_BUTTON4:# G: U) q8 l' o% [5 M3 U* o6 r
{' b, q& `9 U/ G
bStart = FALSE;' A6 E* y- c% l3 q, q
break;
( a n+ p) T. m" d) d5 ?; t }
/ K. }' A) L- }5 m, e! J( g& b7 K }
# Q' o3 I7 `$ F5 } return CWndNeuz::OnChildNotify( message, nID, pLResult );
1 Y7 Y: l, b3 e* O} ) p5 \3 S! P' v* |- `+ _& _
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
- T2 T3 b8 t# A% m{& B" |8 J6 ]/ n* B$ M1 ~
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );; n4 v( g& \3 h1 R/ x/ J4 d
if( bStart || !m_pItemElem )
& |: _- s! Y8 P" C8 {! r' \0 d {
+ N7 r( a" [" {8 l pBtn->EnableWindow( FALSE );
% z- }; ?, e" R) S }else
* Z5 P; t* j% u; N- Q pBtn->EnableWindow( TRUE );
8 \ j$ }- C. V if( m_pTexture )6 ^3 ~+ O0 t1 ~4 c: K1 M; i
{8 L2 w. e' m. ~! x. J! s& W
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
! b: v+ b& b& V( O; V% t I if( wndCtrl && wndCtrl->rect )' Q T! B+ u4 v. i% I+ z
{
5 g8 M S7 `- ^$ c! ^$ t9 G" o! m5 y m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
: G- B+ p a- I _: F# Y }7 F1 Z8 x( g# w; `
}. I& d @) e+ h7 k1 W
}- F Y1 o" |1 A
" a( m/ v" D- @$ ?- `
BOOL CWndAutoFood: rocess()
. U( S, ^2 e4 l) z+ q{' r. c4 C; ^/ B1 ?1 l
if( bStart )
% j4 ^* Q& G1 V) n- d) G {8 J* S# i0 S! k0 p9 Z
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ): l$ k7 j' X) N( P6 g1 I8 _9 K* ]( J
{! a, M' ~0 {4 A
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
" R0 K% f1 U5 G: ?& f g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );& t) e1 B; k2 |: w: G" K
}else{# v8 ^7 t( ?5 V% L& E0 t
bStart = FALSE;
0 u1 c6 v3 e" p: m4 B m_pItemElem = NULL;
: x. M0 R+ z7 l! ]8 d/ T( s }
( F! [+ Q) a/ {* K" p6 a1 Y2 G; b" a% v }; [8 L" Y- t! J& b( K0 i9 s) j
return TRUE;) M# I$ n% H, c
}( L8 e) N2 r9 X, |1 q8 [
( Y7 }( T# O8 B- W, m登录视频废话:: \. G* ]6 C u D
尾翼:; u7 l) U _8 g/ G( I: g$ ~4 L. C
0 M2 l7 l8 W' `
代码:- f9 J$ L- Q# k( E+ w1 V8 `4 B
0 [4 q+ m& U! wvoid CWorld::SetLight( BOOL bLight )
" p6 N$ R; o" A& J' W1 `4 x4 @durch; e0 N( l1 N% l, S3 x+ G0 m I4 d0 {
Code:$ k* }0 T3 @9 ^, `
void CWorld::SetLight( BOOL bLight )$ x) c8 D2 b5 p7 W7 i9 l5 @$ ?
{
! f5 i( [4 e5 Q$ B4 x //ACE("SetLight %d \n", bLight);
0 Q8 s, v% R a8 z$ n& u 9 y* d/ \, V k2 _
#ifndef __WORLDSERVER
" J- N% W; S& H2 O DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
. { `3 [) p% i9 ^0 \ CLight* pLight = NULL;7 V+ o. ^$ h5 E) J
/ O, J; T2 ^5 t" S8 o+ v* ~ D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );0 B9 J4 h' t4 p+ M( q
4 L! M% a2 {7 F& X, B* z: \$ g pLight = GetLight( "direction" );
9 u, D5 E9 S6 v K
9 d: {- q# N1 N#if __VER >= 15 // __BS_CHANGING_ENVIR
% P a8 r0 b* ^ if( g_pPlayer ){
# S! u. D! W, k4 m ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
! J }. B% d1 L# k w8 F k( Y8 B if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
8 n y% L) C' f5 O' a/ i {4 u2 m; p3 q( l5 s6 C' h
if( pLight )- e ^* y' n" g
{
; ]6 s' j" F% \. H7 n. X) A* t pLight->Ambient.r = pInfo->_fAmbient[ 0 ];, j* J% L, q: l0 i$ ?9 a7 f
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
! A! w0 Q5 m6 j R9 B* v5 H+ M5 X pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
5 P9 A$ N; D/ h/ F7 d0 `/ u" X8 ?$ S' Q8 f! D
pLight->Specular.r = 2.0f;3 Y6 o E& Q( S' i" D: w4 e' O
pLight->Specular.g = 2.0f;
# m' Z2 V) l' k" A5 \; u pLight->Specular.b = 2.0f;
$ w8 B/ H: `9 \ `' l/ R * @( F2 b5 @ P( x5 k& S
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
* U, J4 b4 D7 d. O/ d pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
) _; k# ~( z9 L5 D pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
3 d, Q6 W$ _5 H! [& n2 f ) S0 _# R: J T, A! P
HookUpdateLight( pLight );
2 H$ K: I2 N# d& i6 ^6 S* c5 y( R) M* T2 U3 q2 g
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );' Q! c7 M% @; N+ N( s! j* |
( x: U7 x# P; E l# ~* {9 \% \4 y pLight->Diffuse.r *= 1.2f;+ y; f/ L$ _ |( ?' p( }8 d
pLight->Diffuse.g *= 1.2f;0 W' ~$ R" B$ r" y
pLight->Diffuse.b *= 1.2f;
, C, z" d ~( U7 V2 Y; W T% U+ o4 A! x6 ^, K1 ?
pLight->Ambient.r *= 0.8f;
5 a! z( h! Y3 `; O1 D2 C2 f pLight->Ambient.g *= 0.8f;
1 a- e: u S0 [2 `9 M pLight->Ambient.b *= 0.8f;& a. V: N) W* T) j# I
( F7 G7 u, V7 M {: o9 z* d% p0 j
memcpy( &m_light, pLight, sizeof( m_light ) );9 Y3 h2 i% F# y5 y: M
0 d* @3 B* U, w
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);) E* E0 H$ ]" Y& J$ B J
D3DXVec3Normalize(&(vecSun),&(vecSun));1 x2 |0 E8 u; G1 c) a5 h5 s* r8 u. h
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
1 U, P5 t. b+ g: J# f& e- Q pLight->Appear( m_pd3dDevice, TRUE );
% C4 u1 v( B+ a+ d4 @9 M
7 z3 Z. d, C7 S2 k& N- |! D DWORD dwR, dwG, dwB;
$ b6 C" s) E" q" g# Q dwR = (DWORD)( pLight->Ambient.r * 255 );
% E0 u/ {: l4 o& G dwG = (DWORD)( pLight->Ambient.g * 255 );
6 p( _; u$ b( k8 [ dwB = (DWORD)( pLight->Ambient.b * 255 );
" T( _! |) j, s dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
! X4 ?% U D1 N2 ~- M }3 u( t4 s5 g9 u" m& J+ S
}
% Y# o+ ]: M) [ }
' ?/ V6 X( Y( b7 `2 B else8 W: T. e; Y# ~$ G
#endif
" e1 Q: \$ e# k$ h2 j7 S' c4 r9 z, W0 w0 X6 k6 ~
if( m_bIsIndoor )
]' @) P, _2 H# v( b' ` {
$ C2 s& \$ S& d/ X; a5 i) z5 ? if( pLight )
( U9 Y' k9 k& T# C { ! ?' a% k4 Q' F$ U2 @2 v" s, Q2 I
// à??μ oˉè*
; F5 z# L1 |- s3 l& } pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;+ f {9 M. {1 K
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;* Z- L# P3 m* p% d* ~
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
d' V( O$ H& i& w5 ?5 C* x- O( J3 _ Z' N5 S% Q4 s6 q5 b
// oˉè* ??à? 1 _% h$ _3 Q6 Z
pLight->Specular.r = 1.0f;* @' j0 X" u* W( G5 L+ @
pLight->Specular.g = 1.0f;
9 [8 g: M0 Z: q8 H! n0 ]0 Z pLight->Specular.b = 1.0f;7 y1 X; i& i q5 j
// àü?? oˉè*
- ?9 k4 F3 e7 P4 U2 }) a0 s pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;9 z5 H' g$ X: t4 ?5 A8 c3 A2 }
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;* L- ]2 E: D& {& s1 c
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
* d& S" c+ E7 ?, |" U( E% Z4 x1 a- `' s
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.$ r! j0 s# N+ x: a" u* j* R* |/ e% B! w
{- v! L `/ f6 `7 e2 p7 g
pLight->Diffuse.r *= 0.6f;# y l& X+ y0 H( A4 t5 d
pLight->Diffuse.g *= 0.6f;: [4 M7 f8 f( x" P( P
pLight->Diffuse.b *= 0.6f;' J8 H! v7 L! t8 E$ R5 k' }" c1 x
pLight->Ambient.r *= 0.7f;
- ~, D& u1 ~/ U1 [" o: P( t pLight->Ambient.g *= 0.7f;5 h1 k: h) P" L) {* R6 O3 t8 {- @
pLight->Ambient.b *= 0.7f;
) K5 f; V$ ?$ `+ P/ L# | }
3 b* _% b$ R+ q! N; b; X
1 e% n, C" Q& c! t. y#if __VER >= 15 // __BS_CHANGING_ENVIR2 r: A" z- l/ s: o
if( g_pPlayer )
; Z& e" L* f% l; _3 x( t9 o HookUpdateLight( pLight );$ R& J* e5 L+ G( `/ {! K
#endif8 O# H* I, v9 h' A- k8 o
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );7 p7 L* e4 K6 C+ R$ P7 L# P9 Y
2 K0 ~5 y, v3 N, ]- P4 Y& s pLight->Diffuse.r += 0.1f;
% u3 d$ C! v% m* O/ o/ [ H! d pLight->Diffuse.g += 0.1f;
# |5 \( j1 {+ E3 y pLight->Diffuse.b += 0.1f;& }" F, D2 t) T& B8 o# V2 ?
// oˉè* ??à? 7 Z3 m. A! F9 g& W( y) f( S1 P
pLight->Specular.r = 2.0f;
/ D i9 ?+ l' J; H: U pLight->Specular.g = 2.0f;
0 T D# o) G, I+ n pLight->Specular.b = 2.0f;
3 }$ q; y- y0 j( V: H // á?oˉ
" j, @, h2 y1 d( k/ n; o pLight->Ambient.r *= 0.9f;& S" D7 x( J$ I/ y
pLight->Ambient.g *= 0.9f;, J, N$ m' O" ]2 L7 p) z4 u
pLight->Ambient.b *= 0.9f;, I% P1 a1 a' f) j2 W5 ^
, O' s) W/ h8 C% ?; ^: G7 K memcpy( &m_light, pLight, sizeof( m_light ) );6 Z6 L$ \1 r* S! T! y: i+ C
) |; M$ b8 N5 H) p% }6 l pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
' t% q- W4 T! K8 l9 S! t pLight->Appear( m_pd3dDevice, TRUE );
: \/ U) B; w7 _+ t. ]1 c( d
( h1 h1 [- s& Q. w DWORD dwR, dwG, dwB;) H' G/ x' w2 ~" K5 ~$ Y, {
dwR = (DWORD)( pLight->Ambient.r * 255 );
V' {6 n3 u/ m& m& J dwG = (DWORD)( pLight->Ambient.g * 255 );1 y8 A7 `, I0 `: Z
dwB = (DWORD)( pLight->Ambient.b * 255 );, C+ [3 \8 H. ?7 b6 B6 F- Y
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 N5 d& o/ b% D }
, t) o' D* t5 r0 D! A9 L4 u5 Q }
5 R1 g4 h# Y5 k4 e, ^/ K else2 M! P9 O. x' U$ H5 X. x$ E
{8 U# U) ~: x/ h; D+ `7 M" X
if( pLight )
' F% m$ H v8 E) b- l1 K {1 a$ _; s. D5 U. a) p H6 O
; S2 d" Q1 w, N int nHour = 8, nMin = 0;
4 ], C3 M. B! s& {& B) y #ifdef __CLIENT
( ?! t4 M3 p3 N3 x6 ] // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
! r, n+ u; S* R) E- i$ @ nHour = g_GameTimer.m_nHour;
( m0 I" t, E4 G, ~9 I" t nMin = g_GameTimer.m_nMin ;
+ X5 o$ a8 R# R9 X; r. Z" |5 P #else
; r) E% g; i; N8 s4 p8 U8 Z: A, R // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
1 O% `, H I+ u if( m_nLightType == 1 )) ]( p- c( A* T! O. t
nHour = m_nLightHour;
, `1 i' S. f7 u% J7 d9 C7 r" g. T0 ` #endif
! w/ k+ ~( ~9 y1 F& c0 Q nHour--;
# ]- ^' f7 K1 n) d6 f4 l) l" q: m if( nHour < 0 ) nHour = 0;- P+ a/ b4 N' T) K+ L! g. W- i1 J0 C
if( nHour > 23 ) nHour = 23;& } l3 G8 P) N1 N }: e& C
, L' ^8 s! R1 @5 l! t7 A9 G //if( m_bFixedHour )
/ F+ P& k# ] M/ i0 o) B // nHour = m_nFixedHour, nMin = 0;2 r/ N9 M, B, i; s
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];! _% |) q7 t- [% b
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
% M9 a. C# Q2 ]) R: {# d. s: `% m
% I3 w" ~9 |2 i4 Y. e: H //m_lightColor = lightColorPrv;' k6 V6 w+ `+ b1 n
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
( H2 W' z7 X5 R! Z _8 Q lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
, i* {- o1 D C/ F lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;" h. r& w& b' O- Q: j) W
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
/ g; j2 P, Q- i& n( V lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;% q& G% n6 m4 K8 P& M5 O
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;6 m+ l3 m1 j/ @, @# ?
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)1 g' ]9 l9 P' i4 `: S+ k, o
) F$ o4 {/ z2 x2 o. ^1 X7 g' v5 Q // à??μ oˉè* 6 j- N5 G8 {3 n8 e! V
pLight->Diffuse.r = lightColorPrv.r1;% Y# r/ m, p) Y x* j0 S! L
pLight->Diffuse.g = lightColorPrv.g1;: ^' t7 |# p I
pLight->Diffuse.b = lightColorPrv.b1;( e* U1 c" G# v2 s; z. c- x+ i2 C! G
// oˉè* ??à? # ]6 I2 c( U! i
pLight->Specular.r = 1.0f;: _1 ~8 n# u. y% o$ A$ X) X
pLight->Specular.g = 1.0f;. t0 w' O# _, o) l" \0 q7 H A X
pLight->Specular.b = 1.0f;3 q7 W$ g, O, F
// àü?? oˉè*
+ g) o* O- |5 G pLight->Ambient.r = lightColorPrv.r2;1 a+ E2 p) I1 f1 [, j; r+ f6 Q9 i
pLight->Ambient.g = lightColorPrv.g2;
7 _4 q7 a3 b( a- B7 z* X+ F7 m7 e: ^ pLight->Ambient.b = lightColorPrv.b2;
' U, T3 u, t r8 w
+ o. Z& C9 ^7 Z( @ if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
( R5 b. R- E1 [' D: m { w/ n1 N* B; r V/ K7 D
pLight->Diffuse.r *= 0.6f;& ?& t) s% }8 c" b
pLight->Diffuse.g *= 0.6f;
, o; y9 g4 [$ n3 P' t4 \4 { pLight->Diffuse.b *= 0.6f;
$ A2 u& z' \7 U* U' y- G4 s pLight->Ambient.r *= 0.7f;/ U: |3 U5 r8 z: n0 k
pLight->Ambient.g *= 0.7f;
* x$ C1 P$ n0 ]5 _) `4 G pLight->Ambient.b *= 0.7f;
$ V1 T2 Z) c' K* q }
) |' r7 w( s8 c! J9 F 9 O" Q5 \; x: t1 a. n& e
#if __VER >= 15 // __BS_CHANGING_ENVIR
5 ~) O9 X( V* |0 x8 x; @) R v5 p if( g_pPlayer )
* `6 X% }; J, g+ f$ w! g HookUpdateLight( pLight ); : S* {$ o' H+ H6 l' q- i' S$ e$ t4 ~: s
#endif) ]5 `2 k6 g9 g/ M/ K3 ?: t4 H1 Y0 C
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
! Z- v. j% @/ I1 s5 x
! s; W) o6 V5 C* j9 C#ifdef __YENV8 Y# N) ^/ k% o: A! ^
pLight->Diffuse.r *= 1.1f;1 ` M% {4 A1 u" v0 ~
pLight->Diffuse.g *= 1.1f;
0 A: D2 z; N8 D* [ pLight->Diffuse.b *= 1.1f;! x. ^& n v+ V* l
// oˉè* ??à?
% z7 U! u" V3 t( Z pLight->Specular.r = 2.0f;1 I/ j4 h% l1 } e
pLight->Specular.g = 2.0f;) _- w9 f) x* m/ G
pLight->Specular.b = 2.0f;
2 c* p7 g; V) m2 v# f( U // á?oˉ & y: x1 B8 V% N0 N. M5 e
pLight->Ambient.r *= 1.0f;9 ^( q! u8 M! D7 s+ U% o
pLight->Ambient.g *= 1.0f;' _2 Z7 N9 s0 s- } Q; q, ]. O
pLight->Ambient.b *= 1.0f;
2 V1 u! z5 S% z#else //__YENV
2 U" {& h) m2 P- u( B& I1 F pLight->Diffuse.r *= 1.1f;
" f; ` e# B, o; U pLight->Diffuse.g *= 1.1f;
& Z: I8 C' ?8 } C- i pLight->Diffuse.b *= 1.1f;5 f4 O' k; H$ i6 {* F
// oˉè* ??à?
. @7 [5 x3 S0 g$ Z" w/ c pLight->Specular.r = 2.0f;
0 Z) ]( T/ d9 v1 I: E ~" h pLight->Specular.g = 2.0f;. r0 N, n/ ?+ I4 e
pLight->Specular.b = 2.0f;
9 q5 F2 |% C( f5 H8 r // á?oˉ
; ]: W+ l1 _* j6 N5 J8 @& B pLight->Ambient.r *= 0.9f;3 w" C# ~# Q5 Q, ]
pLight->Ambient.g *= 0.9f;% i' W9 B5 V$ p3 \: K
pLight->Ambient.b *= 0.9f;
# {; M/ w& F7 |) k8 `#endif //__YENV 5 s! w" L& M& ^2 C$ s
3 n/ ~+ Y. w/ \& a2 Q l3 V
memcpy( &m_light, pLight, sizeof( m_light ) ); {7 t+ n F% `* n" y) I( K, R
5 E! ^6 o2 `- a5 J D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
% M! b$ |9 E% @: ~2 X D3DXMATRIX matTemp;1 X9 N, N! F5 N# @4 g) E1 i, f
static const float CONS_VAL = 3.1415926f / 180.f;
+ X- I- R1 L: d; w
! C/ O4 T K0 }" n/ b, g D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
; V9 L! u! f! } D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
7 x+ u3 k$ G; _, n9 B3 P pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); - j/ C8 s* X- I3 R _0 N
pLight->Appear( m_pd3dDevice, TRUE );
9 x" u$ t; E) |! W/ M
! E8 n" _$ M& Q$ [) E2 ] // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);1 C/ s# z6 Q8 w) L! d* G
// D3DXVec3Normalize(&(vecSun),&(vecSun));9 z- s3 d# j5 z8 g$ k6 _7 l
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); * B. X( Q/ e* X% x* [
) R) c& I% a1 e1 H- `0 l DWORD dwR, dwG, dwB;; z+ y& N. p. j
dwR = (DWORD)( pLight->Ambient.r * 255 );
) p8 N r4 W6 \$ n4 M- k dwG = (DWORD)( pLight->Ambient.g * 255 );
x" R+ M/ f7 u' z2 k B0 \ dwB = (DWORD)( pLight->Ambient.b * 255 );
. X) E% x9 H0 K/ ?+ i2 d dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# t4 v& \4 S3 Z6 F$ H }
! y8 b! S" k# q8 |4 X7 ^ }& S! U, L; S: _$ s
6 F: Y% [! }! G$ U8 g* |" N
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
" l6 o" p# S$ \' @ 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) );
1 y7 g( m3 {% `1 z& p. M ::SetLight( bLight );0 q H- L- L2 i# u+ P
) i/ M% j: u& ?; c
// ±ao? ?D?í???ó á¤à?
- {7 U/ Q. C K$ X$ { m_pd3dDevice->SetMaterial( &m_baseMaterial );
) I3 t! h* O) {6 k6 M2 [
. P- a, ~1 d# U( c; D3 V#endif // not WORLDSERVER3 p" r& S# ^ s; D! ^# e
}! [" C g3 \# l0 L" w6 f
并更换( m+ P! r! n, M
Code:
/ A1 I2 t/ y6 g$ y. y__FLYFF_INITPAGE_EXT( B8 h1 ?4 Y% D- n
定义0 g+ E, q& i- {: Z5 k: e
2 v0 [8 f( f+ J, H3 J% O4 z* f
; }; m' ^3 u# J
# Y$ C/ V& @% ^9 J/ u6 ^, p
B$ K u# g V* z) b# a: b现在终于删除我的狗屁加速...( f8 t4 X8 n4 n: P+ M
6 c8 Q! y1 J8 x% S& C6 r
* w# t' X V& t& @1 l
1 c4 J$ E9 Z' t" h* X: @ |
|