|
食品车:, q2 N$ `6 L6 }) E
尾翼:- [: ^+ R& W5 A/ ]# C2 l
" [/ u" G7 ?% A代码:) i7 }6 l; B( { j+ j" j/ H% u' `
CWndAutoFood::CWndAutoFood()7 O; B& c: E9 t H3 C
{& g1 c2 ^$ p0 ^6 J% S" o, a% }
m_pItemElem = NULL;1 k' p0 C. Y+ S5 u& G7 y
m_pTexture = NULL;, @3 Z; X- F: @2 L$ {
bStart = FALSE;
7 Z2 Q2 E' }& c8 j}0 o) ^3 t, E, ?/ D9 A P
# c/ n1 n" c5 p) YCWndAutoFood::~CWndAutoFood()7 x) Q$ |$ G* m8 x$ M' k2 ~
{
# v: J, k7 N! H2 r AfxMessageBox( "AutoFood ist gestorben " );
& s: n9 O. y$ \) V0 O5 O2 t: z7 F}6 H8 Z, k8 d/ z' Y1 X& `
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )5 i! M L; P" E5 B( x- L. `
{
/ N$ w! t* P" F4 \ return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );4 k0 A' y+ ^- }1 ` ]
}
' ^/ d: w1 }% b M
) j( L' ^/ f5 R5 QBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
7 }3 B" i3 g$ ]% m) R O{( g' v6 w' ~0 ]# Y" _# e
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
0 \. N) X" h* ~# h' b; ?# O CRect rect = pWndCtrl->rect;
" T }) g' x. y" H' ~2 x if( rect && rect.PtInRect( point ) )
/ z0 G# U$ Z9 ]6 ~- M {
% ^+ A/ `8 B7 F/ ^. T CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
% l- n0 D$ I; V if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )- F" \6 l2 I& [
{
: L$ K4 ]0 `* V2 s: f' Q if( m_pItemElem )
6 a# \ u) Z& l {
5 r {) {! {+ c/ M" C+ x5 s6 g m_pItemElem = NULL;( r) Q9 P4 j" w7 J. K/ [, _
}. X% {7 {, j( }0 t
m_pItemElem = pItemElem;: t# F1 l+ p0 v0 B
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff ); e$ H/ e3 r2 j+ T" I
}else{7 k; \* @: I. Y
SetForbid( TRUE );% M9 d9 L z0 ~& J
}
4 Q" c# G: q5 g' z) q2 S9 O }else{
9 K; u' t" @! ?# f h+ Y( _0 C- A SetForbid( TRUE );
5 p) L! [# h* [+ O, Y3 c }
5 X5 j3 f7 V5 M' j9 g8 O return TRUE;
+ Z* D0 x# u3 d9 O2 ^8 y- k% \}$ x6 Y( W0 a% S
6 a7 V w3 d$ l1 r4 R2 a9 u
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
5 H5 I- n) I/ d{
9 ?/ g/ V3 P+ p# q ~& J) R6 r switch( nID )9 z( h0 {9 ]" H4 ?2 n J1 M% ]& S3 I
{
: g, s/ e7 }- M2 N* w# B3 f case WIDC_BUTTON3:
- Q3 L7 k S: S$ w y1 ]3 G9 } {: P C. ?+ _5 w8 b! V0 F1 w
bStart = TRUE; t `( T! Q R5 {8 c/ A8 S5 j+ H/ f
break;& @" i, f* g/ O) Q
}
8 p8 \) B! d0 p8 Q( C1 S case WIDC_BUTTON4:- K M! A8 @3 l: ]1 }0 N+ s
{
' ^/ ~" Y5 E6 {$ N* v, y bStart = FALSE;# z+ F. z ]& V
break;- ^# T- ^( p3 ^. L, Y/ K4 r
}
& [1 F+ g9 {9 [! }/ M }
W# O" t8 N3 m return CWndNeuz::OnChildNotify( message, nID, pLResult );
- p9 \7 A5 ^( f$ \0 {, L8 O. [} . s1 `' N# `6 @6 y$ A
void CWndAutoFood::OnDraw( C2DRender* p2DRender ) F9 z7 P* L& R7 C4 t' ~! Q
{' U _0 a! @& u; w! m
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
, k* F, G+ H( z) b if( bStart || !m_pItemElem )( q# W4 Z3 v( o5 F
{
3 d j2 U& h' S `# i pBtn->EnableWindow( FALSE );
) a; `8 [8 o8 l; z9 F3 [ _6 y$ _ }else3 \" H5 B a: o/ O- t( A& E! {
pBtn->EnableWindow( TRUE );: W6 w# F5 p9 K' ]* }
if( m_pTexture )
3 F7 N- A2 C: z# ` {
5 X/ c9 o5 S: A9 ? LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
+ l4 H- b9 ]2 a2 n; K$ d) r% [ if( wndCtrl && wndCtrl->rect ). ]7 o- E$ z2 C0 E
{: F* K6 k) V* o7 J: A3 S
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );2 T6 y3 L# C) A/ }) r& t7 p5 U' w: |
}0 ^3 \, Z' D! z8 U6 J
}7 l$ ^9 m# R$ Y; L- e3 H
}/ J: X% s, B4 C6 o
! {' j* d4 U& g" i$ UBOOL CWndAutoFood: rocess()
. M: h0 O& |6 Z: ^, k4 S{
) u @% e& {* |- O: ~# m if( bStart )) A6 A9 r; p% Y6 W* V/ i* Q; F+ k
{0 U* y5 c' `- S: x
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ) @6 s$ F2 W% x/ u8 z
{7 Q2 n8 S% R$ G [8 }
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 d/ g( ]+ {" `# N1 b! I
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
# {( o& A* v2 t% T }else{
+ x% Y5 s% Y! B) P( }# I' q bStart = FALSE;' `9 @4 K1 I1 x5 v- H
m_pItemElem = NULL;, G- F7 {4 t0 ^; c1 C0 a( R# _* ]# B. J$ p
}2 n4 V: V9 C |( W' o
}
& _) ?% \( @5 M3 m5 v: b return TRUE;
$ v$ ^: Z# W# q# {4 _}1 \3 j6 h6 _1 N( U b8 O: O
, W, U3 F' r# i8 }* z
登录视频废话:
7 M1 I6 b$ n2 V+ F& j5 F ^尾翼:
1 [# d3 c7 q5 p* R( l
6 ~' }! R3 n7 Z代码:% j2 w1 i% Z/ h- u# [
3 q* n& K5 R) u- y- b& y( @" h' V
void CWorld::SetLight( BOOL bLight )
/ A; {2 i" u7 ndurch
. P6 n4 k( c2 ?# E) r1 HCode:
) g: `0 r3 p8 x9 n* u; ?void CWorld::SetLight( BOOL bLight )
, E5 H7 d% e, V) G. d: T& W{! a/ A' E9 @ g6 `! m( v
//ACE("SetLight %d \n", bLight);
9 v9 F$ {( h5 n( b6 r
% C) s0 W6 e- }0 S1 p/ a#ifndef __WORLDSERVER
# u3 Q# H8 E& P0 s/ v9 [& [0 D DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);2 d. H i/ R8 G
CLight* pLight = NULL;( K- m! S# t& n/ w
- J0 F- T2 E( D D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
$ E+ m$ M$ V$ a; A; B+ x) \# p
) z- U u4 u+ O! w o8 b2 y" S pLight = GetLight( "direction" );# T7 ]; k- {9 [9 t& M$ @
( b5 u! O9 @: v I3 i9 w! c. v: m R#if __VER >= 15 // __BS_CHANGING_ENVIR
3 Y! L0 h% b% h! b9 n) F) S4 I if( g_pPlayer ){
/ [+ l( Z% E% j$ e% g ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
; x& `6 B' }5 h( Q/ k | if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!! t" F: W) L9 e6 m7 }& W: d6 }( W' L" N
{) \2 q9 w4 l1 `
if( pLight )
0 ]4 \, I% Y$ ?: R: `% o" | {" @/ D r- H" Q) ^2 h$ [
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
; Y d# K% q; w6 T; I4 { pLight->Ambient.g = pInfo->_fAmbient[ 1 ];* t6 O0 z9 X% K
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];( v; b2 I% T4 d% Z3 V
% B% L7 @0 j6 B pLight->Specular.r = 2.0f;9 d2 ~% X2 i" L k& q& j8 M
pLight->Specular.g = 2.0f;
7 P+ S- t' P/ I) m1 N1 B pLight->Specular.b = 2.0f;
/ ]. q- o8 |5 M; H# j7 u# ` ; o2 _. ?7 O# C
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
2 `" \/ U* ~5 [) X R+ ~& A C pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];$ [6 {* \$ s Z( U7 n4 ^6 ]
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];7 g- c X& U/ b! f
7 R7 U2 s, D8 Y- i+ c7 b ]
HookUpdateLight( pLight );
+ b$ t! o. ~, }" y
( ~* `5 ]1 ` [7 s memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
, i& X8 M5 h X2 N$ Q/ B) e; t
$ N# b e w6 g7 H% S/ Y pLight->Diffuse.r *= 1.2f;
" }& C5 @: P$ J7 H5 o pLight->Diffuse.g *= 1.2f;4 y- Q* y+ Q; M
pLight->Diffuse.b *= 1.2f;
M5 X0 V5 ]0 m0 d0 A5 Z' w2 P! A$ `% ]
pLight->Ambient.r *= 0.8f;% U( w! |; O* P3 n$ Z, d5 _
pLight->Ambient.g *= 0.8f;
8 ^" P. L" m2 h% v% u3 L( U! m1 X* u pLight->Ambient.b *= 0.8f;( s( n% c8 V5 g, }; b% o& c
# X$ R" h- M5 x* H d8 \
memcpy( &m_light, pLight, sizeof( m_light ) );5 a+ V' O& j1 o8 k. l( i
; s$ w! E8 A, P& k D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
$ V2 b0 p2 y8 Z# E+ p6 W* @ D3DXVec3Normalize(&(vecSun),&(vecSun));
! m: Z0 \5 u& R3 L0 Y" _ pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 3 r4 b, X$ J: p3 h- T. X4 K
pLight->Appear( m_pd3dDevice, TRUE );) q" ~, {8 p, }0 X9 k
7 j/ t8 Q* d- A: q3 ~
DWORD dwR, dwG, dwB;6 l5 x# S0 t: f. g% o: ~
dwR = (DWORD)( pLight->Ambient.r * 255 );
) V) M+ Y; c: Y! N6 ? b6 f dwG = (DWORD)( pLight->Ambient.g * 255 );
: O5 C- y$ d) i$ r6 S dwB = (DWORD)( pLight->Ambient.b * 255 );' @; Y, Z% K* d9 u1 |" ?1 O* {
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. b# \( ]7 R. M6 X }
8 w8 u: B3 V d& S. @ }
1 E! W* R' {6 X; W* j/ h }; ]. s8 h, ?% O& m/ y: ~
else
' O2 s" K& K/ i8 ?$ {#endif
V {8 ~6 j4 w7 U
! z- M% A! l6 P8 L9 O% R/ n if( m_bIsIndoor )
2 D& [6 N* `% Q0 ~ {) N: ^. A |- V( V* ]
if( pLight )
+ V9 {6 W' F* W2 H {
4 X' C e: y) C0 a6 g% O- D // à??μ oˉè* 9 {) N x+ g4 L! }
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;" G" a7 B6 P$ U1 f! R2 X
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;- z' C+ ?% C! Y1 r
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
8 v. z/ [7 g" J9 r) j* w
3 x9 L4 {' u2 F& }1 r // oˉè* ??à? ; T/ I; ~1 ]' X, I( E' _( x# M
pLight->Specular.r = 1.0f;- `: v" p" q1 e2 f! [7 A* I
pLight->Specular.g = 1.0f;
: Z9 l$ s8 r$ s3 R7 k+ ^2 F pLight->Specular.b = 1.0f;
" g2 u$ |1 t1 \5 E' ?* v // àü?? oˉè*
5 i1 ^. l3 s! Z pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;) ~8 ]) k v% P4 ? P9 v2 e7 u- t0 g
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
3 O1 p( g# Y" S pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;+ V9 X1 J5 J, M8 T
' i# U# R6 o* c$ ~
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# B* i0 q5 J8 l& w {
' D' U& ]# O! J8 y" f pLight->Diffuse.r *= 0.6f;" S3 b$ x/ ]8 ?3 j
pLight->Diffuse.g *= 0.6f;
1 ] \2 B) I- k' ^: H pLight->Diffuse.b *= 0.6f;% P# s! J- g8 m1 l" n
pLight->Ambient.r *= 0.7f;' ^5 g" Z" o# @5 l" x3 L
pLight->Ambient.g *= 0.7f;
3 w) `7 e6 l# m8 Z' P/ w+ y( R pLight->Ambient.b *= 0.7f;
* i: I# D$ G/ Q4 _1 w3 n- V }- T; c# L9 W; j8 Y
/ L; m& e. v7 ~7 h# r* E# a2 Y/ Y' M#if __VER >= 15 // __BS_CHANGING_ENVIR
9 k& h5 a2 n7 f. @; D( P, T if( g_pPlayer )- L; C! t+ Z! e8 u
HookUpdateLight( pLight );4 N7 h, `3 k# b% I4 M( }2 Q% I
#endif
$ l+ j$ Q5 `; ?8 L ` memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );2 s" j! R" y( o: v/ j( H0 k6 l) A
5 X0 T, x* X/ }" Q" b$ Q
pLight->Diffuse.r += 0.1f;
) i% }* a8 P9 s pLight->Diffuse.g += 0.1f;
- Z" ?! j% h- R: t' O$ b! W pLight->Diffuse.b += 0.1f;
0 z+ g! I$ G% j; O // oˉè* ??à?
, v3 W7 E+ Z% T" H3 Z6 |. Z pLight->Specular.r = 2.0f;4 t/ }, ?4 x7 f# T8 ^4 h
pLight->Specular.g = 2.0f;
y% F5 f3 ^; \3 a d' Y' v1 r pLight->Specular.b = 2.0f;
* U5 V. N( K6 Y$ O // á?oˉ 7 V6 \# p% C5 {& O
pLight->Ambient.r *= 0.9f;
) }2 {+ @/ g+ M; ~' G pLight->Ambient.g *= 0.9f;
% }9 W* t$ y# y1 Q pLight->Ambient.b *= 0.9f;
5 x8 \0 g4 z" r; |: D, h
6 ?$ {% i/ `; t' e/ Q+ Q memcpy( &m_light, pLight, sizeof( m_light ) );
( d* a% t! P% Y 3 K* J7 Y9 b9 @: k2 @0 q% D. ^
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );' |6 O6 D6 o: c# g( q
pLight->Appear( m_pd3dDevice, TRUE );
4 L0 e7 E0 K7 h+ [' t $ L. z$ X) J7 M2 h+ Q* g
DWORD dwR, dwG, dwB;
7 r& Y" H2 W. z( R dwR = (DWORD)( pLight->Ambient.r * 255 );
$ r2 d( G5 }7 ^& u8 W" ?8 p dwG = (DWORD)( pLight->Ambient.g * 255 );1 f9 t) {+ }5 s5 W3 q2 N- I S
dwB = (DWORD)( pLight->Ambient.b * 255 );2 z1 q* U6 g" f& T u: ^
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );+ [0 Y" ^* v8 t/ P
}
6 M5 O/ T' i3 Q8 M }& a% ]0 v/ R+ v
else( }% b; F2 n' D9 z( h6 L) ]0 T
{
1 N4 y% `/ [4 k if( pLight )
( J r2 L5 U) D8 C9 {& D/ n {2 V# x; o6 t- k; e; b8 H5 H5 h
# S3 F/ E, q4 L& p int nHour = 8, nMin = 0;- v8 s4 C( T# c4 P
#ifdef __CLIENT0 G$ e4 d3 ]" f! @/ D0 B7 g# x
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. - X' Y* V# _5 R. J* I
nHour = g_GameTimer.m_nHour;' G- k, l! v* \, r" v
nMin = g_GameTimer.m_nMin ;
7 t( p B3 g: J' ]3 A: b6 d5 ]/ N #else
6 v. D2 ]" S3 u- z! L/ M. Y7 O/ c // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.& J' x1 k( b1 B4 J
if( m_nLightType == 1 ). {& Z) ^) i: s9 {
nHour = m_nLightHour;3 W6 n% _( U; l) C/ ]% U
#endif
- U4 s* J/ i; X& i+ R nHour--;
1 N+ L6 W5 K9 _) C$ p. t3 l if( nHour < 0 ) nHour = 0;- G$ f' r! c( d) ^0 `: X" F
if( nHour > 23 ) nHour = 23;9 I/ _3 ~( i7 c! m
: P; ]0 a8 G g3 ~; j6 h# Y% R
//if( m_bFixedHour )% [/ R/ l4 t2 ~ \+ A8 h9 q! q
// nHour = m_nFixedHour, nMin = 0;8 H- l. h; Q: z, y: m4 L) f1 X
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
# H4 c: p t! Z! q" f LIGHTCOLOR lightColor = m_k24Light[ nHour ];; v3 P! d0 X0 T! _/ W
: Y* g! \ f# @; C5 v6 T3 K
//m_lightColor = lightColorPrv;$ Z, s2 Q$ k* F5 B) u/ e
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;3 I3 C* g% v i" ?
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;/ s: j0 K/ F& h# H( v, h# V
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
- p6 v* n1 J. B. G& |4 ?6 i lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60; Q3 N4 |) ^% }( H
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
% \# G9 I4 x* F9 Q lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
0 m$ b' t/ U2 @ K, K // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
i7 t/ H8 P; g/ Z5 V) n7 e! L. n& K: }
// à??μ oˉè*
, I+ ~' H' J% m j4 f& c3 a5 y pLight->Diffuse.r = lightColorPrv.r1;* i( F8 j) H/ A. Y
pLight->Diffuse.g = lightColorPrv.g1;: q0 ]3 T2 m, N9 }
pLight->Diffuse.b = lightColorPrv.b1;
9 c$ E; l2 O1 w# ~ // oˉè* ??à?
+ i: V; h0 q/ y" P' M pLight->Specular.r = 1.0f;7 [. E' m$ N4 L1 a& b& T: U
pLight->Specular.g = 1.0f;
0 h2 w+ o3 d0 U3 S* y( O. X+ I+ E pLight->Specular.b = 1.0f;6 P- M8 {4 S _
// àü?? oˉè*
5 k' y: }. ^& w, c* f8 r# e0 j pLight->Ambient.r = lightColorPrv.r2;
( B; X# h1 T9 x% A0 r pLight->Ambient.g = lightColorPrv.g2;
3 v3 G& U7 ~$ A [# K- S+ M9 @ pLight->Ambient.b = lightColorPrv.b2; P# x$ `+ o8 ?/ k' Y* n
( \/ f1 u4 ?8 z: H. j: E) }
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??./ U2 T4 Z9 ^! q9 S$ c* x
{
% i2 P6 a/ c: U5 @& {4 H pLight->Diffuse.r *= 0.6f; w, _, h/ t4 }' k
pLight->Diffuse.g *= 0.6f;
1 u2 Y' w# v( `) @% L1 N# {* ] pLight->Diffuse.b *= 0.6f;
2 D/ c. d5 _1 q4 [, U: G% H pLight->Ambient.r *= 0.7f;
1 P- `" a8 O' w- h4 o, [+ { M( O pLight->Ambient.g *= 0.7f;
6 H8 q# s( \- h# ?1 Q( ]( ]! i2 u pLight->Ambient.b *= 0.7f;
8 D1 q0 g8 D+ L; X8 Q }8 O1 J$ g! T2 R- I( l J- K$ T
# k( l4 ]: I( F4 k1 a3 R( [#if __VER >= 15 // __BS_CHANGING_ENVIR5 Y2 W* w) S# H. B+ L/ I: y$ G
if( g_pPlayer )4 I. P: [9 l& N* `. G% ]& \2 K4 m
HookUpdateLight( pLight ); 6 Y- q( _/ [( i( S7 a! Q; I8 c" Q
#endif
/ L4 i D, ]0 M memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );7 r' T; d% J' c1 I2 \) b( K" W
& R$ N" E. d& c3 h9 C
#ifdef __YENV7 W2 U S8 T$ r/ C$ n8 V# F
pLight->Diffuse.r *= 1.1f;
5 W( M8 ]( U9 q- L& u' t5 p pLight->Diffuse.g *= 1.1f;3 P2 a' a% M# u) }2 k
pLight->Diffuse.b *= 1.1f;% V4 _7 x6 a8 A5 r7 R
// oˉè* ??à? [3 ~; l! ?5 S3 K2 i9 w Q
pLight->Specular.r = 2.0f;
6 R9 ]# T$ ~/ \4 d& \& G pLight->Specular.g = 2.0f;" {, R2 b/ o2 {& H
pLight->Specular.b = 2.0f;% t; x: e7 x$ S* W. q( n* _# \
// á?oˉ / M- w) b, ]3 A! {: u2 N g/ K
pLight->Ambient.r *= 1.0f;
3 }" E8 x5 [1 m pLight->Ambient.g *= 1.0f;
7 W; e: z7 b$ r3 X7 l. x pLight->Ambient.b *= 1.0f;! H# W2 K7 L: C( t9 s4 z
#else //__YENV
4 B" R* \' ^ ~ ] pLight->Diffuse.r *= 1.1f;- O8 f4 m; T3 k$ X8 m* w. |5 [8 l' I
pLight->Diffuse.g *= 1.1f;
! C0 @+ L6 c; g; _( ?" Q" I pLight->Diffuse.b *= 1.1f;
% |8 b: C3 S7 F3 |6 S8 z1 Q; i // oˉè* ??à?
' w1 U4 @0 L ]1 s+ I" N, P pLight->Specular.r = 2.0f; F) @: ?" _* p# b6 Z
pLight->Specular.g = 2.0f;! ^. t. p3 C! w5 Q
pLight->Specular.b = 2.0f;
8 Y' C- z1 r- S // á?oˉ ' c% g6 V$ d% H
pLight->Ambient.r *= 0.9f;
) a! Q+ E1 f, \; y1 H+ j pLight->Ambient.g *= 0.9f;
' `: d$ F c, D& ?: f; n1 x% S pLight->Ambient.b *= 0.9f;& m' Z3 B+ e% B" K
#endif //__YENV / y v7 p/ D) O0 n# @2 t6 s
n( J2 R, z I* m
memcpy( &m_light, pLight, sizeof( m_light ) );
f) d \( c( B& G; | 9 [( k, t- k0 |! O- w
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
, s; A( I9 z; z5 R9 }+ a D3DXMATRIX matTemp;
* [+ T2 [9 ^0 X3 ?, f static const float CONS_VAL = 3.1415926f / 180.f;2 A! ]/ x* \/ S
$ M2 _& {- `3 M3 g% I& g D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL); R2 I. [2 J* |8 D6 \3 a
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);7 r. m+ A. c$ |9 j
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 2 C s; ?7 X4 E
pLight->Appear( m_pd3dDevice, TRUE );( G2 O, a4 r+ S; F6 R
3 Z$ w8 f; y& t1 l // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);) m9 B+ V+ z3 E! \3 t
// D3DXVec3Normalize(&(vecSun),&(vecSun));
( D2 [7 z/ |+ n6 X8 M' [' m/ k // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 7 Z0 V: o; `8 H9 @
# d5 s& }( F0 F9 D
DWORD dwR, dwG, dwB;
# ]* E$ g- j' r1 e* S$ O: Z4 _ dwR = (DWORD)( pLight->Ambient.r * 255 );
$ V) E2 P" y! p dwG = (DWORD)( pLight->Ambient.g * 255 );$ D* \; r" ^0 |
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ E+ U6 H& s. ?9 S- Z dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); ; p+ \ r9 o& Y$ U" o/ y
}
D) G" p1 T" j" O6 e$ _ }
D+ ?& d }8 ~) |5 u! m0 C' R/ Z+ P, N b- H" a
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );2 ~7 [/ [& T1 T5 l
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) );
- l: J5 N2 Q) ^ ::SetLight( bLight );
' _) u+ G2 ]# `
. n! i" ?" ~; [( ]3 ? // ±ao? ?D?í???ó á¤à? $ W0 c5 X* S# ^* m
m_pd3dDevice->SetMaterial( &m_baseMaterial );, E- t) c% l: D8 g- V- [
0 e+ G. a: @% L
#endif // not WORLDSERVER* k9 l" y: O9 X
}
8 G% V# O! W! x. R& V7 X* t+ b7 p并更换
7 N( J! \/ M7 h/ ?Code:
+ t( A! v/ F! @) V+ w- `__FLYFF_INITPAGE_EXT+ E4 S3 A% y* ~- e# O
定义0 D" L' Q; J5 G
- i& u' O! I( ~7 @! n4 x- {' }8 `+ }+ o
! @# h0 Q. p5 @. u
6 c# [# N) K& m2 O) {
5 b$ [0 W Z8 `# V现在终于删除我的狗屁加速...1 n# p+ }2 ]. V0 h+ b* k
4 P# o% v& c0 k6 p0 _' ^% q% |
+ K `, A7 z) G0 p# `5 c
2 h, x! c$ P& m |
|