|
|
食品车:/ J" A& i9 w3 V& r p, X* Y( ~
尾翼:
$ {4 z* O: o: F' E+ O$ A, t* P5 N! d5 Y9 N) q( v+ O, `
代码:7 C. o. T7 n; k; @9 [0 e# u
CWndAutoFood::CWndAutoFood()/ \7 x c# X+ ~
{
. G. ^- `" g$ y& n( y m_pItemElem = NULL;3 z! V# x {1 z* Y& _2 n# F3 ^# `
m_pTexture = NULL;
$ h# g- @8 B' w bStart = FALSE;
7 ^6 @1 r7 P: n% V# X}
" w, E8 S! `2 X, V
`5 q0 z$ d8 S9 G% W: h* cCWndAutoFood::~CWndAutoFood()
/ y" p; u* v$ E0 I2 P0 A* i{3 d" W6 M0 ]8 J* K9 ?* ^% p) s8 x
AfxMessageBox( "AutoFood ist gestorben " );
' L& W7 O. i* X" k, l3 L# r}
$ h# D0 c7 P. K7 x" P: CBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )7 y' z S& h/ ~, i6 i' @
{
. I6 ] Y. T( V1 ^1 d return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );5 |3 D' f: q+ t8 ~7 m( F) ^0 X
}
1 G; z1 q: p( Z: ]# K* U& M$ M5 M J, W! W1 i" o% E/ Z& k
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )) ~( n$ t+ j _
{8 J+ b) y; b" R, A
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
( o1 u+ U# @. t& d3 t CRect rect = pWndCtrl->rect;
/ s- ]0 Y+ q/ A9 G if( rect && rect.PtInRect( point ) ) g* ~# {, d! S' f0 D$ v- `7 H
{/ F6 r' w- J0 E$ N4 _
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
* m( `+ B! T9 [ if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD ); `6 b! [5 {% z
{
, \' w2 ?1 W& m6 K+ U" r if( m_pItemElem )& G3 Q: D( M5 e2 }4 r( |6 p `
{
# \( _. ? F+ L) J m_pItemElem = NULL;
T* a2 b p- N4 M- X' _/ i }( X; O; j! }4 |! m" T) T
m_pItemElem = pItemElem;+ g. F4 b: \$ b O$ v
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );5 r$ E5 ~% o# l( m
}else{/ P% E+ \, }$ M4 Q% _3 @
SetForbid( TRUE );; B# c: I1 G: B& A# D
}9 p! x- J+ v; h
}else{
& ~) z ]0 n* O* F2 O1 t0 g SetForbid( TRUE );
5 e$ c3 k/ M! @/ ~# l ]3 j# Z }
0 q3 u% S& f& y# _# f return TRUE;
3 }+ E! V0 a8 { n4 }# g9 t" f}5 f! U' d7 n% o+ |* v
& ^7 Y8 |: x( d' D0 I/ f1 U
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
1 N% Z7 {; N* ?. B$ K{
7 M/ H( _4 I q7 D" i. { switch( nID )
7 O3 O( y0 o" p: A5 d( A2 z {$ P2 g0 [ ~. s# x8 A
case WIDC_BUTTON3:
( X: ~1 f& i. s# D9 z$ l {7 o/ M$ C/ @# O; E
bStart = TRUE;8 D. {, N' H; n3 k- J& l$ ]
break;& A9 [ _" x$ h$ l. u' b
}
7 o5 B: @8 \& e! ^/ P case WIDC_BUTTON4:
6 n' V% c1 U" |! O: V, @. H# q {
8 z Z& r! x0 M# y" B bStart = FALSE;% \3 t( ?, T/ L5 \
break;" j: |) K. I' J( z6 v0 B
} f Z2 T& B- \* c8 a* I
}
/ U- o3 H; E6 K9 i: G return CWndNeuz::OnChildNotify( message, nID, pLResult );
5 J0 g, L" G( T: ^8 R4 G, m1 L1 M* A} 2 o& q# \! N; j! z
void CWndAutoFood::OnDraw( C2DRender* p2DRender )7 p" H* B1 O: [9 K# n# [1 g$ G5 y, F
{
1 [9 y9 C" @, _0 J3 F CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
+ B8 Y' x+ z& t* ~ q( a0 L0 \ if( bStart || !m_pItemElem )
n+ Q$ ?8 e, [8 N4 N& Z3 H% X {
7 J3 |2 F9 o1 n pBtn->EnableWindow( FALSE );
1 r# R* w: P; `4 @9 W( W, D$ j- p }else
& c- V2 I' E2 `# M7 B pBtn->EnableWindow( TRUE );3 O+ l, U6 r- |. K% |5 g6 a! ^9 m* a
if( m_pTexture )
6 B/ |/ v4 s! G* J7 _ {* \, c, S1 f* o: @) s
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );1 l; s! V. e3 q. b& w* w( j
if( wndCtrl && wndCtrl->rect )9 [/ b) W& z6 J6 k
{
$ r& s& F: h% E5 E7 a3 ]2 x( a m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
+ k8 B3 D7 U3 i0 z' V }
1 }* p! n+ W: k. g$ q4 z }
2 z4 @# J$ A, C0 L}6 \) ^7 N, @6 d
" V! m9 `2 S1 ]) _( @7 U- D
BOOL CWndAutoFood: rocess()
9 S% F5 c3 Y" y{! A* w1 F5 v& o9 t% C; i2 P7 o
if( bStart )' |* ? E# O3 `0 }) Z
{5 j3 u) @8 N( m1 D( K# c, h
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )5 ^0 C, w, q3 W2 `2 h1 V
{
! g! g# N( I9 i }* [ if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
5 |) Q- M, v; }( f% V u3 E6 z/ H g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );( k; [! {. n. t3 u
}else{
" ^: u ?: l) t bStart = FALSE;$ M0 t2 \- k0 ~
m_pItemElem = NULL;* G/ a1 c5 _) Z. L1 J8 C' k
}: F% Z K- P0 R5 {! P' P
}5 @& Z) C. r+ F" h, z* @3 Q6 k" W& ?
return TRUE;, b+ o7 H1 G8 M5 O1 E6 A
}6 U/ O$ e* _1 I2 a3 B
1 e+ D; y- ^0 @* e
登录视频废话:
. x( T6 y* p8 V8 H尾翼:
4 T1 |& e/ K0 a- Y5 s# |. j4 H- \9 E! Y. f9 C& _9 q
代码:5 c2 ]& j5 I) e$ c# {# Q! w9 W' c
/ ]' \- I! K% j( c* P8 w4 N
void CWorld::SetLight( BOOL bLight )& ]6 f/ U, `+ k
durch
* i7 S" |3 z" R- RCode:( f0 J" h% u0 L- m
void CWorld::SetLight( BOOL bLight )
, S0 }) d' v1 n{. [/ c1 u8 b9 u4 @0 h3 h# t
//ACE("SetLight %d \n", bLight);' q# f, x: f0 m+ J) }" w
d$ i+ b- j: h) P#ifndef __WORLDSERVER / P" B1 W- ]4 I ]3 W7 d
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);( {5 G( ?+ ]9 x/ |
CLight* pLight = NULL;
# i& v! }) l; g: Y- }/ `- }
, `5 O3 X2 ~3 @# Z D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
$ z! ?7 _6 _8 h3 A2 T, K/ c/ {* B+ \7 m! h+ \+ f, F1 x; j, \, v
pLight = GetLight( "direction" );) o& n/ Q4 ]+ Y0 A7 s& z( S
2 `0 @6 \# |9 F2 L' r#if __VER >= 15 // __BS_CHANGING_ENVIR
# b9 ?& }" P: r- o) A) [ if( g_pPlayer ){, F0 _& L6 W4 {" |6 z
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
0 X: J6 U0 v5 B9 z5 R; X if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!' H! [1 T( F9 M
{
' d) N. M4 R; r6 U2 Z8 |3 | if( pLight )7 A: l8 p o2 X4 b8 [0 ~
{
9 }, l6 g0 O+ [ pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
' k* C* e* u z, b5 Y pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
- Z+ h2 o/ @1 k4 } pLight->Ambient.b = pInfo->_fAmbient[ 2 ];% g. {: T2 j& _" ?! X: j
* N! M; U& e, y& h9 J2 ^( y pLight->Specular.r = 2.0f;1 L% [ b* {2 K4 I
pLight->Specular.g = 2.0f;" \8 I* G# J# {) w' {; P0 X# P4 E
pLight->Specular.b = 2.0f;
, E& u0 r1 T- i& X - ~$ F W1 J# V6 V* i1 m" K" Y
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];; y9 F- B b% [, S
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];2 e6 X7 x& N j0 F" c. U
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
$ n6 T% b8 p; P& B( ^, f 8 Y' x/ q+ Q, u; W" N$ Y' j$ V
HookUpdateLight( pLight ); 2 g' W4 b5 {! {9 l' _! R) s& ~/ U
, F+ S8 t0 i d3 b. I# N6 W
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; ~8 r" \4 @6 I! L
& I4 e4 R4 T/ F pLight->Diffuse.r *= 1.2f;
+ @* {$ a% h4 K( v! t h pLight->Diffuse.g *= 1.2f;
, b( D& q3 F! q( |' z pLight->Diffuse.b *= 1.2f;
i8 Y, @; ^+ `/ C b- W, |4 f' o
pLight->Ambient.r *= 0.8f;
7 z8 u. _4 P5 T7 c( r( N5 ` pLight->Ambient.g *= 0.8f;
# x; N' a- M& K' Q, O pLight->Ambient.b *= 0.8f;% D, H- h2 Q0 `$ K# D& o; U
0 y6 a9 ?! f3 R' x5 \, B
memcpy( &m_light, pLight, sizeof( m_light ) );/ i- z# b8 K/ X) L
9 u+ X3 d9 n4 [+ r% z! l
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);0 I. J3 c e& H1 S7 J$ l
D3DXVec3Normalize(&(vecSun),&(vecSun));4 z0 N# b# t8 u) X. ]: h
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
; `% t; R$ y7 M) {7 F8 f pLight->Appear( m_pd3dDevice, TRUE );3 L, e3 ]) @* |1 n3 \3 z
7 H- ^1 P7 X7 a6 L# @ DWORD dwR, dwG, dwB;
4 [' m: c; X' ?0 w dwR = (DWORD)( pLight->Ambient.r * 255 );! X0 ]* B9 @! s
dwG = (DWORD)( pLight->Ambient.g * 255 );
' V `8 a# D4 ~/ P- ~ dwB = (DWORD)( pLight->Ambient.b * 255 );% L" I3 k* p# e+ g
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );) s5 d" |; ?$ G7 W
}' o* u: u& b" Z: }7 [
}
# t9 y; |8 E- R" k }
9 C- Q8 h/ ~5 ~, x# ? else
* T( \% x/ S% f: \' Q; A# ?#endif / Z4 D, Z+ G6 g; H9 ^4 m+ z& H3 x) S
6 X a& ~' h4 q: M; J! j if( m_bIsIndoor )
7 e0 b+ h+ I! S$ ^' ]' c {9 _8 I. g. B6 U9 M4 O* |
if( pLight )2 Z3 V) J* b6 x" u/ P
{ 4 d8 T* \7 R$ U5 q7 q6 F, L
// à??μ oˉè* $ V! V7 |: a9 w" I( h: W- }; U3 ^
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;! `" B" Q! Y& G
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;8 U# _% H3 ~! L: {) `* J8 d
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;( h4 ?7 K! f4 q& }' _/ e
$ }+ f/ F# \% g5 O% j3 W# D
// oˉè* ??à? & A5 a% q# K9 L) s
pLight->Specular.r = 1.0f;! F$ w3 ~: h; I) V3 F4 D
pLight->Specular.g = 1.0f;3 @; ?! C, {4 b
pLight->Specular.b = 1.0f;& A* V: o2 V/ w% D' x# C
// àü?? oˉè* . i) |0 h/ [4 M
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
. A4 q2 ?& N/ H- T pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;8 J2 \. t% D4 L' s
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;+ j$ p8 m7 E$ {2 I
+ }9 ]$ q( w7 o/ h9 W2 }. x$ f
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
! s0 [1 g, @5 c {: c+ c+ c4 N( f2 I
pLight->Diffuse.r *= 0.6f;
9 U0 ]9 ~/ L) d5 F u$ H; H pLight->Diffuse.g *= 0.6f;& O" h, a# M- c6 l5 i$ J5 l z
pLight->Diffuse.b *= 0.6f;- V) `7 h* G2 f7 A0 ^
pLight->Ambient.r *= 0.7f;
$ A, ~; l3 u- {' c pLight->Ambient.g *= 0.7f;. u5 w2 h: z4 n' Q% L( x, p' {
pLight->Ambient.b *= 0.7f;" B. k3 w+ H( G' X7 N& c
}- i: x. C. y9 _3 Z L
: S e5 @' A" F% y7 Q
#if __VER >= 15 // __BS_CHANGING_ENVIR _6 z4 ^/ w R" A7 r
if( g_pPlayer ), m' u3 _( q6 ^
HookUpdateLight( pLight );
' K" I! y4 ?$ M( \% W( E/ a9 i& s#endif
# t) G0 y9 F- G/ e9 \ ^, [ u memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );6 i' t( G* g4 ^% I& f
% i. a$ T: ?" E* ? t& Q. X, ]) o* [ pLight->Diffuse.r += 0.1f;
* w% l' s, U7 g, d. S% s0 I" e pLight->Diffuse.g += 0.1f;, C G) w( v- M: _0 s, c. J% N
pLight->Diffuse.b += 0.1f;
) A+ ]- o8 x1 u // oˉè* ??à?
% T F( G5 L1 a; b pLight->Specular.r = 2.0f;' f1 ~& v, l1 l, V
pLight->Specular.g = 2.0f;. y9 j4 L9 ~7 U. Z, a2 V
pLight->Specular.b = 2.0f;
8 c! B& c7 y; ? // á?oˉ
6 s" K5 x8 B _; v2 p: G pLight->Ambient.r *= 0.9f;
6 d2 w6 X. ^6 ~& B6 z. ~% |. { pLight->Ambient.g *= 0.9f;
: s! r, Z4 T* @$ W+ i0 m pLight->Ambient.b *= 0.9f;
% H4 S. W! M2 x/ g; z* {: z! h, t
% e7 b, O, j+ S1 m* T memcpy( &m_light, pLight, sizeof( m_light ) );
+ E% C3 t, i9 T0 d5 _, o
9 Z" s6 m+ m3 n* t6 p pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );/ t6 s, M8 t1 }! E* Q$ C8 u
pLight->Appear( m_pd3dDevice, TRUE );
% e+ `" u5 G3 E2 ]6 n4 u; c1 X
3 c9 d- q& t6 ?- z7 a# H4 {( @' [ DWORD dwR, dwG, dwB;# |- g! A) f7 a( B
dwR = (DWORD)( pLight->Ambient.r * 255 );* f1 Q& c- J+ C/ R/ y1 c
dwG = (DWORD)( pLight->Ambient.g * 255 );8 e- C, s$ O" H1 I6 I
dwB = (DWORD)( pLight->Ambient.b * 255 );
# X& x/ B' j7 T7 }1 D R dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); ^1 U* X% [) K' k7 y8 z: J( C
}
1 H0 _7 H3 M" W/ G" R: o% t; I& P }7 t' y# V+ N8 H9 C' y& j: h4 y
else. ]( p, |* F6 e* N; h8 q7 y" Z
{
/ C! N! W$ L% O2 M8 | if( pLight ): B8 m0 h& ]% O
{9 b! \7 z3 U9 c
t. B5 `* w9 b, P. D4 b& V/ `7 Z- E int nHour = 8, nMin = 0;
" P; @" C. q& {. r$ N #ifdef __CLIENT
) d1 w" g6 c* t/ o6 O+ G. N9 S // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
; M9 L; O* @% x5 `$ A( k nHour = g_GameTimer.m_nHour;$ E( w3 i8 I1 T. r8 h L
nMin = g_GameTimer.m_nMin ;
; ^( Q9 t% F) o- L' K7 t: g #else
& L! P. D' o" }0 a* O" I // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
, w) P6 B% n# s, p2 i if( m_nLightType == 1 )7 Z0 V+ {* M" Z# B" J
nHour = m_nLightHour;
1 T& ^2 n. s2 t #endif
: G3 ~7 V M% r. [ nHour--;; R) o: U) x5 A( C% N1 y5 V
if( nHour < 0 ) nHour = 0;7 X: ^8 N* \- C& ^4 D; \6 I9 w
if( nHour > 23 ) nHour = 23;
% \- [6 X$ }* r; j! b0 z* [% {% @
; \! [/ b3 L4 K! Y( s2 Z6 B3 D //if( m_bFixedHour )- N! b+ B m, A* ?/ O& z
// nHour = m_nFixedHour, nMin = 0;/ {! T: ?- f+ V
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
( L9 U6 }7 k. E* o: o& L LIGHTCOLOR lightColor = m_k24Light[ nHour ];
4 O8 E* t$ K( m3 ~! G5 U" g% N* f7 [# U/ q% v
//m_lightColor = lightColorPrv;0 {3 r K* J8 a" G( R- w( `
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;; a- p$ J3 w$ _+ Z- G( u4 z8 N
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
1 w# D6 W6 C, D/ k/ \; ^ lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;. ~0 D4 k6 v: J4 b/ n3 o
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
& ^: P9 a1 i9 k lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
: w, o! I8 M; N0 W- n1 O* m6 J1 k lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;+ e8 A0 Y: p+ g" [4 H
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
1 ~/ k7 v6 a" E% ~" k) x5 N4 j* I8 i5 s! G% f
// à??μ oˉè* 4 U1 j7 B+ m1 f/ F
pLight->Diffuse.r = lightColorPrv.r1;/ z f+ ^1 a7 t: f; ]$ h$ w
pLight->Diffuse.g = lightColorPrv.g1;# T- z7 w* t _1 o. T b
pLight->Diffuse.b = lightColorPrv.b1;
4 D3 {* B$ \" x# o! Q9 I // oˉè* ??à? , t1 M4 r9 h! z8 S- s. t. W& _& k
pLight->Specular.r = 1.0f;
1 `5 g5 X. t3 k' O& K8 H$ ]5 L pLight->Specular.g = 1.0f;9 H( r# O( ?2 T- h: G7 h( j1 R
pLight->Specular.b = 1.0f;4 r! j( j! k( u& A% o7 o. i
// àü?? oˉè* 4 R0 D5 P. Q8 Z; ?
pLight->Ambient.r = lightColorPrv.r2;
4 `- G4 `" N' _1 \. x pLight->Ambient.g = lightColorPrv.g2;/ v5 U, F: B/ B8 L* q) p, P) E
pLight->Ambient.b = lightColorPrv.b2;
& X' [3 S/ B% Y. q' n' _" q, c
$ A& }- B/ Z; i$ s4 D if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.. C7 q- @" O( d0 @+ c% O
{
; V, g l" u% L% B/ U% Z) _ pLight->Diffuse.r *= 0.6f;1 t1 s+ @% c. z+ u
pLight->Diffuse.g *= 0.6f;6 T$ S% N* S" [, p! k* X
pLight->Diffuse.b *= 0.6f;
" k v: r0 _5 k- {: \; [! N pLight->Ambient.r *= 0.7f;
- N. r4 P2 x, b2 h+ o0 G8 O pLight->Ambient.g *= 0.7f;
' W0 {1 E" B0 W. L$ b p- ] pLight->Ambient.b *= 0.7f;8 z9 D6 ^1 u! |% |3 Y: N! Y: |' f: J: ]
}" l* i+ j8 R% x8 w x2 S
- I) U( z: e3 d8 o; W#if __VER >= 15 // __BS_CHANGING_ENVIR' ~: I+ t/ Y3 t+ r. Z
if( g_pPlayer )
0 }8 K" L4 ~8 o9 ~; f/ y HookUpdateLight( pLight );
0 h$ ?! N& K. w' D4 G' Z#endif5 [' w2 z- @& |( y2 l! {
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );! J1 D: p& s+ k8 a/ m
9 \: X( M! y/ q3 H4 n" N; |
#ifdef __YENV$ [1 A8 |: l; t h& ? C6 p% H
pLight->Diffuse.r *= 1.1f;
1 }7 l& z. n* b pLight->Diffuse.g *= 1.1f;1 K" G$ t3 W& l* g
pLight->Diffuse.b *= 1.1f;
' r* [" o- F5 y' W ?! B- p9 f // oˉè* ??à?
/ N( s" j0 u( R1 v+ f( l1 N( K pLight->Specular.r = 2.0f;
5 r8 \! z+ c' Q5 B' Q pLight->Specular.g = 2.0f;
- B; D# p# a* ?& r& K V pLight->Specular.b = 2.0f;
& N1 u0 Y/ N7 z& F0 D7 D // á?oˉ
- M" Q5 i" }- J! H+ [4 c pLight->Ambient.r *= 1.0f;2 G" Y# O2 K/ c' ?. p0 O7 y
pLight->Ambient.g *= 1.0f;" N$ o `$ ^4 E2 R% m& y, m% z* `) |8 Y
pLight->Ambient.b *= 1.0f;
/ m) n) @0 v. u$ R#else //__YENV
" w8 Q- I2 N4 u pLight->Diffuse.r *= 1.1f;. W) B; q- e1 ~: c) S! h. A9 n
pLight->Diffuse.g *= 1.1f;
$ W1 ~8 I/ o+ p5 ?% U pLight->Diffuse.b *= 1.1f;
, x$ B L9 p1 M' ^9 J+ r // oˉè* ??à?
5 ^8 F0 z; l& l9 E) @- j, {& o" Z$ M pLight->Specular.r = 2.0f;
3 y- N+ I" O: Q5 g) p pLight->Specular.g = 2.0f;
6 Z! J# o' y( {4 B pLight->Specular.b = 2.0f;
! t2 k% \' j% }+ @* K // á?oˉ
! O$ j8 n; c1 V pLight->Ambient.r *= 0.9f;
0 l0 A5 M2 B) Z# g3 v6 I: s8 E pLight->Ambient.g *= 0.9f;2 D- v! E6 O/ o
pLight->Ambient.b *= 0.9f;0 a6 m J3 ~* Z2 y
#endif //__YENV / C& h8 |( [ Y6 `4 R% X
3 W: i$ x; m4 z9 |+ y3 ?7 A7 ~' j
memcpy( &m_light, pLight, sizeof( m_light ) );: f' x& G% M0 ^6 k. `) g* {
. B& [9 e8 o! D% |6 G! q$ t i& k
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);# r8 T- d- W2 l _$ _
D3DXMATRIX matTemp;
4 t$ g. t- f: e8 ~ w6 ?( \ static const float CONS_VAL = 3.1415926f / 180.f;! w7 q: K6 l4 R0 T
5 s0 D: L6 W1 f6 ?5 b
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);; d* y( ~# J7 G1 t
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
7 w) z, y& j2 F5 e' J pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 2 e' [% |9 w+ z
pLight->Appear( m_pd3dDevice, TRUE );
' o5 L: u7 H, z- E5 E1 M/ b: E9 @
K, X( \; \+ }6 [3 |4 M // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);: ^8 Y q0 u4 l# u# W6 U r
// D3DXVec3Normalize(&(vecSun),&(vecSun));
* e0 E4 K( V+ `! |$ l // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ; E2 \# w9 j# Z" _3 y3 M
2 Z M( A% R- V; `- l8 h& T, F: E
DWORD dwR, dwG, dwB;
$ D7 o7 b3 c" I7 A3 E: L5 \6 f( l dwR = (DWORD)( pLight->Ambient.r * 255 );
) K- f; ?3 ]3 i6 v dwG = (DWORD)( pLight->Ambient.g * 255 );( B% P* I4 L0 N# R3 G5 C9 A0 P
dwB = (DWORD)( pLight->Ambient.b * 255 );
9 l! X/ [) |4 {5 H9 N dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
\' G% O5 _8 Y$ C, j5 ~7 _ }
5 U% \: C. c3 o+ z5 Q }
) E/ F1 N. ?) B- B4 F6 Y
) v* N0 p; w9 J8 @9 ?3 _3 U m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
* @$ H; a0 w* v D h 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) );
/ q% m. @4 M. F$ H ::SetLight( bLight );% c4 Y6 ?. c+ G
8 ~9 @* Q3 u1 x9 k. S
// ±ao? ?D?í???ó á¤à?
, J. T3 x3 }! p6 {# Q m_pd3dDevice->SetMaterial( &m_baseMaterial );! y3 W; h- w+ H1 @
3 n+ O- e5 L4 X$ q* o0 Q3 R0 P#endif // not WORLDSERVER4 K. X% v' t# j% v% q
}+ B8 x" X% b- s; h- a) I. [
并更换; n# D/ H8 z$ k9 a8 k
Code:
Q- {; v! I0 G5 T__FLYFF_INITPAGE_EXT* e: u* J1 \ s Y
定义" z/ E2 v3 j" } B# s/ H
0 m; Y A) V/ N. I" |7 ?( I
$ S. q& N" e& B. `$ }& q$ S
( \( ^- b0 ?0 f- }6 O5 g
# l6 g$ N0 h$ z0 V1 U5 ?现在终于删除我的狗屁加速...
/ K) }3 I; t8 a6 U: m) O+ M* U4 S1 X& T( Y& h$ e+ ~4 W+ [
+ z/ b8 f" c6 p P4 i1 r9 h
; ~ Y+ X4 a- ]- G( } |
|