|
|
食品车:/ j! F8 o) S8 s* v; y4 w; H. z5 [
尾翼:
, K+ c) v, k9 K: r& M \
/ j& R! }$ L$ @2 |# V& T9 K& V代码:
4 {! F$ _1 \8 e, `CWndAutoFood::CWndAutoFood()
% @6 `/ p/ h7 {- V; N' n3 g{
3 r' `5 S8 s: J- X m_pItemElem = NULL;
9 a5 l7 f$ [3 u# c" b m_pTexture = NULL;
( n' N0 `; n. S, n5 Z3 F bStart = FALSE;
4 U1 b! ?7 z/ E# K" V1 |, v1 I}3 D3 `/ @6 d# i) T
; U# G4 h2 o1 l$ V) p4 tCWndAutoFood::~CWndAutoFood()
. u: q% k% U% U* M{$ b$ E* P$ v0 s. F
AfxMessageBox( "AutoFood ist gestorben " );, T6 E! n' F3 y a: r0 I) \" H. K9 i
}
- {) c" B: H) C; K- B* \BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )7 j, B. `, P' c% ^0 ~% V3 q1 e
{5 k/ W5 M& ^! G3 {1 A3 l
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
. Y8 k, ^' n/ ]7 e; v}) K+ A9 F% @1 b) p
. {6 s b, r2 t8 F' n: |
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )$ s+ h- _' x2 F) H. L6 r
{
8 ? F- `& S; S3 ~8 M- i) P LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
( |: i9 e( ]4 l2 y! d8 e# |7 E CRect rect = pWndCtrl->rect;1 R4 E" r. b% v0 X0 w5 ~& D0 S
if( rect && rect.PtInRect( point ) )# \% e6 i7 B8 p' b+ [" j' z
{ e8 E5 B% w! Z6 [- O) j( C8 p9 S
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
0 i4 _# r& I+ q! Q5 q if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
5 ?6 b7 G; `( y8 e& a5 r {
1 J X6 h& p: O3 V if( m_pItemElem )
' O& c7 `4 H' Q. K! j {
7 z- R( Y- \8 |1 w ~: ?$ N m_pItemElem = NULL;
" [% v( `$ V6 T& q; d2 ]% z }; o$ Y: A, ^, s+ [ q3 z
m_pItemElem = pItemElem;
4 e- M, d ]- s$ z9 `" h m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );0 a9 k5 ~/ @) @' i9 J3 S
}else{
% y$ r k# z* \! p# z SetForbid( TRUE );
+ m1 w0 o7 c* G6 @1 H6 R }
5 Z: a N. K2 f6 x5 n: k: i: r }else{# b4 d2 }; Y: G
SetForbid( TRUE );( X: F+ V ^1 e& |9 h v
}8 o/ _ r& `6 Z8 u4 }7 K e
return TRUE;
3 I) ^% I3 H1 i! \}
% B! B; M. j* Y. a: E
9 R6 l9 P+ g# `) S$ l" DBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ). ?; o$ K3 K; L2 ]! M2 W: o
{
9 S" c# g$ T0 n; l: Z7 P2 s+ O switch( nID )
2 Z5 {2 B% j2 E4 Y, [! j {
: x- C5 X" g5 j case WIDC_BUTTON3:
# m5 {4 @- ] Q& `+ D* d {& N8 A6 a/ u% n# ?! l/ T
bStart = TRUE;' c. M* N, X7 M$ [9 n0 X6 @. m( X
break;. J. c- ~) I# C4 A( }
}* T( ]5 h0 _/ t5 H" J! Y1 h: X! `
case WIDC_BUTTON4:( K9 ~" U- g4 J" X
{1 R/ P; n! T5 N# \/ z G1 {3 W$ ?" C
bStart = FALSE;7 S, \* l I* K, C3 S
break;
9 `& G& w5 K; x7 v! T } B- j t- n. \/ C8 b( r% }! L
}
8 f" V# H- \! x! @! H* Z* Q return CWndNeuz::OnChildNotify( message, nID, pLResult );
+ m6 T" [5 l, S! m; M; W}
" Z( g/ s" `. kvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )" f, k9 D$ T5 K, f: R
{
/ t& ?, j. c9 v1 o, `* n: g7 J/ E CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );# X! Q" z1 d$ u) D5 ~( j: w7 t
if( bStart || !m_pItemElem )
% S2 _. C) _. d5 M% |5 c4 F {
' r/ }. t2 `/ ]6 o" @. o' @ pBtn->EnableWindow( FALSE );& V( {: a$ j& N
}else B& J- F1 b. y6 H3 D
pBtn->EnableWindow( TRUE );1 a! Z6 k4 S) j
if( m_pTexture )
; Z ]2 D/ L }: O; s h/ A {$ E' v* O% }' `, I+ x) }+ s
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );5 j/ H5 [8 L% e- w. J
if( wndCtrl && wndCtrl->rect ). p# @4 _% U: {1 j- Z! A
{: z; L# R V* K# }. t
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
3 ?0 W% W3 g0 y* S }3 F2 j+ S+ M# j7 w) ] X
}! k1 i: f; L/ W
}
' U* u5 U/ ~6 \3 ^9 y- F7 D- ]3 W6 f6 ?% o7 I" F4 z2 n
BOOL CWndAutoFood: rocess()! o3 s) @/ _$ I% f( \
{
4 F" U0 l/ H0 P* G: m if( bStart )
* l) C) l+ u! A) g f D. g* l4 | {/ X. {. O# W: Z* d& I
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )8 d$ A# x3 d7 K/ G- h
{. p1 @- ]! O G9 u
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/ B2 S' F) }7 l0 i g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
4 M5 k1 N- r7 q. e0 O }else{5 E2 ^- G2 A, Q+ y! C
bStart = FALSE;
8 v; {! K6 X" w& F m_pItemElem = NULL; J& d; I4 K- Y' ~& j
}9 U) F) n5 s3 W8 E+ @
}
* @/ j; N( Q0 X. V return TRUE;, H- V; G! `3 C- {2 h0 O
}
# n ^. |( R5 U6 ]# u3 K3 V2 d
2 C! ]& ]- l9 B2 k登录视频废话:$ A# }; H/ _- I4 X$ i; {
尾翼:4 c9 S8 I5 n2 A+ C5 \
0 w$ I( R& d# i. V$ p" K代码:
0 X; T! i+ a" V
/ {3 g' j5 j5 F/ v( d# Vvoid CWorld::SetLight( BOOL bLight )5 S6 m. Q# n' D0 J/ _- _3 f0 ~6 V
durch2 W, t3 h3 b8 \5 `
Code:( R, J3 e& e2 z( n" [% I" j% ^
void CWorld::SetLight( BOOL bLight )+ {% T8 z5 Y# B4 R
{
0 y) L5 \0 \: \! k* G2 u9 X //ACE("SetLight %d \n", bLight);
- c& H4 y! h1 P; K! i4 D 1 f' Q# d. G+ {8 Q& v3 o2 I: f
#ifndef __WORLDSERVER 9 H/ Z5 m! G3 s5 H. ^$ |3 ?
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
% V, w( Q* V9 ? CLight* pLight = NULL;( t# b2 J0 l9 ~& V; | A1 ~# h
4 U; T! Q. M4 S0 G# w5 r D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
9 Y* D H! N+ p, K: p k+ z! Q" a- ~* Z+ O# Y
pLight = GetLight( "direction" );
2 | D: S! Z* k$ a6 I, {
5 W" x% K# \7 y& m#if __VER >= 15 // __BS_CHANGING_ENVIR
4 L+ [( ~4 b4 d0 N if( g_pPlayer ){, s7 |, h# r0 m! J. K8 Z
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );. J; ?: u$ q. u1 L, r
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!$ f m. D2 Z O9 _0 _
{
- D6 J7 Z: \; ?+ P7 Y. K \% } if( pLight )
, d& D5 f- k9 @8 } ?; e( K {$ \/ V9 z' J- W3 m$ J
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
. c' H( O5 p" G pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
; } L0 y5 b7 o/ c& J, ?0 z" f pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
- [8 L+ H0 l% A$ l1 t! u1 v- J+ w$ K! W9 g' C6 j7 r W: _( k- M
pLight->Specular.r = 2.0f;$ U- ]# l( b4 {9 u) n# }( b
pLight->Specular.g = 2.0f;' `2 n! h' z9 U! _$ h
pLight->Specular.b = 2.0f;
2 E$ ]7 M+ O8 }7 i9 R 2 x) F/ h: G& v% n4 V2 d& W
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];- v9 H3 x5 @0 d4 I
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
5 H( Y& B# A4 q/ i- C% S& k6 } pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];' t5 `$ G2 D/ X1 Q3 w+ [4 J
3 ^' e3 {/ s, H' U
HookUpdateLight( pLight );
P9 ?9 i e6 o+ t' e# R1 A' t" E. X- Q
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );9 P) E; n, z3 O' _ Z* a
+ r: r. d: f. U5 t p) |, N
pLight->Diffuse.r *= 1.2f;
- F; {- i3 [, G' X7 X1 j B4 x pLight->Diffuse.g *= 1.2f;
* b$ a) S' {" ~$ m pLight->Diffuse.b *= 1.2f;: k) G! N1 d- j
9 O0 n3 ~4 P5 J: m$ K& [8 g& M! f pLight->Ambient.r *= 0.8f;& O1 r5 M( x2 @4 \3 r+ ?
pLight->Ambient.g *= 0.8f;
3 J9 P# \+ c/ |9 Q pLight->Ambient.b *= 0.8f;
. d9 [ y. R7 k5 D' F 5 k; H9 D8 x$ _- n, Y0 a. K. U
memcpy( &m_light, pLight, sizeof( m_light ) );% s( D! R3 e, p: Q0 J- i& o8 b' s
. m: G; j, ?) Y) K
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);( b. L& }' N% P, R
D3DXVec3Normalize(&(vecSun),&(vecSun));( t" z8 p& P& g5 O: Q. z7 u
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
# W5 P8 H" G: B$ X+ R. v pLight->Appear( m_pd3dDevice, TRUE );) h1 D2 c* ]# |0 [" G
. Y3 Y+ J1 y& a/ B+ b5 w( d9 s DWORD dwR, dwG, dwB;3 Q8 Z. P9 |6 O! K. c, |: h
dwR = (DWORD)( pLight->Ambient.r * 255 );
: ]; p: X# u$ n' g. {2 r; i dwG = (DWORD)( pLight->Ambient.g * 255 );5 ^& j9 `# {3 ~+ \/ I$ c
dwB = (DWORD)( pLight->Ambient.b * 255 );- B* f" R. U. A- ?
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );' }9 Y, [; ^! L0 d+ p. r0 A
}
8 L! V4 R* P% E3 ^. _ }3 D0 ] @$ B/ `" I/ ]
}
. J+ {) o2 h2 Y r! S1 F& X else2 \4 }% ?$ ?) g' ^8 N0 c
#endif
4 r+ [% w3 D# I8 B
$ }4 O* f: t7 a% ]& j! {. [) z if( m_bIsIndoor )
3 t7 a. o5 B. v8 p- b {
$ i/ R- H! y4 v% `) h& | if( pLight ); e4 [& U* Y3 K" D, T* l$ L
{ $ @9 j; C6 ]- V8 F- Z# d. B# C
// à??μ oˉè* * i" C5 `5 y$ ?" g. x
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;. B: o) S2 t" y
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;9 m- z& N8 n8 L8 r( y) N
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
% a* p; L, D" ^4 |
- y1 S& h0 l' G8 L' p- i0 B3 T: l$ K // oˉè* ??à? 6 N) A1 a# S0 N5 G$ _0 E" `( @$ R" C
pLight->Specular.r = 1.0f;' E. T- b7 S6 }: @! `6 F8 {
pLight->Specular.g = 1.0f;
: f: U# t! D* I) g& t pLight->Specular.b = 1.0f;
. o" z Y0 Y/ u: N: q1 t // àü?? oˉè*
3 c) ^6 o$ V# d8 v" Q' t5 h pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;4 ~6 K B1 a) w4 ]$ x
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
3 ^& J# b' K& N pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
. P, Q$ r4 p+ z. e3 T& L
$ X* o$ {. h- b- a9 m2 C if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.* `- g" |' I2 C, S7 Y- I
{; m- k+ d; S! v7 B z+ Y
pLight->Diffuse.r *= 0.6f;8 k5 l+ b4 N, h7 D8 Q
pLight->Diffuse.g *= 0.6f;! M2 z" k6 C0 N* U% a' n
pLight->Diffuse.b *= 0.6f;
! x* c! z, i3 k pLight->Ambient.r *= 0.7f;
2 L% M. J& J7 j( Q% I pLight->Ambient.g *= 0.7f;
( L! }9 Y1 t+ @7 b. x3 h pLight->Ambient.b *= 0.7f;. W- V' v. x) o' H; u9 U
}
' b, M$ _; g* }" U" m- d+ r5 d
- Z4 J5 R* W; R& h! G$ a; |#if __VER >= 15 // __BS_CHANGING_ENVIR$ Y( |0 U* K, ^2 I( G- Y$ m5 Q* s+ u* O7 A
if( g_pPlayer )) a; s1 H' `# T( k1 V. h
HookUpdateLight( pLight );
. n+ y& x6 B3 Y#endif
) W" J! P7 W) [* [ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );& _. k: ^. K: z
. I5 k# ^' W3 @( x pLight->Diffuse.r += 0.1f;. ?9 }5 f+ ?' k i! D
pLight->Diffuse.g += 0.1f;; f2 `" s8 ]2 `) c
pLight->Diffuse.b += 0.1f;0 `0 W, N4 W' v& f: X6 G% r9 ^
// oˉè* ??à? , C' N6 B5 a1 o9 x8 A& c
pLight->Specular.r = 2.0f;
& @- o% k) P2 G: k! w pLight->Specular.g = 2.0f;
7 x1 |5 {* d2 E) @ pLight->Specular.b = 2.0f;+ N& D9 F/ v& ^1 ^( B" G6 A
// á?oˉ 8 l. ]7 K! z* Y
pLight->Ambient.r *= 0.9f;
: V: X- L7 @( W( w/ s" ]! J2 T4 h9 T pLight->Ambient.g *= 0.9f;
/ ^+ u7 A$ K- S+ { pLight->Ambient.b *= 0.9f;
4 ~' E" P# G$ o; J& j* A' @: c( q+ ?$ z: g K8 _3 R
memcpy( &m_light, pLight, sizeof( m_light ) );. F) V( M& j% H) }, L
/ K4 j# a3 E$ x" x2 y& j) \ pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
" B. O" T) E1 t) [- _8 M pLight->Appear( m_pd3dDevice, TRUE );, S2 G2 V3 Y* X
+ ~: h: G. n$ G1 } DWORD dwR, dwG, dwB;; v* J7 w4 i4 k
dwR = (DWORD)( pLight->Ambient.r * 255 );4 k! E- |. Q5 }* u# D2 `# o9 K, }) v
dwG = (DWORD)( pLight->Ambient.g * 255 );
+ w8 ~% O! _. t& o, W# [ dwB = (DWORD)( pLight->Ambient.b * 255 );/ Q( n. v5 @( D( f1 i7 p( t
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
6 W3 F- X7 g% D }
! H( `" g6 J) }8 B% D8 s3 ?: Y }! J. `) Q, A( m0 t
else
: B* {. }( q& h4 M2 j* w9 y8 g/ f {
. E- r1 y8 B, L W' J if( pLight )9 y6 G$ c9 V3 w* `
{ b' x. K, G( J; `$ u
9 X; D* y4 N* K. n1 b, C
int nHour = 8, nMin = 0;
; E0 ]! G: _4 e# [& e6 s& v #ifdef __CLIENT
6 }9 M ?* Q# L/ t G5 L // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
) k8 p4 u- _: N1 M( p. M& D nHour = g_GameTimer.m_nHour;, A/ k. r8 d. Y! ]# L
nMin = g_GameTimer.m_nMin ;
$ v0 z8 k. N. i7 C; f #else- J, M) ~ @0 d3 {6 j/ h; k
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.; f9 E6 B( ~; ^0 s. l0 u. C
if( m_nLightType == 1 )1 _+ }7 [" o7 r5 g& O- D
nHour = m_nLightHour;* J2 P% l+ W; T# n3 ?7 M
#endif7 A- t7 ^& J5 F! r
nHour--;( E; y* _# L4 p6 ^
if( nHour < 0 ) nHour = 0;( I1 {( P$ A+ f& R( m' t3 a
if( nHour > 23 ) nHour = 23;- J1 n( U% k) X4 ]1 d. u0 _
$ ~2 h4 A( O; D( r; d
//if( m_bFixedHour ) x1 {/ B Q v
// nHour = m_nFixedHour, nMin = 0;
" L8 S# O0 C* B9 p* Y/ Z% h3 W LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
: J! Y% _$ h8 ~ LIGHTCOLOR lightColor = m_k24Light[ nHour ];
- K8 I1 `3 l) d# g! M
8 O5 J+ I% R/ O" e; n5 o: L* Z0 K+ A //m_lightColor = lightColorPrv;
: g+ I. F: h+ [6 M" w lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60; s0 e E1 S% j* V
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;5 n7 o: `! `# K# p+ I. R6 _" g
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
: X! N; y. l4 C7 C/ i c lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;; D& F$ l+ R" ~; b/ o# I
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
5 @- F; J/ h) A+ M7 v( X1 q lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
3 P+ E$ P) J% J1 X7 w6 F% H6 _ // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
/ }2 r3 @, V) K w% A% T, v4 P7 k( Z0 r f
// à??μ oˉè* , |0 F8 |5 b8 y# R7 n
pLight->Diffuse.r = lightColorPrv.r1;
1 f! ` Z- Q' K! Y8 H# j( K pLight->Diffuse.g = lightColorPrv.g1;) P! }* h8 l+ n" g/ ?7 t
pLight->Diffuse.b = lightColorPrv.b1;
) q+ x6 t3 y2 V; j! k6 e, p7 e0 ]7 @ // oˉè* ??à? 5 z1 Y7 G1 Z! D! k ?
pLight->Specular.r = 1.0f;
: b% K4 y# e2 J* H4 c pLight->Specular.g = 1.0f; e0 R N9 `. S1 C1 C
pLight->Specular.b = 1.0f;
?5 Z% ]: h8 w3 I; S // àü?? oˉè*
' k3 i9 v* @% p( q5 Z& A pLight->Ambient.r = lightColorPrv.r2;- j9 s9 V: f- E3 a9 W. g, U; s
pLight->Ambient.g = lightColorPrv.g2;. o+ M3 y% D* y& `! x
pLight->Ambient.b = lightColorPrv.b2;
+ y+ _, d; E* m Q8 x! S- S
/ c L+ g( @6 l u, D1 u. h if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
* \' ]" S7 {9 R0 B* }8 }1 c {
+ B6 K( O- p& X2 ^& G pLight->Diffuse.r *= 0.6f;
- _1 U/ _8 m( r1 N: s% X0 G7 z pLight->Diffuse.g *= 0.6f;' B8 H8 j7 u, s, m% }0 r2 \
pLight->Diffuse.b *= 0.6f;. O. n; X' D5 W# ~- h3 ~
pLight->Ambient.r *= 0.7f;
& y. B K7 l; v" @* P( @6 P pLight->Ambient.g *= 0.7f;
! j: j6 e8 P" ^6 k* b2 X9 j pLight->Ambient.b *= 0.7f;
) c6 t' V! M0 E* y3 p, E }
F% j; e" [- k' Q! S6 n- Y$ h 7 L2 q5 I, Y4 L M6 A9 f
#if __VER >= 15 // __BS_CHANGING_ENVIR
+ f7 r& e( i' ?1 j. j# D2 X S' J, J if( g_pPlayer )
0 B+ I6 N6 w' o8 e5 z HookUpdateLight( pLight );
- Z/ H: N5 ]" H4 z! Q; P#endif
8 L2 \; s3 a/ T& h0 [' Q) U memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );! ?2 @9 B) Q! ]! ~- L2 T
( c+ |0 ^% \7 P( I$ l8 t+ |; L6 H2 H#ifdef __YENV& d7 x# a7 J8 Z% y1 i7 E9 v# U' D# @
pLight->Diffuse.r *= 1.1f;, q2 e: z, a8 Q& B6 Y
pLight->Diffuse.g *= 1.1f;
+ r( I4 D, ~7 _! H6 D* ~ pLight->Diffuse.b *= 1.1f;6 l P6 j- p' b8 T* s+ L
// oˉè* ??à? . @: b/ ]4 h6 h8 r
pLight->Specular.r = 2.0f; Z) Q# }, ?6 [9 z! y
pLight->Specular.g = 2.0f;
9 ]- z2 A2 d, A) ~ pLight->Specular.b = 2.0f;
" ^/ w7 L5 [0 v // á?oˉ . z0 n z. [4 A% F* T8 X5 x: Z
pLight->Ambient.r *= 1.0f;1 ^; v) x( P9 G! V
pLight->Ambient.g *= 1.0f;
9 j2 O% Z9 [9 j8 h' r7 X* H0 A0 M pLight->Ambient.b *= 1.0f;+ z2 {, Z( B/ l0 Q L
#else //__YENV! }( Q, y' u4 [% f
pLight->Diffuse.r *= 1.1f;3 A3 K |9 M' @4 P5 U7 B# p' T
pLight->Diffuse.g *= 1.1f;. m7 N' D; V; h. M% h& f4 E
pLight->Diffuse.b *= 1.1f;
- Y; @5 h8 X: Z! n4 ?' y // oˉè* ??à? & Y8 c% X3 e! X) B( g
pLight->Specular.r = 2.0f;
' R5 P' |) O3 R6 M pLight->Specular.g = 2.0f;
; R2 G) g9 [4 N' ?! ` pLight->Specular.b = 2.0f;* z' p% `: g4 ` D: y/ r8 |0 t
// á?oˉ 8 m7 U4 l3 h/ w2 y; y+ d/ U
pLight->Ambient.r *= 0.9f;' W/ U# P; j1 u. _
pLight->Ambient.g *= 0.9f;
" d! f( C2 b/ A3 ]# S0 b) H8 I& d pLight->Ambient.b *= 0.9f;" O7 {. p' X: U
#endif //__YENV 1 U5 ^8 Q7 c* f& S9 t4 @
a$ G" Z: N5 i: L& O memcpy( &m_light, pLight, sizeof( m_light ) );0 q% {1 x8 S8 [; M
* W Y4 c7 a2 L) ?' o$ x6 A6 T D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
: q7 c+ |, [# K. q7 C0 u7 O* { D3DXMATRIX matTemp;% {: r5 g$ X+ g7 m
static const float CONS_VAL = 3.1415926f / 180.f;+ |* ?1 B( W2 A: i% r3 R
- j0 U0 c0 _9 T: D" b1 q' |7 W
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);9 r- U& Z" X2 m6 _! U2 R& I
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);- j7 l5 ^( {* ?; V' o& ~8 {
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
5 Y, y# p6 D4 |, l pLight->Appear( m_pd3dDevice, TRUE );- r1 n* {, b( D$ n" ?2 X/ H
" m1 v* k% ^8 h( i/ n; x4 X
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);1 J7 I/ G1 c4 |# x) E# V& i
// D3DXVec3Normalize(&(vecSun),&(vecSun));
* E+ t) y9 V, N // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
# g2 Q9 u0 O- l
& a2 ]% L4 l& m- ~9 d* _ DWORD dwR, dwG, dwB;7 m8 y* w; [* [3 ^; w* u
dwR = (DWORD)( pLight->Ambient.r * 255 );/ t- {1 E9 U" p
dwG = (DWORD)( pLight->Ambient.g * 255 );8 n% {9 f8 y0 S" E5 G0 r& L
dwB = (DWORD)( pLight->Ambient.b * 255 );
' T& ?2 v: B2 y dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 0 V# {- v% J8 w" B3 Z
}4 T6 ~3 ^8 t* C, e/ ]0 ^2 b5 B. [
}4 I" h5 C4 [3 x; H0 G
. @* m* ]& t0 @* ] m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
# G$ a) G" B- C, _ a& c 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) );9 p/ m0 a# [' g
::SetLight( bLight );$ ~3 `; t- ~* Z1 i; d1 P
4 R; X1 B! ?# Q7 s w/ \9 r // ±ao? ?D?í???ó á¤à?
1 o% T( J Z! { R% u: | m_pd3dDevice->SetMaterial( &m_baseMaterial );- B% j, T) @9 C! W& p& [+ ^0 j
+ B% a& K `; h" ^ n& K. \, Z
#endif // not WORLDSERVER
3 y! V5 T y, X# j}( w7 y4 ]3 |& Q2 H* C6 J5 t& c" q
并更换, p8 n, e% V+ t, M( _' G% Y# a
Code:
, ?' r- f5 _. Q& K. j__FLYFF_INITPAGE_EXT# k+ t9 V' A8 H2 Y- @; H3 p
定义
) j }9 P, Z/ O8 P2 a: b
% W3 f9 F6 ^! G4 B! `- F& |* n9 I! Q) L# x& _+ ?: I- I" R* K
0 V* H3 a: B9 l" \/ q5 J% m# @2 S, X
现在终于删除我的狗屁加速..., X' j# h4 h" {* q. V
1 w' D! c+ u+ u1 ^5 _* S" S' ], h2 W$ @' i4 Z0 d
0 c9 t0 `$ V. W
|
|