|
|
食品车:
% X. O9 g! t% W- M* O尾翼:
/ ]3 [8 d$ m! ?2 I2 D& q! G. B
# k$ v6 \% H! c0 F: P代码:
! `' A' n1 i* Y5 UCWndAutoFood::CWndAutoFood()) r( o* j2 h3 P8 ^, k( s7 D! O
{
+ e) T }/ r1 g* Q9 \" F m_pItemElem = NULL;
3 Y3 \1 k- d% ?6 i4 Q B0 Y, l m_pTexture = NULL;" h5 J1 q& f' l w3 A+ r
bStart = FALSE;
2 k5 F' K4 H; A6 l% l' `}
5 b( ^/ J. K" i" M: D; b2 g# ]6 J! w3 _* K; D1 M% Z/ A3 Q& u( O
CWndAutoFood::~CWndAutoFood()
3 q' t$ b, P" ?1 D{
- d9 i: j4 V: m AfxMessageBox( "AutoFood ist gestorben " );
Q# H* U. |# v& U$ s" Q}1 L. M# v2 }2 r; }1 X1 ]0 u
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
! X- N" n8 d# D. h8 \" B) G{$ ^1 b6 x! z# r. B/ m& r3 u
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );1 r1 e1 _# W9 P) q
}
$ u1 r: t+ Q: W9 K% z1 ~
6 }. A, k# }% m; g7 r2 d, MBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )2 z) w% \* r8 m' W
{$ U7 n+ A6 F4 t' V2 L8 \6 R
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
0 A' R. L w/ F. K _% H CRect rect = pWndCtrl->rect;/ d1 M7 C2 ?# h! Q. K
if( rect && rect.PtInRect( point ) )5 ]( k9 ~ [* |) N7 ]0 [
{
9 P3 T. u3 A; K CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
* k3 m; S. a6 _, J+ X3 q% K+ O if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )0 F5 O3 p0 z7 x. d
{& B( {" c0 @2 Y9 h, ~
if( m_pItemElem )7 A9 H4 a! T* m( J8 G
{
" y, ~( e8 c, X4 ` m_pItemElem = NULL;* x( x+ R* ?; _% K! d* q% K) ~+ z
}! r7 v6 j6 Q! s" p: e: D
m_pItemElem = pItemElem;$ _# `& s5 Y1 S6 U$ I
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );& r& S# A3 G* i2 J- ]
}else{) s+ @0 {, m7 a0 D
SetForbid( TRUE );1 R2 o# u2 I! x( p$ W3 S
}: l% I$ k0 B' \3 |# B7 l. U& \. {
}else{) r8 E- P% V5 K6 I0 w E7 I
SetForbid( TRUE );% q+ {, C" e" S V! `
} F# ] b' {! h6 L
return TRUE;! k3 U8 i2 O( Y$ @* k( f; b# y
}2 v6 u, h- t7 T; ]
8 `' r; O. d& T5 |( `+ |, A% PBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )2 x) L+ l( r! |% ?/ r
{
. K0 ?1 a0 _1 @1 T switch( nID )
$ [- e/ ?. T ?7 u; L" b2 Q. ~ {
5 z8 O% s. G! T3 _" L case WIDC_BUTTON3:% }/ |5 I) ~0 f) L, {2 Q8 C
{
# M' h" b! \: h, ~2 j% T- ^4 _ bStart = TRUE;- T' a; ^ O0 q1 m9 q% a) D
break;/ E }" \( W6 s. `- v3 ?
}+ ^ @ J1 j2 R* e
case WIDC_BUTTON4:5 P- W/ I$ S* K; m5 l
{
3 |8 N$ W7 N; ]- K( }" y bStart = FALSE;
1 D! I5 C- k" I, n1 B7 ^0 ~ break;
( g; U0 p! z% ^5 U }
4 @& W o- E% u1 D0 R0 F }
; I) F. v( N2 k" o/ e return CWndNeuz::OnChildNotify( message, nID, pLResult );
4 b* q# m' k. ]}
+ P4 N& r% h, Wvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )" Q! T2 V4 \0 }" s9 E
{
- [# ` q2 j& W, P6 Y3 S) Z CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );* s/ F; b C7 U; Y& y+ X0 T8 l
if( bStart || !m_pItemElem )+ E1 V: L4 D+ n, b$ [
{+ }' i) A+ `0 o# J0 O
pBtn->EnableWindow( FALSE );
' `- v9 `( z+ C }else; x1 w( ]% u4 {3 u u% s
pBtn->EnableWindow( TRUE );
- H' n% h. h/ ~, q if( m_pTexture )' g3 P! _6 m$ F+ `: h
{% d% m8 Y8 x& J" _4 G& ^6 P
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );6 V8 z [1 U4 Z2 x m8 i
if( wndCtrl && wndCtrl->rect )! l9 f4 j, A2 d; O/ E `' e2 U4 F; n
{9 ]; l5 \! _/ k2 j
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
5 v: z( j: o6 {! k% @$ K7 y. w }
/ K# p; @0 A: x* X+ m: [' O }7 _* @5 Y- c% Q$ ?0 p- k
}% | P4 A0 c/ F3 p/ r2 G
# Y+ P$ a8 ?2 n1 M( T1 EBOOL CWndAutoFood: rocess()
' X7 ^, o8 o6 ^9 a' l) ?* h* }1 V{
) R9 f# U9 v* ~& U/ e* Z if( bStart )
: B9 M/ ~1 ~. C/ }4 C: W {. u4 X7 G L- @
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
& g, j" o) P; A. E6 v. O# u {
3 }4 Y! x Z8 S* Q* q; Q* ? if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
1 L B! p2 n5 c/ u4 b$ A+ n g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );' _) H @% @8 A9 Z
}else{
# o. s" S; }5 b2 `! a; @ bStart = FALSE;0 V- h; ]$ q8 K( l
m_pItemElem = NULL;6 r$ Y+ E8 U7 d/ M4 M6 O
}
, [4 b- F4 R& A! U }2 H8 h, s# J, a7 r5 y
return TRUE;7 ]' |/ j' ~4 _, b; Z8 o
}1 C9 e% o- q4 V) E
3 ]' T% z$ A1 ^* c. X1 c- m登录视频废话:" I/ m2 r: {- N8 J9 ]
尾翼:
; ^8 d& j" n8 n# Z+ q( ~' W
% W' o' ?) [8 M* s- a" C( O$ W代码:
6 C. J" x. R" u S# g# o9 T* c7 ~0 I. b" j6 K4 v
void CWorld::SetLight( BOOL bLight )
' g( p8 o( p# _9 cdurch
' i1 B+ J8 V# v/ t5 R1 G% Y9 o) [0 @Code:. ^% i( N+ m% i. p0 A5 k$ K
void CWorld::SetLight( BOOL bLight ): h; H: o- l* s. r1 X! N* E
{
+ |3 e) L( r$ B* c# x" T //ACE("SetLight %d \n", bLight);
; L2 S1 _& O {5 j3 r! I: _: e
u- y) u* Y3 z0 n8 i#ifndef __WORLDSERVER 6 D0 @3 x' A A0 Z2 \# y' @/ _
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
Z; f+ b8 \. Z$ ]' y& A8 s# N CLight* pLight = NULL;
5 o" V- o/ B& M* Y: ?1 u# I- e( @& s' Z# D) b1 D0 L
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );" ~6 [; G6 V* L7 }. O# O
8 M3 I0 v6 l+ \; y
pLight = GetLight( "direction" );
' k4 }3 D- S( {9 O9 Z w
" F4 ]5 j/ m/ L#if __VER >= 15 // __BS_CHANGING_ENVIR, B! h. p3 E# D4 W
if( g_pPlayer ){+ G% J s H( w: f* M% G
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );* D6 l% `' X( [4 R& `
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!/ E: R" w0 `0 I; O# t X# y; s
{- ?4 ^% x V4 U% e7 x* N, [
if( pLight )0 f4 ~" I2 M: L2 f4 _
{
4 u0 {8 R) ~. n2 [ pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
0 m, P6 `8 A& Z9 n pLight->Ambient.g = pInfo->_fAmbient[ 1 ];9 A. u& l* S* v' f! Y8 a
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
2 g& ^& H ^; @6 Y, V! Y9 P/ T ?
- I; c3 Q9 Z& |( _* u% \ pLight->Specular.r = 2.0f;$ M7 z3 J- C* _' ~& k5 B$ t U
pLight->Specular.g = 2.0f;. a6 y- y* ]9 R- e
pLight->Specular.b = 2.0f;% T7 E2 m, j/ Y
; F5 @% J% G1 J/ L; M+ W7 I6 }! [2 A pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];* ~* m! ? f ], l2 D. e4 O" ^$ I
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];8 k5 B7 R% v# h) v- e
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
5 R' h8 v# \6 t. P B
+ g2 @, w% D6 c1 t( h: {1 w0 S HookUpdateLight( pLight );
1 Z) a' c/ I1 J( X( w# C2 i6 b" X) d4 P+ O$ C$ w
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );/ F, k, l7 @4 m- Y# o* S4 z* G
/ @7 J/ m( p( ?$ f* T7 j% n/ X, g pLight->Diffuse.r *= 1.2f;
# l+ _2 O4 Y4 u1 k. P! I pLight->Diffuse.g *= 1.2f;
9 D: s2 b9 I$ h7 _5 e. R pLight->Diffuse.b *= 1.2f;4 F; l- ?7 E0 |2 D
" S9 B( h- m/ R; `6 F% E0 ` pLight->Ambient.r *= 0.8f;1 V& r9 g1 Q' u
pLight->Ambient.g *= 0.8f;# Q. V/ S& c S0 I. Q1 u
pLight->Ambient.b *= 0.8f;' a" K% v0 L$ H' y
6 n6 |! }4 g: m' k& W
memcpy( &m_light, pLight, sizeof( m_light ) );
' r. Q( z, k; t$ B
' J6 Q( D$ ]; D) {5 z n D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);, f# s" A1 h, F3 h
D3DXVec3Normalize(&(vecSun),&(vecSun));$ r j7 a- V0 w# [
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
2 e9 d4 j2 p5 N) v9 m! B: @ pLight->Appear( m_pd3dDevice, TRUE );- V) h* a+ B6 |$ g Y) e
9 w* a y1 x' c' p) ?% L
DWORD dwR, dwG, dwB;
5 ?3 N- L- i9 c dwR = (DWORD)( pLight->Ambient.r * 255 );
% U- N8 m$ l* w* `! q dwG = (DWORD)( pLight->Ambient.g * 255 );
5 D- R, n, u; P$ Z" J+ [6 Q dwB = (DWORD)( pLight->Ambient.b * 255 );
+ Z% k' ?3 k+ k4 g7 l dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 y: \6 ]9 H$ t7 i }6 a4 o, r* [- C: Y
}
: d+ [: h+ p g% W- f9 q( Q$ O }
4 h, F) ~& U+ N8 J5 v else6 A" T; l" m# e* _' s, u! a4 ?
#endif
' Q% j; w6 a$ L7 Q9 M3 z
+ D1 [8 t+ V5 B: S5 q; K if( m_bIsIndoor )9 {: a+ J- x" D6 {, C3 `
{- q7 r2 M3 m2 a; A9 n
if( pLight )
5 D! z, t S, c8 a, s V. ` { ' D7 u9 v6 ^3 a, y; ~
// à??μ oˉè* F/ P( ^5 j# k
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
3 v3 [' i) z( I6 z pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;. r& G1 D9 [2 l! d
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
/ T, u7 l! N$ s7 l* M# [; S1 r9 H$ w. J" `' c1 k
// oˉè* ??à? % i$ n7 s- [# }! k9 ?
pLight->Specular.r = 1.0f;
% m' f6 o5 y" l' l# } pLight->Specular.g = 1.0f;
9 U# g8 D" Y. G+ E. ~ pLight->Specular.b = 1.0f;( G) \, T) t7 q: I1 C. c$ e
// àü?? oˉè* / N4 { E; Q: B; \4 r* R: E4 s
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
& {* d! m4 `) k3 f' D! ?- r pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
. ]/ J X+ K8 F& y$ O% O6 Q+ a pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;, W8 Y+ G' D' X: W
9 k0 n z3 A. C) h; s# V: J5 S
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??., \' B+ l' f; o/ I
{
, t' G; \) w9 r4 C! J7 k, O' b0 F7 H pLight->Diffuse.r *= 0.6f;% A! E0 [, i9 u& u: g: I
pLight->Diffuse.g *= 0.6f;) `! e, F; q4 x Z4 m) \
pLight->Diffuse.b *= 0.6f;" X, I! A. t$ h. N. a# E6 R$ M/ r
pLight->Ambient.r *= 0.7f;! G. @/ Z7 l5 E! ]' ?2 x' r
pLight->Ambient.g *= 0.7f; g6 ~4 A! |2 _+ Z3 ~& A; S- U
pLight->Ambient.b *= 0.7f;* v" G+ [ k7 H4 j
}9 J: p9 e9 X8 S; _+ X( ]
$ ^9 y* k+ J& M% A z2 }/ J
#if __VER >= 15 // __BS_CHANGING_ENVIR
( S( O' b7 d' s( T if( g_pPlayer )/ O3 I3 I9 ~. T q0 _
HookUpdateLight( pLight );
% G2 a `5 n" E6 U. C#endif% Y4 A4 G3 ?8 n( ]$ u) @
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. t8 L. C' I Z" H! S
) h4 ?/ \. T5 U3 |, K pLight->Diffuse.r += 0.1f;( R2 u4 |3 w- ^
pLight->Diffuse.g += 0.1f;9 z6 B5 i0 j0 t; @: N
pLight->Diffuse.b += 0.1f;4 [0 g, j' ` r) @* L
// oˉè* ??à?
* [6 o) F' f0 O! f7 m0 K pLight->Specular.r = 2.0f;% p Z3 D) Y2 `3 N% }$ u4 B
pLight->Specular.g = 2.0f;
# Z- M$ j/ v5 `8 F1 S* R$ w$ N; T pLight->Specular.b = 2.0f;* v z& Z! d* i, f* h7 R" s
// á?oˉ
& _, ]# D, `9 q( ^ pLight->Ambient.r *= 0.9f;
/ u3 i0 E6 w% T pLight->Ambient.g *= 0.9f;/ u {' U, w2 B0 G. r: Q' I7 L
pLight->Ambient.b *= 0.9f;+ o6 J. y3 Y( y1 Z+ J" z
. l b8 x6 e: }8 i: _
memcpy( &m_light, pLight, sizeof( m_light ) );
6 j- t# M! G) q% D( F2 V" U
: D9 b) I6 h0 m# D pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
+ E2 E* R4 @ `2 K3 g pLight->Appear( m_pd3dDevice, TRUE );
. k1 u2 k7 k% s/ B9 w4 _- ] # j5 B3 f4 ~7 {7 J7 J
DWORD dwR, dwG, dwB;8 E/ Q y2 k w- \+ r( k0 a5 k8 R
dwR = (DWORD)( pLight->Ambient.r * 255 );% ] g1 r- y. V+ ^; Q# @
dwG = (DWORD)( pLight->Ambient.g * 255 ); J4 Z% k/ E+ V# V8 i1 D
dwB = (DWORD)( pLight->Ambient.b * 255 );9 z% E$ e* F6 b' N: @/ h c3 D
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 @2 E1 F4 H/ f& A5 Y5 b8 A }7 ~' J5 h. ]! K5 j3 `1 X
}) a# |& \* D) ~& b0 I
else+ ^6 k: F% z/ L+ Y: J b# J) V
{
5 q! t* B; y4 b; |' g if( pLight )
5 U$ n* h. E5 [5 k( b {9 \( Z# C) d0 K' Z
+ i( \( E' A M3 [5 _+ a; |2 A; S int nHour = 8, nMin = 0;$ w2 D( d0 K' x- e% z
#ifdef __CLIENT" p @; O( {5 L6 P" p6 l& B! m9 w
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. # f6 S2 a, i! V$ ~, o
nHour = g_GameTimer.m_nHour;& V, R& j4 Q! ^( i
nMin = g_GameTimer.m_nMin ;
8 S- \ ~4 [* E! e$ G! i #else7 z! }& m5 ~: i
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
, M) V1 U( ]8 L* [# j, X if( m_nLightType == 1 )2 A' W s1 d9 u/ g6 L& _( W/ x
nHour = m_nLightHour;
1 A% b1 P5 c7 g6 e1 ?5 w #endif
& c$ `. ]( B6 Y+ z( I3 W nHour--;
. f) ?4 R' `' J* r" }% R* b A if( nHour < 0 ) nHour = 0;
O5 Z9 {% R( G' l4 \8 D F1 |% G- X if( nHour > 23 ) nHour = 23;
6 n$ w- ^+ e3 k9 a& v9 c% t% M2 d; c
//if( m_bFixedHour )
- Q$ c: W0 f) b // nHour = m_nFixedHour, nMin = 0;( @7 b1 p8 s, D( t& z
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];% U% R" b: {# z2 ?
LIGHTCOLOR lightColor = m_k24Light[ nHour ];6 [3 H- [# G3 e3 ~3 E2 G5 j2 C1 o; M
) |) d( Y6 ?7 }3 g //m_lightColor = lightColorPrv;, ?* x# a# h; u4 D( B/ @: p$ _
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
/ j4 W) `1 G$ o3 D4 }5 C" P3 O$ K lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
0 d) M; ]+ `2 H( b3 G/ N) c5 r3 J lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;8 D* s' D, J) Q
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
9 `/ W) b) m- z, l lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;8 m* m! j: d3 P4 B0 @" i
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;& [0 Z- q$ u" ~# F! f8 v
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)" V, n6 y8 [6 N7 [" A5 G& D
( e( G$ v! w$ s* r // à??μ oˉè*
% Z3 U5 W2 K/ F2 e/ m2 ^9 |& t pLight->Diffuse.r = lightColorPrv.r1;
$ B m" ~& `# [% T/ A' i pLight->Diffuse.g = lightColorPrv.g1;
2 e$ x/ }. H- a. R6 f" p0 g pLight->Diffuse.b = lightColorPrv.b1;; w3 M- z+ S8 W9 {
// oˉè* ??à? . g! y+ K/ P2 P* c( K
pLight->Specular.r = 1.0f;
o' r" N0 o; f0 e pLight->Specular.g = 1.0f;/ [7 b: c& N8 o# D
pLight->Specular.b = 1.0f;
! X1 c6 {$ D) H/ F" }1 v // àü?? oˉè*
) y$ Q9 H: w$ Z6 l. R" J1 {6 t pLight->Ambient.r = lightColorPrv.r2;
" X7 a, i5 K; i pLight->Ambient.g = lightColorPrv.g2;
( k1 w f" o" V8 k$ O9 K: g pLight->Ambient.b = lightColorPrv.b2;! i Y* m% u# _; o
5 U% Z, j. ~: M2 e% c; l; h
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.. d9 z- O7 v' J$ @
{
b. l' l- Q- x pLight->Diffuse.r *= 0.6f;
) t; F+ R: Z; J, p pLight->Diffuse.g *= 0.6f;
( A# o6 q' n( Z pLight->Diffuse.b *= 0.6f;
1 M4 A0 S1 a; E2 w$ M6 W pLight->Ambient.r *= 0.7f;1 s' }' ^+ ?6 G0 s
pLight->Ambient.g *= 0.7f;7 }$ K2 X# c9 q9 A/ q E4 Q
pLight->Ambient.b *= 0.7f;* W4 Z. ~+ U* p! W
}" F6 a2 I, u9 w! ^" g, {
Q7 K9 w' P0 s3 }4 K0 i#if __VER >= 15 // __BS_CHANGING_ENVIR
* J3 u1 i5 b1 u! U) `4 S if( g_pPlayer )
# M$ M( Y: V1 L, m HookUpdateLight( pLight ); ! V/ B. M5 j; i* D# y w Q
#endif
! y, l6 X0 W9 I) W memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
' n: _. {, k8 d# m+ J- p
9 i0 ] Y, A2 O: `0 u% ]1 M# ], ]#ifdef __YENV
( k6 c- w' {' ?0 u, S; { pLight->Diffuse.r *= 1.1f;! Q2 F6 Y4 S1 s# U
pLight->Diffuse.g *= 1.1f;, n" H7 b/ }% |! K$ O; `" l
pLight->Diffuse.b *= 1.1f;1 j& K: T! h( O% @' d
// oˉè* ??à? + v8 H, k/ ^1 l# r: Q* M
pLight->Specular.r = 2.0f;
- P) k! n. {- O5 @- J pLight->Specular.g = 2.0f;
! `- f! l) u) d4 @, k) R5 f. g pLight->Specular.b = 2.0f;; l5 |7 |; y5 H6 K' b* u
// á?oˉ
* S4 I5 f2 f2 M0 M+ Z9 u1 R pLight->Ambient.r *= 1.0f;
- Q8 z0 A" a2 y& S( O. `2 `! @ pLight->Ambient.g *= 1.0f;
5 a3 N( v2 v& m1 I& z pLight->Ambient.b *= 1.0f;# \+ E \- n+ f n
#else //__YENV
w/ w4 P8 |# `5 x pLight->Diffuse.r *= 1.1f;
6 O ~6 P5 @: V! [: p' } pLight->Diffuse.g *= 1.1f;. _( s1 k& A& e9 Z- L
pLight->Diffuse.b *= 1.1f;: S* ~# L; z; ]; N: s) z
// oˉè* ??à? 3 t( u% M8 k0 _
pLight->Specular.r = 2.0f;0 }3 G2 N- K* U- b8 ~- o0 f
pLight->Specular.g = 2.0f;1 H! k) V8 `! R2 ~' o2 ^
pLight->Specular.b = 2.0f;# p9 {" I; L; v- v/ K( i2 G t7 E
// á?oˉ 4 E' W3 H4 d* ~& F' l+ ~( W
pLight->Ambient.r *= 0.9f;1 _2 s& l/ }, N* s" o8 l& m, W v; q
pLight->Ambient.g *= 0.9f;
2 d0 m: \) @, d4 ]+ Q pLight->Ambient.b *= 0.9f;" K. A; Y/ |6 j2 R" S+ y$ R0 B5 Y
#endif //__YENV ! m+ q$ z/ s" P/ C8 W
' ]$ J5 \; j: o- m memcpy( &m_light, pLight, sizeof( m_light ) );0 X7 O# }4 l+ a6 |% d- [
! y( F' K" U3 T4 x* b" D
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);4 H) e3 r* I! D! o
D3DXMATRIX matTemp;
& y8 `( U6 e- H5 _& `! A static const float CONS_VAL = 3.1415926f / 180.f;, `/ N) W( b( v, p
; a% Z2 O* b( m; w0 L6 N
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);0 M, [3 g( l( b1 @7 z: R# [( L
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
9 C4 J, `8 [" {: o pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 6 Q/ Y1 ^! k) p& j: } f7 ]& Y7 c
pLight->Appear( m_pd3dDevice, TRUE );$ O Z: R' g0 E( E- s' N$ u1 L
* y- a5 c7 v# G+ T, x9 H4 Q8 f
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f); m7 a% Z3 c8 r) P
// D3DXVec3Normalize(&(vecSun),&(vecSun));
$ B% s( B* W' j2 G0 B // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 6 ]1 m1 \. H _! K- T' s q$ K
4 _5 Y2 G5 O" u( q" R9 \6 J DWORD dwR, dwG, dwB;
: S, N9 x- ?9 |8 g! }' W) N dwR = (DWORD)( pLight->Ambient.r * 255 );
- i1 x+ p9 V9 Z7 ?6 c: w3 T, A% `, Y dwG = (DWORD)( pLight->Ambient.g * 255 );! C! X3 t2 {' C8 t0 m+ I) G! N& G
dwB = (DWORD)( pLight->Ambient.b * 255 );
9 h7 d/ K1 ^: a7 G0 y; n5 B+ X3 y dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 N! C) S) A+ i2 w4 f- X% S }
+ L; E) S7 }5 {' N) n- k- k" P* z0 \ }5 X3 R2 L; W6 V* O7 F1 w. I
+ F/ H% h- m4 e+ `6 g) d+ E
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
! h+ X( ]" |% T& b- h9 A* ^7 b 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) ); m5 e; _6 X# t
::SetLight( bLight );
( O8 f0 j% h, E1 n4 q* ]- A6 A' P' |- U
// ±ao? ?D?í???ó á¤à? ( l9 l/ ]* Q6 U' A
m_pd3dDevice->SetMaterial( &m_baseMaterial );
& t( y, L8 ` B( z+ m, G3 S
7 I2 W7 @ X# M8 b#endif // not WORLDSERVER% n$ Z: R- S! w0 u
}
' ~* D6 `4 Z: J* q) ?并更换
" O/ D: H0 n7 e7 A$ l. T6 qCode:4 v/ r6 ]# [+ p
__FLYFF_INITPAGE_EXT
[3 D3 G0 S) {' e8 ?* I8 B/ i定义# A9 [! @# j9 O
' e w3 I. i: Y9 T: ~# I, m# e1 b ]% J* S
# `8 F$ ]2 i$ _& t$ h+ `, l
9 x. g. k! Y8 C7 }现在终于删除我的狗屁加速...! _3 |8 S9 ^0 K9 d6 m7 x
- k$ [6 {- _6 q5 j' u* m6 Z( Z
) @2 H2 E( K& M( C1 M' m/ s5 D' e5 D$ x% s- }
|
|