|
|
食品车:' H! C8 r4 ^5 S: f! I+ s
尾翼:
' `4 B# r1 e) z' d( k
- b1 p' }* C5 m代码:
, a8 _& p0 J q0 V( [+ D9 t3 _CWndAutoFood::CWndAutoFood()( p* \/ \) P% ?0 ~/ M4 `
{
! e8 _. k) O. _) Y8 w- g; d m_pItemElem = NULL;; M( X$ h( h- J# d8 W; H0 m# B
m_pTexture = NULL;
5 S( S+ ?7 a8 }/ y' _( L) d bStart = FALSE;; F8 `2 Q! D/ b, [: _0 X
}
9 j8 g+ |, U+ ~! d4 R
0 l, i( z H- Z4 x- BCWndAutoFood::~CWndAutoFood()
; n# T0 x( X5 C3 P( F$ G4 b% e. C{
7 l7 n; Q+ x- \. j: B* l' N7 G AfxMessageBox( "AutoFood ist gestorben " );4 v; e- |, d% b# F
}
& c6 T! G) A) p' `BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
4 n( a+ D3 \7 r4 n3 N{
2 l+ c3 R; x6 Q2 g' |2 @$ e return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );" F( K" F* w4 `' I
}. ?9 T3 y3 S- a3 |9 ]
* G" c3 d* r- H1 g' T, QBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )$ a0 ]4 h8 U0 e) y
{
3 J3 c3 H1 S& G: l* C5 l8 I! b LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );' W8 y& [7 E5 D% d5 G" v
CRect rect = pWndCtrl->rect;
- ?8 h$ K) B7 b0 ?4 [+ y4 D if( rect && rect.PtInRect( point ) )
b1 N: [- [8 r3 j- |$ E {; Q" y# c3 |/ E" f
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );' D' L' ?) E/ p5 `& f; g
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD ), r6 w5 g- }! M
{
7 q( l) r7 {: R. a if( m_pItemElem )
$ F* e( Q. C4 S6 U5 z1 z4 s {( R: B3 j% I4 q$ x$ F( h' q n
m_pItemElem = NULL;
1 ~+ w& r% U% c } U1 v0 Q; Y8 c) H
m_pItemElem = pItemElem;. f7 L8 f9 f5 W1 `: r5 O, z4 S8 u
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
: A1 @( V0 N J! a }else{! P1 l i) R# H0 [
SetForbid( TRUE );
% z5 ~& i7 @" B5 U4 b }7 h$ k- G4 n" v3 d( y9 U2 W: u. |6 @
}else{
+ S3 x, r* W* u) t- e. G* k/ k SetForbid( TRUE );
2 o5 G2 I V; `3 Z/ g0 m9 g; v }
) g+ ^; j6 D: j& w( o) P return TRUE;+ ], a0 J, K" t% D# o7 i$ K/ }; z3 ~
}( J0 D3 n' k& n: `; |6 s# f
. Q1 i& H4 J5 k5 b( G8 f
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ); R( V9 E5 E" p6 o# [! `2 p( r8 v% l
{; }$ l( i& |; K- L$ x9 e7 @
switch( nID )
- K4 _5 {( j( K1 r4 e2 S* { {
2 a3 f4 \' _( J& n, K case WIDC_BUTTON3:
U9 w8 V4 d% g) w( Q- ~ {% n1 ]2 v2 v/ N7 g/ c: B
bStart = TRUE;
, Z* O$ }% m/ e4 j% [( k break;# y3 H; H) W: q+ `& e' v7 r4 S
}
d2 s+ h0 S+ l$ \$ { case WIDC_BUTTON4:+ T- R" w1 W$ L* [3 F# H. X
{
b8 s7 u- b, d- [, S: Y8 A bStart = FALSE;# t; c I. b z- e* C8 Q
break;- `' Z( F7 Y6 |. {( ^1 L
}, z- S+ B% S) q
}
. P' B5 t: ]& G3 N7 f) o5 ? return CWndNeuz::OnChildNotify( message, nID, pLResult );9 P: S0 m ?; \7 B- z8 ?5 q8 u$ n
}
; H; D2 f' j6 G# }2 L ovoid CWndAutoFood::OnDraw( C2DRender* p2DRender )9 ]) `4 w3 E$ s
{9 _% P4 Q* @% |) h. P% ]
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );, Z9 R. k, }% n
if( bStart || !m_pItemElem ); J/ u! a8 y# }' \' H5 o
{ g, ^4 C& Q E5 _* h1 W: _/ ~
pBtn->EnableWindow( FALSE );
7 X( W! D O# Q6 J3 V/ U- U }else
8 C2 {2 e- l) m& S9 w# z- o! p pBtn->EnableWindow( TRUE );! r# @' f) b: v
if( m_pTexture )' J" {6 c' B3 `
{
: F5 S/ b$ q: B! ]: u, J LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
o" \. U+ \0 b. t, Y$ ~ if( wndCtrl && wndCtrl->rect )" s( ]7 m( w7 m3 s: H% k u
{, d% @* ~, ~* o8 W d
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
( V+ b: w4 d# K }
; |& g) D* i9 I" {. k6 H }
8 U' [. a' w' J# v- s. c3 q7 u: e}$ l9 h6 b, @0 |: p" @- u3 W
- r4 K0 G# T) \) Z$ q
BOOL CWndAutoFood: rocess()
0 R- P O$ S. l% s6 V" [# r{* x7 \7 K1 U/ M l0 F
if( bStart )6 f# j; C' k: t
{
! p2 h4 B' a J9 K4 P if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
& O5 Z6 y' @" p {
6 N8 q' c# Y& f, e; Y" e4 W, ? if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
7 I( }7 W% X$ b2 z! o g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
: j# J1 K" V! Y. A# P }else{
9 [0 D2 x& I7 [5 W" [+ u2 u bStart = FALSE;
|8 ?, T" K% o: o$ B) d m_pItemElem = NULL;6 d( z3 Y. m0 G, w$ Q. E8 g
}
4 q2 Z2 r! I) m) \ }+ a! W5 J. x5 S& f' `
return TRUE;
2 s$ X; [& X0 b& f" T}
1 _. a ?7 f1 w, h4 x. T( F# a7 L% i* e8 R1 q$ X/ C* `; ~0 `) [
登录视频废话:
9 W' X* y# ^" N$ j; a4 r5 G" @9 g尾翼:
/ S* m3 [4 h* Z4 k3 l
# P& y+ }& D$ x/ q: h7 R4 x代码:# I0 b7 g& j6 d) G' D$ b
8 Z: \4 R# W$ }void CWorld::SetLight( BOOL bLight )
R1 R+ ~) C2 b9 p6 D- \" P) tdurch- {8 A' P) W8 t/ j1 K
Code:
Y% i* [+ `4 x; q [! evoid CWorld::SetLight( BOOL bLight )
( v2 I: j: x) n! `/ h* O& A{
$ G! A0 Q5 }: U9 K5 M6 e; `/ I //ACE("SetLight %d \n", bLight);
6 H" \4 ?$ ]1 N% g; E , o& g7 T% D5 Q
#ifndef __WORLDSERVER . A5 J( T/ ]& w, M) J1 r
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
' g% ~7 }0 W8 f. I CLight* pLight = NULL;2 q6 @4 Q3 D: I9 u1 b
% w" j$ m8 G3 o, `
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
' x' _ U8 a6 r
$ y# i3 H; g, T5 g& m, M pLight = GetLight( "direction" );
3 N, g6 N* M- h" S0 X8 T# G1 ]' m. w3 N2 G2 _
#if __VER >= 15 // __BS_CHANGING_ENVIR9 L2 {7 m' t w, T! x, _
if( g_pPlayer ){ h- r# D" a1 @3 Q8 d
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
6 u( R2 N+ }- h- o, ] if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!" f6 W4 i3 t7 W! R/ b# f' _/ {
{
- j! @" G) E" F4 p3 `* \0 P if( pLight ) C$ a' F: |2 i z9 {, q
{
2 A+ z& [" k5 s0 m7 e pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
- [" V0 d: ~% d: G: g8 p+ B pLight->Ambient.g = pInfo->_fAmbient[ 1 ];0 W N) E, @8 {
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];: V( x* n9 p4 }2 V% Z0 i* `
' N9 D) U0 b5 p" Q pLight->Specular.r = 2.0f;7 }. Y4 C" V2 [
pLight->Specular.g = 2.0f;
4 `1 A& X( }4 {8 } ~ pLight->Specular.b = 2.0f;$ P* }/ D. w) p9 {; n
* ~0 e& b$ r9 z- j" Z/ u3 Q- A
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
! E0 H) k& K/ ~# v: F pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
$ J2 \4 @0 X6 |8 J# F! e% c7 A pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
2 _9 w, z+ E! q3 Q0 X i * `6 L( V2 p5 A9 z: b( o
HookUpdateLight( pLight ); : A/ T- d0 e! F8 K* m
' e1 B! \ k. g1 P0 c- T
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );! v. r7 X8 Y$ s* l' e* L! {
6 U( B. i. ~. }. B: m' D: B pLight->Diffuse.r *= 1.2f;; ]* a U, I' I- k
pLight->Diffuse.g *= 1.2f;
: ?# Z0 @: m' C h$ x pLight->Diffuse.b *= 1.2f;
! A* U S6 N* \5 |5 h- O* {8 J. F
pLight->Ambient.r *= 0.8f;. u6 f& D9 X8 ^8 g
pLight->Ambient.g *= 0.8f;
7 E* i2 Y+ k# v* D8 z0 l pLight->Ambient.b *= 0.8f;2 w6 V4 Q; n! Q8 s
8 [% Q1 q- R2 c; ]' B4 l
memcpy( &m_light, pLight, sizeof( m_light ) );
* [ k) A! I( W, y' E6 A+ h6 d) _, v: j( K
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- n5 j" [3 D+ T2 o
D3DXVec3Normalize(&(vecSun),&(vecSun));
# r$ H. Z+ {& f pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 5 l0 u0 M0 z" s" L
pLight->Appear( m_pd3dDevice, TRUE );: x+ r$ N4 U! K8 U- Q
" D- ?7 `- |9 F+ e. T DWORD dwR, dwG, dwB;9 _- _, p I. z* Q! ]. w
dwR = (DWORD)( pLight->Ambient.r * 255 );
* ^: c4 k3 y0 q8 x: e3 K! |$ u dwG = (DWORD)( pLight->Ambient.g * 255 );! W( k# G A2 F8 V7 W3 s; e' f
dwB = (DWORD)( pLight->Ambient.b * 255 );
9 |8 i) W+ T/ t2 {3 a4 J' ?; N dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );6 {, x+ I1 D% p/ R ~) v: {
}
4 {' I: j; S+ C$ ]: R/ p+ s }5 @; u5 |/ T! m
}, k7 l. R# j! ]: @3 k8 u
else
9 o, @( n2 m3 M#endif
; @3 M5 Y. G5 A# k; d5 b, j% ^4 N$ a9 v' H
if( m_bIsIndoor )
, \) O" B, H" s9 U9 Y1 N$ } {* ^! x% V" D, S) _$ }/ J; i) G
if( pLight )9 M$ `1 q+ R8 y _" x: B
{ 8 X2 G4 J/ J n% `! N# V
// à??μ oˉè*
H( m3 B! K2 F pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f; z# `& c8 s7 o2 W0 [
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;( t$ ]3 c' @/ j3 {4 Q
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
9 b% W0 l) N X k# Z$ P
7 E* I M5 h& p1 [ // oˉè* ??à?
5 F; L6 q! r5 @% O pLight->Specular.r = 1.0f;) X) p$ ~% S1 V( A3 Z4 `
pLight->Specular.g = 1.0f;/ S. x: }; D7 t, y0 Q ]
pLight->Specular.b = 1.0f;
5 G8 Y- A" f2 G" I // àü?? oˉè*
! t$ U) t6 V% S& K+ {) G5 L pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;, k6 `* T( G1 Q" W) H
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;) j6 Q8 E% Y" S
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
& ?$ m0 B$ t; d4 @0 k4 z$ [. ^9 [ W6 G0 \: w0 l; y0 m7 n7 ^, r( H
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.% J" l9 i2 |/ |% N' R V' p( K
{
- ^2 o" v0 H1 c( k pLight->Diffuse.r *= 0.6f;8 q. o2 R6 o. o* R$ g% |
pLight->Diffuse.g *= 0.6f;
{0 G! W5 T: N" y8 E pLight->Diffuse.b *= 0.6f;% j! L/ m2 S5 @. u- t: @
pLight->Ambient.r *= 0.7f;
6 j h4 }. V' {& w; r* T pLight->Ambient.g *= 0.7f;7 A- x4 X3 ]$ R$ [# @, b
pLight->Ambient.b *= 0.7f;
! R% h- z/ l% _ }
+ B: L+ |' j6 ?" i& i: j& b6 ?7 v) o
#if __VER >= 15 // __BS_CHANGING_ENVIR9 c3 h7 w9 `! n( h4 s
if( g_pPlayer )7 u7 F' ?+ _/ i( }4 p2 ^
HookUpdateLight( pLight );
( L& x `' q4 ]% N9 f- h#endif; I0 y- `( e& G% S/ I. |, b# X! k2 d
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );& ~; A7 b) k4 P5 \& _. U% o
: d; {" l& I1 s: ~% o {; ^
pLight->Diffuse.r += 0.1f;7 f9 R3 p4 J; S+ f9 _
pLight->Diffuse.g += 0.1f;7 N# F9 g( O$ F+ h+ b! [1 K
pLight->Diffuse.b += 0.1f;
6 }. T& P( k# q7 U7 F; M' r // oˉè* ??à? ) Y1 j5 K! [' l6 b& g
pLight->Specular.r = 2.0f;
8 T! \# _4 L) u pLight->Specular.g = 2.0f;9 S" S% c5 r1 J) Z/ c; ~& j
pLight->Specular.b = 2.0f;
. l# I: |5 ^+ @# d/ a$ K7 _ // á?oˉ & H) g' T7 Z B, I0 d" e. v
pLight->Ambient.r *= 0.9f;
4 F7 m e( |$ T9 Q( [ pLight->Ambient.g *= 0.9f;
% f, P' d- ?+ \ pLight->Ambient.b *= 0.9f;
# J' J& c' h9 D V/ O3 _; c6 z, n1 G+ Z
memcpy( &m_light, pLight, sizeof( m_light ) );) i7 G, G; H! C+ B2 `
) M0 w9 m6 \* J0 S& h2 _
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );) p: @3 N( w( i
pLight->Appear( m_pd3dDevice, TRUE );
$ V4 C4 q" [4 a2 {9 ^ 9 Z1 a9 z( B! w/ F
DWORD dwR, dwG, dwB;
( {- M1 x3 u7 X dwR = (DWORD)( pLight->Ambient.r * 255 );6 S6 j8 E: C, B2 `# s
dwG = (DWORD)( pLight->Ambient.g * 255 );' {3 q/ N# L7 M$ o+ u+ l& P: c
dwB = (DWORD)( pLight->Ambient.b * 255 );
% l2 q9 d$ O6 f# Y) [# I. Y dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
5 d; \ E* t% F# M- w% o X5 {- d }
3 t; Q9 o3 u6 h3 p5 f }
. J, U4 S. s7 P2 B else* d- u i" m- H
{
& x) e6 L7 t! X/ q8 X if( pLight )% J4 ~1 X" W8 {; \" ~6 I8 R2 y$ f' u
{& y* \3 o; ^, N8 \( ^: x
/ n/ \2 |3 H3 X& W, s) v
int nHour = 8, nMin = 0;- r, p' w6 O; a# s
#ifdef __CLIENT
: B, g3 ^( J. S // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
4 P( m( O, `; \+ ^ f* h* ?2 { nHour = g_GameTimer.m_nHour;
& y0 v7 l& M" @. ^8 v9 a nMin = g_GameTimer.m_nMin ;; h% ?( O" D `8 |! v$ ?
#else
5 ?4 N" o! N% e5 {( L // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
0 _$ A, X( f* F2 J) L2 M7 a if( m_nLightType == 1 )' e* `" }! @, K; X0 i) Z
nHour = m_nLightHour;
4 G/ X) X I' g% ~) } #endif- ?4 Y( }5 a" J9 R& f- W; f
nHour--;
' x9 W" F* F' ~8 X% K if( nHour < 0 ) nHour = 0;: A! U/ w v% f1 ~
if( nHour > 23 ) nHour = 23;
4 Z7 v7 a5 n& G
+ v/ [3 K( \4 P' A //if( m_bFixedHour )4 z/ v; {7 J6 F9 F5 O
// nHour = m_nFixedHour, nMin = 0;
. s2 R$ K2 S# q. A& I B( N" T LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];7 B7 T; M/ a4 Z: u* `1 c3 p
LIGHTCOLOR lightColor = m_k24Light[ nHour ];/ @5 Z2 n" a& h. h2 H
+ R/ d& ?* Q) C0 r( i8 } //m_lightColor = lightColorPrv;7 d' j! b. p; R. Z. R, D/ I
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;& F9 l. i' h. W, ^) p% d
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
, F7 n# Y V# b6 [; H+ N lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;2 f3 s+ u) a; \9 v. D
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;5 q7 @0 i5 P4 m, Y7 W
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;& I. O6 Z3 {7 s% j3 h( m0 a
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
/ r& C H" W, t. ?1 d3 G7 E // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
4 a2 V& l1 h3 E4 h V# I. y5 X7 y. c( A! L
// à??μ oˉè* * e* j" {% V/ q/ z. k5 V7 U
pLight->Diffuse.r = lightColorPrv.r1;2 Q7 a- V1 w5 \" U
pLight->Diffuse.g = lightColorPrv.g1;
- R R! g3 u1 X( S7 T" q1 x pLight->Diffuse.b = lightColorPrv.b1;7 |1 ^; x% {$ k0 p8 D" _
// oˉè* ??à? 6 G3 {# j7 A/ X
pLight->Specular.r = 1.0f;
7 G/ U; N+ U: I t/ u" H pLight->Specular.g = 1.0f;# O% v# ^8 y8 U8 U2 w8 l
pLight->Specular.b = 1.0f;& l# c' o- m2 F: H6 \& { w
// àü?? oˉè*
2 b2 e+ b4 Y: C0 Z6 r* D pLight->Ambient.r = lightColorPrv.r2;8 T' Z' T5 k, |! I/ |' f
pLight->Ambient.g = lightColorPrv.g2;
5 l% N. }& N" c; F% Q pLight->Ambient.b = lightColorPrv.b2;, k# V3 q# n0 g( k! f
1 ^$ b3 A V2 Y& X: x! [1 c
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??./ ]7 H7 r7 E4 N+ d( w
{
/ X) \) x$ i7 L h8 e4 @3 s- P pLight->Diffuse.r *= 0.6f;- m# Z% X6 g# t3 o) h" p
pLight->Diffuse.g *= 0.6f; w& c+ r3 B& ]8 H5 a
pLight->Diffuse.b *= 0.6f;
! b) Q* e! j4 ]! p% g pLight->Ambient.r *= 0.7f;! Q+ \! b& u5 [+ {. K
pLight->Ambient.g *= 0.7f;$ V5 t! }0 A( y# j- k& ~
pLight->Ambient.b *= 0.7f;
3 o& h/ L) v; X( y* L. i }$ u" i8 l+ \; y/ F9 v" f' I- [
# q3 Y7 [1 Y, ^ e
#if __VER >= 15 // __BS_CHANGING_ENVIR% x( \; {3 X X6 t0 B: U7 ]0 `* N" ^ R
if( g_pPlayer )
5 r' l# l0 n( _$ Y, a HookUpdateLight( pLight ); % z$ w5 A9 W, c3 T
#endif; `9 [+ E5 W5 O( _" i! c$ s) Q
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
0 ]# I2 l5 k+ `8 s6 O U" N% g, _* |4 v
#ifdef __YENV
# K/ X4 G, L" F pLight->Diffuse.r *= 1.1f;
% W3 N( C2 H, X" `( d# x* W/ r# m$ ~; |8 ] pLight->Diffuse.g *= 1.1f;5 s1 ?& q, v' m
pLight->Diffuse.b *= 1.1f;0 k z9 x0 ?. U9 g/ R
// oˉè* ??à? * @; j t7 m% }0 E* M
pLight->Specular.r = 2.0f;: z V6 H' ~9 f P* j* h
pLight->Specular.g = 2.0f;
3 E P( ?" |6 n7 B3 G pLight->Specular.b = 2.0f;- N: U/ t- k; r9 G, f( A$ G
// á?oˉ , c% P% ^. W- k! w- `& ?
pLight->Ambient.r *= 1.0f;
7 n- F/ `1 {% R2 `* p pLight->Ambient.g *= 1.0f;( \' Z" `- @7 J# [( D
pLight->Ambient.b *= 1.0f;
# N. Q2 p8 x$ g( _#else //__YENV' v( `' X' F7 u$ c2 \* k2 P b
pLight->Diffuse.r *= 1.1f;
$ o* p' o% e3 j4 B. ? pLight->Diffuse.g *= 1.1f;
7 C& Q- f3 n, l7 t0 ^ pLight->Diffuse.b *= 1.1f;6 W4 @9 n9 j. k! |
// oˉè* ??à?
) |/ Q. H, E$ E9 v( T- W pLight->Specular.r = 2.0f;5 x# `- j8 `$ i, I( X8 _" k
pLight->Specular.g = 2.0f;
0 A4 o: C) M W* i6 k8 | pLight->Specular.b = 2.0f;
* q& ?, R. A" R0 R( y; k // á?oˉ $ c/ J1 K3 f$ b4 w. j
pLight->Ambient.r *= 0.9f; ]; G0 v& E: s, ]8 V! w+ V
pLight->Ambient.g *= 0.9f;# D) L9 Y4 H; M/ k) I* W
pLight->Ambient.b *= 0.9f;5 Y/ z: v" T; J0 v; @
#endif //__YENV
* Y; Y! h0 N% \8 M5 X$ \& V) W6 g / B9 U$ d2 k" p6 o
memcpy( &m_light, pLight, sizeof( m_light ) );7 x1 b* b, c% `
) v$ r% v/ k! B$ x9 j @+ D D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);; O6 E0 E1 m4 u$ L: ?7 p- K+ T
D3DXMATRIX matTemp;! S8 m1 C2 r" |1 {6 R- r6 S2 z
static const float CONS_VAL = 3.1415926f / 180.f;, }6 z9 V- n. p# \
6 a' k# Y& B( f# s8 L D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
, |6 L: G& s3 D7 `9 ]/ \ D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);. Q/ c. L3 n. A f( h; U3 W
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
% @' w* g! F) V3 E; ] pLight->Appear( m_pd3dDevice, TRUE );% V8 @+ N% n8 M& V/ p( Q. V8 x) L
- h" u: N- C% W3 A
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 H2 c5 t/ Q- A2 ~2 i) Q: B // D3DXVec3Normalize(&(vecSun),&(vecSun));
# `: d% w+ V/ i. h // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
9 u% l5 ~0 n) @- I! W& D4 Z/ d9 ~: X; K9 ?1 h
DWORD dwR, dwG, dwB;- b# r" Z- N5 C7 ~8 ]
dwR = (DWORD)( pLight->Ambient.r * 255 );
# \6 {& n1 H" s4 ^ dwG = (DWORD)( pLight->Ambient.g * 255 );
6 w5 o9 y5 ]; ^3 k. Q% c) B dwB = (DWORD)( pLight->Ambient.b * 255 );! k$ H& }6 E2 |7 u7 X8 z/ y- y
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); . \1 |; g: |$ }! @7 j
}& y( f0 t5 t( |. C- G. `0 P
}& }$ T$ @" \0 D
% @+ m9 U! |2 u y) A6 D/ D
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
( S; v4 t7 f4 W# F8 X 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) );
9 w7 C% a) V' T ::SetLight( bLight );4 J: J+ d- _) [% [3 x* _
, V' r' m* x3 h! E7 n: S! N // ±ao? ?D?í???ó á¤à? * f& H0 T$ s& j4 c) M5 n
m_pd3dDevice->SetMaterial( &m_baseMaterial );1 x/ v3 `" o" m) G7 v; G: Z
4 u+ N6 y. l, C! i# ^#endif // not WORLDSERVER3 n( Y1 F6 U$ a$ L6 q6 i2 M' a* }
}5 K: T E; c3 j+ B' }1 p3 L
并更换
$ d5 u3 _: ^# x6 ^% n" ^Code:
2 Q1 v, f0 ]; i l# g+ w, X0 @__FLYFF_INITPAGE_EXT* k0 ~8 E1 n8 M
定义7 L$ W' {* x7 t% M* l
' I' y Z+ G& j1 H2 C' i
* q# _+ Y. W9 [- X& ?2 T4 d: m9 ^" e
8 E9 l; ~1 Z/ a
. J% |' I/ v3 p% |8 `现在终于删除我的狗屁加速...2 z* { B& ~1 V+ H3 u$ r0 h
3 h' t+ Y: y- B/ M) {! p2 M9 S
0 ?5 p! M& [ D: y& Q9 x7 n9 }0 H' O: ~4 N8 }
|
|