|
|
食品车:8 C3 H! w$ j3 P. j
尾翼:
0 `/ A3 }$ A c6 t2 r6 I( B5 {4 ?" i4 H' m7 n* z! ^& p
代码:
; ~- y' P D E4 |* J) HCWndAutoFood::CWndAutoFood()
z/ ]- [+ Q- c* V{2 M7 Q# }5 c8 D1 V7 J
m_pItemElem = NULL;" c3 W" ]1 `! q0 P9 \4 w I
m_pTexture = NULL;
' f Y& h: i& @) T bStart = FALSE;# b2 ]1 _; {* y1 n# G
}; G* K4 y& K# T
{* [. X+ u K$ r) `; [CWndAutoFood::~CWndAutoFood()
) c/ s5 r2 i4 j{# J9 u, R c8 Y; b5 E; I6 ~
AfxMessageBox( "AutoFood ist gestorben " );7 H9 e- @) _8 s3 J4 g1 @4 d& k7 \1 ?# f
}. N& H% |9 b3 u( n8 K& S _
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
1 d6 t F' @. S! `6 ?{
0 c+ T$ l4 q! e return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
" p. n* ^" r* Y/ a}3 M+ u( `9 X: J; I: e
7 ^2 ` T& X. ~BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
% T t& |4 N6 `" h' L6 ?1 c7 p{
% Q; a" c. Y2 `# p- C' o& j2 y LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );$ M! w. A+ v" r5 C" j }
CRect rect = pWndCtrl->rect;# s8 S, A% p, p8 g3 B) }
if( rect && rect.PtInRect( point ) )- q$ S8 j& v4 A9 }. E% l1 B
{
+ O, t( `& c9 v) q; g5 Y6 k CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );" {5 X' ?3 f' h2 l/ H, S; N, d$ C
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )' K% W4 b2 [3 k N
{
7 D% J9 `; D. Y( C: ]3 }: Y1 n' J if( m_pItemElem )/ P9 ~1 e% r+ d2 `: x" l( M
{6 v: E: m9 ]% f) }
m_pItemElem = NULL;3 a" q$ ?& N" ?) X3 A/ m7 M+ b
}
$ @# x7 k, k$ h; K* H9 C6 l m_pItemElem = pItemElem;# ?6 ~' R1 ~/ Y
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
& O1 g! g% e5 u; d D; [. D }else{6 f* X! Q7 k+ N6 C: W( V# F
SetForbid( TRUE );
" h6 ?4 m7 }; J }) l' U2 n( O i+ d: W$ f+ V% u( I R) Q' C
}else{
( x( J# P8 q8 F" w SetForbid( TRUE );9 @" S( t* t- B; c$ |
}1 B: e! ^" E3 h7 b( a" |
return TRUE;0 Q0 d6 E* A+ c8 V1 `6 B# W
}1 f9 n$ V* r+ j/ }' o m- t! h
2 i" N2 _* M; w0 e: \, g! p0 H
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
* y6 E8 P6 u& z. c- F{* V3 [: r0 B6 |# F" g$ `/ M
switch( nID ). D# a l0 G( k# q" S# u
{
& [3 S2 r& Q& B4 r$ q4 F case WIDC_BUTTON3:! F! k& p2 ^! v5 }# t$ P2 ]
{* D8 f* B2 W$ ]0 I
bStart = TRUE;
' o& z% L7 ~% L8 p) X% f break;
& {+ I- |0 R+ M: j8 O$ k+ H& W }( p5 H6 _! R% R* Z
case WIDC_BUTTON4:
) n4 V1 y U2 N {
- u9 E, @) f+ U1 Q bStart = FALSE;
5 O7 w) L* ]& C/ Y! ^ break;: G, w& [7 j& W# X4 X' o6 c" |! K
}0 Z5 |6 \: N; H+ x" j2 Y. ^
}
6 p! z) l" z* ~3 s" r return CWndNeuz::OnChildNotify( message, nID, pLResult );
, `: w [: J7 j& y7 G} 3 b* Q: N! D" b
void CWndAutoFood::OnDraw( C2DRender* p2DRender ) W6 ~1 R* ?6 y/ L3 x
{
! w' R* T9 `& V7 V7 y" M5 t CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
0 ? C8 Q* D1 f( A if( bStart || !m_pItemElem )
0 F- K: k/ l5 |' d' b/ ?" O {
& w- O, [' y7 K pBtn->EnableWindow( FALSE );
# H. m8 W$ r% @# I: ]5 H }else1 k; a4 ]0 W! k" m
pBtn->EnableWindow( TRUE );/ S, c1 |; V& Q3 j3 V$ X
if( m_pTexture )- h4 b( n# z# F8 v# T0 A
{0 x% x3 x0 R3 z3 ^. {
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );7 L& t$ b8 n y2 ~* A3 a7 u* `
if( wndCtrl && wndCtrl->rect )
) D8 h+ U9 a M( B C! \ {! _9 q3 r2 W Q% j
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
# \. r; q9 U/ y9 t) l }
4 n" i. l/ ]9 k: g8 l1 S/ f }! F" F% U3 \# W3 f. B- F
}0 v, B7 {! ?" u7 D3 g
: P. y! K. e; Q0 T' ^8 QBOOL CWndAutoFood: rocess()
3 R" y4 d4 @9 q% @{
& l9 I; l# K9 h" s2 X: ? if( bStart )
& u; K. n& [) v+ I& z( ] {5 y. ^$ \9 x' A, h) ]0 E0 B
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )$ Q+ M. g$ M5 j
{1 H& K- c1 M% K9 ~
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# S+ d; e; P) _9 x3 i; }* d+ ~ g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );& G) Q- v, n9 [
}else{
. g) R7 A: d- V) g$ x bStart = FALSE;
# x$ o& J1 a6 I8 Y; S m_pItemElem = NULL;
4 Z9 C6 ~* L" M }
0 N3 @5 n; ~4 W* m- k3 @# u i' s/ a }
2 k, Q- @. d3 \& v% M return TRUE;$ a7 V+ w# g! N& p% e9 {
}
e: Y& X- R; }$ f8 e2 E
, b$ o8 [; t$ Y8 _! ^登录视频废话:
$ W3 K6 `# A0 |" _) W尾翼:
8 E2 _4 I8 [* \# t/ J$ y' ~7 ^* f! b" y* S" o$ ~
代码:2 i2 V9 }# I; D# B5 \& J
& x# [$ r4 I8 Tvoid CWorld::SetLight( BOOL bLight )6 y8 m1 n+ g9 q3 D, K I
durch/ B9 N, P9 U$ J% ]3 I3 V8 y4 s" H
Code:
$ q% l) p( H8 l1 {. {0 \void CWorld::SetLight( BOOL bLight )
a$ b2 [9 m/ n0 w# M{
, B; S3 o, W$ h //ACE("SetLight %d \n", bLight);3 p, j6 x5 L+ x: A* P
9 `! w+ l9 i; `% U) z$ k
#ifndef __WORLDSERVER
0 f! B7 l- \& {1 x0 F, w DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);0 @) e4 x' ? @3 v8 o
CLight* pLight = NULL;
K* C# m* ?9 T/ a* V0 I
9 i/ N3 w6 N& m" _ D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
7 q0 e" L7 o: _1 z T4 d" t2 A# L; T& \
pLight = GetLight( "direction" );
5 M; z9 x- J8 l9 c2 i G
" O Z- t, H5 ]8 Q9 F; m#if __VER >= 15 // __BS_CHANGING_ENVIR
" n, {8 G* S0 H% h' s# f% ~6 C if( g_pPlayer ){
8 Q. P u( {. M4 Q( I! P' j ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
2 \7 l8 Q( D2 P! v if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!- d+ t7 I2 q0 ^( \* T6 o
{
9 K; z- _- a$ _% j if( pLight )% e' k( m1 z: k, {* R0 a. N$ d A
{' p. ]7 g2 Z" x9 ?7 N% K0 a
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];) c1 _0 p. J" I! x
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];) l$ v2 R& Q( k3 N- r+ m5 ?" _
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
) Z) `. s, E4 ~0 t3 J9 Q6 r! c, k9 `+ H1 v* c- w/ H
pLight->Specular.r = 2.0f;
0 X! N; c0 D1 F; N" r pLight->Specular.g = 2.0f;! |& d; l+ N! b7 l5 Z# g
pLight->Specular.b = 2.0f;
( k- z0 ]5 Q, ]& Y- w% ^8 V$ r6 q6 x5 o - y* `" q2 r4 g- g# [/ Q3 ~9 M+ R
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];& {, c& s+ }0 S0 |3 S- w8 @ R" V
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
' ~+ Q0 C0 b { pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
% E& r- a8 h% T8 r1 q/ i! m! B
" Z) n' Z# I7 m3 t0 O8 W; }. T HookUpdateLight( pLight );
" b9 S) T8 [8 F$ o8 g/ P# X z$ r3 g- q. {
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% k |& o& F9 {+ [# D* K! V" Z7 s
1 v* m8 t2 Z" j; ?; p* \3 X" v, I pLight->Diffuse.r *= 1.2f;, I' z) u/ C" X
pLight->Diffuse.g *= 1.2f;1 Y7 W3 P6 i+ v; ?1 G: k
pLight->Diffuse.b *= 1.2f;( j5 C z: h, M; K% H) ~
) Y; E3 x$ n# m2 U. C3 w
pLight->Ambient.r *= 0.8f;- a4 [& N3 o# i! }
pLight->Ambient.g *= 0.8f;
, C& w/ t$ L! n* U9 } pLight->Ambient.b *= 0.8f;
, g! b. e: e) ?! ~& \2 y
* T& l% J5 B# A4 r0 S memcpy( &m_light, pLight, sizeof( m_light ) );% s( d. l. w( Q1 G
: I; ~" T+ V, y% f2 P D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
4 E. }/ Q% M. G6 Q- B+ q D3DXVec3Normalize(&(vecSun),&(vecSun));( T! C; w4 t2 L( R! F* l. ~
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 8 k( |' W0 K. `; e* y0 G N
pLight->Appear( m_pd3dDevice, TRUE );
0 @' B# Z9 m) ]$ A: }/ @
+ M/ t* N" R, _( W0 G2 D8 ^/ p9 \ DWORD dwR, dwG, dwB;
, H' W3 O- Q' l- k: R: p" F3 l dwR = (DWORD)( pLight->Ambient.r * 255 );
^/ f9 d# Y U; W: q5 k, } dwG = (DWORD)( pLight->Ambient.g * 255 );
/ \5 W1 A. X7 ~3 p( z dwB = (DWORD)( pLight->Ambient.b * 255 );
}$ ~* T4 E2 w9 t5 d- F$ w! | dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );# c! u2 D* o. p
}
6 s3 V7 s4 P! T; T9 h* e }4 O: M8 l4 F, I7 K
}1 l, t9 e* \8 `9 e: V* o9 [
else
5 a( m& E* q* Q+ C; K, [#endif
+ Z+ O k4 z3 M$ F, ~+ p/ p0 x* {) W4 W3 W' j1 K# d
if( m_bIsIndoor )) }: [, X6 }* Y# E0 R
{4 O! n- W! d7 A4 l* G
if( pLight )
$ R. K) N& d. M; D, m6 k# \; D { 4 u5 K) w7 F. {7 j" U- S* g
// à??μ oˉè*
1 B: ~& S, J4 o& A pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
. ^3 `- q) y: O# F' L. t pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
4 ?6 t9 y$ f; I' B2 i+ U pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
! A. h+ o; S9 ]4 e1 W5 v
1 H( X9 o$ L; d% L8 t // oˉè* ??à? $ z- }' [) A; H6 l8 {# E! Y
pLight->Specular.r = 1.0f;2 p: ^5 D# F0 \. ^: H! e
pLight->Specular.g = 1.0f;( X7 R9 I4 D; I' B; u
pLight->Specular.b = 1.0f;1 G/ j; s) `% l/ q# n
// àü?? oˉè*
3 m7 c! m" O5 H: W6 ?7 p pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
# ^7 s6 x0 Q% O: [/ V- g# z% e- k pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
+ ?( u, {- L3 F, q( W' \) D pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;3 s! h" u9 d F( l, l
. y5 {9 s& o& }" U6 V4 } if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??./ x# A# ~, a% m7 N# x; I8 o% {
{- D" B$ Z+ }7 X' V, d
pLight->Diffuse.r *= 0.6f;+ H/ u! k6 K; S; F, E/ M8 C
pLight->Diffuse.g *= 0.6f;; V. |7 C; H/ J# J
pLight->Diffuse.b *= 0.6f;6 b: e0 m0 s J0 k U
pLight->Ambient.r *= 0.7f;' V! j% M: Q9 b6 _6 B
pLight->Ambient.g *= 0.7f;' e y& x% @' [ m( e A
pLight->Ambient.b *= 0.7f;
. j6 F1 m) e- C) J4 G k3 I }4 {7 ~$ ?' O) L5 C4 ?0 V
- a4 V! j" ^+ y* R; _+ y& w
#if __VER >= 15 // __BS_CHANGING_ENVIR
! t/ T% l! a% {5 P7 C% V: t# f if( g_pPlayer )" F3 E2 \0 D1 [; Q) Y( c9 \ g5 R
HookUpdateLight( pLight );2 z, R; M, I1 C6 V( i3 X) `1 H5 k
#endif
- E' c7 c, k0 G' A/ j s memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& q/ M$ a) Z( v
2 I7 z5 v9 e7 m pLight->Diffuse.r += 0.1f;
6 r1 B" W' s. t; Z: W8 }) q+ n; M pLight->Diffuse.g += 0.1f;0 J2 h- s/ I% l5 ]) X9 a
pLight->Diffuse.b += 0.1f;) ^/ K& j1 x$ a+ [3 u, ? g
// oˉè* ??à?
2 P- @/ @2 T7 \4 z: _ pLight->Specular.r = 2.0f;
6 O. \ _$ O7 _4 F pLight->Specular.g = 2.0f;, a& a, l5 `; b4 x5 t) }
pLight->Specular.b = 2.0f;
+ `! F" L, n3 @: c8 r // á?oˉ " R0 E8 v T7 A- \$ E: P- \
pLight->Ambient.r *= 0.9f;; \" j% X) L H9 [
pLight->Ambient.g *= 0.9f;
: A0 O0 u. G) k) M5 a pLight->Ambient.b *= 0.9f;; t* z( Y! l) Z% w( O O/ p
# p! Y; i* }( u
memcpy( &m_light, pLight, sizeof( m_light ) );, V" K% q( e* s! o ?. h
% L' t8 b% @9 k; D5 n pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );; U2 A8 ]1 V' ^+ [' \" B
pLight->Appear( m_pd3dDevice, TRUE );( \9 }3 s2 M, z/ S1 S0 ]" u
8 d& ^$ V1 p- r DWORD dwR, dwG, dwB;! O$ ?3 E! ]% ]! L Z
dwR = (DWORD)( pLight->Ambient.r * 255 );
( X8 ]% H$ J# [7 D dwG = (DWORD)( pLight->Ambient.g * 255 );
6 t. e/ @! k, _2 x" ]" q# h! V% \ dwB = (DWORD)( pLight->Ambient.b * 255 );
! G( B1 S( q( M8 v8 \- j+ { dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );2 z- L9 h6 q/ u/ Q8 F& L
} K. G( ~2 H2 A. g
}
3 S1 Z+ w) E8 P3 j' o; K+ D) D5 h* M else
7 ~% n/ Z! {7 X3 D9 v8 r8 v {
/ h& F7 p: I' o. q if( pLight )
}: W% j" A8 s) j C8 _# y5 } {- V# d7 o. S1 x$ S/ X, ~5 W
6 ?2 F9 |& e2 J8 @6 y$ X: {, d
int nHour = 8, nMin = 0;
9 I: N+ D' [ F/ l* p #ifdef __CLIENT4 x) L$ `" f) @ ^8 p3 v) r# u
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
9 ~+ L4 c( q& q2 D. w7 n nHour = g_GameTimer.m_nHour;1 R8 f" C4 I v( ?7 \, M- ^
nMin = g_GameTimer.m_nMin ;4 \# `: E. Z6 s7 E. A8 g
#else- J# p# J0 y4 U0 F2 f
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.0 c* e \4 ]3 ?9 c, w7 q
if( m_nLightType == 1 )' x, L# _; W$ E1 ?: p
nHour = m_nLightHour;, x, q9 P& f: n8 x/ u
#endif
5 ]2 p" y& A+ F" j8 d- A, z; Y nHour--;* r) f0 R7 U! L6 L+ Y- P5 c9 E& G
if( nHour < 0 ) nHour = 0;3 m5 w* o; e; q! b9 l+ Z
if( nHour > 23 ) nHour = 23;; a! S5 f; @9 y6 d
6 E- }; L" \! i5 V+ R0 c6 u8 c //if( m_bFixedHour )
: T7 R# w* ~- w // nHour = m_nFixedHour, nMin = 0;% N! y0 j% P! U m: H2 i
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
# H5 Z; Q2 `$ |7 T) z5 ` LIGHTCOLOR lightColor = m_k24Light[ nHour ];0 y# g0 u- y. F$ t- R6 I
* b" Z" {$ W# n& a# t- f //m_lightColor = lightColorPrv;$ B0 Q2 P: @& R& J" i
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;( r* U9 |/ A2 F% u0 O6 M' R( p
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;) \: d' b. y6 E7 E* n. a
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;* }6 d; b% b, A7 h! x1 [% G: y
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;. @& ~5 p' L- H4 |7 I
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
/ v, b3 G: E+ p" W* K2 c lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
# ?5 i3 C/ O8 G5 Q' L // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
$ W: K, F9 _( P, }9 J7 a& V3 Y( R8 t$ X! D; \) s, H
// à??μ oˉè*
1 h7 F2 D$ b% n3 | pLight->Diffuse.r = lightColorPrv.r1;# d1 @' d$ S1 p, u# @
pLight->Diffuse.g = lightColorPrv.g1;2 w3 I2 q. s2 x0 u4 y
pLight->Diffuse.b = lightColorPrv.b1;
- S b2 s5 \& M& B ^ // oˉè* ??à? * z! X2 ]' E3 t1 A: L
pLight->Specular.r = 1.0f;6 B3 ?: z" }2 g9 W6 p7 i( T
pLight->Specular.g = 1.0f;
" f* k4 ^2 F; [ z" Y9 b pLight->Specular.b = 1.0f;$ v. q9 z* G% j; Z' R2 T' m
// àü?? oˉè*
0 P; E% N% E$ x' B* O2 q7 H1 M2 E/ M pLight->Ambient.r = lightColorPrv.r2;
* @6 j. G% N; K0 N5 K pLight->Ambient.g = lightColorPrv.g2;
0 k5 S2 ?; ~+ I8 s( X: l pLight->Ambient.b = lightColorPrv.b2;" t- x/ |; ?4 b f
6 ?- g; @& E/ e1 r/ ?) F- [
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.5 j2 V! O' f4 r
{0 h3 X: P8 r% N4 z5 A
pLight->Diffuse.r *= 0.6f;
' ]) q& [0 h; I, ]& L pLight->Diffuse.g *= 0.6f;
7 A' p$ S& n5 D; W8 ^2 i pLight->Diffuse.b *= 0.6f;" ]$ b) H" l8 V. o2 R4 ^
pLight->Ambient.r *= 0.7f;# K& n2 @2 j" _) X# O
pLight->Ambient.g *= 0.7f;
6 x; L3 ` n5 h# |% w9 \ pLight->Ambient.b *= 0.7f;
& G( e8 S, C0 o$ e( N }
2 n" @. x, p8 G- ~ - U! F- L A, D
#if __VER >= 15 // __BS_CHANGING_ENVIR
% ^. k4 O, r0 f$ M! _5 [( ^ if( g_pPlayer )
/ G- g& v6 A) T/ Z9 i! i4 o HookUpdateLight( pLight );
4 b: } e9 ?! ?$ e7 D, l+ f#endif
, L( {( A, {. N! [# t$ h4 O1 j memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ R+ S9 R& x# A3 Q" N E7 ?& x' s: x
#ifdef __YENV
$ t. u j2 m" ^( A+ t' B/ D pLight->Diffuse.r *= 1.1f;: C) R- {9 b8 X. }
pLight->Diffuse.g *= 1.1f;
. L8 @ q, y. f4 m/ h! u# m pLight->Diffuse.b *= 1.1f;
2 D- E; ^( t; Y; |( \. ?0 l4 s // oˉè* ??à? 8 H1 {" ^1 |" Q* h0 m
pLight->Specular.r = 2.0f;
0 J1 q$ k, Q3 u- w5 `3 Q6 C1 K3 O pLight->Specular.g = 2.0f;! g" L A# ~6 |# J5 I( D
pLight->Specular.b = 2.0f;4 \ [; W' @6 o& ]7 }' W$ @
// á?oˉ
) Y1 o k5 ~) ?2 O& ~6 F, W pLight->Ambient.r *= 1.0f;
h3 N: R* l8 V pLight->Ambient.g *= 1.0f;" b' _+ L! B* ~) _
pLight->Ambient.b *= 1.0f;
6 n' K- ^9 M& M. k) Y$ m+ G- `$ r8 B#else //__YENV" _& Q# o: k- q8 J, l" h/ e
pLight->Diffuse.r *= 1.1f;
+ E: A5 m6 w4 A. s. O4 N& T9 q pLight->Diffuse.g *= 1.1f;
1 \$ O5 \9 Y2 V- W0 m% g* q9 d* V pLight->Diffuse.b *= 1.1f;, b" u9 h1 A+ B+ X4 i
// oˉè* ??à?
( V% [7 o) G8 Q# X) G* | pLight->Specular.r = 2.0f;$ b% }6 {/ g, }7 a4 x
pLight->Specular.g = 2.0f;4 L) W6 X% u& V5 ?$ m/ \* G# X
pLight->Specular.b = 2.0f;; P' {6 B# [/ P4 L6 V W
// á?oˉ
: m/ X" w7 F& r+ J/ h, j( A pLight->Ambient.r *= 0.9f;& Y) A% F" Q; P4 K1 [( x
pLight->Ambient.g *= 0.9f;
' I9 _- o( l9 O" p1 H' u8 ^ pLight->Ambient.b *= 0.9f;
: ?; f6 X$ W0 X" k( P#endif //__YENV
0 O) ^8 D, _- P/ i+ v1 k2 W
' E7 \ ?7 v6 L; Q memcpy( &m_light, pLight, sizeof( m_light ) );
, N- u4 L Z) n$ h # T; H0 x; J |, M" j. N( {
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
( [1 y* N2 h% r# O; g9 x D3DXMATRIX matTemp;/ T, w9 |2 U+ H; ~" s
static const float CONS_VAL = 3.1415926f / 180.f;8 a: U8 ]$ l- t
1 w1 W9 O' X/ r H+ U D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);2 i* ]+ _2 n z9 V% M* d
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);' j8 T) \3 u' k! v( [9 G
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
' ^* V7 q& E5 f8 | pLight->Appear( m_pd3dDevice, TRUE );, R( Z* b5 R% B& O$ o5 ~ i
- l8 F+ Z. w. k // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);8 f$ A, k5 Y9 K# X3 g
// D3DXVec3Normalize(&(vecSun),&(vecSun));
) B) K4 U8 b2 }6 d" ~7 B; u3 I // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
8 i2 C( N, `% Y6 u1 K3 J9 W4 ?; t$ I8 y9 V
DWORD dwR, dwG, dwB;4 {7 S1 q9 I5 T- V f6 J6 t
dwR = (DWORD)( pLight->Ambient.r * 255 );; u' G. ~& L, s6 r6 @
dwG = (DWORD)( pLight->Ambient.g * 255 );# k+ R, Q1 }+ T7 ]" W+ \. S
dwB = (DWORD)( pLight->Ambient.b * 255 );
# Z! D' U' V/ a3 Z dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); $ u4 ?6 `$ X% l: L
}
* ] ^ e- m! @' Y }
1 a, c( P2 G" d- a% z) _# |& m m/ y
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
, x# l) S! n8 }6 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) );( @' G% V$ C! [1 Y8 G! Y# A9 L
::SetLight( bLight );
$ I1 L( d% c- g& x: u5 `* c# y+ r% t( O8 A1 ~
// ±ao? ?D?í???ó á¤à?
9 y! e6 W+ |" b2 o m_pd3dDevice->SetMaterial( &m_baseMaterial );' ]3 t7 s1 v' C Z2 K5 {3 `
3 {6 w) C g a! U& }#endif // not WORLDSERVER
" l7 m9 L3 B8 {}
3 V& {0 F8 B/ I) c4 C; C并更换9 ]$ A: I+ ^- z& o ~
Code:
! Y! C/ |' W0 v: v$ i, `7 H+ T__FLYFF_INITPAGE_EXT
* K& E9 ]) i: @7 P: H. r定义
* J4 E% Q6 m, @/ R8 d! z7 j' k$ S) O3 q) q+ r
9 @' S- [& I. h
! ? G( H, O& |6 n
$ ~6 F: P. }: Q. L* B
现在终于删除我的狗屁加速...0 A; _9 }) E0 f0 i
/ t/ _# e1 G& }- v+ h) ~0 u+ R; s! a. ~# s T1 Z+ `8 y. ~3 [
" g5 C/ I" m. j( ? |
|