|
|
食品车:( D; g4 O3 R8 [1 U
尾翼:
& e8 _: e, I+ ], Y# O
7 M& _. f8 ?8 j5 p% T6 S0 S代码:2 K% T! n8 ] t7 |4 _
CWndAutoFood::CWndAutoFood()0 S9 E! z1 h6 U; B, L
{5 n ?" Y9 |, a6 ^6 F0 ^4 ?- U& O
m_pItemElem = NULL; t& D4 M+ U. U! A8 Y
m_pTexture = NULL;2 q! O1 ] [7 g- K' l9 Y: O* a
bStart = FALSE;2 f; t+ a2 k1 G# @
}
}' i$ H6 l: L4 q1 l
, n( }6 ^, E" a$ wCWndAutoFood::~CWndAutoFood()
/ K8 s, H$ [; y T* P- d4 Q{
6 U# B/ H3 t1 ^! X AfxMessageBox( "AutoFood ist gestorben " ); y3 f9 ~0 E2 c
}
" i4 i8 m! S4 _BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
9 l0 S# p3 K# `$ y1 U{
6 d. g: G V" B) y return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
1 Z. P& m8 g; k" z; y}
) r# p9 Z7 Y7 S- k- P5 T
+ N& O% X; k7 b/ LBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )+ H- t4 T7 h( V2 C
{
& |5 K* L" l7 E6 D4 {4 t' ?8 M# w2 c LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );& I+ u7 Z. ?- o* F9 P7 ~9 C) c
CRect rect = pWndCtrl->rect;; T |) T) t( L1 d0 S) B
if( rect && rect.PtInRect( point ) )
& ?) e+ g9 j) [$ L* t {
# r9 F" X7 O3 s( Q/ R0 T5 ?) u7 U CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );$ w0 T, {/ ]& h
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
7 e' ] L3 P9 c0 ?7 E( Q {
2 }# M M% W' L: ?! i9 B+ e6 b if( m_pItemElem )5 o* Q) z$ j" L+ ^( y; E5 z
{
# y; R2 q, o4 U3 F& @) U1 o: U m_pItemElem = NULL;
: A1 @! m! t1 n/ K- S }4 m4 t* N9 _+ M9 U
m_pItemElem = pItemElem;
$ D: H! R$ w" ]- i; O. L m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
' c0 {6 x; u; }( { }else{
" O5 D1 i4 E/ [. `7 a SetForbid( TRUE );
6 Z0 ]4 _- j u. B8 O- r3 z }4 D+ T6 g7 r) d
}else{
9 Y/ m! y; H' K) s* Z- x C SetForbid( TRUE );& K8 {; f& E2 v3 G
}; C+ f; {! L8 A3 l+ k4 K4 e( [
return TRUE;
3 [, z+ U& C" e$ T4 W/ i}# A' y( x5 ]6 M6 o7 B0 {. B' W
; s: {' D+ H2 |( z) |$ q! pBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
# U i: o+ F6 V( I' r" }9 A4 @{# z/ i& U1 P4 p C+ m+ P% a
switch( nID )
2 d% c V6 |- g {7 T2 R1 I, @: z! J* R
case WIDC_BUTTON3:! H. l6 }! n: O! [& w
{/ u- D# f8 Q9 a: y" P0 ?3 E
bStart = TRUE;" d3 \6 D4 X% O0 G4 y, |
break;; W/ D0 c& |+ C) p' A
}
8 w; ~% a) w0 [ case WIDC_BUTTON4:1 i8 V' _; c5 R6 ^
{6 f5 d- J$ C; O6 C9 j# C" ~* }
bStart = FALSE;
- c: y, J) j4 H+ Y9 X, J- M. s- | break;. P- ?8 h p3 F9 [0 g- g/ ]
}5 d% M; B7 m; J
}" l4 }4 G) u' u4 \1 `! `) D
return CWndNeuz::OnChildNotify( message, nID, pLResult );
. q: y8 Z2 H5 K9 s2 k} / f& p4 `: A' w
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
( @7 R$ p2 b# K5 j6 X0 S! `9 M{$ ^. @8 {7 h" p( s
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );3 n, n& j% _" d1 B0 K' d
if( bStart || !m_pItemElem )
( i1 X2 ]: T$ {6 ]; M" E) ~ {* \# a, B4 D* m F4 |8 z& e4 }
pBtn->EnableWindow( FALSE );( f3 d6 x$ q- D: D5 `5 A7 c' x
}else$ t2 Q n+ n8 A6 }# x! Y
pBtn->EnableWindow( TRUE );
# A. `' U1 n8 p" b8 R' l if( m_pTexture )' f9 O; ^2 h# p5 p/ \, P
{
' h) O9 B, |; d( _ LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
h V8 ^1 L: U8 R( V! X$ G; ^+ t if( wndCtrl && wndCtrl->rect )
9 m- e3 _* ~7 [( ] {
# U h% f4 a) k5 J6 n4 g: d6 S! H m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );+ L) a8 q7 P' t. h) ]" k
}4 h) `- a% J0 N8 N5 o8 }
}
# ^: P9 l. H+ L+ r# C}$ n: y; l! b+ T6 W; f5 [3 B4 a6 z
2 W' j# ^( i9 u N9 @! f. @& A
BOOL CWndAutoFood: rocess()) U8 b2 t, v2 R
{0 v% u6 p s# x4 Q. Q5 |
if( bStart )5 o, ~5 ^% I2 v4 |
{
$ K9 i: B8 {% P# U$ v! Q if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )( t! D( |3 z0 `- @7 A2 U
{
/ Z( G6 R: _, |3 v. V* H1 k$ R. r 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 ^2 k. e2 [$ I! }% b. W4 m7 b
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
# X: _3 ~9 m1 r9 C/ B$ m }else{6 X1 L& l! v6 n* ~5 i5 Z
bStart = FALSE;; C) d! s4 h- I3 A
m_pItemElem = NULL;2 n: X+ q3 L2 `% s0 @! [
}
7 `' j4 _( R8 s$ v' o1 ?/ k }4 a/ p! T3 S% [1 W) M
return TRUE;
" Y7 G. `; [, |4 ?}3 r3 y7 B5 H5 B( k' t' C4 p
+ o7 c$ v1 y5 v- u+ c0 I登录视频废话:
8 g5 |. v3 j0 K- ^9 s% q/ L- k- Y. e尾翼:
: A F y' D. U1 a+ f
9 ?- K0 d: B: D/ l) o0 H8 a代码:
0 _$ E* c# c k" O. R+ E) I
3 q; @7 ]: G( h' dvoid CWorld::SetLight( BOOL bLight )
7 a6 q! R: b+ V4 Mdurch8 s" a' x) a9 U5 ^9 n$ Z
Code:: Q/ t2 U0 c! t) N# s
void CWorld::SetLight( BOOL bLight )9 }* \' K# {% {
{
* e+ x N1 B1 A# y: K //ACE("SetLight %d \n", bLight);0 K7 v: P) M+ i8 |' } A1 H
0 w: f, a* b8 ~* p
#ifndef __WORLDSERVER
5 ^. D- ]2 n/ j' h DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
3 a8 w+ O1 r+ ?$ T, ?, T CLight* pLight = NULL;7 E2 J! V" X4 [, t/ q
9 @" C2 I/ |. K
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
& g6 b9 W# d7 K6 l8 z, }5 W1 E0 F' _+ r+ m/ ~ U
pLight = GetLight( "direction" );
1 O( P+ U8 i$ H! a9 D$ ]2 W
# T( D" P* G9 H# j#if __VER >= 15 // __BS_CHANGING_ENVIR
& \9 A8 O+ u3 v if( g_pPlayer ){
) I; N0 v! m6 J- K1 F% x5 h ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
: g! [' A- i! P if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
) a/ x; f H& Y% e7 ]" \ {* J, B! B. T3 `$ A4 X
if( pLight )$ g: X5 j7 k6 \
{
: k v" C( m y+ L7 f+ C pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
1 W1 g* {2 T2 A9 } pLight->Ambient.g = pInfo->_fAmbient[ 1 ];2 Q+ E( k& ?7 ~; q1 n% N& c
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
2 Q4 H+ W ^: L; m# S- Y- E( `( L5 W1 ^" I* h8 M
pLight->Specular.r = 2.0f;3 [. ]( ~0 o# N- k: k
pLight->Specular.g = 2.0f;
: o) o+ M! l. Z) V pLight->Specular.b = 2.0f;2 V. i6 ]" w1 {9 {: ]7 G3 i
3 {% G/ ?. S2 J7 e3 \ pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
+ ?- q, T+ G; U pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
5 k) E S2 v3 b' E- j E8 b pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];- `/ w n! j4 \9 X2 a
3 b7 M% T& X- J: w1 J0 M HookUpdateLight( pLight ); " q" f8 @2 Y7 t9 J# V9 p: a
8 o+ v& R" g8 w6 b9 }4 O
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
' e7 @ d, P3 t. t, w: t
1 o" M7 Y; R( b' d. o' C, l- } pLight->Diffuse.r *= 1.2f;
' I- a. t8 f" t0 G- n pLight->Diffuse.g *= 1.2f;% W) f# V7 ~" ` j
pLight->Diffuse.b *= 1.2f;/ G+ I s& b6 ]
, \2 x. f. M4 |) Y% n; B
pLight->Ambient.r *= 0.8f;9 M$ g. r* {& ^- V/ a
pLight->Ambient.g *= 0.8f;+ x/ e0 O; M. @: H9 W9 ?" T
pLight->Ambient.b *= 0.8f;( a6 M5 `" H% P) A. O9 I- n6 ?8 B& q
1 l8 h1 o+ c" m- \
memcpy( &m_light, pLight, sizeof( m_light ) );* K4 f' p% l+ z- ?/ u
% k. U# L, w4 K& H) E2 m D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
) b+ K1 k6 P/ J* V9 J. I D3DXVec3Normalize(&(vecSun),&(vecSun));, [! [* ]. H; n6 ]4 R1 a$ m
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); $ {' O2 E2 D/ }8 F( @8 z
pLight->Appear( m_pd3dDevice, TRUE );
1 g7 T5 v5 v: L1 \) x# `) E! @2 U
! c0 W' g0 s& s+ t1 W. Q DWORD dwR, dwG, dwB;4 j' }# Z* j- }9 B" y& ], u* N
dwR = (DWORD)( pLight->Ambient.r * 255 );0 m; m4 l! c) G* r1 E) ^
dwG = (DWORD)( pLight->Ambient.g * 255 );
! Z K- G4 n* s dwB = (DWORD)( pLight->Ambient.b * 255 );
, K! S$ }) s/ ~- f& b dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% S; V4 h2 i1 W2 z }/ e) S0 k! E/ \# b3 f! R9 M0 K
}
7 E" |: i% J% @* M/ D }! i9 u; d, T+ O+ {
else
1 o4 c3 r% b* R/ j#endif * _+ h+ W4 p( ]2 L4 X; v$ Y5 A; z! }
5 h+ }# V3 ^/ e& R; h$ m: R if( m_bIsIndoor ); G5 k9 G2 n- p% y9 i
{ l; [* H" Y9 Q$ o! J# c1 S: z
if( pLight )& t, Y9 j0 }, m1 f7 y' ?5 c h
{
+ ?; b; o2 \1 W; k y" N; f" ] // à??μ oˉè*
' r$ H/ G+ Z+ p/ x9 Y. {. y' d# i1 _ pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;. H2 l; c5 o5 ]8 p& R
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;: l. d1 p6 J2 k5 q
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;, Z: K, ]1 H4 c$ M8 U
" h* Q& F. |2 k3 T
// oˉè* ??à? / c. o* m) o% g, G
pLight->Specular.r = 1.0f;9 l% q7 q9 H# E- W% i( {, I
pLight->Specular.g = 1.0f;
. ]3 f7 ]3 Z8 ]: j! z4 y1 k4 I5 f3 V pLight->Specular.b = 1.0f;
: H4 q% W& a& d8 n# C+ w // àü?? oˉè*
, x; L" |( _# L8 S6 r$ l9 \ pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
# _: }. b- p$ g' h) j& h7 N2 z% D pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
; l8 l. ~3 L |+ U: `5 D# Y- X pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
3 H- }& M- M+ @) u/ Z
. h/ e5 ~. p$ l" b if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.: {1 B5 A) H b( a b
{
" c$ L; n4 t; F$ X* Q! w pLight->Diffuse.r *= 0.6f;8 w: G( i* f% f) [( v' I
pLight->Diffuse.g *= 0.6f;" g8 o R$ Q2 ?, m# e
pLight->Diffuse.b *= 0.6f;8 c, e, N+ w" u4 E
pLight->Ambient.r *= 0.7f;- M) T. e6 z# q
pLight->Ambient.g *= 0.7f;
+ R! a' i) J# Q' L4 b3 q2 S pLight->Ambient.b *= 0.7f;
1 ^- r0 Q7 ~3 H- b8 r }5 T# T' z. V6 Z+ s% ^' t! Y
! j) b5 ]6 i, U: l7 r* y
#if __VER >= 15 // __BS_CHANGING_ENVIR
1 A. D0 E# h: W8 N7 f$ K if( g_pPlayer )9 M. ]3 B9 B9 g; ]# Q
HookUpdateLight( pLight );
& Z! j- z7 O9 R/ a) h$ o; q#endif' Q" c; k: R) j/ N% s0 o
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
: M. p |) P" y& e* E9 I. `9 P, B1 J1 ^2 [3 E/ k
pLight->Diffuse.r += 0.1f;
0 p6 I; g9 n- ? pLight->Diffuse.g += 0.1f;4 Z1 K7 i' e: L9 n7 Z
pLight->Diffuse.b += 0.1f;2 N1 e B$ i" h: f! i$ c
// oˉè* ??à? . S( P* w# {# M) V/ B7 ~ z, s0 {8 s
pLight->Specular.r = 2.0f;( L1 y& J b1 V. \$ H/ F
pLight->Specular.g = 2.0f;
4 { _( U3 F! A$ n$ q" i: i- o pLight->Specular.b = 2.0f;8 H0 l- O3 t' M: n8 Z
// á?oˉ ; p5 V: A$ q9 E1 m* f" I& c% o& K
pLight->Ambient.r *= 0.9f;$ v: H* f1 `* k& D' |) g
pLight->Ambient.g *= 0.9f;8 P4 V: _1 i% l4 J' e
pLight->Ambient.b *= 0.9f;. |( b1 c( |; A
5 p( `6 _+ G* Z- e" D! M
memcpy( &m_light, pLight, sizeof( m_light ) ); y* K* ?) v# R% v! X
5 @- V7 {4 d& W1 H) x pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );& }# ~* k$ n8 x0 l2 z
pLight->Appear( m_pd3dDevice, TRUE );2 b' H+ [5 i/ y0 u T4 m# @
: ~! ` u! K1 c/ Y DWORD dwR, dwG, dwB;& U4 j5 {6 L5 I4 h
dwR = (DWORD)( pLight->Ambient.r * 255 );; ~/ c3 P+ V1 e! s9 O& v3 ^
dwG = (DWORD)( pLight->Ambient.g * 255 );
" D* p' f0 m, b( ^+ V! I: M dwB = (DWORD)( pLight->Ambient.b * 255 );
: F6 W( X6 T: N1 H dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );7 k. }& `$ C# |5 t
}2 e; c( [; h O8 L
}
2 n; v5 q4 _& P; U: \ else
- {! J* Z, j# q/ W" R9 Y6 c {
, x+ |2 M7 ]' X- C: I5 M if( pLight )
- Z2 _0 J2 _" O/ E4 B {- [2 g! Z1 k# H7 p/ [! L
. A+ X- K6 K6 J" y; n: I int nHour = 8, nMin = 0;
; t8 I/ R8 x: }3 @2 t #ifdef __CLIENT
8 h. [3 E* ]# n0 o- E // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
6 _9 w( N; T/ H nHour = g_GameTimer.m_nHour;
7 V7 A8 q7 G8 F J6 _' _7 z nMin = g_GameTimer.m_nMin ;1 z% h5 U' n: O6 B0 | X( @
#else8 [7 T- F) ^; [
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
! o* ]/ u% y7 V; p if( m_nLightType == 1 )! u/ [* N9 u! t3 t2 ~0 d( i
nHour = m_nLightHour;( g1 ^3 w' c! Z: \7 H8 g' x
#endif
$ p8 s4 [" h M& ]) ^ nHour--;
% S& G* K) R: V7 U' G$ n if( nHour < 0 ) nHour = 0;
# B9 B: |+ B. N& r: K$ @ if( nHour > 23 ) nHour = 23;" T5 n9 K/ e, q2 f+ s
6 Q5 {' F& x3 R4 W+ ]) l8 K. z
//if( m_bFixedHour )* a4 |* k7 e7 M+ `7 \
// nHour = m_nFixedHour, nMin = 0;' p4 y6 [; B5 E( o, W
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
* s3 o1 [* y" c" \6 p) O3 s LIGHTCOLOR lightColor = m_k24Light[ nHour ];
& Y% D( d, b2 b0 n m
7 S/ H1 ~- c4 e: Q! T7 P) M' _ //m_lightColor = lightColorPrv;! X; t" f+ j* G6 B2 l# u
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;* U/ S7 A, ]: |5 J6 q4 `
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
4 `4 `: ]" _* Y3 Y) h lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
7 v& x( y3 P; W1 X5 d( P lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
& g! h3 X2 \4 T C1 C lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
( g. _3 C2 h" V0 R6 }1 c lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;, X, n% R9 ^7 z+ m0 \: m4 s
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)0 [+ l# o: v" |2 g) A. `
/ B' _) c' R1 G) |" L' R0 U& {
// à??μ oˉè*
1 n& @# n# n( U' B; ]( p4 Z pLight->Diffuse.r = lightColorPrv.r1;
& l: z5 |2 W+ V. b3 Q pLight->Diffuse.g = lightColorPrv.g1;3 ^" K* A7 z. P8 c, l, W( F b7 E
pLight->Diffuse.b = lightColorPrv.b1;
- h" N3 h2 r- T8 z' g2 [ // oˉè* ??à?
' c$ B% l1 o4 e pLight->Specular.r = 1.0f;, p6 W) D& y( r6 o9 \1 K N
pLight->Specular.g = 1.0f;0 E5 R9 ^" T& p3 t
pLight->Specular.b = 1.0f;
6 L6 o, i) ^6 T4 w // àü?? oˉè* & O% a+ B }6 q$ |1 R: k7 d8 b
pLight->Ambient.r = lightColorPrv.r2;$ H( y2 z5 P( a" [% w8 \; c
pLight->Ambient.g = lightColorPrv.g2;# s* c/ L* @6 c, C
pLight->Ambient.b = lightColorPrv.b2;, \4 g9 R9 [2 W1 C, l8 L' m h: p
}- _# ]# j9 O* A
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.1 `8 ^' s/ v+ m
{
" G$ g, i$ G( d( ?+ l5 i pLight->Diffuse.r *= 0.6f;
}+ L6 ?4 G. }1 Z, F pLight->Diffuse.g *= 0.6f;3 J0 I1 I7 {) G- T3 b, ]/ N4 X
pLight->Diffuse.b *= 0.6f;
4 {' I6 R O: q* Y pLight->Ambient.r *= 0.7f;
3 A4 I4 A( K7 v7 [; x8 A pLight->Ambient.g *= 0.7f;0 U8 Q- [: Z+ `0 \! k8 z
pLight->Ambient.b *= 0.7f;( h2 U* |. E2 v& S/ H
}3 \) j9 u5 D9 O* g- V
- L5 ?( @5 v& x
#if __VER >= 15 // __BS_CHANGING_ENVIR
' V! D6 m0 L7 G8 N9 J. _0 Q2 S6 w if( g_pPlayer ); @3 Y& I/ n' a- n- K
HookUpdateLight( pLight );
- L# d+ W4 Z% ^: R6 o6 S% ?, a#endif
! r5 C ~1 F7 E9 G. s# N2 i | memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
8 k! [/ p5 @; o3 A( p; I/ W: P Q: J5 g; [; f/ V& E
#ifdef __YENV
4 P) ]9 `5 D. h; M* u pLight->Diffuse.r *= 1.1f;+ | ^" I8 K% y& @4 C. Y
pLight->Diffuse.g *= 1.1f;
y3 n: D3 y/ } ^) @5 f pLight->Diffuse.b *= 1.1f;4 c: j1 K% D! W5 R
// oˉè* ??à? , P) f$ c5 M; }2 v" V, }; r2 [
pLight->Specular.r = 2.0f;
& z9 i3 y4 J' I6 p9 G$ O' ?9 C pLight->Specular.g = 2.0f;
; a0 f$ T( X& x4 b pLight->Specular.b = 2.0f;9 Y9 m% |0 J+ r1 `+ A2 B7 J& X p
// á?oˉ
1 s) F! w, b. }& D8 ] pLight->Ambient.r *= 1.0f;: V) L/ y, y+ m3 X/ t
pLight->Ambient.g *= 1.0f;
5 M+ O3 m9 t1 {( ?5 r { pLight->Ambient.b *= 1.0f;
# W8 G9 [! K# |- h) T& L#else //__YENV) M2 [2 z% N9 h T" j8 e Y$ L
pLight->Diffuse.r *= 1.1f;) E5 b2 P3 n* p9 e: g
pLight->Diffuse.g *= 1.1f;+ A; n3 Z( O$ i$ C# ?* V; g7 D. j
pLight->Diffuse.b *= 1.1f;( h; |( @* D, X# U! x7 _
// oˉè* ??à?
& O9 y$ B& h! I: x- f4 r; M4 x pLight->Specular.r = 2.0f;( d9 O1 T0 b' q
pLight->Specular.g = 2.0f;* w `9 R. S% T. F3 C! r% U9 E1 G+ R
pLight->Specular.b = 2.0f;
1 I& s4 R& g5 i9 T$ a2 A, x9 O& T // á?oˉ
* ~* b' R- c( K- @6 Y! L pLight->Ambient.r *= 0.9f;1 k6 ?) i# X( y9 m L: u
pLight->Ambient.g *= 0.9f;
9 v; h1 f4 A/ a& n+ I pLight->Ambient.b *= 0.9f;
* _- x' w0 s/ ?* C#endif //__YENV 8 d; R/ |: L( k- ~( o: P( G3 l: U
! r1 Y2 D) b/ ^ w' Z memcpy( &m_light, pLight, sizeof( m_light ) );
4 \0 p2 I" J$ x% ^7 j # V! h, F1 J0 h' u
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
6 @2 V# Y* \3 j4 O J D3DXMATRIX matTemp;4 v& h- I1 ]3 @8 L f: G/ u
static const float CONS_VAL = 3.1415926f / 180.f;1 x: ~4 j, K0 Y$ R5 a
$ C, X; _' v$ ^* i: _ D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
1 l' @7 h# U+ J8 m. o D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);+ Z# `& i( ^8 Y9 w' X" L0 r2 n) S" m
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
: d8 k" r: ^5 ^% I pLight->Appear( m_pd3dDevice, TRUE );, T" d' F" _% v5 z; ]
' Q1 x9 ~1 _" _1 T" x/ q% v( c
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
- s8 B9 p7 u8 x5 q5 @ // D3DXVec3Normalize(&(vecSun),&(vecSun)); p' q9 N) A2 T0 B5 H1 p5 m
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
Z, `$ M( f. j% d( ]6 P W
' Q; c& N- U1 o& Q# w! e8 b DWORD dwR, dwG, dwB;
2 S7 R0 S" B$ s1 ]. V4 ^ dwR = (DWORD)( pLight->Ambient.r * 255 );
3 k1 c7 I( ]: F dwG = (DWORD)( pLight->Ambient.g * 255 );
1 `: ?& g+ P% ^0 ~0 } b dwB = (DWORD)( pLight->Ambient.b * 255 );4 n( S. q; G- j9 |: E
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
! I1 O/ o+ G% i2 K2 e1 [: d" g }
. r+ C; F9 a7 O/ I1 E }0 G4 ^/ _. G _( F% L7 Y6 G( _4 Q
! @! {4 G- B l! n6 f3 |' X3 e m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );5 k2 W5 K: Y) u! H9 X/ ]
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) );
P6 n# m, f/ e2 j8 C8 [) ] ::SetLight( bLight );" v$ }& [. [4 h9 N4 y) W
2 [1 w/ C0 H* U2 C7 l( C
// ±ao? ?D?í???ó á¤à? 9 {/ ^* k9 f! X5 N, g }# E
m_pd3dDevice->SetMaterial( &m_baseMaterial );
! s- t6 j& x3 g( ~6 Y& P
7 T5 Y9 Z. v* h ~0 y! z- R6 [#endif // not WORLDSERVER
) E0 c: K+ x5 d- q7 r4 O6 k: L! W6 n}6 Y. Z4 R& p0 b# k0 U" v5 p8 y
并更换
$ B9 Q2 x+ k9 s1 c8 F. {Code:1 m! r8 v3 `) r9 Q" k2 T, T
__FLYFF_INITPAGE_EXT
# m5 ?3 B& \ J w ?$ _定义
2 Z2 ?* G" l/ r5 e" p
; \, Y7 t0 y0 @/ q/ {
& a6 ^5 [& L; a z# t0 I0 U: i+ ^: w: C, [! m* Z ?- H
2 d+ o! F7 J. i+ n现在终于删除我的狗屁加速...
& O3 ~) v% Z+ t8 R* s* d" j9 ]
# X9 t8 q1 v4 z+ |) W. K( R
( i* |9 [" S+ P0 u9 Y3 F0 d' A
0 `; O1 x" q& e0 |- h7 Y- K8 q |
|