|
|
食品车:
2 m2 R) I9 Y! J# k尾翼:
; I+ b9 ]5 i+ ^ ?+ Q% Z' [: e/ U6 W* q& G
代码:
3 j+ e6 v5 p2 pCWndAutoFood::CWndAutoFood()7 x' k. \5 R) q
{* R% e( f( l" T, Q0 V
m_pItemElem = NULL;0 e$ O4 Z$ X4 d' L4 Y6 d0 h6 ^
m_pTexture = NULL;
9 {4 t2 S' d0 a# r bStart = FALSE; t- F, i+ Q# c
}3 C" ]. g, a7 ~9 c+ S B
1 r k4 W3 }8 i( K! oCWndAutoFood::~CWndAutoFood()
# k& d8 R' d+ @# y7 G{
" R3 F8 `7 y8 {' C- _ AfxMessageBox( "AutoFood ist gestorben " );
3 s; c$ Q) G& |$ J" ?! t}4 q5 |6 y- K2 m! k
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
8 u; ^7 P: N! ?% j4 z! }+ ?{
: o. p# U. o% P( [% m0 d' A return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );8 H" w, J- t4 D0 U. R/ K
}
6 A9 j- Y, p! |" G2 G1 {+ J7 M9 S: j2 Q9 ~
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )( l0 |, B. q- S' S4 R; o
{
3 t4 f2 ?2 z1 H" x' h) i LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );, P1 ^6 v: H# \+ v z3 k, A" H
CRect rect = pWndCtrl->rect;. g0 d n/ i' j) O6 s+ _/ S
if( rect && rect.PtInRect( point ) )
5 q5 L3 G* s/ c/ E) a7 F- y {% y2 \7 n* H. l$ X9 j9 }
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );( Y( V# h: ]: t* y' Q$ G; y; P1 M G
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
. ]& ?6 _( `4 i$ D# i+ } {
3 M j$ G: m* j# I; ]! ^: M( g9 d if( m_pItemElem )2 D$ ~1 z4 q1 y1 k+ a# Q* X) b
{/ W a* Z. n0 K' v
m_pItemElem = NULL;* M1 Q" _ Q: q5 B% | k
}
0 w z+ T1 g+ A. W* \: F P m_pItemElem = pItemElem;+ g3 ?6 c6 T* I2 a( f$ q( P
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );! l$ z% @: p6 C. v! _ V% Q/ n; e
}else{
. R# S! f: k0 P2 w. O, b6 v' Q) J8 { SetForbid( TRUE );
2 x4 Y |, ^, ]$ _0 h; k }1 r7 h5 c- C( E! q; _8 q. X& F9 I
}else{* {. T9 b# b7 |7 W4 w
SetForbid( TRUE );
$ q, Z0 P- E- z1 T }
" G& |4 r! @2 w2 r/ ^! X2 Q1 T2 F# [ return TRUE;% X% @; B$ Z/ ~* Z$ {) O
}
* U/ q1 b* z" [, J5 g" `1 ~! r' X( {! Q: e0 p6 _$ L
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
2 v$ m9 u1 J- c- V% r{' U( W0 R ?' ~% z& m' h5 u- G
switch( nID )
/ M6 e$ p5 j# }4 c$ ] {
, }; a6 J7 O5 W* J case WIDC_BUTTON3:
1 P* p: |& ^/ L6 b! K { Y2 H, U* t' `/ B4 Y
bStart = TRUE;6 `" h0 @1 f! A% I
break;* r9 W- X* }& s# @5 P+ ?
}8 w u/ p$ o- L3 T) C
case WIDC_BUTTON4:
' e4 ~2 L8 |9 ] {
7 u* }0 S$ T; r( k7 G/ L bStart = FALSE;
- a2 j' l9 B: H) Y break;
, Y$ s1 U! D( @9 s }6 N L/ Q, [( M9 L/ L
}
2 y/ U) ~" m4 ?0 `- t* n6 M return CWndNeuz::OnChildNotify( message, nID, pLResult );
1 X( v# m ~8 C5 B} & {# T" w$ C% G% i' R) o
void CWndAutoFood::OnDraw( C2DRender* p2DRender )9 H2 u3 x- B; d* w+ ^- P+ w
{
. W4 h4 }5 Q0 w K, { CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );2 w0 }% J4 m' B7 h
if( bStart || !m_pItemElem )
- r$ Y; N, U3 B' K6 x9 t {
5 u# I, n3 K' J( O pBtn->EnableWindow( FALSE );( i5 V( }# h) E2 Z
}else
4 y5 ?& [" d; O pBtn->EnableWindow( TRUE );* j- x1 I/ @4 u" R9 p* ]( w" G& I' x
if( m_pTexture ). Q0 L4 ]" k, C6 [7 k1 u
{) d% {- ~* u: S2 x1 W9 O
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
) D6 a+ \; J3 P% ]' P$ o& B/ D. e if( wndCtrl && wndCtrl->rect )' R2 u7 w# a/ w/ ~, t" c. e3 c) y9 N
{
5 W2 b4 F9 d' y/ ~% b. v$ U8 X m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );/ |! V- ~5 m. H+ f" D6 w3 @5 b
}
! E# D; v' R9 G$ N }
0 [8 H5 e. p2 V% C9 i3 Q}
8 d9 x. G( f% x& B; \
6 {( M% k5 g# fBOOL CWndAutoFood: rocess()
& t6 I: o5 g7 [6 G I{ U& b# b( S; t1 Z
if( bStart )( T6 k5 M$ v- K
{
2 z+ F. b* W/ h- Q if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
9 g7 ^7 a4 { q' f3 h {
, G- d5 W" t, T8 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() )& p3 ?; p' @* ?$ x& x. W
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );0 ~& |4 K6 A) s W
}else{/ V$ g7 K3 a( W) @
bStart = FALSE;
3 ^6 M* P: W$ d) [3 \ m_pItemElem = NULL;: q2 J: H8 A' k& \+ P
}8 E* i7 D2 O# x8 m% V
}! ~/ X# a+ ^8 h* B% o
return TRUE;
% F% C9 u j s}
# i# p8 s; h- T( G+ b. P. Z2 ]9 O' Z' R
登录视频废话:
" c" t! `+ c5 X尾翼:4 f6 t9 W0 M3 n0 u$ H- b
* O$ G+ g) A+ X8 A' h5 C代码:3 H& E$ l* N L1 z
6 O/ H; g' W9 i
void CWorld::SetLight( BOOL bLight )# ?8 [. p- p9 O0 k2 ~# q
durch
3 m9 S2 S' o) u! ^. w. O( E" |Code:( Z5 H" w0 y) c3 o
void CWorld::SetLight( BOOL bLight )
# f% A. C4 I, T2 s- T! W, w{
7 s |; P: [1 G" ~! L6 X //ACE("SetLight %d \n", bLight);) O3 N: m. W7 Z+ ^4 X
8 M0 h$ ~7 D9 A+ v3 K#ifndef __WORLDSERVER 7 P$ A8 x5 ~8 z
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
* n. E8 E. J+ X CLight* pLight = NULL;
2 W& l2 d+ A+ x L1 n' j2 p
5 x" s/ U* s/ Q: a( X. l D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );: ?3 P! Y) X; D9 O! m
; h7 R6 F5 C2 Y, n' W
pLight = GetLight( "direction" ); o! C5 P* ?6 j
; C# ^0 l8 @6 v#if __VER >= 15 // __BS_CHANGING_ENVIR
( g- Z' ? Q0 U( C w if( g_pPlayer ){7 N4 p* d* T8 j3 h m2 w% w
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
9 j4 R/ N* E; i' b; q if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!2 h/ E% {7 a! y2 d5 g7 I
{
. ]1 l( p# l, } if( pLight )- h, }- ]8 E" p8 n% G+ ?
{8 @2 X2 z" t' g
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];& k$ L6 z* l. {# W
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];$ r( r X }% g4 {3 A. R/ [1 J0 d
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
+ { C: _( Y+ @
2 ^: c% W' i6 V pLight->Specular.r = 2.0f;
: t: d0 U; g1 }+ [9 a8 g/ b; S pLight->Specular.g = 2.0f;
' ]" A" l7 D$ ^7 J pLight->Specular.b = 2.0f;
7 R/ ^6 r2 W, ? F8 d / U0 V- f# B* j1 v3 U
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];! Z, ?4 e& F5 A1 j7 X
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
$ X }3 Y- j* O pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
% E$ @. I* C$ A0 ~+ c& k
S. V$ b6 A3 x( y HookUpdateLight( pLight ); 5 ]) W7 D* Y4 @5 x
5 E2 R7 [; v# R3 I+ } memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );' G* [' F& f* U; M7 k
, ~7 h0 L' _; F b6 N) r8 `
pLight->Diffuse.r *= 1.2f;$ p6 L, J& k" H, x+ m
pLight->Diffuse.g *= 1.2f;
, Z/ i; O, y/ d# \1 n+ ] pLight->Diffuse.b *= 1.2f;
8 _" v# X8 o R! v% u8 r6 V& k3 \( q$ f8 Z3 l0 H
pLight->Ambient.r *= 0.8f;9 B& R6 R! h7 ^9 s: v
pLight->Ambient.g *= 0.8f;
, J9 |5 t& g) P# D pLight->Ambient.b *= 0.8f;
4 e5 j4 b% Q/ C% Y9 r' Y5 x# v " P" e% C* n# L f1 I6 D0 W
memcpy( &m_light, pLight, sizeof( m_light ) );; Q2 c/ E7 P7 d: m% y3 V
# ^) U% z5 H! K4 C
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
( F+ P$ [5 }7 Q7 g- ` D3DXVec3Normalize(&(vecSun),&(vecSun)); F$ u- K3 Z( E: X' f$ I1 m' n) C
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 3 Y8 N* G, n. E; n+ R7 i5 t
pLight->Appear( m_pd3dDevice, TRUE );: ^$ U: w* y- I7 B- |
+ u# F( B5 A: A5 R
DWORD dwR, dwG, dwB;5 i9 [1 A; a b$ z
dwR = (DWORD)( pLight->Ambient.r * 255 );
! V$ m% D# ?$ ?2 D+ B( ? dwG = (DWORD)( pLight->Ambient.g * 255 );0 U4 M. [: K! E9 d5 P2 J
dwB = (DWORD)( pLight->Ambient.b * 255 );( [ H% u: ~1 R0 m, u+ p
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
6 M. ?4 `3 y8 f7 u }
2 u# ]0 A% V. {# X }
' [5 b6 @+ V; r' O) [# P }
& f5 H- S$ c# q6 Z else
" O+ r+ w% l& A* g#endif
) e: w% Z' S, z: f( U6 {
. a5 f$ P+ p$ h1 c0 F8 b% Z if( m_bIsIndoor )
/ }( Z( h6 H% i% l { ^* ?6 |. T9 m2 h; W1 x
if( pLight )) q8 D* u7 e7 |
{
" |9 {" q# j; r9 |/ q // à??μ oˉè*
1 x% q l2 E8 ?. n9 h pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;# A& \! c- U# N4 B% ~, K- E
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
1 g. m7 h0 A3 E2 u pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;0 ]6 k; n& ]5 \
6 J2 d0 v0 Q y4 K& N // oˉè* ??à?
7 B0 U# Z3 `0 A) R pLight->Specular.r = 1.0f;
9 Y1 q8 n* ?6 x" ^) M. b3 @1 y pLight->Specular.g = 1.0f; O/ \3 v+ w+ c$ S9 {8 a4 X
pLight->Specular.b = 1.0f;
( ~ T) F' D! W( q6 o+ ^ // àü?? oˉè* ; u0 f# b+ e% m3 Y! _( O( K- V
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;/ F: y) n1 T( f; [+ D; \8 t- v, t
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
- _' t/ f5 ^6 p pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;' n9 i4 S* P9 i. L
% X: g# M& ~8 W) _$ U/ J
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
8 Y+ p6 d( O* ^. I- ^' V {# q: U2 f' l, r8 f8 `1 L
pLight->Diffuse.r *= 0.6f;
0 W1 f6 ]4 a( a4 J4 q$ O9 R pLight->Diffuse.g *= 0.6f;3 y$ _( }# |7 a N& z$ Z* L% ~- v
pLight->Diffuse.b *= 0.6f;7 }; H5 Y' b2 k3 ]; i
pLight->Ambient.r *= 0.7f;
* g( Q7 A, z o$ T/ J+ M* ` pLight->Ambient.g *= 0.7f;
% b" p; U: v" X/ p2 l! b7 ~ pLight->Ambient.b *= 0.7f;$ l5 a" q- V0 [1 _
}) L( n! A: T, d! ?7 A
$ ]% ?3 v4 d! U/ ?2 I3 e7 ^
#if __VER >= 15 // __BS_CHANGING_ENVIR& V: E+ @& J) O* i
if( g_pPlayer )+ f3 u/ Z6 Y# N) E u. H1 t+ B. @
HookUpdateLight( pLight );
7 {" L8 c: Y& i# `#endif/ `/ t( f" s) @2 Q6 F" g/ c4 c+ ~
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );9 F$ R+ C) n: A% f$ _0 X4 w
6 U8 Z4 J u% |3 k' ]% I% Y pLight->Diffuse.r += 0.1f;. \8 V5 P {, x/ i4 q5 q1 S2 [
pLight->Diffuse.g += 0.1f;
' y( }! q6 {5 r" { pLight->Diffuse.b += 0.1f;! P1 J$ p2 E& n
// oˉè* ??à? 5 i! W6 }: [% o5 h @2 q; K
pLight->Specular.r = 2.0f;& [0 C. @4 | Z0 X: E1 ?9 F
pLight->Specular.g = 2.0f;( d8 d% K$ y6 I- }5 h
pLight->Specular.b = 2.0f;9 J" [: y! W+ n$ R
// á?oˉ 9 T) z5 i+ X) Z: g. s3 u3 w
pLight->Ambient.r *= 0.9f;
, p( G2 g4 X! l8 k" K pLight->Ambient.g *= 0.9f; R% p3 V$ x* a5 u4 I
pLight->Ambient.b *= 0.9f;# T5 b+ O' f$ `" Q, P% y' } r
- b/ X( [- O; H; p) ^ memcpy( &m_light, pLight, sizeof( m_light ) );: H: p; r) k% r
* l$ @ ?; e( H
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
}, b0 ~8 [8 `5 k. s pLight->Appear( m_pd3dDevice, TRUE );
4 j1 a( s" K; \9 Y ) V W8 G- w5 a4 ^- F/ Y. ^
DWORD dwR, dwG, dwB;9 }; K5 _. x$ [, Y( ^- F3 D+ V
dwR = (DWORD)( pLight->Ambient.r * 255 );
4 C( s& X$ `3 U( y1 ]; K$ E dwG = (DWORD)( pLight->Ambient.g * 255 );
9 E) J# l o ` dwB = (DWORD)( pLight->Ambient.b * 255 );2 o0 j+ _& m$ k; Y
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );% Q! `1 s5 P# e; {- m, I' i! _3 Y* m
}) k. L* p ?; Z
}
1 j" V& L! y/ G else- q4 z7 O, n+ r% i
{: H# p2 W; o4 W( Y/ ?3 {2 Z/ A
if( pLight )0 X% c6 {* H3 |8 ^, ^% A6 o% n
{4 f3 _' S0 h5 d. ?; a/ e2 C
. a% u9 U) S* `0 \6 z' }( h
int nHour = 8, nMin = 0;
( a3 O7 ?) l9 b3 a5 t #ifdef __CLIENT7 k0 k$ ]8 I' w Q r1 b2 d
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. ! F- }6 T3 `, ]9 c2 V
nHour = g_GameTimer.m_nHour;4 h1 e( W/ o! a& r% z# U
nMin = g_GameTimer.m_nMin ;
4 H+ u1 t* d/ \+ p/ G #else
2 d7 O( o! x. ~, N // o??o??′? ??°£à? m_nLightHour???* °?á???′ù." A- O4 D- h0 S L. u5 N$ W
if( m_nLightType == 1 )! R. {: |7 p4 y o$ L: N W( `2 i
nHour = m_nLightHour;8 P4 l K# ]) H; r) }4 U
#endif
$ ~6 ?7 H0 |" S) L6 { nHour--;
8 Z ^7 n4 A; } if( nHour < 0 ) nHour = 0;+ J8 p* P2 t7 j
if( nHour > 23 ) nHour = 23;
' S! F, |8 E0 d! n' P
: m0 z7 V3 P1 t- p //if( m_bFixedHour )
; y. i0 T- V3 q' I# s // nHour = m_nFixedHour, nMin = 0;
1 ^1 K2 t5 `/ y# W. D/ y# h* f5 U LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
3 a+ [9 ]3 P8 j1 t9 J l9 G* Z0 z LIGHTCOLOR lightColor = m_k24Light[ nHour ];) j' a5 z2 y- G
4 j* }9 w: ^2 K$ |
//m_lightColor = lightColorPrv;/ t7 j' ^$ q6 ^% {
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;. [( x& _2 W: ^8 Q
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;3 L& s% p: W2 s" _2 G
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
5 y' g* Y% @9 g! @' ] lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;; I, {1 n; n1 Z2 D7 ]9 J* c0 q% u
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;( h( A& b& f2 K6 j. v; z# G
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
2 s% N0 w* v/ N% A // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
' w9 x) L0 v: {, K8 c+ Z! e, }+ Q' E1 q' O6 T
// à??μ oˉè*
3 q9 N6 ~. \) s: B3 v pLight->Diffuse.r = lightColorPrv.r1;
2 D& E8 W3 N2 g2 q1 q# F, b( f4 r; y pLight->Diffuse.g = lightColorPrv.g1;
8 V b9 w2 ] G& n pLight->Diffuse.b = lightColorPrv.b1;% K/ }/ X5 A- I6 f. ^1 s2 d" N
// oˉè* ??à?
' ~ {+ B! E1 k1 J2 _6 X# f1 D: P pLight->Specular.r = 1.0f;: J/ Q+ ~% ]0 x1 l& J
pLight->Specular.g = 1.0f;
9 T' O; X. e5 P; S pLight->Specular.b = 1.0f;7 g3 t2 d E7 N+ s/ s$ T3 |" \
// àü?? oˉè*
f/ m- Z* Y# S7 F2 Y5 ?. ^$ k pLight->Ambient.r = lightColorPrv.r2;) J2 F) J+ ^) d( ]
pLight->Ambient.g = lightColorPrv.g2;
! K/ b8 n7 M* O8 f N" x pLight->Ambient.b = lightColorPrv.b2;5 a6 f9 M4 ?0 l
# C4 k& I) [0 K1 V$ H2 c. h if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.6 o- m3 J5 V% P0 h5 S& F/ F, U, R% N
{
! k+ Q Z! Y% T+ N, ]/ M+ z; Q/ F pLight->Diffuse.r *= 0.6f;) W% J/ b# x, i$ I! K3 \! @( J
pLight->Diffuse.g *= 0.6f;4 c* q; f1 ~( v- T z
pLight->Diffuse.b *= 0.6f;0 }- i5 p4 H* ]4 E" ]
pLight->Ambient.r *= 0.7f;0 [$ [( j& W" N+ n9 @" T# r
pLight->Ambient.g *= 0.7f;7 Q4 O) p9 J- I% I
pLight->Ambient.b *= 0.7f;, W! i- X. N- |
}
' Y3 M: K0 w8 h( p6 ?
7 y2 u- ?! J, C6 \: X#if __VER >= 15 // __BS_CHANGING_ENVIR% L( y# n8 Q8 L, L
if( g_pPlayer )
( ]7 @3 j7 A! B( K2 C HookUpdateLight( pLight );
4 X' G. l; g/ n) }5 ?% H# x: U, d& `#endif
1 T* z. h* {4 y3 ^1 U; \ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) O& g! b2 q! F0 ^+ @1 V) E6 K. x7 F' \" W, c+ C
#ifdef __YENV6 h! s6 d8 r7 r1 {% g2 t
pLight->Diffuse.r *= 1.1f;
7 y( ?) P ^# |. c4 K pLight->Diffuse.g *= 1.1f;
, F" T" X" g% K+ F* ^3 ` pLight->Diffuse.b *= 1.1f;, Q+ ]. s; i7 t% d6 l
// oˉè* ??à?
' ?* T! X [" ^/ i0 @% H! b+ ^. o9 J pLight->Specular.r = 2.0f;$ m5 @; F6 t K! Q4 N% h4 U3 x
pLight->Specular.g = 2.0f;
6 Z" W$ G1 t. @4 s pLight->Specular.b = 2.0f;
# @* R% D: s5 k1 Q // á?oˉ
8 c6 O% u. }" M3 n$ @1 x% f* U pLight->Ambient.r *= 1.0f;7 O% z9 \& F# ]+ ]
pLight->Ambient.g *= 1.0f;
* b( K% [( j' v4 m9 U9 I- U pLight->Ambient.b *= 1.0f;
' S0 ~. g- K$ t& W! S: f% G9 o#else //__YENV6 l& s! ?! b& w( a) e8 l
pLight->Diffuse.r *= 1.1f;% l2 j, v5 O n* G p" x' r$ M
pLight->Diffuse.g *= 1.1f;
, Y- r( u9 o4 A. B* U9 f: n. } pLight->Diffuse.b *= 1.1f;
8 h2 {" q$ U8 k" ~' n // oˉè* ??à? 6 ^7 S2 j3 m3 W
pLight->Specular.r = 2.0f;4 c b% |* u. ~8 S7 c5 E1 m
pLight->Specular.g = 2.0f;
3 S% a9 z# W$ U" o/ p pLight->Specular.b = 2.0f;6 q% I& R( f4 b5 Y/ \+ a
// á?oˉ % e4 S. I4 w+ g
pLight->Ambient.r *= 0.9f;1 n: y. A) J" p
pLight->Ambient.g *= 0.9f;
3 a6 ?! B0 Z* S0 G1 N# I pLight->Ambient.b *= 0.9f;; Z) B; d4 G% d/ ^6 Q
#endif //__YENV
" |& r- I1 D. d& q; R5 _/ o3 Q8 R
0 B9 Y6 s/ F2 l6 R) R4 Z memcpy( &m_light, pLight, sizeof( m_light ) );1 C! V' O0 F. G4 y) s3 E
' m) G; a& b3 p5 {# c# V* Y D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
+ t$ u4 W# p, C3 u% j D3DXMATRIX matTemp;
3 t. m9 ]6 r3 E; ]- @ static const float CONS_VAL = 3.1415926f / 180.f;
! X7 z# A! A, A1 d! q' X8 _% C8 w( X* F) s+ Q+ i
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
! q3 \8 v' w) j% S/ M* A m/ W8 R D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);: n' T1 E2 V* H& }' ]+ m
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 2 V, s7 F4 n/ M
pLight->Appear( m_pd3dDevice, TRUE );% a2 L3 @/ V4 x4 {" I
& U- [0 h* `& L3 Z3 z
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
) M* N9 v$ [ H- J8 _6 _ // D3DXVec3Normalize(&(vecSun),&(vecSun));+ p. m: q1 R! i0 R6 ^) q+ R* e
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); + d+ p6 D0 U4 {! M2 x
; ]+ ~# k- u9 r, G6 `/ v# |9 q" H
DWORD dwR, dwG, dwB;; N- T+ F5 ?, m; \% ~; {5 O- z# ^
dwR = (DWORD)( pLight->Ambient.r * 255 );' N" U( J2 v, y9 ^
dwG = (DWORD)( pLight->Ambient.g * 255 );& S$ g. `- `! R( T
dwB = (DWORD)( pLight->Ambient.b * 255 );
( c- p; ~* N$ X dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# D4 r' j) K0 E1 b& k }( L- g1 {6 b) H0 I' f3 T2 y
}( c R8 k3 K/ `' ^1 P# s" r/ S
# @3 w) q& l7 M( X" v; y m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );% Z n. k7 {8 f/ T$ `; x+ H
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) );& U) w( d& h( Z8 _) O; P1 [7 N: c$ @
::SetLight( bLight );5 M. n. Q! U" @2 Q4 j
% \' B: k" |/ F0 y' Z5 Q, F$ q
// ±ao? ?D?í???ó á¤à? 5 k0 U" u/ S* e- P
m_pd3dDevice->SetMaterial( &m_baseMaterial );
1 g! i9 n1 d* g; u; s8 N, Q
3 ~' C9 K. H! A) q#endif // not WORLDSERVER
: C3 R% m% D ^* g' C; Q- U0 e}5 U8 r4 h9 s0 F8 O
并更换
i' x. {: \: Q" o( [ bCode:
! H I9 y; e M/ I* `$ E# u__FLYFF_INITPAGE_EXT6 D( }* z) r7 p% ?2 w
定义
* Q4 h* a9 o+ g6 m8 z( k! X, U. K0 E/ ]" |3 H
* V% A8 t, Z9 C4 F% U- b( r7 y
5 m K6 ~2 x+ g1 s% Q4 ^' M/ T) G
9 n& Q3 {5 M9 i5 K: _& U现在终于删除我的狗屁加速...
) k4 O1 n9 g5 {% a7 K
6 c4 ?* L. R# g% h! T! |* B
1 [, ?: `2 \/ ^5 \) M2 J; B0 Y; H+ t8 L$ `' B/ E: J3 r/ Q! q
|
|