|
|
食品车:' @: w2 G5 g1 }6 H; P, f f4 g
尾翼:/ Z& r/ Z0 E+ @& b+ d8 e. @
3 L' P$ R- L6 x( T代码:5 w! V; I3 u( ]' [; }
CWndAutoFood::CWndAutoFood()
$ F3 {# z5 P' V/ D7 _# B{
3 o7 I4 a4 {3 |2 v0 ] m_pItemElem = NULL;
% F4 L1 s6 h8 O9 n m_pTexture = NULL;4 {; F' y; q7 K, }# _, \
bStart = FALSE;0 H- y( V3 B2 x' C; q
}2 l3 Z) L: W6 n4 ?
' f n* O% C$ l9 D
CWndAutoFood::~CWndAutoFood()
8 w. D# w: W& J! h% f{
+ J6 k6 k% F4 i5 u' I AfxMessageBox( "AutoFood ist gestorben " );5 |+ ?4 h" e; @- m @( M
}, k) i$ h7 R% T' N% j* O2 j
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )$ I- u' K2 `% C! Z0 l
{
# ?1 z) z" c! Q5 \ return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
" L+ U4 W; f3 v* O. A0 q}
6 `2 _7 ?" c& i, p* A: ?& V. g3 ?3 d1 Y" M/ n
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
9 p. [: B) F5 p( A* n1 v D{
2 F2 ?1 p$ c1 ~" n LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
5 C- K" ~+ Y5 X2 l1 S7 O- N CRect rect = pWndCtrl->rect;1 c; v! I( q$ x1 d( b+ |) r
if( rect && rect.PtInRect( point ) )
- O5 H1 R a y G) ]/ u& ^ { ]% V' u2 \! n; z. ~0 E% h
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
* N. l y2 }; {8 y( i. \ if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD ) H, P" Z- ?5 U- Y
{
1 ?4 D$ V u. U3 |/ P& m0 ~ if( m_pItemElem )
" C' h; ?, r8 }/ s/ | {
# D$ _* |$ z; D }! i2 A) l$ p6 ` m_pItemElem = NULL;
7 m8 L$ Q1 |: S" c2 k' g }
. }% G/ u& d2 N# Y( v; k m_pItemElem = pItemElem;2 h7 E; J* q! I- [' _3 m$ K* H' Y
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );* D' s4 m# d( A1 w5 ]
}else{
k8 a/ O: a m6 h9 y: U SetForbid( TRUE );
1 {0 |2 N5 o: d& @" b, H }
/ {/ E! x* k/ E% p# w# k7 b }else{" q, J2 Y! _. c2 T) H) |
SetForbid( TRUE );
/ ~ d1 w1 `; H) h7 n3 y }
6 F( U5 V& \) I return TRUE;. M! N5 \- @" Q) r# C+ V& W- T( j
}* ^2 z0 a8 e( e% Q! Z7 @
2 {4 F# C* ?0 S, k! ]' ^" _
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
+ v: b! }. n: q7 T d$ H) p{3 h; A$ j; E; {
switch( nID )
+ [0 ]1 o9 G# i5 v8 \: p9 I( {* i7 ~ {9 _* G+ u# u: ?5 x8 w/ B4 N/ _) Q
case WIDC_BUTTON3:: D0 q: G6 x5 O, q; a" P+ s
{
9 J. Z8 B$ ` M& Q bStart = TRUE;
9 L( \! i, j- @& P break;& _$ _* _2 z' p
}
: `2 }5 @* B6 e6 V1 Y( r' _ case WIDC_BUTTON4: |! f) _5 C1 }+ d
{2 X8 Q' O0 S4 K* y( i& _5 ]
bStart = FALSE;
7 R# h" s& R3 z break;+ r- W1 }# D% I( \
}
( U+ c$ o; t/ b8 X2 P( x, l }
" T4 D( A% y; D return CWndNeuz::OnChildNotify( message, nID, pLResult );1 _+ f5 [. }" M9 e6 k
} ; \; h9 p5 ~8 C/ N5 q
void CWndAutoFood::OnDraw( C2DRender* p2DRender )& \9 _8 t) U' B7 T; C0 N) Y4 c, C
{2 S) D8 F" }2 Z, m
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );8 ^$ _0 D& T) h2 w ?
if( bStart || !m_pItemElem )
' B |9 a* Q( V {' O$ k; k% \* d2 T: G8 W t
pBtn->EnableWindow( FALSE );
* k F0 I' x6 V( |7 T }else
9 a9 b& t; V( E8 V; L) m pBtn->EnableWindow( TRUE );
% x7 k7 v- l5 v8 l if( m_pTexture )# Z/ ?% q5 r6 J( e2 r7 R3 \" s$ @+ }8 Y
{
: G( a7 P% W: W% a3 U; ~2 o LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );( A+ V# M* y+ \' n6 x+ p* @
if( wndCtrl && wndCtrl->rect )( y) j( j+ y# Y' U7 Z) C
{
: C4 {3 Y- ^% Q m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
% [! Z" }+ \2 M }
; Y! f: r2 E% D& u9 U }
& I: a' B9 I" f% W- U}, }* k, i$ z: R* I; D
7 l) d/ i8 J; O! i" dBOOL CWndAutoFood: rocess()6 i& O6 F6 K' [9 J9 t4 j" z8 n
{
% ~; L* y* c- s& J3 }" d, ^& f if( bStart )) A0 m, S3 o+ E( S9 N2 C2 N5 L
{" X! o; t& i0 n
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
: e1 u+ p/ f& M( D6 Z* z7 N/ U {& F$ j4 h1 Z1 E7 Q% ?! l Z
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$ ?8 b+ `: Z/ _3 [
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );0 D, {9 P3 o' x; w0 n. ?
}else{4 l% O8 ^5 J" t# `; b( f) U7 V
bStart = FALSE;
( y1 p8 c! ^* }$ f" q m_pItemElem = NULL;
: D- {$ T- d' D. { }0 @, w0 p7 Q( w) r# g6 X
}9 D+ w9 P9 [4 R* o6 a4 P( C6 ^( _& m
return TRUE; T# P+ ^+ C9 l! M2 a; x
}
+ I% t; Q5 N" M/ a% N) I5 `' F _+ |( T# R. M8 Z$ f: m- e& t
登录视频废话:4 l$ L5 j6 u% q1 \" {! M& g3 b u: m
尾翼:
/ G2 `! k7 E1 G' ~ [. r. `: m, q& h- a8 z" O" n, z/ z
代码:4 q0 z) y" c+ V2 l5 A1 J
; s) G/ h- |$ h% nvoid CWorld::SetLight( BOOL bLight )' W2 k6 |# v1 U7 h. B
durch
7 h6 Y1 _9 l0 O1 ]' ]Code:% D. i% i& g7 [
void CWorld::SetLight( BOOL bLight )
8 Y# e/ X) u3 B+ l" G9 Y. v4 V3 n{- e5 ?8 b) g+ S; K2 R$ W6 M- y4 Y
//ACE("SetLight %d \n", bLight);+ o) W. m. [# @9 O1 l, n* p2 w
; U# i! h* |; A5 J5 u/ N, W, }
#ifndef __WORLDSERVER
0 A% h6 i" C9 Z+ B+ z7 a0 K3 `6 v DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
$ |# `' Y) s3 B! `) l/ n& e$ h CLight* pLight = NULL;! B/ P! m, p; S" b0 ~
$ j8 X* ]2 [7 \! K+ H# L; y
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
" |/ V( S( V! t$ J: H0 E# t
. x: A9 T# C6 i3 N4 F0 p+ h; o pLight = GetLight( "direction" );- F2 M2 m: }# y0 Y
# d7 f7 y% c" [! ]" H! u# f#if __VER >= 15 // __BS_CHANGING_ENVIR, {2 i5 z( n4 E5 m
if( g_pPlayer ){* o1 y8 m. h# T
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );9 ~) W* k+ a! J4 m- P" W9 o
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
0 ?: k2 i4 B+ r. l6 W# q. q" L. H7 J {* s, W; J1 S. _, f+ y1 _7 H
if( pLight )
) ?# f+ [% C9 j1 Z {
, }8 N8 V$ U* {6 A+ O pLight->Ambient.r = pInfo->_fAmbient[ 0 ];% A8 p ~, [, {( i# E/ z
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
3 `# T3 S7 |) F pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
1 i! L. \# w6 u7 s8 ? L% a2 t
z- H2 D9 }' b1 v8 X pLight->Specular.r = 2.0f;5 h9 H1 E3 w) }
pLight->Specular.g = 2.0f;# {! f! U- [+ b5 g Y1 K1 o
pLight->Specular.b = 2.0f;
( W! a3 H3 X! P# E& x* P
+ i5 i `7 ~* f6 A/ U& y+ x9 V' [- ` pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
2 ^; M8 c6 ^8 t3 V4 o& O7 T pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
& ]; w, v. I1 R1 b pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
0 Z' @0 ^* w* `1 w2 K ; O6 d' Z2 S6 R3 h
HookUpdateLight( pLight );
' Z( R8 m' E! c- r& H, t' ]+ b0 N C7 N
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );* _% [: @! c0 g- ]- r
& E* _% J; A" H
pLight->Diffuse.r *= 1.2f;
M- ?4 Z8 O) L; d( t pLight->Diffuse.g *= 1.2f;5 a; }; m2 D" s; H9 v# P
pLight->Diffuse.b *= 1.2f;
# T- h2 ]( N, T7 j3 R# [ z$ N9 k& X( \; H0 N6 K
pLight->Ambient.r *= 0.8f;. O) t0 ]6 H& B. F: G
pLight->Ambient.g *= 0.8f;
" N$ w8 E1 r$ [* i* ] pLight->Ambient.b *= 0.8f;
$ }) f0 B" S' j0 z- [2 g* Z , G5 C# |& Q7 W! J6 Z$ U
memcpy( &m_light, pLight, sizeof( m_light ) );
+ O2 K j9 I, W
0 Q: s) h' g' J" s. N) @9 F D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
6 U# H$ Q8 w& V4 W1 }/ X; @ D3DXVec3Normalize(&(vecSun),&(vecSun));3 }1 H5 c8 e+ }0 {7 [# m
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
& U I" f8 v: L P" S' @+ Z7 k pLight->Appear( m_pd3dDevice, TRUE );
' f/ B9 t4 ^9 ?1 P
9 Z$ u1 ?9 U8 P: F1 n# |) h' \ DWORD dwR, dwG, dwB;. K m* V5 `) l: E" b/ {
dwR = (DWORD)( pLight->Ambient.r * 255 );1 b- a! x1 X9 d j$ w
dwG = (DWORD)( pLight->Ambient.g * 255 );
' i: i1 C, J9 k# n4 F dwB = (DWORD)( pLight->Ambient.b * 255 );+ l. _2 r1 B# M
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- z& k% n" G% n: r }% s/ l! n- n% w
}
& c) W9 |# a; [" @- B8 x+ s8 j }
% {' }" P% i% e3 P2 U# F* O else8 p: j2 d6 F0 I \; ~
#endif
& x2 w% @* P. f! c, X4 T- B0 |& y1 t! O3 _6 h, c5 p! t, l# s
if( m_bIsIndoor )4 I; x9 ^+ n% R% ]- \! b) [! ~
{$ c. x) M% i$ l4 l+ i" S- @
if( pLight )
+ F; N) N/ Z" P9 t6 ? { 9 T4 T6 A$ V5 s4 g( T9 M9 T7 Y
// à??μ oˉè*
( S! `2 r" \3 i r4 x# i2 C6 f pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
/ y3 k2 ]* f+ j: p$ t pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
8 }) h" H: X; G3 Q! [- Z pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;! |5 X- v$ h- m( C. Q2 e. q
# h! T, U* F2 s& T
// oˉè* ??à?
0 P" r% U- Q% d) B# O- q5 S pLight->Specular.r = 1.0f;3 {' E0 \' p0 [8 i; i% K9 {
pLight->Specular.g = 1.0f;2 m9 z! ^# B( K- R! W) ]- E" H
pLight->Specular.b = 1.0f;
( T) F' O# F4 o! v7 A // àü?? oˉè*
! l) D/ l1 x: o* e5 c pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;3 V& r! Q9 e/ [: y) L
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;7 i; } o; |3 c& X7 ]
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
; V R; j4 l2 }& i
% K% P+ k! J9 }3 X; U if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
: Z, N8 H4 s# R# {* c7 e {& ~5 R( a+ r/ U* z7 \' a
pLight->Diffuse.r *= 0.6f;* L. O2 p% O" G2 @
pLight->Diffuse.g *= 0.6f;
x6 F, D. a: m$ _$ i pLight->Diffuse.b *= 0.6f;
! ]" T9 ]! ^3 Y pLight->Ambient.r *= 0.7f;/ [$ D& [; _) L" o
pLight->Ambient.g *= 0.7f;/ N) `/ e# W. l) f) P: t' ?
pLight->Ambient.b *= 0.7f;" [( N% ^, u8 f4 ?( I% \2 R
} w' T4 l `7 S H3 q" e
- m4 D2 c2 \+ v6 V
#if __VER >= 15 // __BS_CHANGING_ENVIR5 `% `3 O+ Z, o$ N
if( g_pPlayer ) C: Z8 n/ R% @' R
HookUpdateLight( pLight );
4 u: l+ M: g+ ? J1 h#endif
2 ?! X' E0 K8 ^- ?+ B0 a w3 V memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );& ^. x. y# r1 o* y8 }$ v
5 a3 A; e) S7 S& S9 s pLight->Diffuse.r += 0.1f;
6 ^" ~+ S* I- t( @ pLight->Diffuse.g += 0.1f;
, t E: P' P8 L- |+ s pLight->Diffuse.b += 0.1f;
8 [" P3 W/ y7 Z2 A8 k, f* x // oˉè* ??à?
' o. h* g; I5 r7 U( r2 j pLight->Specular.r = 2.0f;
9 F3 y& s: k# I8 I! W pLight->Specular.g = 2.0f;. n* ]5 @9 ?0 A
pLight->Specular.b = 2.0f;
: Y5 d m; L# e H. z& _& l5 } // á?oˉ + U. @; v6 c3 u6 O" x* {
pLight->Ambient.r *= 0.9f;
; S. i$ e/ z2 T8 t# ^5 O$ M pLight->Ambient.g *= 0.9f;
, A0 Y9 Y, T: U pLight->Ambient.b *= 0.9f;
2 }7 y7 J& f1 r' r1 C+ E- h! \
! s) j' T7 e/ E memcpy( &m_light, pLight, sizeof( m_light ) );7 \6 \9 ~$ {$ x O* ~1 Y
% I: g8 r; @' Y, O# F) r3 x# R
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );/ e7 y0 m2 y" J# o4 x* C- \
pLight->Appear( m_pd3dDevice, TRUE );
1 X- G1 J* ]' a) f* E; c, l5 c
& B: D& |( y. D# b1 \5 n& O DWORD dwR, dwG, dwB;9 }1 k9 T- n' O" L- v
dwR = (DWORD)( pLight->Ambient.r * 255 );
0 ^% C6 R: D- p1 d t* d8 M9 }: m dwG = (DWORD)( pLight->Ambient.g * 255 );' |6 y( R- E7 {0 X; b1 D: Z6 J
dwB = (DWORD)( pLight->Ambient.b * 255 );/ @5 a( d) z4 l
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
7 Q- n, b: r& ^ }. c7 Z) i3 G) T4 X, @; G9 W
}
7 C: r5 j1 } `' R; ^ else
# v/ [" r$ S, p% e: t0 G3 J3 f {
! b+ V" O1 s! C. m& w$ d& Q% N3 Y if( pLight )
, q% @9 D2 y# R; } {
/ r" _/ P( P4 v* s5 L/ M
w/ g( B7 o2 g: A1 ?. A int nHour = 8, nMin = 0;" _9 J& N% t: H
#ifdef __CLIENT1 d, M, q2 l( C: {9 U" l2 T) O0 N
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
7 D4 _0 o! I* H" A" u. u( \ nHour = g_GameTimer.m_nHour;
4 K6 r( R; w( {$ B+ T8 C1 P nMin = g_GameTimer.m_nMin ;
$ g) t2 I; w' s% T9 P #else
! I6 t+ F. b9 F! g: A9 E // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.1 z5 E7 z' e) C$ o$ O
if( m_nLightType == 1 )' s6 e( |1 A& l( f$ B' c8 M
nHour = m_nLightHour;7 W- w% Q# x5 P
#endif+ s* q# y8 P! ^
nHour--;
/ H2 K9 W% k$ R8 F, x( K! m if( nHour < 0 ) nHour = 0;
8 d; M" d" H% R X3 C/ } if( nHour > 23 ) nHour = 23;9 j2 Z& X3 ?+ M2 B) p5 q9 |2 j
, R# b" E, D0 m- B, N4 b
//if( m_bFixedHour )
8 k5 d. F; U- f% h1 V // nHour = m_nFixedHour, nMin = 0;: M7 W! [) W# }" H8 Q
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
|: h& u# b2 L& B3 A) ` LIGHTCOLOR lightColor = m_k24Light[ nHour ];
0 X7 G: }4 k$ `, g3 @9 @) s0 r6 y! K! Y d2 S7 g1 O
//m_lightColor = lightColorPrv;
5 R" [* X- r/ Q9 } lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;* v7 ]7 a( D5 `) S' K
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;/ \8 y- r/ f' ^6 D( P8 Z
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;$ @: d B7 B7 r4 f. V- o" b5 k
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
+ m: V J1 y+ E( X7 b% P( _3 p lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;$ z- Q) n& C/ @
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;/ M- y% i0 w1 L
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)( g7 u3 D8 a4 ]5 w$ v' {
6 a: j4 `7 Q8 L/ V; U& y. I3 t5 R
// à??μ oˉè* 0 s/ M0 q# j" r4 _
pLight->Diffuse.r = lightColorPrv.r1;) B/ b, |; k5 D8 O& Z$ y N) \; M
pLight->Diffuse.g = lightColorPrv.g1;7 U* l) I. b2 P. K/ g2 R
pLight->Diffuse.b = lightColorPrv.b1;" P5 N! Q0 A3 q. l: b1 r
// oˉè* ??à?
% J; C' p1 D9 L3 G- h pLight->Specular.r = 1.0f;& A; W' W$ {% a) C* Z
pLight->Specular.g = 1.0f;
! R% N _, ?5 i: {+ P( f5 ]# l4 w& e pLight->Specular.b = 1.0f;+ L' H# f+ Y! k. l; C
// àü?? oˉè*
( B: `* Z8 x. u) a/ K" \4 O pLight->Ambient.r = lightColorPrv.r2;
3 r. a, M$ n. f9 y+ y pLight->Ambient.g = lightColorPrv.g2;6 o% x0 N: D6 z6 S0 w
pLight->Ambient.b = lightColorPrv.b2;
7 ], W, d$ Y% i2 |) g: C, z
* c4 g, s3 A3 u0 d if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.5 a K# U' O# |: x, S0 d" ?5 w
{$ T' b/ R* T8 v$ S0 q
pLight->Diffuse.r *= 0.6f;+ C# ~% s& \; t) t3 ]! S- m
pLight->Diffuse.g *= 0.6f;
" Q: G8 B" |% s- Z' T# \$ N' G pLight->Diffuse.b *= 0.6f;" K3 ]: z S3 R$ k0 L2 j2 E
pLight->Ambient.r *= 0.7f;
% |7 {( h. @: z; y, y+ p2 ~ pLight->Ambient.g *= 0.7f;
8 O* x2 G6 I9 |: L pLight->Ambient.b *= 0.7f;; J" t' l9 f F2 h8 _! ?3 W& c! k
}
" {& X; U. R& O( }% n: i7 o
1 t% M, o8 y% h* R+ f#if __VER >= 15 // __BS_CHANGING_ENVIR8 W' S" |) w2 G6 F3 _
if( g_pPlayer )2 }' ?( G, A; R% d- s
HookUpdateLight( pLight );
' T/ ?: e, ]: ?8 J#endif
8 r1 }" S* E4 Z7 Q0 d memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ e3 e0 ~8 i7 Q
. ? Q6 Z5 k% W- o8 H+ ?( ?, l#ifdef __YENV' b* ?; u0 M3 G1 o
pLight->Diffuse.r *= 1.1f;
0 T% _. T, u4 d; L [ pLight->Diffuse.g *= 1.1f;
& F. m: N2 ^8 ~/ O6 M pLight->Diffuse.b *= 1.1f;
. p5 M& Y9 ]2 ^6 C( O // oˉè* ??à? % s/ F! l. ]& g" s+ z, ~
pLight->Specular.r = 2.0f;
1 a! l ?/ x3 G) v7 b. }) Z6 J, F pLight->Specular.g = 2.0f;, ], @! u( ?7 h9 I* f
pLight->Specular.b = 2.0f;
( M* F$ B# `, d @/ W- q // á?oˉ 8 }$ w7 v2 o# z0 J2 [) K! @' V
pLight->Ambient.r *= 1.0f;
3 u K# T( e9 ^5 H3 \- c pLight->Ambient.g *= 1.0f;
7 E& g( W5 X& t/ H; @8 P( i pLight->Ambient.b *= 1.0f;
# [0 }* m, p3 B#else //__YENV" I9 z( E; a7 n
pLight->Diffuse.r *= 1.1f;& V, h7 g0 |8 j' x3 S
pLight->Diffuse.g *= 1.1f;) E/ e O( i: l$ d
pLight->Diffuse.b *= 1.1f;
# ?2 o; V* p# n* K- x0 V // oˉè* ??à?
) y* F$ S! x" W1 E7 M5 q8 _6 p, | pLight->Specular.r = 2.0f;
6 D1 a: k7 P6 X# a1 t# v; b pLight->Specular.g = 2.0f;
3 c7 m3 I) M- Z pLight->Specular.b = 2.0f;
# s3 ]" a3 a' _4 L2 w z: r E! d // á?oˉ
" B3 k7 u# _" R4 D$ n1 F$ `; K pLight->Ambient.r *= 0.9f;
4 s" B) r1 @+ Y pLight->Ambient.g *= 0.9f;" d/ r/ y( a2 l! G- _3 P/ ^
pLight->Ambient.b *= 0.9f;
! a2 N; W7 c- M& {' O& F3 n& m" [2 o#endif //__YENV 8 e1 Z$ x* W2 r. _( u0 e9 B
" b5 w6 l* y; ~' f9 b$ g memcpy( &m_light, pLight, sizeof( m_light ) );* B% t8 w0 z/ l* N2 D7 Y3 p
# o( s7 F$ T/ H1 C' G: y) m D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);1 M# ?* P9 K% Z# H8 n9 V I
D3DXMATRIX matTemp;) i$ y6 J% v- x3 ^
static const float CONS_VAL = 3.1415926f / 180.f;
6 V# z7 L8 d7 m) Q: x% S
* x& B/ s9 k. a0 Q# v$ E" i D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
. L' ]5 c7 V J! |2 M3 | D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
$ ^( V. a. M1 ]) W8 W; v pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
' R& S( i9 }9 l4 z6 C9 {$ [: [9 r J pLight->Appear( m_pd3dDevice, TRUE );
5 b A" P! K7 j. F
; W m, R# w( \3 K // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);) D9 a0 }2 [, L$ f& c
// D3DXVec3Normalize(&(vecSun),&(vecSun));
+ V& Y n/ }+ S, E+ c6 N // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); * k4 [; h* s1 i+ `- j
" m! Q3 }, g; x- x9 z, X' S/ F
DWORD dwR, dwG, dwB;
v! l7 K" O1 ^) O# d9 U, d1 A dwR = (DWORD)( pLight->Ambient.r * 255 );
+ @( k; U$ k2 N5 F5 F! c( C dwG = (DWORD)( pLight->Ambient.g * 255 );$ |4 [$ R- _- a" J
dwB = (DWORD)( pLight->Ambient.b * 255 );: J: E/ Q2 u& a, N# w" I7 s
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* C9 F1 A: Q: v }
+ a6 Q3 @$ [" G" M: K0 P# h4 A }3 d/ K, o; ~/ ~& c! j, A4 v- y9 d; ?
. T2 _4 m2 b! J% {6 X m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );' [ G# e. r6 q% B8 H* j5 r& {
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) );, l1 |( E9 H, Q& ?+ `& m9 { d" l
::SetLight( bLight );
; N) U# j E2 ~! y/ _. Y9 e
* p# B# k( l& U! ~7 H4 B4 `: ~ // ±ao? ?D?í???ó á¤à? 0 V/ f4 G6 h0 q+ b( |
m_pd3dDevice->SetMaterial( &m_baseMaterial );4 J" p3 W& G: @$ V/ K! u
* ~ {, v( ~9 g* `) o/ i#endif // not WORLDSERVER# _6 h& P3 S3 F; f; j$ [
}! L4 i) Q0 o2 E- b6 c# q
并更换
, L' U8 J% j6 D& m: k lCode:2 H; ^/ {) l- }- w4 y# ]. b9 N7 Q: N
__FLYFF_INITPAGE_EXT5 d6 }( w8 i p5 W6 q& L0 u
定义
# E n; s) a# n, D5 {
; E% @* `7 r: Z6 n W1 a, W; U5 p; {/ G! |8 r# J
- E0 m; T6 a! x1 y* t
) `) z$ ^$ l" _- j; _2 I现在终于删除我的狗屁加速...
, v4 h! a. P! a- a- y* u' K* R+ a* e0 j' L' ?$ l E4 B" P& D" w
' X6 H r" ]7 g' j6 d( L3 N/ g5 h( I- E* J) f, a2 _- }/ I, n5 y9 C
|
|