|
|
食品车:
( L5 t2 a1 ~& F! Y2 ]: S尾翼:0 [$ l) X" h2 M
/ d7 _7 p; X1 r. q; j. E; A* Y
代码:
& a1 j2 c/ o+ E3 `; Z) j2 d( `% nCWndAutoFood::CWndAutoFood()
' b" i8 ^& Y# T& {{
+ t+ E$ y4 T9 c, c m_pItemElem = NULL;' c+ x, s7 B% J+ c1 w' ?
m_pTexture = NULL;
. ]8 V- V8 R" O$ t. H, {5 w bStart = FALSE;8 Y/ H0 X+ j" Z8 L2 m m
}
) E& r6 i; ~& @
+ @6 u2 j6 f( ^+ {7 K# E( @CWndAutoFood::~CWndAutoFood()! i$ K- P: e: ?, O# }9 v
{
+ G! C' i' @5 m, K8 s8 k AfxMessageBox( "AutoFood ist gestorben " );
# U7 K$ f3 j) W% Y% G) p}" w; t3 s, z& ^, {0 c& o1 \
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )" h, g; R7 ^: o" j3 |, X7 q
{* y9 _- @/ ^9 [: M; T
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
& P# p+ O. Y z7 y3 @0 z1 b3 d}
% Q1 i5 q2 G! S0 s$ ^: W6 g
) a, _) [' G0 I& o9 w1 OBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
* [7 Z5 Z8 c7 |- {2 |$ l5 N{
9 J4 a+ T* {9 J LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
( W( b" I3 [) d CRect rect = pWndCtrl->rect; e* `0 [) y& }$ h9 v+ e4 H3 }9 ^+ e
if( rect && rect.PtInRect( point ) )3 F1 ~5 V& J1 R7 z* M. b
{
1 p' E4 d$ l$ [. | CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
8 g6 a! s2 S2 r- h& Y" s if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
; p' ~$ R8 T! i# B0 G% n' x {
( \; }, i7 y1 [& ?2 r! p( k$ @ if( m_pItemElem )5 A! H7 {7 k' f n0 N( l `
{
4 H6 [% K8 e, d m_pItemElem = NULL;
( g6 @( t; s3 q' i }
8 c. N/ {! e. U m_pItemElem = pItemElem;1 d) @% P: o7 U% ^2 S/ v, @+ x3 G( A
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );, s% U: a4 z- k/ c
}else{1 C( X2 ` ]3 O& V( y
SetForbid( TRUE );6 Q0 V) h2 Q9 `1 ?
}5 G) ^3 J" m& g
}else{! h9 s# [) O( Y6 O+ f" _$ ?
SetForbid( TRUE );
5 \7 B& X% f* C4 }- y- E } m( k7 F9 l8 v3 m" S5 y2 n) z4 m! |
return TRUE;
N1 Z; K1 \1 E+ x5 E4 x2 ^1 v}3 |, y' [4 [, H. o- Y: t
! S5 c. u, y; ^7 z3 l5 G
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
: _& Z$ z5 U& L{
( e. i* D5 b% A switch( nID )7 [) z ~4 h5 B
{% w/ a% [4 L5 t
case WIDC_BUTTON3:% I7 W8 [: B& W/ W+ Y
{
$ x9 a" V2 F( T0 u" _8 F" } bStart = TRUE;, o3 q% V" w2 f/ i! _
break;
3 `* j& P3 B- @8 q }
* i- G7 Q( T0 r case WIDC_BUTTON4:
( V+ U9 _; v" O- w" u5 h ^ {
+ y4 S7 Y9 |" ?5 g; A0 G% Y Y9 c bStart = FALSE;
2 W! I, _- H- g- h+ ?+ A break;5 \' W" B: T8 z& m
}" d$ n R* _' J) ]* c
}/ @6 a2 X: q4 S% v% D
return CWndNeuz::OnChildNotify( message, nID, pLResult );, I( `/ A! m7 W O' \9 J, @: k) J0 ]
} ( B* ~5 U, w* M* _
void CWndAutoFood::OnDraw( C2DRender* p2DRender ) x. a- @1 v" U0 k' B7 K& x/ _% C V' s
{
, N" `+ B+ r5 n1 i' m: E% F! S& l% o( m CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
1 }4 }1 p1 S8 `. |1 Q if( bStart || !m_pItemElem )7 O6 _) Y. b. ?% w X" m& T
{
6 l2 f% `2 \& ?$ ?" h pBtn->EnableWindow( FALSE );
$ ?& _ }/ c$ @ }else) c0 R3 \1 Y. B+ U. e
pBtn->EnableWindow( TRUE );8 u% s& K' Y/ T& E8 h8 `
if( m_pTexture )
U7 n1 x& D5 _- Z- U {
6 ~6 d; B; m6 ]& _, T* ?+ ^ LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
# }& k, v y/ a: L( M if( wndCtrl && wndCtrl->rect )
n7 f. k) w4 R8 z+ z {1 u; d D3 |0 v( ]# X4 M8 E( S1 ^
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );$ \4 W' P) o$ A# ?7 u6 b3 @9 }
}
( W3 N/ k: |: G! J% u& w4 m; Z } Y8 R" v( _% j6 o' R0 ~7 I4 p
}
! ^* J4 c+ i! c( Q4 F6 R! I% [$ ^6 r; K9 @' X0 t7 |9 n5 ?
BOOL CWndAutoFood: rocess()- b9 I+ ?: x# w
{1 g4 b, N( U7 N. \/ D! L- v
if( bStart )
/ [( j) L+ w+ x" [- U {) ~- U+ h+ v* L* n' F1 W u
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
4 U B1 V6 o5 O {
5 Z; H$ S/ I( _; h; H if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
5 Q3 ~3 U& T7 Y7 a g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
( {; [. Y. [9 a3 }" [- v }else{
3 a; d! U' I: \ P8 n; P( d! g2 j/ z bStart = FALSE;& e5 y; y1 j, r8 B" e% w! h
m_pItemElem = NULL;6 g" I, x3 a& j, e* t/ V2 O( t
}
0 M, z% q1 C3 q }
6 i: \% p! y J1 b& ? return TRUE;( [5 _; v5 E- L9 i' X
}
' w) s) |' y8 o1 v9 t
# ]3 l% I* {3 c) `8 Z/ I$ n登录视频废话:
: [) |0 X% t5 _$ i尾翼:1 Q4 Y/ Q5 n+ v6 M# v
, c+ @( G$ M0 _+ W
代码:) p5 B }, Z$ ^! }" F: w* @
! ^, a( D: t; [; U8 d5 ^void CWorld::SetLight( BOOL bLight )/ w. Z. X2 C1 j- n' b7 d9 Z
durch7 r% ~% {' h, T; D8 I% Q; A% y
Code:
+ u* L0 V5 l0 [# o/ A0 jvoid CWorld::SetLight( BOOL bLight )* x: P4 F& p+ b1 T8 x: g. J
{
8 \3 y, @( A1 {+ U //ACE("SetLight %d \n", bLight);
8 k. F- |" w. x! m6 u
. t1 |5 S. J5 e, p- e ]#ifndef __WORLDSERVER ; R2 Q. ]) G4 V
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
! j% K% ]# U' ^; V# ] k$ L2 d CLight* pLight = NULL;: T. v/ y3 w/ b
% p6 q5 n2 O+ Z+ q. F
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );+ B0 f* G- ~+ u) H
2 D1 y8 u$ ^ o) ? pLight = GetLight( "direction" );% Z5 w( x) g9 V
. V' p& O* X6 K5 v% M0 n" M. i#if __VER >= 15 // __BS_CHANGING_ENVIR% f$ a0 x+ h$ U: {+ H
if( g_pPlayer ){( a' _! I- y' a+ b6 H
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
- D: m! I1 F! E$ X$ U) h) |7 d if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
! m/ ?/ t$ d( Y+ ^9 j/ | {5 F- l. s0 h+ |
if( pLight )% T8 K$ L4 e/ e; |
{7 ^" Y5 W5 T! U! d% O$ _
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
1 J* s+ n9 F& O) Z pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
: N2 w8 t: N/ G2 C- b- D6 h pLight->Ambient.b = pInfo->_fAmbient[ 2 ];+ i* h" O* x+ |, u
' [4 l/ v) n/ F* m0 Q* {0 q0 J pLight->Specular.r = 2.0f;
9 r; i2 |5 |$ b1 }; w* R pLight->Specular.g = 2.0f;1 s$ Y; r4 o6 V' E- L9 Q: ]
pLight->Specular.b = 2.0f;
7 Y/ J5 L9 f9 {6 K! H
$ _, p, f/ z& `, V0 V pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];1 }& r5 Y/ v& q6 V0 a1 W1 @
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
% V3 t4 f- R: z: o" T/ d pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];1 N% Y) q3 z7 L; A
: B) P3 i6 s8 w5 s8 }
HookUpdateLight( pLight ); 8 U2 @" ]2 X9 z' j; N. ^
' _- X& L4 G: c$ o" Z0 j3 Z- e
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# G7 j- @! t9 q' O- O: B ; ]. d7 p. |: h
pLight->Diffuse.r *= 1.2f;. d. F& Q% O5 K
pLight->Diffuse.g *= 1.2f;
* K6 G a( U/ ^2 e" Y pLight->Diffuse.b *= 1.2f;# \( w/ ~( @+ I0 j3 B
~2 Y+ @# P( ?6 t pLight->Ambient.r *= 0.8f;
: o9 M; b$ M3 ~( ]: t% @" Z( T! x pLight->Ambient.g *= 0.8f;
6 Q; h: L. {% M2 z$ _( \# A: q pLight->Ambient.b *= 0.8f;" H/ y1 A r- T. n" H
: }1 g3 |1 Q: d8 k! ]" @ memcpy( &m_light, pLight, sizeof( m_light ) );
3 G) a b: h' `; s p" ?7 K
3 P1 ^ b7 s) ]( S, |' [ D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);/ B* N' A( B* b+ t! s5 L
D3DXVec3Normalize(&(vecSun),&(vecSun));& N6 A/ f" D$ N" G) w, p: v8 y
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 3 R4 _0 ]9 [! c
pLight->Appear( m_pd3dDevice, TRUE );2 P; Q; }2 j$ y7 z9 b. T
; e- @6 c H8 ] p. b
DWORD dwR, dwG, dwB;
: P& C; M( ^ x$ I) @' m dwR = (DWORD)( pLight->Ambient.r * 255 );
% a1 ]6 h3 I5 |' s! j dwG = (DWORD)( pLight->Ambient.g * 255 );4 }1 M2 ~" |# N$ c+ b: D5 P5 o
dwB = (DWORD)( pLight->Ambient.b * 255 );
3 |1 N) @8 |# R! {9 `" B: E dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );0 {# x8 g& d3 i% F |
}& ^3 _$ ~! F8 @2 P9 O% e1 E, s
}$ b: K" d& H7 w1 S% A
}3 p. {3 y8 l4 l* g8 ^$ @" J
else |2 H2 D3 v, V' O. u
#endif
, ~2 p+ u' x0 \' n8 Q4 w9 |% n4 d0 l4 M+ }3 R1 @4 ^2 K
if( m_bIsIndoor )
- G) M+ V, y3 `2 u6 i3 m4 J& d {
3 v' e" y8 V6 Q; q* h9 q9 h if( pLight )
* A' O3 B6 M0 G) m+ D: J* C! @ { % M* A/ p0 E$ K
// à??μ oˉè* $ T/ q7 b% U4 L; c
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;' I! m+ O7 c! }0 `
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;8 b. @% G. I8 n
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;" H/ k* N9 }6 k# J/ s
$ l0 o- w6 f* l/ }
// oˉè* ??à? " J- t0 c7 n+ s M4 ]$ ?
pLight->Specular.r = 1.0f;3 y. @& U) Q6 T
pLight->Specular.g = 1.0f;
' Q( S+ J5 w' f pLight->Specular.b = 1.0f;
( g7 @. D" n( C/ R7 w4 j3 u // àü?? oˉè*
. b' f# N6 y6 g, Z- K' _: z pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
, ]( i: ~4 X/ k1 ~- B8 l pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
: P, C, h9 R3 @( n# b9 G pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;: M" v7 R3 r% f/ m
+ W$ Z, N7 t/ s7 m8 ]7 k( E' v5 k6 b
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.2 D( m5 J4 I$ Q' A8 v
{
! |/ W/ D" x r( C2 Q pLight->Diffuse.r *= 0.6f;: I$ _0 x" v! {/ \+ Z. s% I B
pLight->Diffuse.g *= 0.6f;
6 K$ J$ U) D1 V' V pLight->Diffuse.b *= 0.6f;3 ~8 F$ t6 s; ^" S5 U
pLight->Ambient.r *= 0.7f;, D4 q6 _3 V4 L
pLight->Ambient.g *= 0.7f;2 P# e1 V9 l% u
pLight->Ambient.b *= 0.7f;
$ P- O4 V7 z5 E" W( v6 ~7 X }
9 }0 l8 f8 b) b0 p& J O8 F
/ P& F) c' w5 M' o- L/ W/ N#if __VER >= 15 // __BS_CHANGING_ENVIR, Z; N7 K4 ^! O2 r0 S8 g _- H
if( g_pPlayer )1 L% j ]) T# `( u( N
HookUpdateLight( pLight );
4 ~5 T3 {, D4 U7 t& n; y#endif" J' \$ c) c6 z/ V
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ R" H7 @" \: G3 E' u$ b5 P R8 `! r4 _6 k! z: V: D4 \
pLight->Diffuse.r += 0.1f;
% v4 C" S2 I3 N5 M# \ pLight->Diffuse.g += 0.1f;
. {& m. d. H4 \& k, J' g Q+ L7 b [& k pLight->Diffuse.b += 0.1f;' ]" [0 J$ q$ q4 e: H6 W3 _ F
// oˉè* ??à? ! `! c/ h$ a1 ]7 W N, l
pLight->Specular.r = 2.0f;
- W+ f0 Y8 I+ G' \0 Q pLight->Specular.g = 2.0f;
8 e; C/ ~4 s5 z! C* e1 X# c pLight->Specular.b = 2.0f;
3 x. k; E% \" c6 C // á?oˉ 2 J2 s+ k0 y9 Q+ q+ a
pLight->Ambient.r *= 0.9f;$ g# d. g. Q' V4 }# Y9 T; E
pLight->Ambient.g *= 0.9f;
! B. M) j; r" |$ R pLight->Ambient.b *= 0.9f;; q4 m* b: v" ~# N: M0 `
$ s' [" j( d- i' X- E
memcpy( &m_light, pLight, sizeof( m_light ) );
6 l4 t& i- N7 m& r- C
$ d3 A8 C v# X pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
6 A5 b5 s: e# J, s" c& v pLight->Appear( m_pd3dDevice, TRUE );
: m% k3 a( V" u6 X5 I% F& k
/ E) c/ c0 X' p; p; ~1 F DWORD dwR, dwG, dwB;
2 q* w. W! w4 h) C) D dwR = (DWORD)( pLight->Ambient.r * 255 );5 ^0 N9 U% C% Z" Y$ v. r- V% D5 w& a
dwG = (DWORD)( pLight->Ambient.g * 255 );
" ]% r) K# x# a- q dwB = (DWORD)( pLight->Ambient.b * 255 );
% S7 ?* g P2 ?% |" U* ? dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );8 S" A; I+ U( Z- A
}
' G @1 K& x+ r }
0 P1 R* u" \" Y( V+ i* `$ ^ else
. o+ ~0 j0 n$ f7 \& ? {
' c+ x. t: L, q if( pLight )
( _6 d' Y, D' C( R+ y' D {
0 ] G2 B4 T' J& l# b; W# t. v 6 ^, L& Y3 J0 }, E
int nHour = 8, nMin = 0;( @- v- c) t* p+ y$ \5 B
#ifdef __CLIENT% _4 i) |! a( t2 |0 E' q. C
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
5 F, l7 Z* M6 X9 Y; N6 u nHour = g_GameTimer.m_nHour;- ^" H5 Y) M* s, I
nMin = g_GameTimer.m_nMin ;
" K7 A/ f/ u* ]7 D% } #else
. G5 J5 ]/ K) X // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.5 Y9 C" z3 T* U8 k
if( m_nLightType == 1 )$ {+ {0 k! O1 V$ x( h
nHour = m_nLightHour;" G4 `# G- C1 R3 \9 f
#endif
, Y' }. M, O0 ` nHour--;; c, W* P3 ^7 F/ I# \
if( nHour < 0 ) nHour = 0;* J; M( m1 ^; U! T X
if( nHour > 23 ) nHour = 23;
6 D9 Z* T* t. [/ a) \
5 G0 t# @2 ?! Q7 e- L) P$ H //if( m_bFixedHour )
3 S( K* B2 t: a5 U1 W$ R | // nHour = m_nFixedHour, nMin = 0;" A$ m; S7 A( D
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];9 p7 e9 B& P/ g% C
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
3 Z+ @+ l4 E& l5 R
S/ x( o& a& C //m_lightColor = lightColorPrv;
! n4 [$ X I M5 T0 I lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
. i- _0 h! v) l4 S8 `' Q0 D lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
2 Y8 u/ n( h' z- q2 d; L! J% s lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;1 k, \/ ^0 `) E- X" @( x1 P
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;1 i, D5 y! V9 ~8 e8 T6 V5 K+ U, ~. Q
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
7 b- x! O( |$ S lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;; ]3 N L1 T$ u# c* c; y
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)% \$ H0 B3 q/ k4 H2 F; ^4 }/ Y
$ x6 ]6 u# s, Y/ ?" C# r7 T/ G // à??μ oˉè* & p* |7 N8 \4 ~# @# c* l( s
pLight->Diffuse.r = lightColorPrv.r1;7 I6 q. m4 @; N" j I& d7 u
pLight->Diffuse.g = lightColorPrv.g1;9 W" I8 y% t& c8 V7 P7 k( y
pLight->Diffuse.b = lightColorPrv.b1;
; `3 z0 z- z3 W' m" o2 W' m( B // oˉè* ??à? , {0 w' V+ E+ [9 A
pLight->Specular.r = 1.0f;
' i2 Q; v) k6 ^6 \ pLight->Specular.g = 1.0f;! C/ V4 r! k h1 x* j
pLight->Specular.b = 1.0f;, V- d7 P: C, _1 |# s" o, \5 A
// àü?? oˉè* 4 Q7 E9 }* |7 S8 S
pLight->Ambient.r = lightColorPrv.r2;- g# \. F$ ]# | y$ p
pLight->Ambient.g = lightColorPrv.g2;
; {" ]1 t& K* |1 H! Y8 X pLight->Ambient.b = lightColorPrv.b2;
2 o9 M( P1 u8 p4 ^ v: P# U
% ?; }/ @" Y, K+ ~# `( ^' ]- y if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
5 `3 f" A6 b8 S3 I7 y% k {( \( b9 N0 W3 h- I) X, A' ~: O4 l) z
pLight->Diffuse.r *= 0.6f;; t8 l; s8 l* D- k
pLight->Diffuse.g *= 0.6f;
: p& F2 }2 o4 T) o$ N% r pLight->Diffuse.b *= 0.6f;6 [# t) D$ m- |. b: C3 _" f
pLight->Ambient.r *= 0.7f;
8 x0 m: k4 x$ k/ f" Y pLight->Ambient.g *= 0.7f;
* K* ]* V0 B2 ?/ |0 ]2 W pLight->Ambient.b *= 0.7f;
) }* S7 ]4 h+ |0 M }' J. g" \2 [5 P: Z6 ~$ n7 {2 c9 v' t
; H. E; H* s i' ]6 x, t4 e
#if __VER >= 15 // __BS_CHANGING_ENVIR* m4 p; O# p h: Y" {2 j
if( g_pPlayer )7 i! h/ e; ?- B' |
HookUpdateLight( pLight ); ! W7 C+ v3 ], p
#endif
4 @9 G* N5 B5 I; e0 L- x9 ?2 ` memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
9 q( d/ n, }& f, X! y! t8 d3 T
5 r" L+ ]; z3 U8 A0 u9 h' A#ifdef __YENV% r" F( ]& o, S5 S9 n) O% t
pLight->Diffuse.r *= 1.1f;0 [' e8 P! m. I
pLight->Diffuse.g *= 1.1f;
1 u% z: k7 l. i pLight->Diffuse.b *= 1.1f;
% }2 S5 p# G: m" L# E // oˉè* ??à? 2 T! Z9 k# P2 p8 {+ k
pLight->Specular.r = 2.0f;# l5 I' p: U: Z! I% k. _
pLight->Specular.g = 2.0f;
9 Y/ X- U2 }" U8 M ~7 k pLight->Specular.b = 2.0f;5 z( Y6 Y( A L7 f* i [+ g
// á?oˉ / Q1 W4 u2 A5 s% V; K
pLight->Ambient.r *= 1.0f;
: r, V3 U8 o1 C1 H8 Q% e% }0 b2 T pLight->Ambient.g *= 1.0f;
* F$ a5 v I# j; r k pLight->Ambient.b *= 1.0f;* s1 q5 `- I5 x
#else //__YENV
# T- @, B3 p/ c3 T" i6 ?% g pLight->Diffuse.r *= 1.1f;+ Y) g: J& D+ G% m6 A7 P6 O
pLight->Diffuse.g *= 1.1f;6 s# ]& W- b. l9 O k
pLight->Diffuse.b *= 1.1f;
! |# i7 N) F* I // oˉè* ??à?
& v7 }+ Q# H2 N6 f, N; Y+ e6 D; k pLight->Specular.r = 2.0f;
3 Y, y1 e5 A' o, `* e, k9 V pLight->Specular.g = 2.0f;% z5 Q4 N7 `9 d/ j5 D8 ~
pLight->Specular.b = 2.0f;
0 s. p( | t/ K; [ // á?oˉ % f; Z9 O- K: A; o% q
pLight->Ambient.r *= 0.9f;
/ C# ]( k9 e$ z! f pLight->Ambient.g *= 0.9f;
8 M1 d$ `- S' ? pLight->Ambient.b *= 0.9f;
1 u# J" c ?8 J; r: u, @#endif //__YENV $ A% G' Z, S. z1 g
& @- o M! \" c+ d& W- I
memcpy( &m_light, pLight, sizeof( m_light ) );
2 X1 ]( G9 t) W4 a
w. }0 u* [% t& M' ]% b; ]# [ D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);( h" E% q8 e5 p' c$ `# u/ U( [
D3DXMATRIX matTemp;- E9 B/ N6 a9 {/ m7 F5 L) u
static const float CONS_VAL = 3.1415926f / 180.f;
( P3 H! B" Q: W/ y, b9 N4 x4 B" C6 r3 p' Y) \6 p
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
. d( _ i, @( ^ D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
) ?% g4 i2 z1 w# J3 M5 y% v pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); ; f% _/ F/ Y+ K8 S$ c
pLight->Appear( m_pd3dDevice, TRUE );
8 J" h9 F8 t+ X: ?, G. _" J
: L2 d# |! C# H% e5 J [9 k // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
. r; {4 `$ s1 U U$ v1 G // D3DXVec3Normalize(&(vecSun),&(vecSun));
# l# ]3 f: z7 h) a6 P( n# K9 O // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
+ M9 J% ]1 K- Z% i: j/ I: L7 x: o4 [4 h3 u
DWORD dwR, dwG, dwB;
! E8 J' y, @& K+ k0 S" E3 w4 r- Z3 A dwR = (DWORD)( pLight->Ambient.r * 255 );7 R) k% H$ ^/ q7 h
dwG = (DWORD)( pLight->Ambient.g * 255 );
2 j& \0 L( \2 o: N dwB = (DWORD)( pLight->Ambient.b * 255 );# O- {( D6 S; y( I0 j! O9 t, g# X
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 6 \# r! h9 G! a! ]3 N
}
& `$ f9 [) w' i! V% a7 a }
/ T' k( b3 H! Y8 B0 y2 f5 d4 r# T0 O
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );5 h% K3 F) Z" l, i6 u. }$ `8 W
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) );
% P1 B9 T. c# n2 P& J2 q ::SetLight( bLight );8 U8 @5 _7 c2 o9 A3 p
1 v, ?% S; w! P* s3 @ // ±ao? ?D?í???ó á¤à? # u5 R5 ] C2 s E# U% l, ?
m_pd3dDevice->SetMaterial( &m_baseMaterial );3 z$ B( N% p% H. {# n& E+ t* |* O
; L: W2 a2 ~& f1 I#endif // not WORLDSERVER: b! I$ }2 V& m* N5 t3 {0 J
}
- N6 P4 B& N, _+ ?9 g0 ~& P) v# B6 U并更换
+ y6 W& _( O9 m: K" |! Z6 DCode:
" e/ A: [- @0 Z2 X8 f1 a__FLYFF_INITPAGE_EXT
; j& u8 d3 h) T定义1 N* {4 m x8 g. m3 G2 g. J
/ ~) ]: E4 d8 H6 X; H5 K1 H
% g' y( t3 {' H. D d1 B: N T
- S. [% E4 V& m/ {
( c& b6 i) E6 `$ a. I, c9 C* v B现在终于删除我的狗屁加速...+ Z. O! k+ r7 K3 A. e3 o3 w6 v
" z9 K# q, L0 [+ I2 X3 q- W8 K. u7 q6 G
2 O$ K: W3 O! m, k; H3 ]
' o' A" a$ A# {' [ |
|