|
|
食品车:! v1 n. _: x2 {6 S
尾翼:0 ^4 R: x* Q5 d, n/ W4 `8 a% P
+ P+ S! W& z, e
代码:% o4 P' M8 U( N2 _8 F
CWndAutoFood::CWndAutoFood()
" }0 h( M/ \5 P) S! K{
7 h' f3 S; l1 D) h# O m_pItemElem = NULL;
4 t; F2 a6 D6 p& C5 V6 W m_pTexture = NULL;. }8 ^# v$ O/ V6 m! }5 m: j
bStart = FALSE;1 r: N& Y/ l5 C9 `2 C, U" P
}
?" `# N" E1 d/ w- \8 b; j/ T9 a; O" [! G5 t! j
CWndAutoFood::~CWndAutoFood()
- ~) T, V* g& g. k{
! X1 O5 t, M; G( G" X AfxMessageBox( "AutoFood ist gestorben " );2 v0 ^# j* T' Y) |" n- ]9 V3 q
}
, ?7 c* Y: ?( e8 ]6 l( P4 C4 R8 {BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )/ l; j2 g* u+ T, }
{& p* O9 ]& {$ P
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
6 L6 ~6 m" A! o* H: m- y P}
: E2 d$ o6 q/ S R0 C( a) g
5 L9 u# v9 X' U4 \) M7 X- \) u1 nBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point ): z$ T4 l+ l" X8 }" l+ `
{: _1 _5 _/ c! E* N. E1 g% n& D" J) i
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
! k, r0 w) m& D/ L3 q) { CRect rect = pWndCtrl->rect;( Z% h4 v' X0 Q
if( rect && rect.PtInRect( point ) ) n8 i. A7 J* W2 k2 Q- f
{" z. U8 ]5 U/ B0 C3 z. b
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
8 v5 m4 z6 v* t# q if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD ) \- i6 f, U. E4 M
{
0 w! z$ {5 l& c& B6 C if( m_pItemElem )
' k+ I% u& C* |8 Q% N {
9 m2 M D- p. r- s( {" f5 } m_pItemElem = NULL;" m, c- \) l3 }; l3 G, B; q
}
$ O; [9 L9 y t i8 ]' X2 p6 m7 P# A m_pItemElem = pItemElem;, m O4 W' P" U6 H* l& y7 c5 r
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
" \0 ]8 ]6 [5 E. u }else{$ ~3 ~* k& s' s% ]# Y; u2 W
SetForbid( TRUE );7 B0 B9 j) \$ w
}
1 r) q' h% U8 o$ W% x }else{% b/ i O P. l9 V7 B
SetForbid( TRUE );" h; b# Q$ _2 y
}8 d* {1 D6 z; F5 r2 g* Y* d
return TRUE;, c( O$ ~. p% E# c3 G
}& |( T" O" o; w% ~3 o
% P+ K7 ~$ }" h
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )( o3 R& G& a1 T' ~& m
{9 V( o4 J6 _& X3 p) u* e
switch( nID )
) G* a+ \9 \& M( [ {
8 o/ {: m0 i4 y N- | case WIDC_BUTTON3:+ B- X7 ]3 v! _
{% a( U9 D# Q6 M- Y9 I0 @
bStart = TRUE;3 D+ K1 Z' B* V- r2 l
break;
; w) U* j4 c7 Q: i- J) z }
; r& C& z' i6 E s! v: r case WIDC_BUTTON4:4 U! [" K$ }3 O( l
{
4 L4 A8 H" {6 P0 E6 X8 B bStart = FALSE;
; M' Z+ U! o6 S! j' B break;
: V& a: l2 m9 B3 e4 b }$ W: Z5 ]( M: ]
}
1 j3 Z' t8 x5 Q: u return CWndNeuz::OnChildNotify( message, nID, pLResult );9 y# q( }" M+ Q- i5 O- t% ]; f
}
2 L6 j* e" O6 B& a b- Nvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
% ^$ a, {+ F& z{: P/ J; H& c: F8 E3 u. P0 i
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
7 D- K7 q! d& C2 w7 v+ Q# p if( bStart || !m_pItemElem )
, K% ]) T0 ~& e" l {5 l! P' A+ Q6 i/ k
pBtn->EnableWindow( FALSE );2 J7 N. @5 D, ^4 ]7 v9 t, u
}else
/ b" M0 Y& O" e5 I# s6 J pBtn->EnableWindow( TRUE );8 K7 s7 b: Q( l3 @3 q: M
if( m_pTexture )
4 ^+ w7 y; n) P; b1 i& a {+ v$ q' g: z0 ^ q$ D3 M
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );4 h+ \8 }$ D, b* ~# ?; h: i
if( wndCtrl && wndCtrl->rect )6 V# F7 M( V) v2 }! z
{
1 t! t% t4 I# U- M$ }' D m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
+ s8 b' z7 [4 m. R }
+ w# g! M! f. b! K0 v; B$ | }) y: q* g5 T9 C( u1 w# o
}
w3 z% x, U+ p R# r9 ?* a6 ?5 `6 h0 ?# q% W' d
BOOL CWndAutoFood: rocess()
/ K. ^& t7 ~, R" @, }{ ]* @- n: ]2 n1 @% w
if( bStart )
: H* c: y; l( Y+ }2 ^$ S {
9 H4 T w2 @ B4 B! e- _* H if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
( X/ C7 y+ r7 |3 |' }$ K {" t- _* o: J7 h: Z8 G
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )8 d! ]# c$ E5 e9 _
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );; i. l# Q+ J) F f
}else{2 @. V& w! z& }; p
bStart = FALSE;" g0 K E6 W% ?
m_pItemElem = NULL;5 d6 G2 d& z9 x5 h
}
8 S+ M0 b3 A$ |) L- R# P }
, J. u& B9 K* B. Z! q6 E; N3 R return TRUE;
1 \& T L1 e' d a9 ~}& T$ C' d" h7 y/ H
9 E- E/ O* s! f+ X' V登录视频废话:7 B) ^1 F( A8 A- d% n' V& _- I
尾翼:
* v- Y7 c6 ?9 q3 F0 w, p& B" L1 P2 W# N
代码:
) L3 n/ E/ A! N0 `7 ~/ j
2 @* ~( G1 s! \0 o* k/ Lvoid CWorld::SetLight( BOOL bLight )
! z" Z( G: i3 a& Gdurch4 b. k$ P2 }% ]4 B: b; y
Code:
0 s3 G/ ^9 f9 r" Hvoid CWorld::SetLight( BOOL bLight )
: h8 N+ c7 r8 l{
' Q1 q" m& T- t2 m, o0 r7 v //ACE("SetLight %d \n", bLight);' ]( K- d% D$ F
6 d) p2 F' g( u#ifndef __WORLDSERVER
9 T% _9 {, ?6 s5 L DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
7 z' B, I! b0 s CLight* pLight = NULL;
: p" {- G/ |( L! _8 ]
; C4 _! b6 n: ?3 c D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
4 K# n5 r2 @6 Z# s4 u' I4 T: W, l' }$ R$ S, Q8 @4 D
pLight = GetLight( "direction" );( e; B$ e" p5 {% R Y1 `6 n
: o+ P, T, l: Y#if __VER >= 15 // __BS_CHANGING_ENVIR
+ M) H9 {. I5 L8 B8 @# Z" n if( g_pPlayer ){
- |. T* }9 |5 I! d) u8 R ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
5 `: z4 N& |6 [0 D: N if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!) O) @9 L( t$ L* N2 e, U- T, _
{
0 c9 d. L/ ~+ b if( pLight ) n1 G" \/ p" o: f
{
5 X+ ?) z1 t. ? S pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
5 H7 [+ m, O/ X. w pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
' D) V9 c, b. g% m pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
9 f* o$ }" v; r
# z/ M5 A# X0 Z7 |( E pLight->Specular.r = 2.0f;
% X- i1 O4 S# |3 v pLight->Specular.g = 2.0f;
; j3 Q/ e& `8 E5 u1 z$ s3 g; v! Z pLight->Specular.b = 2.0f;
4 {/ d+ U- I8 q. l9 d7 H) J
" j+ N9 |; \' t5 o pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];0 [* _8 S& [. |1 w% h5 B8 C; E
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
2 }/ v* I J9 B0 x pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
+ ^- h2 E4 Q: M+ e( h! [! Y2 \4 h( @* w / H% h4 |5 Q/ U v W1 }
HookUpdateLight( pLight );
8 s+ s% O0 F% z: t; j
# E$ o; P$ ?5 j! | memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );. j- ^% @1 g) ?& x% m+ N3 E
* M1 B% k: m% d6 U# F$ g pLight->Diffuse.r *= 1.2f;- o8 b# h5 i( Q: O% F' G1 ^
pLight->Diffuse.g *= 1.2f;
6 O9 s+ z9 c/ ~ pLight->Diffuse.b *= 1.2f;
' d$ r& v& V* S
8 n( @* M' D' S6 A' W pLight->Ambient.r *= 0.8f;
+ _( k. Q( o, e0 N* i# C pLight->Ambient.g *= 0.8f;
0 o7 M- `; B( C! O pLight->Ambient.b *= 0.8f;
1 r; A0 k. ?+ f8 `: _
6 @! Y+ r& N% D9 [3 { memcpy( &m_light, pLight, sizeof( m_light ) );
3 U; B* ^/ M, v. _& {6 t( ^* @( _6 Y
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);3 ~. G0 s; g1 p% [3 {
D3DXVec3Normalize(&(vecSun),&(vecSun));
/ @6 Z4 T4 h X( Q2 L$ l pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); S$ R- H1 ]; b0 T6 i7 H# A
pLight->Appear( m_pd3dDevice, TRUE );* @3 M: }( P/ h1 L2 Q \ w+ r
. a! a" C$ _/ D( `
DWORD dwR, dwG, dwB;8 w+ w/ `8 j }+ E
dwR = (DWORD)( pLight->Ambient.r * 255 );. x2 o2 v# \, I- H0 A# y
dwG = (DWORD)( pLight->Ambient.g * 255 );
( H. f, ~8 F. L& f" h1 F dwB = (DWORD)( pLight->Ambient.b * 255 );2 [- b- L Z8 d- ?, Z* V, a" y
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );4 }! }( k3 E& _* l7 g9 _# ^
}
7 ^* d3 E. @! s4 P- c8 [ } Q& c. N) k- E
}# W+ j- C/ `1 i' Y/ U
else
l, |- @4 B6 a, h* h- o#endif
1 `6 t# b! _1 _4 l
7 b2 a/ f1 x! ^( z+ ^ z if( m_bIsIndoor )
( v3 x- e7 f8 A {
* M; l1 P% d3 q1 T) w6 n5 N if( pLight )6 d$ G/ g2 a$ V6 n
{
: r% Z' v8 m! N" {; f+ C( D/ r* m // à??μ oˉè* . g n" J$ u1 r& b" n* W5 y5 O
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
7 d0 X2 \. g; p6 {% @2 y# s9 _ pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;8 K& [# t. Q: ^( f' a9 A+ F
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;" D i0 c& c# v9 W; D* f
; \* T; J( s- \1 G
// oˉè* ??à? & T' }2 N9 V4 y: J
pLight->Specular.r = 1.0f;3 x3 k- J0 F9 x7 `& _! _" d9 r
pLight->Specular.g = 1.0f;3 j$ P) R9 U! e$ _) s" e
pLight->Specular.b = 1.0f;
# B @( a: b" ~' T* B$ T" d // àü?? oˉè* 4 n5 d8 K4 h1 w% @8 ]
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
0 _' k% c5 U, h3 y# R5 S0 I pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;# v! Y8 Z$ l( H# a" y
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;; J' o* \9 R( [! p4 B' B
5 G5 D/ T$ E* s* t4 Y5 Y
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.$ ?6 w# m4 g2 J5 P0 I0 m
{1 O( @! n2 o- N, E& D' g
pLight->Diffuse.r *= 0.6f;% K& S: M6 ~" X) C4 ]
pLight->Diffuse.g *= 0.6f;
5 J3 h" B t# Q pLight->Diffuse.b *= 0.6f;
3 l6 C1 N% F! m. c2 Z7 t$ R: b pLight->Ambient.r *= 0.7f;
* q6 Z: c4 w) S% \+ } pLight->Ambient.g *= 0.7f;
7 }5 ?* G& A- j Q pLight->Ambient.b *= 0.7f;
/ ~8 r+ }' g Q5 o2 ` }
' t8 z) b9 {; m5 D4 S( x* b6 R2 X# X1 L3 ?0 Q6 g- N) b
#if __VER >= 15 // __BS_CHANGING_ENVIR
5 g3 C! L# z- ]* j* D- F: A; Y if( g_pPlayer )
4 j$ Z. G8 a" G3 b' {1 y HookUpdateLight( pLight );
8 p2 a+ K) |- ]1 z* D9 k$ w% ~#endif0 h# w0 l8 S6 I) T4 k: J) h, \- f! \0 W) k
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) L" |9 R7 O/ O
, Q! ? z1 w" k- X( `4 e. y pLight->Diffuse.r += 0.1f;
. G; [" `( H$ p; K9 @4 | pLight->Diffuse.g += 0.1f;* M7 a8 L3 R9 G1 _& W& |+ P0 P
pLight->Diffuse.b += 0.1f;* d( ^. N1 k; l; d" k/ y' l/ O/ ~% k: c
// oˉè* ??à?
: `& M0 l. L1 v \, z: u pLight->Specular.r = 2.0f;
9 P+ g9 H* G. _# F' i pLight->Specular.g = 2.0f;1 v. c c# X7 u. L9 I/ \- i
pLight->Specular.b = 2.0f;9 n6 ]9 v6 \4 q& ]
// á?oˉ & Y. U1 N8 o& J9 R
pLight->Ambient.r *= 0.9f;3 P0 M$ Q' M9 D: \) Z- v/ V
pLight->Ambient.g *= 0.9f;
( q: P" ?& [8 G3 ^ pLight->Ambient.b *= 0.9f;/ G8 C6 y3 D$ n- W( Y; T! N, y5 m
7 a+ E9 H2 f/ Z8 Y7 e memcpy( &m_light, pLight, sizeof( m_light ) );
$ C: Q& q2 ]1 k4 L) O " |8 ~2 o5 T M4 B. E, c, D' S
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
/ j9 Y8 H: A6 [! j* s# I& X, s- s pLight->Appear( m_pd3dDevice, TRUE );
3 b' \( ]0 N9 G# \. e# y3 u
0 y: P9 L! X; p DWORD dwR, dwG, dwB;$ M' \ r" B e" [/ n; d
dwR = (DWORD)( pLight->Ambient.r * 255 );) ?6 i5 y6 ]8 g: J4 t: ^# I
dwG = (DWORD)( pLight->Ambient.g * 255 );
. R( {- H, Q# V7 N! y3 v, C dwB = (DWORD)( pLight->Ambient.b * 255 );3 ~" d/ F B% [. g7 K
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );1 z( {' L8 @/ x3 \
}; F: i7 s4 y) j- e9 M f
}
6 }8 K: a1 L# t: }/ V else5 C+ J0 t0 p% t
{
* Z+ b* s5 i: _# X y/ b if( pLight )* s1 Y, ?$ u0 W' T
{4 q+ O3 i& p& x! C' D! y
; c/ y) g% [6 W: \
int nHour = 8, nMin = 0;& `7 M$ L: n1 s" [; ^) i
#ifdef __CLIENT# d% x0 h* S$ u0 J# j
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. : I7 ]6 ?) S, W3 G9 W; ?4 b
nHour = g_GameTimer.m_nHour;
1 |+ m! G% l4 q! T+ i& v& g6 Y nMin = g_GameTimer.m_nMin ;; s2 T& {) h1 H
#else: p: E0 V- m/ C4 r; l0 Q
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
1 G8 {. L6 W, j3 P% y if( m_nLightType == 1 )% C3 r" [3 I' Z
nHour = m_nLightHour;( J+ I' m: E8 R3 U2 ~6 ~+ v
#endif
! Q/ w& {( Y; X. X8 [& M nHour--;
, p: g0 O2 e* E/ K if( nHour < 0 ) nHour = 0;2 x0 ?7 ~+ v/ a
if( nHour > 23 ) nHour = 23;
8 V! b) @1 j4 \) V% ? Q- Y* g: s) t( l6 i
//if( m_bFixedHour )
* F7 v, N, P) m( h; z // nHour = m_nFixedHour, nMin = 0;5 o( G! U3 q2 |" @- j
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
/ _% v4 F2 z- k( W0 u1 b LIGHTCOLOR lightColor = m_k24Light[ nHour ];) v; t( |+ d' M$ c$ G
8 u8 E, b9 n( u k& e
//m_lightColor = lightColorPrv;) b) ~; l5 u' j1 L8 T
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
: j/ a5 F) [ q5 i. @ lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;2 o2 _" C& X- O) H+ r! Q( W ] r
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;$ Y' x, {& n7 G; B
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;( W2 l- M1 J5 G" x+ I! r
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;$ @* H' ^3 w2 j. d
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
1 \5 K m8 X. W- M5 @- I- Y0 K/ P2 l // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol): \/ K# V( x6 N+ P" Z
3 V$ V0 J' a9 x2 v% H
// à??μ oˉè* & E$ I% A# n: M3 z, q0 h0 u
pLight->Diffuse.r = lightColorPrv.r1;
/ x' q4 w6 P9 d$ \ pLight->Diffuse.g = lightColorPrv.g1;* F3 B5 i: D: I' m9 p9 Q, R
pLight->Diffuse.b = lightColorPrv.b1;
$ Q- ^9 r* W" O // oˉè* ??à?
/ U- ^& L. B8 E* s9 J2 a pLight->Specular.r = 1.0f;
_9 C6 {4 |0 O& B3 v* f: \% x pLight->Specular.g = 1.0f;+ E/ c3 d# k G: Y* M
pLight->Specular.b = 1.0f;# E' T0 ]2 c8 t- H0 \: y
// àü?? oˉè* 0 m6 m$ z0 W+ J% f/ L0 z
pLight->Ambient.r = lightColorPrv.r2;
$ f9 N2 d. j( D/ _# |2 I+ Z pLight->Ambient.g = lightColorPrv.g2;1 {! I: ?, Z1 W2 g& b
pLight->Ambient.b = lightColorPrv.b2;" m# ^1 @9 g: R2 W. J8 u
. l2 p- D0 v! s9 {7 S if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??. F" \1 o+ G3 }' g( H
{* t2 H5 s8 i. g+ u5 L8 F( V$ v1 M1 s! z( A/ q
pLight->Diffuse.r *= 0.6f;- K9 X8 V( ^( k% [9 h
pLight->Diffuse.g *= 0.6f; K* l+ ?3 R$ J h# d
pLight->Diffuse.b *= 0.6f;; A: m% U7 A3 ^& l8 Y5 x S
pLight->Ambient.r *= 0.7f;; e; L# g' h. S
pLight->Ambient.g *= 0.7f;
0 @! O+ [5 t& r pLight->Ambient.b *= 0.7f;
8 a6 X9 _. L) n' n6 H6 @: l" I& Q }
8 W; M: |5 i$ t/ ^ ; Z* P+ J" y: Y) D) A# l: d
#if __VER >= 15 // __BS_CHANGING_ENVIR, ^" c% m% j/ R: n# O4 r H/ Z5 L
if( g_pPlayer )5 y7 e9 D9 }: i1 ?3 s5 \
HookUpdateLight( pLight ); + _! p+ ~6 \2 z0 r; m
#endif1 o6 X! E; C( J" k
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );$ |6 R6 i" {2 Z! V, Q2 ?
1 U0 ]# y7 g$ {4 K; ~5 j
#ifdef __YENV
8 ], E: m g; \: D pLight->Diffuse.r *= 1.1f;
* R, V' c- a1 b& D+ o! _6 K pLight->Diffuse.g *= 1.1f;
1 Q, F% Z( G0 j! X8 C pLight->Diffuse.b *= 1.1f;9 x+ l" s9 L2 ^3 G' ] P
// oˉè* ??à? + u1 ^6 H8 f8 A, [" I
pLight->Specular.r = 2.0f;
) d F. ]0 y. X5 p# G pLight->Specular.g = 2.0f;
* o. `4 x/ B; y1 k0 E& i2 x pLight->Specular.b = 2.0f;
- \& Q/ U# O* Z, V5 a4 u1 K# \ // á?oˉ 4 F+ y8 {& q- g, C
pLight->Ambient.r *= 1.0f;
" p1 _8 V# K) L! C- a. ]7 I& [ pLight->Ambient.g *= 1.0f;' i) k8 z- q# p: `4 R7 @4 s
pLight->Ambient.b *= 1.0f;
4 D: D9 a& V, f7 ]$ _#else //__YENV
" `7 x: d+ w* J+ P2 \4 r4 I pLight->Diffuse.r *= 1.1f;
% o' f" U3 [" \) {/ r pLight->Diffuse.g *= 1.1f;
8 i5 b* [: m, d0 {& p; V. S1 G pLight->Diffuse.b *= 1.1f;8 r8 z6 e% z1 J0 [, [" L# k
// oˉè* ??à?
0 j; [: i( I g pLight->Specular.r = 2.0f;
% a9 {( O( d, ?, b8 A0 c4 n# S& M pLight->Specular.g = 2.0f;$ B1 I- l/ J( Q' n1 W+ A0 l
pLight->Specular.b = 2.0f;% ^! S0 k( q: ?2 x" @* n5 o0 k1 k
// á?oˉ
! {( O( k( o: M% ^4 V pLight->Ambient.r *= 0.9f;0 G# ]) t! c8 t" k$ M; `0 t7 ^: F- f
pLight->Ambient.g *= 0.9f;' j/ U$ Y0 n1 `" a# \( ?
pLight->Ambient.b *= 0.9f;
' p5 i5 l( E6 Y+ e; }#endif //__YENV / R8 k8 u5 X% Y: y- Q0 l: H6 r v
Z0 ~9 I0 V. D# ^/ k" B memcpy( &m_light, pLight, sizeof( m_light ) );
$ t+ @9 h5 L/ Q4 U f$ v7 Q7 J4 G( |
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
5 }, Q% w: H9 O: c q D3DXMATRIX matTemp;
& L% m* ?; y. t" O& K: @. ` static const float CONS_VAL = 3.1415926f / 180.f;: f( m; F! _8 Q1 X! N
7 ^ T. Q# w% R6 n% i- ~
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
8 y$ r, K. e' v9 h, `( A7 i D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
* Q" g6 B( T- R; n. i pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
2 t* {0 _+ i& Y/ K$ e4 a" W pLight->Appear( m_pd3dDevice, TRUE );
1 E$ i+ _; R9 c4 O2 g: P) f2 i. B+ S/ z4 u5 F0 D
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);8 j2 r, ?$ v$ P% M# q: H
// D3DXVec3Normalize(&(vecSun),&(vecSun));
; C/ W4 a. V) `5 R; b // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
4 B/ U# Z6 n2 G' S- `
: O1 u5 ?0 ~/ C- i$ ]; j DWORD dwR, dwG, dwB;
a. A' Y4 L$ h" S dwR = (DWORD)( pLight->Ambient.r * 255 );
) ^" I2 r A' ~/ J6 ?3 W6 ~5 I dwG = (DWORD)( pLight->Ambient.g * 255 );2 h% _8 `( S+ ?( o, n
dwB = (DWORD)( pLight->Ambient.b * 255 );6 _- Y" t; g: U: l+ _6 a5 v
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); , i) N4 F% G% T6 q9 L( j
}
2 Z+ \8 C3 w h3 N5 Y3 C: N }
' N4 ~6 U* a# a& C3 ^) N# Y& d: `5 b: l* s
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );3 s9 O/ @- l" J) K4 c7 j" F
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) );3 P2 {. b j. V4 I" @" X, z6 [
::SetLight( bLight );
* p* q3 _9 c8 l. a/ c1 o3 A% k, k, @
* ^4 o0 ^8 `7 Y8 y1 z // ±ao? ?D?í???ó á¤à?
0 e2 G/ }# V2 A/ b# f- M' ? m_pd3dDevice->SetMaterial( &m_baseMaterial );( @( e) C! c+ h5 z6 A9 x
' w$ ^) u" D( g' ^#endif // not WORLDSERVER8 r3 O; i: D& W7 U3 i* |
}& Z0 q1 h( h2 y0 {/ O/ K
并更换3 i* I# _/ k# K) i) L% _" p
Code:) p" K- Y: J A. j! M) Q
__FLYFF_INITPAGE_EXT
7 K5 X. o0 t+ b4 `定义5 G+ R3 |- x# o6 m5 p
9 w5 h. X3 M* l* C
$ q( A2 Y! w: v) a
* {4 D, V* x+ i) o& Y( v
/ G; C+ ~. B6 I- e- t现在终于删除我的狗屁加速...0 \' G& c) G6 g. C ?
# o l; j, B. f R9 z5 D* d& M$ `3 ]( v
* H: W+ _% T2 u8 b) x% }3 b5 Y f8 U |
|