|
|
食品车:
' x- Z% ^0 N. k( y% I |' U尾翼:/ @$ m) S3 s- f. g R
# O# |* F. h( C- B4 ^# E8 G7 v; W代码:9 G0 \; b+ F) c! H4 P1 t+ i' A) v
CWndAutoFood::CWndAutoFood()
- a9 r5 P. [8 n5 W+ S6 k2 {. |{. |4 k) G3 B! ]$ g3 y) z
m_pItemElem = NULL;, `: s0 m3 Q/ _/ j
m_pTexture = NULL;
3 T# u: X! N4 Z' l bStart = FALSE;% ^; E0 z. s1 f$ d2 J& @: z( t, X( f$ @* H
}3 r. |, C% |% J* j7 J& q7 L
% }2 x+ C% d9 f4 z/ r ?
CWndAutoFood::~CWndAutoFood()6 M- [) {# n1 Q" L8 [
{
. ]: X% q0 |8 |% Y. Y3 A AfxMessageBox( "AutoFood ist gestorben " );" Z% U* L8 v' ?& w+ }' v
}
4 C7 K5 w! w Z3 eBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
0 h, J; p1 f2 F+ n' s; B: _" o{! X# P# b' x- `' [; A
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
1 A; E% s( n8 `% R: j( i, w}" }- ]) Z1 t; B! n
# q2 N6 h7 o* k) _
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )( B( u/ c# M7 Z1 L
{
9 l4 G" j* K: ] LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );# B& P- _& X; A* \& i& o
CRect rect = pWndCtrl->rect;4 s& N' M0 k2 ]( E* \$ ^- _
if( rect && rect.PtInRect( point ) )7 ~5 D3 h, l! s/ G4 A! r
{
) j. ^3 K6 h& T$ M. x CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );4 D4 Y$ U, p9 q2 G" C
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
, H* y. m) i) K" V# t/ K, @" { {) f: F. Q+ u1 V8 {$ B {8 T
if( m_pItemElem )
# C% b% P& G: M7 U( d0 W {
! |7 j* \& h' m5 s m_pItemElem = NULL;0 Q% s3 k# G: i' X
}
6 D8 i% j7 t5 j% C; ?5 O m_pItemElem = pItemElem;
% i, b9 l; L. @ m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );9 m8 Y/ g) t' ^ V6 d
}else{
, m* A x( `9 R+ n* Y6 k* K r SetForbid( TRUE );
( T8 w. \; i% r( y [: k, f }# e( o* q. C3 V- V, h
}else{! M& W; T8 t% l- V" W, F9 y
SetForbid( TRUE );- D7 ~$ q' K. H
} O) R! i2 W& m) y* w
return TRUE;- W; u( |# a0 c& P- L
}
8 F: t# r9 _$ P r5 J& A1 ^6 t! M( z- E
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
Y4 O5 X5 g- q5 g# U{; I* n' |$ K$ x1 { r" ^( H
switch( nID )* w0 g- E3 G; X
{
1 Y2 q* H$ \5 d case WIDC_BUTTON3:
' @7 \( n' ]4 x8 n. V {
1 j4 Q% C/ C% x1 |3 E7 z bStart = TRUE;
+ k; I1 ?; e( ?4 \; z# j2 t break;
" t1 U$ Q! J7 L1 B }+ A$ ?( Y6 m$ F& G1 R7 u8 b8 Z. N
case WIDC_BUTTON4:
4 L, w8 q3 G: w- e' a {5 ~: x* {! \- G& k# ?- }" Q
bStart = FALSE;3 k& I+ K' \4 ?! F& R. A& j/ ~9 y
break;
0 @9 P6 j$ Z! _2 l8 m. k3 j }8 y2 s- t. B' Z9 l" f K' w
}
4 t, D5 Q& E3 \3 Z9 L- e return CWndNeuz::OnChildNotify( message, nID, pLResult );
8 P" w+ u4 X" H' a! [& t9 Z' e}
4 I. B: e- I7 Y4 y" pvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
8 z6 X/ Z& C' K% L# F$ E{
$ e4 k& X, }, d) h/ ~ CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );/ S' O, f Y! X+ W" q' w
if( bStart || !m_pItemElem )
7 \8 H: A& L( y$ l" T! Y% K; L {
- q1 B6 p0 E- m7 N pBtn->EnableWindow( FALSE );
* H/ x9 K' y, r; i1 f2 B4 r }else4 H! h" f# d! e5 i& J
pBtn->EnableWindow( TRUE );
& O* p+ m+ U, L if( m_pTexture )% s. V% c- O/ |
{2 n. f4 [$ Q% U% u3 c8 i
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
( g; C# y* a4 S" S if( wndCtrl && wndCtrl->rect )( i+ e/ s- T# Y; h
{% @1 ]6 e3 S, w4 o& g' o# e1 k* @# @
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
* f2 }" a+ g' L) X; q1 ~9 w }
; F9 f# q. ~, ^5 q, z }
' ]# x+ F& C* m1 j}
$ m' ^" C6 E W- r+ y \: h
! S7 ]2 J9 o9 r: y. ZBOOL CWndAutoFood: rocess()
# m( ^$ }& l; |1 N{
& }5 u! L q7 f: Y( R1 x9 z' { y if( bStart )& I( G' M4 s, r/ {5 C( B* Y. `
{
$ n% @- q, B* ~: L if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )" |4 L$ X" \& r. g* h0 u7 t: j" e
{& I+ f! e' j6 T0 Z Q* b/ b
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; W/ o g4 U, E) A! | g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
/ \% V/ M1 S7 v4 }! Q }else{
1 G+ ~7 b: t. e0 y: B7 f bStart = FALSE;+ a2 A( S* B0 h- u2 ^0 R" c
m_pItemElem = NULL;# h; X2 k2 T$ _
}
2 J, j7 n9 e, q0 r5 _; u }
( y2 s6 w: a' r" p5 s return TRUE;
# Y' W/ ^ ^, a8 g8 w+ ]6 A, A1 g}, L% a$ u' V" U% b
E g. x; _4 ~0 g6 C- m: r
登录视频废话:
# \5 U2 o4 e& M! i+ o' g4 Y尾翼:9 [4 W; E. j% l
8 A* e' ^8 ~, U' I6 m# S
代码:
( n3 s3 l/ M: j) c9 S! `; p! f/ C1 U9 @" o$ ~9 m8 Z% L w
void CWorld::SetLight( BOOL bLight )
3 ~! |# d/ j3 B( e$ G% G" ndurch
! @+ y3 M6 J+ D1 i# E# r: g9 ~Code:
7 E; Z' e2 u8 T5 Jvoid CWorld::SetLight( BOOL bLight )# K4 d5 `/ E0 k; L4 l) S
{
! f# |" {0 a9 [+ u5 y" a9 d //ACE("SetLight %d \n", bLight);9 h ^& B9 N7 ]
" C+ @% T) N* H7 z0 W9 |1 |
#ifndef __WORLDSERVER
. T9 @3 r* r" L& x8 p3 h DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);, \, n% v+ c- P( e
CLight* pLight = NULL;
- G( |# g- z0 L
( T/ \$ {2 y+ C% H, B! W, ]6 o D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
, l5 t5 m S9 ?0 S3 e% L( Z; D( {1 }
pLight = GetLight( "direction" );
, D W! T" }4 e0 v- k' x7 Q5 K9 M4 [& \/ y$ y
#if __VER >= 15 // __BS_CHANGING_ENVIR1 {2 T1 C& R" ^0 R6 |
if( g_pPlayer ){
. p! O. ^ y- d$ N6 A: ` ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );- y% ? U, G$ ?- B
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
% ~- v3 y! G: B0 N9 R {
5 s2 ^, k& F( n/ C h/ r8 V5 `# W if( pLight )# S3 t% y1 h* k: e/ d( `, ?
{1 E1 _' a( y" i) R& a6 h
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];4 ]$ J4 A6 t. \2 j) h8 W3 O& h4 H
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];, t/ B" q) u; T: F: _# ]/ l
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];6 K7 g8 w- B* s' r" l* C" w& f- A, P& I
9 v) Q4 k; F* G
pLight->Specular.r = 2.0f;
. A+ C8 f9 ?) w, s: R pLight->Specular.g = 2.0f;
) E! B7 N" U$ \7 K# N$ u. f1 x pLight->Specular.b = 2.0f;( l; n, e% W0 f7 }4 V
9 p) P- e) Z/ g$ n% A pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];1 `3 ^" A+ T d4 f2 |( W
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
: p+ X* r; ?. ]' j: \5 t w pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];. _6 G4 Q9 [" G% f9 S) h4 S& X
7 R' i @- b5 @! }' x
HookUpdateLight( pLight ); & L. w& d7 a& ?4 [: e, M
4 O# d1 q+ r/ w/ N
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) h0 k' k* P* _- g% A4 {# H # Y4 {' q/ Y2 r" F; h
pLight->Diffuse.r *= 1.2f;+ X9 {8 \& K0 n4 H: b! p4 C, y
pLight->Diffuse.g *= 1.2f;
6 R9 V, ?( d3 l7 r/ U pLight->Diffuse.b *= 1.2f;
( i* n; Z) z4 E. X& ^
3 p& L; e* O, p, n7 J, L5 w pLight->Ambient.r *= 0.8f;
3 V$ k" O" N. ~/ S5 ^ pLight->Ambient.g *= 0.8f;
X& I* \+ k+ p) Z0 X2 X% e, T5 S pLight->Ambient.b *= 0.8f;6 d) Z) ^8 S/ ]% r. h
% ~' j- O F& a; H F# o! w memcpy( &m_light, pLight, sizeof( m_light ) );$ F: s, m" A2 Z8 P8 x# `
% u u- s& d6 B" n
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
3 H( @1 d$ d6 i# L D3DXVec3Normalize(&(vecSun),&(vecSun));1 m6 G3 m4 l6 Z H" ^; `& S
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
4 K5 s0 Q# K' u: s6 p0 z0 K5 E' h pLight->Appear( m_pd3dDevice, TRUE );$ W% Q- j8 V1 H: W9 `
4 ~/ B* ]3 T: A, M1 v5 x0 l" }
DWORD dwR, dwG, dwB;
i% B! p/ d$ A, y dwR = (DWORD)( pLight->Ambient.r * 255 );
6 [3 v, F M* Q: L; v' I/ s) V9 n* o O dwG = (DWORD)( pLight->Ambient.g * 255 );
6 }, F7 t% d5 A! F( g: ^( L dwB = (DWORD)( pLight->Ambient.b * 255 );
! L2 X4 t5 m6 e$ {% I# N. k# J* `- F dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" x' z; _) l$ C* ~+ g7 l3 [& B. Q }7 S! D! f& Z3 ?: z3 Y& }
}- Q5 z. i. V. W/ Z! b6 P* T2 A
}
% _, u! k# F, h# Z( L k* T# X4 c& r else
1 J ~: J9 @$ h#endif
8 Q) h$ A7 f$ \7 W/ |5 d0 I* o" A: W/ \% z& n, \! J
if( m_bIsIndoor ): C W& }1 y2 y: l9 S/ \6 d
{# f- a) X- u9 o3 e
if( pLight )- t) m2 P- \' S7 g* n
{ / J8 S2 c1 V: \ S& T, @; h
// à??μ oˉè* 2 f6 z* a5 m5 x
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;2 B1 W( ?, K6 D3 W, Z$ i5 M
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;1 @* ?5 O, z! z% O+ u5 W( S7 m# z
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;0 ^4 C0 F7 w6 @# L
" y2 m" t( b3 G7 e! O( z9 x
// oˉè* ??à? 5 U' z7 m3 T6 H0 K! a v: z
pLight->Specular.r = 1.0f;: f7 r! U/ Y7 {. {2 u
pLight->Specular.g = 1.0f;
/ A; y( L" s; r0 j) m o pLight->Specular.b = 1.0f;% |" g% X9 P+ u5 m6 f8 x& N. O! l
// àü?? oˉè*
: O! e. V/ i6 z: W pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
! m! O7 c4 E) X0 O5 f- b: R pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;' M( I2 R" t/ A! @& ]/ g1 ^" z
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
( m* u( T" q2 q
4 q; V ]" i- Z+ v if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.% R% z( B0 T# ]4 x* A
{
" @/ N; D' b m' G/ f2 w pLight->Diffuse.r *= 0.6f;! s: v# V, v" a6 `! C8 X' _
pLight->Diffuse.g *= 0.6f;
, n, ~5 W$ g2 l pLight->Diffuse.b *= 0.6f;0 j& i8 ~5 K8 M# O" \& o
pLight->Ambient.r *= 0.7f;
' v0 e" z# W. Y% x* U pLight->Ambient.g *= 0.7f;, Z4 Y, y' ]! K, g, ^
pLight->Ambient.b *= 0.7f;8 z# g0 s& s2 Q: l5 K, V
}
! M- A8 L, k& M# `* D. T; M7 u5 o5 h! `7 ?( C; _
#if __VER >= 15 // __BS_CHANGING_ENVIR9 D. d/ F3 ~- Q
if( g_pPlayer )8 k2 {. P; V# h, X( p3 j$ n
HookUpdateLight( pLight );
9 R6 w1 n. N; z l( I1 v#endif8 \; @6 m) ~: U+ v! U
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );3 k- N8 D! l$ j
7 q' @' o. j6 S& ]- \/ l3 @ pLight->Diffuse.r += 0.1f;
2 a+ t) F# u. U; B$ r* ^+ u pLight->Diffuse.g += 0.1f;
( q0 v" t" }2 V% y3 w* K pLight->Diffuse.b += 0.1f;
7 O V, q' D6 Q) _# Y- u: Q* S // oˉè* ??à? : r- @; ~/ ^. G$ |" U8 R
pLight->Specular.r = 2.0f;- J' {8 M" ?# W: I3 ~9 ?
pLight->Specular.g = 2.0f;
7 V1 c4 R9 a6 t( M- Z pLight->Specular.b = 2.0f;2 b% ^* U0 d3 M6 y0 H' U& e
// á?oˉ & T1 y' P4 y2 y4 s* {4 f
pLight->Ambient.r *= 0.9f;
9 _' @( Z; l/ p: ^2 i7 ^# n pLight->Ambient.g *= 0.9f;
9 f% e. w3 o& c0 d) j3 x5 N5 g) m# Y pLight->Ambient.b *= 0.9f;
. B1 R) \4 C% c# p" P* c8 L8 y; N: r" U, `# W
memcpy( &m_light, pLight, sizeof( m_light ) );/ @# N( g+ p7 w8 i" ?
& B2 T# F- n, a3 e. X5 ^6 }
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );$ y1 |1 V( A3 l7 ?4 b$ ~2 U
pLight->Appear( m_pd3dDevice, TRUE );& u& m1 W* o* W* e8 k
4 y+ K) }; z& @* i DWORD dwR, dwG, dwB;# A* \0 T4 P/ a. X* D# @# r) _) l
dwR = (DWORD)( pLight->Ambient.r * 255 );
9 l+ X5 E/ Z# X7 ^* ? V4 m' w# @ dwG = (DWORD)( pLight->Ambient.g * 255 );2 R& t9 E2 S* j+ e
dwB = (DWORD)( pLight->Ambient.b * 255 );
6 w: z* Z1 S3 Y; Y8 P+ S dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
8 t. P% f1 o9 K. \" T- y* R }
" f0 ~7 ^9 Z$ |9 X1 q }) K. |. m7 c7 w, F" m. u
else
3 |1 p' D7 b/ g. M) l {
, B9 ^" d/ P0 O5 f+ a9 c if( pLight )
# T% @7 ?4 { q( k {
# y1 N; q, ^+ i% H' _; F
/ }, [% l' S! z5 B( l: l1 x int nHour = 8, nMin = 0;
6 U A6 O8 X( E6 m #ifdef __CLIENT
" x; k5 `( l, u& N7 X6 i // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. / c9 d( i4 ?# H; B9 V6 B
nHour = g_GameTimer.m_nHour;) e+ U8 |7 {0 A& B
nMin = g_GameTimer.m_nMin ;
3 R! c; u6 L4 M& `; g- C #else
2 r% h1 o3 q! a$ L // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.+ ?" z; o! F& c* Z: I
if( m_nLightType == 1 )
: d+ T* {! l, a2 R( C nHour = m_nLightHour;& W M, J! I5 `+ O5 ~! t
#endif
) k0 ?3 i) ]+ q nHour--;* R5 o' ^; m2 r2 J
if( nHour < 0 ) nHour = 0;. F- F! f b4 \- {- q1 |2 h& n& m
if( nHour > 23 ) nHour = 23;9 D( S$ j& D. U2 D" q
1 V+ l1 n6 O3 j X. | //if( m_bFixedHour )
' C& C) S D) _ // nHour = m_nFixedHour, nMin = 0;& f3 [1 i6 X' \7 m9 C; q
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];7 O \! V2 F2 M& N) R& o( P+ ~+ j Z
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
4 f3 x+ m& `# A$ l+ [3 V
7 z% w; f! r$ F$ y //m_lightColor = lightColorPrv;
$ |* q( }0 I9 k/ h! r6 }( { lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
( L. ~& C1 m( M+ W0 e7 @ lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;5 @' ^+ R! A3 D. [9 ], i
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
5 h8 s9 t+ M3 _* {5 f lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;( M9 X$ `( G m3 W
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
; L0 }5 f6 w2 M" K9 | lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;6 C0 U: b6 b+ A+ h' j# v( G# n' L
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)3 }3 u8 H% X; M8 b/ x2 | Y4 H
- b: J' Y( v% x* z // à??μ oˉè* # c1 ~% d2 I( t$ q* N: p2 {5 S
pLight->Diffuse.r = lightColorPrv.r1;
* y: F, |! \2 u n- S4 H) O pLight->Diffuse.g = lightColorPrv.g1;& z2 r/ U$ J% @! N4 N1 z5 `. ]
pLight->Diffuse.b = lightColorPrv.b1;
! C- U! `/ o' ]) T; T // oˉè* ??à?
1 J6 }) U5 q j& W3 ?# }2 o" T1 }9 U pLight->Specular.r = 1.0f;' F$ u$ m' G; H
pLight->Specular.g = 1.0f;
+ U- W4 Y' S/ G pLight->Specular.b = 1.0f;
4 e: m7 O* Z0 E5 U4 E% V // àü?? oˉè* 8 A3 ]6 G* }, d2 B" w
pLight->Ambient.r = lightColorPrv.r2;8 R& l$ X2 u1 n8 |' f4 Y, U$ t4 o j
pLight->Ambient.g = lightColorPrv.g2;
6 c; |, X4 S. x9 |0 j9 q2 k$ d- T. { pLight->Ambient.b = lightColorPrv.b2;# {: t# t# p# Z q+ P" a
; j$ p5 }) N" Y! n- R' V1 w+ m if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
& p( i. o: d3 ~ {
8 s+ @' s# E0 |8 S1 T7 `, b' S pLight->Diffuse.r *= 0.6f;
" K m; L4 Z: x& w7 f) d* R/ b( ] pLight->Diffuse.g *= 0.6f;& P8 f4 ~+ z$ C
pLight->Diffuse.b *= 0.6f;
) `+ L3 W- f' W; p+ L pLight->Ambient.r *= 0.7f;
4 ]* B8 |1 \5 q/ m3 } pLight->Ambient.g *= 0.7f; G5 @0 | p/ o0 z) j8 [
pLight->Ambient.b *= 0.7f;
- P0 U9 }( H8 v. O1 i/ u }# @& A s2 d! e' G
' u" w( k) B d. ]2 u, f+ b#if __VER >= 15 // __BS_CHANGING_ENVIR
1 A U' J" P1 W8 I+ D if( g_pPlayer )
( Z" k8 _1 `7 O; J& D' g HookUpdateLight( pLight );
+ B* r$ @. H; n4 f#endif/ N2 w8 S/ w4 Z
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );) j3 U7 G' m+ Z" x3 A$ @4 I7 v* Z& ^
* S! m+ |+ u: S/ r! e
#ifdef __YENV7 S% s9 j' t& U1 t2 r$ `% B
pLight->Diffuse.r *= 1.1f;
' o" d9 c4 U# G# a! ]2 @4 o, Z8 p5 ` pLight->Diffuse.g *= 1.1f;7 y/ F+ L$ q1 I
pLight->Diffuse.b *= 1.1f;6 X* [/ o, z) h/ a ]3 U
// oˉè* ??à? + y4 q& L! J& {% K
pLight->Specular.r = 2.0f;! h3 J0 G$ S0 _; [! |1 m
pLight->Specular.g = 2.0f;- o0 T8 K L& d# E- g
pLight->Specular.b = 2.0f;
1 s. e! O# b- f4 L4 U# G7 [ // á?oˉ
+ x9 ?2 O3 |& }, X pLight->Ambient.r *= 1.0f;: [% f, n( J0 ^$ [9 ^
pLight->Ambient.g *= 1.0f;+ z4 S; n/ `3 z! L! T
pLight->Ambient.b *= 1.0f;6 {; @1 N7 d- l% ?! L5 b
#else //__YENV
1 j" }+ Q7 p8 G pLight->Diffuse.r *= 1.1f;
6 e) c% e/ @9 }# H9 y pLight->Diffuse.g *= 1.1f;
/ d# n2 s) k+ J! s# ^; { pLight->Diffuse.b *= 1.1f;1 Y7 ]# \2 ~$ l. ^
// oˉè* ??à? ! h9 c* Q* z4 _! A3 s
pLight->Specular.r = 2.0f;
5 f) \8 C3 Q7 v7 { Q pLight->Specular.g = 2.0f;
. a% y+ V4 x9 Q8 N pLight->Specular.b = 2.0f;
0 U \4 `1 z2 W/ F8 A, _6 t7 Q& R // á?oˉ
; w) F2 Z/ j( R( a J5 s pLight->Ambient.r *= 0.9f;
9 u% g% G: c4 X0 W6 R4 @3 P% g pLight->Ambient.g *= 0.9f;
; \* f% [4 j% ^; U! Z pLight->Ambient.b *= 0.9f;
9 k% }7 R1 X8 f) }3 L: E6 |; w#endif //__YENV
: j) a$ j0 u) X9 c" D! Y
1 L, w+ t" i$ ^& E; ~! I memcpy( &m_light, pLight, sizeof( m_light ) );" Q% d7 B& `' I# F, i" s& D1 v
2 q% B. I* S# a) L1 @' O2 O) \ D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
, S H6 ?# s; D; ^( g D3DXMATRIX matTemp;% ]" i& K; T. |5 G% J0 Z* s
static const float CONS_VAL = 3.1415926f / 180.f;) Z1 W2 u9 T) U5 h3 K* }* P6 C
$ d3 q& t1 `1 `4 `1 w, ^! e$ U D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
3 V: I- M% t2 r5 n I1 R D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
. }* C1 ~/ r. M9 ~( D2 z pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); [; Q" T% [4 B- C
pLight->Appear( m_pd3dDevice, TRUE );6 o1 h' a3 J) T; {( F6 C0 G* Z
8 y9 {& A0 [1 e+ F! G8 v6 @4 n // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);3 G9 q) |+ z% N5 O8 C) u
// D3DXVec3Normalize(&(vecSun),&(vecSun));
3 z, V$ _/ Z' Y8 } z$ {# Z5 ? // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
! R8 t+ H& ~& | z1 b. H: l' R) c
DWORD dwR, dwG, dwB;1 |8 }6 R( `& Z, ~3 m
dwR = (DWORD)( pLight->Ambient.r * 255 );5 T$ F$ N8 @9 b' P
dwG = (DWORD)( pLight->Ambient.g * 255 );5 |& v C$ h- T6 ]
dwB = (DWORD)( pLight->Ambient.b * 255 );
4 f' a) u+ z9 {, l( { dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
+ i( [: L2 O& f" P+ V }7 m9 A$ W9 F+ G+ c* I
}! X0 m: u7 J/ R0 A
. _0 O# ?% a! ?6 [: _ m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
+ v! [+ Y4 q I% E" R; i) f 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) );
( i, M0 ]6 W1 R0 ]0 i0 T( k: O ::SetLight( bLight );
5 x; a) e# L }0 [2 F; z0 x7 m8 y$ H7 J* J- `- p$ ?: m: n
// ±ao? ?D?í???ó á¤à? . I0 I C* v* ]/ _% _: F7 V
m_pd3dDevice->SetMaterial( &m_baseMaterial );
/ f. T" s+ c( d
& Q6 l3 e8 R3 u4 U4 o+ b#endif // not WORLDSERVER
$ A) L0 s: B$ p}
, |$ _. w( x& `; i并更换, Z& y7 |0 Y/ u4 E/ c
Code: c( N$ J* r& s, X/ I% `# p- X2 S
__FLYFF_INITPAGE_EXT
7 G5 } `$ |4 X0 u4 [- y定义0 J1 S3 J4 r+ z, W& v0 t# v5 M$ V5 ?
7 z5 S0 W5 Z( H- n! j9 ~6 x6 ~6 K% V/ f3 W0 _& w! V0 w
' ?) K/ k: J" U. j
+ _3 U! j# j' ?! w现在终于删除我的狗屁加速...
. v6 C# T2 T* y) {8 T
2 [3 v* E; ?" ]/ q) Y. C8 A6 E2 {4 B9 x, Q6 e
% \7 ]. Q: V7 j/ g' x* S
|
|