|
|
食品车:; Z: j* \( l! J/ p* [0 n* Y
尾翼:5 x) b7 I+ ]1 \
4 m+ N- I1 I7 k" ^6 U" H& R代码:, y5 g- }3 z6 Y" `2 L! X6 v
CWndAutoFood::CWndAutoFood()
. D& s+ n- {9 Y{
' o% W3 \! {) X5 ]: [, ]. j m_pItemElem = NULL;2 E$ ?+ a D9 }2 D0 l
m_pTexture = NULL;2 f! z0 g2 G- I" `- p+ R
bStart = FALSE;
7 x8 B: m( Q+ F- N3 p2 l}
1 H- M+ R) m. D/ {+ K+ X, [ k: R
CWndAutoFood::~CWndAutoFood()
# o: k3 G+ t. h" |- S4 c" D. h{
5 S e" b2 N" [" X& l AfxMessageBox( "AutoFood ist gestorben " );
' j6 o x! _' [- v. V8 Y, r}0 N+ r4 c5 S. ~. i% d
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
9 {) C1 [% b* ~/ }8 s3 q5 C{7 c9 }; [/ Q, i0 _! p
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
$ b) @$ _8 D' N! Q}6 [$ `/ C" D& S
! T1 {$ Y K! L1 o2 \. ?8 X6 WBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )! x( K! c/ r6 ?* h9 Z+ R
{
+ Y. T% {' [: V1 `" P LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
" l8 K0 v2 J$ M6 Q7 d' g; t CRect rect = pWndCtrl->rect;, l) o' E" o4 q2 O
if( rect && rect.PtInRect( point ) )
$ y Q, Q0 P2 X6 _! k {
" N! h: E& \0 V: ]+ i4 U- d1 [5 L CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );6 Q, W" ~0 o# z
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )# G# ~; d; c9 P% C2 g. {
{. d. K) G2 Z0 j' F+ c+ \
if( m_pItemElem )# |. ~ K8 ?) @( u
{
, |8 K; n' p! g3 B q: o$ c0 j6 l m_pItemElem = NULL;8 y- c: D3 i/ W6 j( D- c
}; x1 i9 \3 t! k5 |- o% M
m_pItemElem = pItemElem;
% _( ^4 U1 G# ?6 z9 Y7 v m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );# p. X3 V+ T( N
}else{
3 A% Y* W- D$ U+ I4 q+ q; C- Z+ t9 l SetForbid( TRUE );
6 A4 L: ]$ d7 W- M }
, F( b: w: l& F7 X% Z e }else{ o: n! y& u2 C9 D5 A8 g
SetForbid( TRUE );
( u+ `. I& A: i, |$ I" _* T }
$ `# Y$ A) a+ V" ]3 ? return TRUE;
4 _' o- j, T" a2 ?4 Z+ k}
3 n8 _) g0 N3 @- {; p3 P4 R
u9 H$ c, F& r! F2 ?BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
, e3 Z& |( r& }5 ^. t, K{6 B% w$ E( @0 r" C, p
switch( nID )
3 j' u6 }7 f) t( N& o* q d6 \ {
; A( b+ e& t3 j% c( X case WIDC_BUTTON3:2 b! c% n4 a/ n1 \) V5 H2 T
{% m- j$ N$ J. E0 b2 p
bStart = TRUE;8 t3 Q( o* ~2 r
break;, V- S1 [* m! ^8 C1 _3 a0 J
}3 o [ L o1 s2 _9 ]- A
case WIDC_BUTTON4:
# {* f Y, v) w1 \ {1 z7 }8 _ S& H3 b' |' ^
bStart = FALSE;. f+ T' W8 X+ F) N/ g
break;; n. y+ \ M9 g0 e/ S- i
}
4 |* M& \$ T& ~/ @ }
. P% M& x2 r7 Q. n7 w: m: n' X- F return CWndNeuz::OnChildNotify( message, nID, pLResult );! F/ S4 s( [* ^3 x9 l# E" a
} . y& D% {' j5 j% L- C/ n9 `. y
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
- S- O0 F/ V4 o' k{
4 E4 J" ?3 F0 L) ~6 ? Y CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );: L/ I. Z) e4 _$ M: @
if( bStart || !m_pItemElem )5 T; _6 P: _! _- z" y4 ]
{- R: I/ v* @. g+ \+ b
pBtn->EnableWindow( FALSE );; q! G' \' @8 q2 K8 o
}else) b8 \0 X: w. Y0 @1 d
pBtn->EnableWindow( TRUE );8 C( H/ M. V o; T7 H' q; w
if( m_pTexture )3 o" Y) S: f& O/ g2 z. S
{8 X% N/ _$ L) z: R! l
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
& `2 \' \0 b5 Z& N if( wndCtrl && wndCtrl->rect )8 t0 t& s, t. |5 x
{. e0 T% N' ^2 D7 e0 E b: @9 A2 i5 p
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
7 h% C$ W4 `. P H; T- _- f }& D; L2 _3 ~" ?+ @; l
}
# j8 a# N% \4 c}3 Q4 n( {- v$ X1 Y3 s. o5 o
4 H T) G; J. OBOOL CWndAutoFood: rocess()
7 Z& x7 a, ^" k7 D{
; H4 _% |8 j6 ?8 _% X( d if( bStart )
% v: B9 }$ Y4 h/ ^# w+ { {
# R0 {6 W6 v. f: q if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )2 I b3 `# E) h$ M, J \
{
' E- T; Y3 q) T% _$ V- E( q. D if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
) q. \$ B0 d3 M) ?! u+ m6 b9 q: G g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
/ e9 @! r3 n: W }else{
8 o3 }7 D6 B) h; b4 \ bStart = FALSE;9 C$ u' R' Y+ s7 `! E
m_pItemElem = NULL;3 K$ M- s2 R6 P9 t
}8 T Y% p5 g: Z t
}8 c9 G. j' M6 A6 [
return TRUE;
- a% r0 p6 w+ k" f( M5 k}$ z( _/ f& ~. F
" i; J% P9 O2 C" B. p% z& u
登录视频废话:. ~ g, C! \& y9 v9 |
尾翼:
_) U# d+ b; {9 L$ N
2 T, G! K( l* ?/ n代码:
. j0 a' l2 h( N7 m* ]/ N6 I8 U' J& h) t0 G" v( ~: V) I8 n0 r
void CWorld::SetLight( BOOL bLight )
5 [: R" _& `1 }/ M9 |/ idurch" j0 d5 M( n. P: A1 f: N2 R
Code:
- v) Z2 @7 C9 Evoid CWorld::SetLight( BOOL bLight )
. @1 L& \8 ^7 r7 q/ z{
) [3 e6 M, ~7 {. K) k! b( M" K //ACE("SetLight %d \n", bLight);
' \7 s, i, J- o/ X1 l1 M" `) w " ^& X8 F5 w- k$ H7 V1 X
#ifndef __WORLDSERVER
* S+ V9 Y* d5 r V: l% ` DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);* Z% n, ~% E# A) }8 X8 a- {$ H1 f
CLight* pLight = NULL;
S8 h0 ?, ~* u3 T0 }# L" S4 x5 o& c0 k4 h( A8 N2 f5 B6 v- S8 R
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
$ ^3 u/ S0 ^. H3 J/ k! O0 c5 f2 j! i) ^1 E! z) Z
pLight = GetLight( "direction" );
6 L( M) _' a, h" I' N g: x8 b$ F6 L2 J% J0 Z7 N7 T7 s- {
#if __VER >= 15 // __BS_CHANGING_ENVIR% x: J6 w" G" ]; X
if( g_pPlayer ){
$ H& ~/ G! }4 x) S# j* U ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
/ M6 `5 r W% m2 R; K1 B q if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!8 `4 Q# F1 Z( J+ R, M1 ~
{$ l/ {" c M2 I2 N+ `3 n% ?
if( pLight )
7 L1 k- C# A; T8 E J% f {
/ \ z( J3 }" g5 y4 E6 L pLight->Ambient.r = pInfo->_fAmbient[ 0 ];9 w/ }( ~5 k* \- }, F8 M$ c
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];& W/ ^3 V9 _3 m2 ~8 I
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
# u4 _6 [7 F, H8 S; ]
- Z* D) Q% w$ d0 Y) g pLight->Specular.r = 2.0f;' `+ S: ?: j9 ^ {
pLight->Specular.g = 2.0f;
' i/ b" u) \& Y/ {; P pLight->Specular.b = 2.0f;
% o/ b2 |, o# d. R! l 0 T3 s: Z7 {9 m: |- r
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];0 r$ `" \$ M; o9 n4 _+ |
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];/ G; t7 t. I3 l8 a7 q4 D& k
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
+ G& {7 F3 ~# b$ t3 G. C
& a& X/ ]0 o3 n* Y HookUpdateLight( pLight ); 9 a" ?& k3 o2 |$ a% G
* e/ R% H2 v) }5 ]7 } memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 e# Q, s! }2 d0 h' v+ @; o : S" K+ @2 W, ~: D
pLight->Diffuse.r *= 1.2f;4 T' w! X1 h$ A
pLight->Diffuse.g *= 1.2f;/ }' ^7 h3 t. h/ U0 k0 k3 u8 R
pLight->Diffuse.b *= 1.2f;
& C5 Q; w/ F( n& t# E' D- c2 o
1 G3 E- [$ I5 ] pLight->Ambient.r *= 0.8f;2 O) A, J% _. C9 l2 f' H. t: _1 x
pLight->Ambient.g *= 0.8f;5 T' {9 G0 x: Q2 @2 A4 [" P0 e) _
pLight->Ambient.b *= 0.8f;
( t6 V/ u: e$ R S( y, w/ O! r
2 u: J+ {& G8 E! h memcpy( &m_light, pLight, sizeof( m_light ) );
) x6 f$ P9 w" \6 w/ @$ \6 I! ^, B
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);( j/ ]8 v6 L3 W5 m6 U! X
D3DXVec3Normalize(&(vecSun),&(vecSun));4 t6 K; ~, d b
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); / Q+ H/ h' P- A, L! y
pLight->Appear( m_pd3dDevice, TRUE );
. @* p. t+ o! |/ ?8 H7 H. y$ U + \8 ~% G/ B1 |( M
DWORD dwR, dwG, dwB;3 i. I W2 v; `7 ^# {2 A8 Z5 g
dwR = (DWORD)( pLight->Ambient.r * 255 );9 t7 \" w0 y) K" I6 v. T
dwG = (DWORD)( pLight->Ambient.g * 255 );2 ^- D3 E+ ^/ I2 J# k6 Z7 P9 o/ ^
dwB = (DWORD)( pLight->Ambient.b * 255 );# c( ]4 [& i5 v
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );/ f" s* m: ^, Y8 G" `5 R0 T% X
}
2 I9 Q' m+ F( K: K; {! i }
3 n$ h" B. o8 e }
5 O) p: N3 Q; _. N: C/ _# J6 f else. e l9 `/ q* ?7 ~& H _
#endif
$ T5 Z6 G8 J# z J% H2 ]& k! X" a) d! [3 y
if( m_bIsIndoor )
- D! }* `2 \5 |" P0 F' U5 m {
& C. o$ o4 k7 p6 t" Q if( pLight )
$ h) B9 K* T7 h$ r9 ^ {
, T, m. J/ t4 D: H3 ]5 h: P // à??μ oˉè*
7 U" O* h% Y' r; X# W. f0 B& s pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
8 O5 f" |0 N0 o8 y pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
/ C# u' d! f' l* e pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;. o2 }) t! k7 E2 p- B2 F* o
$ ^' X6 }- @7 l8 ^+ ~
// oˉè* ??à? 8 h! Q. j, m: N1 z# t( D3 C4 n
pLight->Specular.r = 1.0f;
/ U# H6 G# @5 Z* h1 Z( \+ y pLight->Specular.g = 1.0f;9 j, V# x2 |. m) w
pLight->Specular.b = 1.0f;! C9 v) l7 O) S: r
// àü?? oˉè* 9 \' h3 H5 _* ?" V
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
* {0 r$ A* w* q, l& y pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
' y3 ?* z/ L* e8 B pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f; n1 J# w- K" `4 I9 P* C* F
, T' k# b* T8 v( S/ @: I; n if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
5 o/ B0 [; B1 \$ H( z6 y |9 @' @( | {
$ N2 _' Y q& m1 |: D% T& ? pLight->Diffuse.r *= 0.6f;4 [) A0 R' ]+ m X; R
pLight->Diffuse.g *= 0.6f;
( w: |$ w/ ]6 U pLight->Diffuse.b *= 0.6f;) t; ~- E7 z7 t4 I
pLight->Ambient.r *= 0.7f;2 @9 J! y8 c' E+ Y
pLight->Ambient.g *= 0.7f;
: B# d. j7 D! N; u7 k' G pLight->Ambient.b *= 0.7f;; {1 S6 G3 {& i' v
}: r2 @% M+ l+ u! c
0 c% v( A9 `. k
#if __VER >= 15 // __BS_CHANGING_ENVIR
/ c7 ?! m7 M ]: x! x5 s if( g_pPlayer )" ] [# q8 w Y; n3 |5 g
HookUpdateLight( pLight );
( c0 J9 U. X/ ^, l4 d5 Q. R#endif& s! Y4 b, W. v6 M4 P
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );6 ?, q7 R7 w9 N
( W1 b3 l t4 U- j4 o% o$ t8 v pLight->Diffuse.r += 0.1f;+ L/ F# I9 P/ p6 u& {
pLight->Diffuse.g += 0.1f;
/ w" u" ?, C4 [1 b8 s$ r5 O pLight->Diffuse.b += 0.1f;3 I! K$ Y- ?! _0 F
// oˉè* ??à? 5 ]$ o0 } T/ i
pLight->Specular.r = 2.0f;
j, `! ?1 a2 z. h1 i6 h pLight->Specular.g = 2.0f;0 a, p" ], t# P6 p
pLight->Specular.b = 2.0f;
% Y4 T8 q6 b( Y5 h // á?oˉ
. u1 n2 R7 I1 i O pLight->Ambient.r *= 0.9f;- f0 ]9 z$ H1 B* h( v2 o4 A; }
pLight->Ambient.g *= 0.9f;: S! k+ F F$ X z
pLight->Ambient.b *= 0.9f;4 {+ _- {% J+ J- E' U
. x% j; k6 @. g* A# q t memcpy( &m_light, pLight, sizeof( m_light ) );7 @. n' R" [: E% [3 J8 w
5 Q5 q; @# `8 }! M
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );5 |1 h2 C. C! Z- i
pLight->Appear( m_pd3dDevice, TRUE );$ Z, D8 o8 x: {/ T, o! e9 c
; H0 K( O' `6 ~
DWORD dwR, dwG, dwB;9 T# d2 e4 X3 Q# t1 ?7 C4 f" t
dwR = (DWORD)( pLight->Ambient.r * 255 );$ F( j2 Y, |4 y4 I
dwG = (DWORD)( pLight->Ambient.g * 255 );( ~% K1 T# {3 `: G
dwB = (DWORD)( pLight->Ambient.b * 255 );2 X4 f; w0 ~& \/ B6 v
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
7 s8 X, o+ P) }$ `+ |% N }- k9 x$ @, M: n# F" a2 X
}
8 j3 P( s4 |9 {% x/ u p else5 p: f) u) V7 W1 r& J. f$ B6 v8 i
{
1 Y U; d/ |3 F" c4 B; ~8 t if( pLight )! s: s$ y3 d2 S# |
{
2 {) O2 P: [5 ~2 P
& }7 h i! q0 {& p2 ?! R" m int nHour = 8, nMin = 0;
& n' U, r5 r/ A7 w #ifdef __CLIENT2 A `) {! H9 Y* J0 \# [
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
; a1 u" n% z1 v9 C nHour = g_GameTimer.m_nHour;5 h S( c6 d0 `
nMin = g_GameTimer.m_nMin ;) j( g# F5 v+ `+ r0 O$ z6 K
#else
5 B$ ] u2 I0 b* P // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
% u8 c5 g+ q7 O# {) D if( m_nLightType == 1 ) L1 t' y/ u9 r6 N
nHour = m_nLightHour;5 F- V3 J9 v: W. b7 V2 f+ f
#endif
9 `: b3 P/ l% K) _3 L$ ] nHour--;
9 T9 D- H, p7 c# c$ f if( nHour < 0 ) nHour = 0;
q9 }8 N6 E6 V if( nHour > 23 ) nHour = 23;( @# q4 Z' ^% d
! T8 Q( {4 `: Y
//if( m_bFixedHour )
2 z3 \* y6 K6 \ // nHour = m_nFixedHour, nMin = 0;( q! T: u/ K/ S0 u
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
/ C) v5 b) V) D: t, a. ~ LIGHTCOLOR lightColor = m_k24Light[ nHour ];, a# _: Q) q( G( L! u4 K
) R. P2 Y# { r3 h m //m_lightColor = lightColorPrv;7 z9 d2 I8 T6 R. X9 L) j2 D
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;( g+ a8 f& A) I" b6 x+ ]
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;2 ?8 b" X' O+ H- M' M
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;( _* B/ j1 C) Q$ |$ b) l
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
5 W' n( i% d% G" C lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
3 \. U- d3 `2 m3 q' F lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;3 z9 w5 B8 a. b& b! P# E
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
; D4 e8 L" b; A$ `) Y
/ i9 R- K8 g* t* z. M // à??μ oˉè* 2 K) I' ?' ?, S$ R
pLight->Diffuse.r = lightColorPrv.r1;
& B- u( T, p& W pLight->Diffuse.g = lightColorPrv.g1;
u; a' A/ H. B6 u" i pLight->Diffuse.b = lightColorPrv.b1;& M' x6 t/ o, C- g
// oˉè* ??à?
3 X" d. }/ z$ M+ D8 c7 O pLight->Specular.r = 1.0f;0 H0 {* A; }) e: B9 S8 V
pLight->Specular.g = 1.0f;; z+ Q. `& h5 J8 \) I
pLight->Specular.b = 1.0f;. i0 H/ f/ ?, d) |# R! s% `+ h
// àü?? oˉè* / _) J9 Y5 z7 e
pLight->Ambient.r = lightColorPrv.r2;
6 x1 b. {. \+ m( X1 | W pLight->Ambient.g = lightColorPrv.g2; _: \1 F% H X# {+ Y. n
pLight->Ambient.b = lightColorPrv.b2;2 P6 m( D+ S) F$ T
4 E# e+ n/ I" a1 M if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# [% b( c1 H/ s# w$ w3 z- J+ R+ s {( M6 E" n8 t; I5 }* R6 q
pLight->Diffuse.r *= 0.6f;
' m- p% I8 S N, K6 b% [3 E pLight->Diffuse.g *= 0.6f;2 N# G: Y! e7 P/ v8 w
pLight->Diffuse.b *= 0.6f;$ D) c) z, I. W/ y7 n
pLight->Ambient.r *= 0.7f;
8 [ w8 H5 K% Y+ i# o% U5 h pLight->Ambient.g *= 0.7f;
$ w9 ~3 D& j% x pLight->Ambient.b *= 0.7f;
0 ^* i! ~7 e0 R4 n( e" R5 E }
6 Q! [* s+ q( x7 i" x 1 Y" k' L$ I$ c/ W
#if __VER >= 15 // __BS_CHANGING_ENVIR# d! a0 m- O+ g R' v
if( g_pPlayer )
) k+ X' h0 o+ N4 C; J HookUpdateLight( pLight );
7 J8 a3 z6 q9 C7 q9 x1 b# m#endif
/ I" ]! y8 Q) W: I5 p `5 ^* R; o memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );9 j0 w4 p% p( `% a4 v7 X$ t' \
/ |6 N1 c- X) n
#ifdef __YENV; q, T' X/ q) c ^) g
pLight->Diffuse.r *= 1.1f;
: l; P7 ^: D+ m* {2 x. d; w; L pLight->Diffuse.g *= 1.1f;9 e/ V1 P+ i( n4 K( r
pLight->Diffuse.b *= 1.1f;
8 q3 q u; C7 \' A/ W3 F // oˉè* ??à?
3 Q9 @7 K G M& g pLight->Specular.r = 2.0f;
, \* q0 F. k& q' A pLight->Specular.g = 2.0f;2 c8 E2 W- p1 _: |
pLight->Specular.b = 2.0f; ^1 D: ]: j3 z( l9 \4 Z( Q
// á?oˉ x3 ~7 i# ]- E' p/ S7 i
pLight->Ambient.r *= 1.0f;( H; I0 ~" c! e8 _: c& `
pLight->Ambient.g *= 1.0f;& X% b) \0 d, X. e6 P
pLight->Ambient.b *= 1.0f;! C$ W) x+ m( K( w
#else //__YENV) I: k# m5 x- J9 `
pLight->Diffuse.r *= 1.1f;, ~ {0 H F* P. l X, x1 x5 j
pLight->Diffuse.g *= 1.1f;
# @9 A g( u! A' O9 |6 u pLight->Diffuse.b *= 1.1f;, N7 Z" _$ \, O, H7 N
// oˉè* ??à? ! X3 O2 U1 z# O" x6 {+ C
pLight->Specular.r = 2.0f;3 K: @- [9 n+ Z' x/ \; f
pLight->Specular.g = 2.0f;
2 k& _- j% k. H: C/ ]0 C pLight->Specular.b = 2.0f;) T \: B+ ]9 c( @& f8 i
// á?oˉ . i$ h- }( Y: o: ? x& a
pLight->Ambient.r *= 0.9f;
0 N+ k; q9 Q7 Z5 H; P! M+ r pLight->Ambient.g *= 0.9f;+ w9 E9 Z: j% P7 u
pLight->Ambient.b *= 0.9f;. S8 Z2 [! A, r; ^, D- P
#endif //__YENV 9 b2 Q3 m4 X- V7 s/ O9 u0 |# m
9 Y5 A- k) t3 E% R8 s4 F
memcpy( &m_light, pLight, sizeof( m_light ) );8 a$ G) G7 l% L5 r9 R2 _+ x
F1 S4 M \. p$ M% s" V0 v
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
( A& w/ {( `9 `) H: b) X/ _. `& @$ }/ A D3DXMATRIX matTemp;7 m) _ c1 N8 @) v
static const float CONS_VAL = 3.1415926f / 180.f;* }. C* d' n, c+ Z. }) ^
( o6 W0 S0 d- ?0 ]$ } D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);: A: S5 X( p ?2 q( G' N5 r
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);& f6 }5 W* n: c) H, r3 G
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 9 A/ A1 k" d) y/ P
pLight->Appear( m_pd3dDevice, TRUE );
3 C/ P- x" n9 r3 d2 ]
2 D3 U- P$ j; ], o% i2 z; L // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
, N$ W1 G5 ~5 S+ Q$ ^8 t% p9 c // D3DXVec3Normalize(&(vecSun),&(vecSun));
9 @; G: {6 h" T$ a( i$ U // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); . A l7 M! S1 m) N
- |: z2 i6 T) r9 K, ]0 e0 n3 k- t
DWORD dwR, dwG, dwB;
) l5 p6 u/ N& G! ] dwR = (DWORD)( pLight->Ambient.r * 255 );9 Y" o9 L3 p3 m# I, g$ h2 G
dwG = (DWORD)( pLight->Ambient.g * 255 );
9 M7 o# q2 h; u5 _' m dwB = (DWORD)( pLight->Ambient.b * 255 );
6 j u! n+ K6 b) x6 d dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); * G8 a" o/ B9 j3 m/ z1 I9 z; y
}
6 h$ a1 E3 Y! ^3 s$ J2 p }
4 R4 r6 s7 n9 ~
5 a( q$ V8 T; d. |3 J9 f: j: _6 v5 @ m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );* Z5 [1 |" ?) q% V+ Q8 T
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) );
Z9 q; j: Y4 ~! m# J7 W6 G4 T ::SetLight( bLight );
' E/ I& C% t5 ` E9 D
. _8 n( w" e, v9 d3 a, _ // ±ao? ?D?í???ó á¤à? 1 m" I" c2 x: x6 t% ~4 B2 J) S3 R, ?
m_pd3dDevice->SetMaterial( &m_baseMaterial );
% |4 S3 s* q# @7 k
0 V. X! ^% R6 D7 V7 ?#endif // not WORLDSERVER0 V4 m9 X' ^2 L ?
}
1 c' @ ?0 y0 A# y G' U并更换
2 j7 Y+ T' ^7 c u. u/ {. @+ iCode:, D- X8 u) ]5 [1 q7 Y# J5 D1 J* w
__FLYFF_INITPAGE_EXT. V2 a1 v, n0 H: @! S
定义
# d M1 q! M* I: `3 r, b4 n6 x
. }( v& v+ {) Z `. ]1 ]! g( r5 O- S5 q5 B
! M; z, U* G: j- j
& O1 X' i8 F- @8 s, @7 i现在终于删除我的狗屁加速...$ v" i- F5 N; k9 x4 W5 ]' \
0 R6 m! Z: z, B4 A- q O% Q! h2 m: K( ?* b* N3 I' q" b. e
$ g2 r& W- S: ~$ H0 v& c |
|