|
|
食品车: {0 L1 y! R8 {2 h0 v5 I( F* q
尾翼:
& v) \ ~5 ~4 C: b- T" S
) F0 J0 ?0 f5 E$ ~' l代码:& H1 F2 w7 `' \2 w
CWndAutoFood::CWndAutoFood()1 {! i3 d% v# j$ f5 h% c9 r1 n
{
~0 h& H( I c# i% V+ P1 Y& P m_pItemElem = NULL;
3 M# Q z: x' U' ~. f m_pTexture = NULL;- G( M: ]8 i& \/ u0 _ _
bStart = FALSE;
2 R9 o- Z8 a7 T5 N; E* Y; I' @% m3 F}
) h. p8 L1 X6 A$ H5 F9 c
& o7 }& `1 ?; p t0 t/ Q6 BCWndAutoFood::~CWndAutoFood()
! i) Y0 o9 l- z8 o+ w/ S{
7 D" l6 e0 `. ?+ s AfxMessageBox( "AutoFood ist gestorben " );
# g& j% X ^$ z$ |3 w}
0 U& B/ M- x% e$ ?; ~, |BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType ): i% R- S8 d3 ~& h& j( B1 ?; }5 ]7 u+ b
{) y2 B$ ]* B, X1 l. R. d- |
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );1 s8 q O2 J! [+ \5 C- {8 m& v X1 L
}) j j/ ]# d" `# N( Q" w* O7 `4 o
% e3 C2 s# O# T/ A ~, P
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
$ O8 ~3 d& W* L8 b& `5 T{
& O* K7 |1 [8 N4 \ LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
0 J2 D* l! {! y CRect rect = pWndCtrl->rect;
- D" g/ C) ?- m7 Q, U3 R. l- J8 S, N if( rect && rect.PtInRect( point ) )8 a7 G$ N) k. w
{$ M6 @& i! X6 I8 l( l$ I: Y/ n6 V
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );6 R# H6 m% n- b
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
) ^! H1 f& y7 F$ a. b {2 C; ]0 S& C* Y
if( m_pItemElem )
[/ }% K c9 |2 s' N$ ? {
8 _! g7 p( q2 q( }! u8 B, E; n m_pItemElem = NULL;9 l$ m; m! T8 K H" X8 m' Z, E( X
}* E5 {& Y* w: \4 T* t( {
m_pItemElem = pItemElem;$ G5 c" M0 w: n6 I: a+ B
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
5 t) w( U+ P' G" O2 R5 v) ]: K) x }else{
. Y$ `* v. d) a/ d* O SetForbid( TRUE );
( M3 J7 U/ J9 f2 d }
; g# h+ m1 [8 t* Q }else{/ [, B0 c" k; U' i
SetForbid( TRUE );
9 q" R- W, ~. S% m. ~( i }
& P5 n( u) g5 K* Y4 T+ G! r" } return TRUE;# p) ^" X9 ]2 U/ j# s
}
9 \9 x3 Q! p) Y/ C* I$ D" l
. K" |6 Q8 a4 S, ~. b3 yBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )3 G5 M! B* N9 Y2 C( C/ B
{8 g; B7 b( F8 k5 \) Q3 {$ Y$ F" U7 Q
switch( nID )' `0 d0 C; O6 v8 T8 }( d
{! I7 F% g2 K8 Z
case WIDC_BUTTON3:
' m+ n9 _3 \4 S$ i2 G2 \, ?4 q6 M2 w6 H {
: s N% b% X& J+ f' ^ bStart = TRUE;
+ L: g2 n) F( D5 D break;
) C# T G P( O$ T6 K& U& N: v2 i }6 n; R2 `. q2 i. H
case WIDC_BUTTON4:4 z+ |& I* ~! c
{0 W7 z( A& \/ Q6 B( j3 E+ r9 H
bStart = FALSE;
0 J/ j2 } J/ a( z v# [& z break;
6 J, q! b5 R W& q2 ?3 Q2 i0 u0 ^ }0 w& G( v8 o# C: \3 v/ y; S7 O& Z
}+ n% d2 x/ o/ z/ O8 K0 v
return CWndNeuz::OnChildNotify( message, nID, pLResult );
) d! J3 j9 S: x. W, G2 t}
( ~; }2 r6 @! V( i' I7 uvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
! i/ c% q z5 C9 W; g{+ m& E( X/ R; c i) a3 J
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );: Y# k3 q1 l/ `# _, V* ^$ f3 @
if( bStart || !m_pItemElem )* J6 |+ U" \$ ?
{; h! n9 `$ l7 Y2 U
pBtn->EnableWindow( FALSE );
, M( A5 U4 ^6 B" P( Z6 g& v( O7 k }else
8 ~- V0 R* s1 |% Y! m pBtn->EnableWindow( TRUE );
2 T5 j8 F- x- f4 ?% Q if( m_pTexture )
3 D& z( v( ]9 `; p3 K8 n {1 Q: r* Q% K' m" h" r+ H4 ]
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );/ A4 K5 ]; f+ D% K
if( wndCtrl && wndCtrl->rect )
- O$ |! l" p; ^. |1 d, Y9 d {
' N- c& _; N E: U1 a R m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );. F/ _* Z8 X7 r. m' L) N
}; B1 ?7 g7 w; @
}$ R) m$ W; d6 {7 n. ~) J0 W
}# k% N. l% C& N$ ]+ m4 \0 D( B+ y
; t. H# z- ~" ^' `5 UBOOL CWndAutoFood: rocess()+ \/ l& @; j* p/ y# E$ C, O$ G
{% M( l9 T: ]# p
if( bStart )$ o% q0 M4 o) A) {! Y7 e {
{
: v, Z4 P+ J- i* E# M if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )- l, z+ \/ ?7 ]5 h5 e3 n! L
{
! J% n' b; ?8 v" g if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
# T& ?6 ^- M6 V, z+ z g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );, p) E- N' v9 o. Z
}else{
$ ^0 u* Q3 D2 y) K0 G. Q. W bStart = FALSE;
" e0 ] n4 t. g6 l m_pItemElem = NULL;
! B2 Y8 ~+ A( W( Q$ z }- e$ b5 g, K3 g2 [1 c% {
}
' t, \$ ] ^. c8 ` return TRUE;; D# [9 j. ]8 U8 c3 v! I. H
}
- [( h9 k+ r: B9 m7 z
5 }5 O" @& o( ~4 m/ h) P( \登录视频废话:
0 B7 S7 [2 ^3 l! Q& s. @0 R7 b尾翼:" X' @5 I J5 k% h# O9 ?/ l
' n3 R" Y" U- x e P
代码:6 r0 M9 u+ M$ e: ~1 M- `% q
0 g3 M9 N, W7 Y9 U/ N, nvoid CWorld::SetLight( BOOL bLight )
+ W7 k1 k3 {% w4 N1 Wdurch
; R' {5 @4 ~$ |4 O; y' i, \ d/ `Code:0 T$ y+ M+ j( F6 C( Z
void CWorld::SetLight( BOOL bLight )4 z" T. `" Z* s. a2 s- x! X
{9 A: X) [. }9 s5 J
//ACE("SetLight %d \n", bLight);
- ~( ~0 I6 ^4 H: O& J
5 l% {! U* y" O) `# y" w#ifndef __WORLDSERVER # [4 K5 `) X* m3 d4 O7 g3 Y
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);/ O: M# e# U' W/ v
CLight* pLight = NULL;
" k; X, p; q3 v6 h, R+ ], m* |3 v- W' R3 R: q
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );: I( U5 p4 v/ k6 a
. F. w9 o8 b/ m6 [ |0 Z" `4 }6 K pLight = GetLight( "direction" );
8 Q3 j+ K9 Q( ?6 x& O5 |. l% {6 d4 v) d6 g) R% e; A$ L% Z
#if __VER >= 15 // __BS_CHANGING_ENVIR
* D# P6 f4 P3 N3 p; G6 ^ if( g_pPlayer ){8 r6 V9 ]. ^7 Q- v% T0 f. l
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
7 K9 z% r7 O7 D9 i if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!5 n1 [% a+ B1 `) Z$ T; l) A9 n$ B* [
{
( Z& E* r1 E; ~2 k+ u if( pLight )
" M6 u6 T3 }6 L& i/ s/ b+ A% ?) k {
. }- t* ~% v( U: \ pLight->Ambient.r = pInfo->_fAmbient[ 0 ];# o2 c, t' W% f0 v( Z) o8 c
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];' j& l0 w% Y# a5 F' F4 f2 ^
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];2 [; i! o2 h2 q
\( ?9 W4 S, O( G
pLight->Specular.r = 2.0f;
" u+ Q2 R, k' p+ ? pLight->Specular.g = 2.0f;
+ v, i+ Y0 I* R pLight->Specular.b = 2.0f;
8 m4 Z6 A- E7 h! V4 p( W % r* w% s6 W: W g S' K1 L8 r$ }
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];) q. f+ ~4 c# N, ^( x( S! m" n5 O
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
7 A3 v) V8 s9 P$ J2 } pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];% D) ~* K, X: n- p6 [& t
. G: Y+ J+ E2 ^; i6 k
HookUpdateLight( pLight ); # h, a$ |% Q% G
- C" w' c! _5 b9 N1 }1 h memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );2 Q: s" q. y$ ?' I& [, |- S7 v
# S/ N5 p) `; L, z9 s4 o
pLight->Diffuse.r *= 1.2f;$ c5 @3 ?3 s1 C% D' F( @
pLight->Diffuse.g *= 1.2f;
+ J$ Q5 R M- L! s; c pLight->Diffuse.b *= 1.2f;& n; A! i; g9 I8 g1 A. T0 R5 R M
. E' }* m" a. [- M pLight->Ambient.r *= 0.8f;' H( j' w# r- z8 s+ A
pLight->Ambient.g *= 0.8f;: O0 L, A( z0 }# g( E
pLight->Ambient.b *= 0.8f;+ V/ S3 a( F4 ^/ j2 m* g1 l
4 X$ f9 l8 a- M+ L; S
memcpy( &m_light, pLight, sizeof( m_light ) );& ?6 K! X0 Q8 z _# r1 W6 }: N
/ N. s5 X4 n9 f7 q; S* m9 G7 d' Z1 |
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);) J; ~9 V6 d' e/ L+ x' k: D
D3DXVec3Normalize(&(vecSun),&(vecSun));
" N3 J B& P9 h3 J, H- Z pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
( a: S, v! z5 _' V. ~4 v pLight->Appear( m_pd3dDevice, TRUE );+ e4 U- M9 M" D. k2 L+ \4 M* V i6 Q
4 H( C0 u- K1 d3 `0 m' W
DWORD dwR, dwG, dwB;. D! [- i1 [) a+ l( _2 y7 a
dwR = (DWORD)( pLight->Ambient.r * 255 );8 c* D: u- d* w( N
dwG = (DWORD)( pLight->Ambient.g * 255 );
6 F5 K9 y7 W6 K/ } dwB = (DWORD)( pLight->Ambient.b * 255 );- V+ r) U8 o* z3 s
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );( k( ]' p% M9 t% }: I% O# d
}
0 ?4 X/ o8 l+ T4 H4 n8 x ` }
- ` N5 m/ _. q+ v }
( |. \# x, u n& Y2 R else' D9 p/ m9 B6 k% f+ J
#endif
" U7 q3 m6 z& `9 z" f; u
( H+ L: j W6 f2 t if( m_bIsIndoor )
- g G/ U1 V0 B% l* e. p {4 m, }0 x3 C* ~0 \ q( m
if( pLight )
: I6 N7 L/ y2 J6 N0 [) o1 g# W$ V { ( P8 T6 ^& ]" Z
// à??μ oˉè* ( U! l$ e5 p, E0 C E6 r% G! j# |# ~
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
3 A6 f- `) G$ ~% L) x pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;, ]( e4 o4 r* u' S' Q
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;( _, v, i# p4 S, c$ Q6 S! j
8 S. D5 [3 [) N" c& f
// oˉè* ??à?
; {* C, w# ~+ l6 L4 v `* } pLight->Specular.r = 1.0f;( A/ M' A% Z" Z: J- R; a% E
pLight->Specular.g = 1.0f;
K4 m4 ^/ w0 M7 j' S9 n1 I pLight->Specular.b = 1.0f;6 |' R1 `3 k$ p( s; J I+ A
// àü?? oˉè* * y7 p( z2 g9 L0 n# U/ I: B$ u
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;0 i, f% z- W7 R$ R) U+ x& T
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f; U! m% U$ F8 X u4 J5 y( Z) _
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;& F* T0 j1 m) ^. b
+ A" h7 ~5 W# T9 {- U* f ?
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
6 e2 T0 C- E! B# l, L* T {) ^# _% B# l: Q( O; h
pLight->Diffuse.r *= 0.6f;
9 @: ~6 O& c/ l# _: D, U( Z C pLight->Diffuse.g *= 0.6f;
0 H r7 o) ]7 h8 y: w, l pLight->Diffuse.b *= 0.6f;; E6 a' ?5 i7 d& s
pLight->Ambient.r *= 0.7f;6 G; p) k& |8 v; o- ^' c$ E$ Q
pLight->Ambient.g *= 0.7f;' ]; n+ Z3 \. ]. ~7 {1 l$ m
pLight->Ambient.b *= 0.7f;& B0 h5 J5 }7 F" u
}7 P1 X& D/ \4 ~
' }) g* i4 v: B#if __VER >= 15 // __BS_CHANGING_ENVIR6 w7 n: u6 C8 Y6 I9 u* v2 f. B
if( g_pPlayer )
' K1 y5 B/ n7 w8 y& B* x$ i, p HookUpdateLight( pLight );
8 e8 R% B# `1 j: y# k' r% K& A#endif
! \6 }$ u, H( a0 R3 W! w memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 ^# w& c2 R: _) I2 f6 c* j
* y6 z% i8 F8 `) R7 B pLight->Diffuse.r += 0.1f;
& r; Q2 k* z, g% b pLight->Diffuse.g += 0.1f;7 {8 h! H0 C1 e' k' E/ \3 x% Z
pLight->Diffuse.b += 0.1f;
/ U3 a& y0 J! h. |" S1 ] // oˉè* ??à?
; t! {' Q% {. B! M2 E1 v pLight->Specular.r = 2.0f;
5 _, x, _6 c3 ] pLight->Specular.g = 2.0f;
4 u( V" b5 X1 j" C; x pLight->Specular.b = 2.0f;
4 M5 X& }0 b9 E- H9 g5 _ // á?oˉ 3 B( `+ z/ {: S; A+ n
pLight->Ambient.r *= 0.9f;4 [! Z& q3 u4 @( g
pLight->Ambient.g *= 0.9f;5 A, [4 Q& ~/ B
pLight->Ambient.b *= 0.9f;
4 ~+ e( h b3 B" l+ u$ U
# N' y8 i1 l) T& y& p1 h8 o" O* \3 z memcpy( &m_light, pLight, sizeof( m_light ) );
! E/ F* _, S+ V% j" }+ I
! a0 L& |7 ^+ p. M pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );& e" \: ~6 u% E! \0 C
pLight->Appear( m_pd3dDevice, TRUE );6 i! P( X7 ?9 s5 [# A* q7 y9 G
) }9 h& }, S0 c9 V. j2 n DWORD dwR, dwG, dwB;* p, \( g& I# n- X
dwR = (DWORD)( pLight->Ambient.r * 255 );5 I" I) C8 \1 T" B9 I i0 P/ H
dwG = (DWORD)( pLight->Ambient.g * 255 );
" c4 [/ L! O6 _/ T3 g6 o* @" x dwB = (DWORD)( pLight->Ambient.b * 255 ); k+ i4 O, y. B" [( d0 s8 w$ Y
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
, O. U9 D" A) a% J2 D }3 I" K1 J" X0 w% l
}+ Y, j1 M( y4 r9 |2 H/ [
else
3 B( J* V( w5 F" j {) N9 ~ O/ b- @3 C ~4 n; t# r
if( pLight )) y) E; V9 H- ^
{' X) t1 U! Q6 D; ]" X4 z
' V, T* V o( h
int nHour = 8, nMin = 0;
. [' R- {) K' ]2 m7 K5 [ #ifdef __CLIENT$ @+ ?( p# N* r& \; C
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. ( y' _( J0 O1 r2 @, o
nHour = g_GameTimer.m_nHour;
+ ]5 n% I9 p* n nMin = g_GameTimer.m_nMin ;1 g) l/ R, X' a
#else+ x3 F; o9 }. S; ?( k8 {+ {. a
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.8 g. K Z* Z- A$ i+ J* L/ M& Z+ V
if( m_nLightType == 1 )
5 B9 N. ?# S& X9 }- ?6 ^" `' { nHour = m_nLightHour;
/ {& J% ?: E$ n3 C& b #endif9 X3 z7 z7 N0 m W, D" a% B
nHour--;
6 |" ]" n" J3 I' h3 I if( nHour < 0 ) nHour = 0;( r2 t* _1 n7 ~" a
if( nHour > 23 ) nHour = 23;
; R1 V3 ]. s" l! g- H! d
4 e2 W4 t& p1 L3 u* I //if( m_bFixedHour )* T3 r% D0 o- _8 w3 C4 m
// nHour = m_nFixedHour, nMin = 0;
) C4 C3 D9 @8 N1 g7 ]; w LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
7 N" W( O0 x$ d7 }9 q LIGHTCOLOR lightColor = m_k24Light[ nHour ];. f1 `8 Z5 Z4 T6 T v
/ c& W# h! h! _/ [6 ^/ `
//m_lightColor = lightColorPrv;
8 M' \+ O$ h% }$ p0 [ lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;. }7 n: ?' k# ~9 D# A/ ^
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;1 \7 j7 O2 Q, k
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;3 D3 p4 f( A9 p5 l( T6 h
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
$ ^* n% z* m1 v1 s% P. {4 \ lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
: z& \7 l8 n6 j& o& f/ _ | lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
6 P- {% P1 r. K9 J* e // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)( u! c( \5 k" L: e8 B( R
. V5 N0 S( j6 \3 ?* n' U+ ^
// à??μ oˉè*
6 o" W& u6 r& C8 F) d5 O" Y pLight->Diffuse.r = lightColorPrv.r1;' Z+ u) T0 X, g2 f( |$ ]
pLight->Diffuse.g = lightColorPrv.g1;+ ^4 b* Y0 ~6 U0 w
pLight->Diffuse.b = lightColorPrv.b1;9 [. ?) e. v1 |% ]4 _0 J6 J
// oˉè* ??à? 8 B. s( m" r& H' s! ~9 {5 r& D
pLight->Specular.r = 1.0f;# d& j# U5 c1 o# ?- J
pLight->Specular.g = 1.0f;" y+ `* s N& V1 f, Z! j! ^
pLight->Specular.b = 1.0f;
, _3 u+ V. |. h# H! D4 G // àü?? oˉè* 7 J6 l9 n7 w! k- W
pLight->Ambient.r = lightColorPrv.r2;; V* y, J( \# |3 T
pLight->Ambient.g = lightColorPrv.g2;
3 V' M% N& {2 J# q& c2 u/ E* f pLight->Ambient.b = lightColorPrv.b2;
8 e8 ?4 Y, c/ u& } X5 j+ f" W; U2 \* i9 _$ ]
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??. |! m) u; v @& h: d% d
{9 r. D) r* _) r! L8 i$ r
pLight->Diffuse.r *= 0.6f;+ P9 ?3 l/ f- K+ Z: K9 e" |) c
pLight->Diffuse.g *= 0.6f;
# F$ }' ^- ~8 h& Z) F) P' N; n$ l pLight->Diffuse.b *= 0.6f;
% f1 m5 M- F( q7 z+ @7 C5 E5 T+ K pLight->Ambient.r *= 0.7f;: O% @8 I. Z, Y" |& N% _4 ^
pLight->Ambient.g *= 0.7f;% Z% H+ p- R! ^9 v. f
pLight->Ambient.b *= 0.7f;. q; {6 p1 H4 j4 m& {: a/ s
}- a Z7 D. x4 [+ y# I, n$ k: w3 {
) J; X4 R3 ?# q: A- h2 j, C+ }
#if __VER >= 15 // __BS_CHANGING_ENVIR
# ?+ G s* D6 L* V if( g_pPlayer )
6 C1 J: X/ @$ v' R# m& j( E HookUpdateLight( pLight );
9 u0 ^ }5 R# r8 w#endif
' X. p% @* R+ E: @5 a memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );& m, C3 d C' j& a: |
4 ]' C) p( d/ \+ b, {#ifdef __YENV
, L! k# B) x+ v pLight->Diffuse.r *= 1.1f;! k/ D9 R3 A7 [, f. E) J
pLight->Diffuse.g *= 1.1f;$ F& Y% U* c) m! W/ }
pLight->Diffuse.b *= 1.1f;) L8 f2 m/ d9 Z7 r6 B1 u
// oˉè* ??à?
4 l+ ^2 f0 r9 ^' s5 l$ z+ c( A$ D pLight->Specular.r = 2.0f;
/ C: @" h, {( X6 m% { pLight->Specular.g = 2.0f;
+ `3 p" i: Y) \* f5 ~* {/ @ pLight->Specular.b = 2.0f;8 r+ N2 i2 h) ^) {
// á?oˉ : _6 w4 j3 M8 o* }- C
pLight->Ambient.r *= 1.0f;
( c) Y7 `, E/ `4 y pLight->Ambient.g *= 1.0f;0 S; \: e" p4 T/ q2 i, D
pLight->Ambient.b *= 1.0f;
: c N5 n. q# a6 K' z1 X, X#else //__YENV* A4 p( X5 Q/ ^0 z) |0 D
pLight->Diffuse.r *= 1.1f;
; z. @0 r0 j' B pLight->Diffuse.g *= 1.1f;$ g$ C! ~: r4 m h. [0 M1 b3 \/ ~: {
pLight->Diffuse.b *= 1.1f;
, E+ m }; A+ t6 E& K; a J // oˉè* ??à?
8 A. ?8 N' ~4 P6 c& L) G pLight->Specular.r = 2.0f;
) y2 ?& {( ~" h+ N+ r, [# n pLight->Specular.g = 2.0f;7 b, a3 R( o/ x# l
pLight->Specular.b = 2.0f;
% K* i+ N- ~) P4 i9 ]" y/ w. j0 b( M // á?oˉ
}& z* l) y5 ?" v+ A; A pLight->Ambient.r *= 0.9f;" Z3 Q& M ^ A4 a& ~7 k+ ~
pLight->Ambient.g *= 0.9f;: h6 ~ @1 z4 S+ _- `
pLight->Ambient.b *= 0.9f;
* q, V6 P0 ~9 \) N% ]#endif //__YENV + ^' w- ^$ I$ `. f- ^* c
4 e8 v& E: ]% y7 B# n$ J) C/ ^ memcpy( &m_light, pLight, sizeof( m_light ) );
+ A3 Z3 z. S+ X. z1 J1 b3 i 8 }' d- m! ]7 F3 Z" L9 u( o3 n) l
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
# ^- D3 ]7 e; w6 N$ G" j3 o/ Q0 B D3DXMATRIX matTemp;6 |4 M/ x* x( F1 A4 v
static const float CONS_VAL = 3.1415926f / 180.f;
! c9 v4 O. I& N, {1 B
7 c# U' s6 P9 T+ @ D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);0 K' X$ s$ ^5 a+ Y7 A; `+ b
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);9 O. M1 H3 L1 [* A3 Z2 u) J' U
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); & ]1 W- T4 d, ?' F
pLight->Appear( m_pd3dDevice, TRUE );
0 l( V8 a9 ]; \( O' ]' q* M" |) r+ G0 Y% }: ]3 ?) H' R
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
& F* X0 n6 ~+ u4 c7 y! [ // D3DXVec3Normalize(&(vecSun),&(vecSun));
- V6 {1 J" }% `' j/ K; C, ~0 l' ]1 r // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
5 N, H5 D; V( B& f8 C% r4 v( f6 {7 \/ H, z
DWORD dwR, dwG, dwB;7 Q6 F4 o, k! L, |/ h
dwR = (DWORD)( pLight->Ambient.r * 255 );9 a) i4 P. x6 Z8 D" I( D
dwG = (DWORD)( pLight->Ambient.g * 255 );
, j* q- _7 ~9 j8 ~7 q3 C4 p dwB = (DWORD)( pLight->Ambient.b * 255 );
# _! u4 {/ Z8 T! T" U) ?% f7 N ` dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& ]5 m. A9 d+ ?* M }# e6 ^: m L+ H
}
; f1 K: i, ~" V- ^% P: t
+ I* x! }3 h, V* o m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );6 o1 v2 S: U6 r* 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) );$ ^ B$ J7 w& c; Q2 H
::SetLight( bLight );
3 p* e) i3 U; A2 l2 i( o# t3 G* x. b2 Q4 L' i& m9 h4 v; c) a3 W
// ±ao? ?D?í???ó á¤à? 3 P- F9 q- E8 e
m_pd3dDevice->SetMaterial( &m_baseMaterial );
" s0 \ U% M: O/ u
P- Z* e# f: Q C3 J2 J7 ^! V#endif // not WORLDSERVER
- s# c6 ~, V$ F, D}5 T+ v7 `* r5 l
并更换" C: c: R1 M! t1 g5 @
Code:
5 M6 f# S Y2 X6 }! f, e+ i0 K__FLYFF_INITPAGE_EXT3 d8 P. ]# L7 |) ]
定义
4 v& F5 S2 ~' _2 V
# b0 }8 }- r" f4 ?4 @" K" c0 ?; S. z. [3 U4 Z( E) e
2 U* U" e* u9 @7 _
7 }& R, p$ `" D# V. v3 ^现在终于删除我的狗屁加速...* p7 x- W$ q. s3 o! X. {; y
& {# f4 |$ h7 J5 m a8 H3 B2 I+ T4 S2 d5 O
9 |* v8 e+ ]! E q6 d6 h
|
|