|
|
食品车:
( D$ {1 z$ W8 P. ]' a4 S+ |+ Y" A* Q' Y尾翼:# R( U# @; v L& {0 w; @
: Y. Q7 m& ~: _, O5 B; D) d! I$ X- n, ~代码:
) ~. C9 p7 |5 T; k* c; FCWndAutoFood::CWndAutoFood(). @1 x3 h f% ^) M( G
{
* w! t- u4 i8 v, M% h! s m_pItemElem = NULL;
8 G9 Y# n9 N' q! K! o m_pTexture = NULL;5 {6 R: k3 j- L4 m
bStart = FALSE;* f! h2 l# {/ A: `' K
}+ ^% L0 m& g" z% a0 g/ Q
# e) N0 m x9 i+ K
CWndAutoFood::~CWndAutoFood()
2 j# e1 M" t! Y1 P9 P/ d{2 s ~4 d6 m$ {6 d3 }, \& W
AfxMessageBox( "AutoFood ist gestorben " );
L3 j2 X- s( }% s) k}5 ?- ^6 z" t! z9 j
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
2 r( D! M4 ]4 r" f0 S{
$ I* ~3 ?& x; m* [ return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
3 h$ F1 u1 Y1 H# ^}
. B% Z: ?. Z7 q6 s. p& v! E, e
! Y: {! O c9 \4 P. zBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
1 M: w/ k1 N' q3 K# ^; ]; l{7 z: {: @) J7 k$ _( P: \. L
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );0 ^: ~( y& b% C& R& [
CRect rect = pWndCtrl->rect;
0 L1 z3 B- H( j7 v0 y if( rect && rect.PtInRect( point ) )
) _! }0 S8 b* Z. g9 ?9 h {5 Q8 G& e; B X
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
( M6 [; o4 ]: r, V P if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
) E5 ]1 S1 ~0 W( C3 W. z2 ~ {$ `, B0 _& B7 i$ E3 G z1 s
if( m_pItemElem )! d; ~! }6 ?2 Z5 l7 r* U- @
{' e: c' P' B8 S5 v7 q" I, F2 T) x3 r
m_pItemElem = NULL;
# [ I1 @6 {- V& Q {: b9 ~! j$ v }" {" l% d4 r+ T$ q; {. u* X3 w
m_pItemElem = pItemElem;( f: _+ \. S' a$ C: ~8 \
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );% Z8 q+ f% e$ v5 D+ u& n& e
}else{
+ b9 J$ w! ~+ c3 s3 G$ N SetForbid( TRUE );7 x" S! ~$ Q( Z, }7 _* p8 H* R% [
}, O# J4 Z5 i! L: I4 X. `
}else{: Y/ d/ S0 p3 T2 s
SetForbid( TRUE );# ]. P+ {1 g/ x0 ~& \; n1 r
}+ X- b$ r4 X; J
return TRUE;
/ U$ f+ |) n% p}
1 m! c0 p p; L4 x3 R3 e: G8 s+ U! s& W9 G- e$ \1 D7 x; k8 }) m
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
9 y8 u8 ?# ]6 h3 ?1 G{
# W, ]# n0 n7 B) n switch( nID ): F( T$ r. J2 W
{
) N0 h" \+ q7 d case WIDC_BUTTON3:3 z: |7 O" g& R) V* e z' W
{# n( m d/ r2 _; R
bStart = TRUE;; {& j6 m9 j5 R9 O( x
break;
* z0 z5 Q$ V/ |4 E- Q/ G }
4 Z/ ]2 H& L! ` case WIDC_BUTTON4:: R* V, W. k8 H
{9 t5 [9 n/ I7 B1 Q! A) u; L: ~
bStart = FALSE;5 W* {" e! t8 h, R, k
break;3 ^0 k* [- v L8 r
}
5 u0 e4 b T" @# W* K0 G }- v2 E- n- f' H& y
return CWndNeuz::OnChildNotify( message, nID, pLResult );1 \* a, A7 b7 g1 |# m
}
3 Q0 j3 \/ i4 P0 uvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
C" u, b, C4 P$ z{3 V3 \+ H9 o: q6 F1 T- |1 k
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
$ F: D, D5 Z" O" D8 |1 K$ X& o if( bStart || !m_pItemElem )2 a% |; }5 Y* i3 r
{
# U: S! J3 h& ^- E1 r( b pBtn->EnableWindow( FALSE );6 p0 X" B5 ]% D. n" E: J. t8 D& r9 x
}else$ j3 ]) c8 w( B) {+ M0 t+ c1 D
pBtn->EnableWindow( TRUE );8 w$ T0 S+ D& J+ ?: k1 s* s
if( m_pTexture )
' U1 |+ y5 Y. ?- Q) D {
" i/ Y* u* w5 { LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
# z% E) w. B0 _, m6 a# q if( wndCtrl && wndCtrl->rect ), k1 k. }' }# K0 S
{# y- ?9 \- n6 j4 [$ h: Y" [0 C
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );$ Z/ b7 I& d! L4 J p1 L
}
% f$ K0 l6 S$ g' y+ @: [( f! t4 X; Z }2 s; ~: X+ v% [- q' [
}
; ~) n$ w5 o2 R* U1 {( V% v" `6 U5 K
6 o- m B4 w! D/ D: ]0 ]8 kBOOL CWndAutoFood: rocess()
' d5 A+ v: e: B: l) X" ^ s{
# }/ U2 g9 e3 u! S* u! w if( bStart )' c1 a) H3 t6 m! a
{
& G2 V7 E0 ?) U, G if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
& N" } n9 W3 j M) m# x% M {
4 I1 {$ y% n* r& w if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
7 J0 B# v# T/ h. k4 n$ a$ | g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
# T, O3 l4 z7 f6 l; h' w0 q7 j# d9 x- z }else{/ Z% `4 n' V' [9 N
bStart = FALSE;+ H& }9 {4 [6 L0 S' S& t# D& v( E
m_pItemElem = NULL;" C! S! X* ~5 Y
}
9 g* y% ]0 z+ v/ ]' s5 O' x }
: a- g# D) \, h9 P" k0 r& [ return TRUE;
/ P) T: f" W: Z3 b}% b( f2 d, F5 `0 H7 H. ]3 Y
; X+ R* a& g* y! ]: S0 ~) q, n0 M* P
登录视频废话:
* |1 W3 N3 p/ \+ y: Z5 Q+ z5 I尾翼:
5 h" ^" f% q& O- F j: ~2 D- e- y
代码:6 `" v' `/ s! M c. R" y/ r
' R: x3 Y0 A4 v# e7 r" F8 A3 b- hvoid CWorld::SetLight( BOOL bLight ) A ^# K( i v/ J
durch
" u! Z5 y9 u4 {& NCode:( }2 M" ~/ D9 T( [
void CWorld::SetLight( BOOL bLight )
. y' M& C& {3 D3 M/ ~! Q{
3 P& V& ?- P% M* O- S //ACE("SetLight %d \n", bLight);( \+ } b6 N; n L7 w
/ {; e' i7 W/ g: c9 k6 q! w5 Z
#ifndef __WORLDSERVER " v1 Y a9 D0 I* D* F
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);8 r1 F+ U; L( @
CLight* pLight = NULL;
0 \+ s$ m$ ?* q4 y1 F- ~
( B4 [1 m8 ]' ~ ^( j- H( a D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );0 S! @' r0 F0 L% K
+ ~! y6 }) \3 h" g, a* |! ^
pLight = GetLight( "direction" );
$ C( |& ^. a( ] i) K1 L e' b+ o+ p5 N# m% D+ C
#if __VER >= 15 // __BS_CHANGING_ENVIR7 W+ I! I4 L- n
if( g_pPlayer ){
. A3 F! o0 V: W% W: r/ Y; l ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );6 o9 Q: {/ s! ]3 W2 x8 J( [1 u! s6 y
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!9 C; l! f& \7 y3 T) I
{
3 d8 n8 O0 o& U; I* \2 U if( pLight )
# ~- K( {6 y7 Y; [2 g6 s# ? {
4 {9 e$ U! [: m3 _ pLight->Ambient.r = pInfo->_fAmbient[ 0 ];; ]6 F6 s: a# q! G8 j* \
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
" D5 `( S3 q- y2 t2 N1 \! F pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
& M7 O& o5 d& Y8 a
& t3 g8 q! J" y/ V7 H pLight->Specular.r = 2.0f;
1 E# T1 z( P0 |, f) Q( u+ O pLight->Specular.g = 2.0f;
! @8 M) S' [/ U2 D& U- [, J0 G pLight->Specular.b = 2.0f;# I5 |9 g4 [2 n: Y+ E
" j' t9 [) l* f/ R; m pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];, }5 s5 R) ]& {; a. f% \, V
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];+ w6 w* e! {- n5 H
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];& Q& l* z/ n8 M; ^& u
2 E B; C4 S3 d! o) q
HookUpdateLight( pLight ); + l8 w# p. H7 L6 B2 c
2 Z# [7 {- f: H+ v memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );1 O; T1 o7 b# q8 C6 {
# O) v3 @& l* w& y7 C( g! j) q. J- a
pLight->Diffuse.r *= 1.2f;
2 M; e. _+ m& p1 c( | pLight->Diffuse.g *= 1.2f;& L6 j D6 V$ b) j, r
pLight->Diffuse.b *= 1.2f;
7 {$ y% L0 h5 c$ i3 y6 x" n( \* O7 _5 m) O
pLight->Ambient.r *= 0.8f;
6 a8 ?2 F1 T9 N8 u- i8 p: f7 v1 s# Q6 V pLight->Ambient.g *= 0.8f;* v9 B. B+ C2 I# u. _+ e
pLight->Ambient.b *= 0.8f;) D. A2 G- t7 P$ z
& h% b- d! D% t& k
memcpy( &m_light, pLight, sizeof( m_light ) );% J U2 G/ f( I! F
) U3 K2 Z' O' t5 I* I3 s
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);# w+ w4 D1 W+ z3 u8 y
D3DXVec3Normalize(&(vecSun),&(vecSun));2 R9 [( t l5 K: s0 t7 G" B' h9 V
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
! _3 q; Y- p& d/ B7 ]6 D0 @: e pLight->Appear( m_pd3dDevice, TRUE );9 g0 d! R% T, n
+ o3 p. d S. @+ i. {8 u DWORD dwR, dwG, dwB;1 `3 a* i: ]( ^2 Q
dwR = (DWORD)( pLight->Ambient.r * 255 );
- d7 ~+ b r* W$ y4 v dwG = (DWORD)( pLight->Ambient.g * 255 );
9 g; c8 k3 @; p9 V- Z/ O dwB = (DWORD)( pLight->Ambient.b * 255 );
( q% @# S2 ^% t- G, D dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
+ `( g1 O3 N' k- k+ D% m; @3 X }, G& ?' a/ u3 R0 T7 }7 b, j
}
0 C4 n1 M) R8 Y! R; I }$ T$ B: M' `: b" B, j; Z
else
1 `) E9 v% U; K; A' ^7 |1 ?& y#endif
& }% j. ]/ |% L. G+ H F/ \: l t4 V2 r, J
if( m_bIsIndoor )
6 Q- E) O' e/ @5 F" H {4 @# i$ a% ~$ a V8 d# T) I
if( pLight )4 l" {: c8 Z _5 g+ [! @
{ ! k: I3 Q& u2 v5 X; [ h. G. e
// à??μ oˉè* ) k" Z8 q3 f' p& M8 F# e: M6 ^
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;0 G0 u& b$ w' R4 m3 l
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;( g1 u/ V* W. H3 c8 R
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
1 f$ n; L7 b, q; B$ q, s$ [( ?
- a; c( m- c& K) a6 { // oˉè* ??à?
; @, v0 J. X" o pLight->Specular.r = 1.0f;% r8 h6 @! a7 r1 s, b% ^6 P5 e9 s
pLight->Specular.g = 1.0f;- N1 ~) ^, p- e7 H C& [. u3 L
pLight->Specular.b = 1.0f;+ f4 c2 A% j8 ^6 Z0 N7 R0 u$ g/ X$ r
// àü?? oˉè*
5 P$ B5 |! u7 B, U, B& Z- Z7 m pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;) o, v" A$ J8 n+ G
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;) v: e9 b; A9 w4 Q- E* I/ L1 c. V* G6 G
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
0 Y; @! a3 O$ _3 K; i. ^6 `
M# Z2 H; ]: m8 H) u. S if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
" b: S+ j) J; D" R3 U6 D! L {
6 ?3 \0 z: J+ X5 i5 K pLight->Diffuse.r *= 0.6f;, S3 x. {/ U7 M/ _$ F5 [
pLight->Diffuse.g *= 0.6f;
* a8 C* S+ i6 A pLight->Diffuse.b *= 0.6f;
8 y) ^0 S& l" n% D) Q) @ pLight->Ambient.r *= 0.7f;$ ]9 g5 y0 i4 W: N- z6 I
pLight->Ambient.g *= 0.7f;( p5 r8 ?( @" Y' A* {
pLight->Ambient.b *= 0.7f;
! n3 h- [5 m u6 \" [ }
) m0 [% h5 z2 f1 P% A9 k! q! M0 c6 }1 E" H# l0 ?9 O, F
#if __VER >= 15 // __BS_CHANGING_ENVIR/ T- I. v6 T$ Y1 {' ^- G
if( g_pPlayer )
" q1 [; }: i0 R& J) Q HookUpdateLight( pLight );
$ O9 p0 W4 w$ U, I2 F0 ]#endif
7 ~- T8 d. L8 f9 B* X; }! d memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
: R! y. G: N- d6 h( A
& L! q% Y% ~5 a pLight->Diffuse.r += 0.1f;
/ f- S/ }2 F3 n6 g7 k pLight->Diffuse.g += 0.1f;
0 M# n6 i2 D3 q# r( K1 J pLight->Diffuse.b += 0.1f;8 [8 z+ o0 _- C
// oˉè* ??à? ( s" ]! a( l% M: o5 M
pLight->Specular.r = 2.0f;! q' ]6 L, R) I$ {4 ]/ q; a
pLight->Specular.g = 2.0f;5 ?% B1 D$ Z1 F6 G6 a" F/ i
pLight->Specular.b = 2.0f;- N. J$ s/ B& w) y6 E0 ?
// á?oˉ
: Z. D* W" W# \. H pLight->Ambient.r *= 0.9f;
( x/ G+ `0 L% m h: ~ pLight->Ambient.g *= 0.9f;
$ S- ~7 K. J: O! |. U pLight->Ambient.b *= 0.9f;
* v5 \3 J+ X, y9 |7 w7 S! P# V; Y& `* l; w3 Q2 W
memcpy( &m_light, pLight, sizeof( m_light ) );- Y: h$ d: q, y6 Y* h: |
5 m! i3 u% A1 \+ V4 g pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );; H3 M4 R/ o V8 ^3 S+ T2 X9 H7 b
pLight->Appear( m_pd3dDevice, TRUE );
6 K5 [8 C/ |8 C6 V 0 q; o% H% K6 `0 Y Z
DWORD dwR, dwG, dwB;5 R/ x0 {4 z" B: _3 r6 ^ d4 a
dwR = (DWORD)( pLight->Ambient.r * 255 );' q: J3 D# _( Y% n
dwG = (DWORD)( pLight->Ambient.g * 255 );
$ J6 e! d! c M2 a' M3 |9 l8 S' K dwB = (DWORD)( pLight->Ambient.b * 255 );
. i/ y. w5 i% {. G dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) _4 w- ?# f$ |0 c/ j& a }
! a( @5 P+ ?5 s6 y5 f1 j }+ q, q+ n" x9 Y1 [' W/ A4 u6 Z
else
( b( R- H$ g# E3 s! V# } {8 R2 U$ m; c$ T7 w
if( pLight )
# t) D: \$ [: b) D- _ {4 s( O; `& R' d/ C
' [3 H! u% w$ K2 D9 ~
int nHour = 8, nMin = 0;; V! Q- P, Y6 ]8 c
#ifdef __CLIENT$ j" \# R, q4 ]3 f" n% A
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 8 e) ?" Q1 g8 g8 p
nHour = g_GameTimer.m_nHour;4 p; W. ?0 H/ A, D
nMin = g_GameTimer.m_nMin ;/ I: d( P) e2 \& ]& L( k
#else
8 H- W/ G5 W9 T' z // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
$ h2 [) N! M. r if( m_nLightType == 1 )! t" p) ?, O/ K7 z0 C6 @9 e
nHour = m_nLightHour;1 h' c: |! T6 y
#endif2 `5 E. [' d! H6 p) Q
nHour--;
. N3 C) a7 m4 s% ~9 z8 B* U- K if( nHour < 0 ) nHour = 0;6 p: K" ?' ?; ?; Y
if( nHour > 23 ) nHour = 23;2 N- M3 ]2 D8 r) a+ Z0 w% ]
/ z* V4 q9 H. A0 n( `8 y* g. c+ d //if( m_bFixedHour )
" Z, M7 ^' q! ]8 k: w // nHour = m_nFixedHour, nMin = 0;* a9 }+ m, F. i* g& g6 A
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];1 w+ U. z0 S! T2 C, k
LIGHTCOLOR lightColor = m_k24Light[ nHour ];; S; i9 n# x c z* E* V! P4 A! k
$ @4 V% q/ T' e( V% U //m_lightColor = lightColorPrv;' @0 r1 Q2 z' T$ \) V. x4 F4 S
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
! n/ t: I' x: J: j4 L! M: ] lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
" A; u8 j6 y. ^6 m2 f lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;9 P9 O. L( C+ U2 p8 [" ]( {$ W' l
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
6 M& O6 S+ I$ I( r" m lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
+ w& J. r: [+ D M5 @ lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;% U; w D) H/ y9 x
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)8 K/ a6 o! S4 d* Z6 @8 v; W- T
5 _; k# v2 w! _ j. q // à??μ oˉè* 9 F8 G9 q0 G" l$ x/ O6 E
pLight->Diffuse.r = lightColorPrv.r1;
1 L6 G" x; ~. N$ M2 D pLight->Diffuse.g = lightColorPrv.g1;# d7 l$ a+ O& l6 _
pLight->Diffuse.b = lightColorPrv.b1;5 X* s) Z0 y- R, u: Q
// oˉè* ??à?
0 ]1 | Z0 x& j* j9 y pLight->Specular.r = 1.0f;; [: ~% L. ^, E3 C) Z$ z
pLight->Specular.g = 1.0f;
" b5 {3 \; V. o# k pLight->Specular.b = 1.0f;
* J; f9 m" d' R8 _ // àü?? oˉè* " Q: i8 }5 Q( |
pLight->Ambient.r = lightColorPrv.r2;
1 Z( {6 \2 ^9 L0 }, ~' _/ K pLight->Ambient.g = lightColorPrv.g2;
9 a& X; A6 e& S8 S5 U4 J pLight->Ambient.b = lightColorPrv.b2;
% K& }/ p6 J5 ~; _# e. m, ]6 h5 L, ]
% H, [. X' w4 p9 c8 U if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
/ W3 w, E. B% d3 U* p9 J9 x3 U {1 z( O P1 L3 G2 F2 d
pLight->Diffuse.r *= 0.6f;1 A7 }* I: i+ {; ?" ]
pLight->Diffuse.g *= 0.6f;( n, [, Q' y0 Z3 i8 M* c4 Q
pLight->Diffuse.b *= 0.6f;
. W7 X3 m0 ?' V pLight->Ambient.r *= 0.7f;! a4 ]; Q3 w5 i1 }
pLight->Ambient.g *= 0.7f;
) G' N* V) C' q. W: p pLight->Ambient.b *= 0.7f;2 S0 [4 b% {2 R: i6 x1 c- i' ]8 k
}
. U' _/ U! O0 M5 z* }5 g7 I1 k3 ^
6 m8 [% H7 E; u) b* ^2 |$ l#if __VER >= 15 // __BS_CHANGING_ENVIR
% k2 B; V% N1 \" \, k; l if( g_pPlayer )
, _" ?, W% Q* Y g& X9 A3 r! x HookUpdateLight( pLight );
& C% G3 W( c7 T( r. a- s0 k#endif
+ m) ~& i8 ~% A memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
2 \7 Y3 T2 c3 O( i
3 {+ b6 N0 X3 T e" {5 b#ifdef __YENV1 ~3 T% L; ^: y
pLight->Diffuse.r *= 1.1f;
9 J( {1 n( l4 B% {9 u pLight->Diffuse.g *= 1.1f;! ` }! W( c" G# ]8 f% H
pLight->Diffuse.b *= 1.1f;$ Q/ G$ i. l+ z" h9 x. r; f
// oˉè* ??à?
. z; J, M# k; d2 L1 X pLight->Specular.r = 2.0f;' m, |+ \& T0 q; \+ x. ~
pLight->Specular.g = 2.0f;9 z- y- B5 M0 q7 T. e1 R
pLight->Specular.b = 2.0f;5 b' a- c# i$ h$ D m1 i& D0 \
// á?oˉ
! X- {. _& O! _0 j) x& h& e$ B8 ^3 ? pLight->Ambient.r *= 1.0f;
1 D. t, K/ k, X/ i- i pLight->Ambient.g *= 1.0f;8 t. t) s% H# a! D) T( D4 T
pLight->Ambient.b *= 1.0f;
! n( ~% q- m- |3 R/ S#else //__YENV
& X# J+ k: m2 o% n* y6 {# u! L pLight->Diffuse.r *= 1.1f;
8 @# z! X# |' F" L/ k pLight->Diffuse.g *= 1.1f;
% a: `- l% o, t8 d% I pLight->Diffuse.b *= 1.1f;# ]8 s! V" I7 G' y" y- I2 `
// oˉè* ??à?
( k- Q1 G5 o; i( k) R' |# G pLight->Specular.r = 2.0f;3 C7 e! t( i* x/ D% s- @0 b0 A
pLight->Specular.g = 2.0f;
. H% K2 n3 B* a pLight->Specular.b = 2.0f;+ ^, [7 g* Z2 ?/ `! W
// á?oˉ
8 F' J+ m! I+ K( E3 @" |6 P3 z pLight->Ambient.r *= 0.9f;; b/ k( ?3 Q8 u |; k) K$ C
pLight->Ambient.g *= 0.9f;
" ]; O, Q- |, Y0 ] pLight->Ambient.b *= 0.9f;+ g2 @% g$ l* s0 C) _2 w3 M
#endif //__YENV % X0 \" ]9 U6 K- M! _5 _
! A( u% C8 i" n9 e9 _% g' e* I memcpy( &m_light, pLight, sizeof( m_light ) );$ r% R/ m* v9 J K5 x) r
& @2 P" j6 j9 g, h) O# \$ C
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);. z8 Q: ^8 ^6 [' U
D3DXMATRIX matTemp;* J/ a3 S( h8 @( V8 R$ z
static const float CONS_VAL = 3.1415926f / 180.f;& \' c1 [4 S0 p, j3 t
" `! H- A9 G" [/ e8 w4 X4 {
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);( o2 j$ O. n: N1 g8 v0 A T% \/ B
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);' I, C, M1 | k+ R h5 _% i+ l
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 7 ~8 B" Z. x) u5 j0 `
pLight->Appear( m_pd3dDevice, TRUE );
& T; t, M$ e8 E. }. f4 v, L% E! i% D% a9 m
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
% J( O, b/ c) L) R P; k6 } // D3DXVec3Normalize(&(vecSun),&(vecSun));' ?; o6 R1 y% N
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); - u! a! Q% K r6 B* V! B6 w% L2 p
' h x. Z2 a- ^! [
DWORD dwR, dwG, dwB;
& M9 I8 D. q) \8 Z( s/ P dwR = (DWORD)( pLight->Ambient.r * 255 );
$ C5 ~7 o+ \8 A3 H dwG = (DWORD)( pLight->Ambient.g * 255 );& \7 [1 G' Z6 n. Q R
dwB = (DWORD)( pLight->Ambient.b * 255 );8 P+ V) A1 o. c3 h
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); " D+ N+ g6 w/ r- A
}3 n+ ?6 D/ E! }( ]5 x9 r! m
}% j2 m* {/ T, i" a% B) v7 U
0 h& ^5 g! {! c) N, w% Z m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
8 _) i9 {6 `9 [6 J8 q. D; I 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) );4 C8 _. i- b" E8 N+ o' `
::SetLight( bLight );
, \! u7 t1 M; Q) c3 r, @3 R( N/ D/ `
// ±ao? ?D?í???ó á¤à?
0 y) x r/ O# v0 u+ G: G! J m_pd3dDevice->SetMaterial( &m_baseMaterial );
2 |. T8 q) Q/ M& \( a' f 7 ?8 Z* K0 }' v; l
#endif // not WORLDSERVER
) A6 J8 S k; Y: G! `8 _}, W1 k. R _, B0 \- H+ c3 T, C
并更换
3 p& {1 g! t; w1 h% GCode:# m! _3 Z+ Y5 D% ^. }
__FLYFF_INITPAGE_EXT; o: X; G; u4 \- x. B( U: }; N
定义1 _5 n1 G; {- V- X# Q
* q3 r% ? S7 i8 ^0 O G9 J
8 I" S5 v% u' S* v \5 \5 ?" N7 W/ |) R: X O$ e" W
* K: @: E) Y# r" S现在终于删除我的狗屁加速..., T6 V. W4 Q: m: p+ X% F/ e% x
# Q; ^; k7 j9 Z( |2 M# p# g
; h4 f a$ E7 j8 j& _. o' t* X* O, f* @$ F" A) y& V0 b" s
|
|