|
|
食品车:
, g, x9 o! G+ H. c! {+ m3 o* ^尾翼:
5 K& Q( h' N$ q9 a; `2 |& o" O6 z4 C: w5 f
代码:/ o: u- Q' O, L. D4 P9 o3 ], c
CWndAutoFood::CWndAutoFood()2 a# l6 D) x- K, i+ x: h
{ Y8 D8 L7 W, P! b @9 W
m_pItemElem = NULL;; r$ L) F- s% t8 c& P
m_pTexture = NULL;6 K. M) Z! D( |! c
bStart = FALSE;
) l. ^- i# G* D* y2 `}
- K5 ?5 g1 n* t- _2 P
3 A% C2 G1 e" JCWndAutoFood::~CWndAutoFood()) K7 o. E6 q' T+ `4 u u; E
{
5 X+ A& c5 I$ ^; B' f! ^0 P( ]4 v' ? AfxMessageBox( "AutoFood ist gestorben " );
; M( Q. s* L. G5 D7 C% q) ^}6 z) P- G+ l; S" j
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )* D" \' F3 \1 f4 D0 n
{
9 P8 V( X# s- l' t' S return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
& a3 l/ n7 e2 b}& R4 F+ g t- y r5 F4 o3 w
7 r- {9 i' U& b$ E8 r% N
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point ): |& {# y# M/ n J
{; i" |3 |+ J7 j' z J" T
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );; E, O- V$ b) D: Z8 j
CRect rect = pWndCtrl->rect;1 A$ q5 h! c v; E8 `6 }$ ^. p( e
if( rect && rect.PtInRect( point ) )
9 o4 ?8 T2 Y1 A' z {
" A7 c0 {5 T8 t1 ?9 s0 L8 P' H CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );- U: Y8 E9 P$ t( Y! ?
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )4 |4 r( J" b$ g
{( h; j, N" }# [0 _, c- f% V7 W
if( m_pItemElem )
i1 U0 I6 n" T! S: Y* E {% y. i; _! j: v/ a- y P+ n$ |
m_pItemElem = NULL;5 K8 u. I: u! J5 o6 ]/ k
}3 r& X: e) w6 k3 S# s8 P* I* |- ^3 I
m_pItemElem = pItemElem;
5 Z7 p; [* y; b! C m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
5 K1 ]+ k [9 Q9 y }else{
; k2 r1 ?4 \0 o: a SetForbid( TRUE );" Y l5 s2 H3 `9 f5 [' P' P, Z
}
, W* z. ?# Q/ Z! J( F% ~ }else{- W p$ g$ `, b5 O% a
SetForbid( TRUE );
$ P/ S* b2 B/ e2 l* } }- Z8 ^0 i N1 J4 d& m5 @* _
return TRUE;" O9 L9 ^2 I$ x" R- s2 R# D% K
}. D- r* H) | V9 Z" z
$ x3 a( }- n1 HBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
+ \2 W3 r1 S% b; S! M# |8 \( b1 q{
: S+ R1 C \6 v) k! K( U switch( nID )
0 P6 ]! W M: c3 \ {
* y/ {' v2 ~+ c( y4 p8 K$ W case WIDC_BUTTON3:
V* t" J2 m! o2 w; g {
( [7 D2 h8 W: u* J bStart = TRUE;
' f$ t* g/ J; a7 [8 U break;3 E8 K- \8 }) [ p
}
1 j0 R9 C) B' m! y case WIDC_BUTTON4:
% j% b0 w A8 k" q8 x6 { {3 ]/ A, g; D+ y3 q
bStart = FALSE;' ~; O( y4 s" h0 I* N
break;
0 P+ s6 K1 B' f }
) N. s/ Q K! u) s4 O }/ G9 I2 Q2 U! i- a5 e* [ b
return CWndNeuz::OnChildNotify( message, nID, pLResult );3 P& t$ ?4 k, g; Q: X: L
}
# X1 t6 _" }# ^2 e B+ Gvoid CWndAutoFood::OnDraw( C2DRender* p2DRender ); l K6 O4 q: E) ^. M6 X, r" O, x" K
{
. O! q% B N% y/ x5 d6 ~ CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
3 Z; U! ]+ X. w' ?5 _ if( bStart || !m_pItemElem )
5 ^3 F4 ] R$ J {( J/ U3 ^- j% c+ B
pBtn->EnableWindow( FALSE );/ X7 D) U: F8 Z4 x* ~; G) @6 t* s
}else/ F+ P* U3 f- N; N
pBtn->EnableWindow( TRUE );
, B& _- D& B* U7 l8 @ M if( m_pTexture )
- c( f) S5 I1 y) \0 a; P5 r9 i7 \ {
3 I8 V+ f8 C. X1 S9 b LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
* W$ E) B g! F, o* v if( wndCtrl && wndCtrl->rect ). t: X/ F0 _) z `
{
" k# n3 S- {+ Q. X m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );; c: {; Z8 y/ C; h+ @& f
}
E7 `: Y) ~4 Q5 Y. ^4 b( w& G }
+ e( k! G# C& C}9 U( v& H8 `: ~7 I6 o
$ ?- x4 u. l' u0 F, M
BOOL CWndAutoFood: rocess()! w: w6 ^" e/ N
{+ p1 F. e7 d/ o, g
if( bStart )' |0 @7 S0 P3 M( K: _* j6 V* d; P
{% d7 J5 I. C8 p9 U) N- ?
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )& F. |8 [' _9 U, M0 w
{
% \/ Z7 k: [9 S2 U* ? if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
5 p" L5 F1 y3 l E& m+ o* o g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );( ?, V& g1 q! s* o6 J
}else{4 L1 e8 {. a4 Q3 q2 ~# i3 i8 A
bStart = FALSE;
/ N+ j# @0 d- T m_pItemElem = NULL;- R y. ^2 Z3 J F) W `4 p5 m
}
: o7 q Q& A& S4 `/ o# \$ Z4 b& p }' l* x* S+ A& r
return TRUE;
3 D0 a2 e$ S1 c) M, }}$ c, Y/ j7 p) S
3 d6 ]( D* \ x, m9 Q5 G6 z2 v7 y% u9 B
登录视频废话:
8 `3 r( R; |0 G3 Q2 |6 }4 P尾翼:2 U( x" A/ g4 x: o- Q& a
2 }8 I: X: Q% W$ R8 d代码: {" |, z# c# O! _" l" n1 g7 H# M* ~0 L
& r* z6 w$ f: I: A4 Rvoid CWorld::SetLight( BOOL bLight )2 g( i, ^ b, K0 j' V
durch
; k$ L `" `: F) G' `Code:
8 @& j( Y& ]5 E5 ^0 ovoid CWorld::SetLight( BOOL bLight ) }5 b7 i' q9 P3 H+ W
{: _ r" A6 m' \+ p$ i4 @
//ACE("SetLight %d \n", bLight);
; q1 ]. \) K; ?# P+ r4 A! A" E0 X- q . B# W5 i$ y: j: I- K
#ifndef __WORLDSERVER
% D! Y0 Y y) W8 t# M' V1 M DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
! k' N( C0 \4 O5 Z' ^, ?% y9 K0 ` CLight* pLight = NULL;
/ h+ A+ ^) q' v V
1 W# e5 W7 i9 W6 }& O$ `2 z D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
& H1 }0 h' H6 B' M' B) }8 p
$ p, s4 k: h# a' m- l7 S( B% ~$ _% @4 | pLight = GetLight( "direction" );
* N# W8 w, P$ i3 N0 `$ U# c; h( i& H( @; K
#if __VER >= 15 // __BS_CHANGING_ENVIR0 D6 t$ u& D& j; G2 d9 P
if( g_pPlayer ){- q/ i2 N, T% {. @$ Z
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
0 l: p& X1 O( j6 q if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
$ I0 J# f d' l {6 X0 S* a) X3 W+ h
if( pLight )+ |6 m" p7 k0 D! v8 x, s9 |, n
{
. Z" J- z" k y% b, a pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
4 N. r0 @1 _, B* M' W* a: f pLight->Ambient.g = pInfo->_fAmbient[ 1 ];1 m5 z' M1 w* I; v
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
5 ^1 r$ h' k! v4 y4 @( \0 k. V1 {' S3 {; B0 l; d
pLight->Specular.r = 2.0f;
9 u% U: a1 U( g4 M( G pLight->Specular.g = 2.0f;
2 w0 K- f5 ^: | T pLight->Specular.b = 2.0f;. \; w5 \( e4 t4 N! s4 g
" x0 K0 G! x2 W* q( |
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];! m' Q# J: _ T
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];7 `! V1 {- J. L% _8 k7 M
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
3 ~4 A0 a% ]7 L ]" U9 v. [& e+ a
) d# @6 O8 C$ d+ J. `! e7 w" ^ HookUpdateLight( pLight ); & D- J" X$ @% s) e: C2 a! L
) C @/ h6 h% w4 U1 Y$ m
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
: u, c3 F; \: m; C6 @! f 7 Q, }4 a4 R+ K
pLight->Diffuse.r *= 1.2f;6 t; X- o7 S* W2 i1 X# D
pLight->Diffuse.g *= 1.2f;3 r4 N# M1 o/ `
pLight->Diffuse.b *= 1.2f;
6 ~0 I4 k* W, L; b
0 [$ Y- |3 \! K) }- ^" c; u pLight->Ambient.r *= 0.8f;
. S U( M8 ]5 H7 } G, J pLight->Ambient.g *= 0.8f;( A0 P: g) H# z0 Q/ g8 A
pLight->Ambient.b *= 0.8f;' U$ c5 L& @. ] h8 J
: C& |- {: V' B0 g1 i memcpy( &m_light, pLight, sizeof( m_light ) );! \% G. o- d( Y1 I
2 }; @9 \- }. S& h D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
/ w' x8 Y! F- y) p D3DXVec3Normalize(&(vecSun),&(vecSun));+ B& z, ?. A. M, E2 F/ S8 t
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); . W. n% Y9 E0 L7 M
pLight->Appear( m_pd3dDevice, TRUE );1 i1 b1 K9 M/ }' c* y3 T; V4 ^1 v
7 S) L9 Z0 W. I0 \0 b: T3 E DWORD dwR, dwG, dwB;5 |. [* L6 b; ]5 b: F" {) k( d' g. F5 _2 C
dwR = (DWORD)( pLight->Ambient.r * 255 );% Z2 k: j* b; E/ s
dwG = (DWORD)( pLight->Ambient.g * 255 );
# o# L5 V0 b' X) A6 O8 b dwB = (DWORD)( pLight->Ambient.b * 255 );8 g" Q7 N3 Z" g1 l0 m
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );. B1 x6 @8 Z0 E" G. l
}7 [. c/ N Q! [2 Y, p$ {- }6 R
}
0 O% e: z) }7 Y! d' b/ p1 M }3 z# E* q' T4 i: r! E2 l* I+ c7 \+ v
else
/ f* I8 t+ _6 l# ^/ G$ s. H8 b+ H' I#endif ' r+ x7 P% V$ B
) B" t2 O; L- g5 a" f- n8 D" l3 w% d
if( m_bIsIndoor )
* T- M" i, e3 A9 }' v% ~ {, X2 l2 V& N8 C
if( pLight )! t9 [6 T# C) G
{ d. X% ]$ m2 g' N7 {; z" n
// à??μ oˉè*
9 f7 X: ^8 O- l) {3 P- U7 O pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
, @9 B' K$ B/ @& A' ? pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
! `$ _9 Q! Z& m9 {4 E9 a* B3 C pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;4 C2 P, _) P/ C H% g
* [0 P7 P3 X, ?. P0 R: z
// oˉè* ??à?
! T3 ~5 N- _! [: B. \( U pLight->Specular.r = 1.0f;( c `6 ?4 I; t- i5 m; l3 p1 s" @; Y
pLight->Specular.g = 1.0f;# c* ~5 G- ?2 ?9 W2 v# [: K
pLight->Specular.b = 1.0f;6 `+ ~4 K3 w/ F4 b: v
// àü?? oˉè*
$ [" s+ E; ]- v8 [ pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;( f, ^ I0 E" K0 `# D
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;! V* j( j- J4 Z$ c
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;- S3 J8 N* u' C/ U# D( A
+ D5 m5 q9 x$ A6 ]( P$ ~( n; y0 I
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
2 m( @0 j W7 | {
8 O5 ]* d! O: Y& Y pLight->Diffuse.r *= 0.6f;8 f/ y1 X' f$ n5 x' \3 i/ \
pLight->Diffuse.g *= 0.6f;4 E0 a0 B5 S# O
pLight->Diffuse.b *= 0.6f;9 P, R) o" _* M. `& f C) x* G
pLight->Ambient.r *= 0.7f;
6 k Z5 s8 t$ T" j pLight->Ambient.g *= 0.7f;
* J" h; h6 y' K* P, r pLight->Ambient.b *= 0.7f;
$ s. i) C4 n& x F' m- @# G }
6 c/ h/ ]% }/ }; s- M+ Y
8 \3 v9 F% p) g+ I1 C( n#if __VER >= 15 // __BS_CHANGING_ENVIR& a8 E. t. q' T2 t e
if( g_pPlayer )$ k) Z) l* w- L0 e# _
HookUpdateLight( pLight );
/ @8 Z* w1 c4 Q8 J8 O#endif
, c6 \6 s/ w& S9 o: ^) w6 o memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
- `" j$ {- A0 }6 j+ P( a
. e9 m. ~# l6 \+ @1 ^ pLight->Diffuse.r += 0.1f;
) ~6 _9 B: o; u# |* V pLight->Diffuse.g += 0.1f;
. Y/ @" k) A; q, G9 B pLight->Diffuse.b += 0.1f;
4 d8 I9 \: w) _, m // oˉè* ??à? + U& t. c d" j; e m
pLight->Specular.r = 2.0f;
' r( u+ V/ H6 }2 ^; T! P6 s j pLight->Specular.g = 2.0f;, X/ O# S: ?5 t) I/ F7 a
pLight->Specular.b = 2.0f;% e7 }% w7 [4 x7 _% m* h
// á?oˉ 6 G9 t& I8 b* @/ S, o
pLight->Ambient.r *= 0.9f;
5 V% D7 W6 V+ r! v% a/ S pLight->Ambient.g *= 0.9f;
; x! a, M) Q: b! P* [ pLight->Ambient.b *= 0.9f;" w7 p2 v' j/ h0 P" L1 A9 B7 ?
5 |8 K& R9 H; i/ Y' X# n
memcpy( &m_light, pLight, sizeof( m_light ) );
3 ]9 {' Q: L# f7 e- a
, i5 Z% t+ J2 J7 Y5 j pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
* ^* ~. J& I& E; U3 Q3 @8 z$ i pLight->Appear( m_pd3dDevice, TRUE );/ ~, w0 u8 i; v& _# W( h
# |3 @% j* E8 @) r c DWORD dwR, dwG, dwB;
# o" B1 m$ @# u. j dwR = (DWORD)( pLight->Ambient.r * 255 );
3 Y R- ^4 Y/ O5 E# H dwG = (DWORD)( pLight->Ambient.g * 255 );
2 M2 a! t9 H! g. e1 @2 r dwB = (DWORD)( pLight->Ambient.b * 255 );+ {; Q2 P3 O& l# q
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
6 c9 I! r* ]& i% m }" m& D4 p. W* c
}9 @6 X7 `% O: k& a; @+ j
else
' {9 L/ |1 G5 [% k {
$ }, c4 X" Q# H# h7 y2 { if( pLight )5 q" e" ]+ Z% W/ h( y2 m
{0 O+ C u8 g# h( t1 _+ U: c
, y. M5 i& e! B! F& L$ k6 y+ v
int nHour = 8, nMin = 0;
' D- n/ }4 X" P# l! i #ifdef __CLIENT
8 w! k8 Q& r; t // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
K+ P: M ?$ D; z nHour = g_GameTimer.m_nHour;
$ W3 V1 d+ z- k7 i' g0 ~ nMin = g_GameTimer.m_nMin ;
# V$ q E! ?( T7 F3 C0 h #else
3 z2 {' Z& O! Z5 `' D4 R$ X; Y // o??o??′? ??°£à? m_nLightHour???* °?á???′ù. j( A% v* n' B% C6 g5 G" h
if( m_nLightType == 1 )
. N, B7 l3 k! Q: d( f- p nHour = m_nLightHour;
$ z+ `4 k6 }) R #endif
9 R: v) V+ |) M. | J4 n; ~0 W nHour--;
E/ O$ Z! N& _% i# U0 N1 ? if( nHour < 0 ) nHour = 0;* a. _' `! s- V& m# \! k( x
if( nHour > 23 ) nHour = 23;# {* _8 M/ Q6 x4 y* l
+ Y' R; f2 `% J6 a' E2 N$ U+ } //if( m_bFixedHour )0 u$ k, B/ b- h% S/ R" s
// nHour = m_nFixedHour, nMin = 0;( e' O6 a7 w) J
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
4 o' m7 @. E" F' i a LIGHTCOLOR lightColor = m_k24Light[ nHour ];
3 n) W. B/ @4 H6 W7 }) r: N
" Y, o) {3 I* m //m_lightColor = lightColorPrv;
' Q) ]1 q, B& n& l3 {, B& H lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;( K( ^% [( i# p$ A# u& Q. l2 ?: e
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;* k0 |4 v9 I6 u! l
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;$ x# X2 N; R) n6 h3 g# l
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60; p( w) A8 a8 r% u0 g
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
Y4 z$ A& q9 Q% B. C1 |+ O7 j, @$ F lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;# v H1 {6 k: E" A+ d# s# Z
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
0 P0 i) y5 C& ?' X' v7 A6 D3 K' J
// à??μ oˉè* & S0 N% Z0 u+ ?5 b# S
pLight->Diffuse.r = lightColorPrv.r1;
7 }& ^6 d, B( [. C: Z+ ~ pLight->Diffuse.g = lightColorPrv.g1;( y9 y" @ @; |; C. ~8 N: s2 H
pLight->Diffuse.b = lightColorPrv.b1;) |+ R$ ]* c v
// oˉè* ??à? 5 U( V. s* g; d( T
pLight->Specular.r = 1.0f;
2 D1 f. I$ H1 k pLight->Specular.g = 1.0f;
# b6 i1 H# f% @# P pLight->Specular.b = 1.0f;
5 f$ D, T- V: \% X // àü?? oˉè*
' s6 @1 M4 h5 F% o pLight->Ambient.r = lightColorPrv.r2;& R8 s7 X) {, B5 q, \( Z; b- N
pLight->Ambient.g = lightColorPrv.g2;8 Q1 T( l! Y p( v
pLight->Ambient.b = lightColorPrv.b2;
7 ?/ e5 m3 y: k: b* d! {+ a+ e8 p# J R5 N
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.0 [3 i/ C+ R1 b2 r/ s! P
{
" O! {9 K+ J6 H pLight->Diffuse.r *= 0.6f;
\! ~* R- y* ?/ S4 o pLight->Diffuse.g *= 0.6f;
' w( O& o7 d& a3 d0 G$ l& d8 d" h+ y pLight->Diffuse.b *= 0.6f;) J9 B |; }+ q/ g6 z
pLight->Ambient.r *= 0.7f;
$ R A6 a! Y/ w pLight->Ambient.g *= 0.7f;* J7 n, n' B: ]# E! j
pLight->Ambient.b *= 0.7f;6 b1 a7 b" ?4 B: [8 C
}9 S: y5 X2 P6 O# ~# c* f4 p. I% m
3 H, c* _1 k1 o# I* K7 J0 }) H#if __VER >= 15 // __BS_CHANGING_ENVIR% n3 Y1 g5 u' q' C$ C( J
if( g_pPlayer ); u! j, s. I: o* \* `1 b
HookUpdateLight( pLight );
& j. h: d( j* q2 N1 x9 z#endif
1 s p* O. s, s4 b' { memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );) ]& M5 M9 b4 d" e
) E# Q$ Q) H" f. b0 `; S: p
#ifdef __YENV
7 `4 P+ l& w# o1 {$ w4 T$ k: F$ x* b pLight->Diffuse.r *= 1.1f;
( l6 O3 K: D. d% m* @ pLight->Diffuse.g *= 1.1f;8 v, ? B& i( A% y- ~$ _5 Q
pLight->Diffuse.b *= 1.1f;
- _, Q& _ X* V% b. n( s. t# h0 ^ // oˉè* ??à?
, V8 k# P* U: F; e1 p; O pLight->Specular.r = 2.0f;
4 ~* W/ s5 O A1 g: F1 |9 g( S9 R pLight->Specular.g = 2.0f;
: U* A7 m0 R9 \! S& V+ V/ S pLight->Specular.b = 2.0f;9 D7 }0 o4 A; r! J8 u
// á?oˉ ! k) f" [: A% ]+ y8 G! f
pLight->Ambient.r *= 1.0f;% N% }7 r) k; Z8 Y( K, o
pLight->Ambient.g *= 1.0f;
$ X: e) N' B; u! P, [ pLight->Ambient.b *= 1.0f;
J* Z) N- r0 h+ b# j5 n#else //__YENV
3 | a5 s1 k! V: h: ] y+ j" A pLight->Diffuse.r *= 1.1f;& M2 f% k! p, B' ~4 |
pLight->Diffuse.g *= 1.1f;9 c& n$ i4 l9 a/ V; s. [
pLight->Diffuse.b *= 1.1f;/ S( A+ e7 ]; j" Y; Z3 ^
// oˉè* ??à? : z. @! h1 V1 m+ C8 ~3 o' U
pLight->Specular.r = 2.0f;
, t/ t' \$ V1 I4 `1 e' P pLight->Specular.g = 2.0f;
1 j) J6 O! ?" B* j# T pLight->Specular.b = 2.0f;
6 p) T* Y! C- j @& S9 g // á?oˉ
3 F; q {: |( l" B5 z pLight->Ambient.r *= 0.9f;
1 _$ J" b% w. E q" O& S* ]; s$ a: W3 B- T$ m pLight->Ambient.g *= 0.9f;
% R& h* l% |6 [# N( R( I pLight->Ambient.b *= 0.9f; X P7 a; d7 r2 x6 N# @, H' C
#endif //__YENV
/ {' j! @, n1 D. N+ p4 u- |% o, s
* T8 P( f6 @0 e% m memcpy( &m_light, pLight, sizeof( m_light ) );
& P8 s1 \3 f& M" E- a; S2 E- T
3 M; z# Y+ c# x/ Y0 v D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);6 f) U6 r9 z& Y2 d* K
D3DXMATRIX matTemp;
/ ?# U0 R3 d G& H6 K+ s static const float CONS_VAL = 3.1415926f / 180.f;6 Z1 o5 P5 {1 l7 G6 s
5 `# p5 T& }, n6 h3 D# F D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
9 |0 b( T6 G! o D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
1 j+ K" _/ Q8 V! D8 \ pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); # v/ h* P$ ~6 a1 d+ C/ \$ i
pLight->Appear( m_pd3dDevice, TRUE );
" Z5 g: H/ j- f& o/ j {9 }
# B9 T- p" d: c // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);9 n& J5 R) E1 Y" B
// D3DXVec3Normalize(&(vecSun),&(vecSun));
# o. F/ L: O' J- }6 R // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
& F' U! x) U- T+ s8 a$ }0 e( N+ X3 p- Z2 {% X& z. K4 i- e0 o
DWORD dwR, dwG, dwB;# o0 i' ?7 z" V0 l
dwR = (DWORD)( pLight->Ambient.r * 255 );
+ K& l6 ?! b5 t- L' d) W dwG = (DWORD)( pLight->Ambient.g * 255 );
" |- ~5 {7 k- M W7 u, i1 q dwB = (DWORD)( pLight->Ambient.b * 255 );: }% x4 m& h- g: G( c5 {, Y( j% P* W
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); * }$ e3 O! B% w* z5 \; n
}' ~0 t$ P. _* ~8 Z2 z
}
% Z m6 q7 r* M% R9 O+ P0 D) q: u3 H7 Z3 L6 |8 u
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );9 k- _% j b' Q
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) );
# V! a0 u/ w9 l- a8 R ::SetLight( bLight );
9 j- r# k+ T5 l. t) N' C* _& v* o' d# D) O9 c3 u7 ^
// ±ao? ?D?í???ó á¤à?
) U) \8 t: ?! M8 M" b9 l. X5 K m_pd3dDevice->SetMaterial( &m_baseMaterial );1 G: X0 r }1 _3 _# S) [
; W% }8 Q F/ [$ X9 I' D- L5 D& V
#endif // not WORLDSERVER
- z# d( E* f% ^5 T}
$ Q6 O* Y; t+ A! ]& U2 @并更换
, d4 x) r* W- i- h w, o9 b! RCode:& n6 q/ x( E m b0 E1 _
__FLYFF_INITPAGE_EXT
5 ~3 H3 r+ @$ [( ^) Q定义1 V1 L& F7 j" V( C1 x2 m
/ x1 y0 @: M- v: {% W- u
6 d* V6 \: H+ O3 K) U) p
7 S3 A% K; ~5 B) t1 ~. `1 D( ~, E( l: R4 i0 T) P* W0 K
现在终于删除我的狗屁加速.... z# y& T. w* Q' U- e! I
7 R( H% d! Z1 @* i& \
* \, c( `* w. I, o* p) f" p" V6 l, }' J1 L& ~
|
|