|
|
食品车:
3 c! l4 U V4 M/ ~2 ]( u尾翼:
7 v3 w; w, \. j! X/ t* i3 [8 A8 [% _* ~
代码:
8 B$ ?4 ~7 @: o; T5 WCWndAutoFood::CWndAutoFood()
3 M V: X5 b; I z: m* N* G{& t4 k1 ^! n5 ^: s6 L3 l9 j1 R
m_pItemElem = NULL;
% Y8 d2 m6 Z2 V8 q7 n7 W9 h/ z m_pTexture = NULL;
- y2 n, [9 |* } bStart = FALSE;0 s* @$ k/ R. v3 R
}4 X* U) ]6 y' n& e
1 k' B, d3 T( A8 o' n+ C1 L9 S
CWndAutoFood::~CWndAutoFood()
4 @2 z$ H" X$ \% d* p' t5 u, `$ C A{. E* q/ F- ^& M! {* w! w+ ]
AfxMessageBox( "AutoFood ist gestorben " );
% r1 ~. A" ?$ n ?( ^}3 N; a( y; f/ ]& `$ |1 [
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
5 Z* I7 v( V- l# I# l0 n [{. z6 \/ _3 {2 u* L! _
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );3 x" q( n+ h/ y
}) h7 C" x, g5 d2 d# ^1 }
/ Z& _, X; i7 W5 V6 U9 }+ RBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
% R, N2 I( I- m: `7 G$ J4 R{0 b+ n# P: v) u7 H3 }
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );3 e4 O( D9 T/ a! o+ M
CRect rect = pWndCtrl->rect;
, G( E( F: y( H6 g* \5 r if( rect && rect.PtInRect( point ) )
/ R. |. g( ]1 x+ q1 K {
) [, O. v7 o' }4 L CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
6 S) C. W* |: Q5 O( t" M if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
% [ d6 m6 U, H) h0 R {
- G, p X% Q/ ~/ ? if( m_pItemElem )
8 h) d; W% c" v# l' v6 g {' ]2 b$ K% c8 j* j4 O" v& c
m_pItemElem = NULL;6 ]: d' {, {0 R
}
7 P1 g' ^* O0 A' J: `) S4 z m_pItemElem = pItemElem;
( p. p7 Z) w& F: B m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
8 r; I2 c8 z1 Q0 V }else{, a% l- s# I9 v$ V! G
SetForbid( TRUE );, a* J" N! p/ l) A0 F
}
, _5 P& H/ e/ Z$ J6 T }else{
9 B0 S0 j7 z# n7 l) b SetForbid( TRUE );& }! J- h) ^+ Q+ |) L/ b+ K
}
1 R0 d1 n2 y9 N( @* f. d return TRUE;
: X9 g j3 K% g; F# |/ f}$ P/ s, n' b" q5 H) i
$ S E8 e7 Z U9 H6 V! I c j9 O
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
' w% J4 p4 {9 N{
! k5 e4 W) X/ ~0 U switch( nID )
. s% ]7 X6 n3 q7 \, t {
; v+ u- }3 n4 d* l2 [5 f case WIDC_BUTTON3:0 |' O; h1 J" f4 n8 |) g; d
{
$ P. Z5 A# |$ {, E; X& r bStart = TRUE;
7 g8 |7 ]5 u4 X7 e# L! p5 ?8 C3 X break;
+ T; |" Z7 v% U }9 ~. P0 \4 E. ^; n/ B
case WIDC_BUTTON4:
0 M$ |3 u: P6 @ {
; P7 \0 T% a. A bStart = FALSE;
' n0 S [: x6 i0 |, _* L6 i% g break;
2 p; d$ a: E/ S6 ]1 \4 O* z7 v% N }. O' b3 e8 X Z: M9 H
}( o) k! P/ A4 n( |# F# |
return CWndNeuz::OnChildNotify( message, nID, pLResult );
% _# h- h, n0 H2 J7 j7 @( h3 d}
* c- ]4 X" ^; a7 j! Evoid CWndAutoFood::OnDraw( C2DRender* p2DRender )7 x$ D6 l0 f1 {
{
. j e0 w; d# u6 i CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
6 D2 \3 C/ R4 Q5 f# M if( bStart || !m_pItemElem )2 s8 R* E7 S8 `, S# ?4 _, z: Y
{
* W+ q, W1 k) ?0 O pBtn->EnableWindow( FALSE );
4 _. d$ L: l) [: u% j1 u) E5 _8 @ }else
, n0 c5 \: e" }5 A( ?: G2 B+ [% C$ O- q pBtn->EnableWindow( TRUE );) n0 P$ E4 j, ~- c
if( m_pTexture )8 L/ g, e% a- a
{
$ Z' A9 H& c& [2 {7 {- @ LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
2 V5 h- f! i0 z6 D# C( l! c if( wndCtrl && wndCtrl->rect )
G1 p1 ]' | i3 J! R+ X7 _ {8 z# O' O! E, K& a3 v" Z9 ?
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );/ Z6 b! }! I) E$ {* f; F7 S
}) n/ v/ _. \- l- e2 _% i3 _
}; [- M; O9 n6 a; Y
}
6 x. ?: F b& v9 S) S+ d* S/ _
. d h6 {# @, gBOOL CWndAutoFood: rocess()
! x9 c" L' `/ D- f6 D# D{
8 H* W3 c9 b" s2 i if( bStart )
! d: b7 l+ s! V {
8 e; h% |/ X; W( \+ m8 H5 H0 Y& P* C) e if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
' S) v2 L7 V6 j$ p! v9 U1 \: a {
/ h* p0 }. y* Y* X1 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() )7 v5 S, _4 D3 u! J1 {8 Y5 o+ h: u
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
! n; K/ a9 @/ J, Q, c }else{% b: h5 i3 O% O" M" W! q
bStart = FALSE;+ c/ m( Y- {' b% i t/ i: y: V
m_pItemElem = NULL;
# u3 d, {" W! C4 P/ g a4 } }
# g$ u: V' g& H @, Q: v5 J; M }
( X% Y2 K$ D6 r# K% a2 I C return TRUE;
1 i, x6 {4 C ?: W6 P}% r) F4 w' ?( X5 C
/ S1 ]) P. z5 A+ b( u4 q6 c9 D! `; k
登录视频废话:
3 ~2 d- I8 t9 d% T" f尾翼:
, Z" e3 w8 | \+ u2 P( r0 M5 |2 L4 Z/ h/ E' X6 J
代码:. W- j9 Z; |" {, _- q
0 s& d) n9 ]1 X5 `1 vvoid CWorld::SetLight( BOOL bLight )3 ?7 ]( c) R8 ]/ d' S) T/ Q
durch) z% Y0 w8 T8 A8 b2 B6 w$ J. P( H
Code:- l' _# b/ H6 u {9 R
void CWorld::SetLight( BOOL bLight )
0 `( Y; e0 V. M- C1 q" ~{) t1 I/ [1 A2 S6 l5 A, M3 q
//ACE("SetLight %d \n", bLight);
% s) \* P9 J7 l P& O. J 3 Y. [& m. U3 t
#ifndef __WORLDSERVER ( G7 @( }6 i' L1 p
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);, E1 q6 a: ~. i
CLight* pLight = NULL;) u6 D2 o6 ] u8 Q* p4 [4 |1 Y
( a+ Z6 Z) D, X& w4 B) N5 l D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );3 V" ^5 V) [# J: G2 n
, D; W" F& T/ N6 j% h+ k2 l pLight = GetLight( "direction" );
& c; d% J u6 q; M8 A7 G6 k3 Y8 L+ C2 x! `% R. Q
#if __VER >= 15 // __BS_CHANGING_ENVIR: j# O" b& e8 O0 t$ a3 Y
if( g_pPlayer ){/ V" p0 r @9 C6 R$ |- ]
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );3 ~; r5 l! r2 J
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
R c# _1 r( G. _1 q* z {! R- l+ i0 Z, [: {& {7 k% Q
if( pLight )( V- \* c: w, _5 f. r3 D4 ?
{
) ~, l( |9 \5 l8 l, ~+ S pLight->Ambient.r = pInfo->_fAmbient[ 0 ];( o8 H, D0 y H3 I' }' D( _
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
, _+ V; Q% W! K: C pLight->Ambient.b = pInfo->_fAmbient[ 2 ];5 ^: n8 z+ E; X2 a3 O* J! [; Q
1 G8 R4 M- i/ e1 J. F4 |9 G
pLight->Specular.r = 2.0f;% s$ b& O. z2 Z
pLight->Specular.g = 2.0f;
$ \7 F# J. m; ^% n% W pLight->Specular.b = 2.0f;
0 p$ ^2 H0 ]" S- o. p
5 P% R5 F$ s; p; K2 p2 U8 { pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];% V, U2 L" `: l$ t
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];) A( ~8 _, k: ~ \
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];) p7 a) Y2 @8 E( K3 ^3 a) S
' I1 X: r5 t( }) g ]9 s HookUpdateLight( pLight ); % F! N* {. X0 P& Q
! P+ p- l: ^: E2 h! j memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 K: ^8 R6 n- D
. m; } O" i) Q* ?( h# S pLight->Diffuse.r *= 1.2f;
' _& s- I' m' [3 ~. ?1 j4 @ pLight->Diffuse.g *= 1.2f;' o- I1 d$ `. ~; d1 R
pLight->Diffuse.b *= 1.2f;
7 J! @ |* F r" Y* d" l
4 B& B, s) F, d9 e4 @ s pLight->Ambient.r *= 0.8f;
" ? { z+ W9 S( o pLight->Ambient.g *= 0.8f;
' ?( d+ {+ v$ ~# x pLight->Ambient.b *= 0.8f;0 i8 U- h+ T/ t/ x
y6 `" b0 y1 m! [7 B* m memcpy( &m_light, pLight, sizeof( m_light ) );, [* r% k- H" T% a
0 h9 [# y: J% { D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);0 A. |5 n! P( ]) y; w
D3DXVec3Normalize(&(vecSun),&(vecSun));
% Q* \/ J& o& c& g; g' c- h pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
' l+ H3 X0 P- ^: {+ H2 E, ^ pLight->Appear( m_pd3dDevice, TRUE );/ \6 P) Y5 u$ c3 C9 ]- k; l
. S) [6 h% |3 I% ]! [2 Q
DWORD dwR, dwG, dwB;! u1 @4 p7 [( [, {& `
dwR = (DWORD)( pLight->Ambient.r * 255 );
& d! \% G* U; }9 f" Q* A2 ` dwG = (DWORD)( pLight->Ambient.g * 255 );
7 _) ^& E- x( a& S- I+ p' a* L dwB = (DWORD)( pLight->Ambient.b * 255 );+ f5 O4 m+ Z5 b' P9 V* e( u. y
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );, ~7 p# B2 j, l7 f
}
# s* b" I/ ^4 S0 T }- P% c! ]$ K, |' |% L6 @
}& }! y. r* m: v5 |+ o2 L
else! N' J* V' t/ `* v; Z
#endif
! w& F9 g( E0 u5 ]% i, w
( H5 E6 Z% q, g& I if( m_bIsIndoor )" R C% O/ X; x# b( w+ D% N
{1 E2 m3 Q) c, }4 k S
if( pLight )! P2 v( d! S g. A4 b. N
{
8 ^; J1 E0 _* I. e# c // à??μ oˉè*
% m8 @2 D6 s- z2 d3 N. r, I pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;& d$ v, M9 K5 q
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
1 y: Y! @# S1 c4 a7 ^$ ~, k" e" B pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;- B8 B6 ^! ]5 |
) N* B* F8 f+ u2 _( X // oˉè* ??à?
* y1 {7 @: C& T; H* U" r" G pLight->Specular.r = 1.0f;
% L6 z9 L' |( `0 R0 _ pLight->Specular.g = 1.0f;; t! C& R- \6 t6 L
pLight->Specular.b = 1.0f;
8 v9 H0 n2 E- Q( V( E2 [- W$ h // àü?? oˉè*
' o7 m8 S5 e' S1 R- v pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;, o5 Y; ]0 Z7 Y# b) @7 E9 o
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;" H0 I5 {' n/ q6 N- o2 N$ x% S
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;4 H' o7 T a8 N5 q$ s
! ^# T6 z1 S: K+ Z% M6 T if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.$ h1 H7 y* F0 g" K+ G8 V+ Y! M
{
( V3 b- g$ P0 n& q* {. b) p D pLight->Diffuse.r *= 0.6f;7 u# N! s0 b: r( Q
pLight->Diffuse.g *= 0.6f;. o+ Q1 ]+ ` m: r# k' C: ?# F- b
pLight->Diffuse.b *= 0.6f;- ~2 R" G7 T* k7 e5 K9 ^. Q
pLight->Ambient.r *= 0.7f;3 ]4 ]: }, _$ U( v3 `
pLight->Ambient.g *= 0.7f;4 p* a% E; W, u/ N- P# Z7 u
pLight->Ambient.b *= 0.7f;9 G" E/ v& r, ]
}
) Z8 W3 i; ?, _- n/ G& j1 E3 }8 A- n8 y
#if __VER >= 15 // __BS_CHANGING_ENVIR* M8 k2 f+ z7 R3 T7 {2 L
if( g_pPlayer )
$ s/ k4 }" @0 [0 Z# a/ }2 O B HookUpdateLight( pLight );
2 o4 U) W$ X% s5 [2 i, Y2 V9 |#endif7 t3 c0 c" Q2 f# d' S4 ?3 c
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );2 b$ g: k$ P4 M- m1 g
3 m) P$ v/ p/ Q5 h6 A9 x) f7 j7 C
pLight->Diffuse.r += 0.1f;8 j4 D: h* g# ?1 g4 ?5 M
pLight->Diffuse.g += 0.1f;
) J; ]) Z- w% V4 F pLight->Diffuse.b += 0.1f;
+ L8 y% q/ F# x& S+ V: q \ // oˉè* ??à? 0 e$ a6 f8 \0 ]( V
pLight->Specular.r = 2.0f;
2 p* g. Q5 M8 ]+ x pLight->Specular.g = 2.0f;
9 Z: R' E7 Z4 r" z pLight->Specular.b = 2.0f;
/ r& y, r* b+ \# ^% d4 n // á?oˉ & `3 [# \1 s4 h' T' o$ v' s
pLight->Ambient.r *= 0.9f;$ Y, P: |7 E) s2 m L6 _
pLight->Ambient.g *= 0.9f;
/ a2 G- s# R# t8 N1 y pLight->Ambient.b *= 0.9f;, A9 r$ x' ]! C; R# o
[4 c: D& Z, v" Z memcpy( &m_light, pLight, sizeof( m_light ) );% r4 k; J9 Z- [- ^% Y
8 G* ^2 h) R( e6 V
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
- K) k. f4 v3 B2 ^6 f0 b; A8 P pLight->Appear( m_pd3dDevice, TRUE );. ~3 L6 D t3 f2 b
! d4 q8 T. B- p% A/ B1 `
DWORD dwR, dwG, dwB;
7 |/ _& M2 l! z& `0 H dwR = (DWORD)( pLight->Ambient.r * 255 );
4 _) r5 Z/ J$ k) z3 h6 H! b/ t dwG = (DWORD)( pLight->Ambient.g * 255 );
9 Z. B: Y% k E' B dwB = (DWORD)( pLight->Ambient.b * 255 );
; E- M& h: E; H9 j dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );% w3 s, d0 X* {- h
}
) O1 r3 D( c$ V& ^+ z2 B% ^ }
7 |9 O9 E0 b" X else
1 m0 t8 F/ W2 j+ g n {, a3 d2 F7 ^1 L$ V9 r: {
if( pLight )+ M! @1 }( O0 K3 c
{
0 i, I& ]8 n* O {; J p
1 G; V3 p4 p8 E/ x int nHour = 8, nMin = 0;' k& n2 z! F7 _0 r Y4 |/ R
#ifdef __CLIENT
4 y6 S5 w+ V$ Z! X, ~ // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. ; N/ G) U& a* o3 ]
nHour = g_GameTimer.m_nHour;
# D& f5 V& V* D0 k" {0 ?- r ? nMin = g_GameTimer.m_nMin ;$ ^7 j2 h; _. `$ L9 C5 D. }
#else
. S9 @6 E5 N* H. Q4 y+ Z // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
B# l4 A1 L, u9 Z if( m_nLightType == 1 )
2 p1 ~7 I, e& B% z4 ~3 n5 U3 F- M nHour = m_nLightHour;
9 ?% d% p6 W; W: i #endif
4 }, m6 t- ]% H nHour--;
% h- ?1 U0 i% [9 ~ r if( nHour < 0 ) nHour = 0;
/ `7 C* i; `3 @ if( nHour > 23 ) nHour = 23;
. W: v u! X! S5 B( _" M
[7 m- e0 B% ?. m+ a //if( m_bFixedHour )1 H' }& H: m& n7 u8 x. r7 u
// nHour = m_nFixedHour, nMin = 0;7 q2 n; {: U$ N: D
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];2 }8 S7 s( B1 @; _1 V7 g$ C. _' l& M
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
" T% w" s7 t8 e
! g" Y2 }. u! L( N; c5 z //m_lightColor = lightColorPrv;. C/ n0 J0 `$ ?/ l" @* ?) N* J
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
* J8 R' T: m# s& e# T1 B lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
6 B- b+ Y+ [! ?) L9 q z( V4 X/ n lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;" X* E2 f$ r! Q9 x# N
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
: h; j( S0 V, v- u" {) U+ r lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
& ~% f3 ]' k2 h. e; x) a# I9 Q lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;3 s. q1 ^+ v( k
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
9 G, x' X P+ x; Z
7 e% M! U& s/ n7 Z6 D+ W7 Z // à??μ oˉè*
8 Z8 j8 H$ ?: V, B o4 x pLight->Diffuse.r = lightColorPrv.r1;
$ E2 P. {; {& U0 F+ X+ o pLight->Diffuse.g = lightColorPrv.g1;+ g5 V( \9 u* Z5 m7 H6 ?: V
pLight->Diffuse.b = lightColorPrv.b1;+ s+ p( n. w: T4 e
// oˉè* ??à?
2 L% o& G7 ~) E$ U0 t) L pLight->Specular.r = 1.0f;
" Z; k7 ]' g8 u% Q2 e: i9 V pLight->Specular.g = 1.0f;
8 @0 n4 r" _0 C( L" j7 u pLight->Specular.b = 1.0f;9 s U" j9 C3 c( O4 E6 g+ B2 F# Y
// àü?? oˉè*
8 s+ _) K. ~$ y/ N: z pLight->Ambient.r = lightColorPrv.r2;& g5 G% l8 _& a4 b* N/ N- q R! n8 t
pLight->Ambient.g = lightColorPrv.g2;( }6 ^# Q, j. g! F1 K; y( P+ z7 f' k
pLight->Ambient.b = lightColorPrv.b2;
6 d& e& Z, f$ V" S6 S+ h( V: W8 p& W1 I- P
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
7 U& ^: C0 f6 e3 \ {
9 m/ Z9 g$ E, n- x: ?4 E- {7 _ pLight->Diffuse.r *= 0.6f;
& E' S7 e3 [, ^. J" I8 f pLight->Diffuse.g *= 0.6f;4 i7 E; r9 p# R0 D
pLight->Diffuse.b *= 0.6f;
M8 }$ W0 Y" u8 P+ M$ l pLight->Ambient.r *= 0.7f;
& G7 S2 I: w. P n& v% Z3 Q pLight->Ambient.g *= 0.7f;
4 z3 i$ M" u# ~" } pLight->Ambient.b *= 0.7f;
6 i R% H! w! \ }& m8 E2 J6 V6 R2 ^$ A$ }
2 \7 ^; z7 ~1 i6 {* g
#if __VER >= 15 // __BS_CHANGING_ENVIR7 z4 J5 r0 \- u4 H! }
if( g_pPlayer )
" X3 S% J T$ W, V( b- x/ R HookUpdateLight( pLight );
; }& {* Z& \( S& }#endif
! Z+ n% H3 p t0 Q m memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) v' x& m' J1 p; b2 B
! }7 ?0 A; F8 i7 ?0 d& p. j$ w#ifdef __YENV
8 g/ e3 }5 `2 r" }* ]: A4 O0 {+ D# i' ^ pLight->Diffuse.r *= 1.1f;% \9 L( b/ U8 E5 Z) V
pLight->Diffuse.g *= 1.1f;. l" J2 k% n, f3 I& C& t
pLight->Diffuse.b *= 1.1f;
5 n; L9 a" J! |% J // oˉè* ??à?
" ~- B' O. K6 \ pLight->Specular.r = 2.0f;4 p7 U1 m4 @/ e. D
pLight->Specular.g = 2.0f;. g; B9 D& n; _, l2 W% Y
pLight->Specular.b = 2.0f;
9 _& O3 k2 w8 v2 m1 i' F // á?oˉ
. M2 ?; r! q5 Q. ]$ j8 j! ]! ^ pLight->Ambient.r *= 1.0f;
8 M7 t1 {/ u9 E* T' o pLight->Ambient.g *= 1.0f;
* r/ Y6 k# [% p6 T5 j A5 B pLight->Ambient.b *= 1.0f;
) A6 i1 d; ]/ x, T* C' q#else //__YENV
( ?, X2 } D$ \3 H* \( S pLight->Diffuse.r *= 1.1f;9 T0 c# n: i- v# Q A# k
pLight->Diffuse.g *= 1.1f;& L% o5 z8 X( B' i: \+ ?
pLight->Diffuse.b *= 1.1f;% o |0 v. p8 f9 q6 N+ r- u0 w! R
// oˉè* ??à? * o* y2 m0 O0 U! Q, r0 {3 |
pLight->Specular.r = 2.0f;
. n- f3 C. k2 X) F4 ^6 V pLight->Specular.g = 2.0f;
9 h8 O2 r6 s! U5 ]8 p pLight->Specular.b = 2.0f; J9 B; i3 F4 u) Z0 C1 c
// á?oˉ
1 o& p3 O1 _# {9 }5 C pLight->Ambient.r *= 0.9f;
j8 y& C% z1 {2 P, I" u pLight->Ambient.g *= 0.9f;1 L3 u6 M0 ~, h" ^/ Y. S, g$ \
pLight->Ambient.b *= 0.9f;: }/ L1 C# Q% p. B2 {
#endif //__YENV 2 Z, s" H- c9 C; [3 D
; S0 D! u9 X( \& E8 B7 D memcpy( &m_light, pLight, sizeof( m_light ) );/ h: u( {* S* E6 u/ B8 k; G
. u) d# ?5 U3 s- h D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
+ G( K; S$ p$ w" w* f D3DXMATRIX matTemp;
\* D( t5 z5 k# O4 u static const float CONS_VAL = 3.1415926f / 180.f;" F7 j/ l ]& B5 z4 z
6 c4 i5 }) e# N) S/ K/ j1 D D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
: \) ]- r+ E7 }* k% p/ X3 u D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
. Q0 x3 {. [ |1 h) [ b' _ pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 7 v0 a! P/ e/ `: {
pLight->Appear( m_pd3dDevice, TRUE );
$ p- z. F& J" y y% {# \4 t9 G
g* c( ~ U( q& F: J m* t // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
7 ~. T9 M. r, u* ] // D3DXVec3Normalize(&(vecSun),&(vecSun));
6 s; H4 z C1 K# [( J$ O // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
; L ~$ p- S+ h) n$ b! d1 x
9 z( c1 R' \. ~& q x- D DWORD dwR, dwG, dwB;
~6 r5 Q2 m' Q' } P0 z dwR = (DWORD)( pLight->Ambient.r * 255 );$ c# Z3 w& l* k5 H. ?# n: c7 h V
dwG = (DWORD)( pLight->Ambient.g * 255 );: y* `1 z- ^. R, N
dwB = (DWORD)( pLight->Ambient.b * 255 );1 {% b x( y2 Z# R! N$ K
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); % R8 H$ O' R/ g4 m' W% X
}
% W1 ^, d* [" @' y. X0 K }
1 M7 g4 q4 I9 ?1 E$ J
9 I% r+ y: k0 \8 d8 Q m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );, Z8 k2 S7 o+ P! \/ r
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) );7 H0 Z3 \" W9 m- R
::SetLight( bLight );3 J& d9 H+ A( W! n& h" H
; V- [# n6 b0 | // ±ao? ?D?í???ó á¤à? - R$ Y! Y/ r" v& Z" p
m_pd3dDevice->SetMaterial( &m_baseMaterial );) `9 o) _ v: P! a, g/ o/ \
0 w8 x- W% K. q4 g
#endif // not WORLDSERVER) `% [+ p- o( s
}7 H1 I9 b6 _3 m+ P5 h
并更换
0 z+ M/ c3 |. E$ I% w8 {) p7 }Code:
4 O6 ^7 _3 L! Z: F8 J5 O8 I, I7 ]__FLYFF_INITPAGE_EXT; X @ f0 y; O' l
定义
7 Y: D- X2 z2 N. J7 Y2 `- W) m- Z+ G. F! \
`/ C2 ^* l/ q# E
3 G" U' k! j2 p$ t2 W
$ `, {" B* i6 f9 \. t/ i* h& f现在终于删除我的狗屁加速...
4 H5 q7 _% E& O- R# c. T% D, f
6 E! ~" }, G* q' E( D( d
7 N) H2 g# ]) A8 U; E
! j: B1 A S+ Q! c, E9 ` |
|