|
|
食品车:
" ]0 M* C2 m n8 K1 y9 A! z尾翼:: m& B$ V! d+ ~/ ]. P' K Q8 i
+ j% S: v+ M- M& d. v8 b代码:
) B( n7 W- f* o7 ]3 ]% w4 @CWndAutoFood::CWndAutoFood()4 r7 h6 I# a; q) X O
{
5 j: J/ a$ O' m- F4 y m_pItemElem = NULL;9 p* K, G$ U K/ {
m_pTexture = NULL;9 `% T7 O4 W+ A4 q4 m
bStart = FALSE;
- F0 j1 U8 }9 Q9 c4 P; m9 p7 T7 r$ c}5 h" @$ J$ d0 O2 w2 A: Z0 g
x5 X% j, K7 h4 \6 Y* q: eCWndAutoFood::~CWndAutoFood()
. F( c6 U; x, g- s8 w' q{
8 J X. d' Q0 {/ w6 j AfxMessageBox( "AutoFood ist gestorben " );
$ T8 w+ M' e( x1 I}! G5 M# x" |5 T6 U( X- \0 c- Q
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
/ P6 `2 a# g% r; y, l{- G, c. _2 N6 d: c" g
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );* ~4 a5 V. M# x6 q- ?
}: I5 t& p* u9 o
4 f. z8 h4 W! o( g3 F! b- `8 YBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )& u( i( f9 r+ m( k5 _
{
7 p8 v: @- V$ P LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
! a4 s+ n) [ Z- S9 A! K$ W/ i CRect rect = pWndCtrl->rect;
; D$ a1 Y/ p% B0 [ if( rect && rect.PtInRect( point ) )! [6 m! v$ C" ~+ p! H" d/ s
{
3 T6 p$ ]4 C6 j3 \ CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );% A$ ?. X( A. p! o3 m4 B+ _
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )) D4 {3 x4 ^; T4 t, k% [: ^& j2 F
{$ b2 j4 j* N& W' }+ n# t8 B" s$ ?
if( m_pItemElem )
; w V. K V8 a u$ h {+ N4 F: j/ N* s- z+ v
m_pItemElem = NULL;
4 X3 R. h: q4 I- }; r: g# F }$ ]6 M$ ]5 \5 O& l8 q/ ^1 Q7 |
m_pItemElem = pItemElem;
9 N$ v$ `0 q1 z m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
) x" L! u' [: G2 G7 X }else{
5 m/ C$ k& M1 x) w$ c SetForbid( TRUE );
# e2 G, f$ ]1 F/ p+ ~ }3 X9 v1 L6 k* S% R
}else{
6 B C0 ?$ w$ L3 z E- [: F SetForbid( TRUE );
( Z+ L# b7 q8 n% s! A- k0 L6 Z7 Z4 e }
8 F) t9 D, H" y1 L7 k1 `9 C8 P" Q return TRUE;5 ^0 R, R% r& s
}
/ S. G/ V7 Z$ R' I
X' [7 i4 C) x nBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
5 v% n* I# T, }8 w, [/ T3 r{
$ e/ T! J# ]- x2 L. M! Z switch( nID )
v# ?/ {$ b" P( h) J {
3 Y/ \; r( t8 F9 E6 [# K case WIDC_BUTTON3:
8 K* D' l5 }( D% |4 _2 p {
% [5 |5 y/ d' i' T) n bStart = TRUE;* s0 K3 C% E8 Q+ H( R6 h
break;
' n3 g1 Q4 S) \' Y. X& y }. B R# ~8 Q0 v& Q9 K- a% G
case WIDC_BUTTON4:2 k: e1 [! N7 G0 f- t5 j: ]- g
{" v% {5 J" [9 t: t4 W' ^
bStart = FALSE;
6 Y k) f M6 x3 I break;. V2 ]! ? ?. m, d
}6 j* N* ^/ u6 j+ ^
}. U' o8 V" p3 V& _8 _
return CWndNeuz::OnChildNotify( message, nID, pLResult );, M6 J, b/ K2 x
} 6 W$ z5 r$ y0 i; o4 I2 N
void CWndAutoFood::OnDraw( C2DRender* p2DRender )/ ]0 E7 l4 L( ^" e' u
{
+ G; g! C3 P* r$ d0 S5 F' j CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );3 R" L. Q& y9 W' {7 {
if( bStart || !m_pItemElem )
: z' ]1 K3 F2 K7 J {( y8 z& @. f9 E0 j7 W/ ]
pBtn->EnableWindow( FALSE );
% g, J R' x$ m6 a }else/ O; F/ C I ~: H/ W8 \" Y8 v
pBtn->EnableWindow( TRUE );# c- F8 S; g9 Z9 C
if( m_pTexture )
; ]" e' ` A& ]- ^' l/ D {
. i. l" {8 T# w' [1 E LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );) D9 ]3 N2 x( i
if( wndCtrl && wndCtrl->rect )2 d9 y+ E7 g: K# e8 O! s
{- g8 X. s! W0 w+ ?9 i% n5 s
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );7 ]7 T/ Y( r. I% Y8 I, |( O
}
9 ~3 I0 p! g- `! g7 [ }; Q ]0 a) D0 f# X, \8 P
}
4 R$ j i, d) h; g
1 _, d# `3 I0 c- ~0 V; |& zBOOL CWndAutoFood: rocess()
# g# t5 S, E& W) I# C+ p% B5 A{
7 s6 i% R& ^# d8 B( R if( bStart )
8 l' Z2 R& J+ G+ w3 f" s6 K4 ? {8 | h4 K( a( I* @7 S* I: @
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )4 V& {- \7 G1 G# D5 m% A
{8 u( N+ y) q# b' f# b0 \
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )/ q$ z2 a- p* h
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
: N1 I1 u! u) ~% P) x" \7 S }else{" \& \1 N O4 J& R; V4 L, [6 }6 b0 c
bStart = FALSE;. ~- q& _8 x2 ^1 r* M/ j0 D
m_pItemElem = NULL;
% C( a O& l$ F; v5 t! V5 n; _" W }3 G: z* r/ v( L
}
( L# ]1 Q* U3 |) H return TRUE;
/ O$ S* v! z( i3 T+ s$ z}
+ i8 {3 {4 g Z/ a6 S8 Q a- q+ D
登录视频废话:
2 i, J% `! B. E0 U' Y尾翼:$ f7 j8 y8 m; c# b8 r. @
) ?! ?4 u# q! b% s# L
代码:
* T' F# K* p1 ~# H% t( q. r( j9 E5 i! E0 f0 {0 @: s
void CWorld::SetLight( BOOL bLight )
8 p0 i; c+ S* V9 a7 _& V7 Rdurch
& c R3 S; z/ b5 S' k- y( O. iCode:
; w U( A) R; i# g- k. Evoid CWorld::SetLight( BOOL bLight )
7 E# `' V6 n$ R7 j+ O{
6 I7 @/ N5 f2 a //ACE("SetLight %d \n", bLight);
5 G p0 S& l& s7 @1 q7 g u V( c7 K7 m. t* r
#ifndef __WORLDSERVER
% t' |; v2 T' x/ `& U' A9 R$ D- g$ h DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
; K$ F2 z" s- R3 {$ w CLight* pLight = NULL;
' D' t6 _8 X0 T9 s- Y. ~" w. V0 X" b7 }) I! R0 d/ r. ?6 B
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
3 ~5 M$ V4 v4 G3 }& A- _1 J K1 A- x' d+ m- F4 {
pLight = GetLight( "direction" );
6 [' }$ Y8 R9 l) E
1 [! |( y( d& Y; y8 W6 J#if __VER >= 15 // __BS_CHANGING_ENVIR
: B7 ^" i: J7 C1 I/ {2 h* y9 Z if( g_pPlayer ){
" h: h0 q# B" T' I7 S. Z ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );# F- ^; R& J j1 t5 ?: J& q9 A
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
- \, _$ }+ x5 ]: |9 U; { {
7 ^( r. W- L# ~; Z/ j$ V: g6 k if( pLight )
+ f& U1 W. [" n5 o | {
$ x# t2 `4 h( x" [2 A% o pLight->Ambient.r = pInfo->_fAmbient[ 0 ];) x9 c% o+ x, M% H y0 H
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];: `' c0 O+ m6 {0 g# v
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
2 o& ?- k2 q; D2 {9 v4 S1 h: H4 n/ r9 X" x3 Z7 I
pLight->Specular.r = 2.0f;: S [* W! @. c% M* y
pLight->Specular.g = 2.0f;! d8 g5 h- @) I! u' A; w" ~6 a
pLight->Specular.b = 2.0f;2 `. u; a0 X1 o4 \4 I, Y
) c' k. ~" R7 Y2 e, H# `! a9 s. F
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
$ R+ O* V3 `5 g6 G* Y pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
, C! v" ?8 ]7 [6 d" ^# P W" e6 m pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];0 z9 c: z& k3 x" ^8 \: l( t" H
5 a4 k& S; O9 s
HookUpdateLight( pLight );
0 x0 I x# Y3 d! j3 O; d) F! }
: d. T1 \7 t$ R( [: r: [ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ U0 | X) Q' j J1 F) w: `% L
2 A: ~- O7 U8 S3 Y pLight->Diffuse.r *= 1.2f;
y1 n& R: X+ ? pLight->Diffuse.g *= 1.2f;- F- E! o# h* x K
pLight->Diffuse.b *= 1.2f;" D% Q# c1 W3 T
$ a1 R3 X2 S5 p% R8 c, D
pLight->Ambient.r *= 0.8f;5 m' p* y/ N; z, y+ A% Q
pLight->Ambient.g *= 0.8f;
8 H T! _5 m2 `: ~6 L9 v% |6 I I pLight->Ambient.b *= 0.8f;
+ \0 T+ v8 G& d* K1 K, l
: z! {5 p \5 N$ C5 l6 ]8 R8 } memcpy( &m_light, pLight, sizeof( m_light ) );
: Z! w) g1 G; U; e. I6 |7 a0 V$ ?' ]1 K8 {( e
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
9 a1 P* w/ J1 X6 z( l4 ^ D3DXVec3Normalize(&(vecSun),&(vecSun));
T1 [0 }3 f; c pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ; X; |, Y1 M# W5 i
pLight->Appear( m_pd3dDevice, TRUE );
7 u/ k' X1 e( T% t) V 9 U2 c6 g8 U$ y, m
DWORD dwR, dwG, dwB;
/ ~* {3 ?, F9 D% R% D+ t7 C2 r dwR = (DWORD)( pLight->Ambient.r * 255 );; T# x, B- T* A/ _# D( T9 ] K, d
dwG = (DWORD)( pLight->Ambient.g * 255 );+ x) F, m. |6 }3 u5 o: _5 _: i/ o/ I
dwB = (DWORD)( pLight->Ambient.b * 255 );
N6 a& _3 u! }0 P( Q h5 L dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& d) R B0 F' s; Y* J* s) ~ }9 b7 k! y1 I8 Z" [) _
}; Q- n9 O8 r- t; |
}
2 U- D7 g5 u# M5 S else
l' w. I2 ~$ H#endif
& m: f% r' ^4 r; X0 }. R5 g {3 B/ q' n
if( m_bIsIndoor )+ f, R' F7 ?* Y& s
{
: _, N9 c* O6 A' ?. L if( pLight )
8 }- V a" |0 c { ! e& |: P Z( _
// à??μ oˉè*
5 n: N4 q% F( A: L3 m; s pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
) I. z% m7 @4 X2 b. S7 w pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;; T1 O4 ? b$ g% O, n
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
8 c; \' Q+ C4 O- o; l& b: m8 m
// oˉè* ??à? ( G! r+ y! ^6 e7 K! }: S; n! A
pLight->Specular.r = 1.0f;
" \: W7 ]3 d) }/ f/ l$ w# ^/ k pLight->Specular.g = 1.0f;
4 |) h2 X; S3 p; }" C pLight->Specular.b = 1.0f;) l/ Q5 w8 T1 @: q
// àü?? oˉè*
( ~& ?( f* K; o7 [" \ H5 P" [ pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
# }4 S* z7 l( [ pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;" l: l4 a1 Y2 \
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
, T$ q! s3 A7 Q3 w6 B( R* j( H2 n/ L7 q9 O7 a, `$ }) x0 U* P
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.$ ?5 ^6 V5 }) c' K
{+ X7 o4 u i5 k* ?# \
pLight->Diffuse.r *= 0.6f;3 L0 c; l7 L f1 g+ W: C, O5 x4 D! c
pLight->Diffuse.g *= 0.6f;: h/ @' y) @& N) c2 _% v
pLight->Diffuse.b *= 0.6f;
5 r4 r3 e: I( ` pLight->Ambient.r *= 0.7f;2 U1 H% g4 U; r7 n7 w* n
pLight->Ambient.g *= 0.7f;
# k4 m* B3 z) Y: K7 G5 G3 ] pLight->Ambient.b *= 0.7f;
/ b3 g/ a+ |* T( Q( C( d9 O }
( r2 A8 N2 N7 M4 M; x }1 _7 Y8 E
- p8 i# z: G) V# H. |- l#if __VER >= 15 // __BS_CHANGING_ENVIR
% E2 \: G W$ J) C if( g_pPlayer )$ W: W1 K |) @. s
HookUpdateLight( pLight );% Z. F" O }# A, X/ K o
#endif9 }& K2 K- O, |) J+ j' m& i
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ F+ u: @# t2 V2 x$ a
- o- K. Y* v+ }! y; E pLight->Diffuse.r += 0.1f;! A( A) U4 M0 |# r& e
pLight->Diffuse.g += 0.1f;
1 W$ v0 o4 a3 r1 `$ u pLight->Diffuse.b += 0.1f;- u9 X: ? F, `; P- x
// oˉè* ??à?
. e5 d2 x0 _2 E2 G- c" Y pLight->Specular.r = 2.0f;
6 y: {5 K" P5 c, c pLight->Specular.g = 2.0f;# _! \% H1 M) J3 |& f
pLight->Specular.b = 2.0f;5 r$ c* L" H/ n8 _0 J' S3 c
// á?oˉ O8 O$ C e: i. Y
pLight->Ambient.r *= 0.9f;
6 x& Q1 I; B; e: m# }" W% o- B pLight->Ambient.g *= 0.9f;
; h+ S1 ^5 Z0 ]& S$ \' F pLight->Ambient.b *= 0.9f;
! [7 X) g) ]$ ~8 W. b" T; z9 @& u' C( Z1 v4 [& y2 c' a" }
memcpy( &m_light, pLight, sizeof( m_light ) );2 D4 @2 h2 u7 R8 m4 z/ S7 M! J! _/ h
2 a' i: l' }* x2 N8 A pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );4 \7 j( o4 [( @! j: ]3 H
pLight->Appear( m_pd3dDevice, TRUE );7 h- e' l% a1 b4 N) G0 F4 Z
2 E- \9 d6 S3 f U+ m DWORD dwR, dwG, dwB;
7 @, ~# x0 b3 Y* {6 z4 \ dwR = (DWORD)( pLight->Ambient.r * 255 );' I( d. E+ B" B. G1 U
dwG = (DWORD)( pLight->Ambient.g * 255 );8 ^9 m, t* V% M# a2 H0 {+ G( j3 J
dwB = (DWORD)( pLight->Ambient.b * 255 );* M: w3 u2 e% C' ?2 S. k' F
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
! D# b) h8 c% Q$ T }: T& n) x2 y) m& M
}' D9 g3 Z2 x, t( m& P, I. ^# n' w
else: @3 p, }! s. F* ?* l0 e
{
+ L3 P0 D& F1 ` if( pLight )6 r6 R9 m" ]! O0 I4 D
{
9 s- y7 s9 M# w5 m : L% N" U5 b H2 u" t% f
int nHour = 8, nMin = 0;$ T! [* c: x+ v9 e4 @# |9 A6 M
#ifdef __CLIENT- a4 c4 O q3 | _& i" [. {" z- h
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 0 \+ o5 C* Q, @8 J& B. b, W) m
nHour = g_GameTimer.m_nHour;1 Y( E; }" c6 z0 ~
nMin = g_GameTimer.m_nMin ;
9 [. m: B m/ E #else
9 w G# T7 O/ _( G' j // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
/ z! s6 g! `4 [" G6 x: n if( m_nLightType == 1 )
$ O9 L. ~7 d& E% e0 Q' z6 a- [. S nHour = m_nLightHour;
( q) M- E& r% u5 A: q #endif
/ V% p1 S. r5 z+ z2 | nHour--;
/ e# m5 L/ f+ Z if( nHour < 0 ) nHour = 0;$ z/ ^' C X- w2 K% C" k7 Z3 B& x T
if( nHour > 23 ) nHour = 23;' e8 Z( S# ^, v
0 O) D% i: s) S8 h //if( m_bFixedHour )
0 k' s! `" W+ q7 K! V // nHour = m_nFixedHour, nMin = 0;- a- n, k# c/ N; {1 h
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
" R1 [ E! a- ^ LIGHTCOLOR lightColor = m_k24Light[ nHour ];
& l! w* \9 a9 _. g D( v" g
" g2 b) s) Q" o% z //m_lightColor = lightColorPrv;2 @. q$ y3 X; f3 o2 F/ }
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
* M, G5 `- T/ I lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;7 u% n4 M+ v$ {5 Z. ~
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
) g3 n9 k2 _2 X) ]/ G% @ lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
7 y, D2 M/ N# a! Z* ?$ f lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
: o+ s& n/ l1 l8 J4 @" }, P4 ` lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
2 V. \6 `- ]9 w // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
, c0 z* C9 {. C, |# A! Q* Z
2 o R; ?, U) Z8 x C, M+ [; o // à??μ oˉè*
5 C* x, V/ B: g( l4 P5 W pLight->Diffuse.r = lightColorPrv.r1;
; R: N* F h6 O3 t/ |" ?9 [, b pLight->Diffuse.g = lightColorPrv.g1;
% j' ]! {- V7 i, p pLight->Diffuse.b = lightColorPrv.b1;! {/ s3 C" I3 j# v& [
// oˉè* ??à?
% ~$ x2 Q- u1 m2 v% ^; O$ u4 j pLight->Specular.r = 1.0f;
2 H0 q; u" y$ Y8 R pLight->Specular.g = 1.0f;- \! k2 T) \) l3 r. f
pLight->Specular.b = 1.0f;' F- V" f. [/ u" z, O( x7 V
// àü?? oˉè* ( s* F4 _7 K6 @/ z' I
pLight->Ambient.r = lightColorPrv.r2;
6 X1 \) A) |; P5 _' E* Y. b/ l% | pLight->Ambient.g = lightColorPrv.g2;
4 D0 Z2 U# I: R0 |0 m( j; z' u" m pLight->Ambient.b = lightColorPrv.b2;0 V$ I. ]- j: H0 ?7 ^4 ~9 E
" a/ j6 m/ z2 \$ k9 L3 R( t
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.. n' R: ]- {* d6 q$ Z& V
{
) k ^& H) }$ @( C- f1 m4 ]. K, T8 @ pLight->Diffuse.r *= 0.6f;
' }* F8 ^$ |. C$ P( U1 Z( a5 J# W pLight->Diffuse.g *= 0.6f;) z$ @* Y" a) ^2 |
pLight->Diffuse.b *= 0.6f;& U3 t* Q9 L6 [) i7 x1 J# \
pLight->Ambient.r *= 0.7f;1 I0 y! s" y# u9 o4 ^
pLight->Ambient.g *= 0.7f;
( R- y2 d( r) f" s: ]7 q2 b( p$ E pLight->Ambient.b *= 0.7f;
; T3 _/ f# A0 D, e2 a }: k2 w9 \( D* G7 S
5 Z& y' V& x5 r6 P; b
#if __VER >= 15 // __BS_CHANGING_ENVIR
) s5 `, S) m% F if( g_pPlayer )) b- `% l: A( w
HookUpdateLight( pLight );
T, [( |! ^/ e8 P' W9 t2 \#endif1 [! |/ ]; ?, V2 I3 m# Y; }
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
2 S6 I; J$ [* P0 j& i1 d1 H N, k' M
#ifdef __YENV7 `& o) Z( |( L6 w/ l. H# Y. f
pLight->Diffuse.r *= 1.1f;7 M3 d$ k9 h+ z6 ~, u! S
pLight->Diffuse.g *= 1.1f;
8 S2 S! B2 s' H& e% o pLight->Diffuse.b *= 1.1f;: J! u' M. e; P0 Z5 G; e
// oˉè* ??à?
8 Q+ Q% n- m. m7 c8 z6 U pLight->Specular.r = 2.0f;) _3 n! K7 K( C3 E" X6 _9 t
pLight->Specular.g = 2.0f;) Z: J( u) L7 R1 w4 k
pLight->Specular.b = 2.0f;
8 _* s3 L, G+ x( ?9 t" O$ Y // á?oˉ 0 [# V# A& x, S7 R( U, i X
pLight->Ambient.r *= 1.0f;
2 P4 @$ N9 B& f& y, ?* [ a pLight->Ambient.g *= 1.0f;8 I" T) w5 [3 z7 w
pLight->Ambient.b *= 1.0f;3 O+ R- ]5 M7 w4 k- L/ i1 D3 P
#else //__YENV
; @3 c; r# Z8 Q6 j pLight->Diffuse.r *= 1.1f;9 b2 D+ Z! i/ Z3 Y
pLight->Diffuse.g *= 1.1f;
( G- O$ M& ]( |& |, P pLight->Diffuse.b *= 1.1f;7 n; h6 H+ P/ o$ [
// oˉè* ??à?
8 i+ S/ [) h( o0 |: A2 V4 f pLight->Specular.r = 2.0f;
1 \. O) E7 i- L% Q0 w! } pLight->Specular.g = 2.0f;( j i4 x5 w0 H4 {% @
pLight->Specular.b = 2.0f;
4 B h; Q7 h; x4 f" m // á?oˉ 1 ~3 y6 M8 `/ S+ G" c6 {2 R; H9 ^
pLight->Ambient.r *= 0.9f;; D Y2 @! F1 o$ D) s' {# U2 \
pLight->Ambient.g *= 0.9f;
^7 q, o) y7 H pLight->Ambient.b *= 0.9f; \2 e9 y$ S0 f. }
#endif //__YENV 1 X: A( V0 S5 K C2 I
8 @! x$ t) }3 a `+ v& l/ M7 | memcpy( &m_light, pLight, sizeof( m_light ) );
1 D1 {6 \; e [, ~& N) j
8 E8 w! h/ S& E D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);, q, _* `8 v8 ]7 T! o
D3DXMATRIX matTemp;
4 j4 Y5 a j, I4 {$ [. C static const float CONS_VAL = 3.1415926f / 180.f;) L' ]! I) U5 _) \
3 w" b# a7 R2 N" r- \+ ?" e D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
" O0 v* K" h5 ~9 M/ z7 Y; X! f D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
4 ^' x) U. Z2 _5 D6 _6 |* M" A pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
$ J9 | M: ^2 c+ p pLight->Appear( m_pd3dDevice, TRUE );% t) E# h* }3 }' M, [! W: {
' h7 j8 D3 S# | Y3 Z2 T2 v
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);. B! k* J& R2 q+ o, o8 P5 [" v
// D3DXVec3Normalize(&(vecSun),&(vecSun));
; k+ _8 T0 L# U1 n // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
9 i" b! G4 i! @' r5 b
/ Y* c! B+ ~4 W. U4 F, M DWORD dwR, dwG, dwB;$ t% z% v' l0 J4 ~* U: d: l
dwR = (DWORD)( pLight->Ambient.r * 255 );
# M3 c# k% r/ Q& C5 p3 K3 Z dwG = (DWORD)( pLight->Ambient.g * 255 );
& u% w3 x& K* X1 J o dwB = (DWORD)( pLight->Ambient.b * 255 );
# ~4 i* Q" Z! r" r& e6 e- m5 ~ dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); . j# ?: ?+ T* f* ?
}' q6 h4 ~% a& r1 u. m+ k
}
0 t- r2 s: O+ k4 O. Z! q2 Z, @
$ {0 ^$ v2 D2 D: Y) t( C1 j- g m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );3 ]5 w* q" r) r* B* J
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) );( D7 ?, {, g! z" p1 r2 {
::SetLight( bLight );
- I+ y) O# D- d7 n' Q2 [
$ Z, ]2 `1 J$ x; d" b" ] // ±ao? ?D?í???ó á¤à?
- @, R# E* u8 D* ]! ^) R m_pd3dDevice->SetMaterial( &m_baseMaterial );% ?9 ^5 Q. P( z; e7 V
7 R6 f, F6 X$ h% f. y0 W#endif // not WORLDSERVER
8 {- w3 L8 u% k" E}2 k2 ]- U8 }% p; C$ F
并更换
$ `' c1 Q; {( K) {. l( L7 r$ Z6 f, U6 kCode:
# v: u) V3 V- u! T" A__FLYFF_INITPAGE_EXT
8 d) A+ D3 ], y/ a定义$ O r7 o' z7 D
: ~7 w: q9 ?* O, c) f+ E
! x d9 n4 _4 X7 o3 t
! Q. M. h& H% J$ s
6 u# s2 S' w; b9 j* A现在终于删除我的狗屁加速...( R" k ~; O: n' i) V/ K0 \+ f9 X
3 C4 s ]4 q$ b/ a6 z: |! F
/ _& Q) \. D+ ?+ G3 x% V
0 a \: g' L4 l8 y3 A* { |
|