|
|
食品车: S) N h+ v% Q3 R I8 V; l
尾翼:) v- o9 h x% A( }) n
$ I/ w. \& k- {3 _7 y' \, [6 M+ M6 @代码:' j+ b! R" y) T/ Q) k
CWndAutoFood::CWndAutoFood()" m, D4 Q6 Q) C R) q$ o( o
{
3 q5 U# O' l, D/ F6 i m_pItemElem = NULL;
( W$ }& H) A& C" l- J m_pTexture = NULL;0 V" |& H/ W* H# y0 H- o
bStart = FALSE;
4 h- o! U9 X a6 o4 V4 H}0 j7 E* e1 D, Y9 u5 d
- `( ?% k0 j, y! `, ~& @& wCWndAutoFood::~CWndAutoFood()
/ K- Y: D5 _- U7 b{ t/ ^9 Y9 ~7 o: {+ r
AfxMessageBox( "AutoFood ist gestorben " );
: t% [/ N) [6 A; `) i' F}
9 l5 U; d9 i$ S' q( d4 P- |: yBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )# J% {6 y5 n) o( ]
{
, x- G$ W+ i6 r: l0 z. p; X return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );' q9 X1 A: G7 V+ u
}
1 V8 E; y4 E5 ~: w3 M z8 Q1 h6 U8 m6 Q
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )- }) E& r% f% @, I
{
& G' }) w" i4 l9 N8 V% v4 C6 X LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );. l! D$ E5 j/ J9 S- t% a
CRect rect = pWndCtrl->rect;
$ w& e- L; l9 o+ R/ ~% Q" f/ d3 N if( rect && rect.PtInRect( point ) ): h' P e9 \# s; _
{3 [; {5 Z# W' g/ G& D. W
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );: Z9 |( T N6 i3 `) V. e0 [1 N
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )# i3 E+ H% ]& I) l
{4 @8 e: ` ?9 ~7 z; ]* R
if( m_pItemElem )
* ^; ?+ y4 _ t3 o: G/ V. @ {
) \# R8 v- c& P# d m_pItemElem = NULL;
% J* U3 V, {. l }
, W3 Z, v) L( T4 v. D+ S( K m_pItemElem = pItemElem;' v& c6 D) m2 U4 y( u5 E
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );7 G) L* W# E5 w" m4 d1 g+ x
}else{
9 R' h. L( Q- A3 K D5 s SetForbid( TRUE );. l/ `4 i8 q q+ ]
}
8 P0 a5 x) W' Y- ^ }else{5 W; X' W- C* s' @ t
SetForbid( TRUE );; A$ S) N3 M4 m$ g, K/ v$ r* h3 j
}
5 s, f7 `* I Y return TRUE;* i/ n! \$ y1 R2 S3 H5 @
}
0 s/ P: G7 ?% N! T3 J1 @
4 A/ n5 p3 G9 ^7 G! g# WBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
. q1 ~4 f7 ?8 J$ X; A0 @( S0 O, ^3 s7 z{! h$ d% U- z5 Q
switch( nID )0 O" |& ^# H6 y/ Q6 N
{* V* B/ q1 |1 \; c& b; }
case WIDC_BUTTON3:
# x1 W' @; U/ {/ @, Z2 B# A {" D7 A' u4 @; G/ C" S4 O# p& ]
bStart = TRUE;
( O+ \ y& U$ q: `) c) B break;
8 F* r. k* p0 N }
' r+ L4 L; j9 P0 f! ]4 E# C case WIDC_BUTTON4:! d" J a1 w C- \) i1 m4 V. Y
{
5 Q9 l. { _4 v! Q) G" S bStart = FALSE;5 X' w* k, y: c7 I" L+ n
break; f6 l4 E' H, ?- n
}
0 r. C6 D' B! l0 T% v }+ ?5 S7 g5 a6 Q9 P' l
return CWndNeuz::OnChildNotify( message, nID, pLResult );. Y" N7 q. x1 i5 w
} . `: M/ A8 a* J
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
3 q/ v3 l& x" o. c{- E7 [% ]4 e0 V! X3 q- c' U g
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
' F6 I+ D! o. W2 l if( bStart || !m_pItemElem ). z. j; r2 c; i D3 z$ W) I3 c) G
{( ?' i1 ?5 F, w2 B3 R& n
pBtn->EnableWindow( FALSE );) g1 q& t+ W& e8 a
}else
, a2 T* C9 k0 r& i pBtn->EnableWindow( TRUE );
1 O8 L5 ?5 f( x, U7 t/ S if( m_pTexture )9 P7 w) r2 H7 J9 O) ? h; e
{1 H/ @7 |/ y4 {, g/ H, ?
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
8 }, b* P' V' ?# J* r& h if( wndCtrl && wndCtrl->rect )
! G/ ~5 r# H3 Q, P {0 f0 E/ [* l4 a1 G( O `6 }6 c2 V# f3 b1 N
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );) ~. |5 H. ?! e' c# o! x
}7 k& N) {* `* d! g; \
}9 X) {* h- ~0 ~' ]& o$ a2 n3 l$ i
}
; ~+ s8 y, J3 r1 G5 y% x4 D2 f* X Z" K( m
BOOL CWndAutoFood: rocess()
! i! O5 E- R1 ?" E6 M9 D{
, e e9 _, {+ u7 v if( bStart )! \/ P( F( u: f- u$ J
{
W% d1 w U* a0 C8 D& U if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
: C( V( K; |1 E {
3 N% W- _- _0 ?# L+ V9 ~+ q if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
) p% z9 D" ?- B2 Y g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
; `( S2 Y) u9 z) {* @ }else{
* u, L% w5 g. d1 \0 z9 \- Q% a bStart = FALSE;
2 ^/ y" ~! y5 w, g& |& s m_pItemElem = NULL;
1 R! v' T, z X }. K3 a. @* `6 p' P. m+ x/ z& Y9 l
}
6 s! W0 R7 R/ C( Y# Z4 y return TRUE;
$ c$ Q! x2 e* x' i}3 B0 T; D" p# \
! [' h; A$ L B ^7 }
登录视频废话:, y3 y/ k1 V. m3 V
尾翼:
7 M0 [% i) d8 t+ k# z9 F. w: N( \; g
代码:
9 c4 \; ~ l) C) a0 ~+ i" d% q. N
/ Y, ?# _0 E5 s* Mvoid CWorld::SetLight( BOOL bLight )
6 s9 b. i7 ~' E2 |. z$ e* ^durch: g0 O3 \8 A1 R1 S: @ P
Code:" C/ @3 \' h2 \( F; ?
void CWorld::SetLight( BOOL bLight )! b6 l8 V0 Y1 w/ r) \, P$ u' O! c7 y
{4 C) r& L3 J! t5 t3 h
//ACE("SetLight %d \n", bLight);% R# |0 ^8 E3 ?. h: f1 j
, i9 t" `9 O2 x7 J, J8 A/ W: R8 V0 {
#ifndef __WORLDSERVER
2 R: @# h( b; r+ O DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
2 n" z8 `: l: Y6 a0 `3 T8 `& }" l Z CLight* pLight = NULL;
: p- H6 c+ B2 J6 x7 h: _
- a" K" \ u7 p/ E$ P& [" w2 \( u D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
! g" I( ~+ u% Z! X' N2 e5 n
2 k5 {* P. W& `. d- u7 n2 Z1 m pLight = GetLight( "direction" );
w& ~7 e0 z' }. M2 e) i. `% h& H i7 C1 ?% }8 {
#if __VER >= 15 // __BS_CHANGING_ENVIR" h# ^4 [8 d, Y/ B& J
if( g_pPlayer ){% y6 q, r) x4 u* s+ A
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );5 O' V' n; j0 k" a# a2 t j
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
5 o; W4 d( P. ]' c' C" q1 @! F {' c. Y' @& C7 D7 H3 k
if( pLight )5 E. y& }7 E5 a# [
{
9 r# ~* V# e! o) e pLight->Ambient.r = pInfo->_fAmbient[ 0 ];. v0 e3 o+ y& Y8 V0 m( P
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
1 L( v5 K+ e1 N9 |, h pLight->Ambient.b = pInfo->_fAmbient[ 2 ];' S; N' @ B K+ O1 s6 w
+ |# X1 y; a c+ J* n+ h) P" X pLight->Specular.r = 2.0f;) U4 D5 I$ H+ }0 ]
pLight->Specular.g = 2.0f;
0 o8 | J: E9 |8 x2 r pLight->Specular.b = 2.0f;
! L! A; |6 m) Y( J% Z+ a V& R
6 \* Z; z) s) l1 _6 }) f$ W pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
* f+ w" W0 ]# d1 _7 ?4 Z pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];# a' f( T, V# @& w: |
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];1 q1 u j' x2 P/ A: R) g
}1 G8 e; Q* K5 `( ] HookUpdateLight( pLight );
, `5 }* d! S: _% h3 n* E
: v5 B: a9 z- E, S. }9 K4 } memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
x$ ~1 i4 V* s% U% W; X% E* ?
: @( c& G- Z& Q pLight->Diffuse.r *= 1.2f;/ o* @, l3 \# b; n
pLight->Diffuse.g *= 1.2f;+ W- R* o* m2 d% j9 M$ H
pLight->Diffuse.b *= 1.2f; r! k7 H2 Z" ?8 \' Y
& ]- B: a' K. b& F I- L pLight->Ambient.r *= 0.8f;9 J0 k6 U/ p# G- m! ?; P
pLight->Ambient.g *= 0.8f;
5 ^% _9 ^3 U9 d u, Y pLight->Ambient.b *= 0.8f;
( r5 R5 h5 D' S: _# S, V
( C7 n+ Z+ q" ^ memcpy( &m_light, pLight, sizeof( m_light ) );
4 O. J/ j% \( M+ k) L W& @
/ l0 ^' I5 h2 ?0 S, f4 h D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);; S6 Z* g* Q( K5 t4 l- L
D3DXVec3Normalize(&(vecSun),&(vecSun));$ R$ Z2 V! b' P/ m
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
4 n( N: w% [0 P pLight->Appear( m_pd3dDevice, TRUE );5 g* K: U+ C3 U r- E# Z
# Q; S; w6 E" d1 y: R7 u9 c DWORD dwR, dwG, dwB;' l% E [ Q" j
dwR = (DWORD)( pLight->Ambient.r * 255 );
9 b$ V( f& p7 B$ { dwG = (DWORD)( pLight->Ambient.g * 255 );
4 C- J7 J9 C% L" n dwB = (DWORD)( pLight->Ambient.b * 255 );" _/ i/ Q9 n( n- v& i3 g
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
' M9 I! [1 [+ E1 t3 Z }
# c" U# p5 S- ~! { }
5 E7 f$ ^: s4 a- N }
( X! F- c" H, @/ o else
9 T7 w( b8 b6 Z. Q1 `# i#endif $ G0 f8 x8 a9 p. p) a$ C( b3 K/ q
8 b3 O$ p* _' Z6 Q& \8 z
if( m_bIsIndoor )( t0 d; f/ g# U8 T* o
{
: Z0 s1 B/ G6 ?5 A% I if( pLight )
3 z, C9 p% N& y2 @, Z6 h { + H4 g' f! T9 f1 D2 c! l
// à??μ oˉè*
( T( t0 d9 t3 n3 O6 G7 b pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
- Y+ y- F, \$ v1 f" j: |5 r pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
! T; m$ M" G2 l" G. E2 |" ~0 l) h* k$ P pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
* `9 R, l" s- N* k! H' {5 L# D3 l% @3 w; H+ P# [7 B/ v2 c- Y. g# E
// oˉè* ??à? * H2 ]1 [8 b1 R0 V/ y Q
pLight->Specular.r = 1.0f;3 @* A7 C5 S4 |3 g6 [
pLight->Specular.g = 1.0f;
- D0 `3 G6 j$ w/ t" y% h% Y1 i pLight->Specular.b = 1.0f;
) m. o- o+ C& y& O2 \9 R. O // àü?? oˉè* 6 r7 a, \, k3 m7 o$ z1 M
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;4 y# A6 f/ z1 M3 S" {9 G
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
8 b' l$ g" G' n pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
9 P) [: p! o0 U2 v& [
* f; w/ u8 z7 c9 f& h H( @ if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??." J- I* N Y& i% M, h& _
{
1 s0 E P+ l1 @. w" `! j D( ]- J: x pLight->Diffuse.r *= 0.6f;
" G- }5 W7 e& Y3 b pLight->Diffuse.g *= 0.6f;
2 A% i" _3 Y+ A! X/ c# c) d pLight->Diffuse.b *= 0.6f;
3 A" J' o: z$ _6 i: K: w! a pLight->Ambient.r *= 0.7f;
4 ^3 d$ S$ W- y/ x6 I pLight->Ambient.g *= 0.7f;, M' Y# Z8 v0 r0 P" o, Q
pLight->Ambient.b *= 0.7f;! I: v( e! T: u3 ^7 O! w
}2 r; Z R, G& s; s9 G3 C6 S
1 T2 x/ D" t' k# S" N
#if __VER >= 15 // __BS_CHANGING_ENVIR
, J) o; l9 y; z2 n' q3 U. h if( g_pPlayer )
! \4 c% m3 o' o6 r" C" d9 S5 z HookUpdateLight( pLight );
: p! k |: n$ `5 ]0 i1 l% e#endif
. J$ H+ [' h' ]3 I memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );8 L" L; M. K4 S8 _
; a& F( a) H. a& t# g pLight->Diffuse.r += 0.1f;
8 P9 q$ B; M. D0 S w& o) V pLight->Diffuse.g += 0.1f;- Z; r. R/ J; I9 c
pLight->Diffuse.b += 0.1f;
, `5 I5 R8 d: Q9 M3 k c // oˉè* ??à?
. |6 b3 h2 Q/ e: V+ G pLight->Specular.r = 2.0f;
$ K6 f( @. Q( k; ?! i) j$ N9 q pLight->Specular.g = 2.0f;
% ~ K8 ]: k. r# a/ x& E) j" _ pLight->Specular.b = 2.0f;# K3 F* Y8 ~5 X
// á?oˉ
, i" m* p* S; B/ u/ @3 x pLight->Ambient.r *= 0.9f;, i& I# N0 J8 ~* r9 D
pLight->Ambient.g *= 0.9f;5 m# b8 e# g H. ]6 d5 a
pLight->Ambient.b *= 0.9f;
/ k( d- _4 t; N9 l) M: ?' f/ [
! `4 S7 v, h) _( m, J memcpy( &m_light, pLight, sizeof( m_light ) );
, P; P/ x- z- C) x( T( z5 a " W" K( P. q, s- G8 P
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
8 H* ]& u9 o1 p0 f! } pLight->Appear( m_pd3dDevice, TRUE );
: m# c, K* n: J, d% x- u! ]; V
8 J( ^* e& ?% q7 d# R8 ?+ ~ DWORD dwR, dwG, dwB;
$ a2 q; w! E+ l# D7 ] dwR = (DWORD)( pLight->Ambient.r * 255 );4 @3 I N; i3 g" _* I6 J' E* s0 i( V
dwG = (DWORD)( pLight->Ambient.g * 255 );; D9 ^! d# V f/ z. h. I
dwB = (DWORD)( pLight->Ambient.b * 255 );
% K9 n* l# f; k3 E3 G/ i5 ]1 V dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );6 u4 J: y! E% T/ a' w
}1 z. v: ` m% u$ {
}
% l5 f+ B+ X* t. Y* W u else
$ @& D) `. b. L! }- M; ~3 P {
3 [! p# t5 @' J% T# t; K if( pLight )
6 y) x, v+ M0 J {
s5 J3 Y5 d4 ?# t / W; p+ q% K; s# O3 U! H" }
int nHour = 8, nMin = 0;. i+ }( m) M) G7 {! V5 w- d
#ifdef __CLIENT
s- q; q5 T5 r4 @ // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. # }6 D+ c; x: O, p
nHour = g_GameTimer.m_nHour;
' u2 G6 L0 ?! k2 s8 W6 d nMin = g_GameTimer.m_nMin ;% E9 t* p* D: M+ S2 \$ |
#else! _* j) ^1 c: p$ H' I
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
; f7 v% |. S/ b$ c if( m_nLightType == 1 )
, b) y! {- q, f! P nHour = m_nLightHour;$ f; I" ]8 S0 @) L# p
#endif
# w9 X/ a) q0 h P6 @ nHour--;
1 ^- y4 k( u7 R* S6 x8 z Y if( nHour < 0 ) nHour = 0;
5 {" |/ E3 o2 G" u' g if( nHour > 23 ) nHour = 23;
1 J( y) Y- W& D9 `3 B0 k% _# E0 P8 X" f8 x
//if( m_bFixedHour )
1 \0 q) C: W" f" b1 p // nHour = m_nFixedHour, nMin = 0;
7 L% u, f. g1 U LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];% _2 U# ~- ?* e C, C
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
/ _* U. {. K" E( I7 U) L# P S/ h( [5 M, M! }4 ?
//m_lightColor = lightColorPrv;' ^6 u1 k; s# t, ], r* b: _/ K
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;% c* l4 I' F! R# \
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
8 D& h7 u2 F: k: n2 d# |/ T4 S lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;0 i, B8 R* `2 }: I! s/ G
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
$ F, e' X4 h: A, w5 K lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
4 l# z1 ~$ g- h- L4 d7 p lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;! `( C. k' F. B+ I: m
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
. J# M5 B# _+ R' q7 p
+ V% ~8 }. i( g+ V" V3 G/ I" Y6 b4 { // à??μ oˉè* 1 F- G/ _+ Z; R! M
pLight->Diffuse.r = lightColorPrv.r1;3 ?6 t; f7 l& t; o. K
pLight->Diffuse.g = lightColorPrv.g1;
6 |& i% |* C d& f0 {8 \% G pLight->Diffuse.b = lightColorPrv.b1;
0 q* z( B+ M( m6 v, s // oˉè* ??à?
6 Q- @1 Z* F& j* H4 d+ d5 u0 p pLight->Specular.r = 1.0f;3 h$ \3 z) E$ A. a0 A
pLight->Specular.g = 1.0f;# G- |+ Z# v: q% P. {
pLight->Specular.b = 1.0f;) d: A! i# o0 u. ?2 X* e) p# m
// àü?? oˉè* + B' L8 [7 W3 B1 z
pLight->Ambient.r = lightColorPrv.r2;
9 _* g8 z% a0 o* j8 B1 X. a pLight->Ambient.g = lightColorPrv.g2;% M$ r; W9 [& w1 ~' d$ n) e' o
pLight->Ambient.b = lightColorPrv.b2;
4 r9 _4 \3 J' p9 F6 G; z
9 I9 H, X+ r' |! Q; a/ K3 v if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# U' ?5 q; K1 j9 a {$ @% {; b, T$ U7 c. @
pLight->Diffuse.r *= 0.6f;* Y2 r1 _5 @9 z8 a! e$ M) D2 I4 x
pLight->Diffuse.g *= 0.6f;# G O: v5 e: p. o/ L. p. |
pLight->Diffuse.b *= 0.6f;/ A ?9 T& e7 F+ y1 ^9 n
pLight->Ambient.r *= 0.7f;' ^$ y# d# Y/ n. e
pLight->Ambient.g *= 0.7f;7 N8 Y& b! W5 \% b( j
pLight->Ambient.b *= 0.7f;
) z$ u2 e9 E6 Q7 P }
" e. \8 P1 A! O5 ~% |" q8 t
5 n- M- b6 E: R* B1 `) D: u#if __VER >= 15 // __BS_CHANGING_ENVIR( I+ s$ |3 c8 _' s" p$ K* |$ n
if( g_pPlayer )
9 e N P; N$ q HookUpdateLight( pLight );
\+ g8 \2 g+ r9 c#endif& [, s7 i: j% h# D8 K: U* _
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
9 b- [$ A. {, X# p. d& x: k: f1 U- f. \* I. L& ^
#ifdef __YENV& ^' i. x: ?. M' w$ n
pLight->Diffuse.r *= 1.1f;
8 g4 B* w0 p) S1 ]$ F- ` pLight->Diffuse.g *= 1.1f;
# `& R& |5 r, G. ?) ?* ]# E( G) K, E pLight->Diffuse.b *= 1.1f;
8 m) G2 c9 @3 U* ` h/ v" {5 `) _ // oˉè* ??à? ! g1 H8 `) c, J8 g& R( s
pLight->Specular.r = 2.0f;
6 X/ e: s/ D+ a, m( R7 D pLight->Specular.g = 2.0f;
6 l3 N5 a) S0 l0 }: N \+ y pLight->Specular.b = 2.0f;
: k3 f5 [0 L% X9 E" Y // á?oˉ * S+ u& B3 `8 }$ P! ^& u( z1 d% z# O
pLight->Ambient.r *= 1.0f;
7 `- s8 f( ^6 w+ z3 a pLight->Ambient.g *= 1.0f;1 ?, m& e& L$ @' _
pLight->Ambient.b *= 1.0f;6 T) Z( c% C6 M1 D* t o8 ~
#else //__YENV$ \; g5 D1 b6 T! T5 U3 L, H' ^9 z3 R
pLight->Diffuse.r *= 1.1f;
& L* N# e' A5 `/ _) r7 Y2 U pLight->Diffuse.g *= 1.1f;) @$ i/ v) \; B; I( n% B
pLight->Diffuse.b *= 1.1f;
, h6 M' T5 X8 E9 t( L9 B' O // oˉè* ??à? : x! u! z! l6 o
pLight->Specular.r = 2.0f;$ o5 |- _# ]/ `2 e' |0 I
pLight->Specular.g = 2.0f;
- n$ U0 e' F" a) [$ v5 L3 N4 {0 l pLight->Specular.b = 2.0f;
" _: u, H" T' a8 Z: k6 C // á?oˉ ( k' Y. D. O' N
pLight->Ambient.r *= 0.9f;
- p/ X4 A ^, U' a& i; x5 p: n& Q& ^* L pLight->Ambient.g *= 0.9f;
( }2 G C% H8 J pLight->Ambient.b *= 0.9f;
) o/ ]" G4 e8 _0 u4 L' R& `* v8 {#endif //__YENV
( l. K; c+ A7 N8 h' S1 P5 a$ x
+ ~* n+ I- X5 B: t/ K memcpy( &m_light, pLight, sizeof( m_light ) );: N, L1 C3 S/ R4 d- z$ s3 P$ P
) z8 I; W, k7 w' r! B- I
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);4 h8 R: h8 l* C8 s+ ^
D3DXMATRIX matTemp;4 J$ U& n8 I% v
static const float CONS_VAL = 3.1415926f / 180.f;9 F% i$ A7 R% {: q
( a. {, {& ?) C6 K8 ~
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);* `2 A' p& w. N( C9 S- c# @) C+ a
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);) L D! a0 R2 f) W
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 9 z: i* ?6 G7 p/ G5 x
pLight->Appear( m_pd3dDevice, TRUE );% k+ y* a n7 W' V$ h6 A( Z
, J4 f+ d2 F& I) U( q1 \6 O7 L* s
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);& ~0 Z* w( l% _
// D3DXVec3Normalize(&(vecSun),&(vecSun));7 Q7 S/ y, x8 L H3 G# y5 a) M
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
* t! Q# s2 T$ N- h4 G8 F+ O% ?
0 T) \1 z3 S: y/ o2 [5 P DWORD dwR, dwG, dwB;! }6 `8 ^& M/ x, E8 M! b
dwR = (DWORD)( pLight->Ambient.r * 255 );
% P3 S% v0 e" h dwG = (DWORD)( pLight->Ambient.g * 255 );
$ R" A) a! m/ A- K dwB = (DWORD)( pLight->Ambient.b * 255 );+ V" F4 k* T% w0 q. g+ ^+ f6 j
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); ) @7 g7 k1 F8 m8 A3 p1 h! w
}& a# r1 a* `( o
}
! F& o" A% t0 a7 c
r* Q$ W0 a/ b% z* ]9 M( _; J1 g m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
' P% Y& V" D& ~) q 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) );
g H6 c5 M) m+ I% c ::SetLight( bLight );; \" R$ u. i" c
' e* W7 P4 J" p- T2 z# H) V3 c // ±ao? ?D?í???ó á¤à?
) J6 H. d4 ^/ g m_pd3dDevice->SetMaterial( &m_baseMaterial );( X9 y9 k5 I% G! P$ k3 @
6 `5 G2 B) A+ h- \$ \! k5 E9 h, \
#endif // not WORLDSERVER' J; W4 j+ T+ \# Q
}
4 h$ j/ n4 p; }+ G/ O I! {并更换. b5 C, j9 K2 h, X7 }1 @. k7 o: U
Code:
, V1 z! R/ u5 S__FLYFF_INITPAGE_EXT
" j( W6 c# H' I$ E* r定义" m, }- l; F8 g
" @% `; [1 d# T# `
! t3 U# `/ n, }9 U4 _, q
( \5 g! r) g) E( V" a6 q$ C) [2 M5 Z% }* O6 \8 \# G1 N# C
现在终于删除我的狗屁加速...5 h4 i8 C v3 l( p, N& m
/ T. e3 o6 ]; e/ R9 N* I
7 j4 q/ o$ Z/ _, L: N2 x& y, a
8 k& {( T6 `3 v6 u5 ~
|
|