|
|
食品车:
& E/ Y7 m& K9 W" m, H尾翼:7 Q9 }5 R/ _9 C1 ^
0 W: N2 G, i# B% l代码:, v, j$ S8 t: o" K
CWndAutoFood::CWndAutoFood()
, a$ {- ~# W' `4 l2 S{
9 [/ A: c+ q, L/ h0 I; X4 s) F m_pItemElem = NULL;. C1 U7 l( u( X1 x7 R% M
m_pTexture = NULL;! n$ U( M9 x2 {9 g& X( T ^1 |
bStart = FALSE;# y5 B4 ~0 c, T- H) t
}: Z- l; O. {9 E& S
3 l4 _+ D: r- _# C% CCWndAutoFood::~CWndAutoFood(). i2 N% i! @" t2 c8 A7 s
{4 x0 r" D9 M. Q# u: z6 c! O( g
AfxMessageBox( "AutoFood ist gestorben " );" ~9 m7 Z5 o1 K+ F1 L
}
/ Y U) O/ _; d; R0 a* q: WBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )8 _- z' p/ L% R) q$ Z7 @7 E% Y
{6 L: L! F6 u% n& z! r# y& b
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
+ t' ]& h+ @# M}9 J: C. _" s8 H M; `4 u* Y% ~6 L, @
# i' H. a; i( D; D1 P/ \& e; EBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )3 V+ q, O% |% A7 U: S9 W9 V8 q
{9 n2 K# W f. b7 k8 e. P
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
5 U0 r+ c& t# S CRect rect = pWndCtrl->rect;! u6 k+ Q1 a2 x5 M; }8 l1 Z p
if( rect && rect.PtInRect( point ) )
' O( c. C4 D0 Q {
& j) ]4 x; H2 J& i2 B4 C3 S+ C7 I) r CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
( g5 ^7 L6 v6 H. [7 `- [ if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD ), F: _1 g* {. O: J( |0 h" }
{
: c8 R& k5 L$ J if( m_pItemElem )
% I1 O+ N4 e# t" Z w3 B. L% Q {
4 p/ f2 B9 L. | i m_pItemElem = NULL;
$ J9 b1 O. v& ]2 O9 W% b }
( R O! e7 b9 z4 V m_pItemElem = pItemElem;6 K/ K* o3 s) y
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff ); X% Q; P6 X5 o- }( U6 U
}else{
* M6 i9 y0 F8 ~ ^ n4 c# ?/ L2 J" {0 Q SetForbid( TRUE );4 a; j" G! n/ o7 K, k* |
}- f+ l4 o1 e; g: i1 ~
}else{
( S9 T7 t; B$ x! ^' b SetForbid( TRUE );; [: i6 Y/ Q" L6 n* _, `3 U
}2 g5 ]7 B( u; i
return TRUE;
( a" T: F \/ k4 n! h}
4 f2 n* ^4 j2 C2 {# y+ R% @4 G9 E" |( Y
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
6 W& w `& y& g4 S( D{
6 L' P, ^1 L9 A5 P* ?8 e switch( nID )$ d Y, f2 l# l) L
{9 b3 \+ k, b, U% j/ n2 D, j
case WIDC_BUTTON3:
( E% K* x7 q% |* @" \ {8 M; k4 T. r+ F
bStart = TRUE;1 Z( ?0 q3 ]; W8 s b4 f
break;
& x! I; W; B8 Y% X; Y7 R4 v- h }: q& P: y4 f' ^9 {& d9 h! [
case WIDC_BUTTON4:
9 G. ~) V& `0 S8 O {, A! Z8 k+ l- J8 t3 a% p. K+ c
bStart = FALSE;8 F, y: r$ G2 I# @' x' [3 \% ]; S
break;! V. E# l9 h( N
} U& k$ v% W) [ Z
}/ g, X5 G3 S$ ?$ C% F( p2 O
return CWndNeuz::OnChildNotify( message, nID, pLResult );) ^6 e* j2 T$ w8 t* Q6 e6 }
}
$ _7 S# _, e" Ovoid CWndAutoFood::OnDraw( C2DRender* p2DRender )% Z- |" a; i/ r
{
- O' i" X: b3 y3 }, ] CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
9 _8 m6 n* M5 p9 ? if( bStart || !m_pItemElem )
- m$ [! q1 V* O0 q/ ?/ A/ L {; X2 | _7 E( s7 U( P+ d! g+ H9 N
pBtn->EnableWindow( FALSE );1 u- y. x7 t5 h# ?2 `
}else5 z2 N. x" _# ~1 z. O
pBtn->EnableWindow( TRUE );
/ f. }% f% T; W. N1 B4 w if( m_pTexture )$ G! D8 q9 s e5 O( a# K3 F3 P4 r1 V
{+ E8 V! u, y* ^
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );3 s, s' N# y3 A* ~1 f& U! T6 E
if( wndCtrl && wndCtrl->rect )
/ Q) u" J' h+ L1 Y: X+ g# I( x9 z {6 O7 Q& A3 C6 y, t+ c4 P: y
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );: @9 R+ l1 M- b @% |8 F
}4 a: m- I1 L' T, }% J+ k
}7 z) P8 u% o$ t" S( U
}
/ _ E3 i t8 q! l+ L% ?, i- z3 G
BOOL CWndAutoFood: rocess()7 X0 W8 T0 O3 a
{! L* M, D; @7 Y% i+ }
if( bStart ). q6 {" |* L1 t; s4 y+ l$ _
{
8 Q- \0 O& M6 `4 X ^! [0 u5 _8 D if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
6 P7 M* V* c3 d+ ^; `; ` {
: S; _5 L3 c" O. E) z if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )+ h0 u+ v2 F( E1 |) v4 e; r' w: {
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
4 u' ?3 E7 _" `7 }! u3 m B }else{" ~( n& ~4 A4 Q9 o$ G7 F7 b
bStart = FALSE;
" q2 \: j% W N0 z, ` m_pItemElem = NULL;
( R% B$ j- e8 p8 N; V: ^% e7 a6 V9 V4 P }* @9 y6 i" J& A; m. o% d( E; v# L
}
$ ` ^; K& c( G+ i7 z return TRUE;7 K5 t5 d- T) D" M5 h
}6 p. u$ v5 Z! K. d* i& p
; D9 I8 l( k4 C+ j登录视频废话:
! _0 b- F9 T) o& C0 J+ x尾翼:) \: L. [, Y# D
4 P7 z I Q, O2 P) q代码:
. J7 e, |) t, n6 J. [* C" R5 _* @9 f& ^ b
void CWorld::SetLight( BOOL bLight )/ @% E, W! R/ \( ?6 c9 i7 r
durch
. |0 N( I4 ]; K XCode:4 i" y3 y& H' v& B
void CWorld::SetLight( BOOL bLight )
: s6 [: A3 t( U ]- w( O( R{, B4 H+ o$ s( j/ M; t
//ACE("SetLight %d \n", bLight);
7 x4 h) M3 e1 p. p
: [ N" H! |) d. ]#ifndef __WORLDSERVER
1 V' K+ x0 b0 {, T7 d8 v" m! n/ b DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
* P. |3 g6 P" ?3 D6 N CLight* pLight = NULL;5 y% F# G9 J" O, P. v% S P
7 r: M* U& B0 y. j. v( z M D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );7 d# P: g1 }5 V, g$ H( U
$ ]/ c; R+ K2 i" Z" l pLight = GetLight( "direction" );& _: _) ]6 ~* P' K
/ k+ `% G0 e( N8 ~9 K
#if __VER >= 15 // __BS_CHANGING_ENVIR
$ I1 G$ e& J9 D9 g) m if( g_pPlayer ){
; F5 ~; Z. d* ^- }8 ] ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
) l7 z" m9 w( E8 x7 H5 w/ C if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
1 e. W/ l9 M' }& c, r {; G! k( O5 D& h5 v( G
if( pLight )7 W0 {7 n& j) v2 A8 Q# o
{
9 y J t; X6 k, d pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
; L# \3 w, F; o pLight->Ambient.g = pInfo->_fAmbient[ 1 ];8 N! |/ ^- j' q
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
7 A3 y( e; H% w# D% D0 d. W& `7 R( N3 ?+ ]$ n
pLight->Specular.r = 2.0f;/ ~ M+ ~1 g3 L3 v6 X
pLight->Specular.g = 2.0f;* R1 V! S9 L. {0 ^ R1 e
pLight->Specular.b = 2.0f;
( _* k4 @: Q1 q& J8 x6 o3 { : ~" m3 q" j2 p4 n7 _
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
- W v& P+ c# H( B/ W; C pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
+ z. u* c. P0 U0 { pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
- L6 `% M0 L+ j' L. [
; A& ^ J- A. h, q0 h7 R, B) k HookUpdateLight( pLight ); + y. g. [7 Q$ v N. y
# F' M7 B9 |- u" ~
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );! Z. Y; w7 [+ L- u# O
( Y8 O! @7 V& [6 [, ]! f
pLight->Diffuse.r *= 1.2f;) Q$ @) F f( [' T3 A
pLight->Diffuse.g *= 1.2f;
3 ]0 ?# C. r4 T. q6 P pLight->Diffuse.b *= 1.2f;
' M6 q2 }0 x8 a& k: G: g! g& H* ]+ g( \6 {
pLight->Ambient.r *= 0.8f;* j0 S8 w# ?, E
pLight->Ambient.g *= 0.8f;- f$ Z: m0 B! k% L$ ?. I) A; R
pLight->Ambient.b *= 0.8f;) |+ ^) j; `# Z7 l
4 i! g6 t& c' h+ e1 r3 a5 W
memcpy( &m_light, pLight, sizeof( m_light ) );
; S7 P9 m6 S4 W! p# z
}* C: r: {& ]4 |' B D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);7 u/ W# G- E9 K1 e& o
D3DXVec3Normalize(&(vecSun),&(vecSun));0 x: W- f, d2 X/ n! K9 F- y5 h# B
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
5 i1 m) V$ l, n* ^; e: X+ z pLight->Appear( m_pd3dDevice, TRUE );; T6 r8 C) k% S! m! Y
" `. a! @# ]8 ] DWORD dwR, dwG, dwB;
, _5 z+ | g! M2 k& A dwR = (DWORD)( pLight->Ambient.r * 255 );7 d! H5 }9 ~) Y9 r% Z2 K
dwG = (DWORD)( pLight->Ambient.g * 255 );
0 L& L) N, d- I1 E dwB = (DWORD)( pLight->Ambient.b * 255 );
- z( p& y. ]. H& _" s dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& s$ C# w# _! x% P9 O9 |) |3 r }- w; K j+ I7 G4 S
}
' ?4 K' `$ F) D9 T+ R& V& B# X }
/ z' d0 K% n0 k7 o' O3 { else
' v7 v1 q# M0 q6 @& {#endif
% A0 Y- ~ X' P& W% _' O& P+ e" c1 g* T. N# X4 e
if( m_bIsIndoor )( k0 r& b& k/ Q/ @ q' u& B+ A' M
{
" q8 y6 J3 p' \4 D& K if( pLight )
7 ]( ~6 e8 E6 B5 ?7 A { , z) m G S7 o$ [& b# A. b
// à??μ oˉè*
' a8 K9 Q7 c! C3 E9 x% q pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;& Q3 D# d, \# Y* ]
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;7 I' B7 `+ T+ c. }; |1 D4 y6 B6 d% J
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;. {1 O# U- g: v
: B$ F- G" B! a, x
// oˉè* ??à?
% }& Y+ Y$ k7 X+ `% Z2 ~ pLight->Specular.r = 1.0f;
, v' S7 ~( k6 n! i, g5 B+ ]7 `' F8 p pLight->Specular.g = 1.0f;# `9 y8 J5 g0 }$ _
pLight->Specular.b = 1.0f;4 O7 `5 M5 I! J3 a2 ]
// àü?? oˉè*
) A- e# c1 U b" X d/ \. E9 p pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;7 {% s X- p- ]' ^8 X& ~
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;6 F2 C, Z( `0 W6 M& o9 \
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
5 f* S. b& @$ B- \2 a+ @7 z, i/ i2 G/ Q6 N0 e9 l* G9 l# G
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.5 o4 \% T+ S* N# J
{
4 ?) a. J% T" v" |1 G/ l pLight->Diffuse.r *= 0.6f;6 y, C% o- ]' w9 X4 O8 F; f+ V( }+ N
pLight->Diffuse.g *= 0.6f;
8 x* u3 l! w" }% t( A3 q8 L+ V+ X pLight->Diffuse.b *= 0.6f;
2 D7 Q {. S3 M+ V' U3 U: s4 ~ pLight->Ambient.r *= 0.7f;7 H2 G/ @6 w( r- X
pLight->Ambient.g *= 0.7f;
8 \# d. O' ~0 q( A B+ O# X pLight->Ambient.b *= 0.7f;/ P/ ?% ?/ h. e! w: _- I; s* c
}& i4 f. ?; d8 [+ \4 k$ j
5 ?+ d2 v1 F9 l#if __VER >= 15 // __BS_CHANGING_ENVIR+ q/ }: e0 R' |; S, r$ C
if( g_pPlayer )! D( O" Y) P$ t9 m9 k: T
HookUpdateLight( pLight );
1 a6 G: M1 B) y3 J R#endif
( I/ _3 f; S3 z' E' G. } memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ E2 M* ]. `' F- b
5 [- D9 a* z/ H" w9 g1 z9 n7 n pLight->Diffuse.r += 0.1f;
+ _, z8 X, P+ h, J: `) |* U( ? pLight->Diffuse.g += 0.1f;; j* C9 A! ~4 e7 |
pLight->Diffuse.b += 0.1f;4 S5 o H) {* B! \! x: A
// oˉè* ??à? 5 {8 s& s: M1 J/ i
pLight->Specular.r = 2.0f;
. J& |/ Y- e- P# ?% t; h pLight->Specular.g = 2.0f;% c c- X A0 L v4 t3 j
pLight->Specular.b = 2.0f;" f" z& \4 U0 R* @7 d
// á?oˉ ) `; Y+ R7 b2 k, F! w
pLight->Ambient.r *= 0.9f;1 O" v8 q& |4 _3 p; m6 ~! a
pLight->Ambient.g *= 0.9f;
0 V; k( V8 e" { `: A pLight->Ambient.b *= 0.9f;7 d7 {; g7 D- J% H- W+ G4 M0 R/ g
* W: f8 S. j) s! a memcpy( &m_light, pLight, sizeof( m_light ) );
o% D! D/ }7 t" l0 g" ?( E . s& S" A6 Z8 `0 F: P' q) V
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );* L4 ^& `/ p6 E t! L2 A9 h+ ~3 Y
pLight->Appear( m_pd3dDevice, TRUE );
! q' J; l, Y+ r, }" W % R/ X' c; t# @; B0 d3 K
DWORD dwR, dwG, dwB;+ O% {3 T& x A# l
dwR = (DWORD)( pLight->Ambient.r * 255 );
" `3 |7 N S+ t! Z8 C dwG = (DWORD)( pLight->Ambient.g * 255 );
0 @4 Q$ V! N1 U4 R4 O+ s dwB = (DWORD)( pLight->Ambient.b * 255 );+ M; q2 A, O! a' ?3 v0 |7 `
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );6 v, s3 z" N- d0 j2 ~
}- I% g V6 y% J+ n& S
}2 I/ b# p$ B5 Z; J
else8 s" B8 X. C3 B* X" ?: m3 d6 S
{
' A# n6 q# @5 E: `3 G- @5 R1 S if( pLight )
$ [% C1 b6 p; R, S7 z$ C h8 J {
" j- K2 u6 ?* u c b9 ]% ?/ f " W) c& Q+ l# L
int nHour = 8, nMin = 0;
9 @( }" D0 I+ ]' _8 W #ifdef __CLIENT5 U* X6 j7 P+ y0 {/ e* c8 N8 l7 c6 D
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. & t9 z3 G2 {) R/ o
nHour = g_GameTimer.m_nHour;
1 \0 N* [5 u( h7 D" ] nMin = g_GameTimer.m_nMin ;+ ]* z1 x7 ]: [3 G9 M+ X2 k( Z9 A# |
#else9 A/ Z7 U, ^; A4 m" L' o
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.6 N/ q2 E3 a1 v
if( m_nLightType == 1 )/ O$ |: g U: g2 x4 S' P2 a: J. x
nHour = m_nLightHour;
" I) e: D/ g. |3 i, v #endif
. _8 z/ H6 W4 Y8 A. S, W" k. Q9 q# ~/ c nHour--;2 j. Q- q& Y2 W% c% I
if( nHour < 0 ) nHour = 0;
. q. }# S% I$ f4 f3 B if( nHour > 23 ) nHour = 23;. u7 d* F0 Q! g5 {* m+ r) F3 ^. t
7 M# Z8 N3 e+ s+ }" C2 k
//if( m_bFixedHour )
5 c& C3 ~5 ~$ a, ^ // nHour = m_nFixedHour, nMin = 0;
# V! ~. X9 V# y* c LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];+ i* i; n3 q5 M$ s7 B
LIGHTCOLOR lightColor = m_k24Light[ nHour ];! q% F) k4 B! w5 f6 d4 Q
; @# U' e0 r* h5 c" q //m_lightColor = lightColorPrv;% c& ^8 [/ L( q3 {9 N
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;/ I( v$ g( [1 d8 J. [' j5 g6 F' o8 o
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;# g" `( I* b% T( a5 @. t
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;/ [/ a4 W5 N$ @' f' v8 \
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;; n0 I( Q; H, x, _" T
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
& v8 Q" ~9 |4 v) o8 ` lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;7 I* e% D1 y! v @/ l" ^3 u
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)% V0 j5 [4 u8 H4 m
6 |+ ^6 _4 h# Y" h4 u# l/ H
// à??μ oˉè* + p) W/ H! ^8 v* X
pLight->Diffuse.r = lightColorPrv.r1;
- a& d9 I: M0 x b+ c8 s pLight->Diffuse.g = lightColorPrv.g1;5 a+ |0 [# q. M! m
pLight->Diffuse.b = lightColorPrv.b1;
% L+ F' j4 ?( |& H. N // oˉè* ??à? ! Y# Y7 H! m# f9 l; E: `& q0 Z
pLight->Specular.r = 1.0f;# O, E, v4 H1 E4 \+ g9 k
pLight->Specular.g = 1.0f; k* g; T- M* I: Y) P) o
pLight->Specular.b = 1.0f;
: }! u- f- R! f; d // àü?? oˉè* * U) L7 m- a. A
pLight->Ambient.r = lightColorPrv.r2;& a: M8 k4 P9 d8 w& |
pLight->Ambient.g = lightColorPrv.g2;
+ W. H) {( ?3 t# O) t, u pLight->Ambient.b = lightColorPrv.b2;8 F6 f3 X- u+ Y, |% k$ B
% y6 e- ?- ~, J; Q- u if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.: \! o, d* g4 {( p
{
6 O {, u, Z( n4 y' C) H9 ~2 U pLight->Diffuse.r *= 0.6f;
; V$ a5 t; t% _# A- o/ ?! s. E' U6 [ pLight->Diffuse.g *= 0.6f;
* s7 x+ `" j& H5 o pLight->Diffuse.b *= 0.6f;
* H% w8 H1 X# Y( l8 b. q pLight->Ambient.r *= 0.7f;
9 Q4 c4 |! c. v; W* F pLight->Ambient.g *= 0.7f;" Q# ~0 M# Q5 }' z- ?; Y6 Q% T1 E
pLight->Ambient.b *= 0.7f;
6 ^$ o0 G' ^. ]9 z$ l9 T! L }0 u$ v6 b4 @2 M
1 g& [% x$ \7 Q8 S
#if __VER >= 15 // __BS_CHANGING_ENVIR5 [; j( n* s% N" f/ O# `% z
if( g_pPlayer ), d; h. t: s; L* p; e
HookUpdateLight( pLight );
7 d& b0 B9 z. I4 E#endif; z9 r" e; z: q% D+ t$ S2 J" O% r' w( U
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );: _+ V3 u# p0 }+ C$ b4 b8 v0 q
; r. S. j3 Z6 t' k
#ifdef __YENV
- I5 O& o6 `; z5 F0 \3 i4 v1 Y pLight->Diffuse.r *= 1.1f;
( ~8 q# t6 s) J* x# A: f pLight->Diffuse.g *= 1.1f;+ U* \4 q" g( \4 d% Q
pLight->Diffuse.b *= 1.1f;, f% ]8 L v7 N
// oˉè* ??à?
8 i$ D* C, h- C2 j- C pLight->Specular.r = 2.0f;
3 H1 p% v$ { g pLight->Specular.g = 2.0f;
% O) e0 y5 D* ~5 N pLight->Specular.b = 2.0f;# x! `8 I# w4 \2 n$ d, [
// á?oˉ 7 R' m! m4 p* X. e
pLight->Ambient.r *= 1.0f;
5 c+ e `3 E' y* u pLight->Ambient.g *= 1.0f;( i) k* d) m1 ?1 L2 }) q
pLight->Ambient.b *= 1.0f;
- ~3 T. Y/ b6 F a- g' c! H( f#else //__YENV( H c% d/ F, P* }% M, g3 f3 K6 A
pLight->Diffuse.r *= 1.1f;
9 e% b% {7 Q# t pLight->Diffuse.g *= 1.1f;
5 V% @* u0 t8 }( t+ g( k pLight->Diffuse.b *= 1.1f;
0 C! ?& b: r' o& X6 Y8 W // oˉè* ??à?
1 N/ f' F, r$ }, i* N pLight->Specular.r = 2.0f;. _/ b: r/ D' v5 R* X" \
pLight->Specular.g = 2.0f;
( R$ h8 X2 c5 |( f, v& C! A5 i pLight->Specular.b = 2.0f;
* p Q' G. Q( D8 m. J( m // á?oˉ * Z: M4 {. @" q: G
pLight->Ambient.r *= 0.9f;! n/ A* V J g h0 N
pLight->Ambient.g *= 0.9f;6 ]# ~0 ?: p, p1 A8 W
pLight->Ambient.b *= 0.9f;
6 Z1 c- c8 F& p9 N#endif //__YENV
; {2 d* r+ z0 }$ Z. @9 f
4 @% q' ~/ c% a7 a* P2 }- v memcpy( &m_light, pLight, sizeof( m_light ) );
5 L4 ?6 W V! N
( H" U2 v8 F3 }6 u- s' P& C D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
; s6 j4 |$ d; V) p. Y D3DXMATRIX matTemp;9 f# x4 J0 A: |. n
static const float CONS_VAL = 3.1415926f / 180.f;/ h. d% d3 E9 `+ z @, D) |
% {- A/ q) @# q3 d/ s$ @, v D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL); p3 t3 Z6 z6 b% o. d4 ~; k
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
1 P# ?2 H: Q G5 z2 }6 K pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
! Y7 I! [7 O8 `. }" T$ N) t/ [" m; q pLight->Appear( m_pd3dDevice, TRUE );# w. ^1 m2 x8 @
- ~" b+ i8 `% q // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
1 d5 Y* I" M# } // D3DXVec3Normalize(&(vecSun),&(vecSun));
1 v" ~0 r* x6 ~. H // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
5 g4 n' h) J( ^- D G' \. l
! d5 M. _1 h7 v1 B0 R DWORD dwR, dwG, dwB;
5 P0 |; M% D+ ]5 [, O dwR = (DWORD)( pLight->Ambient.r * 255 );
/ h6 y$ W- O" Z dwG = (DWORD)( pLight->Ambient.g * 255 );
& X/ \, b5 J) h- t. `) l. e( e' K dwB = (DWORD)( pLight->Ambient.b * 255 );! b6 q& ]; J- }8 w) ^ W N" m/ d
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 0 ^2 w+ m" ~7 u% W. W
}8 ~, |" [$ G* E! [
}; D0 `" u+ m% s. Z0 p' [
G: l( g8 F+ w1 u2 W: C m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );' v/ A1 `6 [: L$ V( Z; Z
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) );' w% ^" H) ?% P) p0 O ^0 k- O
::SetLight( bLight );
+ b D8 o$ x3 ]4 S5 Y" f8 R# ?7 h7 \4 c/ K; c- n2 e4 s2 Z
// ±ao? ?D?í???ó á¤à? 4 b" O( t+ ]9 u7 [1 a
m_pd3dDevice->SetMaterial( &m_baseMaterial );+ c6 D, ~/ C9 l' {# r8 M# y
- T3 ^5 `+ B/ @: x: t4 {: B#endif // not WORLDSERVER! P! d5 H# ?) y: C9 \
}2 B) h6 ` @# o; H4 H
并更换; I& D6 H6 c/ H% W
Code:$ Z3 r j; x6 n7 J
__FLYFF_INITPAGE_EXT
( R3 p- D9 g/ S4 D* m, ?5 g8 R定义( { U0 S0 A% F% e- U
6 x$ m x! e$ U4 F V5 K( O
! I. |7 o% P8 X: M/ H4 K$ g
6 r, Y& X: \* A% y% {* A% C& m& c$ v# V8 ?" m1 d& C6 Q
现在终于删除我的狗屁加速...* O" v: I3 _+ U: O% D
* H8 Z( D; W( T2 p; Y9 O, S
% j' P( ~( e4 ?" m
4 `' A$ @$ j0 G T3 }2 B7 U! i |
|