|
|
食品车:5 H' h, Q9 {+ N7 a
尾翼:
* N+ h1 J/ w0 o5 e- q% X
! B7 \' W: [0 j* ~代码:& V( u1 O E" e: m% K0 o
CWndAutoFood::CWndAutoFood()' E8 d* T: c1 O. O2 P# u Z( ?/ H
{
% D6 C* l$ c8 R* y: V m_pItemElem = NULL;5 R/ W3 B& x5 N' ]+ W
m_pTexture = NULL;' [+ v. W7 h" s# i
bStart = FALSE;4 L) E. @/ P9 G" Q" O
}
7 Z. R% i$ k" t* w) B: ^
, }+ f( D( L' J" H$ xCWndAutoFood::~CWndAutoFood()
2 A/ A0 `/ e# {3 G: R{
$ d& E s! t: @! G AfxMessageBox( "AutoFood ist gestorben " );
8 i; h" Q# W- {$ S, n I}0 b4 P0 X& a r: d
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )* I1 b1 K# o+ l. G
{
; s) E2 x* |0 [4 l0 O! l return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );% x' m! Z5 u/ K/ O3 t0 [; A C0 F
}( e: U: U& f& ~3 P6 \% h! b8 f
# O9 N9 O: Y- bBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
* R4 O5 N! c6 Z/ \: [2 o$ Z{
) y+ W( {9 W& j% q. {$ d( V$ o" @ LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
* w3 q+ T9 V: j4 u6 m' R CRect rect = pWndCtrl->rect;
- [0 C( d/ t4 o if( rect && rect.PtInRect( point ) )
: ?& G' v3 y' r {* k( p7 y! ]" J% V! W+ D7 |6 o) m# b
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
" ]' x$ l9 r$ S/ V+ D! i+ I if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
/ n# r! O& P: b! Q8 B; N( ~" ~ { A5 K. D; Q3 u6 ]# D; w
if( m_pItemElem )# L! h0 H3 H4 N
{
2 |6 o/ D4 j" U" F6 I1 } m_pItemElem = NULL;( d; L' ^0 E. x% U3 u
}
. R0 q; J& k$ G m_pItemElem = pItemElem;
. L2 F# o. j7 u! _; F m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );' t' A c) \) A6 T
}else{
7 r8 ]. m8 {2 @8 `" `; t SetForbid( TRUE );
1 j+ R3 w5 _- c& x) G }
0 T5 J% |; q% ~6 T! c }else{' M# Y" A9 k1 `, V4 m) Z
SetForbid( TRUE );
) W" m1 ^$ o2 ]; t9 I$ O0 t. U' r. z }4 R( {! p7 H" L0 c
return TRUE;
! m% N8 w5 {3 d& Y7 r9 K/ d0 _% t}
; B& Z1 f2 I; O D: J. c6 ?- T, P% c6 {5 m8 o, b" t
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
6 Y! p9 p6 r" ]6 r{5 A- l: n- Z$ L! k
switch( nID )) |( ]9 s( h* g, {
{1 [2 z2 y7 S W3 u7 l& H& T8 r
case WIDC_BUTTON3:
$ W* M3 f$ i. s: o {
- ^' E# z& C' H3 d* ]9 f bStart = TRUE;4 I U6 h3 }+ @
break;
) Y" n+ ~4 P: p( V' \) Y/ P) [ }4 P; v- x# ?' z; L4 q/ ~
case WIDC_BUTTON4:6 T) T) c$ [8 q
{) Z: @ f$ l8 r5 _" d& B
bStart = FALSE;( @& |5 j4 W. b! _2 x! G
break;
8 {7 |" H8 w( L* Q7 ] }; D5 G7 x8 a* E" W! r5 z
}
; s/ w7 Y( h9 t- B' L* I( r return CWndNeuz::OnChildNotify( message, nID, pLResult );3 E/ I* S, B; N/ ]2 Z/ B
}
& M4 Y6 g2 j' {6 _void CWndAutoFood::OnDraw( C2DRender* p2DRender )& F$ X i* e+ i: F, ] b8 @* x
{
Z7 w* c$ E9 t5 B: \7 {% e CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );) _7 b/ U5 A$ O U0 c
if( bStart || !m_pItemElem )" {% L) H* Z8 s0 h
{ |2 [% X( b0 p9 d6 F$ z) m4 E
pBtn->EnableWindow( FALSE );
( d. O; I: G c( _- O( T! I }else% G0 n! n+ K ~, T) a* z' ^
pBtn->EnableWindow( TRUE );
. C# }3 j" X0 j" o6 X: I if( m_pTexture )0 ^) S# R% n) N1 ~9 o
{
: B: ]+ F" u" Q; n% b* z/ x! ] LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
; P- J& u3 _# W! W' H/ w; L- ] if( wndCtrl && wndCtrl->rect )5 u5 f+ S) h8 }$ u$ g
{
% p; |) L7 U& k8 `. Q4 [ m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
- M" r) V. Z1 P. ^% `7 b }% X+ M5 K8 z" q/ W }1 ^, @
}* P: A* w, s5 U* |
}7 e( M8 M& g$ k6 A- T* {
2 R' o& l8 v, q8 R! m5 Q' m0 }BOOL CWndAutoFood: rocess()
0 s4 `) _- U- @{7 L6 I9 R2 I6 Q$ t2 F& y% ?3 m7 j# ?
if( bStart )+ s, h J- c* I0 l
{
a+ d# A3 n* L+ u# \+ P0 L7 _7 _ if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
* Z2 O: y Z+ F% O. ^- ]/ ` {+ }. S1 @1 ?/ D% ^
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
+ S, Z% a$ Y' P+ b+ S2 h g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );3 Y/ m# ?; ]+ x8 m; d8 A u
}else{
" A8 b8 p7 S0 Z. M( r9 ~6 Q2 q bStart = FALSE;
& {5 O( Y1 h! j8 _6 u' m m_pItemElem = NULL;9 W" X4 g y7 V: G& ?: J/ d. d
}* J& z% P4 z9 L( Z
}
+ I6 I! Y! I; I! h4 e# T1 E return TRUE;
2 C8 d/ H3 b3 J' ^9 @. T}
6 \& C; |3 j8 l! M" |9 G5 @
5 e8 s* T' C2 [: O. c% m登录视频废话:
) v" K+ @8 f: D$ J8 a K尾翼:3 R6 \% Y& u7 ~6 v0 _! V2 j
/ T# l; v( B: O) M" i
代码:0 I! |, z2 `7 }1 X" Q. J# Q$ J- h, b
* m( n4 k5 @! G- a6 d: ~void CWorld::SetLight( BOOL bLight )
* \' K9 x2 ~9 d, T2 e' T Jdurch
4 w. H- h5 \3 l5 m1 rCode:# v2 O# E0 n# D6 B- G7 B! v
void CWorld::SetLight( BOOL bLight )2 D0 Y/ P8 X+ y' r1 K
{ M9 \" S5 d1 |. m( i& E
//ACE("SetLight %d \n", bLight);
) F) u7 Q8 E4 T7 [0 A1 ~& X9 ~
. K$ w7 P/ A+ Q#ifndef __WORLDSERVER * s) y& }, M2 i" ^
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
$ j* \, ~+ ^% c CLight* pLight = NULL;
) u8 h0 W2 G% b1 z0 u, h* ~/ O+ d" n' D& D! ~
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
0 g1 s+ R' V% V A* {: x( H
5 D7 Q1 o& O9 K* v7 R pLight = GetLight( "direction" );
8 n: D. H0 L5 F3 @7 @) G0 ^( F$ | K1 {2 v
#if __VER >= 15 // __BS_CHANGING_ENVIR9 P- z( R4 w* V
if( g_pPlayer ){' A# l! @; P0 e+ U8 _4 J
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );2 r I% W4 t4 V7 A" u$ @
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
: R" b1 j2 D8 ?4 Q {' ^" E; e i1 q. @3 ?
if( pLight )
; q3 {* Q" y0 M! {' B! b5 O+ u0 Q {
- j6 W0 X: x. C) F* C6 \! e8 P pLight->Ambient.r = pInfo->_fAmbient[ 0 ];) K# S+ w$ r' p
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];* q* A) t, d0 g6 l1 b1 N
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];; {5 ~' C/ `* i/ Q
$ N* O, | R: n( ?- T& o' t, Y+ y pLight->Specular.r = 2.0f;( q& m9 P+ C Y) D0 `
pLight->Specular.g = 2.0f;
% U. c3 o. l5 W* _1 r7 N2 Q pLight->Specular.b = 2.0f;* p+ ?, U" p7 Z
) \! i5 d" e P9 s
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
3 H- J$ X6 d1 Y1 U0 g( v pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];/ i# e' h: W+ b' B0 W
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
( F/ \$ Z }5 y
$ ]: P, i" x: { HookUpdateLight( pLight );
% n8 [1 g; N: M4 }
. G! d9 m( k, y memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. U; |4 ^/ n3 h% h" w1 R# a
+ `) b+ m( r4 p( I; J' Z' `% ^ pLight->Diffuse.r *= 1.2f;% Q& \+ ` e- E+ q) t
pLight->Diffuse.g *= 1.2f;3 S% W4 l% G& M( _/ \# B1 u
pLight->Diffuse.b *= 1.2f;
' N$ X7 b( `9 A& Y3 s0 l: Z+ T1 P1 T$ \6 n
pLight->Ambient.r *= 0.8f;) `; {; ]9 \7 m+ X, f/ f2 T
pLight->Ambient.g *= 0.8f;) d8 C7 g' |& F7 z- a! N# n, m
pLight->Ambient.b *= 0.8f;
/ W* P9 E1 W7 ^$ ^: Y$ d. a 6 q6 w ?, L5 j, l7 }
memcpy( &m_light, pLight, sizeof( m_light ) );
, n, l% e7 I% ? j3 h# I
$ k! D1 \* _9 p D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
7 u$ _$ c, h% w8 f# Z D3DXVec3Normalize(&(vecSun),&(vecSun));3 n8 ?+ V- u- }6 e
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ! p$ q, k3 ?! j6 S8 b
pLight->Appear( m_pd3dDevice, TRUE );
0 u$ Y' h* G, q; i% \ C 5 Y. ~' ~0 b" U6 V6 k
DWORD dwR, dwG, dwB;
# T) O o* F e+ H4 A1 F) p% N* H# w dwR = (DWORD)( pLight->Ambient.r * 255 );* i5 L* w/ y! ^: s( G6 e
dwG = (DWORD)( pLight->Ambient.g * 255 );
& |* m: n5 P$ t9 c( w) M dwB = (DWORD)( pLight->Ambient.b * 255 );
1 Z' U P, X4 s5 a dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );, G3 s) }/ `8 `& Y7 \
}, I5 n3 y1 j8 Z2 m
}8 M0 s" K7 i0 k. B Q4 f- B) }* X. y
}( I! P7 m O/ Z7 K
else, q6 O- K4 X/ j/ G
#endif ) k' @, n+ t! s8 D$ D9 o0 \
2 h Y- ~& a3 | b if( m_bIsIndoor )0 [2 z, s$ a5 S% [& }2 N
{
- V6 }% O: L2 E8 u. Q if( pLight )' Z& O1 ~- I: T9 \7 ?2 `
{
0 ^. H' L' D* D3 v // à??μ oˉè*
* o* x; K3 J0 |* y o2 c pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;) k3 Q+ D! h; f# b- |
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
5 Y6 x- P- j k pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
/ y H' Y( w4 S5 l. {9 l( n# M, l) E5 U4 z/ h
// oˉè* ??à?
' g. r- ]+ z" \& ]" P& O# r3 C- y& \ pLight->Specular.r = 1.0f;
; u2 S2 J9 O$ a pLight->Specular.g = 1.0f;
, q9 q8 o3 N0 T& l- J: y pLight->Specular.b = 1.0f;3 q# X2 t- @5 |% b% g
// àü?? oˉè* 0 A% Y5 u2 o6 `6 Y M
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
; k: F( n. ?$ N h# ~+ n pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
/ U* q" v4 v' F pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;/ g6 D1 v/ S( `1 U$ v4 V
' K4 _+ m! \: s if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
7 b* P/ u/ x1 x: |1 m {( s" ]8 g6 o; w
pLight->Diffuse.r *= 0.6f;
8 f' S4 K6 z$ B. \* X+ |! p pLight->Diffuse.g *= 0.6f;
2 R G9 C: t* w: Y6 g/ E8 D pLight->Diffuse.b *= 0.6f;
$ h4 \9 w: `8 z0 l pLight->Ambient.r *= 0.7f; \* D" \9 M' C8 `6 y7 h q
pLight->Ambient.g *= 0.7f;9 ?6 l; w* {% A& ?3 X, y- u
pLight->Ambient.b *= 0.7f;
5 ~2 B5 f7 g$ x4 s }; Y7 f% Y5 k: ?
& `5 n' ^1 Z0 P
#if __VER >= 15 // __BS_CHANGING_ENVIR
8 S/ ~1 a: p6 ? if( g_pPlayer )
. x; ]0 c- u8 p. x! H HookUpdateLight( pLight );* x( c: N0 p- T' j1 W' [
#endif
' G. C6 p# m: ^' y$ E5 N+ q8 w4 u* @ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );# e& I& q& l( L# n7 I
% c5 i- q9 M+ J1 U4 R
pLight->Diffuse.r += 0.1f;
9 {. Z S) |$ G% m% n P( }3 | pLight->Diffuse.g += 0.1f;# c% S: ^1 Q5 J% w; q& s7 C1 O, m% s
pLight->Diffuse.b += 0.1f;' {: o( O* T% n. ?7 M; K+ t' D: O
// oˉè* ??à?
' x. a9 j( B( u* s) A7 U9 t pLight->Specular.r = 2.0f;
+ {9 G. O. n! }/ d7 m4 W0 p pLight->Specular.g = 2.0f;
: R- E z) B: `' Y2 Z& x2 u pLight->Specular.b = 2.0f;
2 o6 J0 V1 |; o+ z // á?oˉ # I' e; Y$ f. {4 C4 q
pLight->Ambient.r *= 0.9f;: q) z, M% L* F% x& p
pLight->Ambient.g *= 0.9f;
# e; B( Y; q5 s1 I( X pLight->Ambient.b *= 0.9f;1 r6 K1 O: ~0 R& B; u
3 d: N4 U+ }# g. s memcpy( &m_light, pLight, sizeof( m_light ) );
1 b. P) A9 R1 i3 s
' @5 q$ _, ^/ ?) B1 k+ Y9 ^3 ? pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
$ G( `% @7 q Z+ P0 m: } pLight->Appear( m_pd3dDevice, TRUE );% J6 z4 A! O; v% z0 J& o& B) f
4 G i1 l- x; |( [. l5 n6 T
DWORD dwR, dwG, dwB;8 f, B& O8 m% a6 n a' e# i
dwR = (DWORD)( pLight->Ambient.r * 255 );
9 x- w7 B3 X) k7 [& P dwG = (DWORD)( pLight->Ambient.g * 255 );4 |. d# A4 _3 C6 p
dwB = (DWORD)( pLight->Ambient.b * 255 );
% W) g/ E* i( u& s" y! q7 m dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );: ?1 r6 `/ l) e4 g8 w( `7 l
}
; `3 R& I1 i) u" G' X! k. i. H& O }! i1 w4 C6 g2 Q; I
else& u/ e1 }1 Y0 q& B
{# y. u( N* X( F
if( pLight )
) \* N$ e4 m ?- _( l1 { {
0 k, d4 L& a. b3 R' j, G & i: ?5 Y# b! @/ e
int nHour = 8, nMin = 0;
6 b) C- R$ p3 y+ ~. V* n #ifdef __CLIENT4 u- f6 a& L1 R I
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. " X$ O) ~1 V- [# E3 ^
nHour = g_GameTimer.m_nHour;* o) ~" R% T" {( h8 t$ l& b& f
nMin = g_GameTimer.m_nMin ;
& e" r4 E$ [$ H) l #else0 w6 @* k& s$ G( j) @' ?* p" l: H
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
$ b n) r1 Z4 M( q. Z7 f+ W* y Y if( m_nLightType == 1 )
$ X) R" a! n( K0 t7 j nHour = m_nLightHour;
% {5 B& x" c4 m4 @$ b5 t2 Y) q1 | #endif
4 V7 X5 L/ d' B nHour--;1 [5 y5 n3 f4 c* ^, P: T7 G2 Q! e( J
if( nHour < 0 ) nHour = 0;
, J9 f4 Q: ]/ F if( nHour > 23 ) nHour = 23;- F8 q1 H5 m1 [+ }- M. i9 `' m
/ \" G& u: N& ?1 o! x8 G1 O //if( m_bFixedHour )0 `& A& K$ v7 Z0 t
// nHour = m_nFixedHour, nMin = 0;( r3 B& ^! D9 [, W
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
) w, c! x9 j* R! u1 [0 z p- H9 d2 R LIGHTCOLOR lightColor = m_k24Light[ nHour ];
u# O. O1 p: [& t1 W# N7 p+ x+ n( n% q, o* ~& U4 z( C( _
//m_lightColor = lightColorPrv;; K7 Q9 u3 b& d
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
8 U( V8 C+ _# |, w! p; q' W lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;* t, Y! O. j8 c' P) f; b
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;# @- g7 t- T" Z- I( g5 H! T
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;7 P, f5 }4 O: S5 F$ p2 h
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
- T( c/ s0 x; X' _2 h, U) | lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
/ O% Q! b) Q" |( E1 a // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)3 u& ^# d6 C6 w) Q' l; s4 ?4 z
0 f' y' T# y: u, J
// à??μ oˉè* + W% k7 ]8 _9 `5 `$ P) j
pLight->Diffuse.r = lightColorPrv.r1;
3 R) l O2 c0 i$ A pLight->Diffuse.g = lightColorPrv.g1;
. l1 e, N& A' E/ m5 Z# V pLight->Diffuse.b = lightColorPrv.b1;
9 V( y7 ~) W% W4 j" w // oˉè* ??à?
Y. @* F' M* e9 J pLight->Specular.r = 1.0f; S" j1 c% n$ F2 ?4 L
pLight->Specular.g = 1.0f;
$ p2 X, c8 K8 Z$ W pLight->Specular.b = 1.0f;
# E$ v( `; t4 C" B# | // àü?? oˉè*
4 S* y: u1 _( J0 s) c3 k6 z9 H pLight->Ambient.r = lightColorPrv.r2;
* S; g1 ~; _. ?+ n& y9 d( d: ] pLight->Ambient.g = lightColorPrv.g2;
- R$ I0 Y0 `% v4 z: P) j pLight->Ambient.b = lightColorPrv.b2;8 x. H, T7 O9 E$ a
( U! x6 L8 u& h( N7 o1 o if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
4 A6 m; W1 A: u {" f5 y) Z2 k! K
pLight->Diffuse.r *= 0.6f;
4 w; l! r0 D+ R+ R. C% ^ pLight->Diffuse.g *= 0.6f;
4 I# \/ {# Y4 m; K$ B pLight->Diffuse.b *= 0.6f;
3 |$ i3 Z/ f& e8 X9 @( u+ ^ pLight->Ambient.r *= 0.7f;
& ^- V3 F# Z" R; ?. Z* p pLight->Ambient.g *= 0.7f;! l2 k3 _- Y* `2 O9 e: O( @
pLight->Ambient.b *= 0.7f;
7 F+ Y! N1 _% R! n M; m7 m+ T }. s. K6 v7 Z. @' b( E: ^
$ i2 Y6 A3 J) @$ C+ n) \#if __VER >= 15 // __BS_CHANGING_ENVIR; S; m: j! e S/ g3 z# r
if( g_pPlayer )
# D; A4 j5 p6 B a0 N HookUpdateLight( pLight );
* g0 `: r4 e* }$ C2 P V#endif& j& _: Y0 I0 V- C
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );# t t$ s& Z* u. z. g. Y
5 ^" d- |- @3 ?; \
#ifdef __YENV l% J3 ~& h% s* O* G" f' s; F
pLight->Diffuse.r *= 1.1f;" D" u# A' j+ W
pLight->Diffuse.g *= 1.1f;# ~+ x3 w, j3 u* r4 l8 H
pLight->Diffuse.b *= 1.1f;+ T; H# d( U: s( D+ I2 x. `) D9 \
// oˉè* ??à?
, v$ h: e. Q/ w7 Z, | pLight->Specular.r = 2.0f;
, `$ o* ]3 R6 e pLight->Specular.g = 2.0f;
4 Q# H; a( |* _+ d; ^- L6 }! O pLight->Specular.b = 2.0f;
2 L! r) O$ i0 J7 ]& x3 |& ` // á?oˉ 5 p9 ~# t6 V& s
pLight->Ambient.r *= 1.0f;" w# H* q5 A$ d/ ]( `, l' u" |/ A2 a& A
pLight->Ambient.g *= 1.0f;# @; v% m" G$ k- }( M% }% t
pLight->Ambient.b *= 1.0f;& P3 W' c+ i# i+ g
#else //__YENV
W7 A9 U" ^8 r& P o6 G2 R7 K pLight->Diffuse.r *= 1.1f;6 k% {" `; Y- T# N! O! ]" W& X C
pLight->Diffuse.g *= 1.1f;2 R! \3 b+ m* ]- w) U, p
pLight->Diffuse.b *= 1.1f;7 b7 d$ f- W3 j3 H$ p m8 U
// oˉè* ??à?
S4 `. B; P9 `* V! [ pLight->Specular.r = 2.0f;4 u) r0 `& P! ~2 p+ K
pLight->Specular.g = 2.0f;
+ p- ~; K+ U7 V: z) G0 B pLight->Specular.b = 2.0f;6 t* w2 b! q9 h' C( H, V
// á?oˉ
- ?0 z& d' S7 h pLight->Ambient.r *= 0.9f;9 \8 C) E1 a8 k, o
pLight->Ambient.g *= 0.9f;
: P. C/ |+ y' t7 K y( S pLight->Ambient.b *= 0.9f;
0 u3 G; i$ f+ l# Q4 e#endif //__YENV
, Y! a) S9 \2 r- E
$ W- d4 E" {1 |7 ]$ Z& i memcpy( &m_light, pLight, sizeof( m_light ) );) O' a3 A. N0 x) G) ?9 {1 ` s1 b3 Q; R
( Q6 Z" g: a1 C" Q9 [
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
& `& R) j1 q/ K# F* w: U D3DXMATRIX matTemp;
5 c# u% a/ ?1 ~1 V static const float CONS_VAL = 3.1415926f / 180.f;; ?/ x4 _; y$ i: m6 G+ `4 D
* h# m9 |* u# q) e" ]# z; y
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
+ Y- `, ^" n7 B- Q, v& C7 X D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);, o2 p" A. E8 X" @" N9 |
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
# ~. o+ Y- ~3 Y; { Q pLight->Appear( m_pd3dDevice, TRUE );
3 a/ R: \* u+ A- F3 M+ Q2 O* m6 t7 `* c- E. y
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- P' w/ L1 X% r! B- L9 w
// D3DXVec3Normalize(&(vecSun),&(vecSun));
" x- @& v. ^/ a+ D% ^ // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
; T& ~2 M" G8 ?+ `( {
* ~5 g7 A; Y3 K4 U% j2 M DWORD dwR, dwG, dwB;
3 i) V, c$ e* A! a* `- x' X: ] dwR = (DWORD)( pLight->Ambient.r * 255 );
* {* G T5 U; f; P- Y dwG = (DWORD)( pLight->Ambient.g * 255 );
8 z3 [" ]2 C1 Y5 c' b- f$ u% i dwB = (DWORD)( pLight->Ambient.b * 255 );
9 y8 k6 C& V, [( E dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); ( B3 X/ H+ m7 s
}+ i- Q6 w( R3 c( c' x
}' I- K) |8 ^/ T3 B& D9 r( A* z! e
6 _: P7 c& V* d" ^% ~ V
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
- F2 K# O* T; R2 C* e* P 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: K" y0 D8 z& H1 U/ u
::SetLight( bLight );8 a* `8 V5 s6 L
/ J; a; v8 F9 f( e u" a
// ±ao? ?D?í???ó á¤à? - t) C, E8 i# y& y( ~
m_pd3dDevice->SetMaterial( &m_baseMaterial );
% t- v Y- R1 c3 i: b% o 0 a7 K0 G) \2 r) C7 T! i/ ]
#endif // not WORLDSERVER" _" W. W; D- F% C) L! b
}
2 E3 G# t2 u1 B8 ~# b9 a: H4 ~; S; ]并更换$ ~% E/ R& f9 q8 d8 W+ }& [6 C, _
Code:0 E! V& L+ i g) C
__FLYFF_INITPAGE_EXT
8 y, {- w" s% T3 h7 y定义
0 W7 U4 R. M. \& M6 S: q# K8 L5 ~
) |8 U2 M4 `7 n: Z9 _! V6 X
$ w$ ?! \8 {5 Z( T& E0 F8 U- a4 D6 @5 |
现在终于删除我的狗屁加速...$ C1 _5 P# U5 y V ^7 W5 ?
7 I( S7 I0 R3 c5 s
# G! f4 [/ B/ X6 }/ x. W+ @
$ G. U: g3 Y! f$ U
|
|