|
|
食品车:
# g, a' c H8 Y3 g! M% x尾翼:9 H: N H8 W; Q: p1 i
- P/ ^; c7 _4 h9 q* Z
代码:
% \# t2 J; \. q2 C* ^CWndAutoFood::CWndAutoFood()
% \* ~# O( F, B# O8 m{
* u8 z8 D. O% e; e3 k" W+ V m_pItemElem = NULL;
4 v8 f2 R+ f/ t$ T m_pTexture = NULL;0 `, {0 V. k( J+ g% P6 U
bStart = FALSE;; s; }7 D" f( @7 h; k h% t* ~
}3 X, @" z: Q" \, C$ M; k
$ {- @+ F6 z3 \3 ?CWndAutoFood::~CWndAutoFood()
* Q/ D4 N; N+ ^6 v{. e) v j4 b5 }& x6 }; c" h4 i
AfxMessageBox( "AutoFood ist gestorben " );
/ T) \7 l! T& C2 j+ P}
; Z$ z# w" v' `) ^4 v1 ?BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )/ L" ]$ ~5 p* v" E. p4 I8 h. O
{9 W1 v' X+ \6 z, T1 ]
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );& Z5 R; W) j; [' N' S
}
2 R% F. N" a' ?! l+ ^( l, L3 e' ^% w) P/ O4 S0 o
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
6 R- {: a% C+ q% ~{" c7 {# D% q+ L
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
B* h9 g" }, a4 ?2 {. ?# A CRect rect = pWndCtrl->rect;8 } d! ?; R8 A" ^7 i" y
if( rect && rect.PtInRect( point ) )' A# x# e% M- J+ \! D9 u
{# F$ a/ O$ p" B& t3 x9 @; _+ {
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );, o% I/ h b T8 s
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )& s8 { C( @" W" G ]; X
{
9 L. N" D% ~+ @5 u0 s if( m_pItemElem )
8 |( J8 Y" ]: K: Q {% a' v+ j. F3 ^ T" o
m_pItemElem = NULL;8 M, i N6 u2 e7 v+ C
}
! e) u8 V- k9 Q$ c: @ m_pItemElem = pItemElem;
5 V0 c7 c! ~# r+ j m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );- u2 A( n3 `. R- {! U& n
}else{+ G: z2 q0 S7 l( a$ l8 H
SetForbid( TRUE );
5 L; p9 J- X* W* _& g, a }
9 J& t. c' ?: f- e1 p }else{
0 K) j0 v% Z0 _% E SetForbid( TRUE );- \9 r" j% E& Q* o- p5 ` g
}
# b# d/ {, r, c+ {# f return TRUE;
; X J; A6 J& q/ X3 M9 g- e}$ f( F! g$ [: @+ T0 A' F
% E% x& E2 U( {( Z" z' V' lBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )' J7 n, k' |7 E4 n/ ^$ g k3 N
{+ L7 I, ^* x( T
switch( nID )8 y% f* ^0 i, X6 c2 r* y D6 G
{4 c1 i8 N+ [6 e ?0 T
case WIDC_BUTTON3:2 K$ m' {" F( Q& X+ S- R
{* t2 e' J9 h9 X9 _. w
bStart = TRUE;
0 S: A% e5 C' n; ?4 ` break;
# t) D# ~! d$ D) |. }; r }1 H/ \5 b( V7 K, b
case WIDC_BUTTON4:
: b; l0 N1 ^0 r3 E+ D {
4 |& B& z- Q& b5 H bStart = FALSE; p" l6 E- O4 P3 ]. y' Q2 O
break;/ `. |% H; k! b3 j
}
# h: p, t& D+ x- c' H }( {6 k# h4 ~, W q! U
return CWndNeuz::OnChildNotify( message, nID, pLResult );
7 _; z/ X4 A4 p4 R' T" V4 H8 U, U} + G: y9 e5 Z6 s6 ], ]1 k& z
void CWndAutoFood::OnDraw( C2DRender* p2DRender ): S0 A2 T+ K" f+ w
{; x; I3 U F+ A, u! b g
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
$ M' D9 r7 a$ N if( bStart || !m_pItemElem ), X/ e! W" Q$ f: Q
{& Q/ U; m/ E4 V' Q3 d
pBtn->EnableWindow( FALSE );
$ f, {( W. u7 O+ ` }else
" b# q2 J1 `0 Q+ J7 d* F1 X! V pBtn->EnableWindow( TRUE );% u" f8 Y2 V4 x$ O* f
if( m_pTexture )
5 e5 Z. e' j3 U0 J& B1 \3 F {
5 I( u: g3 K7 k% }; R( H; k, i! [7 K1 G LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
& C/ e) Y. G3 i, ~) B if( wndCtrl && wndCtrl->rect )
2 s' E7 o0 t0 z3 ?/ r o/ M2 u! W {! M) f& \' e( \5 O4 ]+ g
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );' p7 E) z2 Z* |) z+ U# F X: ~
}
( j# q2 N0 h% S8 T0 B, J }% L2 ^! h% l3 S- H9 R% u5 X
}: d+ P( r0 j/ `# B4 n/ s' c
Q j% N/ N" [' W5 u
BOOL CWndAutoFood: rocess()
& O0 G0 _, b4 W% E9 {) S5 }9 I{/ \: G# W# A z1 B7 \4 j
if( bStart )! h9 ~1 D* f+ t0 j) @: ]8 p
{
/ I: {( a/ B- M if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
/ V/ ?" `' @) h {
. K8 i5 O3 q+ k& t: 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() )$ {, ^) o# y8 k+ F& |% X
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );) \8 {8 U8 t$ v0 f$ X d' M& A
}else{
1 B y2 b/ V- V! } a& \% d bStart = FALSE;
- S: R8 `: _. I; x5 S( W m_pItemElem = NULL;. o4 Y5 G0 s& K# R
}$ L5 A8 c* `/ ], S
}
. ?. m1 ~3 |2 H: r1 {2 c6 W return TRUE;( X. v* ?/ y' ^/ j6 C+ E
}
- P) f& r6 j6 S4 s5 {$ I& ~- i3 G0 s* S* q2 u% U. ^
登录视频废话:- U0 D) \1 V0 V& v, j4 o
尾翼:- Q$ f7 l6 k4 Y1 e* D7 K
) Q. g. h" j U- O9 J6 q1 R4 l
代码:
3 T7 b& e* P8 e# N5 f7 W+ ?; P+ B: g/ v) ~/ w
void CWorld::SetLight( BOOL bLight )
& x+ z( w4 C8 Ldurch" {6 ^4 s7 O3 j3 {
Code:
! u1 @( a( m9 j. D8 evoid CWorld::SetLight( BOOL bLight )) U- A9 S! p; n" f4 Y/ z
{
: z9 v! x3 E# o4 C2 p- |- V //ACE("SetLight %d \n", bLight);
: b f$ z4 ` ?- D# Q$ _
6 q3 _( E- |5 H+ j/ D8 y#ifndef __WORLDSERVER # T: ^2 F" p$ L
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);2 }& A4 x9 M8 `6 R" ]0 B' K
CLight* pLight = NULL;
}! c8 `/ [6 O, r. C" d6 y9 e5 D7 @' H* Z/ W
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );( U5 C8 \/ {% R2 l8 Q) c
" M" Y6 T6 {$ I pLight = GetLight( "direction" );
$ j7 m, n% y7 {5 e3 B6 N1 ~
0 v' b6 r7 v: w' n#if __VER >= 15 // __BS_CHANGING_ENVIR
+ o* n% F9 g1 ?1 O; m( f V if( g_pPlayer ){5 `2 l" U, o9 {0 f4 b+ e
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
2 O7 ?5 A6 U6 |2 e if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!1 q8 \. X( B) D, e* P4 D
{8 }& v1 d* X- }/ r& ^. ^
if( pLight ); L4 k4 J1 K& g* l$ c
{
/ [4 Q8 `% a& f, G pLight->Ambient.r = pInfo->_fAmbient[ 0 ];* N0 K- q( s( ^# S) r
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];4 o) s- F: }2 ]
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];8 l5 I! _& u# I% T! l5 A: [
- }3 C% a; J0 x3 i0 W5 P7 o pLight->Specular.r = 2.0f;
9 y E- U( D9 ?6 V. d* _ pLight->Specular.g = 2.0f;
% Z5 {" p9 R% o- @9 u pLight->Specular.b = 2.0f;
" G* u1 c& e$ {& k# F- f$ ^
8 }1 H; i* h, C4 k pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
1 b; b$ M) d4 ]. M0 ^# ?* Y pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
6 h3 v- w$ Z+ E% p/ e( s& g! M pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
: I3 b) `- e! \: Y- x 8 d5 J |+ k! C3 C% b7 p
HookUpdateLight( pLight );
; @# o7 a1 P; J r4 d2 k4 ]; f) v3 J& \( A" t: O2 M
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
9 O( K7 v. M1 j, V8 o
1 ?5 X& ], b. j' H pLight->Diffuse.r *= 1.2f;4 [% P" e% m) }7 G7 b; v
pLight->Diffuse.g *= 1.2f;
( h/ h, d* U7 {. ^( i0 u' [, e pLight->Diffuse.b *= 1.2f;# d5 e: M8 \' C3 s
/ ?$ p8 p) ~' H ?: t# D7 c) r- ]
pLight->Ambient.r *= 0.8f;
3 d e" O1 i7 R4 }0 ` pLight->Ambient.g *= 0.8f;
: c) D5 M" e3 \) `1 r$ A pLight->Ambient.b *= 0.8f;
& p1 X9 }7 I) {: y 2 f! J0 f) N" ~8 Y8 N3 y7 s
memcpy( &m_light, pLight, sizeof( m_light ) );
* O" G( q4 C: M5 t U4 H3 z* N# j' r! E! _8 v& R; w: V
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);3 Z* s# V8 G* h# V
D3DXVec3Normalize(&(vecSun),&(vecSun));2 b5 M, V1 U6 _% ^
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
7 }5 |- E+ b! z7 N; z+ f5 O6 x pLight->Appear( m_pd3dDevice, TRUE );
7 k/ d- z# I: b0 {2 Y$ @
5 q" b) k# y9 `0 q' Y' n0 n3 U8 m DWORD dwR, dwG, dwB;5 M* k3 s# I. ]/ D6 @
dwR = (DWORD)( pLight->Ambient.r * 255 );
6 n( U* m: @- j% b9 ` dwG = (DWORD)( pLight->Ambient.g * 255 );
9 \- a9 A R" x dwB = (DWORD)( pLight->Ambient.b * 255 );) x% j8 a. L# m! _' A8 g8 V3 o
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );* [$ W1 u1 u% T, q Y
}
3 _# u. I6 l# s }. N- y6 J: P; L5 A9 ]
}0 s7 Z |; f' b
else
6 ]/ O% l7 V' C8 {6 a& e#endif
, C/ E \1 G" a" F, ?2 g
5 P- o! {$ M M; v if( m_bIsIndoor )
- R6 m" o1 L2 E7 L0 n {; m/ h, n' `: `+ B4 a
if( pLight )5 ]' d/ k1 d% |4 m0 G
{
$ F- R5 \8 j4 Z; f: _ // à??μ oˉè*
( Y8 V% {+ w4 _ pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
R. _7 q N& t0 U) [ pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;6 i ]& t( }& X+ N8 Z X
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f; S: f4 _5 X0 K1 v! L
- E* C6 e' v) [* J // oˉè* ??à? / B* x& Z r- u! z8 C( x* ?
pLight->Specular.r = 1.0f;
; ` k, D1 Q4 E5 ] pLight->Specular.g = 1.0f;* d: x+ M. \; ]8 u7 F- I* F, y
pLight->Specular.b = 1.0f;4 W' O' Q: c, U. T; C; q
// àü?? oˉè*
+ k F9 T* d' l: t c pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
; c# O# Z5 D& c/ A; A- G- [ pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;6 M; \% U% u" @2 f9 x9 C; D/ a) ?& d
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
Y& W; p% V0 I! d9 L" r2 z6 E9 y ~0 k- f2 W- m
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
/ j, F2 w, }: s( s! T: x {% K+ _: d+ }2 q& I5 R! L5 C/ Z6 u E8 J3 Y
pLight->Diffuse.r *= 0.6f;) D1 M! N4 O% X1 R
pLight->Diffuse.g *= 0.6f;
/ [8 O/ v0 p, P `! n3 d! ` pLight->Diffuse.b *= 0.6f;6 Z& D' K9 g0 E# U9 w: R# G D% n
pLight->Ambient.r *= 0.7f;7 |: M2 v, T. `4 E6 u' g
pLight->Ambient.g *= 0.7f;
0 s" v \! l; _0 e: V5 e! Y3 D; e pLight->Ambient.b *= 0.7f;3 J' T& k: o/ V
}
% E: B a2 M! ]: f
. j2 K C+ m$ d0 P* @2 a& B5 F#if __VER >= 15 // __BS_CHANGING_ENVIR3 I) ~! _% I' b6 F( O9 N
if( g_pPlayer ). V/ W' u2 ]% ]
HookUpdateLight( pLight );
/ [4 C5 V- [# T& M7 `0 p#endif
2 W+ } g+ V: A# O' \ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
! k# o) P# f* {( }6 C. d& B
M: S6 P' ?' w& _# @9 B) F. o7 ` pLight->Diffuse.r += 0.1f;
8 _/ P4 w: G0 P0 x9 X- B7 Q pLight->Diffuse.g += 0.1f;) W8 [, v9 r n
pLight->Diffuse.b += 0.1f;
5 v' D/ |" @* h3 `9 I // oˉè* ??à?
) |" t6 z1 W7 \ pLight->Specular.r = 2.0f;
5 G% K; F \. E0 C ?" r$ G pLight->Specular.g = 2.0f;
! R& o# f) s" p/ `6 J7 x; Y& I pLight->Specular.b = 2.0f;
" U: E8 T% L& G) q6 U // á?oˉ 4 j5 j/ Z# x' A$ ~0 {
pLight->Ambient.r *= 0.9f;, F1 N" \& r' u2 x7 p
pLight->Ambient.g *= 0.9f;& Y9 z# e, C, f' E; Q
pLight->Ambient.b *= 0.9f; E6 J7 U8 E e$ M2 S$ {5 J
0 K1 w5 H: R, [, M/ ?$ a memcpy( &m_light, pLight, sizeof( m_light ) );8 w9 T$ I" k5 m' e3 H& n
* E* G# D8 T, a5 b pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );& x! }2 I$ A) K" P' c) I& _
pLight->Appear( m_pd3dDevice, TRUE );0 D, x0 Q& u- a; C) U0 S1 ^
, g# n) ?7 V9 _0 w DWORD dwR, dwG, dwB;& ]' s7 |2 @: E1 O7 H8 ]3 T# C
dwR = (DWORD)( pLight->Ambient.r * 255 );
) V4 k/ E$ Q0 ` dwG = (DWORD)( pLight->Ambient.g * 255 );0 e* M) E* Y3 ?) V5 }
dwB = (DWORD)( pLight->Ambient.b * 255 );
+ y. B& n" j! ~9 e dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" ?2 o6 s; Z+ q }
# G# v2 |" o$ V }3 ]4 {- V- B5 k* w9 [. c/ l y6 e
else6 E/ J1 q& {9 B, a$ l/ y8 ^
{ n! ]* v& i( u. u! {" o. m
if( pLight )
: ]5 ?# X( K- u( m! D' M& A6 \ {
q: s$ N( P- T$ L
( B+ N1 }9 u) g5 a) P7 w int nHour = 8, nMin = 0;' c0 f2 p* k3 E! q5 Y; g' Y
#ifdef __CLIENT
4 M! A8 g) m( |% L; \, D // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. * J6 r& y( w- Q% T6 m5 q7 H8 P
nHour = g_GameTimer.m_nHour;
0 V3 y: [) [3 e$ L# }0 W nMin = g_GameTimer.m_nMin ;
1 p# J2 v3 L* n #else
2 E1 B: \5 w6 X- ]3 v" w // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
$ I7 K/ j8 m" T: r9 ] if( m_nLightType == 1 )2 T! l+ J7 N/ R. _+ T1 h W% e
nHour = m_nLightHour;9 _) e2 L; N& ]5 ?3 O. \+ f
#endif
6 U1 n2 b% j- H" u; }2 m: V nHour--;3 d9 T3 U5 G) x1 \
if( nHour < 0 ) nHour = 0;/ E z$ _) c/ P5 o3 V; g
if( nHour > 23 ) nHour = 23;1 H5 D: X x( D1 V$ n0 I' `) r
: u$ G% ^5 a7 T- @1 k //if( m_bFixedHour )
0 v) ` s. x4 |2 u: x* V; Q3 S* ~ // nHour = m_nFixedHour, nMin = 0;5 }9 [! n- C/ g' ?; M! R& s, J
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
4 g B% y5 j2 x# }. | LIGHTCOLOR lightColor = m_k24Light[ nHour ];
% C" [' s6 j X$ ]( o4 z3 O# ?: N- V' d- W6 a1 P, l
//m_lightColor = lightColorPrv;: ?% e4 w1 m; }3 o7 S3 g7 b
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;( B/ t) P- Q5 C
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;5 S! |/ A* o+ S: x2 {
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;3 I; s/ D7 a5 ?9 Q) o+ m
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
5 x5 _/ l8 \0 j. S' i. _ lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;( w5 ^* c$ E& u8 {2 N3 T( w: {4 E
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;9 e( p) T, r2 o" c
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
5 t6 a4 ^/ d7 z+ Q t9 ^
7 @4 p5 A d+ v5 I, f; ?0 {& h- R6 S // à??μ oˉè* - ?, e8 p# h+ s8 v- q" ]3 f
pLight->Diffuse.r = lightColorPrv.r1;
3 ?! X' |# V3 b. H! s pLight->Diffuse.g = lightColorPrv.g1;6 z3 a% t7 a4 o$ M Y
pLight->Diffuse.b = lightColorPrv.b1;" T3 a5 H; Y) V- T( p/ l8 D4 d1 g
// oˉè* ??à? $ l* E: m" p+ n3 M- l
pLight->Specular.r = 1.0f;
; R: T S$ ` D* d4 Z2 }0 ` pLight->Specular.g = 1.0f;
. P; C" C6 d) ^* Y7 M pLight->Specular.b = 1.0f;
1 p a5 Y& O2 m$ C! d- h" e // àü?? oˉè* * ?$ J3 l. e! q- l! _9 U
pLight->Ambient.r = lightColorPrv.r2;
s" I4 B4 b% _2 U3 W5 Y* I pLight->Ambient.g = lightColorPrv.g2;8 @( K) L1 Y2 L' S& H( K
pLight->Ambient.b = lightColorPrv.b2;
# g7 I3 p" M1 P/ l) b6 Y1 `
. k, d" H5 u$ _- i if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.! }: d, I. z, z9 F% A! I
{# a5 @8 `- o+ B' Y
pLight->Diffuse.r *= 0.6f;- y3 F" V d. q4 P3 m; {$ C3 O
pLight->Diffuse.g *= 0.6f;5 e/ T1 q/ V2 o9 e
pLight->Diffuse.b *= 0.6f;+ S7 E/ a/ |) ?) h8 e7 h: q4 [! T
pLight->Ambient.r *= 0.7f;
4 L1 m9 @3 A. f" `, d- Q q pLight->Ambient.g *= 0.7f;
& D/ }; A' _5 P2 ?0 v7 w( y/ f9 N pLight->Ambient.b *= 0.7f;+ L+ c% k m4 A; m: {# o; d9 R" J
}
2 Y# t. m. H1 I7 d' v, X8 m6 }; i 7 f. G/ X! a$ U% q# u
#if __VER >= 15 // __BS_CHANGING_ENVIR
$ f% s1 U' c, `8 Q; H if( g_pPlayer )0 _+ ~: v4 g* }0 a0 R g# v( x
HookUpdateLight( pLight ); # b0 S# j- d# H+ H" f1 @1 ?
#endif
, `, B u- x: _- p$ L! s memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) ^: \4 A" f3 t* b: r% p4 T/ l
; ?$ @; ^2 x/ e! c& s#ifdef __YENV
2 F c* y; M$ a pLight->Diffuse.r *= 1.1f;
1 i0 P9 C& j' m pLight->Diffuse.g *= 1.1f;: u3 u! O1 p: m; ~. W) d
pLight->Diffuse.b *= 1.1f;
) @$ ?5 @0 w0 F* J a. E8 g // oˉè* ??à?
! s% I5 e% D. y! G" ` pLight->Specular.r = 2.0f;
6 H- n& Q& G( n7 [3 D9 v+ b6 Q pLight->Specular.g = 2.0f;3 y* q- { Q: H* O8 W: w1 a
pLight->Specular.b = 2.0f;$ p! } n& F, [6 M5 f6 ?# z5 D+ d
// á?oˉ
( ?! _' X; g1 j1 k( h. m: _ pLight->Ambient.r *= 1.0f;
0 _: z, |; x7 J, b1 A pLight->Ambient.g *= 1.0f;. Q1 \) f9 y+ d1 i* _4 p# O
pLight->Ambient.b *= 1.0f;
' l) y# X9 ?1 ?#else //__YENV- @8 n; ~, q7 z$ d
pLight->Diffuse.r *= 1.1f;
* [" t w% C6 o( @6 E pLight->Diffuse.g *= 1.1f;
+ N P4 ^1 t/ @9 f* ]' D pLight->Diffuse.b *= 1.1f;6 c1 {$ ^* @. y( }
// oˉè* ??à? - Q8 j( g+ O6 Q
pLight->Specular.r = 2.0f;$ X! W3 y0 ~& K9 E! u+ V$ y' m3 _
pLight->Specular.g = 2.0f;
6 m4 z. N R; ?( p X, W pLight->Specular.b = 2.0f;
. `9 P" v" m9 j2 i" C9 h // á?oˉ
+ }; T2 x( l# L$ @/ J4 e pLight->Ambient.r *= 0.9f;1 c2 R' P- a( o7 G
pLight->Ambient.g *= 0.9f;
r8 \$ V; @" U" J) \" V# u pLight->Ambient.b *= 0.9f;$ ]3 z9 r4 U4 q( j6 l& p8 e
#endif //__YENV
6 |8 e$ r9 }! j& z0 k. c ( Z# v. N4 f* h! L( W$ S
memcpy( &m_light, pLight, sizeof( m_light ) );# A) H: G) @3 \% ^& `/ ]# j
9 U& p* b2 m2 H# F$ X4 B% C/ S8 ?
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);' `6 f& y# c7 p& O
D3DXMATRIX matTemp;
- @3 T0 a+ a, a- ^9 b* M9 @ static const float CONS_VAL = 3.1415926f / 180.f;, y2 L) ~1 j6 S% u2 v T( L8 ?5 ^
5 D6 u: G2 p! X* x+ x
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);* ?4 v' { E) [1 D) ^" J
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
) y6 ]; w$ z, @* u* ^) ? pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
. Q6 m/ r4 [. ~6 \# Z( }+ } pLight->Appear( m_pd3dDevice, TRUE );8 i- m* G( F* s7 u. @$ x1 J" }+ i
8 [1 Y2 }' x' h# I, j, e // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);7 \# i1 n* N4 L. e* J
// D3DXVec3Normalize(&(vecSun),&(vecSun));/ d9 j1 u; p0 R% H
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
0 b' X/ s' j- M+ k
& m; G8 V9 h0 R7 O c DWORD dwR, dwG, dwB;
( p" c+ L' n6 A dwR = (DWORD)( pLight->Ambient.r * 255 );
5 b8 F& _$ D; Q% d8 V# j2 B: E dwG = (DWORD)( pLight->Ambient.g * 255 );% D( j% D H6 p# j
dwB = (DWORD)( pLight->Ambient.b * 255 );
% y- M! _ k. o- [7 I8 Y- \& q dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& n0 v1 s) P5 u3 n6 Y) _9 ] } e# w( {0 `/ _
}
3 U0 b7 C) o8 D8 I3 S5 z
2 l N! I$ }! Q* c N) I2 W1 |$ x) V( p m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );2 g1 A4 c9 R' u4 m
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) );' ?4 t; y% V5 I2 u
::SetLight( bLight );* i# g" h5 p- h6 t$ o
# v6 U, v/ [+ ^3 g: P7 `5 n( ]
// ±ao? ?D?í???ó á¤à?
1 k* l$ K5 }% B' Z3 f) r% u m_pd3dDevice->SetMaterial( &m_baseMaterial );! Y+ W5 H$ I6 A0 U* b" k$ w
" |$ O2 V. l/ W4 i8 `7 {% G
#endif // not WORLDSERVER/ ^$ Q7 J' S2 \* S0 x
}4 x$ G4 H: A* i7 u* D
并更换
3 E( d0 S" \/ T6 gCode:
! }" C X+ @3 p__FLYFF_INITPAGE_EXT
6 @7 I/ H5 z$ `/ h定义# J: H' F! z& Z. F9 L3 r7 ~
- C/ ^' S) l7 g& f$ j: X. a& d1 m3 R- f9 k
4 p( ?& |3 Z w
8 n, `8 x' B0 h* ~6 v ?现在终于删除我的狗屁加速...
7 G2 \+ n9 R* e9 p2 I o) t8 y7 y) G e' N' ?
, N( `" H1 s( ^4 N7 K# M! \
: I' M: B# t1 |( G+ I) ^ |
|