|
|
食品车:
+ f2 G7 L6 W8 p9 Z尾翼:9 }8 b% ~4 Z. c. Z
: \# D" D; ?/ v
代码:
. _0 A! a+ ~1 F- z) PCWndAutoFood::CWndAutoFood()% T: z* Q9 _. ~
{" H, @3 K6 u% v2 v& W6 A/ M6 M; B/ `
m_pItemElem = NULL;6 G! H. ~3 T" e7 M% t" k6 }
m_pTexture = NULL;
' G) a4 |, d7 e. r9 W$ b$ f bStart = FALSE;
9 Z5 k% E- Q/ A# S; L; |" a}
: V7 V2 { R) O& s5 [- w
- Z, d' w- F% R" \- {& _CWndAutoFood::~CWndAutoFood()) J; h2 C+ u, e+ J
{
1 w7 t2 U. L# p; K: A! E# w AfxMessageBox( "AutoFood ist gestorben " );
) W2 P' s, e% ~* U; O# V2 o ]. V}; [4 @0 l' _& g r4 O
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )' G4 i3 W( l x. M& D7 D& ~0 Q4 M+ |
{& ^" @$ V$ M' k. ^1 c6 D
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );8 x) c+ r1 t+ x9 l) s
}
- e; f4 s: a( z3 u1 {8 X! O' o: y* L; w. J) O7 J# i, R1 W: R
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
+ i# @3 j5 A7 {{# `& N5 w* Z) q" e/ i4 s
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
* |8 u: S7 {7 e8 U+ I" x: D1 { CRect rect = pWndCtrl->rect;# \5 B) a+ ?: D7 x6 v" U Z* f
if( rect && rect.PtInRect( point ) )/ O! W% K: k% L1 _# w |
{) x$ T! y- E6 `2 h' a+ C
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );% t$ b# K8 H. ?, e p9 a
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )3 L2 L9 p' ?* ?( H% a+ [- }
{
( w. m. i- z2 F" m: S) T( } if( m_pItemElem )0 E, O, n9 @- ~& S. o
{) s$ ~3 p( x* ?, M9 d& H
m_pItemElem = NULL;
8 c k* j- ~7 T0 I; {' B }
- i# b9 X* ]9 [" [: R m_pItemElem = pItemElem;
; ^ i# t6 u3 K9 Y- Y m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
# t, e6 d' l1 O" h9 N3 ?" M% I }else{* Q% J+ {! n% n6 {) b$ w
SetForbid( TRUE );
* u7 h0 e* j1 m4 Q% |( t( g! ~% s }* _; M6 T9 _ ~- M0 y
}else{2 N4 I+ ]3 {9 a) O" }- u
SetForbid( TRUE );
, y0 R% \' `" F }8 l5 Z# x0 i3 _
return TRUE;, m5 o( C7 Z. m' I8 N0 M
}
; r: v- C) |% K' A" Y. x
: U0 O7 u( S8 a9 M; ?+ dBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )& G4 j. m: R8 N9 e: l R: `
{
% b# x4 _2 P% w% g6 v switch( nID )1 O: p2 _. T- N' b" Q% V! l4 v
{: F5 j$ Z) V2 o" @, ^
case WIDC_BUTTON3:
3 p* Q+ `- u6 v ]6 w {
8 | L3 ]: u- H1 e( k k- X bStart = TRUE;
& y9 b6 h) ^, j q+ O break;
( f6 L: u! ^( `1 p* c6 \5 Q4 h' W2 i }
; S2 q, w. E. i3 ^# w2 |* o case WIDC_BUTTON4:& C+ ^" N0 f0 W" m
{$ H1 |( x: T4 U: Z' Q
bStart = FALSE;7 v6 N3 L/ W+ p' Z) c
break;
9 c% f2 b$ ~8 T2 t0 l. b/ _1 { }% v, u. x# Y% v! ^
}# Y+ a, J @& t0 @1 P- ]) u
return CWndNeuz::OnChildNotify( message, nID, pLResult );
& |# o- M, {4 I# V* f' h$ ?}
' T3 W- | E- y0 pvoid CWndAutoFood::OnDraw( C2DRender* p2DRender ): Q1 ^. ?7 x8 t9 g0 s* [; n
{ C0 q. y2 B5 I! l, P) ^& V6 _ L) ~
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );, Y" i7 Q! X, K: H$ w7 U8 M
if( bStart || !m_pItemElem )
; A2 S5 ^$ W8 D2 m% {% g {
; U3 l1 I3 X+ \8 { pBtn->EnableWindow( FALSE );0 [" t& D7 u' [, A6 S5 s2 V$ D
}else3 @+ y. P! L! ]1 ?/ C4 G. i
pBtn->EnableWindow( TRUE );
T0 r+ ^ U: ?' o if( m_pTexture )
# p9 p9 I$ H5 Z/ g' _! L {* O# S' R0 i# W! x7 ^
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
8 s8 ]+ `6 S! o if( wndCtrl && wndCtrl->rect )9 Q$ P/ o* f+ r u: m
{
5 ^1 C& U3 K- M6 v$ E' q: @ m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
M x1 t7 x% i' r6 U1 |; C }
Q7 |5 w9 S8 d) j3 u }
3 y- t9 p, Z! I6 `5 d2 B}
4 P4 k1 u! U7 ]: P) p0 a8 P2 o! q: P9 J! a, K( J* G
BOOL CWndAutoFood: rocess()
# a5 ?& f: \" |* @. i{0 X; f3 R! u* r2 d+ @
if( bStart )5 }! S z& k; A/ P4 j) f
{
/ `- [/ H& P- @5 n if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
/ r8 w5 Q2 h) v" q3 D {- ?9 w3 ]& s7 c- H) C
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
' l- |! @ N# k( j g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
$ F; X! ?5 i& E. y6 a+ X* U }else{
+ m, ]9 r! z0 N1 ~ bStart = FALSE;1 E4 _1 ]3 {; d$ t/ h
m_pItemElem = NULL;
7 F, C J! y; u% e% i }) {+ ?( ] o7 w, X- k
}
: \) B1 q) p7 X' K2 [ return TRUE;
# c4 @$ r- h7 C}# x3 i6 L2 Y( q) i1 }; Z
, `5 u8 }% J. |登录视频废话:
' Y/ N; V9 B2 S6 S尾翼:3 w6 u. q0 y: x6 x: i1 O+ E
* k% n! V9 \$ R9 I# C
代码:
/ R: |$ u! y& L# S/ j2 e
% S" y1 y9 Z7 f m0 G/ |3 s# V1 }8 {void CWorld::SetLight( BOOL bLight )# h0 l+ F2 H8 C0 r3 v0 b
durch
4 V2 t% G0 R! r# y1 \# J3 X. [Code:1 u5 `, C. U+ }, h5 a$ E) \' V
void CWorld::SetLight( BOOL bLight )
8 }5 o0 k" ^' j8 \2 |; B{
, @% [4 W) M- t) E- T7 u //ACE("SetLight %d \n", bLight);, C2 n2 ]3 G/ I5 |
# j/ x& I0 X" Q7 C#ifndef __WORLDSERVER
8 i: f1 G1 R4 [7 N7 e) G% f- V DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
- K6 F0 I6 w7 i& Y5 t% K CLight* pLight = NULL; @& Z" R3 m E
7 c& h/ w* ^+ A6 T/ Q, G! r7 S
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
. B' z- R! `6 W/ @
/ b9 c# A4 r; n& B, T( L pLight = GetLight( "direction" );/ U8 c+ l, t# {. F5 V2 y! ?
2 [. V' g* Q6 Y% S5 m# B#if __VER >= 15 // __BS_CHANGING_ENVIR
& r. |1 a! ? B J/ K+ E if( g_pPlayer ){
5 S8 Z4 Z9 ^# O; t7 u% F& x ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
! Q" H) m& h5 Z! O+ T* ?2 d( g3 m if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!* ?5 a7 x* [; d+ R+ W
{5 e" u" I3 ~, x% m4 A1 |% S1 e
if( pLight )6 f8 w& `) I5 I' u+ ]$ h# h: G
{
0 _/ |* J! O) Q6 U2 {/ A0 u pLight->Ambient.r = pInfo->_fAmbient[ 0 ];$ o4 g7 G9 `) D* }& q' n
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];- D5 q5 L$ Q& g, q. }
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];% Z* W3 W2 E4 l
$ ^5 J% g/ B: g( f pLight->Specular.r = 2.0f;
( Y: U" u5 ^9 h/ I, W- {) u pLight->Specular.g = 2.0f;
& g7 O- g& j; }2 \ pLight->Specular.b = 2.0f;, l6 Q% ^, p1 b0 Z4 r+ M
$ \1 L8 V( {4 f: f( ?% l; Y0 n& w pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
r' P' H) m% a9 W pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
9 r) \5 r' A, P9 V7 j+ f& e pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
, V6 A, K5 m+ y% @$ D 5 B1 }( q6 P5 e8 d
HookUpdateLight( pLight ); " r( Z2 v/ i6 t- L* I
: `1 D6 D. Y( J. a7 u$ H+ q# y memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );% K0 X* O# Q: e) r6 n* ]1 D
) p% ~* E: Z3 p! o$ ?2 W4 b pLight->Diffuse.r *= 1.2f;- h# V# Q; n) }% R) r
pLight->Diffuse.g *= 1.2f;
% f* z- @' C; ~- M4 Y8 y, n- G pLight->Diffuse.b *= 1.2f;4 _1 I# d* _$ l9 |: o1 z
7 u& ?0 u7 @+ a {& X: j2 p9 b pLight->Ambient.r *= 0.8f;
, b: M$ { D4 r0 ? pLight->Ambient.g *= 0.8f;. t: {* S) P6 N x# Y% m8 }) P
pLight->Ambient.b *= 0.8f;
* ]+ W' g$ o' K3 L8 q! Z1 i ( W% Z. y& F" s9 m- y. \7 ^2 j
memcpy( &m_light, pLight, sizeof( m_light ) );
3 f, B. \1 v( A5 D n' e8 |% V* [6 M; N3 |& a4 `5 i
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);! V7 w5 a* b) i+ e" Z V* V2 C
D3DXVec3Normalize(&(vecSun),&(vecSun));
4 O, }# R1 U; G2 J6 _+ T pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
0 O" y9 z n G7 ~$ A% Z' B* X) g( g pLight->Appear( m_pd3dDevice, TRUE );
. w; ]& y* M7 C2 [ B' f
/ l% @; G; T" R1 L DWORD dwR, dwG, dwB;1 z6 ?4 G4 F$ x: i
dwR = (DWORD)( pLight->Ambient.r * 255 );, s, ~$ ^" `& [4 Y3 F4 w
dwG = (DWORD)( pLight->Ambient.g * 255 );
, u- B0 M( E( b' f4 G! E dwB = (DWORD)( pLight->Ambient.b * 255 );& |, `/ p V4 N' i# Q' P
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
, |. ~% w, c2 Z! _ }
6 H. s& e# X! ~ E4 V E& x* ~ }8 {0 O1 S; l8 a1 x- r) k
}
! z' ~4 w: Q# E4 R) F, Q else7 x- ]3 }/ }$ ~0 n* @
#endif
9 S* Q2 v2 a/ u0 P% `% C* u! h
* i e/ E& V! ]3 b; @ if( m_bIsIndoor )7 z6 ^1 N# c9 o: I7 ?) B7 g5 |
{
4 \4 c7 ]+ N* s6 v& C* F, O if( pLight )
9 Y; S% w/ S3 u* j { + Y/ ]8 ~: o2 X/ O) E+ D0 L
// à??μ oˉè* * N1 J1 S) {' q& D
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;& C1 \( s9 P0 c; d9 l
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;% F; K1 o9 o( _
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
. p7 G1 G! V; u. X7 h1 ?; h5 d
8 V! m7 p. r9 a# ^4 C // oˉè* ??à? 6 y0 P: c4 b1 ]& D, h
pLight->Specular.r = 1.0f;
4 p# T- ^0 D, s pLight->Specular.g = 1.0f;
7 E! D# Z* F4 w pLight->Specular.b = 1.0f;2 c, g* C. e- y* ]! ^4 X
// àü?? oˉè* $ e4 I* w' G4 u, o
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;! l. A# q/ ^! g6 |3 U1 ~
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
5 @3 A1 F' U/ @& \1 G& k' ] pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;4 a9 |2 R, p0 o4 d8 z' j
+ _* n9 O7 B: ^( v1 t2 s
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
6 X/ C3 l3 R" X: G* P; j {
8 U/ N7 M# b4 `1 K! w" i% D pLight->Diffuse.r *= 0.6f;0 |7 w, q0 G% v9 T+ Y
pLight->Diffuse.g *= 0.6f;
$ w& c7 {& ]* O' x, L1 @" Y pLight->Diffuse.b *= 0.6f;- m+ {, K; f% p# x& r! W6 B
pLight->Ambient.r *= 0.7f;
0 [8 ~5 i8 I/ F2 B9 q7 G' I2 s pLight->Ambient.g *= 0.7f;
; t" G% J4 X4 f) z pLight->Ambient.b *= 0.7f;' w( Y2 n9 [/ h% o2 \6 f0 p( e
}
/ ~- o" ^( {" J9 o/ k8 n7 |0 D. ^1 ?
#if __VER >= 15 // __BS_CHANGING_ENVIR: h x" s b2 Z) E7 t) t
if( g_pPlayer )
9 p) r5 f6 D/ ~1 ?5 X, j6 n- d HookUpdateLight( pLight );( X1 e7 G# _7 P
#endif
; ~5 U: Q; `& f6 T# } memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );% A7 z$ ^( _ I: [- P1 j; \
! L X1 f% U0 U6 v7 c( i0 e. [ pLight->Diffuse.r += 0.1f;
: r+ w# v, L, ^% J2 `' t+ p9 v2 T pLight->Diffuse.g += 0.1f;
6 d! L/ v l2 @- f2 o3 K pLight->Diffuse.b += 0.1f;! [$ |, @/ C0 v' m3 o* M7 b
// oˉè* ??à? ! N! @: R! L( c/ L9 V
pLight->Specular.r = 2.0f;, b# n& r) v, q2 t
pLight->Specular.g = 2.0f;) C, A. |# F$ L$ D: M4 Z5 t! F
pLight->Specular.b = 2.0f;
: {6 M8 R; e3 b) }9 W' J // á?oˉ
: P5 ~6 x0 s: k8 T8 F9 H( B pLight->Ambient.r *= 0.9f;
: ]5 |! ?. T$ [4 {0 M( a pLight->Ambient.g *= 0.9f;' o- e) o' D+ m4 x* S# ?6 D2 l
pLight->Ambient.b *= 0.9f;1 j) M3 P9 u+ }; v1 Z
8 P/ o" ?% O7 D. b I" M memcpy( &m_light, pLight, sizeof( m_light ) );
0 O" a) @. p% B! T6 \% f, l
5 F+ e* T+ ~, A4 o$ f: H pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );' y0 l- E3 ~* h/ G
pLight->Appear( m_pd3dDevice, TRUE );$ t/ {* H& }, Y
5 Q5 t) g' Y( n Y* A- ~ V
DWORD dwR, dwG, dwB;( O7 J/ L, C9 t% C1 ^+ _9 U
dwR = (DWORD)( pLight->Ambient.r * 255 );
4 B2 G) n X; L% |& }, C dwG = (DWORD)( pLight->Ambient.g * 255 );' k! n! U9 I0 p$ P& g
dwB = (DWORD)( pLight->Ambient.b * 255 );# a5 w/ q' L. h
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
+ D- b4 \9 u. ^1 K; \ }
4 h3 [* z; E" w }
3 }) e0 j/ v& n2 V9 x else
, k% ~% ~2 n! O( Q8 S, q {, p4 O0 _$ O/ r- E
if( pLight )
, E+ {! w2 d8 E' P. ^ {7 I6 m0 p, M8 m3 e I ]7 U
9 _7 I# V. V& ?; ~$ k/ y0 f9 ^& G
int nHour = 8, nMin = 0;: `; Q$ }% p/ E6 W$ o0 P( E$ h; h
#ifdef __CLIENT9 h+ h) s/ s) s% }* n7 p
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. |5 E% J5 g/ w. {
nHour = g_GameTimer.m_nHour;
9 G8 G. S5 g3 f8 ^0 o0 } nMin = g_GameTimer.m_nMin ;
4 c, ^- U6 ]/ c" r+ Z+ ` #else
) w# j% y- L3 `, K9 k // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.7 {* P, }& y' ~3 W
if( m_nLightType == 1 )
/ ]' H. R6 o0 H) J- a" q nHour = m_nLightHour;! |1 v8 m" A, Y _" b/ o" H
#endif
- l1 p4 p/ I8 A: F# D0 d7 [: ` nHour--;
' }7 [; a! c. w, w. G if( nHour < 0 ) nHour = 0;
}0 {- x2 H. b# z if( nHour > 23 ) nHour = 23;
5 \) S: X# Q* `9 P' u/ @
, W' k' ?; x W2 k //if( m_bFixedHour )
" \- }) y) p- d! k4 \! K' E# T // nHour = m_nFixedHour, nMin = 0;3 d1 ]* h- d# k* w
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];" r2 Z e9 A8 ^5 x" P" j
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
2 F; p! l" Z0 {) j/ |" j
: q% F$ j0 Q3 Z& h; B) S //m_lightColor = lightColorPrv;% ^/ c" x0 I/ N
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;) V6 x7 R7 a% Y) b/ ]
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
8 U% L6 i2 g* X+ {8 w$ J0 W lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
# B) U, y2 z5 V% T) u. j lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;# V3 ?4 I" m0 b
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
' b$ r7 M3 `) O, q* t8 | lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;6 {' t1 O7 y7 q2 V* l0 j
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)& y7 S/ c0 O5 p a L( z! R
& u0 Z. p; q& V, x( J
// à??μ oˉè* : ?7 i. N* {4 D$ Z; _
pLight->Diffuse.r = lightColorPrv.r1;
4 Q: w4 o" q2 Z/ x6 ] pLight->Diffuse.g = lightColorPrv.g1;
: B0 Z% [+ _, ~ pLight->Diffuse.b = lightColorPrv.b1;5 w; t, E1 N2 n- m4 C1 z
// oˉè* ??à? / o% s2 {0 T& n7 l; {9 j& Z
pLight->Specular.r = 1.0f;: J ]8 Z3 `6 b8 r
pLight->Specular.g = 1.0f;) l' y# i4 h W$ z: N
pLight->Specular.b = 1.0f;
; t' I/ q, v9 Q, L" B3 G+ v // àü?? oˉè* * o3 [0 ?7 |& W# C) l
pLight->Ambient.r = lightColorPrv.r2;/ |7 m& b: } p* D0 r
pLight->Ambient.g = lightColorPrv.g2;6 q% h1 R1 g9 Q0 ?+ r
pLight->Ambient.b = lightColorPrv.b2;9 y5 b' g% q% b6 i+ E
/ ^& g/ [$ B6 {
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??. j$ e* h% q* C. z* B
{# T5 h* n% ]' `7 u6 s6 v
pLight->Diffuse.r *= 0.6f;
* M$ W0 f# O) b8 e: L7 l7 p4 g pLight->Diffuse.g *= 0.6f;
& p, e: V' o/ @: _. y0 ? pLight->Diffuse.b *= 0.6f;
; @. G2 G0 k( P& c: d$ H pLight->Ambient.r *= 0.7f;8 X' L o' U! ^, V
pLight->Ambient.g *= 0.7f;
( e6 K4 S0 w0 w/ t5 k( l0 l pLight->Ambient.b *= 0.7f;
( T ]% j2 n+ a }$ r% @8 @7 u) G7 g2 U
( V, f; u- ]7 c& W, L7 |" }: w#if __VER >= 15 // __BS_CHANGING_ENVIR
5 ?8 g3 d6 n B% A9 q1 L if( g_pPlayer )
! B) e4 v: k% P; h# s" B3 M X( M4 b HookUpdateLight( pLight );
: }2 K% Y( ^( D& a; \ ~+ U, ^#endif
9 X2 [# k/ x# I memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
! O" N Z) [, m B7 k T: p
9 M$ \( ^6 `* z: G#ifdef __YENV/ q2 F' x7 ]- o- T
pLight->Diffuse.r *= 1.1f;9 t) j9 ]# m. d! w0 W+ {% `
pLight->Diffuse.g *= 1.1f;$ _6 |9 d9 ~, c4 B; L
pLight->Diffuse.b *= 1.1f;
; ~) f( E( s/ H) h // oˉè* ??à?
7 |: W7 o z* C2 x pLight->Specular.r = 2.0f;* o' u9 w$ A! Y2 r2 ^
pLight->Specular.g = 2.0f;
C4 W' \+ V9 @7 Q' j$ R$ L pLight->Specular.b = 2.0f; X& ?5 ?9 e5 X8 `, v: t+ Z/ h
// á?oˉ " o4 L' }2 q9 o
pLight->Ambient.r *= 1.0f;; Y) J: x8 h! O- n$ ?" C5 V2 V3 K
pLight->Ambient.g *= 1.0f;5 J7 ]- f, A; @# w4 ]
pLight->Ambient.b *= 1.0f;' g+ M' l/ o; \, E! ]. z2 g$ r
#else //__YENV
; V! g- N0 E$ ?, S a% w$ ] _ pLight->Diffuse.r *= 1.1f;
' ^$ s0 L8 ~6 g# R# p' p; S pLight->Diffuse.g *= 1.1f;
1 E M4 o- Q3 ~2 l V- B2 y$ G pLight->Diffuse.b *= 1.1f;
) f* G9 e8 M |- B+ k) L // oˉè* ??à? % E+ e( I1 L# j
pLight->Specular.r = 2.0f;
0 X) d3 U- L6 v6 b4 G: s pLight->Specular.g = 2.0f;4 ?( h/ a" H; [; _/ ` G0 I; @
pLight->Specular.b = 2.0f;
, R3 [! d4 y m // á?oˉ $ F5 w6 k% r- z4 X% o, E9 Z
pLight->Ambient.r *= 0.9f;
' ]) P( p8 B4 q. G/ \& I# T& E. p pLight->Ambient.g *= 0.9f;
/ u. n9 x; z, Z( D pLight->Ambient.b *= 0.9f;
6 A/ U: a! \7 l! e; Q; ^#endif //__YENV
d2 o" U3 S! i. x3 D
+ `! y, m$ I: W* X9 ~: h memcpy( &m_light, pLight, sizeof( m_light ) );
. I9 ?0 \" F Q h! v4 K" T0 ~4 O/ \, k0 R
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
- G0 P8 h) w' p0 u D3DXMATRIX matTemp;, b0 {. x' ~! @ n
static const float CONS_VAL = 3.1415926f / 180.f;
8 B$ f1 B5 j- _ [ @( G
% \# E0 L! E0 Y D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);6 M( M/ B& Z% I: a
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
( ~& h) K" h2 b# e) S5 B8 q pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
2 B' X+ a- v$ d pLight->Appear( m_pd3dDevice, TRUE );
' f+ }& E. R6 w$ Y1 I; ^5 q/ @% R6 q& o* e: H0 W- U
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
! b- X' E' K, i( p // D3DXVec3Normalize(&(vecSun),&(vecSun));4 v1 _( X: E7 h
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 1 k+ ^! l' L9 j0 B+ S' a% K
% I4 s8 m- O) E a DWORD dwR, dwG, dwB;
" x, K( e: A1 m/ j! R N dwR = (DWORD)( pLight->Ambient.r * 255 );, \! Z4 |' W9 F4 W. j% t M% w) _
dwG = (DWORD)( pLight->Ambient.g * 255 );/ g9 S, P8 T4 c2 e/ P8 f' D2 q
dwB = (DWORD)( pLight->Ambient.b * 255 );3 q! K( [/ U y0 Y/ f; t7 V
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
' \: A- [3 a0 Q. H. W }
+ z+ y$ k" q; A# n/ A }
7 f5 t; a/ T+ ?+ p7 b' T6 [0 K/ u
) v: S0 w, u& {$ D3 T; m. D, K m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );. D* z+ b5 } D+ O( D8 N) Z
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) );
9 j3 u8 O4 y1 Z' I6 } ::SetLight( bLight );
* ?" l S$ n# T% n$ |. q
4 V( |$ C/ [) |0 @ // ±ao? ?D?í???ó á¤à? : q1 y; T& U6 G E" H
m_pd3dDevice->SetMaterial( &m_baseMaterial );
6 P9 t6 ]- c7 I/ F
/ n) Q2 F" v7 |6 V8 M8 f#endif // not WORLDSERVER
5 G/ v+ G, c% ~( ?' s) ~}/ b3 @% `/ x; S) z I: d9 C
并更换" z, h2 c$ s K. i
Code:, [& y) P" \5 {+ }6 J! r( K+ V0 G
__FLYFF_INITPAGE_EXT
9 J' v5 e; C( b- n( y) U8 Z定义& x8 F8 Y1 F" g1 b( d0 r
5 Q7 |. N: |/ g2 K5 y; Z% s3 V. r& x8 O
& @ `% J, Z: l0 ], J
+ M. T* q! D& |, M$ H! ^现在终于删除我的狗屁加速... }0 z" O% |" O c
4 O/ ^0 B) k8 A% n" M. H; @; C% {$ ^2 V ~+ I% n1 s- v2 B, J: ?
) K( N& j/ W0 U; c2 ?
|
|