|
|
食品车:
) ?2 z+ q# x$ \. q& }) u3 O尾翼:
( r/ a; z R- E5 t' l* |' |9 r( _& X8 _2 g4 q5 W/ Y' D6 q. ?
代码:! A P0 \' O5 T! ]# w
CWndAutoFood::CWndAutoFood()
& G+ v( z7 G4 |- r{. x' `6 i' R5 _0 B( [# F u
m_pItemElem = NULL;6 Y2 k" e/ m+ l" X
m_pTexture = NULL;7 ~# w C8 S* R1 S, v
bStart = FALSE;
9 `1 U: N8 R' r [, Y7 e} V9 y- x9 D$ j L/ c' {
7 p( d4 A) s' Y( L2 v, F$ aCWndAutoFood::~CWndAutoFood()
# c3 @4 M; ~- W b{
9 w/ n# O" _1 O/ ~" j- l/ a& X4 q# t AfxMessageBox( "AutoFood ist gestorben " );
8 U) Z" o+ t6 d! X1 b8 ]* u% `}
, s* D b; A) hBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
5 Q( D" X6 R4 ~1 x{
7 N; T2 m+ q& T& Z4 @! x! T" U return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );$ c5 D3 F9 m% @4 U
}
6 Q. V. x) k* E. l; g4 P8 G0 W3 J# h7 r" C' [5 j) D/ o+ \2 j
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )7 H, j9 j# F7 q6 L
{
; U+ K- [) s6 z5 V1 p LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 ); Z3 \# B+ V0 t- Q" O. _ H
CRect rect = pWndCtrl->rect;
7 r) k2 P0 X/ L' g1 ]- ?( l* \" C if( rect && rect.PtInRect( point ) )0 B' m+ C0 p* K/ `6 v
{
; q& H1 E# y4 S4 O, O1 j! W CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );. A9 M0 k. V+ r3 U( n
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
6 @( u3 D! J- }! V* B$ X& ? h {% W( `$ j w" D1 Q" ?+ n
if( m_pItemElem )
, k. V0 F* _, |4 B2 p {
' W# A9 I5 d, G4 W6 W* [) R% g' _ m_pItemElem = NULL;6 T- U6 X+ W2 o0 `. Y
}
% X$ x' m& o/ I: ^ m_pItemElem = pItemElem;2 v& Q! Q. U" B p9 Y5 }' y: S6 X
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
0 Y2 O; A; I& o8 u. S n. { }else{* M7 ?, C0 [; T
SetForbid( TRUE );7 X ~) `; `1 @# _
}
! d8 T- s8 k+ M; a; X }else{! i% g3 u& I+ |, e
SetForbid( TRUE );
* M+ F) Q2 K' W. ` }
% c6 z: H3 o4 e; ?# [- r return TRUE;- G' D7 u' W. f* T- o! z
}1 A* M2 R- A8 v5 S- X3 ^/ A3 {% s
; s, ?8 k! V* o9 F! \
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )! f+ Y y8 H4 H$ a7 A4 @9 p
{
3 M# Q. r* z2 C switch( nID )
4 o: O$ o8 F" v, R {
! U1 `4 {9 {$ y/ x$ W- M7 `- B case WIDC_BUTTON3:/ j- `4 o) B E, o
{
# b% n% p* R8 r2 b+ H/ {# D: I0 ] bStart = TRUE;* ^$ l# I+ _' z2 h" [
break;8 J1 H3 R% U# N1 ?9 B# Z
}' `! h+ D+ L" ~: Z! r- z6 q
case WIDC_BUTTON4:* @/ a" i4 k4 c" K; G5 o6 A/ ?
{
) a+ _- a9 l0 T( H2 F' Z bStart = FALSE;% Q9 c: G5 K- @5 z9 {, i
break;+ t" z) w: f* x
} R% t$ d4 j, J6 Z
}
: p/ N0 _" {' A9 U; } return CWndNeuz::OnChildNotify( message, nID, pLResult ); W O4 i- D5 S$ c2 D$ e
}
/ ?+ g& Y- h. Q2 |6 W" Y* p7 Xvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )9 u% Z0 @. E# [4 \, \! _
{& w/ V) ` u1 l1 {' W$ j& [9 s/ c3 O
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
0 a7 l9 L& y: c$ N if( bStart || !m_pItemElem )
. q" l M ]8 j# U4 @ {
" T; N% k; z' ?+ W pBtn->EnableWindow( FALSE );( m( m7 v' d' F8 F7 c
}else7 t' }* b2 h$ G2 y; g8 n
pBtn->EnableWindow( TRUE );
3 r: \; }! k( n. R' A- q if( m_pTexture )! \0 m' B, T0 n4 |: z0 h5 V
{/ t: f; E# `2 y1 T/ {2 u: R
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );) ?+ G2 E; M, V* u. J
if( wndCtrl && wndCtrl->rect )8 b' X Y( g. \) `
{
O( h2 f. [; q: A m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );/ L1 o- g- I( j& k l) Q2 t
}
' F# }! [1 I& A" N) ?' g4 o }0 B* V5 d |; i, G1 v0 x% @
}' ?9 m4 n8 k0 W$ v. c
$ A9 _. y3 y+ ^! q1 V0 lBOOL CWndAutoFood: rocess()+ P+ e% |/ P& p X* q N' F9 b
{
: U$ Y8 f K+ {( T6 t; Y if( bStart )9 }5 Z! d5 D! ]' U0 p$ _4 l/ f8 ]
{$ e/ M- L0 m. j! |/ g$ @
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ) m+ w+ `3 G# B2 e
{. |3 q7 d( H3 v6 p* b0 e- ^1 `
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
) v( n1 O: T5 e* T7 d( t+ H( A/ k g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
& o8 I! \/ Y. O }else{
( F9 G, C' M( B8 H) e1 g% H3 }6 i bStart = FALSE; |* p9 c$ _8 W
m_pItemElem = NULL;" }7 g# _* D6 N E4 Q& e9 ?
}7 K: O; `$ s+ ?) N# ?) s
}' n& S% C, a: q/ O
return TRUE;) t$ Q) \) u/ x+ k; q
} k% V1 e! Y5 U8 M
( `& U* C7 P+ M, P! B登录视频废话:8 @0 N: m' `# S( b+ \0 Y$ e
尾翼:
' Q8 y7 ~6 p, Q9 F! q
8 B( ?5 W1 p1 i8 _9 }! b- L代码:
. t7 \; v& A% [( d+ f2 |1 |3 z0 n% `2 u* X) P _" K2 X$ @9 l% S5 S- u: A
void CWorld::SetLight( BOOL bLight )
U. `+ H. [& V! Bdurch
. I( q& D: R4 ]8 pCode:! R3 W) m3 ~$ X/ Q: Z, V
void CWorld::SetLight( BOOL bLight )$ Z, j3 R9 ^$ X! M/ t$ e
{
: {- a R! z# p$ p+ i //ACE("SetLight %d \n", bLight);; }! m! n3 H4 I' H; W2 F# P
' z6 H* G! }5 U# }* y! s( R
#ifndef __WORLDSERVER , D3 g& ^$ o/ A1 b& c
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
; v' Y3 v% r+ t) U0 F CLight* pLight = NULL;
, n, ~: W# R" C C" @- o5 c+ e4 z4 R7 C. H) y* \
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
7 `. O3 l. h- N* T
: W& b, u2 h X; f- Z pLight = GetLight( "direction" );! d: }- h( m' M6 ?' ~
$ P6 K2 U8 w3 j- k, [
#if __VER >= 15 // __BS_CHANGING_ENVIR" s; V& y9 K! m+ T. r9 W
if( g_pPlayer ){! C% K; C/ r* N* v" y/ ~$ L+ \
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
6 P3 @4 Z z: y, @" s3 {2 Y if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
8 u. H) d8 R. J8 s L {
4 N2 z: a* \" c if( pLight )! |3 [# p* W9 F# ]0 _+ |: \
{
( F4 a) P4 Z. m) b/ x1 c0 _/ m- N pLight->Ambient.r = pInfo->_fAmbient[ 0 ];2 j# V1 p6 N) G r# G: ~8 w
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];1 i& x9 B5 J3 v$ K9 r
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
6 @8 [" X9 y. V. \7 s/ n6 n& r/ B m6 w1 C; r' u1 G. u# g
pLight->Specular.r = 2.0f;
; p& w) }. F6 t2 F! M pLight->Specular.g = 2.0f;: Q/ O2 z" Z$ T/ \- I7 S
pLight->Specular.b = 2.0f;+ E5 O1 b* J; R" ~3 r3 ~
5 a6 T$ ~& g" _* u( p3 o( [
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
. M/ _' L+ G9 x$ b* B; e+ |8 @ pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];* s: x/ p# W9 ~4 x* x8 e" [
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
( X) o4 R# V7 w" F+ c! e
0 H9 a9 W+ Y. A HookUpdateLight( pLight ); - t* Q" S6 a% _% p/ f$ q
5 F: i' z1 F# v memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );+ F( A) Z$ }" s& [% n3 l H
/ ^8 M% C8 v8 j; C W( X1 m pLight->Diffuse.r *= 1.2f;$ M! h2 C% ^- C" u7 m
pLight->Diffuse.g *= 1.2f;
" E0 l$ t1 ^; { pLight->Diffuse.b *= 1.2f;+ ~& e; |8 d, p8 x7 r
* J' C5 q" f3 ^! \# ?$ N
pLight->Ambient.r *= 0.8f;
2 r* h7 m+ I. M9 q pLight->Ambient.g *= 0.8f;
2 s9 l, w- @- r# j3 }; \) { pLight->Ambient.b *= 0.8f;* e2 g* q8 v' A8 e4 i7 W3 o
% E( S6 C4 [( ]; c
memcpy( &m_light, pLight, sizeof( m_light ) );
2 T! v5 F8 O# U5 {' K
7 g4 ?- b, R" @9 O" ~2 _ D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);' U5 y8 h/ q' ]. E% j
D3DXVec3Normalize(&(vecSun),&(vecSun));; z8 w: x/ Y! `
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
5 b4 }- k4 e$ o# t) U pLight->Appear( m_pd3dDevice, TRUE );8 F" B7 l# j7 `$ b7 m2 ^
2 r% f& {3 a o- i" B; ?7 K
DWORD dwR, dwG, dwB;7 d/ j. w0 E! d x3 Y
dwR = (DWORD)( pLight->Ambient.r * 255 );
: o3 R6 @ k% d, [ dwG = (DWORD)( pLight->Ambient.g * 255 );1 A5 B5 Q: H* e. W2 ~, D1 v
dwB = (DWORD)( pLight->Ambient.b * 255 ); E% S/ y! h# [" e
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );4 t! Q( E- G% d9 s, j1 d5 |1 f, X3 }
}
9 Q2 w3 _0 }: E/ y( s0 [# x* q; a) x }5 a( q& p/ G& o6 _
}1 S* e6 |- d( I
else
( ^" O; |7 r9 d8 N4 R, Y#endif 5 s: \1 f+ K5 j# C) M5 b# p* [7 p
( q$ ?- u* ~' c: R5 ?! m0 Z; b if( m_bIsIndoor )/ i' W& I2 W5 }8 ]9 D5 {
{
5 }/ T+ F2 c- q' X3 U; o7 H if( pLight ). `/ @# ~5 G. T" @( s4 u" d
{
$ b3 v5 d/ o p" r5 w1 ~ _ // à??μ oˉè*
o7 L( K2 o: P D2 |- a. E& { pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
7 s- F# h L }. T8 F pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
, P9 E2 Q/ N: d% h( {3 G9 s1 F pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
3 O( A1 W( W/ }+ |1 {
, M3 J# x2 h) m7 H3 ` // oˉè* ??à? , p e! a3 I. d8 q0 a( d' e
pLight->Specular.r = 1.0f;
" D3 Q7 j7 h! @& t s. Y0 j4 o pLight->Specular.g = 1.0f;% D- a4 u' M: @
pLight->Specular.b = 1.0f;! `9 B) D- S ~6 k2 i. ~
// àü?? oˉè*
9 a+ t, p4 a; ?: T, {1 T" Z pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;! U4 b- X D* t! c* T
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
& m- g/ w4 R P6 o pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;% l T, [1 g6 d& j5 k" |* ~
. {6 d* F* c+ @" s \; l if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.9 U h0 M6 ?% i: z8 |/ C+ `- T
{
. F v3 a# ?9 p: q/ b1 T5 o9 ] pLight->Diffuse.r *= 0.6f;
2 R) `3 E" S' N- L, I0 q pLight->Diffuse.g *= 0.6f;) O% `! E b# m. {
pLight->Diffuse.b *= 0.6f;9 o, G! d% a5 i# d; Z# X! u) L5 x
pLight->Ambient.r *= 0.7f;4 g0 v. |# }1 A; n
pLight->Ambient.g *= 0.7f;3 v7 v% U: o- t3 ]. [# g
pLight->Ambient.b *= 0.7f;
1 n) C& [* ~8 U8 F }
: g1 Q! |0 B* p7 ?; \& x& J) K6 }% ^+ X( T4 f
#if __VER >= 15 // __BS_CHANGING_ENVIR1 O% l, S( T% C$ W( m; t
if( g_pPlayer )0 j$ H/ D i/ x2 I3 h
HookUpdateLight( pLight );
i& c9 ~2 ?) N; g#endif: e4 Q: b4 B, b8 d4 c+ t/ Q+ @4 [
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
, I, C+ R5 [6 T5 X; X$ Z- @# C# b6 _- Q& M, G
pLight->Diffuse.r += 0.1f;
1 t2 M$ F: Q) [7 H4 v' d pLight->Diffuse.g += 0.1f;
! s) ?/ K, l% @( O; w/ c" ] pLight->Diffuse.b += 0.1f;+ d8 w! R8 \; H" r$ `2 X& n7 d4 j
// oˉè* ??à?
2 \1 ?: c* H7 g0 W v( }: f+ D pLight->Specular.r = 2.0f;- s# x8 Q' c; K' v V! A% e- O
pLight->Specular.g = 2.0f;, ]) m$ }2 J1 s* \6 o) n0 j* {
pLight->Specular.b = 2.0f;1 s; H; \8 h4 w5 i& W
// á?oˉ # u- e, @4 F3 c4 I6 m
pLight->Ambient.r *= 0.9f;
. ~7 n' u6 \( x; ~ pLight->Ambient.g *= 0.9f;# S0 C6 i. X6 G; C. P3 ~# g
pLight->Ambient.b *= 0.9f;3 o |5 i( @7 o7 j
K" {4 T0 _% E3 w9 b% D: h
memcpy( &m_light, pLight, sizeof( m_light ) );
+ r, H- `/ Y: p/ E1 _) V& ]1 G: G
1 @: `9 }- i- | z pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );9 h1 _" S/ @! S$ d& Y
pLight->Appear( m_pd3dDevice, TRUE );/ ~% J- k5 N8 ~7 G: G7 z; K6 o
. M1 K- K3 S& E2 p- n# r DWORD dwR, dwG, dwB;
0 f' ^7 m* n: S dwR = (DWORD)( pLight->Ambient.r * 255 );
/ P; b3 E- G% d6 ]. j+ K# m; R dwG = (DWORD)( pLight->Ambient.g * 255 );
4 E4 b0 ^, U! c$ J dwB = (DWORD)( pLight->Ambient.b * 255 );
9 R9 u8 D3 N3 [& X3 B dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 R$ {1 k" B1 v0 M( b: Z }" x7 G9 m8 d+ d$ ?
}0 n7 t/ o. X$ `
else
8 N* X% t l( \9 ^& P- g2 _ {+ m# ?* R" W) A! z" c
if( pLight )3 a& e5 N8 ?& r
{' J1 l# Q/ F+ _* U
6 r5 B$ f6 {( k; _ int nHour = 8, nMin = 0;* b* m$ {) M c4 V8 T) R% m8 v* |# _
#ifdef __CLIENT1 x& O; a$ w. V/ |; c0 s# n# {' W
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. " O) R, `5 F. F! F" e: w5 g% X$ Y5 Z$ L
nHour = g_GameTimer.m_nHour;$ Y; x( Q$ c- B b/ C; \) B" p
nMin = g_GameTimer.m_nMin ;9 O! H9 E5 k5 _7 W. B
#else
! w# T8 V8 P$ ^' {% { // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
9 V& G" V! h' v( K/ D* m4 o if( m_nLightType == 1 )
8 s) y, |9 F0 r! s$ d" w+ @ nHour = m_nLightHour;
% s: T/ n* E J; }6 r+ Q, j( v #endif
: y6 X8 G' b- W) g$ T! H nHour--;3 [7 @/ I0 K4 u. K
if( nHour < 0 ) nHour = 0;
4 N( z" q" h$ f( `* } if( nHour > 23 ) nHour = 23;
- Y* M' w( S" o6 `5 ~8 l! l( f
. Z) [0 L4 v5 w5 M //if( m_bFixedHour )
0 B7 x+ I6 V# J // nHour = m_nFixedHour, nMin = 0;) c- N! Z0 a, w3 e5 ]
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
0 n4 J% C: P" x5 ~5 P! V LIGHTCOLOR lightColor = m_k24Light[ nHour ];
2 ~% G5 ^9 \6 P7 i! Y- D; A4 H$ Y* d! p7 R( _- v' f4 I5 i
//m_lightColor = lightColorPrv;1 t# F3 i+ m4 y0 q& V
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;/ \2 |! A+ P H* O# K' B
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
+ A) _' z% G' n9 B5 x lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;& r H3 j4 q" N9 e$ ^0 O& Y
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;/ n. C8 }2 u: b7 |" _0 H
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;6 T* S0 ?. d6 f* d
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
' n0 B; p1 w9 B9 p4 ]: c // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)! l8 \7 t0 }5 D- z
7 f3 g1 N( Y) f ^' n
// à??μ oˉè*
0 E5 s2 B6 J% P pLight->Diffuse.r = lightColorPrv.r1;
" D# A, x% t; R% Q8 o pLight->Diffuse.g = lightColorPrv.g1;
+ A4 ~8 @* m4 T# T. r: y! ~$ ? pLight->Diffuse.b = lightColorPrv.b1;
+ G E5 B; i8 p // oˉè* ??à? . u/ G9 g" d5 r, N; {. J
pLight->Specular.r = 1.0f;
: B/ Q6 P; t9 o1 C3 f pLight->Specular.g = 1.0f;: [# u' _1 D+ m1 q9 W0 }% Q
pLight->Specular.b = 1.0f;5 G) U7 u- g e8 _9 r
// àü?? oˉè*
/ t$ p# B; K: E7 u# K& ~ pLight->Ambient.r = lightColorPrv.r2;
0 l, c9 l/ g: [" R7 P pLight->Ambient.g = lightColorPrv.g2;. _1 M7 b% ~/ X$ i" ]
pLight->Ambient.b = lightColorPrv.b2;3 h: q/ }# t1 u: R, B2 c6 E# T
0 S6 i8 w* d! Q0 J
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
) g* F v; F" G {
% R2 W6 z9 U5 f. P pLight->Diffuse.r *= 0.6f;
- z' Y, A/ K1 [0 M7 s3 _ Q: D7 U pLight->Diffuse.g *= 0.6f;# D' X$ ]& _6 K' Y" b8 \1 }1 g
pLight->Diffuse.b *= 0.6f;7 }" C9 f; p$ B z
pLight->Ambient.r *= 0.7f;- ^, {' Y3 L* i# ?
pLight->Ambient.g *= 0.7f;
N1 ~9 [8 R+ ~$ `' c/ C: o, d pLight->Ambient.b *= 0.7f;: e# F- i/ s) }' t, }
}
) @' U' B1 w0 j, ?+ `9 \
- W" }5 b+ o" \4 g# g#if __VER >= 15 // __BS_CHANGING_ENVIR6 t1 r: M5 F# @- e. U
if( g_pPlayer )
: K4 c1 \' {9 O, N# a% q. _ HookUpdateLight( pLight );
. a B( m1 M# T3 ~#endif* `! N" w m; V! g9 q2 y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );6 N" V4 j( c2 {# {! f& S6 e
# \/ G5 S" }$ B7 q7 x6 q/ e( o/ Q
#ifdef __YENV
9 a2 w- U4 W+ u% l: Q9 `* S pLight->Diffuse.r *= 1.1f;$ i4 c3 @1 Q6 j. G% _" Z
pLight->Diffuse.g *= 1.1f;
4 C) n f# J( o5 Q8 J2 N pLight->Diffuse.b *= 1.1f;
4 J8 K5 s1 _, W1 z // oˉè* ??à? ' \9 K& B3 [ ^$ s( K
pLight->Specular.r = 2.0f;. B- Z# x. b% a' O$ u2 g- L/ h
pLight->Specular.g = 2.0f;
1 G1 D, t3 |5 ?/ c pLight->Specular.b = 2.0f;
0 g* F* g' Y K; E3 s X5 q // á?oˉ
8 f4 w1 f' t0 M) @ pLight->Ambient.r *= 1.0f;9 l0 z' ` O$ ?0 E# R0 c, }5 i2 s! g
pLight->Ambient.g *= 1.0f;6 R- w" F# |+ l3 j. w
pLight->Ambient.b *= 1.0f;
; k$ {2 B8 \! X5 Z& @#else //__YENV/ n6 o% p. A0 e5 q) x1 x
pLight->Diffuse.r *= 1.1f;
* E# C/ ~- }5 Q7 Q v pLight->Diffuse.g *= 1.1f;
* h) b4 H! D. Q0 U2 H, h pLight->Diffuse.b *= 1.1f;2 F5 l6 @) o1 [ q1 D
// oˉè* ??à?
+ o( |1 m8 g* K4 p pLight->Specular.r = 2.0f;4 C4 p0 {" ?) I; Z% Q7 N2 {
pLight->Specular.g = 2.0f;4 P% @/ R" L) E5 h
pLight->Specular.b = 2.0f;$ L7 @( @' ]- D0 K
// á?oˉ v& b1 @- L9 m0 y( u$ y
pLight->Ambient.r *= 0.9f;
: E2 O1 X2 a4 J# m9 R" H2 o# e0 \, i pLight->Ambient.g *= 0.9f;2 D( a" N) e, D5 }; g' G! ^. _" v: E
pLight->Ambient.b *= 0.9f;9 S, b+ e/ P: v( @1 j5 A
#endif //__YENV ; \- J8 w8 `4 _' O8 Z" e3 Y+ |
+ L. L" f9 \' p6 {* x c memcpy( &m_light, pLight, sizeof( m_light ) );1 B& g- L7 _3 T$ M0 c
& q2 M, p; L% {2 G G' G
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);& B4 }, ~; ^0 T# u7 P1 o: N; J
D3DXMATRIX matTemp;
5 |+ S! t! j- y# k" p' Z6 ~ static const float CONS_VAL = 3.1415926f / 180.f; h9 d* g8 I0 I# C9 C
$ w( ]* w+ L/ l D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);( ]( n8 V! {! b8 f
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp); l2 N: @/ B& a& a. }: x" J
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
/ Z8 N x* v# O. o5 r9 P+ k1 r* Y( @ o pLight->Appear( m_pd3dDevice, TRUE );5 V" n! h0 A" C* ~
& i+ i% ]# r1 i; z; o# K7 N
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
' A- q# {5 {/ w; v( A( B // D3DXVec3Normalize(&(vecSun),&(vecSun));+ U$ {( O/ ^' X- _
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); " Q5 Y+ `7 r- I
6 F b0 i: ?6 L* x( K8 ~, j DWORD dwR, dwG, dwB;
& w9 `; t. S" b( w- A& o; o dwR = (DWORD)( pLight->Ambient.r * 255 );' x6 p1 q4 g) m
dwG = (DWORD)( pLight->Ambient.g * 255 );
x/ O" e4 ~+ a; g dwB = (DWORD)( pLight->Ambient.b * 255 );
6 H+ t8 {1 M' }# ~) }9 m& D dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
/ i- `& |( u( N0 ` }
. u/ O" o( j5 n o6 S }3 P/ t8 M+ Q1 Q L4 {- i) Z
5 F$ V" `0 V$ u \; D
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
5 \! }6 n' r% e0 k 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) );
+ _: @- m- R& I" b3 @6 _9 Z ::SetLight( bLight );
% ]" k+ ~) N" a2 M: [
$ z( t9 Z. x# i1 F( v/ U* s // ±ao? ?D?í???ó á¤à?
4 j4 c1 X( l& p m_pd3dDevice->SetMaterial( &m_baseMaterial );! b+ R+ b! X' x0 @/ K5 J6 r
. H- H$ f3 P4 D- F5 q$ M
#endif // not WORLDSERVER& r4 G! y. ^( W8 M1 A
}; ^ S6 A$ P( N5 L7 ~1 z0 D! J) ], g
并更换
" X( T" Q; c- K' i6 s8 oCode:
0 @% O; B# h+ m__FLYFF_INITPAGE_EXT
+ e- A; r6 n m: C+ Y, b4 L% C定义+ R& ~5 Z/ d1 V" |* `& q2 V+ c
" g8 v v x4 Y+ N2 ~+ E) {2 r0 G1 D) n8 k& z* Y
* X1 c3 c ^: j" K; L$ Z
6 N0 v& R+ b# }, b3 c1 w现在终于删除我的狗屁加速...+ c3 i* P+ a2 r5 V$ _ Q
8 |( p A1 h) S2 Z8 C7 W ^( i& R" D+ y# L7 n H0 w2 l4 G4 V( g+ n
: n5 Z) b5 p5 G8 S! w
|
|