|
|
食品车:: F( | ^; j* U7 A5 {1 e S
尾翼:: n8 u) f9 P% _' x! Q! |+ P
* e& b' ^0 Z& G- C7 p; P+ E代码:
& R3 P, @& o* G, ^- LCWndAutoFood::CWndAutoFood()' Q- i: |. q: }& k! ]5 V. E; Y
{# C, w$ D- `* w8 Z {2 e1 s. E
m_pItemElem = NULL;
: l! P! i+ ~+ X m_pTexture = NULL;
3 x' y! S2 P$ E* R7 D0 r. A7 f; \ bStart = FALSE;
; ~5 B: z# p4 O}" k# V# f9 P7 L) J' L
, z7 m3 f" S& d5 f9 A
CWndAutoFood::~CWndAutoFood()& G' K$ a8 O. D3 Q
{7 K% I. H. v% q* i e" c6 Z
AfxMessageBox( "AutoFood ist gestorben " );
# C2 X( j: _' C& ~* S: h}
8 {6 X7 L/ `1 ?2 F$ kBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType ). J/ _9 F( t1 {
{
7 ^+ J w8 w1 {7 j: h7 f& J return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
# |- X7 ?$ ~ Y* E% d# t}
x, n; i7 K% s- X8 f) r+ e( v! U* N- w$ }5 }, @
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point ) n2 ~: _' C7 P. z2 @% s6 S
{6 i$ U0 |; c4 y& K o# g
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
" J6 U& t. [( U/ h6 U( T) F CRect rect = pWndCtrl->rect;9 g, o, H1 P" u: k6 v
if( rect && rect.PtInRect( point ) )& t9 l: K8 n% m/ F; w P: Q
{
2 B# f9 I& O. v$ p2 e/ D/ r' K CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );5 V& q" W6 J& x( w H
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
- M3 h. N$ a2 v) q1 O2 p& Q {
* s7 U! V* Z5 b. I: ^# H5 [ U L if( m_pItemElem )) z2 B6 U9 \5 E Z9 v
{7 p/ c7 d. @6 M) V$ G3 X, E
m_pItemElem = NULL;
6 p; X* G6 p! V" ?. I }
2 Q3 {/ r6 _2 [4 a% i, [ r8 j6 r m_pItemElem = pItemElem;
; B! f5 x; W' R+ J8 m& m6 Y1 h m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );. H8 W [' ]7 D8 M, A' v" m
}else{, f0 o! ` S" I$ U/ a0 K
SetForbid( TRUE );
# A! X7 u" S$ M* J: N }& e. v3 [, N9 h! R& t
}else{
7 a4 t2 W- U, W* @0 K; e$ y4 Z! e SetForbid( TRUE );9 C1 v8 l7 T3 {
}
1 c: Y5 P" S5 ~8 I) ~ return TRUE;0 f) Z) _6 `; E6 O2 F& l
}
5 Q, V" y6 b+ t' x7 U1 }
1 \: y) a( }5 t/ ?5 UBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )3 W3 s* w, z4 `
{
: `, }1 w# H* f7 w* A2 @. ]8 a switch( nID )5 _7 W X; D) ^, A* `
{
5 E) ^, p# d' l+ d3 T" O case WIDC_BUTTON3:
/ y$ `, l; ~; B) }8 _0 U) c9 J! u {
- s9 h; x+ _' e: l% ] bStart = TRUE;
: ]9 t" i% } _" R1 D break;
g3 b) t( j! T5 g9 M }
# u \! k/ P' |7 N' ~ case WIDC_BUTTON4:
, s) d- B/ f7 x {( u$ R F) ?# i/ `
bStart = FALSE;2 d4 I7 d1 W; L) u8 N" {. W
break;
& p/ ?0 x; ~+ j5 N }5 t, H8 p# w1 r
}
2 n @2 R0 t! {% ]. A5 ~ return CWndNeuz::OnChildNotify( message, nID, pLResult );
! `6 N2 Z+ w8 ^4 @5 M}
- K* S/ }7 e$ I, bvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )$ Y( U: r( P8 d, I. u( k9 ~
{! U+ Y( e, |) q2 n2 u
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
! M" O# j" X& ? if( bStart || !m_pItemElem ). }4 ?" I: v' s; q7 i) S4 m1 W* f g
{& f7 k# }0 [6 W/ ?7 v8 \1 p
pBtn->EnableWindow( FALSE );
% ?6 M; e& V: }) f- \" d }% @! E1 n }else7 X D' k3 \6 U# A6 b. I, v* S
pBtn->EnableWindow( TRUE );+ y) Y% ^# v) q7 Q5 n) I1 j
if( m_pTexture )' T9 N+ E$ C5 c; f$ f2 P
{
4 o5 y+ T. I" R8 ?, E! V( h: r LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );; n! y9 p, S4 M
if( wndCtrl && wndCtrl->rect )5 K- a) f; j* a8 ~ q
{& L; Z1 O. N5 y1 U
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );0 G1 _( ~) o* Z- F5 S
}
2 H) \* q/ i# R$ @ }1 p a- E7 k9 I' \. ], y2 U
}
' }# ]9 d" z' r3 v7 F! ?/ N6 ~) ~) x; s, `" R
BOOL CWndAutoFood: rocess()4 i* W3 O4 Y% A' o
{1 o5 [1 Y4 O, B0 X2 ]8 Y! B
if( bStart ) s. N! Q9 l" G0 `$ |
{
/ N. W) P0 c# U( l if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ), H" u* M- b2 D/ N4 X( u
{
7 Q8 D$ r6 [% C/ J' i- P 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 `! v+ c; C+ L1 T! g9 K) R! K+ Q2 M" Z6 o
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
+ A& u$ T/ Q7 k3 G }else{% b+ I* [& t7 m/ K, z' g
bStart = FALSE;0 M u1 W* j6 E
m_pItemElem = NULL;
M3 S* e4 r: U8 g, Z7 V2 k3 Q }* H* k8 p: Q! K" j, ?: @/ t
}
9 S( f+ `/ \, F6 d return TRUE;$ X z5 ~3 o# l1 Q
}; H; \9 s3 S8 x& s/ b0 }" H! w
- o7 k- R& z8 l* ?5 u登录视频废话:3 F4 G' L1 s& H. g3 `, g- a
尾翼:
* K( G* ~/ W' w7 K! r' R. \6 ~
. N, f3 \' x" A% J9 L8 J代码:. m& V; s' y9 b X+ D
3 W& j: M# n( s- f
void CWorld::SetLight( BOOL bLight )3 j Y$ j7 X( O. y5 \- h* h2 C
durch
. V) W9 V2 ?0 f8 \# J! y4 bCode:$ R& z! S; w* Q2 N
void CWorld::SetLight( BOOL bLight )/ M6 p; H; D7 U3 _5 k1 }3 @
{
* |9 q/ ~5 i b4 q8 I0 ^ //ACE("SetLight %d \n", bLight);6 |1 j+ q4 ]/ v2 g- P. H
9 e4 K3 D+ F: J8 e- F/ p2 |#ifndef __WORLDSERVER
. @$ N7 ~5 P( a$ p$ _0 Y5 E DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
3 [2 b! F7 a# }, A CLight* pLight = NULL;$ M7 |6 b( ]5 Y9 p
) Z0 i& g' z2 m; e5 | D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );0 b( m# j& j! p& y/ a& s
) P* z# o9 @4 n' w8 A( A pLight = GetLight( "direction" );# E4 H4 @$ m+ z! _
2 S' r9 W/ ]8 t' N. R1 B; Z
#if __VER >= 15 // __BS_CHANGING_ENVIR
+ M2 |& B! E, P3 r5 E8 I! ^7 p+ x* B if( g_pPlayer ){
* O' E% h& S0 f- o- D# Y ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) ); { B# d% d' o
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
. ~& |0 m- o1 ~ {
3 O# |3 r$ ~, r) Z/ I! P9 i if( pLight )
7 D/ P( M% g1 T) u {
4 X; n/ f# e* ^0 A+ h B- s$ j/ ? pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
3 s* e2 u, L) o# E$ L# f+ ] pLight->Ambient.g = pInfo->_fAmbient[ 1 ];2 F& I5 T+ B( ~6 d { `
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];: a, S7 S' ]: a1 G" `( A. N7 Q
; i/ N9 c0 e N
pLight->Specular.r = 2.0f;
* Q" |3 B. g: q; W pLight->Specular.g = 2.0f;8 w1 g- j4 R2 z
pLight->Specular.b = 2.0f;, S: ]9 E3 z3 L! {
! P/ U4 P: X9 x& ] y y pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
2 a! @ g4 q% N7 ]3 v4 U pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];1 ^: d8 o/ o; }) R: T% a6 ] P/ i
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
. Y; h% h2 m b6 V# R % v V) R% U) ~, u/ X. y; ?7 t
HookUpdateLight( pLight );
$ h0 A, H3 f* Q2 L' p5 p% o
- c; Z% A# t$ h. F6 I" f4 b memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
: L4 X! O9 v, W$ | 8 m- P( h' b- k D) r X
pLight->Diffuse.r *= 1.2f;
" b. w. f; ^; M, n( h- n pLight->Diffuse.g *= 1.2f;
0 S* b; v! A+ F4 t0 w, D3 s' L pLight->Diffuse.b *= 1.2f;
. R! ^* n; t( @1 r9 J- d/ H
8 j7 i7 T1 Q$ |. [ pLight->Ambient.r *= 0.8f;
Z0 `% Z1 }. l8 t pLight->Ambient.g *= 0.8f;+ d" }& P& E! m! g- S
pLight->Ambient.b *= 0.8f;+ j! B% O/ |* G& O# y
' P& A/ V( ?" r; t$ l
memcpy( &m_light, pLight, sizeof( m_light ) );
/ T2 `3 R+ }7 p p& k
1 U3 h; K, b2 E D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);# v: W j6 T# r5 G! p6 S
D3DXVec3Normalize(&(vecSun),&(vecSun));
: m4 @! t( W* K- j( c pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
5 y1 u$ E! p0 X- i; i+ Z/ `* W pLight->Appear( m_pd3dDevice, TRUE );! Z/ {: d; x/ Q D |# g
% H3 I* S% g1 h4 ~: s
DWORD dwR, dwG, dwB;
4 n* t2 n, |9 j- s$ z( Q dwR = (DWORD)( pLight->Ambient.r * 255 );
9 _: E$ f3 D; D' O) S dwG = (DWORD)( pLight->Ambient.g * 255 );. E4 S9 v( S9 u: r$ ?0 W
dwB = (DWORD)( pLight->Ambient.b * 255 );
6 K* u3 N( m2 @- I! l* [7 }5 F dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );( C$ z# S, P9 @' H: I) {
}
( g7 w5 E# {4 {' [) s% G } c# p* N6 C+ Y& c; }/ s
}0 R/ W' W7 v8 ~; ? G
else0 B8 [! w1 R2 T1 M: x7 S0 [3 W s; R
#endif * s' ~5 @0 }" Y
5 d# k( M% r! I
if( m_bIsIndoor )
" @/ Q' Y# d5 i1 m {
; B8 r. O& f8 E& \$ m2 w9 w2 Z/ ?& ~4 m if( pLight )" G- O- F1 k0 D2 n) b8 Y8 ?
{ W6 @9 _, i8 k5 J+ Y
// à??μ oˉè*
: P5 g) b, f: _" z% ]& g pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
0 h, {: y* [& |, M% n# j$ z pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
% W' I; L$ l o0 B7 M3 a pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
7 g4 d6 H0 u% ^) I& [& p) V
7 O7 r6 y$ p& h- a4 Q9 \* e, a // oˉè* ??à? 7 Q) [8 c0 w. }& z0 q
pLight->Specular.r = 1.0f;! `$ e8 s& [! Y! `+ o7 O
pLight->Specular.g = 1.0f;+ y. t8 M4 V4 _2 u; t: g
pLight->Specular.b = 1.0f;
4 ]6 o' l, a6 T& N // àü?? oˉè* ! v* T0 H; {, m( T
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;, S2 [6 w6 Q; x; r& a) N8 h
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
9 R' U3 y. d2 Z pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
9 [8 R' |4 O) F# \7 V+ `: f/ m4 [* w1 V+ u
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.6 h$ L! M' O4 i$ g
{
! W2 k" j/ f) c+ P4 n pLight->Diffuse.r *= 0.6f;9 P9 B0 ]4 E! R& c
pLight->Diffuse.g *= 0.6f;
6 p" U1 i9 C, W2 e3 g ]3 \ pLight->Diffuse.b *= 0.6f;
; L/ A" l) S" p1 a pLight->Ambient.r *= 0.7f;
/ x' ?& [/ f- u pLight->Ambient.g *= 0.7f;$ ~: i7 }, {3 C7 L- n9 S& \ I
pLight->Ambient.b *= 0.7f;+ J1 D8 e" I* w9 e) J8 ] c
}
4 z- K8 d9 L8 A& D7 y7 H) Y- S# P3 Y- K
#if __VER >= 15 // __BS_CHANGING_ENVIR; A5 @! I( R5 V2 ~& [
if( g_pPlayer ), E$ Z2 [; E3 @+ z: M+ X, j
HookUpdateLight( pLight );# K, h" d- I. y% S0 {
#endif
. T, B/ G3 d% a memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );3 j9 w- b7 q. z1 a/ K" @9 ^) P
. X1 _! C. e" i/ U, C y pLight->Diffuse.r += 0.1f;
9 ~ J% ^/ S9 a: @4 ~; G. H pLight->Diffuse.g += 0.1f;, g6 \' J/ ^) r! ?
pLight->Diffuse.b += 0.1f;
- U7 q. ?' k) b! K9 g* A // oˉè* ??à?
* K7 {. T- `9 ^1 p/ l/ o# \ pLight->Specular.r = 2.0f;
+ B6 E: l/ l/ V% z1 O pLight->Specular.g = 2.0f;% o0 z& a3 \3 X. `4 [) B7 s
pLight->Specular.b = 2.0f;
! [% b$ Q2 \( @- U6 g // á?oˉ $ N. p. `9 g1 f. f( n) i4 A5 x
pLight->Ambient.r *= 0.9f;0 y: p/ A# [4 d/ L0 R: T
pLight->Ambient.g *= 0.9f;1 w5 a# X) T( L4 ~2 x8 D% ^# j6 R
pLight->Ambient.b *= 0.9f;( _/ y5 y# Y) y. s6 _4 t$ p6 m Y
$ @' j; u$ n# Y2 k& }1 |4 O
memcpy( &m_light, pLight, sizeof( m_light ) );
( o7 u' U# D) L5 W2 b 6 s+ k& E1 ^& ^
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
$ Z' B. C1 }5 M' v" G' m5 \- F pLight->Appear( m_pd3dDevice, TRUE );) F/ l6 y+ t9 l# y
) \& W0 j4 R) \, R% l! q7 O
DWORD dwR, dwG, dwB;' ]- L) S8 V- D) P
dwR = (DWORD)( pLight->Ambient.r * 255 );! K+ p: w' L% v0 [4 I! X! x5 O! `
dwG = (DWORD)( pLight->Ambient.g * 255 );0 U b- R% [6 Z7 b+ I0 m
dwB = (DWORD)( pLight->Ambient.b * 255 );
! `( g; p; o9 X* V8 H3 J dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );2 D$ u8 a7 n0 T# t: V+ l! a
}
" X/ |. {% Y8 T" F }) o% Z, i+ K Z7 ^6 s8 x; j
else
2 Q, b7 ~1 h2 c: D' V {
1 S( i, m4 {/ C5 u7 z if( pLight )5 X$ Y. m+ p0 X6 Y4 V
{% O1 O* D8 u; }3 W8 O2 P8 X
! S6 l/ f$ R5 e/ @& x1 r+ ?" a int nHour = 8, nMin = 0;& }# a, E0 E, I9 [( E
#ifdef __CLIENT
( f1 |! E% X o) O( b# q) n // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
5 i. Q: y* u8 f2 N& U, e nHour = g_GameTimer.m_nHour;
9 [- d- Y" o3 r' v# Y% A1 B nMin = g_GameTimer.m_nMin ;( s: S: L$ }1 |' P
#else; ^, T9 P$ A( N7 ~( _
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
# l. x8 U7 G! B if( m_nLightType == 1 )
0 j0 S! O) t8 j* l: l nHour = m_nLightHour;4 L( ~. e; R7 E
#endif# H/ @: C1 d1 ^% k% S+ q
nHour--;3 _* h: R4 ]* q( G, e& I. U: S
if( nHour < 0 ) nHour = 0;
( s b3 [ `. s. }- u if( nHour > 23 ) nHour = 23;* o; Y- r, U2 N) n( n c6 r' K6 P
( Q, {, u! y1 |7 k. N //if( m_bFixedHour )
5 w: ?. S& X* z8 G5 I) f // nHour = m_nFixedHour, nMin = 0;, k- t/ Y3 |5 k' c
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];6 w }0 z0 T6 r9 D3 U& U. R* d
LIGHTCOLOR lightColor = m_k24Light[ nHour ];8 F* G# z+ P: y
5 a {" B6 X p$ y7 ^! I
//m_lightColor = lightColorPrv;# i5 q8 g& s5 ?, i2 |% b$ V9 l
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;% a; x4 q0 R& Z' _
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;! R9 K6 @- R, G& y6 }! d- z
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
) C, W( @! K9 ]0 | lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;7 D1 e: T9 b3 X' M
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
7 z/ Z3 u* ~' d! x9 x% I lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
8 i# u0 R1 j4 b- V1 O3 D" f // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)3 h& Y/ P& v u
/ f/ N! a% ]% `; O7 a. L$ O3 w8 X! D: T
// à??μ oˉè*
. f- M: E2 E D- o, q: O pLight->Diffuse.r = lightColorPrv.r1;" e, {& E+ X0 r3 I! n: m! c
pLight->Diffuse.g = lightColorPrv.g1;
0 p$ W4 ]1 [) p pLight->Diffuse.b = lightColorPrv.b1;) {2 m+ [3 o3 ^5 L w( D; A
// oˉè* ??à? . [" d+ O7 s5 \2 [9 W
pLight->Specular.r = 1.0f;
, e% K) n6 u- Q% S$ t pLight->Specular.g = 1.0f;* v9 m. W$ Y0 x4 z$ g
pLight->Specular.b = 1.0f;
0 d# b. _' m9 b: D // àü?? oˉè*
0 o2 w3 G' e, _! I/ j. x pLight->Ambient.r = lightColorPrv.r2;4 B J* I' P) W# u- ^# a, {2 E
pLight->Ambient.g = lightColorPrv.g2;, U+ g6 U' a' E9 |* ^ t
pLight->Ambient.b = lightColorPrv.b2;
. ^& d* A* L( k, J
, s5 O* l& X6 Z% L+ ^' j5 Q+ c if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
2 n: s: l% p* A {; ]9 z! S1 P6 n6 b& B; q
pLight->Diffuse.r *= 0.6f;
1 c* y6 U m8 Y- O, Z$ P pLight->Diffuse.g *= 0.6f;6 j9 ]+ u. U6 X; N
pLight->Diffuse.b *= 0.6f;
5 ^( n$ {9 `8 k% V' l2 O pLight->Ambient.r *= 0.7f;
2 H: a" U, A) e; o; @8 t- U pLight->Ambient.g *= 0.7f;9 u0 K2 l) ]4 g( O
pLight->Ambient.b *= 0.7f;
& G2 a2 C- J2 `4 g& b }( ~. f% `: w9 l8 |
9 a, R9 Y! l1 }; ^
#if __VER >= 15 // __BS_CHANGING_ENVIR/ k# v! i* }* i t& m
if( g_pPlayer )' s' i& j1 |2 b% g$ Y8 w @
HookUpdateLight( pLight );
, O5 a) C8 {) ]5 Q; n; `#endif8 U$ X# `- M6 A0 p' q
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );$ C7 P# r2 x; j4 o; X4 Z
3 ?1 R/ D, u5 p. D$ v, c#ifdef __YENV
# f3 U" D6 w! W! A pLight->Diffuse.r *= 1.1f;
/ l7 L6 w" @" [( S7 ^* d pLight->Diffuse.g *= 1.1f;" X* J- [. d& B
pLight->Diffuse.b *= 1.1f;. y' e; S0 u. s/ y
// oˉè* ??à? + y/ ]- `, `, b+ k$ i
pLight->Specular.r = 2.0f;# w& U+ D1 v$ m% Z
pLight->Specular.g = 2.0f;2 _9 l% G: a' ]" E/ l5 g0 R
pLight->Specular.b = 2.0f;
. n- L3 K$ s- a // á?oˉ
# }% c/ D, O2 E% g8 ~2 n pLight->Ambient.r *= 1.0f;7 ?0 f2 H& S. j) G: F) g
pLight->Ambient.g *= 1.0f; g" B8 p) {$ K. P* M
pLight->Ambient.b *= 1.0f;! n# A/ u9 o& k, A
#else //__YENV( O/ e3 T- o6 D! e# s8 w
pLight->Diffuse.r *= 1.1f;
9 e4 O( [2 z' m0 U7 i1 b% O/ x pLight->Diffuse.g *= 1.1f;
5 h9 D; C% A) I/ G" D pLight->Diffuse.b *= 1.1f;
( ]6 ?, N% k) \ f% H // oˉè* ??à?
( H% B" P$ w5 u* Q1 c pLight->Specular.r = 2.0f;
* K0 f! Q7 y" C pLight->Specular.g = 2.0f;* O7 E5 o2 Z9 g, h
pLight->Specular.b = 2.0f;
q" X$ W' C5 j8 ^' j5 q // á?oˉ ) ~, u, f4 l4 q, f2 B; z4 y& F
pLight->Ambient.r *= 0.9f;
' _$ i1 E2 T( k pLight->Ambient.g *= 0.9f;
$ Z8 |8 q" \) k1 _. K1 d pLight->Ambient.b *= 0.9f;
' }9 T! ^$ `; q0 a# }) } C#endif //__YENV
& A3 P& {/ p) O/ i! f4 p / s9 U3 l& ^5 x) i4 k M: u3 C6 X
memcpy( &m_light, pLight, sizeof( m_light ) );
1 ^# j6 M. w* F$ j8 q7 i" i3 U, X
8 H5 ?2 J- U, _8 ? D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);7 U6 G- s$ v& O8 I* G9 `
D3DXMATRIX matTemp;
6 F- k7 G9 P j0 n; S6 _7 l" d static const float CONS_VAL = 3.1415926f / 180.f;7 g# O! e5 {. Z, n! E
3 L. u3 i- X& |8 H7 h
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
! F: ]1 R9 v2 @' V) r* i D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
. H8 N# a5 o. p pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); ' u! E( f3 w" v) l
pLight->Appear( m_pd3dDevice, TRUE );
' y# ~* P* s/ p. F! v4 T( v$ W& z+ G9 i. W2 J
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);7 O8 T) ~7 @: ?. U0 S8 B) p
// D3DXVec3Normalize(&(vecSun),&(vecSun));
/ R+ B; ~3 X& s- ? // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 9 {" n. m$ \) l+ v5 J
0 k( ?; X' f1 _3 w" ~ DWORD dwR, dwG, dwB;
1 ?5 L- _' S) \5 t dwR = (DWORD)( pLight->Ambient.r * 255 );; k) x: X& X/ a/ T3 j* w
dwG = (DWORD)( pLight->Ambient.g * 255 );; r. j2 P' u, d
dwB = (DWORD)( pLight->Ambient.b * 255 );) E I H5 m: z; j% n5 p
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 2 g3 B" k6 H5 @" N, k4 y u
}% z; r: }8 i1 M9 E4 [: t9 l# P
}
- d4 m( u8 ] O7 b) `1 L* ~9 o( o' K- A* S
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
3 ~* u' Y: ~* g* m. G% s 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) );
' j0 @5 W, `% g# C7 i3 A2 w: R ::SetLight( bLight );
+ m/ H4 m% T* `
3 T1 H ]4 b* k // ±ao? ?D?í???ó á¤à?
2 }( j5 r& ~( R; h9 S m_pd3dDevice->SetMaterial( &m_baseMaterial );" s7 F0 t6 [; R& u% D! `
1 U+ u2 C. K$ `1 M) u/ x
#endif // not WORLDSERVER
3 k$ u& U' ?/ p7 F! i: c}
7 @% y, O! b' Y# w并更换3 O, k+ ~/ a( k5 c
Code:
3 K8 h2 _3 ^8 A9 Q9 j! A__FLYFF_INITPAGE_EXT
6 ]0 W& m: ~0 Y3 }" j定义
, p0 X" Q1 ?/ F
# S4 ?1 f, G, q. u7 u, Q; ^; _
# `% L# U$ a" O+ ?$ L& v; x: {8 U/ g( s1 i4 k' @* L
1 b" B+ y, b; J) X* _7 g5 ?现在终于删除我的狗屁加速...) N$ V4 v* z/ j0 W
* u2 {1 A; w: J- z2 r* n; P/ i; d1 V& V
: M# R! K' S; T c# g; H$ M- D3 L$ R3 G+ b* l
|
|