|
|
食品车:3 S- s" C5 o g
尾翼:
" \2 ]. D9 s) S L4 h
' [# z1 Y# q* j+ Q代码:
6 P: U" G3 l0 ^; r: j- J9 Q* nCWndAutoFood::CWndAutoFood()
1 x4 m) e; Y/ i2 u{$ V3 W0 z" v- K& N, d
m_pItemElem = NULL;
7 E4 J4 Z' }; v+ L+ W4 i, c m_pTexture = NULL;
' E5 Z" H3 Z' b. h. _8 Y, t bStart = FALSE;
$ T. G: V$ O2 K& g, Y' K" g9 v( ?}
) c# A. Q: E$ k* W" b$ x* `" N3 G) ]- t- c- c# ~
CWndAutoFood::~CWndAutoFood()6 H' l( ?6 P; } F/ t- z: v) D* `3 Q
{' e) B( ^& W" L, c2 q
AfxMessageBox( "AutoFood ist gestorben " );
. m% k4 a7 M1 o( ?2 W; g/ ^# q}: }' n2 K" c W5 B, d- J
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
5 ~- y- V3 s2 r0 y{
1 b. E+ }& G2 u, y1 R6 q8 n return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );# r( y5 [- A$ Q7 Y4 v; r; b
}
1 m1 z' {$ H9 h- R5 o: Z$ b& h0 p3 K' x' e5 L$ _1 R( g( V N& Y
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
1 T' A! ~$ D# G2 l. w{! n+ X% O: Y; n2 c0 c
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
# |) W5 k1 Z8 t3 F CRect rect = pWndCtrl->rect;0 D% \9 B7 n2 O0 s
if( rect && rect.PtInRect( point ) )1 ]8 x" @" V o
{
' `6 m3 \$ f; x- f3 y# q9 v" J! J CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
1 n6 q1 |3 G$ b! F# o if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
0 ~+ ]: M/ @4 a {
/ B- G5 P* ~ o8 \+ d if( m_pItemElem )" V A( a6 |9 W% S) g
{" A1 A) p9 }: P! ~+ R$ H7 {5 Z
m_pItemElem = NULL;
, V. {8 u x' J4 x b }1 e8 W g5 N- W# n/ n6 S
m_pItemElem = pItemElem;
, ]0 V8 Q0 X0 Z$ D9 M m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );( g7 H! W. X1 P! Y
}else{. h4 G8 R# |8 y& _; i; r6 h& S
SetForbid( TRUE );
- c K8 t9 O4 W2 _0 F }
6 t) L- {' `- b6 @7 A }else{
, k% e9 N: a$ a5 i4 C% J7 | SetForbid( TRUE );
) F, \# U! m' `6 d3 Z* i }2 z$ Z% N f# ^+ e# t! C+ n$ [
return TRUE;
- K, d5 o, Y4 F) T6 n$ J" c' }& V}
$ u3 X# Y# q* ?; Q+ Z8 R4 O; d& t8 f
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
3 G! ]( o: N1 P; X9 y x{
2 Y: u% S( r: ~( A switch( nID )/ w, I" C+ V. }" E4 m( i/ x2 H
{
1 S3 J( E G( e. N/ s& G' f case WIDC_BUTTON3:1 s) m: Z- d0 ^' G/ b
{
. H1 w$ L' d) r/ e bStart = TRUE;
; Y3 e6 W/ J+ C7 F break;
; z7 e Z1 B6 g. D; d. k% [ }
/ y& A1 \* P4 M case WIDC_BUTTON4:
) V* s; u0 C* {- t( B {
" j4 L+ T3 C# ~" B& Y6 X bStart = FALSE;
" V0 y3 L8 \! n; k# f3 U$ v; Y break;& |" P" [* v* s# }
}
' e& ^6 }; ~" r$ z+ t }: C( _# B# W; C* o
return CWndNeuz::OnChildNotify( message, nID, pLResult );+ l' h0 v8 H, N8 \/ A
} ! t1 E% q6 Q+ } R8 y1 `- w
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
5 ?, o V6 ]. o6 {% \$ V" W& Y3 g, ]{
; i0 M/ o) [, A CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
+ A4 S: o0 l9 C; m if( bStart || !m_pItemElem )
- h% d. E4 R0 j( z/ c {
- Q) ]& r: U2 g; O$ o5 P& s! V pBtn->EnableWindow( FALSE );
# f: B9 N c2 C: I* R0 C& k }else3 w3 C4 ~( k2 E0 X$ r9 ?/ u
pBtn->EnableWindow( TRUE );
# v+ [) O2 O, g% p+ r6 S if( m_pTexture )* a1 k7 }" C. D, ~$ S
{4 U6 A% R& k# n8 O) _+ K
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
B! z5 }' n- K' _% j n& G if( wndCtrl && wndCtrl->rect )
* f7 v) x# b! ]5 s. O% Q, P4 C& P {
. u' K" n& b3 O8 X, M- x9 f% c! l m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
' m l( U5 M! S! ]' ]$ D }- y+ i# Z' g* s2 j4 T; Y8 U% a9 l0 V
}7 Q4 }/ P, n- a/ I" o6 C# S, ^
}
: L, W; }! l& z; Z
" R& ~ ]4 c% V# h UBOOL CWndAutoFood: rocess() `/ a! t2 t4 ?! P+ L; d: a9 ~7 Y( y
{
6 R' C7 Z6 S) l( l1 A" @/ b if( bStart )
/ [$ S+ i. k8 w3 L {
* K" x$ Q& c5 c2 v. n3 W3 y/ q n% s6 x if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
+ L) k: I1 e F% Y0 v' z {/ j- T* e) X2 H5 b' j1 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() )
. Q0 \2 c% Y4 p g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );9 L2 q. O5 D$ ~7 s6 x6 E# q* M- y
}else{
+ I6 o; J3 r+ v; M5 ]5 x2 ~. w- R bStart = FALSE;
6 ~$ O9 I) c. F# z% x) i- D m_pItemElem = NULL;. }- Y1 y3 ~6 N! j5 x
}! f; |: J$ }5 E$ t& k* ^
}
1 Z; n4 L' J" V( n" K return TRUE;+ i2 Z; M1 \1 Z; h) {$ I
}; g3 h( D1 O9 F2 H _: o
! Q5 X; l$ i9 y5 m登录视频废话:
4 N! {, ~( d% e1 o0 ~尾翼:
' R$ R( | z- ^. R
) l: m6 x) b0 z$ r- K! a, D, i, n/ u代码:
% B5 ^, |/ e% p0 X
6 g/ V" W3 |8 l/ ivoid CWorld::SetLight( BOOL bLight )1 q: m2 S p3 t3 G' i5 J* b; }: K
durch7 ]( D9 {" }: j' v! X7 `+ W
Code:3 V/ x) z& G* R, h1 N1 N2 h
void CWorld::SetLight( BOOL bLight )
) }+ F6 l& u$ T2 ^{
. s' T- v1 `& W' y. v //ACE("SetLight %d \n", bLight);$ @! U, J7 W3 h8 W+ m" f1 R
4 G9 J, V! n' l) ~" w, P#ifndef __WORLDSERVER
4 M* u1 i% `0 T; _4 m" W0 A. B DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);6 {: G+ E" a, f/ e
CLight* pLight = NULL;
, h. L1 J7 a5 Z) n9 y3 K9 f: i' _( ^% r9 V0 [( ]/ v
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );; x5 N9 o" W6 h3 Z0 r1 P
& F3 {* s" W# V" x. Y pLight = GetLight( "direction" );
4 ^, T6 u. s3 P% ], W" A2 y9 e+ I, H3 X1 W
#if __VER >= 15 // __BS_CHANGING_ENVIR' \& P7 {1 ]: B( J
if( g_pPlayer ){
2 n4 ~+ r( ?) x) M ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
7 R* Q7 D- K% l, `5 T% Z# c6 w if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!, N) c) E% N; x% i3 x6 u
{
5 j; F7 Q# w- Z: \1 _ A if( pLight ); J3 K7 p3 Z+ e
{6 s5 l# o# G6 i- u. P) ?3 m6 t3 J
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
) H' B2 d A6 c7 B7 G3 s pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
; J# i0 A3 w/ @* M! ] pLight->Ambient.b = pInfo->_fAmbient[ 2 ];* X8 i3 O2 I" r/ I0 O
& \6 y: D% \1 Z# u2 Y. W: b
pLight->Specular.r = 2.0f;/ I! R" } L! m8 ~% F
pLight->Specular.g = 2.0f;
$ w; e& Q; Y. g( u. U1 E pLight->Specular.b = 2.0f;1 ^6 Z A- r$ A$ j- [
8 m2 z' U: i4 t4 ^ pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
3 I* I+ J7 B, X- b6 w f. p pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];8 Z( c/ [! q+ i8 C9 Q9 i3 A$ c
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];) |4 B' M" n! {/ Y0 b
& L5 F- G9 i, \! x" p" W# L5 x( ~
HookUpdateLight( pLight ); 7 \- E( D4 b1 X) }1 n* O
* k- b- w: R* [1 y/ H
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );9 f: F. I- W1 S
& ]: M$ S0 T, U pLight->Diffuse.r *= 1.2f;
3 [7 C, Y+ E/ \4 @+ U; x pLight->Diffuse.g *= 1.2f;# \ r3 s* T- R5 H: J
pLight->Diffuse.b *= 1.2f;: R- ^7 T o1 U$ N8 D1 q
+ D' a; n4 s, ]: _! j+ c( E pLight->Ambient.r *= 0.8f;* K0 J) ^2 r, a8 ~
pLight->Ambient.g *= 0.8f;
3 U9 U% a6 c9 H. X4 F pLight->Ambient.b *= 0.8f;
8 j! l2 _! A. n3 z 7 S0 c; ^6 P/ k% y7 F, V
memcpy( &m_light, pLight, sizeof( m_light ) );1 r2 B+ R- r) }0 V2 h$ i9 W: {) R
& R) x" g& y E: O, c; G D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);& s% }5 I: Z2 F( }/ Z8 H
D3DXVec3Normalize(&(vecSun),&(vecSun));- z* X+ H) x3 W7 s
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 4 Q$ E- U) |( i- f5 |0 S* ?4 `
pLight->Appear( m_pd3dDevice, TRUE );
, N: z7 J/ Z1 I Q4 L; m7 X 5 ?% U# I" P* H3 `) f& J* r5 D6 }
DWORD dwR, dwG, dwB; q2 P9 \. T4 y) Q* v0 ~/ `
dwR = (DWORD)( pLight->Ambient.r * 255 );
8 L' i) V8 s0 @; h$ c dwG = (DWORD)( pLight->Ambient.g * 255 );! u }6 d1 b# m D$ Y- f- x1 f
dwB = (DWORD)( pLight->Ambient.b * 255 );6 U1 v8 r7 i5 i7 x( _
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );& k% w( k8 H* ?, M' t1 }& \1 z( F' a
} N- j. V; k+ {; M& y! U6 {
}4 }" J/ {, j1 F0 t5 S+ B% R, q7 L
}" R% D) O, D& B' ~) @! s! j* T" _ Z
else) _$ T- q) n( I# o- E/ V* X* j
#endif
. {/ ]0 P- U Y9 E9 @/ T7 _
( T! a' F; i& O2 U2 @( |) H if( m_bIsIndoor )
( ] ^. a: F2 h& `1 o% J; k {5 ?0 L( p2 [) S8 _( C5 Z& v: _
if( pLight )
; M1 x9 c J; H0 H/ f2 ^ {
' o9 Z3 e+ X# _+ A5 o: h/ W4 `7 z // à??μ oˉè*
' j+ _1 l8 w- C4 n; C pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;2 a# r; C8 e% b
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
7 Z$ e# E4 F: t% S" U pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
5 k" k+ v) }% @3 i
% z, Q8 o, m9 L8 B0 V // oˉè* ??à?
+ \; p" H8 V4 |+ |4 L0 b; b, i& c pLight->Specular.r = 1.0f;! Y8 w1 X" b; T! w' z! x
pLight->Specular.g = 1.0f;
4 _( N- z* d2 _4 l$ f4 [ pLight->Specular.b = 1.0f;- L- x2 C6 r1 a* i- y' n
// àü?? oˉè*
" J' h% @; u: w9 {+ U9 h; _ pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
* T/ g- N/ }4 t' O; a pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
( o( W) `5 J" r# H% Y pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
7 p {8 ]. |$ Y4 q* j4 E- b; D) o$ `5 D9 G
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.( ~# ]) _" s, n6 |: k
{1 ]- Q9 e6 U- \/ _) w
pLight->Diffuse.r *= 0.6f;
# N3 L0 ?% E0 M/ ^4 X pLight->Diffuse.g *= 0.6f;4 G! d2 K( _8 v& ` q
pLight->Diffuse.b *= 0.6f;% L$ I/ ]/ P. w7 R
pLight->Ambient.r *= 0.7f;, ~6 w2 Q0 b7 M/ N+ k+ q2 Q$ o
pLight->Ambient.g *= 0.7f;- e3 h, j; @1 x$ Z3 f: Y2 @
pLight->Ambient.b *= 0.7f;! N4 B/ p: H" N9 r7 h. S$ v
}
, |6 O% K) _( L& l9 I' @/ w! s2 p) S3 l0 ?9 a+ `
#if __VER >= 15 // __BS_CHANGING_ENVIR
+ c7 m3 W v1 J if( g_pPlayer )) Y) |" Y' s# k+ `8 E6 n9 E7 n' a9 u
HookUpdateLight( pLight );1 [; U. F G) l
#endif _. b3 n6 \5 s2 \9 o* G3 C: I
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
" y( E9 K/ o2 v A# x& t, l3 J6 F1 ^0 R" l3 v( U1 p
pLight->Diffuse.r += 0.1f;
- S* @8 t S. `" ~! a pLight->Diffuse.g += 0.1f;
8 S' R, A, B0 _ pLight->Diffuse.b += 0.1f;
! a) ^& u9 {8 l. K3 \5 W // oˉè* ??à? : J+ D" V) E% s
pLight->Specular.r = 2.0f;
+ n" Q, C- W) z1 n# J$ F6 j; } pLight->Specular.g = 2.0f;
& N9 W, Q# C( g6 F; z pLight->Specular.b = 2.0f;4 @, @8 L$ l2 ]$ E% R
// á?oˉ
2 ]5 o- `# \ I, N pLight->Ambient.r *= 0.9f;
8 e% K+ @8 ~3 Y( |7 _) @ pLight->Ambient.g *= 0.9f;: r" {5 l+ ~+ N2 {4 C
pLight->Ambient.b *= 0.9f;
. U3 o: w% y9 \
* P [6 h0 t' x4 ~ memcpy( &m_light, pLight, sizeof( m_light ) );1 f0 p( |+ ^6 B
6 o' G- o0 M: b: B# N9 o' A9 o pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
4 R5 i7 i5 T" Z1 r pLight->Appear( m_pd3dDevice, TRUE );
% o& q8 b# b) E2 N5 a0 x h 3 ~$ |6 d6 V0 n9 T
DWORD dwR, dwG, dwB;, Z7 [9 c1 E+ J3 E' d
dwR = (DWORD)( pLight->Ambient.r * 255 );
0 s0 q# q w2 [* W, C: ^ dwG = (DWORD)( pLight->Ambient.g * 255 );3 m% t1 y& Q- G2 R
dwB = (DWORD)( pLight->Ambient.b * 255 ); T/ j& {" o! o3 T
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); r$ S' u5 W1 w) [
} ?" f# d2 U2 L8 Z; _
}
1 M" Q! |& }( E else
0 F4 }8 z) D# o& x8 b+ s {
. R0 k8 i0 N& U if( pLight )8 q! f* }3 X9 g
{, B6 r& G8 g" a( d! F! Q
8 M/ [/ B% y7 x7 { int nHour = 8, nMin = 0;
2 D6 }' A9 I: M2 z# j #ifdef __CLIENT4 {! ^* g% M! X R; R
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
& p$ b5 G, Q& G( ~. u nHour = g_GameTimer.m_nHour;+ d# m" N- U( P% w4 k0 ~: ?
nMin = g_GameTimer.m_nMin ;) p3 B3 q/ d' L$ O( K& e9 i l
#else
+ i2 j7 r% i5 ?5 j6 |6 M // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
, h; {1 ~9 G. F* ?6 \$ t3 w0 S1 e if( m_nLightType == 1 )) J6 l1 e- L+ c9 ~2 o/ }" M
nHour = m_nLightHour;
' z7 b! `9 g4 \7 h( W7 n0 L #endif( _7 _6 {, e- Q# p( g' p
nHour--;, k6 u/ |# }/ X8 ~. j J
if( nHour < 0 ) nHour = 0;
; r0 ]3 {2 h9 I. Y6 l5 l if( nHour > 23 ) nHour = 23;1 x+ O G+ ]7 L: ?" n& E( t
6 j1 b% C, B+ G, H/ Y, Q, z& J
//if( m_bFixedHour )
. T& g! v3 q2 R& U+ C( x# Z // nHour = m_nFixedHour, nMin = 0;# y# E/ _5 X0 S0 r2 i
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];" V) ]/ }' [8 p: z
LIGHTCOLOR lightColor = m_k24Light[ nHour ];& `/ x! W% T7 B1 v$ P; m: }" c4 o
& ~2 b! w/ `; R) A; v- j" Y
//m_lightColor = lightColorPrv;
: m/ U7 g3 F, ?# q- d lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;5 K! f- t; ?' @' F2 X2 {
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
( j! r# W$ G/ B4 O' Z3 | lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;* W) I9 b5 e9 `5 J: U7 g
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
& Y7 N' u: R; g/ u5 N; R- a6 I0 Z lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
5 H: z* d7 I% {. n2 F lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
8 n6 ]: v; {6 W+ O // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)" ]: w$ n' C8 N" I/ B' L3 P
: s) j# S( i! }& R" O$ x, s // à??μ oˉè*
8 N' B x( `- a0 ^: G pLight->Diffuse.r = lightColorPrv.r1;% T9 }4 C$ [+ @* _9 o
pLight->Diffuse.g = lightColorPrv.g1;. k/ Q4 S7 f) `7 N$ d
pLight->Diffuse.b = lightColorPrv.b1;3 I/ P: z0 E0 r% L3 ~3 |3 C( M
// oˉè* ??à?
/ E% o& y* \- n# h# |3 B' }4 X5 n2 z6 Z pLight->Specular.r = 1.0f;
0 c& T1 o. o0 j8 [+ O. f pLight->Specular.g = 1.0f;( Y8 E& ?/ S: E: s! h# ]
pLight->Specular.b = 1.0f;
+ f$ d6 v& Z3 h( k8 L7 l' L // àü?? oˉè* : @9 V( F+ M9 b3 v, J/ d$ f5 \. K+ B
pLight->Ambient.r = lightColorPrv.r2;3 y" l4 k* U% H6 L8 |# R
pLight->Ambient.g = lightColorPrv.g2;
% b' e; a8 p% X pLight->Ambient.b = lightColorPrv.b2;9 P2 j' r: B3 i1 p
, B( t5 s) J- d6 c
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.$ ?# u- E# @* x/ [
{
- a& Q' h6 S/ |3 ^ pLight->Diffuse.r *= 0.6f;5 \! e8 ]/ z. j. `1 [/ u3 [
pLight->Diffuse.g *= 0.6f;
- G! G3 g: e4 [# g1 \: |* } pLight->Diffuse.b *= 0.6f;6 B- x* u( O2 f- p% o
pLight->Ambient.r *= 0.7f;! \. u. x# ]( d% c! p
pLight->Ambient.g *= 0.7f;7 ?* [0 Z7 d$ C* E9 f
pLight->Ambient.b *= 0.7f;
8 ^/ n; J6 d$ C* q" ?, N }
i. r5 A; B% ~
. ~$ B2 Z1 M* w) D5 t#if __VER >= 15 // __BS_CHANGING_ENVIR2 |, m7 K" M; j9 P. ?! H" K
if( g_pPlayer )3 y( P$ D$ r9 }! p3 z) s4 {
HookUpdateLight( pLight ); 5 A4 V% w3 q7 W$ _5 ]8 X* b
#endif# d' |; V# u, u4 o3 E
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( d! |; A k7 M. V# }) d: e* ]6 c
#ifdef __YENV
2 T2 y( p$ {" Q/ l9 v9 _ pLight->Diffuse.r *= 1.1f;3 \& T- H. N F w4 {* x
pLight->Diffuse.g *= 1.1f;4 q: ?( C4 D6 l: D# K
pLight->Diffuse.b *= 1.1f;3 R: U- J1 t" Y; D
// oˉè* ??à?
" X- E! m- [; K pLight->Specular.r = 2.0f;/ v; | a4 r: e& f! Y9 j- n+ p
pLight->Specular.g = 2.0f;
, n) y, ]3 ~: l# v8 H" H9 I- \: @) H pLight->Specular.b = 2.0f;( i7 T" Y a+ \: z" A( [, o
// á?oˉ
, I# z% H, `' K4 h: _% n pLight->Ambient.r *= 1.0f;* @- N9 w+ [3 A/ F# D) X; F; }
pLight->Ambient.g *= 1.0f;* U* V) a0 p* `, h
pLight->Ambient.b *= 1.0f;; N V* ?" g( I6 r/ z/ F
#else //__YENV
$ ^4 Z9 _. e, w pLight->Diffuse.r *= 1.1f;
- y7 |8 ?" S% i+ O: O2 q, R pLight->Diffuse.g *= 1.1f;
0 G' D6 ]4 _# r$ Z- H6 C! C pLight->Diffuse.b *= 1.1f;2 U/ U) f" r9 m5 k" X$ [
// oˉè* ??à?
) O" D6 T/ }7 r5 U; P% B( Z+ A pLight->Specular.r = 2.0f;. G+ S, ] s! B7 R- h; @
pLight->Specular.g = 2.0f;
9 F/ r/ S. O: ? pLight->Specular.b = 2.0f; e1 B8 l2 C6 s9 D* p3 b
// á?oˉ
8 g- t: Z- |: S3 Z2 F/ { pLight->Ambient.r *= 0.9f;; y- W" I5 p2 y# ^( _+ X" i2 Q
pLight->Ambient.g *= 0.9f;
+ C" ` A; f: u" C, J$ T0 P ]% J pLight->Ambient.b *= 0.9f;5 k* h" m( ~) V" Z# D
#endif //__YENV
0 g# J, X5 W9 |: r. b9 {5 Z6 t
6 n8 z! X5 J; }% v memcpy( &m_light, pLight, sizeof( m_light ) );
+ S3 T8 o2 }3 k( r; Z b* E8 w
$ D$ j/ d* I0 H! ^5 q# Z D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
4 D% f; C$ {" n! h) x5 I+ _ D3DXMATRIX matTemp;0 ]# h: \( U( ]0 P- c2 E+ d
static const float CONS_VAL = 3.1415926f / 180.f;
4 p/ ]+ K; _3 e! T8 g
$ v3 g! l% ?% L; G! `9 K7 v4 x D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);9 Q9 {6 R+ I' i- B3 u u' [! j
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
; [- p# U* @. M- Q, A# y6 w pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); - m. z% \+ L) l' f
pLight->Appear( m_pd3dDevice, TRUE );- g7 u6 w8 A+ t# G3 p. X- O2 o
3 h# {8 V4 t0 h- E7 Y% U // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
6 x# \$ Q* g: ] // D3DXVec3Normalize(&(vecSun),&(vecSun));
3 m! b' T0 m$ f // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
/ M4 f& z& O7 |% x b% h! Y! Q2 H/ Z2 Y. E
DWORD dwR, dwG, dwB;
/ Z, @: V3 k/ h5 ?, m; {1 e4 Q dwR = (DWORD)( pLight->Ambient.r * 255 );
, L+ |8 v- ?/ q' z8 K dwG = (DWORD)( pLight->Ambient.g * 255 );' @: S% R) n. m2 R
dwB = (DWORD)( pLight->Ambient.b * 255 );- @$ y( Y% ?. f8 d- ~( u# a
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 8 O) F* |6 t4 i3 V' X
}
! d) M% R3 U( `1 J9 \, ~ }
& r0 U) D& `8 `9 l8 f2 |
7 c3 [9 o2 I* x7 k9 { m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );8 ]) E6 K' P! j3 r7 h
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) );; q2 Q2 P: j$ E( ]$ |9 F& o) Z
::SetLight( bLight );
5 Y, w, y: L* n6 w8 l' [* h1 s" t \! L' V: e' i9 c8 @. i) v* _7 ?
// ±ao? ?D?í???ó á¤à?
1 V" z# q6 y9 e# g m_pd3dDevice->SetMaterial( &m_baseMaterial );
6 F0 Q9 M% ]. T% H & n/ K# z( I. k" }( k
#endif // not WORLDSERVER+ O0 g9 U; z# H, u" m/ F
}, v' X2 g% {7 Y1 }
并更换
( F2 F9 M8 S1 i3 G/ v+ SCode:% t/ C5 T: i7 k7 q! |) k
__FLYFF_INITPAGE_EXT
- d& b- X- v5 g; h: Z# u. l定义' G2 E+ r- m" d$ A
3 M+ x$ e8 K" ^- `
: S+ j3 U4 v! @9 g" f9 A) G/ ~
0 ]3 h" E# ?# O2 u$ i; u7 _: g
8 D% ^& {" T( h0 H现在终于删除我的狗屁加速...
& z- Y; L( V; T$ i4 ?, D ]0 n) Q- Y) a6 A5 P$ n
! n3 w6 s: `* C+ @, b, t5 @. Y t) G. q' F5 {7 V( E% t# c* w Z
|
|