|
|
食品车:
9 F+ u* ^- ?+ L7 x5 y0 {% W, ^尾翼:
; H( N& l% [) B6 r! P0 w g
% I& w; Z& A; U/ e J! N; ]' s8 i0 l" }代码:
( G( c4 w ?' r sCWndAutoFood::CWndAutoFood()
. R# J% _- h2 w# l3 f{ D/ W8 R: l0 A) y
m_pItemElem = NULL;) I+ Z0 k8 Q! o9 m# `
m_pTexture = NULL;
/ z; J K4 _" y0 H4 U bStart = FALSE;
5 ~) m( q. g6 {0 a( s \7 L+ u# ^$ z}7 U: }% ]( s+ U/ {0 G1 ^0 `) l8 i
' ?; L, M. i0 C- a6 mCWndAutoFood::~CWndAutoFood()4 Z4 N s( @ E: z5 Z
{
2 X% A0 u# D" l: q4 Y+ {1 k7 U AfxMessageBox( "AutoFood ist gestorben " );
6 d1 ^" A4 X' w3 `! D G# l}2 L2 y2 d; S& ~1 [; u
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
( U' \1 D1 x. V{
; U0 i& ]$ L' J8 W% h4 H return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );5 H+ I2 H$ ~# p& b+ s
}; Y" T+ M, x+ l5 x( `
' P( N8 Q! L: ABOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )5 P9 d7 M* n+ R* P9 U
{; q7 l. p4 z3 y& D ?9 Q
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
6 }2 Q/ C) k+ A0 X CRect rect = pWndCtrl->rect;
- H+ f/ K- @4 _6 s* s if( rect && rect.PtInRect( point ) )
% T6 f% O5 p# n& I. Q- t {
0 t( p( U _! b# f! A CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );; X+ O, |) G# c- q2 C
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
* V2 w. A- d% `5 A8 i3 _5 _ {0 Q! y5 v( B, M L5 V1 k
if( m_pItemElem )
6 i# G. x" _3 C" u! V: d/ D {5 L: ]% f t) h( d5 m
m_pItemElem = NULL;
3 K" W* c7 g+ [- [* P }
; z6 \ [4 _. w$ l9 v m_pItemElem = pItemElem;/ i. p+ Y' o1 ]+ b7 f
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
- P: I* |# A. L; g, ` }else{6 h# O0 v* \' P
SetForbid( TRUE );
% k1 S! r( v; l }$ N6 ?7 c& h3 v' y/ `! Z
}else{& S; w g8 B, H2 e& c7 {% J
SetForbid( TRUE );
D# H6 o* F8 @- h+ _ k$ c }
9 f; X' D3 j+ R% D/ d- K0 | l return TRUE;4 d5 `7 k' z( p8 q3 K5 F3 @2 U9 Y3 n
}: G# C3 V$ H( I* Y) |
" Q$ y4 M g, |1 X) ~: T. M b
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
. i% O0 Y V4 ?{
& s0 t6 q v/ i" [& B9 x' z9 g9 F% R switch( nID )
& b: \/ G2 ^: e {
; t' b) D- D; ~3 @- G case WIDC_BUTTON3:
+ s% S* {, E# C6 \ {
3 G/ `' I6 U) b$ g bStart = TRUE;! m1 a9 H3 m7 O2 a
break;
! \. G2 s$ Y3 a/ i) j4 H }
* D! c4 p7 ~) o+ R case WIDC_BUTTON4: H5 b+ `+ N$ I& `2 Y0 @
{
0 W+ [/ N. c# S g. H- l bStart = FALSE;
9 B4 Y- d5 [4 s( e7 V P0 O$ Q break;( W7 O: i$ z4 Y
}* m/ ~1 M4 L4 ]; \( s% `4 p* f" g
}
0 _" X: f/ q# \9 Z$ R! Y, g return CWndNeuz::OnChildNotify( message, nID, pLResult );
& i3 r% J) \$ J# A2 n7 q* z} ! i4 ?+ R* ~* F( g& O3 h3 v/ g1 y
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
7 ]4 v+ x( y5 d: a* g2 [( i{
# P7 _% C9 U$ e& [/ F CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
m1 E. r, b K+ X" B3 s! b) C N if( bStart || !m_pItemElem )0 g2 z( s ` {/ }) j, C4 i
{3 k8 ]' ~+ F; u
pBtn->EnableWindow( FALSE );- v+ p0 @- e. Y5 s. ^$ L0 R4 ^7 i
}else
+ |. {: P& i* A6 N4 y8 Q pBtn->EnableWindow( TRUE );! r5 ]5 ^! H) F* u1 e" ^- v' i
if( m_pTexture ). V5 \- I" O7 L
{
! J: Z9 u: `. U8 N. f, u, b# q, F LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
3 Z. W5 ~& j4 H& M, h if( wndCtrl && wndCtrl->rect )
+ y5 y* e) v# o5 _' Q6 M, _6 ~( s {+ U: J# _: ~+ J3 e, u* O7 u
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
6 L& L; @ H1 I) Z; G: ]1 }5 [0 ^ }
* r! A; v4 {, t1 B }
' c. J% T( ]2 q, v* n8 z' S}
% e/ N: \' O+ ?( ~
' }4 F' K8 l3 `8 z; A" L5 @6 MBOOL CWndAutoFood: rocess()
: R: T- f8 L) L0 a2 T' Q' E{+ a2 n. Z7 |' N. j
if( bStart )$ ^2 G1 i7 o J- g
{
Q+ x+ n4 v$ W if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )# O, n( V4 B) @- m
{7 U" @0 e8 r# c" \. P4 s
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )" \. C6 a( t' c ]2 I
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
5 ?% \2 n, `1 n7 ?+ {, M }else{
; @1 Q9 ~+ `; j9 k bStart = FALSE;
5 E$ w% |& q% a; u m_pItemElem = NULL;4 E8 {/ }6 Y$ J' _0 m" L
}
& e" r1 l" Y: K6 M) z3 ~# H& u }# v& |5 A* h. i* ~$ h' a- {, e, |6 d
return TRUE;* q! |, j! y3 S. V% X1 r
}
. M8 P/ @- }' P. H7 P5 n& ~* W" @
1 j3 }. ~' [0 ^3 a8 k8 C. {3 _登录视频废话:: [" ?: r3 x5 c
尾翼:
9 c, J" p/ y2 U u0 w, k( s( u/ s- V, t) W9 z
代码:
0 `" a, z8 T" S$ f" a, p- q; ~- d3 G+ o7 n! I( ]( Z! o
void CWorld::SetLight( BOOL bLight )
* ^3 i( ~" ?; ?$ F6 t) ~7 C: X5 B: Vdurch
6 K" c Y" ]. }0 H) R, ]9 _# cCode:5 l! X% v* q/ X5 h7 {
void CWorld::SetLight( BOOL bLight )" O+ q) Y3 G" Y- c
{
7 K1 ]- S" K9 S4 Y9 X( v. v/ x //ACE("SetLight %d \n", bLight);
' c4 F* e1 N2 l& G- C # u3 k m$ g7 d4 C5 c4 M5 C
#ifndef __WORLDSERVER
9 T8 _1 o# f! Y: [8 v DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
% V# y6 e5 O" F' m CLight* pLight = NULL;# b7 ]* V# t; L9 R+ m
- M/ C5 w- p; |' ]: k0 B* v D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
2 W s1 u( l9 \* }0 v5 H6 ]+ m+ X
& w; e9 W' g( I+ S: K1 t! H pLight = GetLight( "direction" );
3 u% f( Y9 h4 Y! z
, k3 _. A/ c+ |- {4 Y#if __VER >= 15 // __BS_CHANGING_ENVIR
; `2 T) z0 r: K. s. i. i/ S0 H if( g_pPlayer ){7 m8 X& x a0 c, P1 ~
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
0 S8 ^+ @3 w1 X1 [3 v! |( O if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
/ e! {8 |/ Q. k, Q; Z {
& k8 ^/ y1 ^2 B C7 Y if( pLight )
+ p+ F* ~/ f5 u0 D {
2 F1 x6 M3 D! Y5 G% p+ Z# w pLight->Ambient.r = pInfo->_fAmbient[ 0 ];" }" T0 y) P# c) _
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];. G/ V( C l% B8 N- i! o% k
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
+ z. N3 V# y. u& }. `# X
& G8 p ^+ i: _; n9 G" } pLight->Specular.r = 2.0f;) i: N8 f" L2 K" B- z0 A! l1 W5 N
pLight->Specular.g = 2.0f;
3 N F1 |1 g7 E1 v' x pLight->Specular.b = 2.0f;
7 S6 i9 g" y( I8 p / }5 { g* a- h) [2 s
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];7 F6 [& U8 m. O) \' [0 c4 E8 d# |5 H
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];! t9 E' ^% W) m% y& i6 @
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];- |8 T$ o" P/ @3 }3 X' i. L: L! r
/ D T, j! {5 ]: I' {( N, j HookUpdateLight( pLight );
, A* c% t2 T- i. r! ~0 T, ]6 }7 p3 W( A9 J% V1 [" m
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );" G% k7 m( {, |4 t& W; y0 T7 F; u
- k9 n+ [3 I- J; q, ^7 m! X pLight->Diffuse.r *= 1.2f;
0 p/ E0 G' O) T4 D8 P, r pLight->Diffuse.g *= 1.2f;; E' h6 e f0 {0 d
pLight->Diffuse.b *= 1.2f;
+ {6 ^% m* s4 x2 i
0 R" L% I7 P4 v pLight->Ambient.r *= 0.8f;9 c" Q& [: s* C
pLight->Ambient.g *= 0.8f;& {* s( i! j* T+ ^1 V! P% K
pLight->Ambient.b *= 0.8f;
( A/ }, R1 K; f. Q6 V, O 6 s7 E! E2 @3 n T* F6 O8 ?
memcpy( &m_light, pLight, sizeof( m_light ) );
2 @8 f# Y- ?; k. i, Y" Y$ N8 U0 A3 l& }" n2 _/ F) x0 ?
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);9 B3 h1 a% {6 X2 q
D3DXVec3Normalize(&(vecSun),&(vecSun));
! z8 a* `/ p; z3 l2 c3 d- I pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); % X5 P! s3 Q" Z5 {2 d; l6 f
pLight->Appear( m_pd3dDevice, TRUE );
/ X: f. J2 c; n2 D6 a & l- S7 ?/ @9 f1 _3 B* g$ L
DWORD dwR, dwG, dwB;. e& i6 ]4 f/ H0 Y" v
dwR = (DWORD)( pLight->Ambient.r * 255 );
- R0 o" v/ j7 `* a z8 X) ?) h& {. ] dwG = (DWORD)( pLight->Ambient.g * 255 );# t' C/ C5 i1 @6 a6 s: b
dwB = (DWORD)( pLight->Ambient.b * 255 );( R6 F) g3 f6 {, a) E
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );# u9 D3 K! K6 b- w! J1 _
}
" h% ^- ? r8 s$ c }
) o9 \ ^- O* ?4 l# e) x! Y6 F }+ o& s5 \2 L L' J# Y- t
else) ?( T& A( r% Z& w# q4 _
#endif ) i: n8 J; s1 r7 o
3 n3 K( x) c5 i5 G4 P
if( m_bIsIndoor )
7 R6 {0 a5 [/ ?# ?+ J/ i+ l" |& { {
% s4 p' d% M4 U; ~2 ~/ q" L* p( y if( pLight )3 D0 p$ B2 K W5 ^5 L
{
; f) [ \0 r) \0 l // à??μ oˉè* 3 j3 y- }( g4 v$ _( a
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
- o P U. j5 L, K! m1 l) x pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;& a" V* R$ L! |" v
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;( U5 |# V* _% H; U2 |' [8 s/ W
% E& B$ |7 Y( F" F3 I3 { // oˉè* ??à?
5 S8 z. R! k; u pLight->Specular.r = 1.0f;
7 T5 u z# S. k pLight->Specular.g = 1.0f;
" b) B% G! c4 g3 _, d pLight->Specular.b = 1.0f;
. D7 Z2 [6 n% q4 H( G8 ]( } // àü?? oˉè* ) O' H& g3 P( \
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
6 E2 Z8 C" S9 {9 V3 z b pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
7 @+ {7 T% u* B& Q& I; k+ Q' I pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
2 V" Z! y" r9 d/ w1 V% f
3 M3 D# V* d$ Q if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??." A n% d/ E; f- `' ?, Q5 H
{
* E+ o- x; [8 q+ m5 z& I pLight->Diffuse.r *= 0.6f;
5 o! f) g- J4 M- Y0 V/ F! [1 n) s pLight->Diffuse.g *= 0.6f;
" a( |. w/ c* Z7 S' D8 i pLight->Diffuse.b *= 0.6f; z' N2 F5 A3 e9 g8 c' }
pLight->Ambient.r *= 0.7f;# u2 m, a, }1 _( T
pLight->Ambient.g *= 0.7f;6 ^" ?2 P1 y$ J2 j
pLight->Ambient.b *= 0.7f;3 B! n( l/ i2 `, J
}
3 Y* J5 m7 ~8 a, z! h$ w! b9 e* k M' K$ V- y- b/ C `' P" X. S% Z
#if __VER >= 15 // __BS_CHANGING_ENVIR; C! M5 g4 S7 P0 A v
if( g_pPlayer )
f* |$ q4 P' @; E, A3 o: k HookUpdateLight( pLight );
+ p2 I3 l5 R. p; [#endif9 }4 K8 ^% G. G2 N: L* W, ?( p
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 y- i! d' G, x( x6 @" W8 H/ `" p" m! [$ e' @
pLight->Diffuse.r += 0.1f;1 P6 j: @. _0 T
pLight->Diffuse.g += 0.1f;
# n, e9 @9 C/ J) E- b. Q* Q pLight->Diffuse.b += 0.1f;
& t1 H) v% q0 {6 B6 x" x // oˉè* ??à?
( b' @$ P# p0 g4 M& V pLight->Specular.r = 2.0f;& A1 M9 a( N" W& n
pLight->Specular.g = 2.0f;) m' t2 ^1 H' [# m; L% r1 ^
pLight->Specular.b = 2.0f;
" _- u* q( z( z7 ~+ X, O7 J // á?oˉ 8 ?( q. Z, W2 r4 ?3 Q. \5 u
pLight->Ambient.r *= 0.9f;
' i8 G# _' g1 i5 h$ L, W- f% G pLight->Ambient.g *= 0.9f;2 ]* s6 [! X: f9 @4 W
pLight->Ambient.b *= 0.9f;
$ r4 |5 ^7 T9 X6 O9 l6 |7 r) Q$ U6 ^9 u/ T* z6 q+ O! X* e& i
memcpy( &m_light, pLight, sizeof( m_light ) );
3 L" V6 c7 |" ^8 i ( d0 S9 R0 ?" S9 }; _
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );; l5 l% m3 q' i3 I( u& a5 Q, ~
pLight->Appear( m_pd3dDevice, TRUE );
! w- }6 r: U: T( ~! i$ G! k
# J! b" U* @$ c$ ? DWORD dwR, dwG, dwB;# H. C8 y1 G+ S% R+ N+ V* W
dwR = (DWORD)( pLight->Ambient.r * 255 );
; x( p& w/ c7 g/ n dwG = (DWORD)( pLight->Ambient.g * 255 );
: r) m8 u" j/ Q* d dwB = (DWORD)( pLight->Ambient.b * 255 );
2 s- \, m0 o: T7 z! j dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; s& _5 R9 m/ q$ s1 e& Y4 q }
9 z$ G/ d. \0 _! K; K0 a2 H }, h* k1 u# }5 U5 i) u
else' I3 o* n( u! b" P `) K: K
{
~3 ]/ a @( a, l- J if( pLight )
: ^; y: A% D9 f {- d4 R) e8 t6 A8 m! h' [+ K; I
+ s' u8 b" C8 w* _ int nHour = 8, nMin = 0;
) d) C: m/ E1 ~& \, q #ifdef __CLIENT
( l8 g) }$ w& s! E% F3 B // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
* O' ]4 n' M0 f5 B0 s nHour = g_GameTimer.m_nHour;
U6 U9 u7 H$ ]/ K( F nMin = g_GameTimer.m_nMin ;# [+ C+ D9 @7 R' Z
#else
{+ v0 K3 Y7 ^! e2 Z // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
g" ^7 B2 s/ i) @" t) t if( m_nLightType == 1 )
- E v8 N1 m7 ~* j# L8 N0 \ nHour = m_nLightHour;
- h' w4 C. c) A8 p$ n #endif
4 j- ]# A Z: F) ?1 s- L# o: z, s* t3 d7 b nHour--;# r4 R% |/ D" \: Y, s
if( nHour < 0 ) nHour = 0;
# |1 e" e7 i5 Y+ E: \& [. }7 u if( nHour > 23 ) nHour = 23;$ @* F, N2 T; I7 h0 U
0 h/ u) U+ m# ?5 [1 J4 X
//if( m_bFixedHour )
6 {, w) {, Y! p5 A5 E' O% Z2 A. b // nHour = m_nFixedHour, nMin = 0;
+ H! Z }: A; i* C8 _7 D LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
4 t6 Z9 a4 y0 T |! ` LIGHTCOLOR lightColor = m_k24Light[ nHour ];
" T. w5 U5 h9 b: y% h* \7 f+ q b# l+ A2 e& ~7 R
//m_lightColor = lightColorPrv;
: ~% C: C, J+ O lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
, T$ |- F( T O* O. b) V lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
! v ?$ n7 Q1 U L lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60; k- S1 V7 _8 J) ]; O
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
1 O; X- W4 ]/ }0 j lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
) d4 `4 n* z4 I4 x1 B; P+ v% u lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
) N* q2 a# q3 @ // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
6 B4 p# U0 a3 [* r7 s
/ X$ z+ k7 ]! ~: S# Q/ z // à??μ oˉè* 5 |% H p+ L0 w( K* C/ p! n3 K
pLight->Diffuse.r = lightColorPrv.r1;
. q) A0 x- M8 Q* H+ v pLight->Diffuse.g = lightColorPrv.g1;. H) s" [( |4 r; S+ N$ J" [
pLight->Diffuse.b = lightColorPrv.b1;% l$ l$ u2 u5 a( `: G# ~
// oˉè* ??à?
2 c$ Y# y7 _5 g% f& G c pLight->Specular.r = 1.0f;; Z- S* F+ a) a6 {9 v
pLight->Specular.g = 1.0f;3 o0 _- P" R G' m5 M
pLight->Specular.b = 1.0f;
3 p: e: Y2 v; _: k // àü?? oˉè*
N1 |1 l0 e% ]" ~ pLight->Ambient.r = lightColorPrv.r2;) {( Q9 e$ n) t! s
pLight->Ambient.g = lightColorPrv.g2;5 w c( c m0 Y
pLight->Ambient.b = lightColorPrv.b2;
6 Q% |7 @: W2 E" ^& i" j5 S
3 d! q5 ^7 o+ ?1 o. k4 D! d: Y if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.& a* R5 q& L) j; O& X5 E
{% q: I; S' }3 N' ?3 g0 b+ E3 t
pLight->Diffuse.r *= 0.6f;) ~& M/ O( m) q& L2 P0 z
pLight->Diffuse.g *= 0.6f;
2 ~/ {! @$ [" ~ pLight->Diffuse.b *= 0.6f;: B3 G4 p* y# b
pLight->Ambient.r *= 0.7f;
* z( d) @, A$ R- j3 q# G% p Z pLight->Ambient.g *= 0.7f;( n3 s$ U+ ^! M# `$ N' j
pLight->Ambient.b *= 0.7f;
. s3 G7 _0 |0 Q, D, Y* k }* ~( r: q& Y0 T: X3 [/ ]
3 L3 z' _* A, E* z' [
#if __VER >= 15 // __BS_CHANGING_ENVIR
9 C- K9 h6 J1 N2 c6 G( T; x if( g_pPlayer )* d) r' ^4 T; q) Q7 \( F
HookUpdateLight( pLight ); - H' A. C7 o* C) L& P9 Q
#endif
4 Y, o+ V3 K9 ?% [( U& w memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& c& S5 o2 ]# m1 `' j& i+ e. J) A/ Y. S. k$ F) J
#ifdef __YENV
5 m: S5 t; w+ g6 h8 M' C1 V pLight->Diffuse.r *= 1.1f;
8 d! |$ n. S8 p9 q+ Z6 G pLight->Diffuse.g *= 1.1f;0 U3 H F6 }7 N7 W/ P/ a$ u5 ~ T# C
pLight->Diffuse.b *= 1.1f;) U) o3 V: k; n! l# G
// oˉè* ??à?
7 k. \8 f8 f9 r! d( @ pLight->Specular.r = 2.0f;
% C5 v: U$ E" h/ n* \# [" s pLight->Specular.g = 2.0f;) P, r3 C( n" g, g; g+ K
pLight->Specular.b = 2.0f;$ [' ]) I G' {* T) K( {4 O
// á?oˉ ( M2 o4 k, U. Z1 C
pLight->Ambient.r *= 1.0f;* X( F" F0 m' T% L: G
pLight->Ambient.g *= 1.0f;" M ?5 R0 Z( H$ P3 }/ j* `! i
pLight->Ambient.b *= 1.0f;
/ N% [. Z! I3 \2 G# o+ H0 ~! S#else //__YENV2 g& W8 g8 D$ c; h- v4 Y
pLight->Diffuse.r *= 1.1f;5 i( h7 U. M6 D8 ?) y
pLight->Diffuse.g *= 1.1f;
& \+ g$ [8 I; j9 v- e* X$ } pLight->Diffuse.b *= 1.1f;# } c, r. j; v5 h* M" ]
// oˉè* ??à?
f$ V" Y% G9 B% n. D( Z pLight->Specular.r = 2.0f;
$ z0 z; {' S9 k S( A) I pLight->Specular.g = 2.0f;! D1 I9 Q( ^4 e8 F3 m+ O* q& c6 G
pLight->Specular.b = 2.0f;
# g, | ~6 ~" k# R; Z( b/ m // á?oˉ
1 g9 r2 x4 m* k( w2 e; b! V pLight->Ambient.r *= 0.9f;
$ Y8 x+ d5 ?' n/ ?) d5 F/ v& v pLight->Ambient.g *= 0.9f;
0 Y- ]4 w4 `0 s& n0 I/ _3 z0 j& y pLight->Ambient.b *= 0.9f;
5 H0 W8 A' E# r; x7 R$ W4 G#endif //__YENV , a* r$ u# m- M( O2 Q; _
2 g7 i3 i; r6 r a, v( M
memcpy( &m_light, pLight, sizeof( m_light ) );
. D. r+ D* ^8 t9 b
# H) J: Z0 {3 l9 D D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
) l3 C" P3 G3 f0 u D3DXMATRIX matTemp;
4 b2 u5 l' G+ b6 o2 x static const float CONS_VAL = 3.1415926f / 180.f;
7 i! j5 l) K+ u& K% J
2 v: o1 {+ `) c, E |* P4 G D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
( C3 f5 y2 z; I D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
7 f$ P* X+ L3 b* b pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); ) N* T4 y6 u$ R. k
pLight->Appear( m_pd3dDevice, TRUE );
# m- k# Z3 R; m8 r: k- V1 G1 y2 z" Z* l
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
; Y+ ~( z. R; [- _9 [% @ // D3DXVec3Normalize(&(vecSun),&(vecSun));
1 J7 o x: i" Z2 e# u7 L8 q2 t! ~ // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); # D3 E' Y( n0 x$ M% y+ D
7 l" R) K+ @( T3 _$ a$ a
DWORD dwR, dwG, dwB;
7 a, W/ P+ d0 u/ M: M dwR = (DWORD)( pLight->Ambient.r * 255 );
+ Z4 b, X& m3 M! V) I% z! K# o dwG = (DWORD)( pLight->Ambient.g * 255 );
5 D& L3 H1 y) j. m6 y3 C) r dwB = (DWORD)( pLight->Ambient.b * 255 );
7 b7 [) I) d8 C. [) S" S dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 9 t. I8 s# f. U
}! Q( }/ b% v5 N( y1 R
}
" s. f" K3 e% [& H/ k' {& v4 v1 {6 G4 D9 `5 Z3 T
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );' E1 I4 N7 j( I5 {
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) );
$ D; U- W# Z6 ^( Y9 }3 a9 ] ::SetLight( bLight );
5 O- @ d+ b8 G$ K9 [$ R: c0 G4 J( R" v5 v% \
// ±ao? ?D?í???ó á¤à? ; D! d6 l/ X: u! F
m_pd3dDevice->SetMaterial( &m_baseMaterial );
. H# \; N6 y( H9 A5 v
% I+ M2 Z! j; x* K1 F. g& O#endif // not WORLDSERVER, c6 h) T. T) v; O
}6 Q+ s# ~5 }8 Z& m/ z
并更换
) a( n8 P+ g* y- c5 HCode:& d# e. C( g/ g2 n( A
__FLYFF_INITPAGE_EXT( T5 E) X, h( a8 [
定义$ }6 F; e) ]. u+ v+ d$ Y& U7 V! D' _9 h
$ z) g8 ~# H: p+ I. e. D2 r3 }0 u, p$ i( u5 {. i7 ~, ^9 j/ v: W
, O" h" e* v" h j& @/ d# T
$ `1 {, H2 A2 w1 E现在终于删除我的狗屁加速...
6 i! P! s' Z( N1 i$ o. ~1 ], f' s, n: z D2 F' b
7 }) ?/ c. E4 \
& q( j, N/ ^8 N# K; A- K& \3 k |
|