|
|
食品车:
2 x; T- e1 v' x$ |7 _尾翼:
: U+ Z* e; s7 t7 E( I) i
" v# ]" k5 O1 A! m3 s# f代码:5 q' h- D0 }% @, C. U' z
CWndAutoFood::CWndAutoFood()
0 _) A6 B4 v6 R7 G{/ A7 n# k+ l. ?7 r* h: P
m_pItemElem = NULL;6 u [3 m% N9 T: P; l
m_pTexture = NULL;3 ^. Y' |1 y7 J9 y5 r
bStart = FALSE;% l; \" [! C/ ]; X1 a+ s- V6 h
}5 {* F! n ^: z9 d
6 p" N" [) f7 O
CWndAutoFood::~CWndAutoFood()9 X a* k% {# A3 @
{8 z+ @3 {4 g6 w7 p9 z j0 m% [+ x" g
AfxMessageBox( "AutoFood ist gestorben " );0 b! {( _0 F' \, u
}
/ Z9 G! \5 r0 R4 r) V. l( RBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
, u& ]+ g6 g* j, f{3 j. F3 s- x. A0 r9 |* u+ W0 d- t p
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );, P+ g! m: _+ g0 \2 I
}
5 {# K' D3 \% m" p* N$ K; G7 E& s7 t M3 K: a/ ~
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )2 N, W8 q) q8 `/ W: y$ D' o
{' @7 V9 t: U; P" @- q3 h
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
e: ]) t: S& T6 M- K CRect rect = pWndCtrl->rect;; s& H4 ?9 n& M4 T, z$ Y$ r
if( rect && rect.PtInRect( point ) )
6 R* c8 P, {; l5 H: U+ P {' _/ u9 [6 a/ Q9 q& f
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
4 L3 \! ^& ]1 U h if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )/ x/ C1 L- \ |
{
' ^8 t" Z* b' O+ [- y if( m_pItemElem )
5 F" u' t. f7 z. E8 E4 x {3 ?6 \9 w5 c* N" j$ h: B
m_pItemElem = NULL;- w1 k9 d6 u2 U% {
}
5 m9 `7 G% V! W4 u m_pItemElem = pItemElem;7 c0 U, @5 @* k; y3 V/ S/ r( D
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
" O: ] n7 D6 p3 Y4 |& ^& ? }else{
" W4 d) }2 }$ I( o! V SetForbid( TRUE );
1 t! ~# j: \) {6 f, E3 p' g }! \2 O8 L1 _) K' a9 u% D
}else{
, Q% L4 w& q* R/ |6 X; _& N5 S SetForbid( TRUE );
+ u: g+ P' [" @: B5 U' x }
! U v2 d5 v6 y3 A return TRUE;$ H# o0 f3 m5 \3 E0 s6 N4 r5 ]
} D& f# r* m6 m
* ^: X/ M8 n: p2 L+ r' ]+ q8 eBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )( J @8 J6 E, q2 r' a( k: v6 M
{
$ ?" I2 \+ R" S' B* _2 ?0 l9 l switch( nID )
0 z9 Q1 d& y) j- ^- N {
6 e( Q" H9 N- {* C* Q) A# K7 T8 L case WIDC_BUTTON3:$ x$ L/ O- o5 q2 m- ?
{
7 W/ H- C' @' ?+ e! o bStart = TRUE;
: ^) }& w) Z% m& ^. a break;' t2 `. k7 `7 O6 e
}6 [ i- Q# f* Y' e5 f. P) A
case WIDC_BUTTON4:6 x5 z- S' ]$ O7 G
{
' A+ ]; _1 M; |( |. ] bStart = FALSE;
+ S; u: G" W1 O6 q& B break;3 f3 T8 \9 Y" w" P* l; k
}8 e/ w+ L( V' X k0 j" O
}/ }* @ R! g# Y9 i) E
return CWndNeuz::OnChildNotify( message, nID, pLResult );) F& x, ], g* x9 z0 n" u8 g
}
[, M" B# @- ] A8 h. [void CWndAutoFood::OnDraw( C2DRender* p2DRender )$ L8 @2 D1 Y; u% l! @& t# Z. f
{
1 m1 @. B7 k0 i CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );. H; t$ s' W; ]9 Q4 N: O
if( bStart || !m_pItemElem )* _0 B; @7 j8 F0 B% d
{$ a2 y' A# Q; o; V7 j5 s
pBtn->EnableWindow( FALSE );
+ x- R& H7 t, {, t, T }else% v# R3 W$ ]4 ]; w R: h2 T! W' @6 w
pBtn->EnableWindow( TRUE );: p* A* f* |( j' J. G& V3 b% R# n
if( m_pTexture )
! P6 [: p. m' r( o v5 N, o) m { {7 r# s F0 Z: G4 c( r' @# I
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
4 B A; ], [7 |; x/ M0 p if( wndCtrl && wndCtrl->rect )2 Z" Y; ?$ \+ }! |1 p$ T) s
{
& ^5 M( P9 R( p9 v$ F0 B m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
j7 J8 N* ~: r- m2 w" k }3 t7 m! P7 [. c* w8 u# D+ Q
}
0 @# @# {: T F9 m% X}
! H3 ?+ t n1 P* P" g& B' ?( F4 E1 b6 I) n1 M+ E H
BOOL CWndAutoFood: rocess()
" e7 _! b$ Y8 @- R+ K. J& A{2 r5 i3 |2 U# b
if( bStart )
/ n8 s% F2 l+ _ {
) v6 c% k" `. D) W4 y( I& j if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )" e R! W/ |. ^; K% o, ^
{: G3 k2 v& n# ^! {; R, G
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
6 @% u! d: h& g$ a0 E/ x g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
: |8 U1 |7 f$ a- m; s" ]; Y: F7 F }else{
4 {4 w! N! B( d3 x0 E- }& S bStart = FALSE;
. h' w, i0 `' ^7 q8 C- [ m_pItemElem = NULL;
( B" I" z+ N. T' ]9 k }. J4 l* {9 V7 ^6 C0 p
}
' w" k" Y f3 `9 [, f7 M; w) S6 n return TRUE;3 @8 z- v) G8 c: ]7 c2 r
}
0 G& j# G" z5 U3 r# J5 E. a
- x W, K! B: }4 v* ?9 t登录视频废话:$ m. @/ f8 W* W1 T
尾翼:
" a# q5 h3 b: o1 s I9 K2 h2 [8 \1 S, h4 B8 H3 C% T/ u
代码:# h* ^& ?. ~( _! z9 _* O
( o8 d# ]0 Q" A5 I1 ~8 lvoid CWorld::SetLight( BOOL bLight ): x4 e% l% i- |; O2 m
durch
8 `2 ~7 b7 v1 B& F5 [# p% fCode:
* b {3 m. X8 N" a: E7 M1 }7 w% kvoid CWorld::SetLight( BOOL bLight )
( @% h5 P0 o: S! W& I{/ G9 v8 l' C2 Y. D
//ACE("SetLight %d \n", bLight);- V7 [) `1 w9 v% x0 w2 b
. y, j# O# D! K1 R1 q h#ifndef __WORLDSERVER
: k4 k: X* H0 I1 t0 b DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0); I0 h7 c7 ?2 ]- N
CLight* pLight = NULL;
! ?" l. Y, w4 \6 k0 n
# m2 q! s5 I# [ D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );/ W' E" S {+ R3 i+ r7 C7 A, B
' s# h0 R; S) i; J pLight = GetLight( "direction" );# [# l. ~$ C* _
/ L* j$ v! R- [7 ^1 Z
#if __VER >= 15 // __BS_CHANGING_ENVIR! Q8 ~) M6 l! ]
if( g_pPlayer ){
, S& W3 A! `; t0 o; ^ ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
1 `/ u! W4 W! G: |. z/ M if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!5 u/ M/ q- O0 S6 y4 e
{
. L1 X" c) {7 H) } if( pLight )
+ d: g1 O+ I1 q7 `* x, d {3 R) x# s# M. s" x2 A) K0 H
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
2 ]4 _; }) [. ^0 Y8 R/ m pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
/ L: h' c% j+ f) A pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
" x2 l/ n& t6 _/ r, }6 l I# q" b9 U X, [
pLight->Specular.r = 2.0f;6 x5 T8 O( A7 _5 T
pLight->Specular.g = 2.0f;! x( G) ?( a0 P) Z6 {
pLight->Specular.b = 2.0f;
# N) V2 ]) ~- v, ?/ @ - ~- G* z, ~) G: B
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];( e, D) ~) P% ~& z( v x7 y- }
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
5 v& L1 ~6 z9 ] pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
8 }( j w" Q6 H" w8 C 9 D0 n0 |9 F$ m4 W" M' q
HookUpdateLight( pLight );
. [/ I, F2 h" c2 K0 Y/ t, \8 I+ R, e6 p2 Q, }+ d
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% W/ z; w; T4 c" T $ D$ J7 u; ^/ W" q( F- ?
pLight->Diffuse.r *= 1.2f;
2 E F: q1 ~) Z, ? pLight->Diffuse.g *= 1.2f;
9 A& T7 P$ W( @: D7 W0 t4 S pLight->Diffuse.b *= 1.2f;
% H2 ~2 J" n* T+ }1 W3 _
1 t, j9 Z) |% I1 ^1 d+ [& [7 \$ r pLight->Ambient.r *= 0.8f;7 x! e1 w+ i/ C) M& E$ [% n
pLight->Ambient.g *= 0.8f;3 ], f4 j7 B6 v$ A
pLight->Ambient.b *= 0.8f;
- U% `# ]! h. [) F3 E " w' U1 L% u4 k* I' |& Y! O4 A
memcpy( &m_light, pLight, sizeof( m_light ) );
7 _! A% S! [3 b. a4 c1 o
* B3 y+ r4 f; m5 a2 q& ^6 B D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
: _7 w- n% p1 W6 x; g D3DXVec3Normalize(&(vecSun),&(vecSun));9 E1 C9 ]/ K i, j
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
/ O8 l y4 a% @7 ~ Y4 e pLight->Appear( m_pd3dDevice, TRUE );
+ p* G4 Y. y, Y& {4 A- z
% a0 u, O: A1 C5 L; _( Q- I DWORD dwR, dwG, dwB;+ n) f! N% n8 L0 ?8 s) F3 u2 E3 N
dwR = (DWORD)( pLight->Ambient.r * 255 );. ]' }% ]! c7 v; R$ H' n' A
dwG = (DWORD)( pLight->Ambient.g * 255 );
: \1 O5 J/ b& P. k/ e3 z dwB = (DWORD)( pLight->Ambient.b * 255 );. E o+ w4 t% J
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );0 e% O( ~9 |# G0 ~
}0 L) M# Y: `2 X) ~& H( Z" T& m
}( b8 ~$ i! Z! x* F
}
/ q0 J3 i [6 b, P8 F; Y& h+ Z" O else
- r+ A0 h5 a4 O/ {3 {#endif 7 t7 Q4 [+ v) o0 Z* ]' Y" ?
$ Y, {. J7 U5 w2 V; ]1 |
if( m_bIsIndoor )
; \/ R0 Y+ K' ?4 ` {- c/ V2 T7 b* n! U w) {& s
if( pLight )
1 K6 o$ s8 K6 \7 B { 4 |, O/ N( @8 N
// à??μ oˉè*
9 t6 o8 Y }+ I: C% D% C1 U' H" N1 N% u pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;9 Z% |. {- I# p* m6 h+ i. Z
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
+ C- b5 J% ^7 |: n pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
R. q k6 K+ A/ f# e+ l% k2 h1 p- K' |: P
// oˉè* ??à? , v5 R% W/ b9 H2 j g6 a
pLight->Specular.r = 1.0f;; ]1 s5 z* m0 k/ S2 y; U* N
pLight->Specular.g = 1.0f;
' l9 G0 U1 t( `- a! o. J pLight->Specular.b = 1.0f;
7 v7 A/ @& ^" t7 J( q // àü?? oˉè*
# k5 `8 T6 o* n/ m( \1 T* ~4 D pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
! ~; t$ [5 _9 m G pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;& b, N) X K2 \ ^
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;: t4 J& N5 D9 u* h
: ]2 U, M0 K& a6 n3 B
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.% g) J( U* T% E; E; A" n# W
{
2 O8 T8 d* Z/ x; |' U pLight->Diffuse.r *= 0.6f;* @$ q" ]' Y" y7 Q( j
pLight->Diffuse.g *= 0.6f;2 l ^# j, D" b; W/ u
pLight->Diffuse.b *= 0.6f;
; v, M2 p! ~3 o pLight->Ambient.r *= 0.7f;
7 E. T: t [5 t% V4 w- f% ` pLight->Ambient.g *= 0.7f;
+ u8 X9 W" G5 v5 S4 V pLight->Ambient.b *= 0.7f;( l7 U$ c6 f( A
}" a1 I4 t* F3 Y: j
0 T# t6 o" ]4 T/ V5 @- S$ E* @5 j+ g
#if __VER >= 15 // __BS_CHANGING_ENVIR9 g% a9 _+ N' W
if( g_pPlayer )( C" w3 a2 a- N5 `0 i6 ?# s
HookUpdateLight( pLight );
1 w/ Z8 o7 q+ {) I#endif
4 [" f) u5 [: E% k; ]1 d, c8 K. I memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 K1 j# h' g! B6 j/ [+ z& w
7 }8 p8 d# B% q1 ~- _( _8 \ pLight->Diffuse.r += 0.1f;
1 y. y# p/ Q7 S6 k& F pLight->Diffuse.g += 0.1f;7 h3 E5 v! q/ n# A, K" J
pLight->Diffuse.b += 0.1f;; a0 b7 y" L7 g5 B+ R2 N
// oˉè* ??à?
! R1 K& M& w* F+ U( e pLight->Specular.r = 2.0f;
1 Q3 {, Y5 h/ B: D% A pLight->Specular.g = 2.0f;
& a) c' ` M$ p pLight->Specular.b = 2.0f;2 J" ?; A6 V. K Q8 [: F. s
// á?oˉ
& k; P$ `1 R+ r0 r6 B- |3 u5 r pLight->Ambient.r *= 0.9f;
* z1 Y/ p$ q6 a0 u+ @7 @ pLight->Ambient.g *= 0.9f;+ x E" C. ] z7 F p
pLight->Ambient.b *= 0.9f;7 M: G7 l$ n) o% S4 @7 q
7 H8 _% o; X( l/ S$ {
memcpy( &m_light, pLight, sizeof( m_light ) );
' Q/ d* _* Y* `% b 2 I5 \- `# F4 X4 z- j' z
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
; ^2 Q. z; M8 f" E pLight->Appear( m_pd3dDevice, TRUE );3 C* q; e3 Y- [& q& G7 m5 i
1 y& J2 ?% v; w; G/ V DWORD dwR, dwG, dwB;- u4 U9 q# W3 f5 Z. F' \% w, k
dwR = (DWORD)( pLight->Ambient.r * 255 );
5 V8 |; e3 S7 O. _, {9 |# S dwG = (DWORD)( pLight->Ambient.g * 255 );& Y1 B }2 D# t5 m! k' f, w) M
dwB = (DWORD)( pLight->Ambient.b * 255 ); _" v4 j y" y: r# z1 {
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
6 _, w, Q( A9 d7 ~7 N }
9 | r- f# C9 [) H( d/ X, c }/ v. S+ G; x$ a& j( P
else
8 [2 X7 i+ g; W+ e( f) V$ ~ {. Q3 k: ?1 x% C ]4 l' B
if( pLight ) _ ]; u( @8 J y' B3 @% V1 ^- m1 y
{
% v7 Y( ~& Z$ y6 N, ]" h# h) O+ V
3 ]" F9 C( G c int nHour = 8, nMin = 0;
) I/ O0 E* z& o! l1 E2 h9 W; R #ifdef __CLIENT
: K1 @' ~0 |0 a( C& @0 X B! | // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. , F( M3 P5 \3 y
nHour = g_GameTimer.m_nHour;
, j7 `6 ]2 ^+ }9 q4 `8 N e! a nMin = g_GameTimer.m_nMin ;' J2 Y# ]6 @) F/ ^
#else5 ?5 H+ p' Y8 H! t
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.+ K0 T" K% K0 a! L5 c: P. h9 t9 r
if( m_nLightType == 1 )6 a0 C; O! p$ A) D
nHour = m_nLightHour;6 S8 g7 A r0 w2 A
#endif
$ e+ V" G* z7 m nHour--;
2 ]6 S& d* `! b1 _4 y; \+ M3 Z if( nHour < 0 ) nHour = 0;$ X8 m+ d- ] Z0 c
if( nHour > 23 ) nHour = 23;
" H; D7 }7 d/ ^" s* c
' z" n! N/ s7 _2 t& B7 @ //if( m_bFixedHour )0 x6 y) N+ h& G; A! w
// nHour = m_nFixedHour, nMin = 0;
5 ^$ _) @ e* c* I- Y8 [& [ LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];9 [9 {' C% N3 ]; c! r
LIGHTCOLOR lightColor = m_k24Light[ nHour ];. p. V {% K) s
) q0 s+ @: ]/ |2 y, a
//m_lightColor = lightColorPrv;; G% E) A% b, e, u0 D0 A
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;5 ]7 O5 b3 f: A! `9 x# q
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
3 Y, P$ O- D! K, w: P$ d7 E lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
* w9 p7 c. g& O; n+ ~. d lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
9 ~+ p) `0 Z8 ]8 x N lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;( e6 g9 a: W5 Q" q0 s, K- B
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
$ k! z/ L8 V# |8 L/ j' g2 O' X // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
: a2 r: }. {) l6 k) B% ^4 R
x2 G$ F8 r0 E0 D" H9 n' z3 G // à??μ oˉè*
' i/ `% n X# b2 d pLight->Diffuse.r = lightColorPrv.r1;
, y- j. a: e* z pLight->Diffuse.g = lightColorPrv.g1;2 A6 p* v2 [ y; M) @7 U a
pLight->Diffuse.b = lightColorPrv.b1;
. v) H7 C% c4 P6 S // oˉè* ??à?
+ T! y7 F0 H: H1 C! r pLight->Specular.r = 1.0f;! N: W, F$ X! F! q, Y# P$ v. r
pLight->Specular.g = 1.0f;
( ~3 A5 D" h! I. O' n0 Z pLight->Specular.b = 1.0f;
) L3 w9 O/ B1 l& S2 r. l7 l) \ // àü?? oˉè* 4 `/ q- F& `) t" f$ C% K0 E" d
pLight->Ambient.r = lightColorPrv.r2;
$ F2 n) C8 ^5 _2 Y t% u5 x pLight->Ambient.g = lightColorPrv.g2;) n' k1 V( I, M _
pLight->Ambient.b = lightColorPrv.b2;5 I o8 S0 W1 k' t, P+ }# m4 V
" O% R. W% D2 m3 I5 \ if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.% l5 D/ R- M6 G
{
: T' y" ^9 x0 J4 W pLight->Diffuse.r *= 0.6f;
4 R1 Q% m- |4 k0 i' q. j pLight->Diffuse.g *= 0.6f;
4 ^( n" e4 S) C v+ ^$ V pLight->Diffuse.b *= 0.6f;
+ [& j5 o( X9 t' J. n pLight->Ambient.r *= 0.7f;. p9 l" g' x5 g r! `
pLight->Ambient.g *= 0.7f;
& n. ^/ C6 u4 c u5 i$ y pLight->Ambient.b *= 0.7f;
& T/ |3 n5 w$ }; T" e, c/ M' W }' b* {6 V" _( c" m3 U
- R+ l: T: e5 }9 ^: d3 }#if __VER >= 15 // __BS_CHANGING_ENVIR
; r' \' Q. Y. Q* A' n3 ] if( g_pPlayer )1 H( Y3 f9 Y! l
HookUpdateLight( pLight );
, }, f; K& U: q6 |/ [7 `' ~0 o#endif) `, F0 `. V5 q: b! x- n2 i* R7 p
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) S8 q* j( N$ E+ v* V% |+ ~' l9 u7 l. Y1 c( n
#ifdef __YENV
4 T3 c0 F9 u5 D6 e0 v* y8 h: s pLight->Diffuse.r *= 1.1f;, s* n( o6 s3 B8 ?2 D$ h
pLight->Diffuse.g *= 1.1f;
* x, u+ C3 D4 i6 Q) `7 a) X+ i pLight->Diffuse.b *= 1.1f;
* {. t+ c6 V( q/ g' \ // oˉè* ??à?
$ _8 F/ {. w7 F ]* C& ] pLight->Specular.r = 2.0f;
# i8 b3 R4 w, @1 F2 U9 B( r pLight->Specular.g = 2.0f;; K( [7 ]# y# [9 e+ N
pLight->Specular.b = 2.0f;! W+ y3 K Q W% q% S s" t
// á?oˉ ' m* w: ~% }2 j- B+ B
pLight->Ambient.r *= 1.0f;
+ x% j3 k/ S( L2 C# J pLight->Ambient.g *= 1.0f;2 P0 u3 s. }: h
pLight->Ambient.b *= 1.0f;
* Z9 R$ |& I: u6 A#else //__YENV
! P8 {6 [) O: w% Z* n pLight->Diffuse.r *= 1.1f;
( x2 u6 a3 }7 R" E1 G pLight->Diffuse.g *= 1.1f;
8 p* Q* ^8 t4 R2 M# Q, ` pLight->Diffuse.b *= 1.1f;
9 P) p) o8 N. `! C. B+ n8 o( P // oˉè* ??à?
3 B$ ?! U9 O- S% u5 p1 R pLight->Specular.r = 2.0f;
* M% f7 p) @3 T: d' O pLight->Specular.g = 2.0f;6 _! f1 a2 ?, O
pLight->Specular.b = 2.0f;
1 A6 Q# B' ?. F4 s- B // á?oˉ & F1 _8 A9 R2 P! P7 }% s
pLight->Ambient.r *= 0.9f;* v5 G7 ]5 |2 R
pLight->Ambient.g *= 0.9f;
" C3 U# E% M$ Y7 k# x pLight->Ambient.b *= 0.9f;
) D9 y4 I: |4 v1 i#endif //__YENV ! g4 _) T ]* O% `
6 y4 A+ u1 u$ X; I$ {* C* D5 U; J memcpy( &m_light, pLight, sizeof( m_light ) );6 m: Z& F8 o5 a! j4 w
4 R Q, G7 J" ^4 L6 I1 a+ x
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);/ i, e) g6 y8 r# I
D3DXMATRIX matTemp;+ c: E0 G9 } r W/ w, j
static const float CONS_VAL = 3.1415926f / 180.f; p) r3 ~& V4 j, I& q; ^+ {
3 e$ [2 F) L% l; U' J& ^3 Y- a. v D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);/ C# F0 `9 o+ g; ?. b2 ]
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);4 K6 }/ a+ Y7 x' F& y
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
7 \ u7 R* B! m% H pLight->Appear( m_pd3dDevice, TRUE );: p$ f$ k2 z6 o
- d# ]- R: {' \4 ~" Q5 L
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);( B/ R5 H' Z# b5 g" l i
// D3DXVec3Normalize(&(vecSun),&(vecSun));: h# [$ D' Y0 @9 y9 J5 v
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
1 i( R: @, V( g4 v; ^2 o. O2 O6 ?, p0 m
DWORD dwR, dwG, dwB;- f B0 e# \8 _4 r+ t7 w
dwR = (DWORD)( pLight->Ambient.r * 255 );6 K& |4 H) j5 |4 c6 r4 F
dwG = (DWORD)( pLight->Ambient.g * 255 );
) z2 ]7 X- l' A+ G+ c. U dwB = (DWORD)( pLight->Ambient.b * 255 );2 d H0 M* \ ~; m/ f6 N" N
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
! v; K3 ^+ J B9 z/ R }
# q% B! f3 I+ o4 u+ @ }
$ a/ \4 }# j5 {% O
$ ~5 n0 `: S' k! z% ^ m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );& H) h9 w2 M, M3 f: r9 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) );
" p$ Q# p# e S0 l# K& @& x ::SetLight( bLight );% I2 L6 D" p x" c {, j
. {! {) |4 h# M, X8 \
// ±ao? ?D?í???ó á¤à? ' `6 w; Y" y- ~( j
m_pd3dDevice->SetMaterial( &m_baseMaterial );1 K3 V" v9 l' A9 g3 T, Q Y8 X+ q
3 M8 `' U+ N3 L b# W4 \- ]1 p/ d- T
#endif // not WORLDSERVER0 \( N+ K" u' S- T9 E# k
}
. S$ ~, D$ ?9 i8 A6 ?4 v并更换
4 Y+ y- \, G- S; s3 j) F+ ]3 ECode:
* T- d. I: K9 v4 |1 z2 |__FLYFF_INITPAGE_EXT' f( U! u! n7 h# |
定义: q5 L) z2 x G& u+ Z( D4 N
, X; T/ V4 B/ V. _ Y" p$ E* S
Z' T4 Y0 X. o3 ~) N* `
$ X( `: l9 |/ j8 s* c% t6 v5 _, P; A1 A- p \" K5 t9 N$ D0 A; o) Y. O
现在终于删除我的狗屁加速...
' F: t( w+ ^, p5 V4 o: M+ d; m- ]0 \& _& P! ?5 `
6 h! M+ n7 r* z& Y, A5 F
8 q: A1 d8 n5 T9 m# G |
|