|
|
食品车:
2 C3 k3 Q$ d& h0 ]尾翼:, M& u! Z& r: t" h* n4 w
3 ]6 X! V! L# w; b$ w9 l7 {% ^
代码:/ w1 e# k. e3 r+ w# v8 N6 L9 A5 e
CWndAutoFood::CWndAutoFood()
3 J7 R% x2 ~0 i% p0 W' Y8 I{
8 e) a6 W7 m1 b1 W: x# s9 F& X m_pItemElem = NULL;
, s9 ?4 ?! f+ u7 q m_pTexture = NULL;# ?$ Z# W2 V+ p1 F+ V8 f
bStart = FALSE;) y% n' {0 s% @7 [: Y
}3 j( O) K* g( W# |
; k) S# V o% S* f, }2 DCWndAutoFood::~CWndAutoFood()) {! D! l5 v% d5 w m3 H: j" y
{# Y1 g+ e' }0 v! o
AfxMessageBox( "AutoFood ist gestorben " );) Q8 U$ v6 F: z, J8 b7 S1 d/ X: p6 S
}9 x8 N6 h: G: v* y9 _, V: e
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
) v9 b: x3 Y9 ?/ K; X2 P{3 W5 G" I* P3 h2 d$ S$ G' v- ^
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
% j, o% y; R6 @( @% Z2 {' r}
. e: C& n V0 g/ l! P) j
. A) H W5 t' @5 Y0 U% eBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
7 J9 K. X; e+ Q) d. [9 s{0 H, g7 ~! l: H/ @) B I' ?% P
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
3 u4 T9 A q, j" S- S; Z' V* e CRect rect = pWndCtrl->rect;
& H' d' @# N1 d9 Z0 C if( rect && rect.PtInRect( point ) )( ^0 W3 w; B# G
{
w. w% {) C6 |: l$ s* @, s5 N CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );* W- G# L% I( F: B' P9 M: z9 ]( r1 q8 V
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD ). C, T' }5 d% ^6 c
{
" v$ F) {! X9 g, x# g if( m_pItemElem )& s3 J0 Z$ r. `# Y0 c/ Z
{
. |8 r- N8 Q1 O; j m_pItemElem = NULL;; U# \7 `, K$ W7 Y. _
}
" r% }' h4 L& X P' Y m_pItemElem = pItemElem;
! f( q+ e! i% w) ^3 \ m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
, g r. B# `; W }else{
9 S; A# d5 h8 @" P# [( t SetForbid( TRUE );
* K1 I6 M6 u: k7 o) ] }( F( \: x1 t+ K7 _+ m) [
}else{
8 H, ^2 H" Y; D' H$ O SetForbid( TRUE );
% ?' S5 _9 @" A8 F8 v }' D/ w, m' f4 Z$ m: u; Q
return TRUE;7 e$ E- }2 |: S; @+ } S
}
2 O7 h3 B% P% y; u9 i, U- @0 D- w" ?8 e9 a4 l$ x3 K# z3 w1 v
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )& y9 E" \& {, W# y% |+ a* @" B8 {
{
9 d. Q. K! _4 h7 K8 C6 V1 a( v switch( nID )
6 K2 s5 U8 N3 Z% I+ x, M {: m; d4 {/ ]5 G
case WIDC_BUTTON3:2 `) r/ K3 s. o3 b8 I& d
{* f, S" q1 K8 z3 ^# j" b
bStart = TRUE;
+ r9 O5 \' H8 W break;
6 {+ S7 l* t# O$ x r0 Y3 \ }
' [- _0 |; S4 x; n3 k case WIDC_BUTTON4:
3 U/ s. \5 `# G {
0 u: N4 j9 k* f c bStart = FALSE;
3 S# R0 A0 K- T9 f4 r) I& b break;
' Q8 R& r! j% q! z( a: m+ e3 R% d }
{6 `) o& c4 w8 C) o7 |+ P }
+ p7 V# J+ X5 C4 u8 y8 _* _2 X, X3 @ return CWndNeuz::OnChildNotify( message, nID, pLResult );9 ^( j& W1 N' x9 `
}
! ~# H& N2 C3 a/ ^ S% Yvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )& Y& s2 f8 S1 J; o3 U0 C
{( i, u# ^) p& D% Z( R; e: Y4 V
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );! f) `7 c% g1 o: W; q
if( bStart || !m_pItemElem )
) V; l6 U& m+ ]' c {# `1 ?0 V, a' L
pBtn->EnableWindow( FALSE );
3 _# }$ _3 H# g K7 R }else: L8 e9 X( D# T |1 O8 }' w/ X! J
pBtn->EnableWindow( TRUE );9 H" x! H* U [/ a4 c
if( m_pTexture )
, |: [, O' Q0 b& k4 }5 ~! Y n {$ b( v) T z1 L2 U; S) d
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );% q9 Y' W6 K$ l/ Q- c# A
if( wndCtrl && wndCtrl->rect )
7 \0 ~4 G) n8 f' j {
8 ?0 M7 J7 t* I: y8 y/ g' ~: z m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
) S0 w, m" {$ h' u+ C( ]5 y }
* a6 b2 o# h, u2 P }
. L& V, C1 T( L: U" i: b}
# X* a0 W% o3 E+ O& q5 T) w' C$ V5 ^/ ]( ]
0 ?9 C! `. a- y8 X J" LBOOL CWndAutoFood: rocess()
* D# w6 s: o8 t/ J% E{
( y$ ?) G/ z5 N! r2 c4 A2 k8 S0 a if( bStart )
+ p, A- y4 F/ r1 l* \/ n {; l* O: E/ d/ z0 x2 a/ E; Y
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )6 }+ ]: v$ x0 U. u
{( X' i0 m G% D" L$ D6 W
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
* c+ ^0 E& h- y1 I7 f* |. \ g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );1 k! D9 M& s4 }* K# R
}else{) n6 w$ W8 q+ Z) ?& B
bStart = FALSE;( t3 k! P _' B: u
m_pItemElem = NULL;: B9 Y$ x# R. k% j6 t4 G) n' ?
}
. b1 s; b: O/ B% ]% j9 u$ n }7 q$ L- A; ~' \! u) h- L z! ~- ?
return TRUE;
" [# }+ } P* q4 n}
6 v7 M. F+ ?! Z+ n' _9 D/ @ x" }# X( c% L! u4 K8 U
登录视频废话:8 o b% x! w2 Q; Q# C
尾翼:; N* F, v+ S9 k1 v: }9 G
: y( d& A5 G5 M0 m
代码:
- _, Z9 d, x& |0 ]5 F/ @
8 c# l% [) n3 S7 T$ [4 N7 Z" evoid CWorld::SetLight( BOOL bLight )
# @0 d! i7 B; c% ]! Ndurch
7 K5 o8 R6 @; R$ i+ ACode:
/ R+ ~+ o& @) d" {' p$ m' pvoid CWorld::SetLight( BOOL bLight )* L% Y: ~2 k$ Q, {" p
{) w2 D' P1 U7 _ ]$ o
//ACE("SetLight %d \n", bLight);
; I3 B. j# N- j( } 5 c9 u+ K2 l, _+ P
#ifndef __WORLDSERVER
$ b/ }3 } a4 V DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);9 _ r1 j3 t) K. J( z0 b ?
CLight* pLight = NULL;5 @6 w9 J. c2 j: v/ f
% S; A% ?, R* p. O8 x1 D% L* s
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );5 N0 `: q: B9 X0 f" `9 ?9 {: x
; u) }7 o9 m; {7 H Y% B
pLight = GetLight( "direction" );7 a2 H9 b8 ]6 N3 y: r% q! P' S
( Y; t$ w! n- t3 j#if __VER >= 15 // __BS_CHANGING_ENVIR
2 t& W+ O; N; }# e$ `3 N X if( g_pPlayer ){# j$ H% T" b. N, E% l
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );8 t2 P# b/ l4 S* M6 I6 V& ]+ k6 s( h# r
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!5 X2 h4 N8 R0 {8 }% O) S" \
{
+ ]6 ?) X8 F( Z if( pLight )* O2 F! M7 V7 b; Z6 k
{
; x9 G( V9 i+ y pLight->Ambient.r = pInfo->_fAmbient[ 0 ];/ [) k# A7 y) K5 F: \. j7 ^
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
' w/ t& [: A+ |$ X$ w pLight->Ambient.b = pInfo->_fAmbient[ 2 ];- l: L; h+ R/ S: a. U* F7 W
3 K v: w$ L! r1 V3 w pLight->Specular.r = 2.0f;
7 d7 H8 C: d; w3 Q T" S4 O5 h5 Z pLight->Specular.g = 2.0f;
( e; [0 ? ~3 ] X! c. W pLight->Specular.b = 2.0f;) y7 g4 j. h i" e X# p
( c6 y' c. @, G: M& p pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];; w3 K0 k0 r+ ?/ }
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
' r% U( Z5 l" I7 W8 F' B pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
: P9 \. D* |; l6 M0 _ M3 D& X3 Y# x( A B$ P; z
HookUpdateLight( pLight );
* R. z2 c0 E% ]4 Y' v* H8 n! h+ G# a, E( X) M/ t2 T
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );. c. P' m' \ J _3 r
# m/ Y$ y2 V* _- x4 i/ `5 K4 h pLight->Diffuse.r *= 1.2f;" q& T1 q: Q+ j4 x
pLight->Diffuse.g *= 1.2f;
6 s4 s) N2 y# s9 V pLight->Diffuse.b *= 1.2f;$ H4 y6 u# X* r
- t2 P) D. Q# W9 X pLight->Ambient.r *= 0.8f;0 u$ N6 e) H) @
pLight->Ambient.g *= 0.8f;
5 w6 j' ~& F$ y- x% ]+ w7 \ pLight->Ambient.b *= 0.8f;
. ~7 @. \% G" R, P) n0 w c * C2 k) t' n) R/ T a( m) }
memcpy( &m_light, pLight, sizeof( m_light ) );2 {' F9 r- f; S, J3 S# ^
' P9 J6 x. P3 ] D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
2 R( Q# N9 [3 | u! u2 W D3DXVec3Normalize(&(vecSun),&(vecSun));
$ X4 a3 g$ S" L% `+ G# A pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); / r. E! x {( ~! v+ T$ c$ J
pLight->Appear( m_pd3dDevice, TRUE );
& U9 M l' c4 S* s k; M* s: [ # ^& Q& C( a; S3 z( }/ m; v
DWORD dwR, dwG, dwB;
2 M9 r" t% U% c. r8 ?2 n+ F3 k dwR = (DWORD)( pLight->Ambient.r * 255 );
' `' z% ]2 s( @, f dwG = (DWORD)( pLight->Ambient.g * 255 );6 n" Q `( P6 H, _, c f
dwB = (DWORD)( pLight->Ambient.b * 255 );$ n* v$ o. E3 V* [, x) `
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
8 s! B) v6 y3 c5 | }
# m. I* ?2 {; }0 a1 _# p }- T1 V8 `' b3 n3 U6 ?
}
' r& N' q! {9 v4 L) Z' h else
, ?% }1 t1 p/ D& j6 L% n( A8 C; K7 z#endif
7 F/ }3 V4 y( b, w- a( k/ r' O( Y0 d( x3 j6 y% |
if( m_bIsIndoor )
1 o# [9 W. M8 A @ {
, i: n4 }9 c" Z' \. V/ i7 o if( pLight )2 v7 o9 Z( @6 e% K
{
! e( g1 t' F- G) w. r( K* z // à??μ oˉè* % F1 y+ c$ e& Z( m% M _
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;1 k& `! q& n7 X) v5 |& V' U* }
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
7 Q$ Y: j* c* {$ X) A' n" E pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;" m" |: A9 l% e/ c R; j3 d7 z6 E/ D
, G1 Q3 @9 s% }; U
// oˉè* ??à? 6 E- @) A% p7 K7 o# A; i( t
pLight->Specular.r = 1.0f;
7 D s, _0 @2 i2 Y# @( b! l4 X+ [ pLight->Specular.g = 1.0f;/ @- P% e) g& X5 X0 N- t8 _
pLight->Specular.b = 1.0f;
3 R* d) C$ p8 \9 K // àü?? oˉè*
, P% R: W5 ?, _% E pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
0 C2 W7 F3 n& [2 q pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;: P% m) ?3 o0 T4 ]' j9 O0 q
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;3 \8 N# @: Y9 e" L& h( `1 P
, D V6 R: f8 i+ P1 F
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
& }: y3 v; @5 p5 c6 u4 _0 e- u {% R4 s. O* K# D+ x3 K
pLight->Diffuse.r *= 0.6f;
2 P/ {+ C& }1 a9 u, @ pLight->Diffuse.g *= 0.6f;) I* Y, |/ P1 h( C7 \6 p* h4 L9 h
pLight->Diffuse.b *= 0.6f;' O1 p5 S! N3 U- }
pLight->Ambient.r *= 0.7f;
9 g( U. s6 b! d9 X( o pLight->Ambient.g *= 0.7f;1 U7 ^$ |, }" S3 }& N# c* f0 B( I+ |4 ?
pLight->Ambient.b *= 0.7f;
* i" S$ \: U. Q$ H }
/ m( w! G0 ?! P3 |# ^4 S& e4 a9 p, E0 |) F( g( J; t; F6 B
#if __VER >= 15 // __BS_CHANGING_ENVIR
# k" D6 z9 r+ T) z6 B0 Z" e+ N if( g_pPlayer )
2 d5 ?# T2 v( C/ O HookUpdateLight( pLight );
: w1 a) s' r4 u( s3 \#endif5 `0 N) u! g, D9 n% z( ]9 b
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );' R- o1 ]) M) A
A% H& z% @5 g pLight->Diffuse.r += 0.1f;7 J: C4 |% U1 I
pLight->Diffuse.g += 0.1f;
! t- f7 R% |) D; ?3 H2 Y' Q pLight->Diffuse.b += 0.1f;
! R6 p, E) @3 n' P // oˉè* ??à?
5 C! f. R+ N) a; d pLight->Specular.r = 2.0f;+ g7 f3 U% p. c$ `
pLight->Specular.g = 2.0f;2 I# u" M% d* H7 x
pLight->Specular.b = 2.0f;7 z+ f2 I& P% P" [6 K$ Q
// á?oˉ
' {! ^6 N0 P1 D3 X! Y' [; [2 X pLight->Ambient.r *= 0.9f;8 Y; w, t& o3 Z9 Q" B3 I
pLight->Ambient.g *= 0.9f;0 a* {1 l. M D! U
pLight->Ambient.b *= 0.9f;
9 }5 p( {" [/ T) r! c& q4 y4 I0 U/ d" y+ x3 q% C
memcpy( &m_light, pLight, sizeof( m_light ) );
2 z$ _+ N1 {; y! D6 J
/ A$ B$ l5 Z' e* Z) h4 f pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );6 ]( b, l' \* i* ~
pLight->Appear( m_pd3dDevice, TRUE );
9 V0 X: V- a4 i
6 r1 h. L/ p1 F+ K8 o DWORD dwR, dwG, dwB;; v) _ D2 z3 I5 U
dwR = (DWORD)( pLight->Ambient.r * 255 );* E5 r' d% E& k* m
dwG = (DWORD)( pLight->Ambient.g * 255 );
0 m! g% f% L' y; j* M dwB = (DWORD)( pLight->Ambient.b * 255 );
, {9 R6 o5 {/ M! N; L! g. r dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );& K4 @ y: b& X5 X6 f, F& n" M* l
}
( @ g2 B. l/ _! {" ^7 F; N4 F }
' J) G" b6 b, h$ ?: X: M else
6 P+ k5 G( C" r {# W! \7 R+ [8 P. o. t4 K
if( pLight )/ v7 t0 B& `1 X
{5 t$ W9 ]0 T) k; Y
- u( Y& V4 L: f; e8 u int nHour = 8, nMin = 0;3 G }# x4 l! C9 l0 d
#ifdef __CLIENT! G( e/ `* T' G/ U. H1 u
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. # q& J9 z' z8 q9 k% H
nHour = g_GameTimer.m_nHour;
! l) F1 A! T$ ]+ q/ S) j# i2 w nMin = g_GameTimer.m_nMin ;
' P. R3 t( i4 W( Y* e: r7 E #else$ B' b: N" w t/ c8 C
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
- l( o/ A" ? x9 k7 W if( m_nLightType == 1 )' V. ~: S% n/ y2 N2 p
nHour = m_nLightHour;
, e8 U3 Q9 ]! ?& L9 R, C #endif
4 _7 s& B- h' U$ G nHour--; N- Y0 f# s- `! p" X
if( nHour < 0 ) nHour = 0;
1 j+ A' L" R5 x. E6 [; a if( nHour > 23 ) nHour = 23;9 V3 k: N- l! l0 i
) ~5 z4 z W; o //if( m_bFixedHour )
, W% s9 W. A- V& j* p& I' p // nHour = m_nFixedHour, nMin = 0;
7 n. ]9 H, K& `* V LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];: ~3 {0 Q$ [( |8 b6 y
LIGHTCOLOR lightColor = m_k24Light[ nHour ];: M* h& t9 G5 s$ v5 }
9 P! S! R9 V7 [: w \ //m_lightColor = lightColorPrv;) C* A# z+ g/ }/ r& d) }# b J
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
: ]% ^' A; {& w* `0 S3 t9 S6 l+ X lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
; A, e" g* n8 v5 f4 }1 h lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
) x- \/ L- A. b+ V1 m9 J lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
3 a/ R+ k$ V, { lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;' B4 D3 J/ H" Z. t" @, t
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
2 u, U( t6 a, b: Z, l5 W) r3 } // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
! B S" V0 s2 Y/ y; m" H
! D) |' l/ w; A3 _: e% i, U // à??μ oˉè*
- ~5 C6 ~+ z2 Z; e" z x& W pLight->Diffuse.r = lightColorPrv.r1;4 x$ u. P( k# t: i' ?% ?, q9 X
pLight->Diffuse.g = lightColorPrv.g1;+ w+ x# u2 r) p
pLight->Diffuse.b = lightColorPrv.b1;$ t' }' }) @0 K( W8 I
// oˉè* ??à?
! S F' ], l7 Z* W, z# @' ^! } pLight->Specular.r = 1.0f;' ^4 z# S1 o) s/ ]* B& V1 a0 i& ~
pLight->Specular.g = 1.0f;
- e) x0 t; R2 n0 T pLight->Specular.b = 1.0f;
. y( }+ b# s" J1 {; \3 y' y2 K u // àü?? oˉè*
" ?9 {( \' W. b2 g/ Z: K9 N" u- C) F pLight->Ambient.r = lightColorPrv.r2;
* A$ ?9 X/ R& L* H; [ pLight->Ambient.g = lightColorPrv.g2;
0 h h% W a, {( |" w C pLight->Ambient.b = lightColorPrv.b2;
4 q) v1 L, R+ V7 S4 v4 C! E1 t; }
; C+ ?7 n6 C7 G4 V$ ]# s" s if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
9 I, |( Y7 u# p {
1 ^6 w3 P! H( k; w pLight->Diffuse.r *= 0.6f;+ A+ n+ a7 a( j7 }1 y; \; u
pLight->Diffuse.g *= 0.6f;
5 P% r7 O( M2 `8 w/ p6 p1 N- y pLight->Diffuse.b *= 0.6f;# u! }$ u, D8 z9 G# @
pLight->Ambient.r *= 0.7f;4 u- X9 w8 R( L
pLight->Ambient.g *= 0.7f;; n9 K$ n6 W" \* A$ u( Z" }
pLight->Ambient.b *= 0.7f;% S: @, C; ^- _8 I& |: K
}
6 X7 u4 g- r% k4 y; | $ [- A4 G& p) n: A$ O: m
#if __VER >= 15 // __BS_CHANGING_ENVIR1 o: ]- u3 t* i5 `1 Y6 [
if( g_pPlayer )
3 e/ e- u& W- @; G6 h( F HookUpdateLight( pLight ); 3 b( N' m E2 ^! |
#endif9 e3 A1 b/ ^+ P% j, @8 N
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; U' ^: M E/ N/ J# i0 p/ _; l9 v4 J. Z( G
#ifdef __YENV8 e9 K! }# t# i$ A
pLight->Diffuse.r *= 1.1f;, e0 F. J# Q, k" r* ?' O# t
pLight->Diffuse.g *= 1.1f;
) h% a# N0 m4 n pLight->Diffuse.b *= 1.1f;# e5 j$ ?5 _' G- g0 ^
// oˉè* ??à? : z2 k' ~! F7 y& `
pLight->Specular.r = 2.0f;$ x; c8 U3 F e; Q( B$ j
pLight->Specular.g = 2.0f;- G7 E; Z [5 D
pLight->Specular.b = 2.0f;; M; R: S! j6 B8 {8 l
// á?oˉ
: |5 n5 |' |: M- [ pLight->Ambient.r *= 1.0f;
: X! [4 w. H& E0 p) h$ ` pLight->Ambient.g *= 1.0f;0 N" f) q2 o2 @) i
pLight->Ambient.b *= 1.0f;) [3 d7 O1 n/ E7 `
#else //__YENV
' h ^7 F* n$ V2 n5 G T* G pLight->Diffuse.r *= 1.1f;" O0 ~/ o- y3 x7 `
pLight->Diffuse.g *= 1.1f;
$ j- d* C9 b# p" z pLight->Diffuse.b *= 1.1f;
+ ~8 G$ o7 U- p7 u. p // oˉè* ??à? 8 j6 ~6 p5 [4 b4 j0 E. O) l
pLight->Specular.r = 2.0f;% n& f$ U4 |" G" ] t
pLight->Specular.g = 2.0f;
% {8 c6 A' T+ y2 l. A pLight->Specular.b = 2.0f;
_- M/ _) F7 _/ ?: y! y // á?oˉ
; M" G* ^; a% q7 r$ ` pLight->Ambient.r *= 0.9f;
2 O; M8 e4 A* c5 N pLight->Ambient.g *= 0.9f;* K4 I! @" _% f5 e7 T& s! D
pLight->Ambient.b *= 0.9f;$ R5 x% {; \+ u6 b4 a
#endif //__YENV
3 h+ a9 C0 M; I: r
) X2 y, |# L, L memcpy( &m_light, pLight, sizeof( m_light ) );
( k# A5 D( {( j
# S' J! A8 m4 v D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
: d; Y( o- }$ h0 R D3DXMATRIX matTemp;4 A3 A% N9 k0 k% g) z2 E1 i% K
static const float CONS_VAL = 3.1415926f / 180.f;
" y; M" h( b2 \* i" X
# W" p0 m2 m- r9 @; ]9 N j2 I8 g D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);/ w* Q/ Y% K2 ?$ ]* N
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
; s3 l! {, W" G8 u* l8 I pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 8 V$ F; q, f9 u" L* h
pLight->Appear( m_pd3dDevice, TRUE );: i' x5 l% s+ R3 C- @
/ v; i6 I# U( [8 K8 t
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);9 B/ q$ i. Q* A8 m$ w: Z
// D3DXVec3Normalize(&(vecSun),&(vecSun));
1 z# o9 b/ y0 k1 l( R // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 3 n7 r, S$ m0 r1 I- y* B
" f( r( v" {; l9 \; z7 S* i
DWORD dwR, dwG, dwB;' U! h: o/ Z6 w& J' ]0 G3 B
dwR = (DWORD)( pLight->Ambient.r * 255 );
. Z I0 y0 w) K8 N8 M dwG = (DWORD)( pLight->Ambient.g * 255 );7 A9 z. z) t u! Z/ y1 q
dwB = (DWORD)( pLight->Ambient.b * 255 );
4 k* d3 H( z6 a9 @# E+ ~! K) j dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
, c+ r# _/ I% g }5 }4 P3 c- L6 D4 Z' R2 `' ]
}; T2 y2 X" ?3 C/ G7 [6 P8 s
* X7 W( w& j* ~1 u m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
4 L( {( z! P# t5 {: E0 U6 X 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) );
8 u! o$ R, \& F8 T0 X! \9 b ::SetLight( bLight );& n( ^$ k* |, L7 b8 o
6 m( @, P5 i6 F% P( y
// ±ao? ?D?í???ó á¤à?
' ^5 ?1 s) E4 V( O m_pd3dDevice->SetMaterial( &m_baseMaterial );
, c _/ q- G- F
# b0 W% r! @& P* p0 |, T" H#endif // not WORLDSERVER
- H0 j; {9 b1 J& f) V: b6 S3 K}* n) b8 g% U6 k c; n
并更换
# {5 P) k/ I* mCode:5 r8 c3 V2 p: n1 Q' U
__FLYFF_INITPAGE_EXT1 H. F+ k8 r4 y
定义
; `3 |; N* L/ U+ u
9 k) _* K" ~1 `- b7 x2 y; Z/ V% {% K/ h6 g5 W9 W
0 @3 \/ e9 b3 s" S' m
( a* N! \1 v0 c1 o w现在终于删除我的狗屁加速...
5 D4 A6 t4 G" P( m" ]$ P, w, D: H$ a7 H" T
/ ~3 U, j' j) g9 V8 G- ^2 i$ P1 ^4 a* Z$ {8 r8 ^
|
|