|
|
食品车:
2 s+ z, q0 k- N8 h8 t9 N# m尾翼:
" I/ ~+ x) s- J4 z* @0 T5 {9 {
/ S7 }/ z2 D( ~1 S- c' e代码:
3 J1 r$ }) g% c ZCWndAutoFood::CWndAutoFood()7 b6 }% J/ P- Q% `8 g
{
% D5 i6 F% a- k0 B9 T) D m_pItemElem = NULL;' }2 l3 O$ Y+ U6 v6 O6 n) Q8 G
m_pTexture = NULL;
* ?+ O$ C2 E' }; q( L5 C bStart = FALSE;$ A# s6 o: [* e8 A' ?
}4 ?+ \# h% h6 X- F
" N5 t0 N, D1 }' ?6 z$ Y, @CWndAutoFood::~CWndAutoFood(). a# ]. o; H+ n0 [
{
" K% d4 j/ G2 m AfxMessageBox( "AutoFood ist gestorben " );( e2 E. f- U+ C b F
}+ M/ ~5 i4 n( ]- L0 x1 i6 g* s; I
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
5 t/ y. I. h* X5 K+ p2 k/ m{8 F: _- G& ~1 B0 x1 M' I: }. D, \+ U
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
; B8 O9 ]" _( ~3 K: C* m* B0 ?}/ `$ o2 }, q& Q9 a& f
6 X8 R+ s L1 d- E5 s' R, ~2 o
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )7 K" e# d& }6 y. F! W8 n1 I2 _
{% Q: A5 z9 ^% c5 { S
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );( `* g$ @0 n% L0 z H2 B
CRect rect = pWndCtrl->rect;
. i$ o3 f7 o8 Q0 N3 [) o if( rect && rect.PtInRect( point ) )5 P: `0 I0 x: L! _
{
' c6 B$ v4 i/ a' n7 }+ U; O/ F CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );3 t/ @6 _0 q7 h. h0 s# T
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
' T4 C5 I" w% a, Z5 g7 C {& t6 N/ x3 v T: H8 r+ M
if( m_pItemElem )
& o; R5 K+ R# K8 G- A {1 h! x6 O0 e+ y8 V
m_pItemElem = NULL;' i. `& `6 |! @
}& m2 a) E/ d, h& h: `
m_pItemElem = pItemElem;
) }6 ?/ V1 }& v" Q m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
8 I# p2 \ a# X7 j4 D# I }else{/ ]' O( ?2 a. `) g
SetForbid( TRUE );1 O0 J/ e" ^1 z4 y0 N" S
}
( L4 s" ^; W& y: r% l0 z8 F1 l& B }else{
2 C% d$ N6 w/ D* o: y7 _& S SetForbid( TRUE );( i n# o+ K- q8 [
}
5 j; m+ _- d# S( v+ T5 P return TRUE;
. |. q! ]- @, w}
3 d% O8 Z& Z0 r! m$ n) b, c. ~2 p p: ]5 d
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )# f; o8 {. M+ V9 X
{
% u- C, \0 e" a; } switch( nID )
: j9 J$ v6 c0 b0 O, @& Y {7 ^! X9 o8 C5 n; l' _
case WIDC_BUTTON3:
# C8 P/ |! J! r& b6 B# X; P {7 X# J2 f5 S7 l t& l; c1 K
bStart = TRUE;
* ^5 O; J4 p( [ break;- L$ ]; {) M3 h/ J2 L; r
}
' l8 r9 }. ^# @ s- p& D) F! m case WIDC_BUTTON4:$ h& n. F: x. b# p: L q; Z
{; u; v4 z6 K0 \- }- V9 X0 v7 j: E
bStart = FALSE;2 ?& Z' D v) C9 ~
break;
! C6 @% R0 n5 k/ z }7 F' a5 V$ _/ }5 Z8 m/ F
}, Q& |5 u* Z% W9 m* B- ]# B6 u" i
return CWndNeuz::OnChildNotify( message, nID, pLResult ); S/ Z6 {& u# H7 O( r, c
} 1 |" \8 }% {3 h2 f! Z
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
2 u( r( V! T6 j3 Z9 t$ y/ h7 Z- D{
8 _. _# c' @( g2 U) P CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
2 |, y7 A- i8 B. K1 x if( bStart || !m_pItemElem )# E9 T* x/ l& s7 g
{
/ X$ p+ L' J/ B# r8 P8 E pBtn->EnableWindow( FALSE );
% L# C, y5 c3 J+ }% ~ }else% n z. b7 H% d
pBtn->EnableWindow( TRUE );: Q0 V" l% C3 X& o
if( m_pTexture )
9 [* c* p" `$ K" V+ v' w1 B+ f4 A+ n, ^ {9 E# i. M0 c" i( \
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );9 c( [' l: r0 P$ K3 Z0 s
if( wndCtrl && wndCtrl->rect )" k! D& C- Z, F2 n# j( j" Z7 }
{
! Q0 ?+ t4 I/ l- e m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
: }0 ~9 X! W: F }& y* z3 o Q1 y: ~4 n
}' {% _; w* L# e
}0 k9 ^# R ^4 E) |* A: c% D, N2 r- D
# y: S1 \( R3 i( ~! J! o7 d( U* h
BOOL CWndAutoFood: rocess()
- Z; b, T, q2 I, U8 r{
, C; E; l2 t7 { if( bStart )7 S; f. B& @2 W" S% v2 M/ p' ^
{4 m, D4 }3 [, N
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
+ S% a( p L3 n/ S1 t6 V/ C {$ l+ E1 ~8 r- d. n. ?1 N
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
& E. ~$ O& U2 s g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );7 m7 b/ ~- L4 y4 `% j- [2 e O
}else{
- D, m8 }% c4 ~ bStart = FALSE;& p( d1 Y5 a& W, t+ g/ \% y$ t
m_pItemElem = NULL;
. Y, y$ A' ~+ g/ i+ \9 V( |! R }
7 @) |. J/ j. Y; j" h' e }
0 f' ~" @2 w8 K+ y1 M* ^/ G return TRUE;
- m \! O) t |( f}5 I! D9 {9 r% t; s5 w4 o# _! N
' E6 D2 S5 F" O x. ]登录视频废话:
. M; d7 Q1 y* V5 s1 {/ }尾翼:9 x2 G/ x4 P9 F7 T
+ G* Z' l& }- y J8 |1 o
代码:! F; ?- E9 l' \& s
; y3 [( l0 }/ j- Q9 X" d I
void CWorld::SetLight( BOOL bLight )/ t1 j- z3 L0 t2 {( I- |+ M
durch
, d" w6 k! n8 Z s" U* X, }% q/ @Code:
: M; v& `; ?+ svoid CWorld::SetLight( BOOL bLight )
0 w# k+ P2 t# _3 W) s{2 M$ M" r" I# { Y, F* {. o' q/ q
//ACE("SetLight %d \n", bLight);, X5 U! u0 T' ~6 m: @) Z b6 Y" I$ _: E
, X( O+ F" R+ |$ B- z
#ifndef __WORLDSERVER 8 l7 C @# s0 l& a" O" t5 g
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);$ m- N; a, i: @4 j% H* t
CLight* pLight = NULL;5 E' @ Q' s( w
) |1 e7 ~4 u: V D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
4 R2 b: w$ ^ I: N6 z
G5 E1 |0 ?$ ]* z; Y/ q pLight = GetLight( "direction" );
" k6 E6 N1 a. W- d$ y1 ?1 ^+ R: m4 _
#if __VER >= 15 // __BS_CHANGING_ENVIR, B/ k7 W% e( h* L0 Q& [0 s& [3 i
if( g_pPlayer ){# Z! Y. c! R# D
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
/ L4 w1 a9 w# }2 N' } if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
7 E* R- z$ g; ? W5 b( G/ N* F) Q {9 }1 L; k1 d$ b+ K/ B$ T% L
if( pLight )
5 r9 [ B$ _1 S+ Q" F {
0 T- K% J, ~! T: u1 G$ O pLight->Ambient.r = pInfo->_fAmbient[ 0 ];/ A8 j7 u: f- @
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];8 x6 F! p( h( _/ \! q9 R: X- K
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];2 w$ L6 e% ]% k9 H* k, M
) L8 B8 V Q! I. G/ B2 [ pLight->Specular.r = 2.0f;
4 d* S; m0 L( C pLight->Specular.g = 2.0f;
- k# ` a2 Y4 u4 Z! d; E7 d pLight->Specular.b = 2.0f;
4 X! @5 f2 A4 C- }4 P , s! u& Q) K6 l& V1 {6 c
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
/ @: W( n: v! F& a4 |9 y, t7 l pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];6 P' O0 D4 `& I! U5 W) P3 p
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];' z, \7 g; ^$ T. [3 V
, \" D6 U+ ~* I1 j; S$ T" B HookUpdateLight( pLight );
& ]" R4 c- L, D0 {) ]! S
0 r7 ^* M3 L6 ~( h% g memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
3 C& j- c) C% D% X# j8 y9 E+ P/ v
7 l" n% N. B' Y, G pLight->Diffuse.r *= 1.2f;
' _2 V) K1 C+ T pLight->Diffuse.g *= 1.2f;' m3 X% c: e7 O
pLight->Diffuse.b *= 1.2f;
; K. b: A5 s5 y X1 e" U6 G: F1 w* R- o! ~: S8 O
pLight->Ambient.r *= 0.8f;
# V: n6 R9 k" @9 R6 k6 X* r+ r4 c pLight->Ambient.g *= 0.8f;1 A9 t8 |6 r7 f( t+ r/ J. h
pLight->Ambient.b *= 0.8f;
6 h5 m. q( K# d- @7 S* e. x1 n 3 V o$ ^8 _2 \2 {. Z' t
memcpy( &m_light, pLight, sizeof( m_light ) );
3 c, l, l+ a1 I3 j( c/ ^9 b; u% T- f. F- Q/ b& \( c* |( ^, o
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
* n( J2 B5 C" n2 Y( k D3DXVec3Normalize(&(vecSun),&(vecSun));
' v, }; ]( H9 c. K pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
" f2 p0 m. S: ~( Z pLight->Appear( m_pd3dDevice, TRUE );' S) [/ e& {" s# f
9 _) V$ {8 d, r& Z) {% B, Y DWORD dwR, dwG, dwB;
: y1 h+ Q: s3 d& i" h* j dwR = (DWORD)( pLight->Ambient.r * 255 );
! v# K, k3 o( l2 y/ G dwG = (DWORD)( pLight->Ambient.g * 255 );
" x% S I5 E( @& H# v dwB = (DWORD)( pLight->Ambient.b * 255 );
* W2 h! n9 H0 t- X/ R* a dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );" G$ \$ K: ^* `8 K2 {; e
}5 v& u& S' u% ?/ F0 v# M
}5 v7 r5 K. `5 i# o: l, f
}. ?! r( f. L5 b ?
else
6 `( g) F& }% }: l/ o {#endif 4 G! q3 ~$ Y5 l- L
8 h" |- u! J+ J. K5 j `/ A! ?# L
if( m_bIsIndoor )
( C& m6 E5 I) V2 l {
) \5 H) w4 @: k4 d2 m+ v if( pLight )
1 V3 k6 o( c! K9 n8 M; }6 w {
* n- t# V. S2 l( ~2 H // à??μ oˉè*
9 G) f+ o9 g7 t2 ] pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;0 r0 R0 Y4 e, {: J7 r# ]
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;' j) a0 {$ n5 e. b- G2 q: m
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
) U' Y" H! B) ?9 v! D7 n8 A; K# x; t' \3 C% T
// oˉè* ??à? & Z5 Y! E/ S1 U" X. G
pLight->Specular.r = 1.0f;
5 E9 I% V* j3 d+ `+ A1 A/ `/ |. k pLight->Specular.g = 1.0f;
# X5 M# E2 G2 p6 H7 K1 {1 X6 ] pLight->Specular.b = 1.0f;
1 k2 w' u# R% N0 ?1 ` // àü?? oˉè* 5 F: k+ R1 i" D( I* v+ F0 B
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;- \% K# }$ y/ q" n' ?7 u
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
: q' |! d+ |3 E) ? pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;& I; u# w4 L+ S, i* x2 F5 W
# c; d9 R& h, a u) J
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
: ~% ]" t4 A- E! l0 |# Z6 h {
2 m5 W7 x% U: m8 s pLight->Diffuse.r *= 0.6f;3 q% c+ }8 o. y! ]- N7 U4 }2 b8 J5 S7 q. u
pLight->Diffuse.g *= 0.6f;: C [! J3 ~7 x8 l$ K6 Z
pLight->Diffuse.b *= 0.6f;
, d/ |8 W3 o. K pLight->Ambient.r *= 0.7f;
2 ]' o9 m* C0 c u. V pLight->Ambient.g *= 0.7f;
: {$ m' K9 _: U( k* A& i pLight->Ambient.b *= 0.7f;9 P# J/ N$ ~0 s4 B* b* i" A
}. x* ]5 _7 L$ B( n
- L$ d# [# ~" G2 a; i
#if __VER >= 15 // __BS_CHANGING_ENVIR2 ~2 ~( U& `6 C# D' f: z
if( g_pPlayer )2 S/ }; j- ^1 [* D
HookUpdateLight( pLight );
8 d6 c" F. B% m' @& o6 l" Y#endif6 w: v, S D* ^. e }
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
2 _" \& o* n6 w7 [' \) @# O' t1 ]+ R6 U) j0 Z' }
pLight->Diffuse.r += 0.1f;5 {- O% d, @* Z2 I
pLight->Diffuse.g += 0.1f;
0 y% t! y7 U2 z; H. S pLight->Diffuse.b += 0.1f;7 ~; G9 Q+ d+ \5 j' D
// oˉè* ??à? . h7 Z7 |) H; u
pLight->Specular.r = 2.0f;
6 ]6 H7 z5 \0 ^. o0 z' m pLight->Specular.g = 2.0f;
' k0 }1 B5 P$ a* ]- { pLight->Specular.b = 2.0f;+ v; F& c) G9 Z( ^/ L# Y
// á?oˉ 8 `" c S; w6 {# j* N& i6 ~
pLight->Ambient.r *= 0.9f;
! \1 a2 P& c9 ^* w- }- N& ^ { pLight->Ambient.g *= 0.9f;
4 d0 I$ R$ c/ g pLight->Ambient.b *= 0.9f;& P0 k/ E: A7 Z$ J9 ~
9 B7 h0 j* ?9 K2 R memcpy( &m_light, pLight, sizeof( m_light ) );* T& E# M/ w, t7 y1 p ` H0 j- T. e
; T% H% m7 d9 @8 h L5 A
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );, Z! v4 s& |$ C
pLight->Appear( m_pd3dDevice, TRUE );6 J# e9 `2 \. A
- V; T4 Z5 _4 m3 X5 l6 j
DWORD dwR, dwG, dwB;- V& K) X7 \5 `& L! `! M) j" [
dwR = (DWORD)( pLight->Ambient.r * 255 );
% x, s9 T6 A' S( Y# D8 Z4 K! d& i dwG = (DWORD)( pLight->Ambient.g * 255 );
. F8 p4 v, `3 J0 M& t3 @2 ^ dwB = (DWORD)( pLight->Ambient.b * 255 );7 K3 W$ K: O3 M V
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); V4 ~4 L% @4 `' b* Z5 W
}4 @2 `0 S0 b5 ~4 a/ g/ ?
}
8 V' z) ], X* W7 \' [+ H0 T else
( [ G( G+ T% ~ {
& E1 M) i! X q! p if( pLight )6 ~1 m9 a, `4 V& u
{0 _: d$ I6 L H2 B9 Y, L
" O$ D' m3 a' `6 H( [. d% U9 v1 D
int nHour = 8, nMin = 0;
4 |7 r% ^' R; W0 K #ifdef __CLIENT3 s1 E" J5 r5 r9 J6 L8 u1 I
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
/ |7 F2 k4 `( c; ` nHour = g_GameTimer.m_nHour;2 s v+ B8 x: f5 [0 w
nMin = g_GameTimer.m_nMin ;8 @; a8 x; o' o l1 p7 X, u
#else1 _- Z8 t% s5 \ I) o4 c% n. |
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.6 ^$ d) f% U4 e6 _6 V1 R b
if( m_nLightType == 1 )$ N; I) _( Y. n' W, q8 L
nHour = m_nLightHour;3 q/ p6 f6 r2 r; \, V8 K, p
#endif
4 |7 y- r! ]4 P$ w+ O6 M nHour--;
0 a4 X/ C- {% {6 x! { if( nHour < 0 ) nHour = 0;5 x- h& E4 e9 w; {. [& ]
if( nHour > 23 ) nHour = 23;0 e: n7 r! y( Q0 l1 ~
( D8 ~& a5 O+ g0 H //if( m_bFixedHour )9 ~- b0 C c' y/ U" {, q
// nHour = m_nFixedHour, nMin = 0;
% P. G8 U1 u) q0 J LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];' o3 T6 c1 M& L) U3 R( K1 o
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
4 g6 v9 W' \ c" f. b
% D0 ]5 l+ T6 w; g/ c //m_lightColor = lightColorPrv;/ Y4 X8 V, ~" @( D' ~4 i
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;8 ~- t! ~, v- _+ l+ [
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
6 x* ^" m% r, a& g* {& W1 Y$ O lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;6 B5 q j3 _3 O7 A) `
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
6 |0 x& C4 R2 F3 L# ^ lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;+ o4 T0 C/ V! ~! [1 X, R
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
5 l" o: `# y8 @. I! b5 v // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
" n& \% |9 v* [ m( S/ N. r5 \5 K
. o6 D, C1 ?$ ^! Z // à??μ oˉè*
; ~& o& O+ T$ j/ ?2 J pLight->Diffuse.r = lightColorPrv.r1;
9 g8 F1 i# [6 Q) C pLight->Diffuse.g = lightColorPrv.g1;
, Q! {4 p0 ?; z2 ?$ `/ l X9 ~7 c pLight->Diffuse.b = lightColorPrv.b1;
! ~- `6 ]( Z- w // oˉè* ??à? & K) t; c$ h" Z; `
pLight->Specular.r = 1.0f;
6 P% S$ d I$ o. y pLight->Specular.g = 1.0f;8 f; m6 o5 n, B$ g% R0 V) @" j
pLight->Specular.b = 1.0f;
. `; b B5 h9 h- o' n, U! R" L // àü?? oˉè*
; E4 h- r7 X1 u: s' O' o pLight->Ambient.r = lightColorPrv.r2;
0 J9 M: |$ ? P* C; o pLight->Ambient.g = lightColorPrv.g2;
- b8 f5 R5 J; Y, g* n4 L5 i+ u, k" O pLight->Ambient.b = lightColorPrv.b2;
; `. E! f) f9 `/ F2 |; W x& Q/ d# c- V0 q/ Q! Z, [3 m
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.- r1 c3 \. m, D; ?; F
{
+ m' w4 S j" v( ^$ [- J pLight->Diffuse.r *= 0.6f;3 Q/ f3 N g& S; \2 V
pLight->Diffuse.g *= 0.6f;
( @$ T9 y. L: R pLight->Diffuse.b *= 0.6f;6 ]( m! c% k* ^! H! @
pLight->Ambient.r *= 0.7f;
6 |4 z" y& N$ w8 @2 E1 V# J+ Q pLight->Ambient.g *= 0.7f;0 r/ M4 ?% ?) V$ t7 M! _, i2 z8 O
pLight->Ambient.b *= 0.7f;3 ~2 _- b( d/ p4 c0 d R, z
}; m3 m; r6 @7 q" A4 j2 V& k
7 } a( j: H. X: P, D( r
#if __VER >= 15 // __BS_CHANGING_ENVIR4 @/ _% _2 }3 J: f
if( g_pPlayer ), n0 e4 ]; }* B# m- x9 E
HookUpdateLight( pLight ); & k8 \0 X' @1 e/ i M8 c0 V3 U
#endif
0 p4 c4 ~( Y; W/ ` f; Y8 ~2 b memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );6 |- N" ?/ j3 v$ W8 f! f+ }8 v
& f8 `4 w+ v% ?1 D( |#ifdef __YENV
@+ c/ z) b& g+ ^. O2 K1 z0 Q pLight->Diffuse.r *= 1.1f;) [. Y) b* b2 W
pLight->Diffuse.g *= 1.1f;% H: Y0 b% M% v0 h5 T- E& }' O
pLight->Diffuse.b *= 1.1f;
6 i! h$ Y L/ s% o8 ?% t // oˉè* ??à?
( h4 M$ e, {2 d( F5 a: s pLight->Specular.r = 2.0f;3 u t( d0 X8 ^: s; {0 _. W
pLight->Specular.g = 2.0f;
+ J+ M% k# [# z# W pLight->Specular.b = 2.0f;
2 W/ m6 T6 U7 Y: f5 L: P5 C // á?oˉ
; _/ f' L( P% }4 | pLight->Ambient.r *= 1.0f;" Q- ]3 \9 Y+ ~) s9 H2 {" l: j& K
pLight->Ambient.g *= 1.0f;8 a6 O0 Z: h% P& h$ x
pLight->Ambient.b *= 1.0f;* r1 L, r4 K! B& W5 B
#else //__YENV
) H3 _2 _8 j$ M! @ pLight->Diffuse.r *= 1.1f;' S$ s) w) [- Q/ l$ W
pLight->Diffuse.g *= 1.1f;. u0 a7 n' y+ l5 O a
pLight->Diffuse.b *= 1.1f;
/ R9 o( V; r! m1 t& {( z) i // oˉè* ??à?
# [& y9 M* }% c pLight->Specular.r = 2.0f;5 g' K! q, E& A" p3 l& j/ r' }
pLight->Specular.g = 2.0f;
2 H. U* F. P% i8 i; o pLight->Specular.b = 2.0f;! C( p& R% A; y# F: X: L: i
// á?oˉ # |& C4 J# [' o% w% W2 K3 t6 u
pLight->Ambient.r *= 0.9f;
- k* c, ~! N5 `) ^ pLight->Ambient.g *= 0.9f;
* Y$ s+ Q3 `& D7 o: E, O+ s B; e pLight->Ambient.b *= 0.9f;
8 [' ] O5 {9 j) w7 |2 E* h#endif //__YENV
. V4 m9 K9 }6 y$ Q+ N , @9 E6 h- w5 F, Y! r9 E- `) b
memcpy( &m_light, pLight, sizeof( m_light ) );9 O& U1 |" ]- s$ U( B; M# [ n
+ @% Z4 K; h: L
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);& X& S8 x2 o% F5 d# n" l
D3DXMATRIX matTemp;$ Q1 X$ m8 y( s9 v
static const float CONS_VAL = 3.1415926f / 180.f;' R; p8 w" d$ D- G) `* O4 m
' V8 ?" m/ }' g5 R D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
~/ t. I7 m7 Q! `' B0 g6 F. Z% \ D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp); M* i/ N6 b7 d$ n, c- D1 s
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
) _/ w+ \$ [& g" T pLight->Appear( m_pd3dDevice, TRUE );
$ l5 V' H Y: k c. g7 V2 i" l0 v+ s' X) o, P! V0 _& G( @
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);$ q( I" _4 g2 D+ @" X
// D3DXVec3Normalize(&(vecSun),&(vecSun));2 x/ a) d) |& i' M! O: x/ ^% h
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ( q' R7 l/ m( ]. j# b# I
. u3 d0 w; ]) M7 Z DWORD dwR, dwG, dwB;
1 U( }8 C- n$ N; I) R7 \9 {: Z dwR = (DWORD)( pLight->Ambient.r * 255 );
8 g/ g* b' t4 o$ p1 k/ Z dwG = (DWORD)( pLight->Ambient.g * 255 );$ F# G F9 {$ l/ u5 S8 N
dwB = (DWORD)( pLight->Ambient.b * 255 );
* i1 a" [/ v8 U: s, o @- ] dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); : ?7 Q7 e+ G# {# X0 T
}0 p* S) w" M% x9 T( J) u0 B; Q
}
% N- ?+ @0 j+ |; Q6 J* V9 b, K7 {4 M+ B' s' L6 R
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
& B* l4 J1 N1 H1 K8 a3 N" p 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) );
( ?8 J6 q( g% ^+ ~1 k$ r ::SetLight( bLight );3 u; @) L9 j. D/ y+ H
8 X8 v4 G: s" d7 j1 I // ±ao? ?D?í???ó á¤à?
( a1 D I; { ^& R m_pd3dDevice->SetMaterial( &m_baseMaterial );
+ f: u% g5 o: X5 ~
7 p$ c: p( F7 `7 |% C+ d#endif // not WORLDSERVER( b; N" \ v- A# N/ n& q
}5 ]. p+ u) Z& c( d
并更换
& X. b/ B( a9 S+ |) M6 DCode:
& H9 \! D# p6 Y2 ]" `0 C/ |! E0 U__FLYFF_INITPAGE_EXT+ e( C& N) W! J! T- y9 W3 V
定义# s9 R- ], s, n/ |7 V; k
) D; u3 R, o! p! Y( }& K5 l; t$ z- p% S) w9 S
0 [. I6 Y, z4 U
" V |( E% b" G' I# M* |8 p4 j0 s
现在终于删除我的狗屁加速...
& W& l+ J& ^0 x. _
8 I( O+ z. `! _ ^! u7 y5 }- }7 m8 f3 z% H
+ T( F* |$ S3 z/ S0 B: T: w' y. x! r
|
|