|
食品车:
* T( \ ?; ]$ ?0 |# H尾翼:
9 S M! c2 E1 ^7 d9 e5 ?) i2 U5 z
代码:5 U7 ^ G" O: G9 R" n# {
CWndAutoFood::CWndAutoFood()& e9 p M% n; W& H3 T& M
{- {% t) }- v( |+ h' w( H
m_pItemElem = NULL;
8 P) q+ @9 F- p8 z! p# i m_pTexture = NULL;2 R* L) B0 H" G
bStart = FALSE;* Y9 |$ D6 {8 O; q3 q2 a' \5 U
}
! x4 r' _* t* D9 |+ @& m5 {! d5 c9 D" E
CWndAutoFood::~CWndAutoFood()+ `0 }' P- O. j4 F% v9 O
{
8 c" R3 H1 P% S0 Q& h0 H8 F AfxMessageBox( "AutoFood ist gestorben " );
! z) k: K% I1 B( U) U; p2 s}
- i$ N5 L& y2 k9 B% }BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
! D( l% V1 ~ |{! @8 E3 d3 K8 J8 g5 W6 k
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );& {% R1 d0 o4 K( {, d0 O4 S
}, _1 }# N+ J8 A9 \) i
3 a/ J8 z. F8 ?9 {& cBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
4 H, q5 |2 ?% H; \0 V: I4 w# O7 o4 S# [{
/ @- z3 p0 |- v LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
" u( ]0 b) I6 \) V) h CRect rect = pWndCtrl->rect;5 A( |9 \) R0 m9 j) U, L- u) v! g! L) j
if( rect && rect.PtInRect( point ) )) _8 h( K) V# X
{" p f1 O, _4 W( X
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );' x* r, q, D% b
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
$ r1 k3 H, R8 r q, P' ?9 @7 g {7 ?9 c2 E& \: Q. u* f. ~
if( m_pItemElem )3 D G/ F# {7 U. Z/ o) B: o, d2 \
{" X& ^ ~% n, E4 A' p& h* Z
m_pItemElem = NULL;
- y1 o! y) d3 p }7 Y2 I3 D0 u0 f; a5 U. `. @* ^+ x
m_pItemElem = pItemElem;
* a3 j, f! a+ ^: i/ b: t; j3 j2 X m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );4 m( [# x! r+ f4 J" e
}else{2 y& G. m$ E2 M6 N A' r- G8 j8 w
SetForbid( TRUE );
& \: S) l& p8 W! W; ` }$ y: b/ R: D+ p7 J6 |5 G
}else{* w% C3 P: K. S4 Q" }7 F
SetForbid( TRUE );
. |+ B- j8 U1 f3 @; G/ l }
% j4 S# e5 e, k5 n5 s; n return TRUE;
5 Y% ?0 z& q# j5 x; q}
& M* e/ w: [5 L2 W
' V6 n% j% L6 @: u1 v* l" yBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ); N% H( Q2 g$ o) b+ i% S
{
+ q. T2 U$ Q) s. `: M switch( nID )
7 ^+ O; K0 k3 L) T! r! y {! L3 S/ `5 Y* R* `& ^6 T
case WIDC_BUTTON3:; \0 y5 m7 L1 q" e
{
: y9 ], `0 Q, p5 Z- ^ bStart = TRUE;
- S# |; n% F7 O/ G- C break;
% {4 D. F$ M$ F8 |8 o1 c H }2 W8 a3 p: X/ `: R4 C, H' T
case WIDC_BUTTON4:1 ~7 U {, g" ?$ _6 g
{+ k) [/ c! f' n& t2 G8 L: G0 H
bStart = FALSE;$ k4 _, j+ J7 G# ~1 Y
break;8 g3 ?4 Z% S# B
}
. U6 ]& o, U5 A" S6 L4 n }
" X! }; D! j$ p% d/ s return CWndNeuz::OnChildNotify( message, nID, pLResult );
3 \# t/ l# Z2 s( f) M+ l}
% G" N4 T' {0 g+ l: `4 O2 B- t% Svoid CWndAutoFood::OnDraw( C2DRender* p2DRender )' [) p& w8 i: n: z3 J
{
+ b, q5 Y1 T; _1 t7 B CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
4 o7 @( a3 i6 J3 c+ l if( bStart || !m_pItemElem )
4 b& A6 [) s) A6 z {) c- \, N) w) y+ C! C+ o0 O4 N
pBtn->EnableWindow( FALSE );
' f3 k( \0 m1 K( N }else
" B# z3 T) _& L pBtn->EnableWindow( TRUE );* m& }6 ~( Y% Q4 g
if( m_pTexture )! s7 c1 f) b/ n8 Z' Z; k. f) X
{
2 u% Q" W0 L e8 W% [; l' a LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );* w0 H7 t+ _1 j, C+ n. ]# S
if( wndCtrl && wndCtrl->rect )/ \3 C9 y# C1 u* |) l# W
{
# }. }9 ?: N8 k$ v* c m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
% z$ B" z2 d4 J' D+ F }" O: G/ T0 s% a+ ?6 L- z
}
3 u3 q$ B# N3 E}2 \; @& h; l2 c! o
9 x; J0 V. d7 k& {
BOOL CWndAutoFood: rocess()! g1 V& E. ], ~
{% L9 Y( F# }- g- i' l5 }
if( bStart )
: |2 M( S2 T( E; E$ W4 |$ z {0 }: V A; C0 f3 e
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ), _6 o9 A+ M5 \0 V. @: y
{5 u% W s' H# {/ z8 j5 X- E7 u5 i8 t
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )) T9 c3 T! Z! E; O9 p, t
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );" b t, u* \ n9 B3 h( H
}else{+ n2 O) G/ P& K/ F) [; y2 o
bStart = FALSE;
; @& g4 m0 t% [6 c+ i m_pItemElem = NULL;5 G+ x9 W7 C# k) f" P6 m k+ P8 Y4 P) J
}' H' S6 i8 b- r7 O
}
) f+ c$ G2 u) A; e# i return TRUE;
" l# t: x5 b Z5 E}$ c$ G* U0 v/ S; k# e5 e
: T; B& ]# |( `2 F登录视频废话:
% F' A) p8 v+ L: Y- ~* G尾翼:
! X7 I/ r0 g- b, ]/ S6 P
0 t, P- y' p3 Q; j代码:
7 K2 ~/ j* T* ~+ ~. G
, ?5 J9 s; k9 T( J) qvoid CWorld::SetLight( BOOL bLight )
2 C5 D& u$ e1 _6 ~/ Ydurch
n2 b5 Q2 @- @. M- y; iCode:
6 e# f1 D# S' X, Svoid CWorld::SetLight( BOOL bLight )7 t1 V' z# D) |6 x
{9 v4 j7 {$ |0 M) U5 Q
//ACE("SetLight %d \n", bLight);3 q f& [2 t( C3 ^6 _
1 e7 r+ m# i" q9 I; O0 M8 O#ifndef __WORLDSERVER 5 ?+ W9 L% b' F
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
# ?4 A- |$ X b4 \* c9 `% y CLight* pLight = NULL;: E; h7 v7 \) U9 E$ k
, i- t& L3 w6 ?% I7 ?) C
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
0 W3 K7 V' H0 O0 f0 @7 {3 L2 R
9 S1 |1 Z) W# W) M pLight = GetLight( "direction" );
+ l ~5 h+ X$ Z5 v1 [6 u+ _ L* _* s# r
#if __VER >= 15 // __BS_CHANGING_ENVIR
7 r& e1 Y4 Z) \5 v! `8 n if( g_pPlayer ){0 Z2 k6 S/ `# \6 [6 `5 K9 }
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
8 u; {$ x% ^+ | if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
' ^& }" s& y+ p1 C# w( P0 S {+ i! w6 ]# l/ t* o! g/ n
if( pLight )
& q% G, L) ?1 @& l( B* n {8 R8 |( z: y2 Y0 Q
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];$ t. A; A" l. J+ @& j- ^
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
+ [7 g" ]8 X' ? pLight->Ambient.b = pInfo->_fAmbient[ 2 ];2 k3 ~7 }! Y# b$ ^9 e% m! X$ z
/ X% Q" n# I7 R
pLight->Specular.r = 2.0f;
# C: E* i/ i4 q O! C0 G pLight->Specular.g = 2.0f;
1 s, j; X- S3 k% B/ o. l pLight->Specular.b = 2.0f;+ u/ h. s8 Z# _" J
' b& |/ H) a, h- {8 ]- k( p
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
* n/ t. @+ C4 }% M7 o2 t pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
% ?) `% e% q7 v; n# Z8 d, h pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
% ~6 U& D; H- ~! f5 m4 [ / {7 [& N0 |0 U
HookUpdateLight( pLight ); " C) q( D2 J2 Z" k) c
" Z) w; H7 F+ L( }
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );) f4 U, I7 V7 P+ q% J
2 B1 [; b, V9 e8 I' ^) M* O ]
pLight->Diffuse.r *= 1.2f;5 o$ H) W) L$ t" Y/ d
pLight->Diffuse.g *= 1.2f;
7 i k( Y. }6 g5 U pLight->Diffuse.b *= 1.2f;
) N# S6 |1 V( o' m4 [7 }! O$ r8 p& _
pLight->Ambient.r *= 0.8f;
" |7 I) {, r% I% U U6 j pLight->Ambient.g *= 0.8f;
* z) [/ \. n6 H ~% d8 N/ ? pLight->Ambient.b *= 0.8f;
* ]8 s1 t+ _8 U N* G ! ]4 B. \+ V- H, H
memcpy( &m_light, pLight, sizeof( m_light ) );
1 H# w1 J+ F) B" ?: n( l: b- F- z8 \4 D+ ^7 H
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
; T: a3 N& R: @+ Y( u D3DXVec3Normalize(&(vecSun),&(vecSun));9 |! F, i2 q' c: b, E: |) [
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
1 b+ w. v0 f1 S( ?3 d( d: V pLight->Appear( m_pd3dDevice, TRUE );, n5 X0 Z; @, S1 B0 k: X+ d
4 \6 L; o0 f! k5 o DWORD dwR, dwG, dwB;
- J" ^; w* r2 [$ @& Y" [" z/ n% f dwR = (DWORD)( pLight->Ambient.r * 255 );
: b% a' U, m* A0 W& x% _ dwG = (DWORD)( pLight->Ambient.g * 255 );
5 S! e! ^$ |' T X2 t dwB = (DWORD)( pLight->Ambient.b * 255 );
& F# Y5 }4 S, k9 ~8 c& g% _ dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );( ]. }' t/ x. e" d7 s2 O8 p# }
}
0 ~) M2 q+ ]: h: E- \ }
0 E/ z1 b; ]. f' R0 z }+ v _; u1 L# A' e' a% V% J* h
else
5 `" b/ q0 D- i+ j8 `/ j, _#endif ?( h) y j5 `
2 {7 Z j' j* l if( m_bIsIndoor ) _3 _2 S! V. i
{
; P1 Q) U9 v' K if( pLight ): Y9 S U1 w% [( O8 u4 |/ N
{
; v3 g, q: K5 ?0 i( d // à??μ oˉè* : `- l! s- Z( X$ i! |
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
. R) ^' i+ Q' s8 \9 g" W! Q# Y, D pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;* F$ W R" r8 {7 Q p3 I
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;. L/ t" t: d. X3 _! x/ _5 o
+ l# t% |% { ^* H1 J) h. G! q // oˉè* ??à?
. i6 x( G* ~1 E( P+ \ pLight->Specular.r = 1.0f;" _5 m0 S+ q! i1 g+ p! X8 g8 k
pLight->Specular.g = 1.0f;
" g$ `! S; p+ [/ p pLight->Specular.b = 1.0f;6 C# {3 G6 P1 B- u0 C
// àü?? oˉè*
$ E6 `1 d5 A3 Z& x; N: ]2 r+ X pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;9 N+ p. d- e# |1 D7 ]! l
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
8 ^( u5 e' k* f& H7 l pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
7 k1 H1 o$ s7 h; B
- P% t) M' U7 P0 M if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
0 }. ]9 |5 \; Z' F4 N( P- e {) d7 D9 c9 T" l* f
pLight->Diffuse.r *= 0.6f;
4 X/ V+ a. E2 ~2 Z pLight->Diffuse.g *= 0.6f;+ Z1 C6 {5 G2 u# p5 I
pLight->Diffuse.b *= 0.6f;
. W% \) U% h; v! Q" x' X& X0 N9 a pLight->Ambient.r *= 0.7f;
9 }% \- c; Z% s) ^5 b# Y pLight->Ambient.g *= 0.7f;9 x7 s- s6 S. O. }9 x4 l2 R+ a) b
pLight->Ambient.b *= 0.7f;5 D, X: ~% w& E) C* B. `' R. L
}+ d3 ^% H4 X7 k3 u% _/ p6 @
5 F* P' m, V& f* u9 {
#if __VER >= 15 // __BS_CHANGING_ENVIR" S; Y, E$ ~2 j; h% d$ q
if( g_pPlayer )
6 x5 o% d3 o+ ^8 l7 f+ u HookUpdateLight( pLight );$ k$ a$ z# y8 w9 t* E I
#endif
- `/ [4 [5 l ]8 R: A6 M memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );2 e; U6 _+ F4 P( Z
8 W" {5 q+ f4 ^' G pLight->Diffuse.r += 0.1f;
$ N( _5 A8 X2 \ t& w2 ~ pLight->Diffuse.g += 0.1f;
' k2 s' s' G+ ^ ]) Y( f( a! _ pLight->Diffuse.b += 0.1f;3 E. f5 ~$ X0 b( v9 w$ \
// oˉè* ??à? 5 A T' y+ m3 t: L# n' q
pLight->Specular.r = 2.0f;/ A+ F& s7 m/ T* g) C% U5 Q
pLight->Specular.g = 2.0f;0 {" E7 x+ d5 d' `3 o4 E
pLight->Specular.b = 2.0f;6 E* z0 x4 y0 Y) {( B
// á?oˉ 3 S' S3 M# e, @
pLight->Ambient.r *= 0.9f;
" g9 @/ K/ m; g pLight->Ambient.g *= 0.9f;) d3 N3 f" ?9 \$ F
pLight->Ambient.b *= 0.9f;
9 S5 k& m. [3 ~' ]% }0 k( W$ i$ Y' h# J/ c! `; _6 O0 h: E; \8 |. V
memcpy( &m_light, pLight, sizeof( m_light ) );9 \) s$ {# B d4 [; r! {
9 q2 [! v& `2 c6 b: ? pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
7 X8 D6 R6 r8 J pLight->Appear( m_pd3dDevice, TRUE );
' L) V$ P8 G& Y$ W " g5 k- y0 K/ R# D; C9 u5 `
DWORD dwR, dwG, dwB;+ [2 d+ m- B& g3 b! B
dwR = (DWORD)( pLight->Ambient.r * 255 );, R6 [. T6 f% |- ?! X$ z
dwG = (DWORD)( pLight->Ambient.g * 255 );
8 h$ q6 h& G5 D5 w9 ]$ l7 U1 z dwB = (DWORD)( pLight->Ambient.b * 255 );+ L5 }9 }9 W2 E0 @8 |4 P: e; w
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );2 M8 @: f& L9 S8 g, L. F
}' @% O) n; O) w& G0 g$ } Y
}
3 z; {: j2 t+ n2 R/ z else
* [7 M+ X" Z0 r2 k% ~- U4 T5 c {
$ f; E( [" q, A o! B( p( p) b if( pLight )
3 ~4 P3 K" l ?2 p {5 h* [4 d# X; L) P3 N2 b
# w; E' ] O6 M: j: u- l int nHour = 8, nMin = 0;5 M3 L# {, P, P9 ~" U6 `
#ifdef __CLIENT
# L& Y; X& T0 d2 r8 L; M // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. * l, E! C: M* S
nHour = g_GameTimer.m_nHour;
. N& k1 ]% I- D- l) m5 n nMin = g_GameTimer.m_nMin ;8 G6 z# a/ M1 i1 |7 R6 P4 M
#else1 ^7 q. C' W5 z6 a+ k
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.. W5 J' F: I! o6 ]( }7 Z$ Z1 m
if( m_nLightType == 1 )- P/ }4 N1 R; a8 f1 Y& t
nHour = m_nLightHour;
8 |+ S) {, h, l9 y #endif( H C- D& t" j3 B3 E
nHour--;4 q6 A, U0 d4 ?9 ~, w$ x
if( nHour < 0 ) nHour = 0;$ K: r8 m3 ~+ |: n: ]/ w# w
if( nHour > 23 ) nHour = 23;
5 h& d4 k% _+ Z2 j
; g1 Z/ P6 u" t7 C: I; E) n //if( m_bFixedHour )% `6 v2 K3 K! u
// nHour = m_nFixedHour, nMin = 0;
3 l4 X5 |/ ]* H' U. ~1 ]0 j! J LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];. e& Q _, R# D$ I8 f' Q$ v8 o
LIGHTCOLOR lightColor = m_k24Light[ nHour ];- L8 i; ` U& ~7 `- ~
* r9 B4 w2 z/ x6 |+ e9 Z4 U4 ^: {; W3 W
//m_lightColor = lightColorPrv;
. a0 N6 L! I3 S" p lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
0 i( o. B1 h/ c9 b" b lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
1 p. c3 B) y( u- l! o lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
8 n& l9 l9 @$ c. H( B4 D4 D" P lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;9 r2 c9 i; @+ ~! y( {
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;. |: U3 ` L/ p. k M8 ~7 \9 i
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
. _. V0 Z3 d! C // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
' ]( C1 s8 p' B" R' s8 S1 N5 `" }8 C- g& ]: e
// à??μ oˉè* ' r: z% m$ D$ b& U
pLight->Diffuse.r = lightColorPrv.r1;
0 A! O4 _' x9 x pLight->Diffuse.g = lightColorPrv.g1;
2 f+ c2 h& I, s1 N$ \ pLight->Diffuse.b = lightColorPrv.b1;
: \; q* r; x2 \0 [& r // oˉè* ??à? 6 x- _; l% Q( m2 `+ v
pLight->Specular.r = 1.0f;8 f- w/ U7 e4 O' _
pLight->Specular.g = 1.0f;
% ]" U8 m+ ]4 m5 X9 _ ~ pLight->Specular.b = 1.0f;
2 a; {2 W- b% k% q // àü?? oˉè*
5 I$ B( H) N9 J# e" y pLight->Ambient.r = lightColorPrv.r2;. d* g% ?1 I; [8 c0 \9 p
pLight->Ambient.g = lightColorPrv.g2;
9 ^( L0 s7 r, ^8 e* W- T* v pLight->Ambient.b = lightColorPrv.b2;% {' K9 g! g. l6 b6 r
) O3 F/ z- z4 v+ |- i if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
8 f$ I: e0 k M% {6 ~7 T: d. J {
! B0 k0 C+ c, }& A: f pLight->Diffuse.r *= 0.6f;# v% u& X0 q; h/ C/ C2 R y7 y
pLight->Diffuse.g *= 0.6f;. q% o, s& I! T6 d# D
pLight->Diffuse.b *= 0.6f;
# c1 `8 o& }+ {3 ?6 z5 R- A8 [ pLight->Ambient.r *= 0.7f;$ r; {+ d3 ?" C
pLight->Ambient.g *= 0.7f;3 _7 D1 A% j9 G) H+ I& d% I
pLight->Ambient.b *= 0.7f;+ T1 M# ~- u2 U( L
}2 {) |2 `8 Q7 v0 k
* a! h9 ~! `. ]8 m. e9 w- m" A#if __VER >= 15 // __BS_CHANGING_ENVIR
5 S: d% T$ n' b0 ]0 s if( g_pPlayer )
: g2 ~' A, D1 ]$ e HookUpdateLight( pLight );
$ r# k+ {3 {7 S& V) P" U' J* `#endif
: y2 i2 R: V6 M memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );% S3 \2 Z# O5 g4 `8 U# F+ [3 W! R& B
" \; d+ B8 i* N. R, j1 [#ifdef __YENV- `/ M1 X( ?' N( A7 {5 p! _
pLight->Diffuse.r *= 1.1f;
, Y' M7 p4 N& y4 i5 Z pLight->Diffuse.g *= 1.1f;" y9 _- J1 \: ~7 B
pLight->Diffuse.b *= 1.1f;
, n( B6 Y4 R, l' X& @5 M // oˉè* ??à? 8 k7 [+ |0 i( ?% k& ?7 P
pLight->Specular.r = 2.0f;
5 k- K V1 ?4 ~" M4 g+ F pLight->Specular.g = 2.0f;/ F: Y, G) H3 a, K* t0 K5 \& m
pLight->Specular.b = 2.0f;
. `+ c+ {+ m7 |, P9 j: g" C // á?oˉ
% X& T& B, z! g9 ~# n pLight->Ambient.r *= 1.0f;
5 R- [% r; {9 C pLight->Ambient.g *= 1.0f;& U6 g) @9 f" d
pLight->Ambient.b *= 1.0f;
: I6 Q F9 v. W _, g3 F+ J8 V4 c" t#else //__YENV
) ]4 A3 d2 z& g+ L2 P' B pLight->Diffuse.r *= 1.1f;7 ]" W6 P1 q3 R# w+ w
pLight->Diffuse.g *= 1.1f;
. N7 B4 u) v. F. s9 P- w7 d pLight->Diffuse.b *= 1.1f;4 R2 q0 r* ^4 o4 v; ]# s+ m
// oˉè* ??à?
* s+ j5 I7 Y4 F5 j5 K+ z' H pLight->Specular.r = 2.0f;
1 W- r$ M7 o& {$ D pLight->Specular.g = 2.0f;6 @" |, I6 F" n3 N
pLight->Specular.b = 2.0f;( s1 u5 N. o: I) t7 Y# p' A
// á?oˉ
; A2 [$ k: x+ Y. ?0 m pLight->Ambient.r *= 0.9f;9 T4 t/ x, t5 B0 m
pLight->Ambient.g *= 0.9f;- P, d5 p3 Y0 ]% c, ~8 j4 N) d
pLight->Ambient.b *= 0.9f;
, \+ ]! g( [' b, [, r6 h#endif //__YENV
. I; f5 r, {4 c5 B6 d. \
/ V6 ^8 ?: {+ `" u memcpy( &m_light, pLight, sizeof( m_light ) ); A, N0 T* ~ D: g) E% L
4 `4 M* r3 e; I, ]& H D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f); v, k8 g+ E8 G& Q
D3DXMATRIX matTemp;
- S- ]- r( E2 J) {6 `3 } static const float CONS_VAL = 3.1415926f / 180.f;
5 e9 F% o+ E E" M* g- O! ?& D) W$ \) |, E6 C% Y
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
- g; R# r/ N+ o" V D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
. h* T3 Y5 X d7 n+ J pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
7 b" h5 ]& z4 k2 r0 T6 k0 g% w pLight->Appear( m_pd3dDevice, TRUE );
8 W) K( I R6 T. C/ I D9 s* G, y
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
8 x% D. a6 o4 |( O0 L6 q$ W // D3DXVec3Normalize(&(vecSun),&(vecSun));
2 i; T" M2 Z0 T) f! m // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 0 c# o/ R9 F, ?5 F
% h8 |" v" N* f/ { DWORD dwR, dwG, dwB;& Q9 x( O8 W* t. @; i. K
dwR = (DWORD)( pLight->Ambient.r * 255 );
, s- x8 W5 L1 i5 B. y dwG = (DWORD)( pLight->Ambient.g * 255 );
9 d1 x( k0 Z. H+ m: h8 O9 X dwB = (DWORD)( pLight->Ambient.b * 255 );
- o; m. c, c3 L6 j dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); * j, z0 V! n9 W+ s9 o" _% k
}5 {, d$ o/ q4 H7 P! C: W6 V& t1 F
}
/ H# Y, y# ?& I* {4 a: d
: v' ?$ R$ D/ F/ H$ k- ~ L& w0 P b m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );' n% ?) U' b2 V0 A, E# ]8 P
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) );( F+ P" L! }6 L) j
::SetLight( bLight );1 i2 h7 S9 P7 X. w- o$ _8 K3 u; ?2 B
, C$ n9 A8 `6 n& }
// ±ao? ?D?í???ó á¤à?
0 G+ V; [# E5 D; E$ m. H m_pd3dDevice->SetMaterial( &m_baseMaterial );' e+ s: m2 X0 C3 q3 ]
# N2 o7 C& B+ [% l8 m! g$ _6 K$ y2 d
#endif // not WORLDSERVER
0 C' O& O; G, j2 _6 D}
, l+ \# X) j4 }9 [) T4 c( f并更换% J" Q9 Z1 y" d. ~+ {7 b( s1 v" h
Code:
7 x/ p8 r. ?8 u' J- M" M( P3 g__FLYFF_INITPAGE_EXT
3 W8 N' M8 i; [2 o+ v6 m7 D' U定义. h, {* u: N& a* K. ]7 a% i" T
- w7 O0 |9 n8 D; Y1 W% Z9 q0 \! E$ G# W; G6 F3 D
* ~' l5 c& k q0 G# @ {2 ]/ W) f# m2 ^
现在终于删除我的狗屁加速...
# Q# q: d. U4 m% I( ~, ]3 C: N% \* B) X
7 o& ]0 l6 b% V, \, T
1 J/ H) S! i% ?! P" h5 {& l7 H; ~
|
|