|
食品车:
0 v" d, y4 |9 I8 Z; \- T尾翼:
- Q7 \1 I) ]' B# V8 w4 n& G8 C) `
, W6 q, j4 h, ]& |& O代码:. i$ D3 ] o3 @& n
CWndAutoFood::CWndAutoFood()
& r& c4 N8 W5 a, @- y/ P{
* V+ N0 Z* P0 v3 |1 ] m_pItemElem = NULL;! K+ `' ]9 |- P; I/ v7 R+ }
m_pTexture = NULL;
3 \" G1 Q7 o4 w2 N) I, f bStart = FALSE;
2 _9 B( M- C) ~# m Q$ [) h}
c" i, {( S: l5 Z
~8 p/ J8 \" S `CWndAutoFood::~CWndAutoFood()8 K" ]/ h" Y( c; u
{
1 ~! W+ n% o9 x8 |, P5 Z5 e- b0 Y AfxMessageBox( "AutoFood ist gestorben " );& M! N7 k# y% w/ j9 [6 y
}
* v" K' h! x" j6 p2 s, f fBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
# l6 `- a! S6 X1 F8 N5 M/ ^/ W: Q{# X, V* W6 G) d* M6 w, G' B
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );8 B% F& u, G& B
}6 m+ Q( T, c' E! H5 y
3 o& h ~! W( k/ \
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )- N2 f- n1 G2 O0 T
{
: N+ j* J- A2 @; h8 a" i, [0 @- i LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );3 Y6 B" P& {# n2 x3 P$ t. y
CRect rect = pWndCtrl->rect;: B( C* G M# q6 {# l
if( rect && rect.PtInRect( point ) )
7 ?: t- b. l ^5 d {
# |6 Z7 c0 D4 A) G( T6 } CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );$ Z- E* R. T% A* z! @) v: m
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
) _- O$ x: l7 b2 Z2 c: ~ {
; W& D1 |4 L2 g if( m_pItemElem )
, ]! c1 ^" G% {0 n8 A: k {
. y# E7 V1 t! N8 y2 a8 }" I. ]2 N8 Y' ? m_pItemElem = NULL;
: {1 [1 N- ?, O. |. p* N8 Q }$ [3 ?$ ^8 Y5 ]0 V0 ?- l
m_pItemElem = pItemElem;% [. C1 h c( f, {( k5 E, r6 R5 |
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
0 }1 R/ z# G' X( E }else{( o4 R9 v, W5 ?2 j5 z2 L! ~! @
SetForbid( TRUE );* L9 q* Z: ]5 T2 L: Y
}, s5 A% }8 O7 G2 R$ e$ R! E
}else{
4 U8 R ]& O7 N8 T* a, _ SetForbid( TRUE );
) H* c4 F- P5 h. n/ m$ r; @3 ] }
: \( v+ B2 o! X/ S3 M+ N return TRUE;2 `2 X/ \' A" f. h+ G$ n j1 x' i. M% U
}
( l- W0 R2 P6 M& T' {3 ~$ y8 z! x& `3 z1 I! w
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )1 ~: u0 Z% O4 }- i4 M- X
{( R3 @: n- T# Y/ I
switch( nID )
6 D, K( s/ V! v" f {+ j$ {$ r3 `. p6 x2 {
case WIDC_BUTTON3:
8 \+ t! T3 ^+ P {
7 b% o, A2 O0 M! E% K$ N; M bStart = TRUE;7 ^6 f9 H% N( H5 W. ~' A
break;: x, h2 G, }# i7 m. I
}. ]/ X6 O8 q) a c% {7 X7 W- T
case WIDC_BUTTON4:4 ^5 p: O1 t4 t+ [9 {6 W
{; n* X6 ~, g a: T) a3 n
bStart = FALSE;
. a+ h% h d3 k& e) J. o; f break;
1 F6 v0 A4 N# \! Y1 \1 z6 c" q }
, y8 C2 z g: s) {- O }
E7 e: W5 m6 }4 w' V return CWndNeuz::OnChildNotify( message, nID, pLResult );
9 l* X2 M) o6 y3 M}
* u3 D8 W: N: z' W1 m6 [void CWndAutoFood::OnDraw( C2DRender* p2DRender )
% z- F, }$ e( k% l) l7 v6 Y. w{" w# @% A1 S& x& M5 l
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );+ X" F( y! i. C G
if( bStart || !m_pItemElem )7 C6 e2 Y. I" N" `. c
{
n8 k" m5 V: H0 N8 Z# |& y2 q pBtn->EnableWindow( FALSE );
0 @1 _. p! r' K* ? }else" d. r3 x! J' |! |
pBtn->EnableWindow( TRUE );
r) ^0 K( D Q$ ~4 c. k) l if( m_pTexture )6 w3 l; x$ C' \4 W0 F* t
{
- [( l1 f* ?/ O; E1 G LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
* ~8 ?. W: E( X0 U$ z: x, } if( wndCtrl && wndCtrl->rect ), g- ?* c& k% Q5 X
{
) m7 X: u- h% y6 w% I( ^ m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );- U4 a7 M8 ]7 p5 O! q; m* [
}
; J# U. s/ F n3 l, ^ }
/ t* D, P+ m# s4 n}8 a [5 M H! q: S
R% e. o0 O9 Z' M% B1 b5 ]BOOL CWndAutoFood:rocess()2 y+ U! y: D2 K4 T- W# Q4 f
{
m7 {( z+ B. @9 J% t0 T$ o if( bStart )
; k. l0 T" p; Q' n; x; y {
& c$ K$ R' T$ E+ _4 j) T9 c if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )( ]' N+ x1 ^1 V. s, D+ k
{- M5 Y- a5 V7 ]9 q( d0 Q' F
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 L3 G' u/ e- ^) u" R- S g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
# }" o- q/ @8 W2 T7 B' Z }else{8 T* ]$ u Y( R& H
bStart = FALSE;
. R2 a1 v! S+ ~5 o E7 g m_pItemElem = NULL;9 d5 {& s( v3 p; y( G4 J; e
}
* _/ U2 p" h6 J. B }; I% E0 |! c2 Z. |
return TRUE;
4 U& z5 U) t# v/ Y1 o" f, ~}
9 @: O) s V* {" `
4 i$ C" p2 B. Z登录视频废话:
2 S( R1 J7 F; L6 z尾翼:! }4 E5 Q" y6 P/ ~5 C1 @# g
. X% ?5 `, N6 A2 c. l1 |代码:) s" q2 Y8 e9 }9 S
' x; Y( x- P4 m4 a5 Y5 \
void CWorld::SetLight( BOOL bLight )3 m4 D7 h" T2 R0 a* a) N0 d8 r
durch% _/ c, m. {+ A- t
Code:
5 D0 u2 w+ H6 i: Kvoid CWorld::SetLight( BOOL bLight ); X0 Z( F% z& V
{$ \; @; h2 h- ?1 I! u7 O4 z* \
//ACE("SetLight %d \n", bLight);
; W8 R) W1 v0 l- ^ h- o3 r4 V; T j, t+ O9 V K7 f; q
#ifndef __WORLDSERVER " B) V' b# ~$ r) F8 L9 k
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
0 n7 c; l: [- @/ P7 e6 s CLight* pLight = NULL;" f/ t1 G0 S" `* q$ ]
, Y% B' o4 N* ]9 s* A6 Z% N D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );. _6 D7 o) b, }; u0 a
/ |3 Y3 H( m7 N
pLight = GetLight( "direction" );; o. @9 B) N& j
" p* x! J2 P N#if __VER >= 15 // __BS_CHANGING_ENVIR+ a5 ?+ G( w+ E* T0 ]+ l
if( g_pPlayer ){- V/ B4 N2 H2 h$ K$ b
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );+ `% b$ N; Q6 q `& ~
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!! z! `% m" H" p& {
{
0 ^* i( x; ?6 B, h1 L$ \ if( pLight )* n$ i x9 P0 B$ e! k* [
{$ j3 j& m {/ [7 b2 o8 D
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];! n& M* _; ~& L8 ~% J6 I
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
4 l2 E _; B- v0 K+ R pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
0 \( g' g% I. U
: ]3 M5 @. p$ t0 S8 q9 i6 ]# |9 L* U pLight->Specular.r = 2.0f;$ b& ]+ r" V, h; _* z. G) C% |( ?
pLight->Specular.g = 2.0f;" ]6 w* K9 `. W4 O8 U/ }
pLight->Specular.b = 2.0f;
# K- ]8 {9 K, n0 k3 G# W5 K0 }& i
. s+ n) w, T! P0 ]4 A+ _; P) [2 K$ N$ t pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
2 O& S V$ S) S# |* ?( j pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];1 h2 B( M v% g3 J
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];" {9 P+ Z( a3 ]1 y5 T, N; n' `
; {" a: v: a7 ` {. P+ y
HookUpdateLight( pLight );
5 [4 j- x" h3 G% F' O
) ?3 ^0 {& r! b6 R1 J memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
3 ^2 S, |- f1 f, C8 V( ~ : R: ?! ~1 e1 W: \) h) R1 N
pLight->Diffuse.r *= 1.2f;
' v$ O; m# v9 s$ `8 r pLight->Diffuse.g *= 1.2f;
; d& I4 t) h6 p O8 V4 f pLight->Diffuse.b *= 1.2f;
; m+ _# ^) Q% Q( L9 j. k: J. T. Z5 b& K, ? s _& X S( _3 C/ g5 a
pLight->Ambient.r *= 0.8f;# F S/ s/ j2 C* A
pLight->Ambient.g *= 0.8f;
0 T8 k* _3 d. ~! l3 \4 `! i pLight->Ambient.b *= 0.8f;2 c% K$ F# K% N9 U7 n$ E" o' k. p
! U: ?" P) z5 p# B" V8 q memcpy( &m_light, pLight, sizeof( m_light ) );+ C/ V5 ]2 J" l
6 _4 c) W* T& \$ A D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
" P$ C6 u: R0 P8 H: U1 L* Q: ~ D3DXVec3Normalize(&(vecSun),&(vecSun));
; e* T! q! {3 |' T0 ^! J! P pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
; `& N5 Q! Z6 R1 n pLight->Appear( m_pd3dDevice, TRUE );, @+ s# x) y7 d% D
* u! H$ a0 K& I# R. v DWORD dwR, dwG, dwB;, `& _1 y5 ]) S; [
dwR = (DWORD)( pLight->Ambient.r * 255 );
* G0 n8 M/ N9 a. w# w dwG = (DWORD)( pLight->Ambient.g * 255 );
, e% @- @* |8 k( c) x dwB = (DWORD)( pLight->Ambient.b * 255 );
3 J. W; v: ^' @ dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- m9 }7 E! k, ~+ W6 G. e& |$ b }% k* M$ r" w( L5 j! y. g5 K
}
4 S7 E& x8 V, e! V0 n* Z1 v1 X }, o0 A9 t. T, P6 {6 e' [& C6 R& t
else
. [ Q! N0 X* i#endif / [1 w4 B: D3 K
$ V! y* A+ N9 A if( m_bIsIndoor )
, b( W6 b) c, \3 ~0 `1 T {* e `) G( K$ o/ V
if( pLight )5 T* G- t' D i: Z6 L/ x4 ~) I- J
{
k+ p, X1 T! B' D! v; e. r! {/ e // à??μ oˉè* - A \4 }5 w; h
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;1 f* ^$ ?, g) b. w* Z/ D
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;/ k' I; r) V2 a. b3 j0 _# [# a
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;' m8 P: d* @% m& l. b9 q
& j' i) ?+ }2 Z. X$ d
// oˉè* ??à? . T3 i' l. L( n- b$ `" Z
pLight->Specular.r = 1.0f;
, @( o0 Y9 g* F# D$ K/ D( V' f pLight->Specular.g = 1.0f;9 U+ x1 R8 R0 e" B7 n: d
pLight->Specular.b = 1.0f;) Y$ G, T. g" w5 R z
// àü?? oˉè*
( ?& |2 } e+ q2 C; V: L, g ~4 A2 c pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
5 w4 g1 S& ]. H; e) i* i5 G/ J. M3 R pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
1 ^% p! Q3 X1 k: f" ~" @5 |& | pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
" X3 V. u, m1 @7 m; g
% h& b' o) i4 G& E& ^ if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
/ E; ?) k& a+ k' M6 n- S( _4 D {+ O& M; O& T$ r6 }( U J
pLight->Diffuse.r *= 0.6f;# ^0 M; C3 t( Q
pLight->Diffuse.g *= 0.6f;% [$ `5 j$ ^9 N
pLight->Diffuse.b *= 0.6f;
- l2 E( q( F h1 h [( o pLight->Ambient.r *= 0.7f;
4 y) h7 u+ g/ g- M pLight->Ambient.g *= 0.7f;
g2 C% t p8 | pLight->Ambient.b *= 0.7f;
2 \' @ D, \" Z( y7 D }
8 V+ D6 V8 F# o6 Q) r5 I$ S% _; ^2 S5 L
#if __VER >= 15 // __BS_CHANGING_ENVIR' O, @9 t4 H3 k6 X: K
if( g_pPlayer )
5 f2 \2 V0 w1 _* S, Z$ {& F' ^; Y HookUpdateLight( pLight );4 f! F( z' ^- }. O& `
#endif
/ [. |3 q. K5 S, ?) C( g: d memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );5 q" P* G6 x, e) j
- \5 q8 V S' ?8 |5 e6 G# X1 G9 A pLight->Diffuse.r += 0.1f;
) ~+ d5 E$ [1 L- v( i( L pLight->Diffuse.g += 0.1f;
: A/ N1 c7 x! w pLight->Diffuse.b += 0.1f;3 T- r+ w! d* z- Z# }1 R. C7 V
// oˉè* ??à? ( U# i# R1 o' o C8 x! u+ a% W1 k" B
pLight->Specular.r = 2.0f;1 J1 ^# C2 o7 e/ d9 H2 J8 m
pLight->Specular.g = 2.0f;
6 {) g* b. W! P q, _% O2 z! L3 w pLight->Specular.b = 2.0f;6 ?" } G1 p$ x% ^
// á?oˉ
; U& ]) \- l" H; R. R, o pLight->Ambient.r *= 0.9f;
$ b; B/ u6 {3 [ pLight->Ambient.g *= 0.9f;
3 U9 R4 B3 f% a9 R% z: }4 m pLight->Ambient.b *= 0.9f;
9 T8 l0 h' x& |0 W( w6 i8 Z. H" Z; e0 e0 L
memcpy( &m_light, pLight, sizeof( m_light ) );4 `' c" ?& I0 b4 @
( p: o+ D+ F# J
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );5 b$ l3 u! d& P4 V* x o
pLight->Appear( m_pd3dDevice, TRUE );
* r" R& M7 I5 R( j4 `$ A+ _2 _2 l
1 ^" b! s9 U) o: U* e DWORD dwR, dwG, dwB;) N3 b7 |0 y1 t: A+ D8 M2 v
dwR = (DWORD)( pLight->Ambient.r * 255 );
- p2 a9 R+ A' u; ?' }$ D2 l# C dwG = (DWORD)( pLight->Ambient.g * 255 );. [8 ~6 w! p/ P; \: u$ s
dwB = (DWORD)( pLight->Ambient.b * 255 );) d, k a$ l8 V) G% U
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. p+ M5 |% `6 y% R4 o9 x }
: m1 T! \8 W T9 o. Z& B }" Q, A, P, c, w& N4 ~% P
else
# N& I/ Q$ [1 E& v, j$ Q7 G; X( u {
2 b7 _/ r# ~- h; L if( pLight )' y8 V! A8 |& v8 P" P
{" I0 y9 j, `% n( }8 u2 a
# ?" P7 x/ S. I2 Y3 A int nHour = 8, nMin = 0;
' o. M! a9 z H+ H8 y4 Y; l# l3 f #ifdef __CLIENT8 ^( `( b! v& h$ R* ?
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
/ B$ b; |' o& G+ I! F% J" J nHour = g_GameTimer.m_nHour;
# d0 I" u: R0 T9 N* l, U nMin = g_GameTimer.m_nMin ;
5 Z9 m( \+ u9 E4 @8 X #else. N' J& i M0 s1 r; g% d
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.2 ]. Y# y' t v" P
if( m_nLightType == 1 )
7 y$ o' |" r6 T" V# A7 R nHour = m_nLightHour;* u6 v/ g% h: @- F; t
#endif. w7 v5 B% @& ?8 D
nHour--;
- r9 ?0 E+ {: M( o3 Q" I( R if( nHour < 0 ) nHour = 0;
. K4 ^1 Y: ^) t4 l if( nHour > 23 ) nHour = 23;4 D) B# {; F; @ ^5 V6 D
" _4 L. D! [" r7 h& @
//if( m_bFixedHour )4 N5 }1 G" Z0 p0 i
// nHour = m_nFixedHour, nMin = 0;
) c2 F' M# ?0 X' y$ a LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];( {9 c5 F4 D" P4 G/ T& c
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
5 U" j' [8 @. k* N
9 G4 |4 V2 f( s //m_lightColor = lightColorPrv;% B/ @: |' _$ C4 a! N
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;/ R0 x n% f( g9 ^( x6 i3 R* n
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
, _ X" ~* y* Z' M7 D O1 v lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;/ I, i9 d. b) |
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
* S! D) w! M: ]2 h lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
# r/ V4 ?4 u5 O5 @( [. M8 r lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;( V8 Y* @- b% _6 D
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
# }* j' S/ L [2 e; R# f" S0 I7 R# b/ e, n; l' I
// à??μ oˉè*
5 G0 F# I6 h4 s k5 u pLight->Diffuse.r = lightColorPrv.r1;
5 J* c6 ?( a7 z( j3 H' I6 h) H pLight->Diffuse.g = lightColorPrv.g1;
, U4 R2 v, E% H3 m pLight->Diffuse.b = lightColorPrv.b1;
. O: Z3 Y! p$ a2 V- c // oˉè* ??à?
. e; S* H' ]) t pLight->Specular.r = 1.0f;
2 f( q1 a$ v& T pLight->Specular.g = 1.0f;6 t, z+ A2 u$ a e* @
pLight->Specular.b = 1.0f;
6 e/ J5 P+ L1 a/ q // àü?? oˉè* & _! U( e7 U; V& `' M
pLight->Ambient.r = lightColorPrv.r2;
! u' }4 I2 G' A pLight->Ambient.g = lightColorPrv.g2;) N7 p1 @& s K" a6 m1 R! v; \
pLight->Ambient.b = lightColorPrv.b2;
5 B! V! z2 s1 E
4 u& P2 @/ D& ` `. p if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.$ Y2 F! U; r$ Y3 a: |
{! Z6 i0 W- y$ [8 \
pLight->Diffuse.r *= 0.6f;
2 w( q# i# _! p' Z4 f. G pLight->Diffuse.g *= 0.6f;1 |4 o) _' q$ E' Q v
pLight->Diffuse.b *= 0.6f;
, \1 l+ V9 S+ ^6 ]0 V- ] pLight->Ambient.r *= 0.7f;
9 p" A+ g* E- s/ j H pLight->Ambient.g *= 0.7f;
7 W2 e) |) ^ P- r" @ pLight->Ambient.b *= 0.7f;9 S' ^' P# O1 s( U, ~
}! |# f9 R2 G4 R# O. f: d; d
& ^; C% O7 x$ G0 u# u#if __VER >= 15 // __BS_CHANGING_ENVIR
7 c4 \: Y) {1 I5 J" K if( g_pPlayer )9 o; |. ]; m: |
HookUpdateLight( pLight );
s# s4 T# b5 O4 S( c1 c#endif
! b/ j4 T4 r) E! F8 g8 E0 t4 a memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( [, [1 a. g" s7 E* X. l8 Q' Y, Y4 O; P1 g( _1 y
#ifdef __YENV' G1 @+ w$ j: m5 z+ w6 l
pLight->Diffuse.r *= 1.1f;% v2 Y( W- r$ X! |; B& K
pLight->Diffuse.g *= 1.1f;) I1 d4 w: Q/ a' j* Q" A
pLight->Diffuse.b *= 1.1f;' O, N- d/ P! i
// oˉè* ??à?
K+ ~! ~' F7 ` pLight->Specular.r = 2.0f;
1 S! w8 M; J) B5 u# ?- l r pLight->Specular.g = 2.0f;
, m8 ^% l* [ a8 T pLight->Specular.b = 2.0f;
, ^2 R5 O6 x% f' E% \ // á?oˉ
6 Q( ^$ `( F5 O+ u& d6 c pLight->Ambient.r *= 1.0f;+ }4 l$ h& O+ c" R. ]7 y0 V
pLight->Ambient.g *= 1.0f;% |) |4 P9 h) |/ J$ o8 \
pLight->Ambient.b *= 1.0f;
' C! O% w* v& c3 Z#else //__YENV' n9 g9 |/ J i# g# x
pLight->Diffuse.r *= 1.1f;
; {! [0 y- W b# Q6 \! c pLight->Diffuse.g *= 1.1f;8 w2 k- k% D0 m/ h* F
pLight->Diffuse.b *= 1.1f;% d N* T7 Z# N4 ?( w- D. Z
// oˉè* ??à? ! i4 O2 e8 g* {/ x+ s; G1 o9 ?
pLight->Specular.r = 2.0f;& b7 s3 N" d/ X
pLight->Specular.g = 2.0f;
9 U {5 E. @; q" o0 S: l, u pLight->Specular.b = 2.0f;
: S# _" _& m j // á?oˉ % l) m' Z9 b- u* t
pLight->Ambient.r *= 0.9f;8 v5 [/ s/ ^; P, M0 o; b7 [" W
pLight->Ambient.g *= 0.9f;
" R5 z% G+ z6 K. u pLight->Ambient.b *= 0.9f;
7 {* q- Q p0 M/ Q1 N3 G/ L0 L#endif //__YENV
: h: A5 H4 V4 J1 T3 ]: n& D/ S3 m
' L2 ]( ?1 Y- N2 L6 k! g- V memcpy( &m_light, pLight, sizeof( m_light ) );+ |# \. R5 {9 ?# C. ]1 ^
0 C" e1 r3 u6 e* \- n
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
4 Q1 D d( `: g$ G D3DXMATRIX matTemp;
# b' m. f( D) k; V$ J static const float CONS_VAL = 3.1415926f / 180.f;; p" h% \( ~: [. R+ V: {9 d7 ^
/ C: |& }0 C) K D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);* W/ G( ? X- ?2 D( ^% c
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
0 o- |7 N# b% d5 ^/ s1 m pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); # W9 M/ {! {/ ]5 i! R5 K! A4 h b
pLight->Appear( m_pd3dDevice, TRUE );
/ ]! r# E K, b7 L- F* i
" q, J" O7 Y7 z1 @4 q0 F9 Y" p2 ] // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
$ u. X5 Z: ^6 s, I' R, E8 d& {3 s // D3DXVec3Normalize(&(vecSun),&(vecSun));- k! }7 g2 ~+ b3 v4 E* ~
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 9 k) Z( |: s& S/ v3 X8 S
7 f+ b; g5 ]3 Z1 r! h& H( ] DWORD dwR, dwG, dwB;' {" q: Z4 \. ?% b7 v4 M
dwR = (DWORD)( pLight->Ambient.r * 255 );6 {8 G. ]1 w0 t8 h
dwG = (DWORD)( pLight->Ambient.g * 255 );8 j) H. v7 g* t
dwB = (DWORD)( pLight->Ambient.b * 255 );
& `/ c' B8 q0 P% ~( M H dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); ) K; E6 m. c2 g$ n) ?7 U
}
- ?; p Y- N0 {! _$ {7 m }
% m6 d# N5 }% }# {' `5 {3 |3 I$ r3 l
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
' B" O, j% b" h0 x. @5 | 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) );+ V7 n2 K; q7 Y- i O) N l
::SetLight( bLight );
6 `9 L5 i+ f* v- w
- x. q: z) J/ n5 u5 e; l7 B. _ // ±ao? ?D?í???ó á¤à? ( i5 Y: V, j" W7 q
m_pd3dDevice->SetMaterial( &m_baseMaterial );
0 {9 t" u4 `% @ ?+ w% e; m $ P5 L- T8 f' q0 ]7 F7 R
#endif // not WORLDSERVER
$ W4 ~( `7 i; n0 h5 r6 a8 z- w4 E}
# d# Q( D$ Z! {1 F并更换4 J& z$ |: t1 z, E; x% e
Code:7 A* \$ S+ h4 p" w% L1 ~4 g
__FLYFF_INITPAGE_EXT
) [0 L+ V5 E/ Z- }* W1 |定义7 `) H- ~/ y1 m( b2 W
; u0 V5 ?) g8 o2 c( M2 X+ M6 d5 c
6 J8 W+ ?- k( k2 _$ K- \$ q, L7 d. \
# b: D! g+ s9 U
现在终于删除我的狗屁加速...0 I1 |8 N! @$ Z* K# C+ r+ h
9 }, ~7 m9 D' o9 W/ i) N; n! ]! ~/ ~9 E) h' R
( ?7 w& \9 ?) P& J f& c |
|