|
|
食品车:
+ T' I7 Y. E( u尾翼:, p5 B( D9 Q8 p ]
6 _* ^- `! n) q4 n Q8 v
代码:
: Q4 v# z" ~! Q# ACWndAutoFood::CWndAutoFood()% ?+ j4 Z1 n) R2 [
{
5 q. F- X7 D' \, q. e+ } m_pItemElem = NULL;1 C' M$ }1 v* ^( s3 c
m_pTexture = NULL;1 I L4 M# \5 M: j. J" l
bStart = FALSE;
4 w& R$ d* k1 q. d}
3 o; z! d4 c% V& J2 R9 d! C% u
CWndAutoFood::~CWndAutoFood()
' |( s p. t( w. ?- D{
2 y8 \3 H# ^5 D AfxMessageBox( "AutoFood ist gestorben " );4 n3 M3 n% M! J0 i6 k8 |
}! h$ Q2 c, w) g5 O
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )$ | l6 e* N2 H# [. @# x) `& r
{* X- v: N$ p5 x+ _4 R8 R, g3 }0 t: R
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );3 M7 f5 `& E# S! V3 p5 R
}& n V2 n) L" I4 J: J6 U
) V! [6 ], J' e* nBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
) k/ \; O, p* n+ S{
5 P; t# Y+ `$ Y LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
/ m7 Z6 K% p8 s% _0 g9 q, M CRect rect = pWndCtrl->rect;
( Q/ E' k1 `( T; Q3 R if( rect && rect.PtInRect( point ) )
- L; O1 A/ l$ v8 Y {
4 N7 X A) B8 G* M CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );4 k$ D. S1 f& x9 S ^
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
% p; a' c# b! d8 @) y {3 J( }. Y N! i& G! I& m; @; ^' ?
if( m_pItemElem )/ d9 L. j4 R9 Y- }# F
{
! P1 s! D' ~; O6 c8 a( b' t m_pItemElem = NULL;
( r! v) X. ?& }5 d) ] }8 f: ~$ U, D# v; J
m_pItemElem = pItemElem;2 T4 H- l0 {6 B% Q+ D
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
7 b. ^ r3 |$ d1 d" E }else{
8 K, |4 s5 R% ]4 [: T8 Y( x SetForbid( TRUE );6 j* F9 n8 a) _3 ~( D" V- E
}/ ~4 l# V4 |0 C/ A5 b
}else{
" }. {- S$ w' S+ ] SetForbid( TRUE );: F7 \5 Y$ g) h5 ?# Z3 q
}8 e) D" _3 }5 m; H" Z' v
return TRUE;& k) O! L3 R3 I6 Z# ?
}
. a2 v! C" M' F# x' H s6 Q
- N0 d2 d5 V- O& l6 ABOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
% M3 w0 }1 t2 {0 P8 J: R" w{- S0 w# _' @$ i/ Q
switch( nID )" X) C7 I" c( I+ g' l
{
' E0 s# B9 E. w" Q case WIDC_BUTTON3:
% H. ~6 _# m9 I; z; K {9 R7 F+ u0 Q, Z$ D. ^) L
bStart = TRUE; t) f$ F" i2 j) p5 d
break;+ _' g( q2 r) ~, v, d
}, ~1 z/ k3 Y! n2 K( p& U
case WIDC_BUTTON4:" p( L; D( O" v, I& c7 R
{* Y* @6 R; F5 [; X* n
bStart = FALSE;
( l- x% e p( H6 J2 k; C% J break;
/ B& n) j) W9 A; G+ ], ^ }
& b3 {% h- _1 u2 T/ g0 `. @& I }$ c1 `4 a7 r( `3 V) n8 p/ V
return CWndNeuz::OnChildNotify( message, nID, pLResult );! _& C$ S: x- i8 k; z
} [/ W/ g+ s% {# ?( h. g
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
! _* A) \9 f. \) O+ Q3 I{6 y- X. s' ?. q" l3 g( i, c7 I8 g
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
) w5 w/ Q" j+ w/ I if( bStart || !m_pItemElem )9 E+ a) p. o( \
{
, r# q+ }3 B( Q/ w pBtn->EnableWindow( FALSE );. g3 y! Y4 o( e7 }1 e$ e
}else: w8 ~( F" w3 o& |
pBtn->EnableWindow( TRUE );
+ S- m6 x$ b# R7 y if( m_pTexture )% L9 J5 i; S, p8 T1 d
{; G9 `& i9 d$ w, l! X9 ~
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
7 Y* B7 n4 x3 _) a8 A, d2 @8 a$ T, g if( wndCtrl && wndCtrl->rect ). p! A4 @0 z! r- R: X: U
{
9 C8 M5 }# G) j" s m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );1 J/ Y! v c' k- P
} k) @: h c+ Q( `+ H* J
}
" I" K5 e) v; c% Q' S# b; o) R}
& ~/ j( Z2 T0 O: V" b7 p* F2 z2 [3 o0 _- U% S7 M. C, z" b
BOOL CWndAutoFood: rocess()
) }9 c9 Q T7 S+ a" S1 V# X2 \* d{* }3 X. ^4 `: @' b$ Q
if( bStart )
& v' w, [9 B& Z {
% f# }/ z. a( T3 m8 g if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
1 Z$ L; ]" j% T. V {
M; E$ [$ I4 P; ^% i% ~ if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )! U2 D0 }) f/ P% S! I" G- r
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );% B% {( j& L& [, z- e" Y
}else{; h$ H+ E9 M4 K2 w
bStart = FALSE;
~3 H- l# e& ?/ v+ P: V5 M" u, @: N) k m_pItemElem = NULL;
1 J6 P4 b3 H, O, V8 [1 S; u3 w }
! g% Y7 F1 P' x( e, ? }3 L* F/ C, @; B
return TRUE;/ U U! A+ J4 v7 w
}
3 C- j) L7 h. R+ ~0 A6 E& {0 a2 x
, ?0 w P0 s. K6 {, ]& R登录视频废话:7 ?# d! x3 D# C1 m' o
尾翼:
0 W! R7 L) h; A; ?* b1 S8 j, T% Z( g' {( p2 j+ f+ G# ~/ A
代码:
P, Y; W% n; l$ q/ B V+ D/ a: y9 j1 P0 H9 j* R5 F
void CWorld::SetLight( BOOL bLight )
6 v. p% {3 t& C1 Sdurch
- ^' h: x L2 Z9 I" _5 T: S- BCode:+ E7 M0 U- }; ^% J" o b
void CWorld::SetLight( BOOL bLight )& |6 K3 L! i2 d
{
( V! I# v0 O* A: N3 {$ y Z //ACE("SetLight %d \n", bLight);+ \' O6 \3 y) h o
, S' L/ s- ]6 L
#ifndef __WORLDSERVER ( t6 c U Z; V! ?6 |& Q7 v
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);; | F3 `! p( g j3 h4 D
CLight* pLight = NULL;" h& ^4 O4 ]- k6 H. O
6 n# D* c& x$ ?. a- e+ a$ ]
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
% E/ g$ k f2 n
0 n8 C9 i2 ~' g6 X2 T pLight = GetLight( "direction" );
! x, s) A1 o' h4 U/ j9 r7 m
9 ^! s" N4 x3 ?4 o; Y3 a#if __VER >= 15 // __BS_CHANGING_ENVIR
9 |- V ~; k0 K7 T( q5 R8 u+ _ if( g_pPlayer ){
: o6 t% X1 i1 w! s$ U. p% a ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );$ L5 b) j( ]3 a0 |& l
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!# V- K g# ^) P
{7 ^' D0 o6 h9 _- X, ?
if( pLight )& u$ Y! b: ?5 I4 s* ]/ M
{
' ~6 M3 T4 X" d pLight->Ambient.r = pInfo->_fAmbient[ 0 ];2 [" W, z) _- x9 ?% H. X1 v
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
" F `! d% J: x! ^- v. y pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
* f; U7 m& c& U/ Z
# i# s$ E- @ f pLight->Specular.r = 2.0f;
# N$ r* z1 F' R' j$ g8 i. B pLight->Specular.g = 2.0f;; L9 Z; B: X' \$ B* Q9 e0 x
pLight->Specular.b = 2.0f;
! a+ Y) u6 H! D9 d" { # R+ m' Z, I: Y( R
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
. d9 Q4 g, K( t pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
, ?4 {& [2 e0 d! e- ~ pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
& @( b: i$ q+ L p% q5 f, i 7 v8 r1 h) k- F4 i' J3 V/ H
HookUpdateLight( pLight );
7 S* d! Q- z8 _& N0 G$ J0 r6 y# B8 e9 C: m3 G& K
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );2 S* R# q {" G/ _) \, p/ z. E
0 p1 d. {+ k+ \: @) S8 q
pLight->Diffuse.r *= 1.2f;7 D# n$ M' ?! _' |* V
pLight->Diffuse.g *= 1.2f;$ i$ H! v, R' U/ ?. R/ s
pLight->Diffuse.b *= 1.2f;: o+ a- U" m: O/ g: R4 v c
2 \' d4 T& i3 L. J G1 h' t# \ pLight->Ambient.r *= 0.8f;' l. V& `) A1 B. ]2 c
pLight->Ambient.g *= 0.8f;6 f( b7 D# w8 u
pLight->Ambient.b *= 0.8f;
( q0 V' d2 P1 M , X5 b9 [1 K7 P0 r! W6 D1 {; r+ [. G
memcpy( &m_light, pLight, sizeof( m_light ) );3 y4 u6 z8 C) z+ X
6 U" G1 b# m# A D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);; T# I2 o8 c9 ?5 S+ ~4 |9 @( b
D3DXVec3Normalize(&(vecSun),&(vecSun));
; t. ~4 g$ o4 i' f) d# ]* H+ ^6 P pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
% H/ N) M* S9 N. |3 d- Z pLight->Appear( m_pd3dDevice, TRUE );5 r# G4 C) q& @* b9 z. ^
" S, Y' |/ ^4 A! n DWORD dwR, dwG, dwB;0 g# G* P% |, Q0 @+ W/ G
dwR = (DWORD)( pLight->Ambient.r * 255 );( N' D9 F" C8 p0 h
dwG = (DWORD)( pLight->Ambient.g * 255 );
# H$ N% h5 g2 \2 C) V, T- z dwB = (DWORD)( pLight->Ambient.b * 255 );
( w+ z. ]% |, i! P5 [/ M" r+ G dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& x; S: f- v1 f9 h/ h }
+ S% X7 X2 j4 H( L6 o }& y7 ~& v# H7 D9 T; f, B
}
! D+ ]( b% }5 H3 E# \$ w2 E else3 S6 e3 Z- j7 T& a2 U7 H3 H
#endif
0 C- F2 l% n3 Z T! N6 s5 _4 x# O; Z$ m" d3 j B
if( m_bIsIndoor )
6 s9 D8 R+ Z# ^ R( |' p4 H4 v {
" b) |8 S2 A9 ~1 F9 ] if( pLight )0 m3 S9 R- P! L( X+ h( J; {+ e
{
6 p! }; G g: C# m% T/ Z8 Y7 v1 f9 m // à??μ oˉè* " i. f' k6 l+ _: Q+ i6 i+ t- ^' ^
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;0 w' C. g- J# F( j; F2 O
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
1 {. G2 t) r8 F1 E0 R, G& N pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
! Q' e! b6 } H4 z% O
6 R+ L. ^' r" w* [; I' R // oˉè* ??à?
5 x$ v/ f, v5 N pLight->Specular.r = 1.0f;
7 W# \& K6 j% L y pLight->Specular.g = 1.0f;. f9 W7 f4 H8 Y! o9 e* n- k) L# w+ E5 A
pLight->Specular.b = 1.0f;
6 W. J& d% L/ M4 A* T: O& l // àü?? oˉè* ( y% @/ q% u9 q6 L
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
- R" P6 Z3 p8 g% i3 }- f pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
8 `; G' x; R ?; _ pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
( R5 _; W! t7 Y I' e$ R- r
7 C4 q9 Q V8 h# ^! N* z. Z1 Y3 F if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.$ `0 \7 z; Y* }) l, @! q: ^
{
+ Q8 d" U2 t+ C" I# b pLight->Diffuse.r *= 0.6f;
" |3 o" ^ E3 j; i8 @3 N pLight->Diffuse.g *= 0.6f;* o* e6 h& e( C( n" T: v
pLight->Diffuse.b *= 0.6f;
, Z5 ~& c S, [' T6 j' G! _ pLight->Ambient.r *= 0.7f;& `( h1 S# e- m, D; v5 b
pLight->Ambient.g *= 0.7f;
' R5 k% S9 o' M. F+ ] pLight->Ambient.b *= 0.7f;- G7 C* T- Q! [: `, D- A# x2 G
}
' p7 r4 e( H, k/ v+ x8 s* b! p0 l& x( S" Y# e! j
#if __VER >= 15 // __BS_CHANGING_ENVIR
9 M/ a$ N4 }8 R/ r6 g+ {2 F if( g_pPlayer )8 n. I0 X; U: e8 V7 c. C# o( d
HookUpdateLight( pLight );
) j6 R# E( P6 m' d#endif
9 A' W2 }( v C4 ^+ L' J memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );2 T% |8 J# d2 |5 W
! T. e- n9 G: y$ e
pLight->Diffuse.r += 0.1f;
4 S# Y$ ]5 F* g# u+ F, b G2 I pLight->Diffuse.g += 0.1f;
3 V5 B' D1 z4 f, W pLight->Diffuse.b += 0.1f;* `0 [: y5 l3 a" J1 x
// oˉè* ??à? ! U" B' f6 I- {1 ~9 p
pLight->Specular.r = 2.0f;/ X! q0 P3 E; g1 l' P
pLight->Specular.g = 2.0f;1 ]* Y3 g0 N9 Y) t. C" \
pLight->Specular.b = 2.0f;
# C/ ^$ _8 [7 G' C6 I // á?oˉ 1 F( e, J: B& I8 A; A
pLight->Ambient.r *= 0.9f;1 g, _% G# Q- g3 J& D
pLight->Ambient.g *= 0.9f;
" j2 q) J7 R- E6 | pLight->Ambient.b *= 0.9f;
9 @% S0 L6 t" r$ j; \, ` [& \6 ^# [2 c* e& l" }; n
memcpy( &m_light, pLight, sizeof( m_light ) );; l; i$ E+ l' y! A& o8 s2 e
2 b7 p0 { U. T: D0 Q pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
" D, x) G8 }; q* V/ }6 V6 D pLight->Appear( m_pd3dDevice, TRUE );, ^: c9 a. y$ k8 Z$ C+ j
2 `- C/ \3 @ v5 b& N; l* ?8 u" T
DWORD dwR, dwG, dwB;: s* K6 T& \, _# ]0 r# l6 I
dwR = (DWORD)( pLight->Ambient.r * 255 );
: w! f2 b$ A* V dwG = (DWORD)( pLight->Ambient.g * 255 );; [. N9 t( x: z0 G8 G6 [' C% V
dwB = (DWORD)( pLight->Ambient.b * 255 );
2 ^: V5 ?! @& ^( q dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; Q1 F& d5 Q0 j8 C, n4 e }1 q9 o$ P1 r$ k* m7 \1 I; [6 l
}8 e; `) S3 w( B1 j/ m c3 J/ W. A
else e) v M! e" M1 `# f2 N( P
{
: s" k- e2 J' |* ?% j if( pLight )
$ e, V: h" Q* c8 I+ k1 ?4 n {! s) P. p2 h, m! M8 S
3 e) M8 o: u J B8 W; @7 K4 {& n int nHour = 8, nMin = 0;
- w. W1 A& Y' a1 ?% t5 A# s #ifdef __CLIENT
* ]0 a5 f$ S1 J' I2 w; _ // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
: ^$ E' Q7 A2 i( \. E! i3 K4 o nHour = g_GameTimer.m_nHour;
7 L3 g. s( k4 V( Q6 n nMin = g_GameTimer.m_nMin ;
! p' Z/ |" H1 j R% U6 A) H #else
* w/ d9 I; p4 o- Z4 C( \ // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
7 U- K7 e9 n4 G% h7 I. v' r1 V, n! F if( m_nLightType == 1 )
, N% t: f, \, {: s' k9 A nHour = m_nLightHour;
z c! i# Q* _2 D #endif
" J+ N$ R2 J9 x0 g' Z nHour--;
/ s' l3 t2 \, y if( nHour < 0 ) nHour = 0;
0 L" Q, @3 T. u- f |) b if( nHour > 23 ) nHour = 23;
9 ~+ L I: k! h" [" R4 _7 S9 z) Q! _% h8 E8 S" _+ y1 h0 Y
//if( m_bFixedHour )
6 m+ ?/ n8 W+ r3 Y4 y. E) X4 L // nHour = m_nFixedHour, nMin = 0;
/ a z6 b$ m1 z2 e8 m& K) x6 ? LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
9 ]( n/ c3 l- v$ F# f( w LIGHTCOLOR lightColor = m_k24Light[ nHour ];& Y# e6 J4 D" O
, U/ s8 o# ~+ c
//m_lightColor = lightColorPrv;
8 D# i- M4 n1 b9 `0 h) @ lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
2 A: m. t, T( ~: ^7 }& n' b2 m lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
6 f; n7 z2 x4 N/ S) x# A lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;+ {9 B' o: |/ I! E. c1 N# m* n; q
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;5 `( V2 r! n6 W. q
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;- ]1 |5 I) ]4 `' |- D* |
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
; O) f( b2 X; T! u* o6 G // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
+ P/ F; `) \3 f. q0 G% s0 u
4 ?' Q) L- l7 m |. \) n2 J" c // à??μ oˉè* ' o9 T8 f* h) i+ o) x( f
pLight->Diffuse.r = lightColorPrv.r1;- m8 X9 a6 d- ?+ U9 o E6 K5 w
pLight->Diffuse.g = lightColorPrv.g1;
+ E- J7 {, I3 J! p. B pLight->Diffuse.b = lightColorPrv.b1;
' |; B$ M3 ?: H" @ // oˉè* ??à? 9 a- X, R3 H' K
pLight->Specular.r = 1.0f;
- o; T7 R/ n# W, v* Z pLight->Specular.g = 1.0f;- L* ^% ~" x! J5 k( l6 E+ i+ |
pLight->Specular.b = 1.0f;/ n9 q' d3 u* h
// àü?? oˉè*
6 u3 i8 E+ I- t3 i7 r2 Q" x pLight->Ambient.r = lightColorPrv.r2;" y9 v) Q1 M5 C: R
pLight->Ambient.g = lightColorPrv.g2;; b8 s2 ]" U5 D! w" Y0 g/ x3 ~. L
pLight->Ambient.b = lightColorPrv.b2;
+ U) e9 _3 O! Y! @% c1 D7 T8 @5 Z: o; o0 | J8 r/ N! X
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# u+ o5 `- i) @; r* B {! d; [/ c6 w2 Q4 T
pLight->Diffuse.r *= 0.6f;& n/ c( z$ m0 e: S
pLight->Diffuse.g *= 0.6f;" }; A; U( G$ x1 y6 Q$ o6 w! G
pLight->Diffuse.b *= 0.6f;5 s/ ~5 c# a7 W' x7 y$ I
pLight->Ambient.r *= 0.7f;- t) u$ j7 |$ L8 w
pLight->Ambient.g *= 0.7f;
+ {% b2 E* S4 l/ E/ U7 K pLight->Ambient.b *= 0.7f;4 W: j6 S! v+ Y: c
}
5 _- N0 A. B3 K# t3 {- J) C 9 P; d3 J: I- o' Z! Y, Y* K
#if __VER >= 15 // __BS_CHANGING_ENVIR
# z6 l9 d7 Q: I. a6 D- L if( g_pPlayer )* w m. c3 b0 `" }/ Y
HookUpdateLight( pLight ); : f' S) v) ]2 T, `
#endif
6 |1 P# }' s: l, h( I memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );- F, i, a' r- I q& a; m( X
9 ~: J. g/ w, q% }7 I: t$ f0 l
#ifdef __YENV
0 q) ], y) k4 U; m' \2 D4 X pLight->Diffuse.r *= 1.1f;" w, Q3 ]" C/ G( z
pLight->Diffuse.g *= 1.1f;
" w0 E5 p8 G8 b, s: w* N% r& h pLight->Diffuse.b *= 1.1f;/ c" F7 d- ~0 C. n, c* v
// oˉè* ??à? # H/ |' A3 l- ^# O( z' [! g
pLight->Specular.r = 2.0f;
3 ?- V, K1 p( Y; ?" D pLight->Specular.g = 2.0f;
; a3 s9 O5 p+ p$ ^2 M& x4 E pLight->Specular.b = 2.0f;' H8 q6 ?) f$ B6 q& X7 u6 t
// á?oˉ 0 M& Y n% G7 L0 N! P" @' H
pLight->Ambient.r *= 1.0f;
( ^+ k. { X, N) _- h9 h0 M pLight->Ambient.g *= 1.0f;
; Z" i6 i6 I V9 z& @" b& S E: k pLight->Ambient.b *= 1.0f;
" u$ i/ ~ D" E. Z& X#else //__YENV) Z, k( W+ ?6 D# n- r
pLight->Diffuse.r *= 1.1f;
5 }. y) Q5 W# K% L4 ]: z, ^ pLight->Diffuse.g *= 1.1f;1 u" }: Q% Z3 b( ?2 t: v& N: @) t
pLight->Diffuse.b *= 1.1f;
% V8 K% S. F/ L# ~2 [7 d: g8 @# Q // oˉè* ??à? . _& k& H6 K0 y, w! p% R
pLight->Specular.r = 2.0f;8 j* r% r K0 x
pLight->Specular.g = 2.0f;
% ]+ @- K6 l$ Y* e pLight->Specular.b = 2.0f;
* f- F! g& O/ F0 ^! C0 q6 D! l // á?oˉ " P1 ~7 ~: ~5 j B7 z
pLight->Ambient.r *= 0.9f;$ w$ b" E4 A0 u4 l, D
pLight->Ambient.g *= 0.9f;
# [3 l1 _: ]2 W- p, w v1 U- `5 V% } pLight->Ambient.b *= 0.9f;
% w3 n: Z# b) u, @ p4 {; g#endif //__YENV - H6 i; s; z, b4 }3 n. A M
% ]) A% C' z4 i9 b& ?* w8 Z9 B# _3 E
memcpy( &m_light, pLight, sizeof( m_light ) );0 m6 n+ F! a- E5 Q! g' q' g9 h% J
9 m8 w* ?2 C" L% e% `; `' g- O' o! k D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
, ]/ }( Y, _0 _# b D3DXMATRIX matTemp;
" `" H( C4 C+ Y8 w- P/ P static const float CONS_VAL = 3.1415926f / 180.f;( j( T) d# e3 H" T1 q5 m
& l3 o5 L9 f0 p- E
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);0 ~# P( k' ?$ f) N+ I6 m6 Y1 E
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);+ B2 W# _* |8 R% N2 e/ }
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
9 P0 a: S8 ^/ q pLight->Appear( m_pd3dDevice, TRUE );
1 S! |7 e H- M7 `0 h) G& P. p. l( _3 W& n
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
# [) q6 n( d( T" X% c" t // D3DXVec3Normalize(&(vecSun),&(vecSun));) d0 q$ C5 U- t x1 G; ^2 H
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
( e6 Q6 T2 t5 U$ d
% N! a1 { r1 p7 ]1 a DWORD dwR, dwG, dwB;5 z6 x$ I) L( s
dwR = (DWORD)( pLight->Ambient.r * 255 );5 V5 w4 ^ O: T& g. K i
dwG = (DWORD)( pLight->Ambient.g * 255 );
4 h. x! Z3 d2 k+ I dwB = (DWORD)( pLight->Ambient.b * 255 );- L" @* R0 p! u5 b$ j# B
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" E( B! x3 ]3 f0 E2 ~0 t3 D3 y }
1 E8 u# |* c7 Y }; c7 @, c$ _+ o' `9 [) L# `
6 a% ]: m: l5 |! W- k m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );5 L, ?$ U; J! f) z- V8 e+ ?" `
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) );
' {# _ f5 o' N# R! Y" F ::SetLight( bLight );
* D8 O% H4 E$ e
1 q1 D% o- Q$ Y+ K // ±ao? ?D?í???ó á¤à? * C3 F. R9 i% N+ Q2 U
m_pd3dDevice->SetMaterial( &m_baseMaterial );
% V9 N9 x4 _1 ^8 B6 N$ n
1 I% ~/ Q# g( Y; g2 a$ B0 M* H" {#endif // not WORLDSERVER% A6 [7 Y/ O2 u
}" t1 X3 a4 u2 E: u7 ~4 Q
并更换
% A+ h3 Y0 C( H! v! \Code:: ?8 F8 K* l4 ]. Y* r
__FLYFF_INITPAGE_EXT
2 ]6 Q! X3 n7 I, {% A定义; y' Q; m9 f$ M0 m; M
( F, ^' w r4 D+ J
3 @. Q5 M5 I3 V+ n7 Z. y
+ L/ N- J1 b8 k: h
; ?8 ~4 f7 i/ i( H现在终于删除我的狗屁加速...
$ t) ]' j( x1 {" p% s7 U5 Y6 `2 D0 i: c; ~1 a- o. S
. V$ Z- O7 a9 \; j( f* G T, y: h+ T8 p1 T: ?8 @# Z) e
|
|