|
|
食品车:2 F2 U6 {7 a0 Z
尾翼:
* u/ Y g& ?1 S4 `6 _/ C1 I v! o5 \4 U+ l+ p* x9 M/ P7 B: b
代码:7 A! M6 \$ Y; x! z
CWndAutoFood::CWndAutoFood()% _9 ~) Z5 j( _, c, l0 _! p$ e2 p
{
& _/ W& f+ N8 k& {: I, G m_pItemElem = NULL;
6 c/ w. U D! _2 z% W, f a m_pTexture = NULL;
/ V \' \2 z+ f! U! V bStart = FALSE;4 F, r! b" v" `+ x+ u& s- F" d
}
- E3 L3 A: i( v. j, p6 m( d2 ?; `( H0 P$ G# U
CWndAutoFood::~CWndAutoFood()
1 k) z% X; L$ T# }{
- _0 f' k) S/ r m7 ` AfxMessageBox( "AutoFood ist gestorben " );
0 d2 \; A2 I$ D}
! W- ^7 s P. s) F) U6 N' iBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )# x# V+ o! z- n N6 K; x
{ L1 S, F# O8 o1 k% Y
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
! S6 Z# Z8 Z. E}
0 P2 M6 _! Y' T) m5 [( b
1 _4 G/ s% ?- ~# G+ c+ _1 R* mBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )1 `8 l! q' z5 f& p+ J% b
{6 Y# ~0 p1 l1 e5 U4 T3 L
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );5 J( E$ F i# `& P. N: S1 k
CRect rect = pWndCtrl->rect;, \9 J9 ~# Z: f2 O0 p r" H- B
if( rect && rect.PtInRect( point ) )% z7 P8 r# y8 R1 t/ X
{2 ]0 R2 M( T$ b' W
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
i6 e! K, W1 ?# ^( F" }# Z if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )7 q8 z- O3 v3 i5 J
{# Y4 }1 R1 {' p0 \+ T
if( m_pItemElem ); m) ^) Y- `3 u! x) ]* P4 D# q
{2 H3 }! q" z$ `' _8 X
m_pItemElem = NULL;+ m' N ?5 H F1 @
}) ], |* v( h) ^( c- F. w K
m_pItemElem = pItemElem;. V: O. _' k2 d# h
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );& h; G0 D- a* Z
}else{* W& k5 Z$ v( S7 ` t, I$ M
SetForbid( TRUE );4 I, Q3 ^; u( e9 ?/ f' N$ {% o
}
5 f9 L% n% v1 k, k }else{
, g+ W* m% K1 `# R( u# o4 ^" W SetForbid( TRUE );* o" W+ p" L" A6 w0 a$ \* K5 V
}$ H/ _2 S; K. \1 x& a z
return TRUE;
& K' S) G9 [2 v- e5 Z1 {}
( {9 T H4 b) M( K" q, b) T# A% [8 `# ?" y$ O
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
: p* q' b% |/ A) e, d; e8 a{$ M/ o1 h( o6 e2 n ]
switch( nID )2 K. ]" F" r7 z S+ ^+ d/ B
{4 N4 S" g" b; t6 ^' ]* @8 Y* Y
case WIDC_BUTTON3:! x0 B$ a0 ^* F' O
{ k7 @2 L6 Q8 S) E
bStart = TRUE;3 @( F/ V& k( D3 ^3 C+ m, c
break;
- ~4 |3 J6 I+ A' f" r7 ? }) ?& Y; t S+ u0 k% m
case WIDC_BUTTON4:7 y) O% M7 { }+ @2 j! B4 M
{
4 [9 u5 U0 K7 j bStart = FALSE;
% u' d' E3 r# D/ S5 ? break;( R, D2 p. @- C4 x
}, I# D& O& x: B! u. T- l2 r8 e
} }) Z3 ?, R5 U+ }
return CWndNeuz::OnChildNotify( message, nID, pLResult );" n) }1 G0 c- i
} * [4 x; e: {2 x/ U" ^4 o, i8 C
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
! G0 a! h6 Q4 B{
# ~: ]0 R' o- ~3 z1 S( z% V! E CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );1 s7 u# N$ D# q/ B5 U# Q
if( bStart || !m_pItemElem )
8 Y& B: H6 t: l. {' i {
9 C# G: Q) |( V# n# v$ m( H pBtn->EnableWindow( FALSE );2 ?/ a1 @" n1 X# A
}else& L' \# \2 n" N+ N7 I$ d) v
pBtn->EnableWindow( TRUE );9 r3 D" m1 @# y; N6 i8 r0 N. {
if( m_pTexture )
/ z1 h e0 c- L3 [0 |( s {
5 Z2 x& x& r- |, |1 H7 E LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );5 ~0 h: t0 V$ n
if( wndCtrl && wndCtrl->rect )
9 {4 ~6 q+ n/ G; ^7 g {
- E' Z3 G5 S; Q# I( x) [9 a; P6 f m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );4 {# D: y; B* J
}" ?" `4 d; m; [* H+ }
}
5 G7 v9 v& p; u8 W& K+ l}
0 z8 K- S9 w" z( B6 X j) ~- V% `% v. n& v
BOOL CWndAutoFood: rocess()
; Y7 v1 v" w& T" T( J{4 a4 w- A! T9 D9 N
if( bStart )" M; ^6 K& k% Y
{5 N7 h" h. R; O7 k* i. @
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ). ` ?& h% b( _; ~/ ]
{- a5 y" B) q/ L8 R/ r9 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() )% h9 }, M, N( @+ {, J% C" Y/ e
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );& @9 [6 p, O! L" d' E' Y
}else{
+ T N* k) X z: }% h bStart = FALSE;9 H l" H5 v$ I; g0 h+ ~
m_pItemElem = NULL;
' ~2 L' k; M8 g) u: Y: ^8 } }: q. \' v, L$ e- E& b
}
9 C: D8 \7 x- |8 h return TRUE;
8 G" Q- c' W" C3 G4 F}
/ S2 y* B+ D% }5 @* v
! a* [# V8 L7 Y/ r, K登录视频废话:
$ @) s. z9 i3 G( t* \尾翼:. B- r5 ?8 Z/ ]% _4 a
6 t3 h; W' H8 | G3 `$ w) q代码:" U; M+ R2 m9 I; @' U5 h0 y
7 C% ^7 @6 {" s ]2 L+ N. V3 d7 g
void CWorld::SetLight( BOOL bLight ). Z: }: J$ v) s. b% g5 N, ]
durch
w/ I9 M& c; z5 r3 o. R MCode:
; l& `% n D2 N5 ]7 B5 ~# x$ @* Yvoid CWorld::SetLight( BOOL bLight )3 K. ] } ~- H% k
{) M1 q# H5 s8 L( Q( x4 X( Z/ |
//ACE("SetLight %d \n", bLight);
/ F# k- y {: i. k3 @
& l# p9 e! C5 i! }( W#ifndef __WORLDSERVER # a1 n4 R. F4 m# `+ k3 |
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);- r+ n' X T1 z. c
CLight* pLight = NULL;/ s4 Y% b/ _2 J
t. p* M6 B$ y, X v* X! n0 P" } D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
8 C0 `( ^2 s! I$ T$ [1 j p
+ A V) w' D0 T q( f! C pLight = GetLight( "direction" );9 f$ w) M+ Z& |) p& C
( R6 J: @( {+ e
#if __VER >= 15 // __BS_CHANGING_ENVIR
3 V0 j7 |; \4 k% f+ c if( g_pPlayer ){
6 N8 C! }4 Z* x8 k7 D1 n9 p5 S) L ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );2 G9 l7 A7 H0 k! f
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
2 }9 i, J1 O, ]0 y {
" J4 R" U, @6 v% t" c if( pLight )& Z+ B& U/ ]* m! z9 L% m0 \
{
% b! z3 |/ U) e8 U. V+ r" x pLight->Ambient.r = pInfo->_fAmbient[ 0 ];+ e: l8 `; Z7 G2 H( C* ]
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];6 M" a+ l3 _7 _4 U
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];* X2 {. z. j. }1 h6 o
2 u3 c9 \# X* y, ~: Q$ F
pLight->Specular.r = 2.0f;9 o6 H. T+ D w5 J0 D6 ?8 A
pLight->Specular.g = 2.0f;& x+ r1 N8 h; u; u
pLight->Specular.b = 2.0f;1 k. n3 g3 F U. T* K
8 C0 X6 ]* @" o, _7 V7 ?
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
; {, b+ R$ C& A! e/ N8 r8 F pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];( m% {, J1 ~7 K; h1 ]" n9 B
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];* m) K' X* }% u( n/ A- H" |: g
C; m& q& R& }3 a- e% S9 r$ r
HookUpdateLight( pLight );
5 \* {/ @4 K0 `7 b, N+ ~+ D, n( G N) i; J+ P4 e9 H+ ?, z9 \
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
' H: _0 D2 P. i/ s7 X" P4 s; f
: C5 u# V* b& R5 ?9 L pLight->Diffuse.r *= 1.2f;
& D. s, i, O6 E: r7 D+ b pLight->Diffuse.g *= 1.2f;
% q4 w; u, v7 m& T" J pLight->Diffuse.b *= 1.2f;
! ]; @8 m* J' l, Z$ T9 p0 }2 b, M p) V; A6 Z9 |+ x# i- W& \( {% Q; T
pLight->Ambient.r *= 0.8f;
& D3 H/ u8 w. V. n3 K pLight->Ambient.g *= 0.8f;
& Q7 P, }& z+ h: s) d6 s/ o pLight->Ambient.b *= 0.8f;
9 q: r- v7 G4 F# K 6 V2 J- i8 @. f3 ]) Q+ f5 m
memcpy( &m_light, pLight, sizeof( m_light ) );
/ r! V, ?- [* J8 l* ]( V! H) A. X& i) w) [' C' l! a
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
0 U9 l$ E. S" h0 t! C D3DXVec3Normalize(&(vecSun),&(vecSun));
, R( Q) c4 B1 R pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
' C! d4 j% f" X pLight->Appear( m_pd3dDevice, TRUE );
4 D% J, U" C) c! a6 A3 N, b 0 X0 G: s% X; r( |: _. q
DWORD dwR, dwG, dwB;: D. I5 l* r) O1 Z: Z
dwR = (DWORD)( pLight->Ambient.r * 255 ); ^ H6 V; L9 |2 H+ V: ]
dwG = (DWORD)( pLight->Ambient.g * 255 );0 Y) z( s4 E) U
dwB = (DWORD)( pLight->Ambient.b * 255 );/ [# m9 U8 l: m$ G( w
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );/ R4 h" g8 N" j0 T! u
}9 x7 [$ h2 h: p5 B( n, f1 F o
}
9 {7 q8 a% v3 r6 \ }5 \7 f1 }5 t# F8 u- }% A6 b, o/ r R
else0 R7 E& o( V( p. ?( ]# W7 h
#endif , Q+ C/ ^' c5 h& \1 _7 [% ~# B0 T {
. f( ?& h+ z3 [! a/ `0 m if( m_bIsIndoor )4 H" a# @- d0 [
{
4 T' S8 l9 J$ Z% P+ z- f) f if( pLight )( L! Y' f- K1 V! }7 Y! s
{ * G, d( d7 q/ c8 }. m; A" |. g. I: k
// à??μ oˉè*
2 ?$ Z4 |) _! q0 e$ q pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;. f! v6 Q% O. ^. y0 c* M
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
: Q2 `5 s+ @% D8 ^- ~! \# |, j6 H pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;. g0 D% H0 K- @
+ k# L7 Q. J( |# H! f0 ]0 ^) D8 F
// oˉè* ??à? : P' c( G/ |+ P; S! ]
pLight->Specular.r = 1.0f;
' v& _- q( h% b) m" e2 X* Q, l pLight->Specular.g = 1.0f;
: N' J @6 n$ k+ ?6 S4 k pLight->Specular.b = 1.0f;
+ P( T N* _$ W% C+ L/ F! n% [ // àü?? oˉè*
( [# M3 i, R- P" W* I+ h$ ] pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
- y4 `/ P Z) D" a& g \ pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;, e4 f8 d' f7 m3 C% _; _
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;5 A& P6 g! f9 Y& y- G
$ w- `% S0 `7 f* ?1 K4 d if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
! ^9 @/ c' c, l" b {" z$ Y4 I5 W/ A" Y1 p: U& K
pLight->Diffuse.r *= 0.6f;
* G) _, |# z4 M pLight->Diffuse.g *= 0.6f;4 X* w& T5 J- O+ Y, l
pLight->Diffuse.b *= 0.6f;
; A9 S7 r9 q* [. w; O q' }& M% J+ r/ J pLight->Ambient.r *= 0.7f;
# \8 G. c' K4 e: O, ~3 }& t3 ^9 U pLight->Ambient.g *= 0.7f;
+ a6 h3 D2 U6 B- Y% a pLight->Ambient.b *= 0.7f;
% v7 ^) R. u8 o, F- n }
7 M- Z, }; _6 U. x
* M: s5 f- {2 ^$ n ~" J: z1 v( b#if __VER >= 15 // __BS_CHANGING_ENVIR
/ u* \+ W k4 g/ g* X7 I' |9 o if( g_pPlayer )
5 P" q/ t/ F* R$ A HookUpdateLight( pLight );
7 I' e# c3 y3 T- H#endif M6 z0 F/ g5 }9 W/ V
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) \; `8 w1 {5 }* @/ I0 H
9 A# t9 p0 |* v' h" V5 i3 y pLight->Diffuse.r += 0.1f;) X* b! g4 A+ e* _
pLight->Diffuse.g += 0.1f;
% _+ k; H: D; n* x% x% x pLight->Diffuse.b += 0.1f;
$ l+ z4 n# ^' Q% I% b6 E1 D // oˉè* ??à?
" n8 V, q3 q* @% o! G) S pLight->Specular.r = 2.0f;& i" F+ {9 `1 c* e
pLight->Specular.g = 2.0f;; _* ~+ A5 i/ I, c
pLight->Specular.b = 2.0f;
+ h1 k6 w5 S8 D2 i // á?oˉ % _, C, r U0 M8 M% `# j) ?% a
pLight->Ambient.r *= 0.9f;
$ ^- L: O& `6 T5 t pLight->Ambient.g *= 0.9f;
1 q& @' v: G4 A3 c0 T& m. h: f8 |0 O9 c: b pLight->Ambient.b *= 0.9f;. X+ T4 p" k& z* t
1 I! ?2 k0 \; D7 H
memcpy( &m_light, pLight, sizeof( m_light ) );) U6 Z5 U9 B: f* Z9 T. q/ w$ a
+ q; G5 F9 R* j; y
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );: ~7 o: @, ^1 P* [
pLight->Appear( m_pd3dDevice, TRUE );
- _& _" ] k0 d" [$ M6 U/ [8 K ( s" d. U8 _+ }/ u S
DWORD dwR, dwG, dwB;
. \3 A4 j& J! |. P9 y2 | dwR = (DWORD)( pLight->Ambient.r * 255 );$ q1 v0 k* ~" B9 u, q
dwG = (DWORD)( pLight->Ambient.g * 255 );
7 `% m* U% n3 | dwB = (DWORD)( pLight->Ambient.b * 255 );* O; ]; `# o3 _7 x
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. L" |, Z4 X/ l. U- w2 m }
7 \ k7 a G2 m1 g# I }
7 S1 Y5 g5 m, @$ Y% c1 z else
( m0 a0 w: o9 T3 p1 z1 t. V {
: b2 b, ]% M+ o$ T) U if( pLight )
; ?4 @$ g+ m" k& Z% S {1 W5 j' B( H0 w5 ]$ h
, ~, b% x/ K# y" K5 n$ X) d3 w int nHour = 8, nMin = 0;' n& A' }- G& y9 s
#ifdef __CLIENT
: l+ L2 v; H6 k8 g // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 5 u. t9 p2 [$ R3 n8 f5 @' ]
nHour = g_GameTimer.m_nHour;% ? g- W3 I5 T, s3 q: r
nMin = g_GameTimer.m_nMin ;2 X# v1 e' w, J/ [, {
#else
$ c6 k* |3 q. U: E+ z // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.3 K' j( w2 ^+ y" b4 i- @5 n, [1 [
if( m_nLightType == 1 )3 h3 U) I8 I: b6 Y. l0 ]
nHour = m_nLightHour;
0 ]9 v3 C6 Z; s- t# R% B #endif" u& L) X5 d. D e; ?0 v
nHour--;
7 a" P$ M, B1 L$ h! [ if( nHour < 0 ) nHour = 0;$ Q3 \8 Y- O: [) @
if( nHour > 23 ) nHour = 23;+ t1 q; Z, u- |+ }9 {
' R- |2 W" ]; w, B% |& w5 I% h
//if( m_bFixedHour )# e* |: x, H. L" N! G
// nHour = m_nFixedHour, nMin = 0;
0 b7 c0 O- E' B w; x) w" Y LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];3 u/ y4 _0 M0 C+ n# a }7 {
LIGHTCOLOR lightColor = m_k24Light[ nHour ];* j5 @9 `7 V2 c. ?* W
) \9 p0 `6 W+ Y. V; Y) W. P //m_lightColor = lightColorPrv;
" K5 \7 _/ x$ k( Q lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;, ?0 z l! y/ x5 C3 d8 H V
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;( A$ @7 ]# I, [4 O
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
8 O& W* m& }/ U0 ]$ O5 K lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
+ i9 ?' i v" f% p9 d1 c/ n lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
) ? g1 _3 U5 E7 _) b6 w, W3 z& j3 q lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;1 Y6 j8 j8 o# [ Q- F
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol), q0 H' ]/ q4 I# u$ }
9 F, W8 a& Y5 F; e
// à??μ oˉè*
( k& g1 u; z4 B8 H pLight->Diffuse.r = lightColorPrv.r1;( M6 y+ Q. j7 C- n2 ^' c$ ^
pLight->Diffuse.g = lightColorPrv.g1;
2 j8 Z3 P( j+ A, w# l pLight->Diffuse.b = lightColorPrv.b1;
, g" M4 E; W$ ^9 K8 ^6 X // oˉè* ??à?
- b# q4 y# T" O2 {& c5 f pLight->Specular.r = 1.0f;
8 t# u, C) x) A- t3 i pLight->Specular.g = 1.0f;' a' D$ u+ [1 f/ F3 q! p! g
pLight->Specular.b = 1.0f;' ^! S5 l' Z9 D* Y0 `- A
// àü?? oˉè*
! N- F# ] Z( L pLight->Ambient.r = lightColorPrv.r2;
& A# _5 q! u. H. O4 e. h( w pLight->Ambient.g = lightColorPrv.g2;' P# J. p) ^! v3 S, h! |, W# K
pLight->Ambient.b = lightColorPrv.b2;
. s5 h$ E! j, \) P( w2 a
7 f/ u5 N& {. \' D& Z8 O1 [: w7 @* V if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
9 ~8 i4 C+ d+ g, ` {+ }0 @0 S, g9 }2 u% ^& ]
pLight->Diffuse.r *= 0.6f;, @7 S" t6 W$ L# R* R: [6 p
pLight->Diffuse.g *= 0.6f;
' E5 e" s* _5 x- \$ Z# r pLight->Diffuse.b *= 0.6f;
. F) J$ T) s# Q6 n pLight->Ambient.r *= 0.7f;1 ~/ O( `1 s; k! a
pLight->Ambient.g *= 0.7f;
; c/ ]- U7 b d# p% Q1 A pLight->Ambient.b *= 0.7f;
_$ s$ s9 }* i }
2 b' M" ~7 b0 z. k+ O! ^5 U/ \+ J 9 B6 k( r9 z) n0 W
#if __VER >= 15 // __BS_CHANGING_ENVIR
3 f& }4 Q2 ]7 _ f if( g_pPlayer )
6 Z9 C/ e M8 F3 f$ L- @ HookUpdateLight( pLight ); % V1 R# A8 Z7 q: Z
#endif
; G) p" g6 W+ |+ q$ z5 V; R, s memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );" ?% E8 s+ C8 o. J& G5 m
2 N+ N; e9 f9 j3 V( o#ifdef __YENV
+ J3 L A. V0 w' E4 \0 W pLight->Diffuse.r *= 1.1f;
+ [/ p# p' `( }$ P8 P9 p Z pLight->Diffuse.g *= 1.1f;6 o) c/ z/ h b
pLight->Diffuse.b *= 1.1f;
3 Y3 i# `1 U5 e A% M( W // oˉè* ??à?
+ ~' o( l) O3 a9 s* O. f r* H pLight->Specular.r = 2.0f;. w' y% M0 f9 t) [/ ]( ?! Y& {( M" Q
pLight->Specular.g = 2.0f;
3 Z7 e8 W5 e* i& G pLight->Specular.b = 2.0f;% Q; \7 I1 i+ s! m6 N
// á?oˉ
7 e. K' _& s2 Z9 v. {' K' [ pLight->Ambient.r *= 1.0f;
+ D. V/ A0 W: {, ~) W pLight->Ambient.g *= 1.0f;6 b0 {9 `$ H9 B ]' g
pLight->Ambient.b *= 1.0f;! M* p9 N0 e9 X8 ?
#else //__YENV7 P: D" q, }$ M
pLight->Diffuse.r *= 1.1f;5 M& W4 O- I# I3 t* O
pLight->Diffuse.g *= 1.1f;
- a% p6 q c! X2 e" d; g- t! M pLight->Diffuse.b *= 1.1f;
2 h6 \+ @# n0 s, Y5 Z) E1 F // oˉè* ??à? : d- u' Y0 |) k2 A
pLight->Specular.r = 2.0f;( g/ y' B! H r1 D# h
pLight->Specular.g = 2.0f;
$ _ w0 U6 i9 H Z& @ pLight->Specular.b = 2.0f;
# E/ F' C, l& t4 R // á?oˉ
9 o; T7 Y% ]4 {9 A, [ pLight->Ambient.r *= 0.9f;# d0 L) m9 U: i" E5 O5 T
pLight->Ambient.g *= 0.9f;! D/ O% o) d/ G3 q! t
pLight->Ambient.b *= 0.9f;" i. Z% p4 j- y1 O( X ~! \9 E
#endif //__YENV 3 v" X/ K! e: e+ J
2 r1 G1 ]8 f" p) i6 T8 O0 e# s memcpy( &m_light, pLight, sizeof( m_light ) );
" O* L, {+ F" c5 R5 x
% d7 c& X) v0 |) v* ?. u1 L D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);5 W- s, o, @. s4 B0 \" H, k
D3DXMATRIX matTemp;6 v) w1 p9 w" \1 g: \* s1 L
static const float CONS_VAL = 3.1415926f / 180.f;
: X- t" \0 h$ T- |% b. b0 ~8 f' P3 X; E5 \8 y. }. F1 \
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);- H1 {" f& A( t% Z0 u6 z7 d
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);, l/ P: T$ F$ C/ C) I4 t
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
0 ]/ \8 A3 _/ L% o pLight->Appear( m_pd3dDevice, TRUE );* S! _, F; t- ~
3 F0 R+ U" m5 R R7 }, v
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
( \4 l _7 ^$ n$ l7 f6 @8 u // D3DXVec3Normalize(&(vecSun),&(vecSun));0 J* M/ C3 U5 f
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ~7 h9 y1 `# ^) N% G& g @
2 T$ A8 G1 C w% `
DWORD dwR, dwG, dwB;
' Z7 g" R* o4 E/ H, P% v dwR = (DWORD)( pLight->Ambient.r * 255 );5 _( a. p7 A+ x6 j& w$ c
dwG = (DWORD)( pLight->Ambient.g * 255 );
9 H$ \$ ?( M, \6 x9 S5 L dwB = (DWORD)( pLight->Ambient.b * 255 );
8 P( [, J7 ~' u6 W L4 R, p4 Q4 U dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); / d; r% H) ^9 U# U* ~! R
}
+ L2 O3 b0 A5 t; K4 `* }/ c }
! ~9 d% c0 I& [% C
. b! Y( ?1 N* P- {( @6 g4 q m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
. G! u4 r5 a& U& q 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) );
7 \2 y. e( Z$ L7 |0 q ::SetLight( bLight );' p9 q7 |/ `0 U: G( q, N+ Y
8 P4 Q/ P+ a4 ~
// ±ao? ?D?í???ó á¤à? 6 v: m4 t8 g3 z( r
m_pd3dDevice->SetMaterial( &m_baseMaterial );) a. |1 m; K! \% k! U) E
' @! N: e1 @7 j! v, f" a0 ~0 @# F
#endif // not WORLDSERVER
4 Y3 j4 F A5 z f}
1 r: E. ]) t6 E9 w, P并更换6 e i1 [1 }; C( U
Code:" q7 z. B5 P R
__FLYFF_INITPAGE_EXT, R8 p3 L" V7 c" A7 Q+ A
定义
9 b) y8 v9 F k j/ u1 \; d8 T8 T) B1 T$ h
1 P) y. ? q1 S- f/ J: m, L$ k" w& k3 y
3 }% D" ?; ]$ S7 x3 U. K现在终于删除我的狗屁加速...
! [! u& {, n9 \; l2 Q) h2 r8 w
5 e8 W$ o6 k6 P( ]* Z ^! L
1 ^& m. ]2 B5 k1 r: K* c; Y* j7 {# t. y3 ^6 E+ }0 k
|
|