|
|
食品车:
$ C& ~" x6 g$ ]& M h8 T尾翼:
2 p# r0 e/ r2 @& W, y
: U, f/ f3 Q: D4 A代码:
- |1 U5 B0 K$ [# L+ `CWndAutoFood::CWndAutoFood()
, J- O" K" \: N Y2 @' Y) Z{* g; \/ V0 J% Z& `; E2 V0 _6 k
m_pItemElem = NULL;
* ]8 u% d9 n7 P' U- M& C m_pTexture = NULL;7 W4 t" w! Z* J( A, O$ G! [0 X
bStart = FALSE;' i5 }9 d4 A( G3 {9 K: t
}6 V2 ~+ \1 n1 Z3 L
9 ?# p5 z1 @% a4 L4 ^$ l7 B. j+ H
CWndAutoFood::~CWndAutoFood()( m Q4 @- D1 F: Q: F# c2 ^8 n( L
{9 d6 x# k! y0 O3 h# c, w7 |: t
AfxMessageBox( "AutoFood ist gestorben " );/ a7 y; @" z" B: ~" `; o8 N
}
2 q8 [$ J, \+ {/ u: R; H$ O- }( EBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )' F$ z6 y0 C3 S
{7 t4 v" E5 f1 a. k/ O
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );! `, g2 v6 w4 o' p3 w( c
}! Z- |5 @% D' D
6 Y) }* d+ H3 |# L
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point ). A) i" _0 x/ |& t8 F
{
: `$ f9 }0 t7 \9 |6 ^) B6 } LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
2 {) w% K" _' h. g. v+ a- z5 F CRect rect = pWndCtrl->rect;
7 L& ~9 x. p' a6 t7 s! a- S% q) E if( rect && rect.PtInRect( point ) )" c0 B/ S* W9 ^: Y0 E# m
{
6 D; a' V5 t7 s/ d0 I CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
( b- t8 D8 Z, A9 F& e& G& b% _& ` if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )* G7 I- h) e; F8 G& F& |7 t. ]% o
{
. |3 h2 A0 Z6 U1 J+ c. |2 x' \ if( m_pItemElem )
+ k5 n( o$ @" m8 l+ H5 r1 o {4 v/ g* }' ?0 [8 J( |+ H: Q
m_pItemElem = NULL;
. O( u6 V0 p+ k: k: U, ~4 U" @ }% x- F( ?; H0 ?" u
m_pItemElem = pItemElem;0 O" V9 ]; S4 e
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
) U# q8 k: p& Q* i( L }else{+ T8 [- Y- P9 P2 X4 M5 L% u( p
SetForbid( TRUE );; b9 O8 M6 d2 k, O0 \
}
. n6 r; {3 ?! [2 |6 p1 y+ ? }else{
8 y, X n( v4 |5 f! J SetForbid( TRUE );# L. }3 R. X2 i N: }
}
7 t8 J+ e' E( f% u return TRUE;
* Z! @8 u4 z: u+ `9 b}
" a3 w! ?3 F2 n; X$ X# Q6 p( ^
+ g; L/ [+ t8 BBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ). G2 z4 D$ s& C
{2 r/ u; I7 c& s% b8 Z u) t& r
switch( nID )7 K0 H4 l7 M+ S4 ?8 l
{
( Y! @* x$ }, m4 j case WIDC_BUTTON3:
1 B, @6 @; {/ V4 v8 g# W0 n; w {
E3 g* ~9 t C& G" r8 X- e, } bStart = TRUE;
- g4 I M% |& d0 g2 M' h# ^ break;
7 v7 I1 Z' B) O$ I8 q }
4 Z& N; w& x7 {9 c: t% s case WIDC_BUTTON4:4 b1 h* C' }+ U. l& p8 [& q- D- X
{, {5 ^2 g" P+ V- j, ^# C! q
bStart = FALSE;
5 |, q' I0 I/ f/ w u: z break;2 x8 \# V) m# U* {; \) V
}- Q6 X* L1 L3 n' d
}" g6 x- i7 Q ]8 u% X, i
return CWndNeuz::OnChildNotify( message, nID, pLResult );$ {. S; F& o8 o6 k
}
% D7 P" w* k$ L! h8 ~( M( [/ o. ?6 jvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )5 D8 [- U, x/ |# Y2 d
{
9 `0 I( z9 R' b. Z7 D6 b. k" \- P4 P1 [ CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
0 k& ?4 Z. `( S5 M$ K if( bStart || !m_pItemElem )
- V' A0 M1 k6 |* ? {1 f5 w! ~" A3 h
pBtn->EnableWindow( FALSE );
4 l3 H$ \1 C6 v( B; y% [3 Z }else
& M, J6 s7 }$ y+ G* | pBtn->EnableWindow( TRUE );! l( n7 S( G3 L# t- ~% @" u _" u
if( m_pTexture )
6 [* i- p* @1 R" @6 k5 S! X {
/ I3 K2 }6 }6 q/ ?/ K1 p( e B LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 ); R; h9 ]9 S/ E( M8 E A
if( wndCtrl && wndCtrl->rect )
2 P; T$ `0 `( c# Y4 d; }; a ^ {% U: ^. v* p# c* U8 U
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );& L8 X% y8 a; D
}( g# k' X, K8 e/ r- z& d; t
}; X9 r: R4 J2 U9 ]- O6 K7 ?; b
}' a$ u0 E4 m- c7 e7 e, Z
7 ?+ v9 G Z6 Y$ IBOOL CWndAutoFood: rocess()3 h9 Q# D) ?5 H k% f0 r) F
{
8 v0 i- w) ?3 ]+ D1 L* z6 D! ] if( bStart )
! i' @7 }6 z9 S8 ~$ P {
2 j6 d+ r8 x( E0 d9 V( \ if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )% d3 S# h. V: g
{+ v. |' `" N" b1 @- P0 v5 D7 e
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
/ v5 c8 c+ ]9 A2 d S$ \' K g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
% @' v+ i2 _% P: Y; O; z }else{
% J: E" b' E% ]% I2 s bStart = FALSE;! l: X! b! ^% l$ _
m_pItemElem = NULL;: ^$ F! g8 l1 \3 F
}
5 X8 U. J* ^- l T. A }# y2 T% Z: Y5 T: T5 ?
return TRUE;) L' V$ u* a, ~0 T
}2 o2 p$ \$ ?, K% N" n7 }# H
/ a$ E/ u1 [5 G' h2 x8 N登录视频废话:
, O0 r" t; b7 y- L尾翼:6 I0 b# ]8 ]+ K( g: A
2 `# Y% c# q/ L& v+ ]1 C代码:
1 X* a% v7 O9 N% `" l# Z. [) V5 @; k7 F& ` P: M' a
void CWorld::SetLight( BOOL bLight )6 H- Z3 Q2 X2 d) y8 c$ e% R$ c8 a
durch
) g/ L( W: c% T. @/ e) O$ k0 H) hCode:
, O1 U5 s+ P1 W: Lvoid CWorld::SetLight( BOOL bLight )5 \9 ?8 q: e3 e' f3 w
{
8 q7 j9 q1 E$ c4 p% o- s1 t3 S: u //ACE("SetLight %d \n", bLight);/ l1 L' l$ _, g. N+ b0 ?
6 I$ Y, ]1 {$ U% }% ]8 @
#ifndef __WORLDSERVER
! x# N, X7 h' L DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
3 T" w* f- f8 B) G' F0 u# x, W1 H CLight* pLight = NULL;9 B, D% W, \$ l
+ s0 y# S* s/ v7 z D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );) I4 M$ Y) c( o. D/ N
8 Z$ P9 k0 k: v5 L
pLight = GetLight( "direction" );
; L7 W( n9 m6 y* s
`5 u4 k- {% `* r3 V* G) i1 e#if __VER >= 15 // __BS_CHANGING_ENVIR
8 {6 V' Q/ ^* S) h3 i0 [! d' f if( g_pPlayer ){' Q$ p! x' v( B
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
: \3 V2 G, }! w$ n8 \ if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!0 a6 A+ s( I' j. U- s3 m
{
4 f2 Z7 ~$ z2 T. K4 q1 g C if( pLight )2 z4 ]% L! G- D! W, E" m
{
6 R6 j8 U; W: T pLight->Ambient.r = pInfo->_fAmbient[ 0 ];7 R% c6 Q6 E% C# O! ?
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
% _3 y6 v' ?8 v# O- _1 d. r pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
% I+ p) J0 Z" @3 a& m* e
7 A8 G% @6 t2 K/ l0 K7 { pLight->Specular.r = 2.0f;
6 V8 k4 n8 K/ U$ d } pLight->Specular.g = 2.0f;
5 g8 S' z% Y! d6 k. q' D# p pLight->Specular.b = 2.0f;' c0 c' w. ]4 |% d
8 R2 c- W3 {$ H% F4 i" O
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];; T: N4 |- U+ h( B1 M X' Q
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];1 y3 i) p2 _/ e2 M2 B: f; p" D/ b
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];% }7 f' q# [+ f& B( S0 V- }& l1 J) w" n; e
; `% [( h9 r& `% u: c HookUpdateLight( pLight ); : {0 |" V/ G* i `1 [# N
2 x y3 z% d! w" B
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% f$ J! r1 \% P T
8 d n; K9 b/ l4 A/ Z pLight->Diffuse.r *= 1.2f;
, S4 ]. s c$ y' J pLight->Diffuse.g *= 1.2f;$ T0 u. D) h" u9 w8 H' b
pLight->Diffuse.b *= 1.2f;& }2 Q0 K% a9 }( o I6 I! _2 a
& @& q* w* l% B0 L: `
pLight->Ambient.r *= 0.8f;
! T. z# R% s1 S' m6 a pLight->Ambient.g *= 0.8f;
& V5 D& `: [, Q! {; H) Z. W* | pLight->Ambient.b *= 0.8f;, ~" s+ s! i9 ~: g, `
$ M3 e+ B' E: z7 t) C memcpy( &m_light, pLight, sizeof( m_light ) );
, r1 `- S$ c$ t, C3 B8 O3 e! O) ^8 ^' }- F
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
8 s. y" _! f. G( H; [1 e' Y+ \ D3DXVec3Normalize(&(vecSun),&(vecSun));
2 B$ q' y3 y' ^3 C1 _1 Q pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 7 H8 X8 E, @ T, d" C
pLight->Appear( m_pd3dDevice, TRUE );6 Z7 W0 J3 z) b3 J5 Y- x2 u
& c2 I5 t) x; R8 y- ]8 |
DWORD dwR, dwG, dwB;
6 \( c5 k& I" t1 X( J, } dwR = (DWORD)( pLight->Ambient.r * 255 );% B. C, t9 v8 t
dwG = (DWORD)( pLight->Ambient.g * 255 );2 r0 r3 R+ a { d5 V9 B$ q
dwB = (DWORD)( pLight->Ambient.b * 255 );8 x8 Y% i9 d& X( O% M8 @' @
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 A* [8 z: W( ]/ D4 l }; [+ x$ e( p; M- A3 J
}" h4 t2 g M( b* d
}" t7 H4 l9 |) D) r ~
else
X7 L5 p+ }$ s: J#endif % {/ x$ D9 U d8 H9 j0 `
' w5 g' J2 G. H, }) x) y' f& t& S% u if( m_bIsIndoor )! L' a" Q$ `+ m$ o9 n) K* w
{6 h2 {) Y+ F& b7 m. }! [, X
if( pLight )& q" [$ E0 W5 N4 o s0 q# c
{
% R5 p4 j! u" Z2 t$ l8 `( ~ // à??μ oˉè* - S) t2 T, e! G
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;4 O8 C+ Q& m5 d3 ]4 Z
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
. E+ @) x. R; f! v, i5 B* v pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
) V, \& ?6 c; P8 k' o u
; G. Z2 h, p- j7 v. a // oˉè* ??à?
7 s2 ]1 j( b2 j9 Y1 O- y pLight->Specular.r = 1.0f;
) K4 Q' B: Q9 \9 [ pLight->Specular.g = 1.0f;
" [. Y5 Q" e, @, {$ c. C% J# ] pLight->Specular.b = 1.0f;
# y" v6 t- m% t; ?7 O' ] // àü?? oˉè*
' [) s+ r# f B, p& d pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
& ~! J, V) S: L* K pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;* b6 `3 c1 a; l e5 ~. `" Y
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;% y' q1 [6 _# a4 B' }' p
8 e6 k# t. m7 l Q if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.4 O; u7 T' p+ T! Q8 T+ u4 I
{# u3 r8 q* v* Z9 y% K% ^( C
pLight->Diffuse.r *= 0.6f;
5 { m, K2 H9 H6 r* @# K pLight->Diffuse.g *= 0.6f;
1 ]8 M8 K' E ?/ W( v) q. r pLight->Diffuse.b *= 0.6f;
$ i) W0 \0 }% R2 @/ G8 ^% i. G pLight->Ambient.r *= 0.7f;: H8 Z U+ R% ]# u1 q; ~
pLight->Ambient.g *= 0.7f;
5 ?1 `+ V$ r* e1 ^ pLight->Ambient.b *= 0.7f;4 [3 M4 O- N! h) i: _* f
}5 Z" i) N% \' N. K! u/ ~
! y' V5 M `, v8 |( C#if __VER >= 15 // __BS_CHANGING_ENVIR/ `* u5 g, c# h: E, r
if( g_pPlayer )
8 y K4 `0 ?. i0 ^ HookUpdateLight( pLight );% ?! P5 p0 Y' u: J' J6 X
#endif5 {# n9 }. m! C# ]# `) h6 w% z
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 }& n6 ?5 `* r
% b. M ]/ {8 B9 V0 f7 n& J pLight->Diffuse.r += 0.1f;
2 h2 x9 c e: {/ T pLight->Diffuse.g += 0.1f;
a! h" z6 R1 C" k pLight->Diffuse.b += 0.1f;' p9 l& E' v0 ~- E4 m# @# H
// oˉè* ??à? $ ?2 O, ^. P) ~" k
pLight->Specular.r = 2.0f;0 a4 d7 p. T! p, r
pLight->Specular.g = 2.0f;9 s% K) v4 i* \( o& S8 Z8 R7 E
pLight->Specular.b = 2.0f;
+ t& }4 q" U* ~2 Z7 E1 @ // á?oˉ % d8 @3 B% J. q8 \9 Z
pLight->Ambient.r *= 0.9f; L( j5 r5 {/ [1 x3 |" K3 |/ e
pLight->Ambient.g *= 0.9f;
$ L4 T! z# A U# I' @ pLight->Ambient.b *= 0.9f;) g9 s7 `: E N+ E! p
# G4 u+ z0 s8 [8 L9 q
memcpy( &m_light, pLight, sizeof( m_light ) );4 S9 A' e6 ^1 f
( b# L! U S+ w$ M( ?1 O pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
s) F% X9 P C( d7 `( Y; j. l pLight->Appear( m_pd3dDevice, TRUE );4 ?, F( T0 l) t+ I+ n% b
8 ? @7 Q! e# y8 G' B/ M5 N DWORD dwR, dwG, dwB;
, N/ v1 b$ I- r! b dwR = (DWORD)( pLight->Ambient.r * 255 );9 R8 G f5 l5 N
dwG = (DWORD)( pLight->Ambient.g * 255 );$ x5 p4 c$ W. |! n; j
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 X' u C+ g% Q dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );) V) o5 @; P$ y% v" F# M' G. D8 q& M
}6 K a# c4 ^0 U
}
2 T" n' `; {" Z% w else
* i& P+ p0 O s* a9 ]6 M$ N% m {) s; E* L% R: R, C# W$ w
if( pLight ), y# g- T1 a$ e2 @- v* A8 l
{4 u* H- |1 I. T! `1 R8 j
* f0 z0 ^& T b3 N2 _# x; E
int nHour = 8, nMin = 0;
% Z+ A: z- j' W1 n" L/ d #ifdef __CLIENT
/ D& E' h9 ~, r/ l Y$ }, W // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
+ Q' Y" [6 R6 B/ P* O* d nHour = g_GameTimer.m_nHour;
# F" C+ v4 r( F nMin = g_GameTimer.m_nMin ;& I) d3 G1 F% G, Q3 _
#else+ m4 t" d3 @0 [
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
4 |# }& P5 c _0 W9 i* ^ if( m_nLightType == 1 )0 V7 W& B V* R" F3 n
nHour = m_nLightHour;% j) x0 W2 D' Z: ?: ^
#endif
0 Z; i" U0 z" f8 H nHour--;
& x) s0 [ J, s% M& Z/ l if( nHour < 0 ) nHour = 0;- a. ?8 l% L" c- [: ?% r& n( F
if( nHour > 23 ) nHour = 23;: `0 Z6 t! {( L4 x
% H2 i* F e- _( J" Z
//if( m_bFixedHour ) a( U* v7 R* o! M
// nHour = m_nFixedHour, nMin = 0;
* b) M5 H- ~, j1 o# F& w7 H1 [ LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
0 o! n, W+ i5 N7 Q3 ` LIGHTCOLOR lightColor = m_k24Light[ nHour ];
5 ]- X3 J! @% H8 T9 o
3 ~! ^. s* I: x) {: N //m_lightColor = lightColorPrv;9 d3 \3 x/ y( e! M4 W0 h7 L
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;- e/ P' N! C4 u2 ?
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;( b3 d9 E) O, i+ L
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
2 [3 r& ~( R% ]# D' B# O lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
0 u' _0 ^1 N* J2 n lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;* a# u) ^: X) w
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;" k. l+ p* B9 m
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
) i) V& z" R0 E9 e/ H" V- z! V1 ]. r- }6 s( v4 P; B' W! ^
// à??μ oˉè* ; `( w% g& X, H' g
pLight->Diffuse.r = lightColorPrv.r1;+ U4 U1 c; H; a W6 |
pLight->Diffuse.g = lightColorPrv.g1;
% Z4 M H* t% s( o, d pLight->Diffuse.b = lightColorPrv.b1;
. @3 D$ G, Z- T$ K+ p& j // oˉè* ??à?
7 a0 ^: \5 l# F; N0 a& H% y pLight->Specular.r = 1.0f;1 q3 s1 m I' `) Q/ [3 d, d
pLight->Specular.g = 1.0f;8 Y+ H' k, K- w# D, g1 K$ A
pLight->Specular.b = 1.0f;
* i& s1 D$ B1 M; ^) z$ E/ z% X j // àü?? oˉè*
$ A" I- S, F i' C9 x' T pLight->Ambient.r = lightColorPrv.r2;
6 q8 U7 ]) F$ g- [& \ pLight->Ambient.g = lightColorPrv.g2;
% Q# d( V0 E; K* _. h" R pLight->Ambient.b = lightColorPrv.b2;
. D2 P: R) N# Z) Z% ?, _2 P$ H! g
3 n* f- e, N8 F6 b" z( Q M; [ if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.4 Q' E, U' l0 m" ~9 e
{
1 h6 x' _) D6 M1 J$ L5 T% Q. O2 \8 Z: y pLight->Diffuse.r *= 0.6f;$ m. c- ?- d) ^8 N: |& D0 x* z) R
pLight->Diffuse.g *= 0.6f;4 f0 r/ G8 v/ v, z
pLight->Diffuse.b *= 0.6f;
( c# g1 {. _% ]2 I: p pLight->Ambient.r *= 0.7f;
4 N2 }' l0 k4 V( n( |5 F- F F pLight->Ambient.g *= 0.7f;
. @6 H5 _0 J" {6 c) Y' A% h pLight->Ambient.b *= 0.7f;+ Z- n8 m0 \, y, p3 i% n% [
}
- W" j# V5 _* @ & X5 n, T* o/ v- ?3 S; q( `/ m
#if __VER >= 15 // __BS_CHANGING_ENVIR! c, F9 N: Z" V7 x9 ^
if( g_pPlayer )
" A4 U7 [* L/ | HookUpdateLight( pLight ); 3 I# f+ Y0 |0 Y
#endif
; [0 ?! z4 M2 P: d1 m& [3 q1 c memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
, g: h6 h: c. C9 u/ x3 N, a* e) t' K+ O8 r
#ifdef __YENV
) O, h! j, _5 J7 y( q pLight->Diffuse.r *= 1.1f;/ Y9 x. |3 }2 x
pLight->Diffuse.g *= 1.1f;8 |9 l$ J% w/ s: w! z' v6 M0 o
pLight->Diffuse.b *= 1.1f;7 t- U- J& t5 @" ~% V' w a# Q8 J2 d' ~
// oˉè* ??à?
9 _9 T( J+ M1 u5 A( k& ^; n( y' N pLight->Specular.r = 2.0f;( I( ^" D" j* W
pLight->Specular.g = 2.0f;
% ^& i$ Y# C ]1 @ pLight->Specular.b = 2.0f;- C7 y! Y1 {# G
// á?oˉ 9 a/ _' X* s {! u# ^
pLight->Ambient.r *= 1.0f;0 l* X, Z; b! K/ ]/ P
pLight->Ambient.g *= 1.0f;5 v2 Q, O8 {4 K/ r- [
pLight->Ambient.b *= 1.0f;1 [. }$ B) Z: ]
#else //__YENV
# z$ I3 V1 _# z7 L8 J0 s pLight->Diffuse.r *= 1.1f;, j$ V- D" z; t8 Q9 b. v6 |6 @0 }
pLight->Diffuse.g *= 1.1f;5 o: E0 ?* A" P' I8 Z& j" F$ i0 p
pLight->Diffuse.b *= 1.1f;& s4 _/ ~( H4 _$ W4 b2 T
// oˉè* ??à?
$ C% v2 r) t( m% J/ F+ x9 D) T* c' X pLight->Specular.r = 2.0f;
& _6 `9 z" {3 f pLight->Specular.g = 2.0f;
- e% R4 ^" b5 z( E- z pLight->Specular.b = 2.0f;
+ c: X" l0 Y% ? r0 N4 y4 V. `5 e // á?oˉ
8 b3 i% {4 B9 G pLight->Ambient.r *= 0.9f;
7 i! v; ~- b$ C- C pLight->Ambient.g *= 0.9f;
& Z* o! c$ @1 a, S! | pLight->Ambient.b *= 0.9f;4 Y! u- P& I4 q
#endif //__YENV i* e1 R9 S9 C8 a3 k! B
* J! i" w- z) E! D memcpy( &m_light, pLight, sizeof( m_light ) );
0 i; x* V: }1 i: u9 s9 G
; K- u, K; _& l" G: S D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);4 K' y/ K7 p; ~3 c B3 l
D3DXMATRIX matTemp;3 W# V, D3 O* f
static const float CONS_VAL = 3.1415926f / 180.f;+ d* q6 y5 `' G5 x% q
) W t6 t0 _# b# T- J; v D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
) z/ U6 B4 ?7 O+ V D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);+ l+ _; M" k, K5 |
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 2 ?2 l5 {# ^* K1 F- O
pLight->Appear( m_pd3dDevice, TRUE );6 K" `. m7 y" L3 e# m5 P* f
) S8 W- O8 [9 u+ T4 U
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);& f! Y m" e3 N8 e
// D3DXVec3Normalize(&(vecSun),&(vecSun));, C$ O$ j( B8 v
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 3 W! j. G/ g( W& E$ T
1 K: I$ m7 g' {! C- W$ s
DWORD dwR, dwG, dwB;
" t( A6 F5 `4 P/ R& p o2 z dwR = (DWORD)( pLight->Ambient.r * 255 );
; N6 [3 [) W, _$ d7 _- W dwG = (DWORD)( pLight->Ambient.g * 255 );1 d" Z, n4 C; _3 l
dwB = (DWORD)( pLight->Ambient.b * 255 );
# N7 p; n/ |( W" F% R! d% z4 O dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 0 [! a6 u) T' W% L: p; Q
}
+ L( R4 k2 N5 S" B }* ?6 P/ v+ b; q+ q! \, z
; }# k; P% h( }9 Y m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );) X# l+ U+ c9 I5 ?! `8 u
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) );
% A/ |" [' S% k. w6 ?" C6 T ::SetLight( bLight );: r9 T4 E! Z9 }+ K0 Y: x/ t
. N- H2 R+ S/ @
// ±ao? ?D?í???ó á¤à? 6 v. m! q: X0 O) f. ?
m_pd3dDevice->SetMaterial( &m_baseMaterial );
/ V+ J" J' _7 Y$ U" N! @+ U% {
5 r' V* q6 q4 p l5 E" T#endif // not WORLDSERVER
7 a; M& E7 r5 M5 a}
" `( c, ?- w( K. z* }并更换
8 T! F. e3 F: O# ]Code:7 `! M; ~! A9 T
__FLYFF_INITPAGE_EXT' r9 B, H" }. J6 T/ S$ O! E8 `* i- P1 R
定义
2 t6 t. d- C. k; N% h/ z
; W) p: i1 w$ x: [4 T9 Y
6 I4 D8 u7 p# a4 x6 N$ N, Y6 U! R( ~" ^8 K" n/ M7 T1 x5 d0 D
+ q7 d. w' l8 r
现在终于删除我的狗屁加速...: h' j% ^2 K6 [, w) ?& t$ T
- |) F% j8 r& a& v/ N
0 v7 L3 F3 J2 Z4 o$ x4 r
. o4 {- h+ ]) k, Q5 t |
|