|
食品车:3 @; t) g# b9 [$ l
尾翼:
; `5 C! U1 _3 q/ S; r) _5 U5 x% n7 S0 r) L; L4 ?. D
代码:' @, S/ O) {) b1 h
CWndAutoFood::CWndAutoFood()5 Y. k; V l. V1 u! o7 j
{0 u9 B* p% ^6 G7 y$ U( X
m_pItemElem = NULL;8 Y3 T, j( h& z& s$ O) j
m_pTexture = NULL;& F; ~1 {( ^. w) C3 ?: B
bStart = FALSE;: f1 _+ }3 t# }4 |' R9 }5 d$ o/ U* E
}
, L0 Y; c0 F2 e' h$ C
+ I) z% s0 g& ZCWndAutoFood::~CWndAutoFood()- A( y) l) k( n- s0 ]2 B6 p
{
9 ~$ ]! c; C; W( U AfxMessageBox( "AutoFood ist gestorben " );3 I: y. G" M1 [6 I: m2 ]2 d
}; k/ l4 S% ]8 L* _
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
9 b8 L! N+ f. b6 ~3 Z{* H4 { D0 m# r4 k3 m$ U5 P9 d
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );" ]1 {3 V, b& I& o) I0 g K& I
}5 [5 F- T4 u8 Y" U8 }+ p D$ k. ]
1 ^) u/ x5 c9 O/ n6 d1 R* f
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
( o. g ^. O8 l, Y7 M+ _{
0 M, v7 x$ x3 g LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
$ ^" H3 G% ~5 Q7 \ CRect rect = pWndCtrl->rect; M3 N4 M; V8 ~3 i# c3 m
if( rect && rect.PtInRect( point ) )
! x/ O' Q7 `0 p5 r# w' U+ d {' F. l/ V/ _ e; f4 ?
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
7 C/ i8 W+ s. T if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )! ]4 [) |" n9 Y, \% b+ N+ X, M
{- ~8 h4 n7 o5 n# V: ?7 T- ]2 Y
if( m_pItemElem )
3 _; n5 I2 J0 w; A( r {: q5 c+ N/ j% k' m
m_pItemElem = NULL;
9 J) T9 O- [) F* w* i( r& B, o }
9 ?7 a |* X/ e+ P: q" @ m_pItemElem = pItemElem;) j7 B# v+ a$ Q; s6 w
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );3 `7 Y' n; e2 Z) \# O# i
}else{" k9 u' i% A4 r( n
SetForbid( TRUE );+ Z/ }* H" W4 x
}' Z% U* a5 E, }2 ~+ v; I- U7 q3 m
}else{
& V1 Y" Q4 V- ]/ h SetForbid( TRUE );
- t2 _7 e: U2 ] }
& m3 A6 d; i% ^% K6 _ return TRUE;
7 r6 Z$ A/ [; Z$ S2 W5 j( N4 l}
9 I/ I# z! R5 _4 l" \8 C0 ~3 U6 t4 i5 ~7 H0 O
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
& S; E+ [" P' }. y4 t' B9 S{& G( r8 q+ W- `. ^: d3 S4 D# d
switch( nID )
: y( j( i% H' u, \: I# h {% r, E! ^) W v
case WIDC_BUTTON3:5 v1 G5 R8 G q8 K
{
; Y8 p" V+ {" X, n3 c! ? bStart = TRUE;
% E: d+ p* l. H1 K# f8 i! r: n6 L break;5 f8 U6 k, {3 o1 o1 L' W6 [' w
}! Q6 _" P, \9 J( ~6 O0 }
case WIDC_BUTTON4: P% J" i6 d3 c' b4 i; S0 M+ z
{ r) Z! J3 j, J( [5 v# j# j
bStart = FALSE;
. X9 c2 E& B4 G: \, ~4 O break;
2 U# v5 X( P; K5 ] q }* H; z8 ] Q$ u% B
}
! a" u$ _7 }( U return CWndNeuz::OnChildNotify( message, nID, pLResult );) W7 _2 d% G _2 A( S& {" i8 @9 b
}
% `( }6 }/ i. v; h6 e1 ovoid CWndAutoFood::OnDraw( C2DRender* p2DRender )* z/ B' H$ e4 o( ?8 o
{
3 B/ M6 e v3 q0 ?$ I$ } CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
: T6 B8 |0 e# F5 x4 m( l if( bStart || !m_pItemElem )
. |- l" L& a* `8 v5 a+ W, \( z5 o {" @7 @0 [/ R5 T, L* K+ C# N
pBtn->EnableWindow( FALSE );8 H) ~+ z) @: z ~6 y# {
}else: a* ]. J+ g3 S# c7 J3 V5 U
pBtn->EnableWindow( TRUE );, K. ~5 X% e& `0 M* j
if( m_pTexture )9 \2 ~' y9 \' O& q
{# @3 [8 K, q4 R. w8 `6 x; @9 U. ]
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
9 _' Y$ F6 |; K9 x+ K; [9 A+ R: R if( wndCtrl && wndCtrl->rect )- h. Y9 x3 j2 X) i2 O
{
5 g; x& }- L2 Y2 C# C m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
, D2 q- S5 `! }; }7 t$ X7 \+ C0 D }
6 j e* B) i# P }
6 F" r5 t1 F S$ w6 ?9 y}5 i/ C# V5 |, ]: o7 S
9 p/ I3 I( g0 L3 _5 |- @0 y. c3 HBOOL CWndAutoFood: rocess()
( K! ?; M z. d4 p( }7 _{
) [. R9 N& s0 ^6 ` if( bStart )) C( B b! i5 Q. P+ k( I
{
5 F4 B4 @) T8 x& c if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ) _. e, q3 d+ s; X# X" [
{
8 {4 t% Y# V4 T0 t% l1 H. 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 d7 Y n+ E/ ~3 P6 Q, |) J g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );- ]) x6 q7 i d. `, g; |
}else{
8 B, V$ _3 i1 |" k# N+ ?; Y bStart = FALSE;0 m" O/ O2 j3 x- h& [4 p }; A
m_pItemElem = NULL;
0 U2 n" \1 Z5 x" k, U$ x }6 R+ S0 Z6 N8 _& i; i
}! M8 \/ s! d* E; N0 b. _4 {6 V
return TRUE;- I# S' B. a! K- b$ T- F
}' ^- ^1 d# m/ [* r
. u- w9 m& s2 Q' D& L# v登录视频废话:6 k( W. o. z: C' D. L2 w
尾翼:
% Y& j! [# I; F% C
8 ?- Z: S8 B6 o; x$ t8 a代码:2 u& c/ i7 k" x) F4 W
* X+ ^* _: f8 L/ Z6 n9 H0 P, m" A
void CWorld::SetLight( BOOL bLight )
7 Y3 |# |3 Y& j* l8 _! tdurch
( l3 ?2 }6 P) H4 c, \1 i; jCode:
# ?- U5 F ]/ A0 h2 ~void CWorld::SetLight( BOOL bLight )
- T! W2 b6 u$ V* X4 j5 }{' z5 T7 S2 a- Z+ g$ l! d1 F }
//ACE("SetLight %d \n", bLight);; n# d* e& F7 H) F5 {% f9 d% @
0 t- R0 b/ |6 z6 B#ifndef __WORLDSERVER
: M, q+ C: b' ] DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);& x. g! f4 i# A
CLight* pLight = NULL;9 c4 g( L8 `) k8 @/ n# Y
2 l6 V! ~9 q, o- x/ M8 `9 v) h9 c* g D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) ); U8 }) W# h4 o2 |
C4 q. [0 v6 F
pLight = GetLight( "direction" );& r) h5 T" c0 J9 F
) j! ?7 H$ Y) y4 j% B/ E
#if __VER >= 15 // __BS_CHANGING_ENVIR2 ]/ V3 D r R5 J, M
if( g_pPlayer ){( s' b1 b# q0 I8 j' M( P
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
% X3 l, ^6 ^4 b. C5 Q. H! t if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!4 a% b6 y+ Q9 p7 t/ f2 s% r0 s
{/ C1 M7 h' F2 I: M
if( pLight )
" z4 C) X) N3 S* w {/ ~6 ?( s# U6 v7 t; o2 m8 c# W0 c
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];5 X& z) U) U/ W! f6 u: g5 m# _
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];1 M% j2 U* R- a. ?! a. s
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];9 Y+ d& ]* D2 G* l) H; y5 t7 L
, {& K6 w7 I, L/ B- F( M$ ?0 _
pLight->Specular.r = 2.0f;" `/ \( e w( v1 n: y; O% l
pLight->Specular.g = 2.0f;! G$ O5 K5 @% [. i
pLight->Specular.b = 2.0f;. v& t; l: E& \+ t; c+ Q
) H( Y0 p2 \6 S% t: v$ V4 v
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
# j% P; P2 a" o9 H( [ pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];" ?) w. y" `# g! Y+ K, y8 h9 e" A
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];" a. ]; E2 z8 e( Z
m, w& m, L3 Z, [$ \- ]9 b HookUpdateLight( pLight );
- Y8 [# M* n% m0 u# ~* x+ d2 i- \" f' P0 f' b/ f
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );3 g) N# g1 P0 n+ a+ n: A
9 A$ U( R: Z. r
pLight->Diffuse.r *= 1.2f;# ` i* I& B! \3 I G* Y
pLight->Diffuse.g *= 1.2f;/ _- J4 b6 y# j- u+ ]: \6 n$ K& s% A
pLight->Diffuse.b *= 1.2f;1 R6 R* U! D- v7 H: B/ w% Q
" X: Z3 S/ t! ?4 X& n0 p( z pLight->Ambient.r *= 0.8f;! v" b; N9 O3 e
pLight->Ambient.g *= 0.8f;/ ]9 b5 d' ?; v# Y% ^$ _. w, W& X
pLight->Ambient.b *= 0.8f;" b. |4 |$ b, Z1 S Z, L9 f3 [4 r$ k
- ^! G# y# t7 N4 j0 N" f% j memcpy( &m_light, pLight, sizeof( m_light ) );5 {2 {$ b0 F$ ~6 `
2 ], s9 E0 ^: A6 V5 S
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
. k6 u M, l+ D/ @( T7 X D3DXVec3Normalize(&(vecSun),&(vecSun));
5 ^# w! Q1 O$ p- V! X. S9 z+ R x pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
! j$ z2 e8 E l' J* K$ J' Z: f pLight->Appear( m_pd3dDevice, TRUE );& d1 @1 F, ~% U* I
3 U# t# X/ W& [" u6 Z; H DWORD dwR, dwG, dwB;
( W3 ]$ q$ l! f# P, d dwR = (DWORD)( pLight->Ambient.r * 255 );
6 |% N& |) p& g, K3 e1 C, k( ~ dwG = (DWORD)( pLight->Ambient.g * 255 );) O- {! _" Y, c$ J$ @* h3 f& f
dwB = (DWORD)( pLight->Ambient.b * 255 );7 L9 ?% r" c' d
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. [6 e2 @3 X* f }6 g0 {/ a' M2 d, t. K) F3 ^
}
, H. ?( \& B0 {) I3 X) b }# j" {: A s) m$ C- O3 z5 ], I3 i
else; x; @" `, y. R0 B0 O2 |0 b8 t
#endif
9 E, o+ W: I9 v! z: @
* C7 K& k3 \! L5 Q [ if( m_bIsIndoor ): B2 N. c+ ?3 z( A# r& \* I
{2 P2 t) x5 S* d: |5 T% B
if( pLight )
$ z6 z8 ?/ Z$ x5 o4 L/ y2 K- X4 p {
- k# i( N% T$ _0 \* X // à??μ oˉè* $ v; n" o2 I3 s$ |. c8 Z
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;! n. P. N0 b6 X
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
+ _4 X; e- i/ k& q9 L6 o pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
! Y2 h! B2 \' h- B7 j" {/ l- U; s/ p( S, L Y
// oˉè* ??à? " w1 K8 L0 k4 u: ~- m' ~
pLight->Specular.r = 1.0f;7 A& g% ]' H: P+ t
pLight->Specular.g = 1.0f;
4 O. Q2 ^0 C; J pLight->Specular.b = 1.0f;9 s( e2 W# o, d1 }7 f$ j3 |% ]
// àü?? oˉè* , Y3 |9 C) e; H/ n5 G( }
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;, ]8 ^6 f3 B: R+ C) ~: k0 \
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;" Y- F' |7 N/ {- s! S% o+ {/ `
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
b/ z" a9 O+ g! m( | N: d( y8 H( N" I5 a
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.2 K; Z2 q$ K6 d" u9 U- V' H) J& f, {
{9 D& S4 R% C# K5 \% C
pLight->Diffuse.r *= 0.6f;
; P& O4 _; z- g( ]: W pLight->Diffuse.g *= 0.6f;3 r; @/ _, i$ s1 X
pLight->Diffuse.b *= 0.6f;# }2 }- A0 v* o5 _$ u
pLight->Ambient.r *= 0.7f;
0 P) D9 S% D- Z6 v6 ^& p* K pLight->Ambient.g *= 0.7f;$ U0 O8 g" N" D' x" l6 A7 I
pLight->Ambient.b *= 0.7f;
. S1 K0 o* X0 ^. a) C }- r" H' W, ?0 ]/ L
8 ?- _1 o+ i3 I- e( Z& Z% f
#if __VER >= 15 // __BS_CHANGING_ENVIR
/ e( y4 p* y7 j& i) H: d if( g_pPlayer )
' \; ^0 g- ]+ F3 Q4 N) I. z% _ HookUpdateLight( pLight );
& |. ~- z- n8 s5 l) J0 I; n#endif
# ~! z3 F6 K! v8 ^& J* V ^ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. w% P e$ {7 n* [. R9 l, y5 }% `* _& b
pLight->Diffuse.r += 0.1f;
7 Z% ~: V$ A1 u$ e/ T% R pLight->Diffuse.g += 0.1f;) e* r. K) |, w" C; m; |2 I
pLight->Diffuse.b += 0.1f;6 ^/ W, |4 X7 f" X1 d: \
// oˉè* ??à?
9 l; A& s* G1 z3 O pLight->Specular.r = 2.0f;
+ K" a0 G4 u. ~6 h pLight->Specular.g = 2.0f;
' e2 T0 o! X2 t; {1 c% M5 n pLight->Specular.b = 2.0f;
1 @0 Z1 {. V ~ // á?oˉ ) u* N% L9 U2 D/ b
pLight->Ambient.r *= 0.9f;
8 w0 p, X% e! b, w' X6 U pLight->Ambient.g *= 0.9f;
4 @1 t! |, f% J7 v pLight->Ambient.b *= 0.9f;* Q# p% _# P% S1 G9 x
- p7 F- y1 l1 P5 W6 m5 S8 r& v' C# q
memcpy( &m_light, pLight, sizeof( m_light ) );0 O3 S; S0 e# v
3 F2 M6 M# e$ {$ b) C: k. ~
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );+ E: J1 S* t* J0 k' O* d
pLight->Appear( m_pd3dDevice, TRUE );$ ?* S' {8 z, j/ o& N+ D: ?$ a
5 R) v# A4 Q" I8 S# D0 L
DWORD dwR, dwG, dwB;
( y @- I1 n7 N5 O! a dwR = (DWORD)( pLight->Ambient.r * 255 );. |' V7 e3 @) \) X( i8 y
dwG = (DWORD)( pLight->Ambient.g * 255 );, N7 j- |& C4 C3 p- v
dwB = (DWORD)( pLight->Ambient.b * 255 );" v: X' _3 z% p# N& l
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );/ y) f( N6 i. q3 c9 R* J* D& |
}
% w1 Y6 F- N) x L0 f i }9 V& d* V' J, q3 ^; l
else
# A" S* w' ] c: i {
- [1 x: l0 ?$ w! C5 Y; ^ if( pLight )
; v% E+ z3 Q1 l {) {( j; o- n8 F: f+ Y% r
' I4 A* _% g+ C8 q$ ]% N& Z
int nHour = 8, nMin = 0;: @. x% R# ^; B+ |6 v% _$ S
#ifdef __CLIENT
% U2 [; X; p8 Q7 g+ d* I) i/ L // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
# D* ?8 w$ d1 Y) ]) ]& y, w3 a9 A nHour = g_GameTimer.m_nHour;. g. o: u& R. _0 b/ P
nMin = g_GameTimer.m_nMin ;4 \- Z0 V9 F: A1 z9 v
#else% e: F; S4 Q* S
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
8 u1 X( V+ W1 _ if( m_nLightType == 1 )
: ~( Y9 k: ^! n. g& }( @% k2 }1 V nHour = m_nLightHour;
4 f' q8 z7 U v/ E #endif
$ U' R5 u* ^( s0 @; F7 ?# F* t/ _ nHour--;' }7 C) h7 a- z# ~$ ]0 \
if( nHour < 0 ) nHour = 0;
& C' j4 E$ Z$ I$ ^ if( nHour > 23 ) nHour = 23;2 }9 X4 }) T( t- I0 z4 }/ v! j) X
- \/ b& U- _# H" U6 j5 y //if( m_bFixedHour )9 ?! C4 ^$ N: A/ t1 K
// nHour = m_nFixedHour, nMin = 0;
! Q/ F( z5 i/ W- C LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];$ P! j. V$ X" C, R4 W; F. {8 Q; P
LIGHTCOLOR lightColor = m_k24Light[ nHour ];; {# [4 u, e1 A7 t7 {2 R
/ z* d2 I, r& @' \: R f* z
//m_lightColor = lightColorPrv;
9 O" ?6 U8 h4 z2 Z) N lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;; ^& T( v: s- N' D* ^: x+ S' h. p
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;8 R& ~: j5 z1 j3 h; L" C
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
& m! q; K* b) D; m lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;8 g& Y2 I( y6 o; Y& u2 a" O
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;# Z' l6 W2 f; f$ [
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
3 }4 X* S6 A- ^7 Z: ? // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)! i8 A& V/ v) z8 B* f* v
% q7 C) q1 { G8 i' w! O2 O
// à??μ oˉè*
' v/ _. A- C) Q; r# `0 z pLight->Diffuse.r = lightColorPrv.r1;
/ h6 C/ u7 ?7 j. _1 q' O$ o' { pLight->Diffuse.g = lightColorPrv.g1;* ]: I" o1 m, }; z
pLight->Diffuse.b = lightColorPrv.b1;
: N( C& Z2 }6 ~5 f8 \ // oˉè* ??à?
7 g7 w# g1 `& l* s: F pLight->Specular.r = 1.0f;. k+ G, T, ^& u$ K, [
pLight->Specular.g = 1.0f;
/ j) r! F1 g1 | Z1 T/ @' Z5 ] pLight->Specular.b = 1.0f;
% {7 Q) P0 _: b' Q# t // àü?? oˉè* ! _! c: D1 V0 d/ K, F' R. Z
pLight->Ambient.r = lightColorPrv.r2;
2 D# _# s+ K' Y pLight->Ambient.g = lightColorPrv.g2;
3 c% g! G4 j: D- O+ X& j# G0 E pLight->Ambient.b = lightColorPrv.b2;
2 _6 h- a8 q3 { z% O3 \, `
$ P4 g1 x4 d, [9 S! E if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
' e# J4 j) L% K7 |3 ~$ Y {5 A3 A" u0 r# A! k; P9 r% T1 c& y0 y
pLight->Diffuse.r *= 0.6f;
8 n( W5 j- {, q pLight->Diffuse.g *= 0.6f;4 q# x6 G, ^2 z0 t1 c
pLight->Diffuse.b *= 0.6f;
; U" _; }. e) o' N8 T pLight->Ambient.r *= 0.7f;5 N8 |0 A/ M8 U/ n" A
pLight->Ambient.g *= 0.7f;
, i* ]; @' n6 r( l. H6 T5 b8 m2 e pLight->Ambient.b *= 0.7f;
: \! E4 H$ P% H# h1 i$ h$ w, O }
* }. M- n) l" k8 j2 ?8 `
8 J- n! {1 x% l6 \/ a#if __VER >= 15 // __BS_CHANGING_ENVIR) N Y- ^( g/ V- u- ~
if( g_pPlayer )2 c9 A: v6 F b e3 {
HookUpdateLight( pLight );
1 t% g% f" d6 v- K" D#endif
1 e3 D7 t+ a) ~- M8 E! W) K memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# t: C! O3 u; [2 T
' B* R3 u6 p' j1 Q0 y#ifdef __YENV9 {/ h5 }4 B$ ~4 x# Y& t
pLight->Diffuse.r *= 1.1f;
+ R+ H' K2 {' a pLight->Diffuse.g *= 1.1f;
# l+ d* }0 H5 X# M6 l; U pLight->Diffuse.b *= 1.1f;) G+ i+ V3 n. x+ T# P( W
// oˉè* ??à? U: a/ e1 S& S) S- Y! c
pLight->Specular.r = 2.0f;7 W* ]2 s. u7 ?& E; X: l
pLight->Specular.g = 2.0f;% z3 r: m. n, ~ I7 y" x: ~
pLight->Specular.b = 2.0f;" ]: R2 K& n% M6 x
// á?oˉ
; h E& { |$ t `2 C9 l pLight->Ambient.r *= 1.0f;4 [8 r/ u: z' [: v9 a3 v+ }
pLight->Ambient.g *= 1.0f;4 m4 \4 Q; w! x" E! l' n$ B" V. |% k
pLight->Ambient.b *= 1.0f;2 I/ H6 `; F5 x) Q% z0 ~( u
#else //__YENV
& x0 r# `5 ]- j5 u2 S pLight->Diffuse.r *= 1.1f;
3 p( I( C2 d0 s' h' o pLight->Diffuse.g *= 1.1f;
- x$ l5 K9 H* C) a. v7 z8 F pLight->Diffuse.b *= 1.1f;
+ B* Y7 H3 _! i, T) w; i // oˉè* ??à?
2 A9 n# D1 f/ D% o' H pLight->Specular.r = 2.0f;& d3 R5 o3 y0 O0 p) c1 R# r
pLight->Specular.g = 2.0f;
. j* ~/ b5 n+ G( E" y% Q pLight->Specular.b = 2.0f;# ^/ Q3 L) t7 [4 r; k! G: T
// á?oˉ
" C$ g' \# p' B* A, j/ q pLight->Ambient.r *= 0.9f;+ M& o& a5 q! Q$ @ b4 F
pLight->Ambient.g *= 0.9f;; V- I: j5 m2 d
pLight->Ambient.b *= 0.9f;
1 m0 f: h4 p z9 m- Y, x#endif //__YENV 0 N$ g5 C1 l F: H/ ~
$ ?7 S( X' q8 ^9 z7 Q
memcpy( &m_light, pLight, sizeof( m_light ) );. \9 J3 i/ e/ Z# t* ^! [! r0 ?
! R1 ^! X0 E3 D/ \' |5 L
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
" I6 V2 r: ]8 A, `5 V2 @5 G) L D3DXMATRIX matTemp;
' l; ~; K- P; j static const float CONS_VAL = 3.1415926f / 180.f;5 ^/ n9 a- ~0 [0 [% A+ V7 w$ i% S! D
5 [; W% ]9 n( W. V
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);7 }7 R* Z( U- Q9 z) Q
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
3 V+ q) N3 H4 x2 f- ` pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 3 \3 Q2 B( O' h
pLight->Appear( m_pd3dDevice, TRUE );- {3 s1 d# N# v2 H) Z; _+ R! Y
, x( q. P# O Y; p0 R9 z% n // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
* G& s+ z9 O/ @6 w7 ]/ n1 W; z" C // D3DXVec3Normalize(&(vecSun),&(vecSun));
' z4 n/ }) ~- |1 g // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
: S# H+ V+ _3 T: b/ p
, w4 u& h4 o: E. q& Q4 L o7 l DWORD dwR, dwG, dwB;* q# `9 U! _8 s9 H
dwR = (DWORD)( pLight->Ambient.r * 255 );
: Q e% X1 G* e+ J+ X; N- V) A& d dwG = (DWORD)( pLight->Ambient.g * 255 );
; p8 i5 Y" A! l# a dwB = (DWORD)( pLight->Ambient.b * 255 );
$ y6 [9 ]. S* l) I2 x dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); % J/ h" e: a: \" X$ ?! G i
}
& W l+ s$ w/ z6 Z }$ a- F6 Q8 t5 w a
% q. M+ b/ Y+ j8 t6 P+ ]
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
+ o: v4 [5 k4 _& _8 x7 N 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) );
( M2 ?3 m/ G( { ::SetLight( bLight );/ c" o# c# z s* ^" D
1 e) o. x5 {* h: L% n0 [. N // ±ao? ?D?í???ó á¤à?
0 f+ k. e# R& o" A; a& f m_pd3dDevice->SetMaterial( &m_baseMaterial );2 R! r% k$ I; F( F% h* z' Y9 y4 }. n
( M* m" `; V3 i( l0 `#endif // not WORLDSERVER
% @( Q2 w. x6 q}
6 Q7 j2 `. ~) O. V" V i并更换
: y+ ?' e4 O- F5 S' O' P! H2 ^5 m1 ^" nCode:
, |( N- ?0 {' t3 H8 E__FLYFF_INITPAGE_EXT
! @0 n) z* J4 o$ G' D4 g定义) @9 \" p, c( o0 h
7 x/ K: W! R+ p6 M, X. W" A" O# Y% T; O1 c! ~1 h
# X; f# K5 X' E" O2 G. ]
7 P% M6 a/ Q% R" O
现在终于删除我的狗屁加速...1 N2 t1 R, _ ^* x: q2 F$ ?" ^4 f
% g, q9 n/ _; B+ ^/ C* ?
, j. `. r+ Y( t& Z) J3 O) e+ t, X9 `' x1 Z: Z9 q2 j
|
|