|
|
食品车:8 I# j7 I0 I) f, y: j7 v
尾翼:
2 i0 ~# J0 o: I7 ?$ o/ h( e/ e5 f% ?. d; I
代码: ~! O' i9 z+ Q1 ]6 d; g
CWndAutoFood::CWndAutoFood()
- W0 T& |% Y% X# S% o{
& Z( |, ]. C7 L m_pItemElem = NULL;! R" G2 Y$ ]: ]1 [5 m6 m4 L4 d
m_pTexture = NULL;
# ^- |( S$ ], r0 @5 |% F Q bStart = FALSE;/ e' L8 q9 r% S8 O+ h
}+ K7 e' I G1 k6 H8 b4 Q1 P
1 a6 R3 ` [1 |8 H E9 VCWndAutoFood::~CWndAutoFood()
/ A/ w) M' n& ^% p9 \+ L{8 U) ^5 z0 w" e6 Q( W6 g p/ C
AfxMessageBox( "AutoFood ist gestorben " );
) r$ [, o; _9 w" B}. E8 M; ?1 F* y- ~! ` `9 @
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )& `6 O% Z+ ~/ c: @' R% K4 l
{# j2 o5 d- V3 k
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent ); O( d }" W+ C9 q
}
+ L/ W9 t C3 Z4 J, y/ B
0 d6 x8 h: v" n IBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )3 G/ c Z; ~- h
{4 K* a4 i( A( W8 j: ?; D: Z$ v
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );, m! a( I, l; c3 d; x# h
CRect rect = pWndCtrl->rect;
{! X' h, Q) ~ if( rect && rect.PtInRect( point ) )
3 W9 s4 q6 N" _8 B, g8 w5 q {: T, z7 \ F% \, @' {% }* i& {) ]1 b
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
$ h } Y1 D" n3 [ if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
$ x5 }0 o& K3 n9 R3 K$ s {
: Q" g' e/ F6 ~, r. ^ if( m_pItemElem )
9 n: t0 ?2 o; d6 T4 R {
o+ o, p2 _' L. t7 B m_pItemElem = NULL;
" z7 Y @ }# A! V }( Q2 M( @! J6 a v C \: ]
m_pItemElem = pItemElem;
' d% J: k' P/ b, O m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff ); Q L6 D# |6 y; {4 l9 G# M9 _) n6 q
}else{2 T- {" Z7 Y1 C
SetForbid( TRUE );. }6 G G- |) P5 ~9 \
}8 ? R! W* t' w* [5 y G
}else{
4 u1 |6 Q# d9 h) A. @ SetForbid( TRUE );2 p; H; |) W/ Y
}1 H+ O2 Y: a% O2 V |3 [
return TRUE;3 B0 M, P( J& ~1 H
}
5 Z: ^, n2 N3 H
2 [) l# Z7 n7 |+ g% w, p* dBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
& R: } M% y( a1 H' { V{
T3 f4 J2 V) ~9 a' P3 d9 \0 l switch( nID )
+ [0 V8 [. l/ L9 p8 | {+ P- _6 t3 J6 ?7 x8 b& n/ [
case WIDC_BUTTON3:! v* m: B) `. y) |, p# z& P# e# q: u
{( C; H/ b, ^; t9 [) I3 Z; R+ L& p
bStart = TRUE;5 M% t1 `% I7 k" ?/ T4 M9 h
break;6 J" |# ]' ^9 E1 t$ d0 H4 e9 n
}5 _; c& H: o: Q6 A
case WIDC_BUTTON4:- g' w+ _ G9 {4 w
{) z# k8 Z4 t) R6 F' W/ K+ V7 x; `
bStart = FALSE;5 q' g' D! Q% y9 K" K% ?$ k$ M! ?
break;6 `4 h& Q% P/ N* j2 q' g8 F
}
0 n! C) q" Q3 L1 P& M }6 O7 I# o1 s8 t1 z, x; D a1 h
return CWndNeuz::OnChildNotify( message, nID, pLResult );. U( f( k- J1 [! d$ ^
}
& N$ k5 k1 D, j0 ?- Vvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )/ d8 A+ }5 l; ~1 Z4 ]7 j
{* y1 X2 O/ X! J1 a% X
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
7 }8 n6 J, A3 ]; V if( bStart || !m_pItemElem )9 n6 J' c$ v4 O
{
! R& ?$ m2 O8 D pBtn->EnableWindow( FALSE );; n( ]) T; I1 q7 _1 `! W5 v
}else) \; P1 z! ^9 j6 r2 B; \
pBtn->EnableWindow( TRUE );
) y; W9 M' W+ i" z h if( m_pTexture )5 J7 v2 T% K* n& K& t' q7 F0 |
{. e* V l3 E7 P( u) G
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );9 l1 i9 J0 u& y& }- {
if( wndCtrl && wndCtrl->rect )! ^& K6 h7 e- L6 ~) V# k) D
{
* O, i. }2 w; p T0 _3 N m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
5 \5 @6 B" J' Q4 x2 v/ o+ W }; z7 j4 n$ h7 _0 |; ]
}% `5 ~5 Z, j- `# y i
}$ S9 k) y1 b4 F/ X
9 p( [$ n& L; V7 vBOOL CWndAutoFood: rocess(), k; J' @( o, x1 C% g
{
' Z6 h7 R* U5 J6 C8 a% f if( bStart ); ]; V8 t3 J/ `8 \+ ?
{
- |# d3 x% n) e: \ if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
5 D/ \5 D3 K* v0 h q3 L {2 v, m0 Y9 l ~7 I2 Y( ~0 j+ \
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
& }; g. K' K+ o, h( ~" F g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
" c4 C+ @; O# G0 ~1 Y }else{9 [, S, U& n) {& [9 F5 ^ R
bStart = FALSE;, i2 a( X$ o3 G' b4 Z# F8 ]
m_pItemElem = NULL;
6 m: d" P- y0 l% W } t" ~' C( H/ S! ^9 G6 X' X4 y
}+ k8 y5 J2 }- s) C9 B, Y
return TRUE;7 q" N7 [* e$ X
}
+ D$ d2 f# P3 a0 c3 C; z1 I5 }3 J& j, ~
登录视频废话:' h' a* O/ i+ r0 l5 }) x( V
尾翼:
; S* C3 x. V+ {* L# C
1 ~. H5 l" V3 l' u' L& o8 l代码:4 e$ `1 q1 k; ]2 ^' d- O8 u
% L- T3 ]# R# F6 V% E- k& E5 b$ v; d
void CWorld::SetLight( BOOL bLight )
1 ?+ g0 g! p. c5 ldurch) r9 q# u' _* k. Q
Code:1 q( t. B5 D' o0 L9 ^: h5 j( ]2 H% M$ k" _
void CWorld::SetLight( BOOL bLight )
; B! u* Y6 Z4 [) W{/ }/ j& D* ^0 v* I+ y9 k) X. U
//ACE("SetLight %d \n", bLight);
6 C! F- h0 a, I6 s) }
4 d9 X1 n: a+ j$ {, e& `7 o#ifndef __WORLDSERVER 7 V3 c1 {6 P/ ~" X! h' ]
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);. \) c- f9 E* k/ J
CLight* pLight = NULL;& A8 ~8 m, z6 o* V5 V( Y) M0 h1 g
: G) h: K- W/ P
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
" ]( I1 I/ c+ `2 _9 F0 t7 t! L6 g" d+ |+ y: a: }
pLight = GetLight( "direction" );
; a/ D& t; X$ v3 ], x; g
, {- A7 W) i* f4 p/ @4 [8 e P#if __VER >= 15 // __BS_CHANGING_ENVIR D/ D; Z0 I# \+ T* P5 m1 r6 [
if( g_pPlayer ){ J- V* l; j6 Z6 J
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
1 A. M$ A$ \. ? if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!4 d2 L8 X& h1 H3 E r
{9 R9 K. ]/ R+ p% x: L% M
if( pLight )
/ R: O# o/ u6 z% N" h {
+ x8 @) f1 O( w9 A pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
( H/ q+ E/ }+ U- Y. P( p& B4 s pLight->Ambient.g = pInfo->_fAmbient[ 1 ]; [* T+ Z8 ~6 H. B2 w2 H
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];# v- b; E9 L/ w$ j7 @
7 T: h4 F/ s9 K pLight->Specular.r = 2.0f;
8 j/ i8 a0 K" R( O pLight->Specular.g = 2.0f;2 K6 p) y& e$ d3 D3 X
pLight->Specular.b = 2.0f;1 P5 y6 u, |6 e- m
' ?1 I& m1 k, {
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
3 e/ j! ~ U5 w. a) I0 B" J7 x pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
4 D1 u5 {) Q* F. ?5 l) C. ? pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];6 A) ~$ q; a- D7 J0 L' a
% K( D; a9 J! T& [6 O
HookUpdateLight( pLight ); 7 W) N" m/ W* ~) G' `0 s
! |: ]% V4 j1 o/ A, q7 D memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );* ], C3 T5 J% D" s' v5 Q7 b5 _
* b h1 N% u; H5 s5 B4 d
pLight->Diffuse.r *= 1.2f;
; P0 D# O* u7 J' t$ W6 Z, n pLight->Diffuse.g *= 1.2f;
7 K/ k0 ]$ D/ b- q, ~3 `( t pLight->Diffuse.b *= 1.2f;
3 B6 _* n, A: G L& m& }- `: @1 ?# {7 ]6 m
pLight->Ambient.r *= 0.8f; n- r( m( q2 ^% U
pLight->Ambient.g *= 0.8f;
+ w( {! v2 _: v# |* Z3 Z" d7 n pLight->Ambient.b *= 0.8f;
# X$ t( ^: u5 @
6 i) S8 |+ j3 ] memcpy( &m_light, pLight, sizeof( m_light ) );
# ^1 I; S: {+ t! J! p$ O7 c, W" T5 y( l6 A, p& W* f7 v
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
/ m( c B, Z2 s6 _ D3DXVec3Normalize(&(vecSun),&(vecSun));
4 m+ e5 l, G9 Y( x" W- ?8 ] pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 4 X2 f/ C5 U! V' D+ X# i L
pLight->Appear( m_pd3dDevice, TRUE );2 v2 _# |+ {3 C
8 O; D1 f( X7 p! v! l
DWORD dwR, dwG, dwB;
$ M/ m$ Q6 x7 w4 i" g dwR = (DWORD)( pLight->Ambient.r * 255 );
& E S8 L( D( E dwG = (DWORD)( pLight->Ambient.g * 255 );: F1 S+ ?. s. t" f, D+ E+ [$ K! k
dwB = (DWORD)( pLight->Ambient.b * 255 );
" g3 z0 \: v2 ^' h) d! [ dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );7 J, S$ M* v+ x5 w* U
}
- \$ `( x/ U9 R! }, D( ^ }
9 |$ A Y/ c3 m. I+ O }
: P( H2 v7 N/ P3 L9 S6 e0 _ else# c4 C3 M9 d4 K8 N) r- \
#endif 5 ^3 _( [' v8 N9 W/ r5 T
$ J8 n% {0 G) z \
if( m_bIsIndoor )
q3 t+ |' B9 p7 I+ @) z; Y5 c {
8 o: f! @: ]5 p+ P H* e if( pLight )5 i* r2 G: d. q# n! R5 c
{ 0 T2 \5 h! d! T, L' \ s' V. t
// à??μ oˉè* , [) M/ m. U7 \; E
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
( H) y3 g% x% T pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
3 }# K$ F+ I+ ~ pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
+ L8 `0 D( y+ E$ z& W8 l; e# }6 v3 \) h# X5 d
// oˉè* ??à?
$ d0 r) x) Y4 c& M3 C R pLight->Specular.r = 1.0f;2 y8 `$ f( W" h' y' s
pLight->Specular.g = 1.0f;# @! S/ ?, e! `7 C( t! [ ]: m8 h
pLight->Specular.b = 1.0f;
; Y% D6 W* G0 |/ e/ H // àü?? oˉè* 9 h9 ~5 |& `* X0 o
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;3 m) J: \: X" O- `# `0 h5 p
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;0 w0 h2 L' e* K( ^% ]
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;, b) l1 i: s' k% l w" J
; X) i V* q" }9 T! Q; i if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# X7 i/ {, G- _7 c {7 Z& x9 h K! y# V6 y
pLight->Diffuse.r *= 0.6f;
3 ~& A: @8 K r* H9 A8 g pLight->Diffuse.g *= 0.6f;
8 j3 E a" |2 ?6 t2 z! l" K pLight->Diffuse.b *= 0.6f;2 s" D+ U# {* P0 M; P
pLight->Ambient.r *= 0.7f;
/ W2 ~, b I5 x+ q pLight->Ambient.g *= 0.7f;
8 A: j* f3 d0 t) n0 {# u o pLight->Ambient.b *= 0.7f;
- Z4 \6 `6 G+ X4 W6 q9 y }6 \* Y5 q2 y" P/ g! B
4 T9 P0 M' p* L X2 N
#if __VER >= 15 // __BS_CHANGING_ENVIR/ I( G4 p2 Q# r7 f
if( g_pPlayer )
/ @7 M4 Z2 L5 n* _9 e HookUpdateLight( pLight );* T5 V3 J- _: q5 e& j5 J& D( q* H8 Z
#endif" o! x! k+ o# H, E- Z% V3 Q, c# N
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );/ A- }! u3 Q3 z& u9 E: ^
) C# A* {0 H h4 s) a
pLight->Diffuse.r += 0.1f;
2 z Y& A$ O3 v pLight->Diffuse.g += 0.1f;
1 D% z$ E& ]4 ~( N1 b+ ~ pLight->Diffuse.b += 0.1f;% `- \+ [" `7 V( o$ e2 H9 L
// oˉè* ??à?
+ \; ]7 U4 v/ k/ j pLight->Specular.r = 2.0f;
; c* i2 W& f, f. u5 q9 s/ M# l pLight->Specular.g = 2.0f;
' Z0 G7 t1 V9 J2 X6 A& Q pLight->Specular.b = 2.0f;
. O u6 c* v3 P, z5 l( J6 u: R // á?oˉ 8 P; m! u+ P( b" V
pLight->Ambient.r *= 0.9f;
; }4 I) J; M) H) K+ o7 V pLight->Ambient.g *= 0.9f;& }9 Z9 y) e: X( F; o" U# k
pLight->Ambient.b *= 0.9f;; ?# s* }' P# N1 x: }
' k7 w, O6 N4 q$ S/ Y
memcpy( &m_light, pLight, sizeof( m_light ) );/ N% d: k0 s/ U. B
8 q2 k6 M" ~' o3 U# X5 U
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );1 m+ [& z9 l Q% I
pLight->Appear( m_pd3dDevice, TRUE );
8 C4 D% C5 K+ z2 x7 |( P B8 O/ l
2 }3 L1 v# f1 @ D* ?" R DWORD dwR, dwG, dwB;
4 b5 N. S5 n. D$ O3 F5 ] dwR = (DWORD)( pLight->Ambient.r * 255 );8 W& Z i0 e: ]% c, P. k# M. U
dwG = (DWORD)( pLight->Ambient.g * 255 );
8 W: G$ S( l( \1 } dwB = (DWORD)( pLight->Ambient.b * 255 );2 ]# g& @9 C7 U
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) Y4 t) @. H6 m' S5 K' _& A, B) z }
- ~( i8 s5 {% [3 j) e' ~9 C5 ~( J }
& I1 y7 { ^7 ?. \7 N else
5 L% K) \# r0 ~' @6 C {
~; w. T: U$ G* ?6 n. s! L8 F9 m if( pLight )
4 f5 u/ _% ?7 U- l6 q {7 k% O! L* k- m2 k
n8 W; W! \2 `) y& H
int nHour = 8, nMin = 0;
' ]/ e7 O+ d7 b/ n #ifdef __CLIENT
7 S3 V$ j; `7 J" \5 L2 c // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 5 p0 {. B/ E5 J
nHour = g_GameTimer.m_nHour;
, l6 V$ S* W( E0 _: \ nMin = g_GameTimer.m_nMin ;: ~7 }3 ^. L2 ?0 ^
#else
( l: M) e' o9 O: v) a( f // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.( r5 ?0 X6 ~; \3 c# S) M
if( m_nLightType == 1 )- s8 ^; _* c5 u0 E; v9 p
nHour = m_nLightHour;
/ W$ h ~9 {7 w/ x* i! w$ Q( O. I #endif" ?8 l$ w* \% p$ C% F
nHour--;
& B; d; a8 ?6 H; W if( nHour < 0 ) nHour = 0;
6 w$ t! S+ {0 {. C& v: a0 r if( nHour > 23 ) nHour = 23;2 f0 Q. f/ U/ ^% X; g$ [' U
% p. Q7 {" E- E- N) J' ]$ X5 j7 | //if( m_bFixedHour )
* L, e9 ~. b3 ?9 L( i3 a // nHour = m_nFixedHour, nMin = 0;
3 C( c3 A$ G: \7 |( q! x LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];1 v7 m; D" m% o# Q
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
3 h) Q5 K+ ?4 F+ ^# r1 T' K9 s5 A7 K$ L% X, \
//m_lightColor = lightColorPrv;
2 V2 M, }" j4 B. \* P lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;0 U" X, }+ _. w4 C" b- c7 E0 C0 X2 o
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
. o: j; l2 D5 z6 |! i lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;! s$ }" J' U5 ~) k1 r
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
' x3 i9 A1 m# \# i# k lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
6 P5 a6 n7 B" z3 A' g* [ lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
f7 {7 g, _7 o* j+ ~ N0 e // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)1 k( r- {. M5 `+ n" h+ e9 H/ D& w
8 @) P( ~8 t" b2 a) ]1 Y0 ^
// à??μ oˉè*
* {3 `/ N& q$ S0 \% n pLight->Diffuse.r = lightColorPrv.r1; J+ v8 S% P9 U$ e* }/ {+ j
pLight->Diffuse.g = lightColorPrv.g1;
6 k2 T- R5 Y; M& D9 ~" E pLight->Diffuse.b = lightColorPrv.b1;" T" x8 o6 Z/ X# E- o
// oˉè* ??à? ; Q3 i3 N+ {# O: u0 L1 p O
pLight->Specular.r = 1.0f;; o4 O1 g7 E z! h% i, D+ j
pLight->Specular.g = 1.0f;
4 f4 P6 J2 W- P( V0 ]7 Z8 \ pLight->Specular.b = 1.0f;
5 `- B7 E) y! V$ J% i$ J5 _: g // àü?? oˉè*
- k/ c7 d% q+ ]0 c; C pLight->Ambient.r = lightColorPrv.r2;
P! l2 L& k5 M P, g pLight->Ambient.g = lightColorPrv.g2;
6 [" K' }: R) N, i, X. _# S pLight->Ambient.b = lightColorPrv.b2;
) E8 B5 i3 _3 I4 l- U0 P! c, \- d# {" l2 [, H
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
3 e. I7 A( V) q9 n/ ~ {0 R% T G) }) i6 ^
pLight->Diffuse.r *= 0.6f;
( c2 f, ^ Z/ R# Q* r+ x pLight->Diffuse.g *= 0.6f;$ K; \/ @) i6 C& ^4 }
pLight->Diffuse.b *= 0.6f;! w. V0 K- c$ @- v
pLight->Ambient.r *= 0.7f;
3 c% ] }; N$ x) O; } pLight->Ambient.g *= 0.7f;/ ]7 t: X( @% r0 C. R
pLight->Ambient.b *= 0.7f;' w3 ~. v/ D$ N
}
- [( x: j7 Z! Y2 I" R 8 C! w: g1 \& r# r6 F
#if __VER >= 15 // __BS_CHANGING_ENVIR) A3 G+ P5 ?/ N) R) Q
if( g_pPlayer ), C+ J4 Y% d9 ~
HookUpdateLight( pLight );
5 c' M/ C! \( `1 H- K#endif
3 R% g# U q( C3 U memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );4 P c# G, H& `; l/ ]7 e$ y
3 u- K3 X& B n$ K! y9 y+ w9 J) K
#ifdef __YENV
5 W5 ^- j: V1 r- N" k% e pLight->Diffuse.r *= 1.1f;: r) q' l- y9 p! A' U
pLight->Diffuse.g *= 1.1f;+ h2 {- k* F- q4 W& B* z3 c
pLight->Diffuse.b *= 1.1f;
7 M0 V9 @9 h3 Z2 M# J/ f# g' `, G // oˉè* ??à?
5 P9 Z" S$ J$ L8 _$ h) q pLight->Specular.r = 2.0f;7 N8 t- B1 d* |% r
pLight->Specular.g = 2.0f;) {. K) d& X5 O V$ l
pLight->Specular.b = 2.0f;
. y( \ z# D" S" T2 F // á?oˉ " `, a8 G* s/ w8 n* D \( {8 S0 w
pLight->Ambient.r *= 1.0f;( E' \! [, H) x# g
pLight->Ambient.g *= 1.0f;1 d8 D- B- P# D4 R9 _# Q
pLight->Ambient.b *= 1.0f;, E& Q) h5 t4 z3 o& i/ n
#else //__YENV2 B$ b9 N6 L k6 l8 d3 }
pLight->Diffuse.r *= 1.1f;
, [# P& c0 H3 D; U( J, y pLight->Diffuse.g *= 1.1f;* u5 Q, }, L. k0 d8 b& z
pLight->Diffuse.b *= 1.1f;1 }7 y0 F7 r( ~
// oˉè* ??à?
; _( f5 f6 r, J pLight->Specular.r = 2.0f;
8 r3 [% t9 I( j! x. K pLight->Specular.g = 2.0f;
* T+ |/ |9 m) t pLight->Specular.b = 2.0f;5 |+ g% d& \2 N+ M4 [
// á?oˉ
/ J; J3 Z2 ^ e. p pLight->Ambient.r *= 0.9f;$ M$ h; U! m$ ]1 ?9 d2 n. ]; ^8 E) K
pLight->Ambient.g *= 0.9f;
$ r1 y1 [- j) a* F q$ n2 a# f pLight->Ambient.b *= 0.9f;, r9 ^- Y( w; y9 w8 R$ m
#endif //__YENV
1 p, d; q: r& v: i% T' d1 a 4 g0 v8 j8 }: S5 ?6 v" O
memcpy( &m_light, pLight, sizeof( m_light ) );
1 z; p! ]3 L% V. F6 r/ f- H' D7 G + ^4 B3 _6 }$ B$ c4 r
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);+ y1 \* _; O9 z7 @, F
D3DXMATRIX matTemp;! h$ r/ z8 U9 e. A
static const float CONS_VAL = 3.1415926f / 180.f;
" P9 o) s* O8 _3 Q ]0 F+ U
4 Y+ l# s- N' m D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
" W' o, N. ?7 N! r# y" b D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
F9 a, z# W5 g3 m% q pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); , f! ]+ j. ?/ ~" @ ]5 U6 F( N# j
pLight->Appear( m_pd3dDevice, TRUE );6 {2 n1 a" w# S6 C* ~
- Q* h" ^& y, g. d1 @; ]
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);6 b" ^2 R( r- H
// D3DXVec3Normalize(&(vecSun),&(vecSun));" B7 [8 |* ]# n* h. w- x1 m
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 5 J d# W4 Q: f+ I# ]
- Y' J/ P3 i- K0 E, X/ K! ~ DWORD dwR, dwG, dwB;
3 E0 v: X& B) H dwR = (DWORD)( pLight->Ambient.r * 255 );6 E- R! @/ Q. V+ a' D. k/ S( s# [5 Y
dwG = (DWORD)( pLight->Ambient.g * 255 );1 }% S) t! a; D& z" l4 r9 K
dwB = (DWORD)( pLight->Ambient.b * 255 );
! \# C! F# w7 Q" k+ Q9 U' o dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); ' `7 e! E4 j. @0 s$ p1 n) k1 g1 H
}
( i1 E* L, b( E }
& w( `) w9 [& k8 j' i* t5 J( Z0 V, M& f6 O! ^1 e
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
5 @" k5 S: ~$ R6 M 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) );" z+ H! @9 {: U. x) T% k: p
::SetLight( bLight );
! G0 z1 u& w5 e% a) x
" ?* K+ Y" r6 k/ ]0 B // ±ao? ?D?í???ó á¤à?
2 G A! n) _9 M6 E2 p: n6 e m_pd3dDevice->SetMaterial( &m_baseMaterial );2 N* O$ H9 C3 ]- d, ~. c$ V. i
9 o9 x. J# N# z3 [. q# W#endif // not WORLDSERVER
6 Y$ P" X0 |/ l$ N O}9 m; J) l) Y/ g* l
并更换: E6 Q7 m# i: ?$ G. s
Code:
0 C) u! ~( c' v4 H' l+ z5 j4 u__FLYFF_INITPAGE_EXT
" a4 b) P5 N% G2 ^6 w! _定义, b8 M& L0 Q# n# p
1 ?2 d! j; q& x H1 k$ R! d
, ?& J2 ~; P/ ?2 n
0 c. p' O) a7 x! ]/ _: L" ?/ f! T5 D b. l
现在终于删除我的狗屁加速...
5 Z7 |) u- n, a# s% g/ ]: ]
) ?# j! O% [8 f# |9 y$ }1 r# n- R. c. ]: t
! o, H& G7 [( f7 W
|
|