|
|
食品车:
* o6 L0 l) W7 }) |3 R# Z尾翼:) V1 Y8 @( A, I, t. y2 O" C
# F2 [* e: x- j# e# a
代码:
8 I1 X, o P+ U9 X" M" r, FCWndAutoFood::CWndAutoFood()- C8 g; v' @0 E
{
6 P. V& d6 v5 [1 b/ [0 T% } m_pItemElem = NULL;1 B" E: v" u Z5 k5 j% K% g1 j
m_pTexture = NULL;
3 B1 Y& W8 `0 @8 k! | bStart = FALSE;
5 J$ w5 {0 ?- t- Q& K7 f1 _9 P}! L: g3 x) |4 q. H' R6 i5 Z: b# o
h7 s0 Q4 s( X0 P9 `CWndAutoFood::~CWndAutoFood()& T! a* v6 j- V" f3 d* n* Z
{9 }: R1 f6 N* E* r/ E' b: \. N
AfxMessageBox( "AutoFood ist gestorben " );
, W. y$ S. s& r}
2 f1 u1 c: p' S" mBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
& o" z5 J' |8 k5 `{$ U: o4 [& j/ y0 H; J% I: ?6 v5 M
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
o' s% f/ ]% i' W}& }3 b! ^ l1 z, d- u
8 ~- G4 t0 o9 S- X
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )' f) X7 F5 i, z8 q8 g9 I, P) p
{' Y( C. W/ E+ y, d3 m; y p3 N4 ]4 j. k
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
+ b( k9 ~: v. E2 k+ [, A CRect rect = pWndCtrl->rect;
4 @$ r1 Y" w/ a+ I( x2 ?4 n8 A( |4 z7 f if( rect && rect.PtInRect( point ) )
( A0 e. s2 v, [6 ]/ x% q {8 j( e5 P" }7 `# `4 j; v7 I o# I
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );0 C- b1 z. b1 Y" [6 v1 E1 _" n0 D: o
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
) ]; c* Z3 C5 @ {
) T/ J. T0 I; ]5 S+ Z0 Y if( m_pItemElem )+ N9 u3 `/ Z" J+ ~
{3 {: N. r4 j; V8 @5 |! O) T$ J4 N. k
m_pItemElem = NULL;3 o/ M7 W# @. _
}
) n: N1 I# r! c5 \$ B7 U5 ] m_pItemElem = pItemElem;' M! [4 H( \. s' r7 r# h
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff ); B. \6 g5 h$ I. |4 w! o+ c: w
}else{ Z4 y3 W* `* |8 ^
SetForbid( TRUE ); I6 ?) E8 q* h+ T$ S- x8 l
}, m* q9 h7 V2 Q: ?
}else{
9 l) s; R3 N' I' `4 D! O/ m SetForbid( TRUE );
; u0 l% z! V; } }
2 @/ k0 m" |2 d/ L; ~) W% Y2 q" A. s return TRUE;) f6 b3 M* x; r: F! i5 [* Y
}: C: M" J" ^& \" ?6 N6 _1 |
1 L* j$ v" y7 d8 B9 Y2 v2 k& N" h. kBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
4 L0 `8 ?5 a9 q% _5 V: m* T{
8 U6 m, p4 W- \6 k9 b" G switch( nID )7 i" H8 |6 G. y& f/ Z. w4 f3 T, p, k6 b
{
9 ?" F0 P# W5 T( G+ `* z+ i, P case WIDC_BUTTON3:
) S2 _/ {8 Z8 A: Z {6 z: C5 M) T" Q% n6 X+ A, u& [
bStart = TRUE;
6 ]8 e \, I t! ?* d2 M. \& \/ H break;
: `4 x+ L7 {6 A* h: a! p }& Y# F% ^3 k9 P/ q, D# W8 t" b& E
case WIDC_BUTTON4:
* G: f* z1 v. B/ s, c I0 D {" v2 v/ d/ t3 \" y8 U* [# C
bStart = FALSE;
; S) e4 a# H/ w break;1 @4 {. ~- a. ]% U
}
3 k: n) e& z: x& B+ l _ }$ R+ i, w! O3 y6 ?
return CWndNeuz::OnChildNotify( message, nID, pLResult );3 O7 @+ q+ z% S, }) I0 M
}
8 D" n( n% {1 N5 H; A: ~2 Mvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
/ p& W' H0 O! A- J3 N{- \" \2 S/ v. h5 N' x
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );2 q3 i6 Y% L& i3 H; c* k1 H. K! s
if( bStart || !m_pItemElem )
4 r* d& V- v0 p1 p6 f {# n; |! e$ W0 G' P6 L
pBtn->EnableWindow( FALSE );
% V8 [& B% o) \5 X5 y; R: R4 l+ g( m }else
s; }/ }! m' [/ Y1 o5 p pBtn->EnableWindow( TRUE );
: a3 q: b/ O2 s& {/ P if( m_pTexture )
3 z( {" C- O+ @6 w U {; e# H, D% v$ ?: p9 e) \
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );7 h$ a+ B$ I- ?( e. |# Y8 [
if( wndCtrl && wndCtrl->rect )
8 V f6 n% p. d% i+ P/ Y {- u0 B' a w2 `8 k
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );% e% M$ s9 |/ B- ^
}" ]9 {3 r5 s' X* p/ p( k# r; O
}: T5 T7 H8 J# d3 p; x& `
}
5 x+ @8 S+ S; c, w4 k N; W4 x( I0 E) b) t
BOOL CWndAutoFood: rocess()- L3 L1 U% ^' f8 I, y! M1 b8 R
{
' i( W7 b" b, C; n if( bStart )
, Q# G3 P$ Y P9 z/ ]( s2 V6 N1 T8 u {
( X0 ?1 Y _9 u6 z5 q& m if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )0 D; F! D8 N: F& r. f
{* ~- ?" c" Y: _2 W0 h' l% d% o
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )1 L' X# B& R; O) }+ X4 }
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts ); n5 A2 V( I( o) r" b! J9 Z9 r
}else{
( r; g' p8 y5 D! V9 @7 O$ h$ E bStart = FALSE;' z$ f4 J7 m( Z7 F7 W, e' H0 K$ |
m_pItemElem = NULL;
! z1 ]; T9 w) Q" j! B' W, _ }
+ k! W' A8 d# g- M/ z# T6 o }' c( k* f5 F, q. g# \) W
return TRUE;
+ r# U; ~ A+ ^1 Z* Q1 Z5 j. O}& d" C; h# I" c
# E8 }2 K: `0 }! L" ]) }4 s. }
登录视频废话:6 f; b/ T, Q" q
尾翼:
# X; _ w* {* L0 R) L: G& V$ H; |# G6 p# Z$ T0 ?, @& v$ b9 m2 Y# J
代码:$ h0 W7 n" r7 @. A. [
9 j0 V2 q5 M- Hvoid CWorld::SetLight( BOOL bLight )/ I1 |# G7 T$ B( V5 f; `: n9 _
durch3 }2 s9 v+ `! K1 f
Code:- g5 e/ B' ]: y8 c6 h' W
void CWorld::SetLight( BOOL bLight )
m' i# U: p7 E: }) u! {/ f# u{" K9 U/ d4 a" J0 k3 _
//ACE("SetLight %d \n", bLight);$ h+ ^0 R2 p, N! \2 s! m
1 G! t) z8 u* ^5 y3 `
#ifndef __WORLDSERVER / \1 Z2 {) z( X7 c
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);: I- T- C5 ~& J
CLight* pLight = NULL;
/ a; g0 }9 O0 Q" Q1 Q2 W4 U) t) |8 r& E6 B6 n- @1 v
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
4 o& I, l: e; V- F! a4 Z
6 h" b" z) V7 G. u! \1 ?' M pLight = GetLight( "direction" );( h/ { I& d: c1 f
' e+ k( a" W! z2 k4 a2 y+ z
#if __VER >= 15 // __BS_CHANGING_ENVIR
# O9 S; g: p$ j2 O% u2 p if( g_pPlayer ){" s# i# _7 D: b& W$ e$ |
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );: h/ @- I6 [* w( V1 f' [ H. e
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
4 W* [2 u( L$ b1 z {- z% P# u/ Y/ ?# n+ u
if( pLight )
1 I/ W4 q0 v5 Y0 J0 _0 y* |) o8 _+ B {- [! [% x2 B2 Z) w- j
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];* d2 j/ G/ j. W; L; U" B
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
! E$ C" `- U2 |0 v9 I6 p pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
) C2 o& a+ r( v: b( l4 N( U8 a* o; k9 e4 }
pLight->Specular.r = 2.0f;2 V- O% ^; h4 C
pLight->Specular.g = 2.0f;/ U2 g, @# q1 a6 \- s; e
pLight->Specular.b = 2.0f;
+ v, h( x" Q, t2 a 4 `- {; y# h" Z8 `! H+ @
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];5 ^- ]5 U% e: n
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
5 |# j! @, ?0 U- E2 Q pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
1 u% M" `4 T7 h' k5 Q& t 8 J. Y' `3 S* u& v
HookUpdateLight( pLight ); 5 ?5 [1 O h2 u& k
; ? @: V7 D+ R- y" D9 s$ ~
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
' x7 m v* k$ t$ l( A
: t2 n$ ^6 r+ B% V8 ^+ _; j( w7 [ pLight->Diffuse.r *= 1.2f;
( f; E' _# b9 i, g7 z! H; }$ e$ o pLight->Diffuse.g *= 1.2f;6 `3 F8 x! D Y3 ?; z# n
pLight->Diffuse.b *= 1.2f;
# O+ J$ Q# m5 t6 d ~
* F, v. Y5 b" q* d% @' W pLight->Ambient.r *= 0.8f;
5 P1 X+ @1 S& B+ `, \0 @" @4 O pLight->Ambient.g *= 0.8f;
$ V- V! _3 q9 G* [# | pLight->Ambient.b *= 0.8f;
( J: @; k; T$ \# S; w4 {% q. ?
3 L l s4 Z# G+ j memcpy( &m_light, pLight, sizeof( m_light ) );
! _% Y+ A( F2 ?" L% ~/ \7 {4 j
: }! V7 X# H' X: B7 @+ s D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);8 D& w! m' R5 }2 [
D3DXVec3Normalize(&(vecSun),&(vecSun));, n, H* ]1 b1 Q8 l6 T8 m
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
7 n, {! u) {6 T5 s+ D pLight->Appear( m_pd3dDevice, TRUE );
7 {) A5 c/ W7 J" a 9 Y' g5 L5 d% \% o2 Z
DWORD dwR, dwG, dwB;$ i$ X5 G( e3 v; s6 K5 M% o
dwR = (DWORD)( pLight->Ambient.r * 255 );) O0 h% z2 r8 w, f: J* C D+ t# Y
dwG = (DWORD)( pLight->Ambient.g * 255 );/ m2 G: E! W) {! Y
dwB = (DWORD)( pLight->Ambient.b * 255 );
; D; s3 B3 A+ o. f, F# v dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );* j6 b4 ]3 C; o" _+ u" [
}
% N( p5 L/ [# i, h- E/ U }$ `2 z( L/ w" X l9 N
}% q, [' m! O: v3 \) O1 Q/ o
else
8 W# q: D! n1 S1 M8 C& `0 `#endif / i4 Q0 d1 h- I
4 z" l# @+ p/ C/ Y
if( m_bIsIndoor )
) Q" ?* |5 a, q {
6 u7 a" u3 R6 S: i5 @3 F7 Z" j* R if( pLight )1 v4 u# Z' t$ D' V
{
( p! S( q) t9 N5 _2 b // à??μ oˉè* 6 n( f0 C k4 y' o4 K& i* q+ U
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;" S+ k: j. G$ s- R
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;# a3 z6 q* Y: l0 o
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
7 k! G j0 I0 i
+ O6 O+ b9 ]2 s) u* S // oˉè* ??à?
1 `( y8 S+ G/ E& W pLight->Specular.r = 1.0f;
9 m9 m* K* k% [- e& o7 _ pLight->Specular.g = 1.0f;- k! s4 }! U; Z
pLight->Specular.b = 1.0f;
1 j! \/ ^7 n. a) G% P // àü?? oˉè* 0 B; _ q: f% L2 }3 r8 T) U
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;( j. {* L7 {! I. p5 ]) o
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
; q0 O9 r8 I7 G* v* g! ^: } pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
' ?1 o: \) Z4 e' I* r$ z" S
/ v1 b1 m# ~6 M- ~$ X3 T4 s if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
@7 X1 w( r+ V$ o# A- u* N; k" ` {$ g& J7 V5 k5 ?: Z
pLight->Diffuse.r *= 0.6f;
5 r9 F6 O* W" w" ~+ F! u pLight->Diffuse.g *= 0.6f;1 w* @5 Q. E" y4 a2 n. S) |
pLight->Diffuse.b *= 0.6f;
9 t2 g; Z# N, Q+ q. s( {4 } pLight->Ambient.r *= 0.7f;5 f K4 s8 Z1 ?7 x) r. d* q
pLight->Ambient.g *= 0.7f;% @' f. K- ~8 u7 l! I
pLight->Ambient.b *= 0.7f;! T( n8 K+ L6 l! B
}" y8 \/ D! w7 L4 y; H0 A1 T- N
' Q b2 B! o- C' g5 K: D4 Q; H#if __VER >= 15 // __BS_CHANGING_ENVIR$ I1 Z/ y% P2 e2 V1 a# @
if( g_pPlayer )
Q* O* B- O! l e/ B HookUpdateLight( pLight );! T3 x' |7 T2 z8 d8 P1 R
#endif0 z5 f7 H; v$ k! G/ T* f# F# Y1 O
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );/ t5 o, J1 @3 D* E' F
, ?# M. w; ^( V1 y S7 @, Y
pLight->Diffuse.r += 0.1f;7 o% E# o. z& _" _
pLight->Diffuse.g += 0.1f;! S; N! x. ^) B: k9 O* b9 ~
pLight->Diffuse.b += 0.1f;
& T7 i; {3 U S# f- L: P8 M // oˉè* ??à? ' i' r! H8 F& `4 i9 g
pLight->Specular.r = 2.0f;
+ n7 M" p7 o/ U. O pLight->Specular.g = 2.0f;: z, S; z- f+ d @8 H
pLight->Specular.b = 2.0f;
* U" q5 v7 F! h- Z. ?% l. F+ b // á?oˉ
( ]7 @+ R, r0 E8 N* p- p: r1 [ pLight->Ambient.r *= 0.9f;* D2 |( W7 i( b8 N! \$ w
pLight->Ambient.g *= 0.9f;
4 h" B3 k7 k% {( J pLight->Ambient.b *= 0.9f;
3 ]# K9 n* }- c8 S
& h% l$ Z+ @1 W5 R- S memcpy( &m_light, pLight, sizeof( m_light ) );, g7 `- j _0 Z# P" N, g
& i! W# N4 V1 l. ?- e* C' [ pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
% @/ T4 B: |( z$ s pLight->Appear( m_pd3dDevice, TRUE );- U8 G( L" y3 f- `( ^
4 K6 R' X0 ?9 Q1 L- g* r6 U
DWORD dwR, dwG, dwB;
' L6 h6 ~. T9 C: |" Z, A: V dwR = (DWORD)( pLight->Ambient.r * 255 );. p: z+ s8 M2 z7 ~. H8 ~! |
dwG = (DWORD)( pLight->Ambient.g * 255 );) S" h, _& {% O2 {
dwB = (DWORD)( pLight->Ambient.b * 255 );
. X7 A% C* L# M; G' k% h; B dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );. t, k+ r3 U' D0 w& e
}0 V7 L/ F' N* Q! z# v
}
& {. L2 R! a* W3 g else
5 G+ d6 K- d9 ?" H2 g {& M4 Q3 O) a+ ^! f: n9 F N
if( pLight )% Q0 v& b6 g; f9 B% @
{: m! w0 Y q. t2 D* j/ J+ v5 n
6 F- D0 `! Z. A: A2 y# F3 V; X
int nHour = 8, nMin = 0;, s2 \3 r" [. H8 S6 G
#ifdef __CLIENT
6 ?: g+ [( Q3 T# K; f o o // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
) T. U4 I$ I8 I# o8 B% L nHour = g_GameTimer.m_nHour;
, }, b/ x: p5 H nMin = g_GameTimer.m_nMin ;1 X, w" }: k, y Q; J6 l
#else$ X, J0 v- k5 H
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù./ s6 {# x3 Q7 ]( ^
if( m_nLightType == 1 )" w$ h7 P! @0 Z" b N
nHour = m_nLightHour;! e4 g2 i/ J- R5 b, i f4 Q: a5 m
#endif% l# F6 v' L0 C5 q; }
nHour--;9 b% r6 R1 {9 J1 E& A+ ?, a5 R1 z K
if( nHour < 0 ) nHour = 0;
) \( v$ ]" W6 F% S, h1 i/ h- A if( nHour > 23 ) nHour = 23;* [% U! G. C% |
; R4 x" ]1 E6 F' y: _1 c( b
//if( m_bFixedHour )
- l! ]* G- V# J4 a! V5 h+ e // nHour = m_nFixedHour, nMin = 0;/ H& c5 L6 t* J3 ?* E; R# x
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];- ?1 W4 Z: {$ Z+ A1 n2 `
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
6 }# L4 t" F/ T; i3 s
6 A- D/ ?2 G; [+ Q* P7 u% | //m_lightColor = lightColorPrv;! ~2 y5 l5 h8 `1 V
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;7 q- K; h, p+ f R% n
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;8 ?0 ?2 v/ g/ k Y! E1 F" h
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
1 P3 Z: |$ O0 k- ]( O lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;$ K- }$ S) L7 x* R! O
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;; c) G9 r" B( x/ d; o( w
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;- K1 N4 D# U# i+ r
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol). Q: O# j# p- H! e3 N9 s, O
! |( w6 [% v) h- K) m1 p! h
// à??μ oˉè* $ _! h0 c2 U7 _+ `: I- G* z, x3 G5 n
pLight->Diffuse.r = lightColorPrv.r1;
- ~. z" |- w5 _5 h1 e$ d5 Z1 ] pLight->Diffuse.g = lightColorPrv.g1;4 r9 ]6 e9 r- U2 K
pLight->Diffuse.b = lightColorPrv.b1;) @9 B+ [) H) \: `& h
// oˉè* ??à?
& F: j* p8 T( Y! h pLight->Specular.r = 1.0f;5 k, v2 H, G7 Y" |, U
pLight->Specular.g = 1.0f;& C* R' `5 Y4 A# E6 q
pLight->Specular.b = 1.0f;
) f8 o" o: F# U' o // àü?? oˉè* 4 Q1 i# D' ?; N A8 D4 b
pLight->Ambient.r = lightColorPrv.r2;6 s- i; P! x* B( m
pLight->Ambient.g = lightColorPrv.g2;
7 r' j: x! {: {5 i* Z pLight->Ambient.b = lightColorPrv.b2;5 P! _5 A! a; D O1 Z( ^2 b
2 s' E+ M+ d8 G6 Q) ] if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# v9 G6 H! g9 o; Q' D$ F- R {
* R9 R- ]/ X$ O0 E* b) L pLight->Diffuse.r *= 0.6f;
" s# y" S6 s* _ pLight->Diffuse.g *= 0.6f;
& h3 Y. g- X& ^- a* A7 o+ E pLight->Diffuse.b *= 0.6f;
* c" |$ a( Q( v3 m% Z6 u5 y pLight->Ambient.r *= 0.7f;- A; w# E8 l" z x7 X9 n' v, f v
pLight->Ambient.g *= 0.7f;9 J2 w* M! x' ^( D9 [
pLight->Ambient.b *= 0.7f;( C$ z) }+ R0 m D
}
! Q1 l: S8 b4 o5 F. E3 i% a ; M, r8 `. Y: d# b) N* Y
#if __VER >= 15 // __BS_CHANGING_ENVIR
- w; d* d' h3 g% b if( g_pPlayer )
7 {5 ~8 }" `& @ x2 k2 e; w' u HookUpdateLight( pLight );
4 C4 E( R! e& m#endif
+ A. |+ y) X3 A/ s memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ H3 J X4 @+ T3 ]% M8 w' R
+ i! b: r2 G* S- d7 e9 v# t#ifdef __YENV
# n; ]2 I2 H3 \: @ pLight->Diffuse.r *= 1.1f;& W* `1 H! j5 w* M2 q
pLight->Diffuse.g *= 1.1f;
2 O0 q v" \- p pLight->Diffuse.b *= 1.1f;
4 L! {- Y: I: }; r // oˉè* ??à? ; R; D v% _& p! V
pLight->Specular.r = 2.0f;
( n: h" J# |: }6 s3 @( j' B) L& e pLight->Specular.g = 2.0f;
2 R# S1 w( r. e: Y8 g pLight->Specular.b = 2.0f;8 O$ b7 b" G2 M6 s0 e. Q2 [
// á?oˉ 8 Q1 ?6 c$ ?$ s ^- X% I% N% K
pLight->Ambient.r *= 1.0f;* s/ V ~! H" V6 s. _9 b
pLight->Ambient.g *= 1.0f;
4 h2 N5 ?$ y) X$ Q pLight->Ambient.b *= 1.0f;
+ ]! y+ @$ ]3 X" O#else //__YENV
8 [8 j8 o& k" x( L" P4 ` pLight->Diffuse.r *= 1.1f;
o0 j8 t% y* h, H pLight->Diffuse.g *= 1.1f;* f) m2 X/ e* i" o3 x1 r
pLight->Diffuse.b *= 1.1f;
5 l3 Y5 H# G6 z6 v" S, U // oˉè* ??à?
9 R4 i8 B+ l, c; _. L pLight->Specular.r = 2.0f;
7 h! O; O9 c+ P9 T pLight->Specular.g = 2.0f;
R6 |4 T& h) U: O& T pLight->Specular.b = 2.0f;
, z3 w( J l) @, Z4 a8 C // á?oˉ 2 D# F# e8 J+ G$ B/ r
pLight->Ambient.r *= 0.9f;
* U0 y' U9 ]3 \) j p pLight->Ambient.g *= 0.9f;
$ ]+ y3 p% e9 q0 p* N pLight->Ambient.b *= 0.9f;+ N# B% }) }; @
#endif //__YENV 0 ~( t; g# I% f5 ?
( Y& s: ?# E6 T0 \% Y memcpy( &m_light, pLight, sizeof( m_light ) );( ]. c) ?) R1 q+ r
! ~8 G- G3 L- B) R# D$ z
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f); S) L( f* g$ v3 o
D3DXMATRIX matTemp;
_1 L4 U/ {" j, Q+ D, W9 | static const float CONS_VAL = 3.1415926f / 180.f;
" Y. x1 _1 \/ X5 I( K
# t! c7 U H! e3 | D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);& l/ J; Q7 n% @3 l3 @9 ~
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
# E: L5 T" U+ a0 s8 P pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
1 w8 x; i# A3 u" d; o$ h6 q pLight->Appear( m_pd3dDevice, TRUE );/ h; g$ g: R: v4 L
0 s% K' C W3 w9 U" m8 k // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);. Y1 T4 e( S `8 [
// D3DXVec3Normalize(&(vecSun),&(vecSun));
' Z0 W& i9 g# ~( L5 b. q2 @- [ // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
1 r$ M4 [% |5 k. f$ t0 Z% f5 c. P; E X$ M# N7 Q
DWORD dwR, dwG, dwB;# D: S3 }6 g) q6 f1 ~
dwR = (DWORD)( pLight->Ambient.r * 255 );
4 g1 {6 W1 H7 _4 S dwG = (DWORD)( pLight->Ambient.g * 255 );
( k z, N# x7 q$ @% d% k! Z) C1 F dwB = (DWORD)( pLight->Ambient.b * 255 );8 [& Z" g! C9 y
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); k9 d0 E0 j- g/ _
}
T5 ?# n- g: J% C: F5 B2 w }0 |1 ~8 B7 ^6 }& c H. G" m# S6 E
8 A* A) K# O8 I# t' z
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );, `% W) P% f4 i4 N/ n
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) );
- z. Q# |2 r: G ::SetLight( bLight );
0 P5 _0 }, U$ F$ ~2 a7 u" V; `% D8 S9 o: R
// ±ao? ?D?í???ó á¤à?
/ t' v# j9 y( ~- U ^ d% y m_pd3dDevice->SetMaterial( &m_baseMaterial );' t: Y- l5 O! j
6 a" J8 ]5 `$ T) }* |* p/ `# Z
#endif // not WORLDSERVER2 U$ J9 F' c, m: K# }6 ]
}" E9 f# P: @6 E& U$ N" S. q
并更换
( R) Z& O2 d- u$ f! \+ f! r* MCode:' T! u/ E; w# E! c
__FLYFF_INITPAGE_EXT
9 ~, R' v; W9 l2 a: J- c$ |0 C/ M6 X定义
1 W# A* x, P1 r) i6 m m; P9 V
! f' d0 Q! f; z! m5 M3 v
* _+ u5 D" d' z: o: e, ]- q
4 i! g' t& K5 q* H5 ^
/ a) T* i- ~3 t8 B现在终于删除我的狗屁加速...% b$ {$ x6 e. B
+ T( l2 H& T# R8 C, s! N+ ?
0 b8 e3 s( N6 ?6 y. S3 I( d1 B$ ?! t: K, ~' X9 _
|
|