|
|
食品车:
, _" }$ y! q1 d5 ~& r: c7 L尾翼:
+ d- t6 w+ L# r
; `* Z2 I% t" t7 O代码:( @( @6 F. [. D3 \8 `6 d) T
CWndAutoFood::CWndAutoFood()
, K* X' K( u/ w' k& @/ Z) w# @8 m{
& ]5 o4 o. I- R R m_pItemElem = NULL;$ ~2 s' }7 D/ p) P" V' A* O
m_pTexture = NULL;* o- u' c) g* O/ G
bStart = FALSE;+ `8 K: ^2 V! f! T% D6 z8 |" |9 @
}
. l; s2 c3 W9 ?; P" \6 ?. q5 w& }3 Q& s! D* j
CWndAutoFood::~CWndAutoFood()
k( G9 G( S% C: q5 ]& `4 p{ s- C; o. z9 I/ h. o
AfxMessageBox( "AutoFood ist gestorben " );, F& Y$ B3 k' h
}
* Z: D8 F- u4 Q' B+ M1 ^BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )5 E- {* r3 @% m0 {% m
{
9 G/ }) Z% B2 F/ w) q. o o( ^ return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
0 \, a5 K, l/ ?2 Z9 o9 {}
4 e& D/ k5 n7 t% n6 J: E" t9 U' j+ i! @! a3 N8 V" m/ n! x2 }
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
! M6 M' G7 c5 L{! `* K1 e1 p2 R! J+ `- {2 |
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );6 Z9 l. V2 s* g; \# C
CRect rect = pWndCtrl->rect;' l3 z1 v. f5 J/ e3 U; P: ^) w
if( rect && rect.PtInRect( point ) )7 X g/ G$ L9 ~/ P& w
{7 y9 ~2 ]( p6 t
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );* P" q! ^1 q4 s j
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )8 ?5 O( X# K" c8 i2 a
{
( M8 Q4 {* |* }: t% N' W8 n6 ~' ~ if( m_pItemElem )
1 A( P- B# A# }& m( w {
% b2 H2 }7 }$ K+ I" Z m_pItemElem = NULL; Y1 |. ]: g2 K: X6 W" j
}
! d" ?3 G$ O3 L% o& b, c9 x m_pItemElem = pItemElem;3 N6 }* H. K7 P5 U! e+ {
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
) R! J8 F( H2 G0 h }else{2 Q6 Z: V4 s. K* T& a5 y7 K0 x
SetForbid( TRUE );
; u& E2 g: C0 g* s# v }
) E9 H* n' f- K) u: ]4 H4 C' b% l8 V h }else{
% g! n! y: y0 }% X' A SetForbid( TRUE );3 t, P7 @, u5 m I! @& n" Y
}
" x# l7 I6 h3 O" o0 M8 x t return TRUE;& F' i& Y7 ?. Q3 ^+ I# h5 S. O
}( d8 ^- C$ ~3 x! d* F( Z `# p
( F8 r4 Q; B8 o) l% V' ZBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )7 o, b" C R: [$ v, E! t
{
. W! `: C* k/ Q; r( a4 C switch( nID )( @9 v& s \2 E* Z
{
" V! q6 Y8 ]# ], r, D, r, E) O case WIDC_BUTTON3:
* C0 \6 r( B* H& x" H$ A1 O {6 x: H3 V. R( t* b) o4 f4 v1 c
bStart = TRUE;
2 |# u5 p7 F8 M1 y- k break;
5 e- S- h) C3 B) I }# \& Z- ~9 j9 U8 z2 A
case WIDC_BUTTON4:- c: K( c3 W: r2 b1 h. {$ o0 A# i
{( m B+ R# s( ~ r' ]$ }, n
bStart = FALSE;
/ o4 S6 ~5 o/ p# ]1 A break;- R" h" P U! [5 F* e2 w Z/ C
}
8 S+ a; m" H4 R6 x) p }; o$ O9 v/ h- {. W, R
return CWndNeuz::OnChildNotify( message, nID, pLResult );, H- e6 u, X7 Q
} . x* }; @9 ~$ A2 T
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
! F$ y; P% H: G0 G/ J{
6 B* h3 T$ j' o5 E CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
9 m3 S- u/ z( m* ^# f' |/ F if( bStart || !m_pItemElem )+ C: t4 a" |5 e+ f/ P& }% R; M
{/ p0 D5 d" F/ z' Z
pBtn->EnableWindow( FALSE );
: f. c2 C" @8 ~$ K" Y }else
( m" n. {: G& ?5 Z) h; h3 Y# `$ N pBtn->EnableWindow( TRUE );, P% R$ N( Y. a) c/ t0 b
if( m_pTexture )$ d" w' [1 K: Y+ O
{
1 e3 r! s4 x2 J- |7 P9 k# o LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
1 l2 Y4 ?; B4 p! c) B if( wndCtrl && wndCtrl->rect )4 O8 F, h5 g" f
{ a z( C* F$ A( f2 G
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );) m8 q$ `! d- ~
}' o6 B A9 {: e5 S
}2 j. k' b( _- L! _) h4 b
}8 H! M4 J; b2 @/ X
b) a% f2 M6 d; U
BOOL CWndAutoFood: rocess()
$ e' C) L) M! Z; ^$ e{
2 U/ ]+ p5 N4 l if( bStart )) O8 E8 k# L1 X: C4 ~/ x
{! n( v3 n* H! v: Q1 I3 \, ]
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )+ W% {; @; |, j* i- f5 |2 l" O
{0 t2 G/ e) c: l" b, F+ r
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
9 U6 ^7 E' ]0 i: C g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
: r' z3 \/ I- h" T% x# U( f& s }else{
7 u- K+ w, u7 R4 g$ f3 l; \ bStart = FALSE;
. ?2 g5 Q6 C6 T& f: i: h) [ m_pItemElem = NULL; B( B% a, z1 y4 k' o, m) a
}
. Q! I* _0 W' K! b% Q' N }' A( `3 U9 K; d: M
return TRUE;- R' y1 t$ t8 j* y8 w
}
h* E/ o7 s7 }7 c4 y! T4 {
( T' ?6 Y9 B8 a1 h \登录视频废话:
* W+ D7 ~ A1 B1 O% s) v尾翼:8 u3 b; ?& e% @, u) E) C
7 I& o: u4 \5 T) t! ~, [; U( J4 F. V# W& z代码:
4 N) x5 g% p- @; @+ Z% x- f( _1 J6 s4 D3 [/ F8 E3 q. \% Q+ [
void CWorld::SetLight( BOOL bLight )% ?% ?. V. H3 a6 Z# y7 j3 X5 {
durch( G. p& E9 l: G: l4 n7 B
Code:+ u8 d$ b% W/ |3 _2 j
void CWorld::SetLight( BOOL bLight )
6 `8 Q# Z2 ] m{& H, U; X8 ?4 b9 F9 Q" j
//ACE("SetLight %d \n", bLight);
) ]* G5 _& [0 E 3 _$ E# q8 w2 v7 P+ \1 h
#ifndef __WORLDSERVER
& n& X" f4 O6 x/ E9 D DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
) i& A4 F) P* A3 `$ V- M# g) o CLight* pLight = NULL;6 a* t9 ~% N, p0 b
. _5 @( q9 N1 _$ V# n/ k4 u! ^ D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
" f* I# T5 e8 L* g' q8 w9 K
2 z2 M- W; `4 a' m j% K% I; K' C pLight = GetLight( "direction" );8 ]( y( p( _2 J4 l
9 N, V0 @& d8 V% b8 ]; P: Q
#if __VER >= 15 // __BS_CHANGING_ENVIR
, F- e& x, ]6 C% W if( g_pPlayer ){
* Q4 G# }6 N- c$ P- m+ n( C$ \1 e+ g9 p- ~ ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );. b( W+ H* [5 p
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
( P ]2 e2 A* v {9 N* h# M1 N+ b9 Y7 K3 d
if( pLight )) Z9 |% V( E) k% H
{. S0 E7 B+ M$ i7 g6 z5 d1 Q
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
, c4 C& Z2 K/ ^& y. U6 l% B pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
/ P1 [& Z. z4 _) m: R. I pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
" l7 k# ?$ Z* g0 [; r5 [9 b; G( |, f
pLight->Specular.r = 2.0f;
4 I! i* C! A: G# ]& P/ F2 g pLight->Specular.g = 2.0f;
8 i# ?0 Y( p* J! W pLight->Specular.b = 2.0f;
% V8 v/ g* `% H3 k1 N * @! A8 K4 [2 C0 r: S3 B
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];5 ?* p8 Z& f& \! ~; |
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
' k0 j! R' J$ t, F! i. `9 R- p+ u pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
. A- J6 A5 G2 i$ L# h / E2 L9 ^, h! ]
HookUpdateLight( pLight );
$ ^' W A4 i# O; C
, G. U- }: \& | memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 e+ o3 T; Y; u' @, E8 @' U
3 A7 a ~, i' }- y m6 r pLight->Diffuse.r *= 1.2f;* D4 I1 q H! F. Z
pLight->Diffuse.g *= 1.2f;5 I8 X* h: R; u& |0 m
pLight->Diffuse.b *= 1.2f;: O* m( G3 `1 N# B
% _$ z: k& O# u1 ?4 m+ E/ l
pLight->Ambient.r *= 0.8f;6 `7 @. i* T. {
pLight->Ambient.g *= 0.8f;
( K5 u k: A3 C pLight->Ambient.b *= 0.8f;
$ N1 F5 y- m* _! f
+ z$ T1 S/ h3 F memcpy( &m_light, pLight, sizeof( m_light ) );
8 P9 b' d8 B( T! `% N5 q/ I
4 [% C! I& t) I1 `) ~ D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);. ]2 }4 b! F/ O5 F; L
D3DXVec3Normalize(&(vecSun),&(vecSun));. r3 M+ |% _2 Q4 l: }
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 8 U- g6 p9 M `! V1 v
pLight->Appear( m_pd3dDevice, TRUE );# W2 \2 }& ~+ x( V
" p" c/ s9 d1 e+ T0 J' Z5 D( H Q9 d! z DWORD dwR, dwG, dwB;& ]6 E9 @( \. }' @
dwR = (DWORD)( pLight->Ambient.r * 255 );, c% X2 t4 `2 n0 m- f0 Z8 `) o3 d* o) R
dwG = (DWORD)( pLight->Ambient.g * 255 );
- W* u: V8 b$ y; Q) U2 ] dwB = (DWORD)( pLight->Ambient.b * 255 );' f" r. k/ N+ M
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
`: Z( ^: u* Z9 ^5 U }4 m1 `3 c# Z4 H1 [% Y6 H
}
% X) I6 F- a0 P9 Q) a/ | }
6 {/ ]/ l @7 Z* w, J else
7 b9 F* l6 P6 M% k#endif
2 K" t! l r! X2 g Y8 D
6 \3 H/ @, M! M& l% [6 F5 k0 @2 X if( m_bIsIndoor )$ V# X* t% P# s, ]
{
\) m" b- v- T, ` if( pLight )
" t8 J B8 s4 w- A { 3 n& M2 P. r0 E6 G( n
// à??μ oˉè*
3 K/ w0 V; t" f; o pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;( \+ Y0 J! q- i5 U0 ]$ @
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;! v" L. g! G4 }: o
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;2 C5 t" h% X! }7 f; g/ @
9 F" s' ?9 A+ p5 j! f3 s/ e // oˉè* ??à? ' i2 X$ @9 o0 M2 i5 L( }& Y
pLight->Specular.r = 1.0f;: m6 g* l# Y/ p$ i- j3 J
pLight->Specular.g = 1.0f;1 |0 g! V4 l1 n- X4 n; e& _" O" v
pLight->Specular.b = 1.0f;
X( D& D7 C. [# {0 w( p6 }: k // àü?? oˉè*
. f/ A6 I8 S c- A, @ pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
. j: i( t4 U0 ]3 p- t) ~ pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
+ N) [! n6 X e& ^, d pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
/ }5 L8 }! a8 P9 M2 H' }2 p6 h7 O+ D
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.) s7 o3 z l+ k/ I2 x1 N) ` P/ P
{1 U% R& ^2 e0 I z# O* z% {" ~
pLight->Diffuse.r *= 0.6f;
4 s( h7 I! e4 d( R pLight->Diffuse.g *= 0.6f;0 H9 F$ G) s1 E3 @9 h; P
pLight->Diffuse.b *= 0.6f;+ m1 ^- {+ q+ H( e; C
pLight->Ambient.r *= 0.7f;
0 S" s) E% q/ L( V$ p; P& Q$ N( c pLight->Ambient.g *= 0.7f;5 P* z6 a9 s u6 G9 C
pLight->Ambient.b *= 0.7f;
* D6 X h4 w. A2 n* P S, B }
& P$ o7 @% m1 w& z# U5 |6 F; s' U4 i( _) c1 r: s0 D- b3 W
#if __VER >= 15 // __BS_CHANGING_ENVIR4 s. e. l2 g$ d1 \6 {7 ]
if( g_pPlayer )
; q1 c; s( A/ x+ a' d5 _ HookUpdateLight( pLight );
% Q. W1 l: t: L4 }3 n#endif) d1 T* d! ]( K2 F; A; X
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );6 c) G" ~ ?# s4 K- b+ w
/ w2 j4 j+ W8 H/ g4 A) I9 e1 ^ pLight->Diffuse.r += 0.1f;5 g Y/ ?# R* z3 t2 [1 E
pLight->Diffuse.g += 0.1f;; s {+ n+ D o: k9 ~
pLight->Diffuse.b += 0.1f;& z) o, E2 _' W F" U/ t' p
// oˉè* ??à?
3 B0 \4 a5 G' ~; L Z pLight->Specular.r = 2.0f;
j# P$ T" f3 s7 w, X f pLight->Specular.g = 2.0f;
" ^- v: w* b7 ]" o+ J9 r pLight->Specular.b = 2.0f;
6 [6 v6 k" ?* a, d/ L a, ]# i) c // á?oˉ
x% ~ C' f/ k# L pLight->Ambient.r *= 0.9f;1 S$ s+ y% r4 `" y
pLight->Ambient.g *= 0.9f;3 l9 j. V( W3 x* O
pLight->Ambient.b *= 0.9f; M+ Z7 Z) N* v' w
( J. y7 f* Q1 a
memcpy( &m_light, pLight, sizeof( m_light ) );
0 \% |* F4 J4 k1 U' B& R+ j
( `! x4 @; Q d6 T! l& A pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
) {3 h1 k" }# m. ]3 u pLight->Appear( m_pd3dDevice, TRUE );
1 Y# w! z, j3 R& `
' F4 U% l8 W* ]: H3 K" P, B DWORD dwR, dwG, dwB;) e# I+ t# e5 l$ m+ l1 z5 E
dwR = (DWORD)( pLight->Ambient.r * 255 );
3 C! x p. q$ B; f% o+ c! z dwG = (DWORD)( pLight->Ambient.g * 255 );
( B. S% \* }8 ^ dwB = (DWORD)( pLight->Ambient.b * 255 );
5 J; z. p+ v, s# d+ s3 P dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
6 {; l* z% x! q4 ?" Z2 W5 c4 @ }
- k1 W p4 n$ F }
$ U% P+ y. |% e( r( n else
$ X& p0 W+ Q6 U0 \/ j8 u K) { {* d; x) @5 V+ Z( M1 b: b u. @: I
if( pLight )
& Z f. [5 t$ n6 [* x {
; t& x% e3 }! c0 M$ e3 P1 ?" Z
* H" W( ^: l2 N. Q0 B int nHour = 8, nMin = 0;
$ x% V1 a/ s/ P8 I3 V; d( n6 f, c #ifdef __CLIENT
$ ^5 E6 J& p. ~: O6 B // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
8 |8 d/ R9 ^/ s4 F# [ nHour = g_GameTimer.m_nHour;
; r# u/ ^: G9 q o nMin = g_GameTimer.m_nMin ;6 [+ |# _( Y, l9 z5 v/ _4 n5 A
#else
2 w8 \0 E# F* K+ O // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.7 B: g/ q6 G0 f& b# A
if( m_nLightType == 1 )
3 W2 m5 ]" q) }7 H$ \4 h! e3 o nHour = m_nLightHour; u' I; Z; N1 F7 |$ l- s* x
#endif
2 |% H: @ K( B2 L5 J! y nHour--;4 M" q1 T+ H% D# r/ T3 ^
if( nHour < 0 ) nHour = 0;
8 U4 [3 W* F/ Y8 ?: s; ^ if( nHour > 23 ) nHour = 23;7 {) }8 l h) k
& X( n0 i0 c; g //if( m_bFixedHour )
/ a) J3 O* I& y // nHour = m_nFixedHour, nMin = 0;
. B% W* V+ W: C/ J7 w; [ LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
1 j8 a7 y3 F: @2 j& l3 Q$ @# b LIGHTCOLOR lightColor = m_k24Light[ nHour ];2 H# A7 g% W! g: H
( f( b, H( P& l) \& e //m_lightColor = lightColorPrv;
$ s7 H+ M# }$ |7 i2 k. _ lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
! J: {0 G$ _1 K, J lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
7 a7 l+ j |' [# z* y' W+ x lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;0 a9 [4 G2 B t( t, p" u
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
+ p: |( \! A u2 E7 d lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
! H) A* i) Y, z1 E6 k* ~ lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
7 A0 J% M( a( t5 I! J // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)4 |$ e; q3 d( A3 A
1 E$ k/ z) E+ d# ]0 T
// à??μ oˉè*
, Y- `) _) {3 _) I pLight->Diffuse.r = lightColorPrv.r1;
# N. Y; b8 L1 s0 D pLight->Diffuse.g = lightColorPrv.g1;
) a# d4 P+ D. y( f pLight->Diffuse.b = lightColorPrv.b1;% X" `- a# Q8 w# I/ @) Q
// oˉè* ??à? 1 V: o, Z( k d) U7 k z
pLight->Specular.r = 1.0f;* A% A, F2 q* c; u7 d* K q: w" V
pLight->Specular.g = 1.0f;: d c5 E g, L1 e- Z" u* k1 U
pLight->Specular.b = 1.0f;
/ Q, l. q$ ~, O: p // àü?? oˉè* 7 M5 K w# @4 Y
pLight->Ambient.r = lightColorPrv.r2;
! T9 c$ C' v' R# a6 `* [ pLight->Ambient.g = lightColorPrv.g2;4 }6 w' \3 F/ B. @' M
pLight->Ambient.b = lightColorPrv.b2;( D. t2 T) _8 T ]4 X6 x# T
% f+ z5 i/ [2 k4 e$ I# ] |4 [
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.: V; o3 f- N; E5 s* e; o
{1 t5 |& U4 \* ^+ j& n' ` l
pLight->Diffuse.r *= 0.6f;) o! E4 ?2 K {
pLight->Diffuse.g *= 0.6f;
/ C, i+ x7 j8 | { pLight->Diffuse.b *= 0.6f; J6 x1 Y$ f) ]2 K; |) }# M' z
pLight->Ambient.r *= 0.7f;1 N9 v3 D* K* y1 X; B4 M/ g
pLight->Ambient.g *= 0.7f;
' g, c+ f3 M$ T* c+ A# G2 n pLight->Ambient.b *= 0.7f;* f' [7 |1 I0 T
}. O3 F/ e) C2 h% U2 r
6 ?; w3 U* N7 L8 t#if __VER >= 15 // __BS_CHANGING_ENVIR
6 X% ]* H( b4 v1 q0 P3 i if( g_pPlayer )
. R1 V; _0 y" p/ h HookUpdateLight( pLight );
, g" ]! o& b) `#endif
' |+ `) L+ L, i7 h! a5 M9 U4 G+ U memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );7 S. B2 P' ]# D, P7 B: n. L/ f
2 e4 ]0 U& b3 _6 r- y" a#ifdef __YENV
( s2 W2 A( Z, d/ R$ L) t# i pLight->Diffuse.r *= 1.1f;5 m$ {2 M4 I3 J( |' k* Q5 b5 q
pLight->Diffuse.g *= 1.1f;
1 j& ~( E: L9 p# y, \6 m( T pLight->Diffuse.b *= 1.1f;! N/ d" I% ^4 N( w% p! e/ ?
// oˉè* ??à? 7 h$ L' \# j2 D) K5 R, E
pLight->Specular.r = 2.0f;6 H, H9 M* @, `, S
pLight->Specular.g = 2.0f;
3 v- }/ q( \0 w& B" m+ F' {* q pLight->Specular.b = 2.0f;
4 W% [; N4 y8 `2 ` // á?oˉ $ ]. H3 O$ n! U- s# C6 w
pLight->Ambient.r *= 1.0f;
2 X6 c5 r% @ Q) ?, Z pLight->Ambient.g *= 1.0f;
Z9 M8 p& R* o2 ]& B4 n E pLight->Ambient.b *= 1.0f;
: K# e$ z k! r9 K. h#else //__YENV
* J( s. c& h- S. W7 G. g; c& L pLight->Diffuse.r *= 1.1f;1 E$ [" o8 s9 T2 U- U
pLight->Diffuse.g *= 1.1f;+ [+ Z! U2 `$ J9 f
pLight->Diffuse.b *= 1.1f;
1 m8 t' c9 Y" o3 S // oˉè* ??à?
3 I* s, l. }1 |3 O pLight->Specular.r = 2.0f;
" l+ w+ _$ r! O5 } pLight->Specular.g = 2.0f;" q% ^& \# F$ [& ^- y* r5 f" U8 m
pLight->Specular.b = 2.0f;
# {) Q1 _2 F0 v* k // á?oˉ
; O4 R! q! T0 Q7 z% |& C pLight->Ambient.r *= 0.9f;
# r$ u( D/ Y) ]! Z8 Y3 } pLight->Ambient.g *= 0.9f;
# k4 x& O: B7 ]9 I' `/ C pLight->Ambient.b *= 0.9f;4 Y. g# ?, Z! |% s/ D
#endif //__YENV
6 N( o% `* |9 e5 {3 N9 e( s( |" y3 x $ ~7 E$ _2 U, z) L# _
memcpy( &m_light, pLight, sizeof( m_light ) );
& P" M, L" k& M& O5 D! M8 p: H ) X g6 C3 o1 Z5 [& I* Q
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f); G1 C4 G% p$ N4 Y
D3DXMATRIX matTemp;. Y# \8 d+ ^& U: }' I: ~# q
static const float CONS_VAL = 3.1415926f / 180.f;- o' q8 R0 `0 k( @
* l' g3 K, M$ e) Y D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
% D' d8 g g5 q D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
( K9 d" P- S. b; e, N4 a pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 1 W/ T9 J; }! ]3 b" N8 G
pLight->Appear( m_pd3dDevice, TRUE );( S& H! L+ t- n' _+ v N. j- W
0 ?5 U/ q2 y) ]6 V1 `, C- @ // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);7 @$ B# V. @% m
// D3DXVec3Normalize(&(vecSun),&(vecSun));4 i5 Z7 r" U, \$ a- p% i
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
' n% |% G8 D! A0 m2 u7 d1 Z: i) J$ E9 t
DWORD dwR, dwG, dwB;
7 t: B3 ]5 S" x" o1 M dwR = (DWORD)( pLight->Ambient.r * 255 );0 z- c" u) K: Y4 r1 T9 e4 |% T0 D$ D
dwG = (DWORD)( pLight->Ambient.g * 255 );/ t9 a( G) c2 b2 }5 o2 b. y
dwB = (DWORD)( pLight->Ambient.b * 255 );8 W- s! A2 Y$ U4 S- @9 x8 y8 a, L% z
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 3 }8 `" N# T# k! I9 j
}! |5 p" `. m( F
}* m# r- f! Z1 n' ]. i
$ ]2 }8 T. m- [/ K1 j# Q. }' E
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
; P' _8 t0 `" |# k5 d; [# [& 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) );
' r! e. j# J$ `+ I! L ::SetLight( bLight );
3 U' j6 F, D- e) d+ O; r( @% r# i1 O+ |5 P5 I
// ±ao? ?D?í???ó á¤à? - {/ O/ w j1 e4 \ v& j6 f( A
m_pd3dDevice->SetMaterial( &m_baseMaterial );% [$ h& y" h9 K% J
9 X8 q( T/ M3 f% t, b" x! m) u4 h
#endif // not WORLDSERVER' d( c [# ]) E1 X/ X
}
' K: P( }% O/ }* X1 @并更换( D: G r: Q& u- _8 V
Code:
0 \: l: I3 V$ q4 y__FLYFF_INITPAGE_EXT, ?9 T4 g3 ]$ g
定义
2 `6 }& w$ [" i8 y: j$ r# |
+ G, m. O( g- X6 M# ]
4 G+ L8 W* a" U9 V: P4 P( Q o' k9 Q5 {- B/ ?8 |
8 A; c U: w9 [6 c
现在终于删除我的狗屁加速...
# r: c5 X' G z1 h: y3 X; a" l+ [( Q$ ~: Q" `( r6 q6 ?
1 c. y* {1 i( Y
; G. A& c& j- ~7 @% g# y1 c2 B8 e9 E |
|