|
|
食品车:5 b7 r/ `, D* R' j ?8 G7 ?: t
尾翼:
- ^; F0 L; {, l* d2 T# T' B$ W [1 i r3 a/ n! D
代码:
& R4 @* _0 o f- Q7 r! _" x' c, }CWndAutoFood::CWndAutoFood()
' u5 `" \4 T, G' W1 G{3 ]& R( |# u+ B; }
m_pItemElem = NULL;
- D e/ E: L8 B3 L% F0 Y# L m_pTexture = NULL;
+ X- i3 ?) u0 U bStart = FALSE;
- d% r- b/ U9 ?" A}( l5 u' ~ i1 [) H% F( \
3 s+ k% E5 d9 y( p H5 @+ oCWndAutoFood::~CWndAutoFood()$ f; C% o9 d" J7 b+ a9 B% p5 `
{; f1 ]3 \" Q8 | B0 u$ S
AfxMessageBox( "AutoFood ist gestorben " );8 ?0 C! o" I' O h; w9 N
}
1 z0 D$ \" _, ?7 v" }4 M8 IBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType ); ~# p, t' X+ C" m- [" D( H
{
/ R; A; s* l5 ?7 [: t return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
8 |- r# S6 V. a% V+ e}% d% k$ p) p9 ?8 N+ v
& \0 x8 q3 O1 v- T& z, f
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
; v+ w3 \( G4 `; V, {$ f{
- X! G# ^9 f7 s3 e5 Q& }9 i LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
C5 x; x l5 S- n9 E& A X CRect rect = pWndCtrl->rect;. `0 r* G4 \% v- N
if( rect && rect.PtInRect( point ) ); n+ k9 a+ k8 K/ P$ e2 o: a5 P3 `
{
) |4 }' R! C; d. d9 ] CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
' Z) F& ?9 w+ P( y' W if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD ); U7 g9 \, Q, O
{! O; h# P* h0 o& `9 O
if( m_pItemElem )
. r4 e- f7 ~' ~% x$ R {- r8 X+ w1 z+ K% S; ~- M( I0 T8 t
m_pItemElem = NULL;
/ ^7 ^0 T& k. `$ q( w' E } j7 j" c" V5 V8 o" d
m_pItemElem = pItemElem;5 c! B9 H# k! ^/ [+ ]
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );/ }2 [" ^: ^- E9 n8 @
}else{
& q8 z% Z% n3 ?2 G5 ^8 C: Z SetForbid( TRUE );
9 i" @' Z% r/ p# w4 i } g5 [9 j0 C% [9 U
}else{! W3 Y3 ~4 [# d- t j* ?/ U
SetForbid( TRUE );
& M, I$ R E9 t+ A: @ }
% i4 y( O7 V4 h return TRUE;
) x+ e8 y( Y6 V* E5 b v& M7 J, |9 u}
A" v. M* ?0 [. Y2 Y. m5 |/ W9 ^- z6 o O' E! ~
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )( {. P2 B( Q2 `/ _* \- r
{
: T$ d$ o: P* c: { switch( nID )
% j _! @! H' |' S9 t# j! n2 @1 A( | {+ x& V. b0 j: a) S" U* a; ~; a+ C
case WIDC_BUTTON3:/ \; {/ p5 T% M
{
2 L4 |2 {4 D+ z9 W0 J bStart = TRUE;4 I3 e8 @ M0 }# X( N! }
break;
2 Y" C W9 a7 G# v8 C }/ r( [) \* ?2 H* e h0 _5 h: \
case WIDC_BUTTON4:9 f7 h/ d) u, G Z
{& K, j. R& R. {. O
bStart = FALSE;1 g5 u3 ]7 w; s0 X/ \6 U9 E/ f
break;
% b0 d" x# I% V. x- S, E! H" q }
' p8 A4 j* o1 m6 G( { }
1 p V4 Z/ {( Y3 M- j return CWndNeuz::OnChildNotify( message, nID, pLResult );
* h0 _" C! P* u$ q4 j( I}
1 V7 N8 u0 g7 J# G+ \! g4 P3 J, s9 Lvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )5 h" M) Q4 [2 I- m
{- ~8 r+ q; Z' D
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
3 X8 R6 i+ w1 w9 n$ a. y3 f& O# b if( bStart || !m_pItemElem )
. A1 s$ U2 \7 a2 s. [ {$ C. J, M6 \( f* J) W v
pBtn->EnableWindow( FALSE );
5 u% ?) f8 `0 E+ k1 t% s }else
% Z B( x- x8 g. X; T! u pBtn->EnableWindow( TRUE );
% _/ o. o+ ]4 V6 l( i if( m_pTexture )
3 d1 f, K6 W0 y" d! w7 | {) U9 f, S6 w) O. T8 T
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
; }- e# ^- V0 c7 Z! |8 A8 L if( wndCtrl && wndCtrl->rect )
2 L% l; k9 G; M8 c7 j {' z$ w$ s# f0 \' D% P
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
/ w) @; p1 R+ B& Y8 N8 Y; Q( v6 w }. t3 a: M' ~: f9 }7 b" m4 d5 @
}
5 X$ l7 Q2 d' t p2 q}
' }& W3 n- P6 [; |! G$ X+ s
$ B8 E. x0 Z: k# Y& QBOOL CWndAutoFood: rocess()9 o' U0 `0 m1 I! r+ ^
{7 `) P$ x8 E( V- E1 l: [
if( bStart )9 O* z8 S0 Z. C8 i+ D
{
' V9 T' J( |7 P" j( M7 K if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )3 V- v5 r( i7 O2 @4 W
{
/ ?: T2 b+ F' r9 c- X 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 T& b- z W' @+ |" p* L; M g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );* d6 [- M% Q% ~% z( i
}else{: f; B- o8 N# {" D _
bStart = FALSE;
+ G8 f3 X/ y$ z) c/ j) z' P) h m_pItemElem = NULL;
+ Z4 Y; m& f' ?& F }
; g% }2 |' u) L/ Q }
8 W* b+ p+ z! V" ~, u return TRUE;
1 V K& Z7 |" n1 o, T& {}$ d+ @# W5 d" t7 A& s* i
& v3 n- W/ O# z: W* @7 u5 P
登录视频废话:) s3 `; n6 h. ^$ N* {% d
尾翼:. p; Z# j) P" A1 s
: Q/ z2 @) y' j; r, Q代码:
! i% _ T8 k r8 C; W6 Z- d. M
$ R' P: h5 ~6 {* Uvoid CWorld::SetLight( BOOL bLight )
1 A2 j' D8 }, b x9 E" odurch
; G0 w" z% y$ K- j. I% YCode:
1 `4 w' y/ c. G; Ivoid CWorld::SetLight( BOOL bLight )$ h8 s9 {. i% O2 f$ _ I2 X
{3 _5 P: [% r1 o7 I: b1 x/ E
//ACE("SetLight %d \n", bLight);3 F% i: H% p9 O) x3 y. o
. S; J, ]3 X% j0 r c3 J
#ifndef __WORLDSERVER 0 r0 ?6 }. P- B7 J/ [, Y
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
9 ~4 W6 z/ v+ M3 z CLight* pLight = NULL;
; |% {! z% k! J. U$ G6 X- Z0 @0 O2 }, \
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
, _$ ^% A* @: x) E5 }# j1 G* \; o7 z! l% [, s* M( C
pLight = GetLight( "direction" );; H1 v5 i5 @% X/ ~9 _
W/ K* y7 y4 ?
#if __VER >= 15 // __BS_CHANGING_ENVIR
: P. M% `9 K0 @# @" s% z if( g_pPlayer ){7 G$ T; m) s3 O' Z# c7 E4 ]9 G
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );' S. [9 x" _$ w: I9 i4 p& J" k
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!) i. E. u7 M- z) u
{
+ q8 O0 l/ P. |2 x4 [/ I if( pLight )
* |5 c% D/ x8 C( a0 z {/ g5 T4 x5 S" t6 d: e9 r' B. R
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];6 U% f' W7 M4 Q, U( `% d, ]
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];, y" J9 U# s' i. S9 Y2 k7 }" s
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];3 {) y% m4 T3 S8 J1 e! _9 X
+ [. B7 U c1 B( J: K! L1 q' U pLight->Specular.r = 2.0f;
: X/ h) }8 f* y6 V pLight->Specular.g = 2.0f;
; {% _4 ?" U/ O; v pLight->Specular.b = 2.0f;
: v+ J+ c/ w) d {$ ?/ J2 f 7 l6 ]( ]# U6 O6 r; b l) s
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
1 b) q7 p' @' o pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
& w/ c3 i2 f4 C$ q r2 x pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
9 a. f1 N6 E/ Q+ Q6 E
; @* c5 ?* l# u7 u4 C HookUpdateLight( pLight ); % m: P; Q6 H5 r- q# Q0 W2 @' X
7 ]2 L5 l2 S6 A& R. L! B5 G memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( x' F- \$ c. u9 S+ G 7 i( T4 q* M7 {* ~7 _
pLight->Diffuse.r *= 1.2f;! Y) B1 t6 A+ z- {, z" Q
pLight->Diffuse.g *= 1.2f;
- W) b5 J6 I$ V1 C pLight->Diffuse.b *= 1.2f;
4 F: E9 ?/ e, {* ?* [* B6 G- @. J, a0 u% {1 W1 B
pLight->Ambient.r *= 0.8f;
; U" ]4 Y6 r! m- E0 U. G pLight->Ambient.g *= 0.8f;
) \! ]! S* i6 L7 A& a$ y K: Q, Y pLight->Ambient.b *= 0.8f;# c$ X% U% }2 {' Y. M
& Z+ X) h: p+ n/ X- w% p memcpy( &m_light, pLight, sizeof( m_light ) );
: T t) d+ k7 ?9 o: N4 u+ D
0 T# J2 v0 u. r8 V D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);8 o% ?% |4 B* T6 G
D3DXVec3Normalize(&(vecSun),&(vecSun));
2 n" X1 j6 n' ]# Y pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
% ^& W, Y" g$ K4 Q pLight->Appear( m_pd3dDevice, TRUE );
. p7 F4 X" n& e# |. q4 M- B! d# x
9 p0 Y/ k |/ x: g: l DWORD dwR, dwG, dwB;- R+ K2 }4 z# ]- I
dwR = (DWORD)( pLight->Ambient.r * 255 );" t" f. z1 q- g, P8 Y( k2 b" }
dwG = (DWORD)( pLight->Ambient.g * 255 );- B1 \1 r6 A* e
dwB = (DWORD)( pLight->Ambient.b * 255 );* L2 g5 U8 X2 f. N
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );9 P/ R! J f" W7 g. l; a
}
! O% @. p. }. D( i/ o; A }; U$ Q& A/ Z8 U, a) w3 ]
}& o, l) d, L' d
else/ i8 s9 L* K: D5 U, Y: L' Q
#endif
. `" h }* H$ b9 F! Z
4 O7 K7 \' V$ n7 J$ a& g+ Z if( m_bIsIndoor )
: l' \- O/ ]( D# \1 x3 f {$ P9 ~( z7 p% }* X. A) U9 t+ [ ^
if( pLight ) d, _, I+ d( Z
{ + t' ?. H0 Q9 F# z0 s& R7 q
// à??μ oˉè*
& ]( I3 f# A# a, G+ Y5 j! y; f. } pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;- s; W1 {6 |$ y" Z" x+ P
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
( ]6 z( o" ^2 w$ E7 t pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
& d; w4 J8 b8 Y( b$ y7 j8 q0 ?+ r
! T1 L, u9 T2 Z8 q* z7 N1 e } // oˉè* ??à? 0 l2 ^4 ]4 ~0 r! D, O( v7 x7 w% J
pLight->Specular.r = 1.0f;
1 w# u" d. g$ w, M8 b pLight->Specular.g = 1.0f;/ `5 P. U- E. O7 y# l$ F6 u! p
pLight->Specular.b = 1.0f;
* K2 l/ z1 e- p' X Y2 } // àü?? oˉè*
2 q) v2 `+ w, b! f4 A- U; | pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
+ \2 A+ O& m3 C- X: D pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;9 `7 @5 Q2 D. r1 s3 N: W# G* p
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
+ R# t# G- b h2 s, |& W2 I/ H1 `( m' C3 a7 U& T) F
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.4 J" Q' t# ]) c7 }
{3 E9 K( m, s' O6 a1 s6 S9 v
pLight->Diffuse.r *= 0.6f;/ D* [' V, b+ ^; c/ n' K) Y
pLight->Diffuse.g *= 0.6f;
. O3 E: \4 u6 P pLight->Diffuse.b *= 0.6f;7 h% @' Y) N- J- p1 G
pLight->Ambient.r *= 0.7f;
5 j$ m2 n( A% ` t5 \) G# ?! l5 R6 s pLight->Ambient.g *= 0.7f;3 n, ~# _+ v- l7 `
pLight->Ambient.b *= 0.7f;) J( n: f& j; ]$ I3 u" s+ v
}: S- A: a0 s7 Y( ^$ y+ A7 v9 t
) V$ G/ r1 z% o) ?" h3 ]! u
#if __VER >= 15 // __BS_CHANGING_ENVIR0 T$ E! T. }) o8 C& Y s' R) W. u
if( g_pPlayer )
0 J4 J9 z2 Q. C$ s HookUpdateLight( pLight );9 ~, n6 O) p! k1 ]; h P# C
#endif
( U' P/ Y( B9 z4 h4 ]' ]2 L memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ R* l: R4 l3 I6 _+ \$ q& U6 N2 ]1 G n) i
pLight->Diffuse.r += 0.1f;
! v0 V2 w0 E5 Y7 y* Q8 B0 W( W4 Z& T. o pLight->Diffuse.g += 0.1f;. O# M* r" h, n) A3 @. J0 ^
pLight->Diffuse.b += 0.1f;3 |. n0 R0 b+ s& {6 s5 b
// oˉè* ??à?
5 ]) R/ u4 d/ Q& x: r& |, K: f pLight->Specular.r = 2.0f;
( T2 U: f. C; X6 i) H pLight->Specular.g = 2.0f;6 @. n1 {8 w% j% \/ Q% ?9 D
pLight->Specular.b = 2.0f;
. G0 j1 {0 B- R; r) ~1 N // á?oˉ # Y' I& u1 ^& J& @
pLight->Ambient.r *= 0.9f;. l, Z: e/ [4 [
pLight->Ambient.g *= 0.9f;& E F- S3 Q& v G& [ [1 r
pLight->Ambient.b *= 0.9f;, N9 k! B( `/ C
! H$ F! F1 X& ] memcpy( &m_light, pLight, sizeof( m_light ) );
6 q' G. @& ~3 }3 P
) e7 v, n; F) H* I pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z ); a3 S8 m5 |; r- g: G
pLight->Appear( m_pd3dDevice, TRUE );8 Q3 b( F4 J5 V% s, y1 k4 G( h" S- ^
& q/ i& C3 w' y) @6 B
DWORD dwR, dwG, dwB;
7 f: J0 G; f4 J& N; R: K6 K. m dwR = (DWORD)( pLight->Ambient.r * 255 );
: R% f- r4 @7 \. \4 a5 O dwG = (DWORD)( pLight->Ambient.g * 255 );
4 n+ S% j o. @) S! k f dwB = (DWORD)( pLight->Ambient.b * 255 );$ K4 p1 |% X6 w5 v" x
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: V) ~2 C1 E/ I( k6 P }0 J/ v, {8 ]- B' C: L4 A" J
}8 ~! y1 _0 S0 }1 K9 O( a+ n- z
else+ s, n! z+ A1 Q6 s
{) M1 X/ N$ h! ^: Z
if( pLight )
& q; H0 A2 }7 z {$ r5 n% m& G& S3 C
0 A+ e, Q. u9 ~: O' |5 h int nHour = 8, nMin = 0;9 e: b0 r/ |" h$ X8 X) c9 q7 l: D
#ifdef __CLIENT
, [! \& I. A* s( [0 e T9 |; r# x // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
2 c) Q$ v4 i; e% _3 C: r) J nHour = g_GameTimer.m_nHour;
1 n7 g% t( ?# s% {% }& p/ O nMin = g_GameTimer.m_nMin ;# y) w1 B4 l& v5 [" L e% U; Y! `* ~/ G
#else7 a1 \- h" H: k8 }" p4 t; U) X
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
& j( W- u# e3 S4 m* Q, {4 s: q if( m_nLightType == 1 )
7 ]/ j, r0 F5 A# R- H- K. K nHour = m_nLightHour;
5 e" s# ^2 Z! Q/ T @6 C #endif
' ]. A0 H/ r: H, V& ^* Z) q nHour--;6 y* d$ n, t6 S, W
if( nHour < 0 ) nHour = 0;' }9 j8 F$ G$ K( _; w
if( nHour > 23 ) nHour = 23;
; q* U& d2 T1 c+ V+ {5 {& F5 p L: @' N+ n7 h" G
//if( m_bFixedHour )
; D* H5 f- R1 M // nHour = m_nFixedHour, nMin = 0;+ R ]$ n" p$ @. C3 _- R9 X
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];; g9 t# T$ o3 S! _( p# \' C
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
3 p3 P4 P% n6 x! W5 {
& d* O+ l' g! `. y. u9 M5 { //m_lightColor = lightColorPrv;
" E6 {$ u3 ^0 E, u4 j lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
. L5 z0 S! g2 l. }& G lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
& ~& ^$ b, X6 u' V1 N* @0 O lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;2 ^ X3 F) i( s3 ~# L0 Q7 Z
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
- ?% ]7 I( ~8 t lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60; G: p L1 `) g$ ^
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;0 r8 ?- H# b) q# h
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
" }( Z- P3 Y* l1 I5 r9 k0 C% Z, Z2 g) R) [5 B
// à??μ oˉè* : c. D7 G, D" r# |
pLight->Diffuse.r = lightColorPrv.r1;) Q3 H$ l T: R; d- s2 O
pLight->Diffuse.g = lightColorPrv.g1;+ ]2 w+ k; i# ]8 V+ _
pLight->Diffuse.b = lightColorPrv.b1;
1 b- i& T) `( o1 ]/ P+ S/ y // oˉè* ??à?
# r, U/ T4 k. s pLight->Specular.r = 1.0f;
! [' U0 Q8 X# I7 x b3 s# a pLight->Specular.g = 1.0f;
$ W: y# [$ p3 e* O' n4 N/ n pLight->Specular.b = 1.0f;; ?; \, T. \" B# [8 [& j+ G
// àü?? oˉè*
; p) f% [# t3 ^ pLight->Ambient.r = lightColorPrv.r2;! P" N) l3 q5 C1 B6 E5 x; j4 t% y/ Z
pLight->Ambient.g = lightColorPrv.g2;, C% }" h4 _0 v+ p3 V
pLight->Ambient.b = lightColorPrv.b2;% F: t9 D+ ?0 l6 Y* y) i+ A( C
8 _, }) L" u! B2 _, ~4 h
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
( g& @( A2 n% ?& O* w. ` {! s5 t2 {7 S. K
pLight->Diffuse.r *= 0.6f;
# s7 ~0 k- L7 e5 G: h pLight->Diffuse.g *= 0.6f;/ E( G' z$ O8 C
pLight->Diffuse.b *= 0.6f;) K6 J' V1 u; N) b7 {1 t) P; v
pLight->Ambient.r *= 0.7f;4 P. Z! V4 o: T
pLight->Ambient.g *= 0.7f;
4 B" _& }) r6 C# F/ d* z pLight->Ambient.b *= 0.7f;; t% |& c& `$ x# L
}; ]3 i2 N6 t9 g2 \4 j
+ F3 q. l" m3 h+ s: s. w6 c: ^#if __VER >= 15 // __BS_CHANGING_ENVIR
|2 U' s+ E$ U1 N# g if( g_pPlayer ): ?, U8 }: S. M9 S, K/ _3 p4 v
HookUpdateLight( pLight );
1 T" C! [& q J1 b) k! t#endif5 r- G7 g9 z6 \ n2 P
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );8 Z: d# c2 n- W+ C. V- F/ }
9 X) f( Q v+ P$ S#ifdef __YENV. B& ^: D. h9 q0 o: N( |
pLight->Diffuse.r *= 1.1f;
5 U" n* \- M9 t8 b; k pLight->Diffuse.g *= 1.1f;
+ S. A% o. l7 C8 j4 P pLight->Diffuse.b *= 1.1f;
6 h% i8 p; A7 Q // oˉè* ??à?
. [8 v3 r3 n" K4 a) L2 p pLight->Specular.r = 2.0f;& e" y/ a5 W. ~7 e$ f$ V
pLight->Specular.g = 2.0f;
$ V- f7 H! S+ d( l. B pLight->Specular.b = 2.0f;+ S. N3 q `6 T% b
// á?oˉ
7 b3 C4 T! L/ w2 s F b( r( O- [ pLight->Ambient.r *= 1.0f;
+ B3 p% d% j; A. F pLight->Ambient.g *= 1.0f;# U* ?, s+ Y4 b' e. i; ^
pLight->Ambient.b *= 1.0f;
' `* W. n% {" ? z6 a0 [, B6 x' a#else //__YENV
% _9 K/ B8 |6 o6 g pLight->Diffuse.r *= 1.1f;
% @. X9 ^$ U7 c6 e pLight->Diffuse.g *= 1.1f;
" U& N1 q Y' w Q pLight->Diffuse.b *= 1.1f;- b* I I3 w* X3 v' ?7 {
// oˉè* ??à?
1 F. @' J# T; @3 a5 s pLight->Specular.r = 2.0f;! f% A" ~" } s! H0 F
pLight->Specular.g = 2.0f;
2 e1 z3 l$ t) B pLight->Specular.b = 2.0f;
2 w; O7 f8 T, |) Y+ Q1 D! N' y // á?oˉ
/ q" S# ]% k% {) t. }$ `9 I+ C pLight->Ambient.r *= 0.9f;' ? J$ B" S5 o$ P& q5 ?' B
pLight->Ambient.g *= 0.9f; J+ n9 I6 g& ?$ E# W
pLight->Ambient.b *= 0.9f;/ A) N; K6 D$ D
#endif //__YENV * A# b, y- n* {$ b+ {8 i! U `
~4 o% _: i0 W5 m, a
memcpy( &m_light, pLight, sizeof( m_light ) );
# |, M* r5 @9 T- P4 t% [
( c; t( y5 \: j8 F D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
2 x& d( r4 S( W- P1 D! o D3DXMATRIX matTemp;
, l! i ~ H+ U4 T/ e6 O( N3 m static const float CONS_VAL = 3.1415926f / 180.f; X; c$ D6 w7 }/ l4 ?! f( e! T
5 J, s. U9 W( ~) _- p" a9 H# W
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
3 }% f$ d, r# S1 _ D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
3 W' G1 t. S0 W) B) i pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
9 \. d# X- G" ~3 [9 Z) I0 }/ J pLight->Appear( m_pd3dDevice, TRUE );
$ P) \$ S' _8 _0 h: j; K
. [5 t! J V0 t // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
8 Z* D' f- m% F+ { // D3DXVec3Normalize(&(vecSun),&(vecSun));& k, L: V' x& [) X3 D: u; V
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); + i; X* o A7 P& b% W0 E% i7 `
J$ h, {9 |7 [2 l4 F! a. a DWORD dwR, dwG, dwB;& s. ]7 a( c4 j! r8 J9 u
dwR = (DWORD)( pLight->Ambient.r * 255 );
1 l1 o& ^$ F0 X& A; } dwG = (DWORD)( pLight->Ambient.g * 255 );0 h/ x7 }) ?2 E+ y: f/ c
dwB = (DWORD)( pLight->Ambient.b * 255 );! P d5 |1 H' K: f5 q% M" {
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; e# x0 V- N) j, I! B* Q0 [" R" O0 Q }
. }0 S2 p5 Z2 |! F& }2 R) H% {4 F }
2 Y/ K2 x, U6 \- }: I3 h2 y* f( ]# O6 `
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
% C% J8 P9 V4 ~! P! b' N; m, O 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) );7 x/ {8 b4 Z" A, \& o+ ~7 \
::SetLight( bLight );
+ |: X# {( e: G+ ]& p# x# Q+ ~" l( I' A5 u) ~
// ±ao? ?D?í???ó á¤à?
2 [; i! O5 a3 h. Q& w7 F9 B* i/ K m_pd3dDevice->SetMaterial( &m_baseMaterial );- e/ q6 k: k) ~; j$ y m5 g! }
) ^2 y7 x @# } g8 {% S#endif // not WORLDSERVER! ?7 f$ o& \% d9 s+ L# v$ x3 h
}
. h7 @0 \4 r- O' s并更换5 y, T% M9 J# c9 m+ H
Code:
: D' Z q0 k2 V__FLYFF_INITPAGE_EXT
2 Y4 x, W" @! A# L8 Z y. w定义; D W9 L- } W8 q! d4 j- _# O% l: i
3 @+ |% A J0 D; ~: q
& G. Q* h# ~, j( J# Y( e9 ^" ^+ l
$ b+ W! ~% V' J7 ]/ x$ p; u) a7 k7 ?' o8 ~
现在终于删除我的狗屁加速...: T! L- g: k$ f
4 [$ O/ w/ s) }6 {' [
7 J8 o9 k1 o0 Y, x2 \5 n
& S9 m3 n3 x' _/ J( u0 @: W
|
|