|
|
食品车:0 g/ T6 Q% U5 {1 z, d# O
尾翼:
1 T7 E% F, P5 J n
1 j/ v, x) X6 x. Y1 I代码:+ y- u+ |1 S9 k! s
CWndAutoFood::CWndAutoFood()
8 \( _4 C" ~' y7 g+ }{
$ d' q! A n5 A7 Y3 r6 k( ` m_pItemElem = NULL;
! Y- h/ X" X. e m_pTexture = NULL;
" [ M: Q: s! o& ~ bStart = FALSE;# p! K1 L4 W1 A
}
" R- f$ v% s9 |4 _1 q4 A( {( C: F
; a B* {6 x0 I0 NCWndAutoFood::~CWndAutoFood()
6 k, z, G( M V4 l2 _2 @{
9 U5 b5 T8 n# R, S AfxMessageBox( "AutoFood ist gestorben " );
- \+ y( ^5 L+ ^ r# O& k% o}
9 P6 h/ P( J6 X) }2 W( m* k" H, uBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )' a" a/ c9 ]1 F2 O# Y1 `& _' h" U9 \
{7 U4 d! \& l# Y6 `
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
3 W. E. F9 W$ }9 `1 P* ?9 F}
8 _( k( A: G( K; Y8 N6 H' p$ S X* G% \/ c# J
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
- D+ ~2 b6 s; U{5 Z( A; k5 _6 k
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
$ g( v2 M' U# J0 j) j CRect rect = pWndCtrl->rect;
4 @' W; F: Q3 d, ^8 {2 b! Y' k+ Z if( rect && rect.PtInRect( point ) )
; D% a' P: [0 x3 J2 y9 b {' g! P1 ]+ O* t$ `+ `; l
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
: D9 }: }4 }% N q5 T: ^ if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
$ _+ R, q& B. j+ c! D8 L {
! d* W3 |. @5 E0 n2 ] if( m_pItemElem )5 ?* p. B: F# e" n) p$ r
{; A6 m7 W( j! }" \$ Y' h5 |
m_pItemElem = NULL;( `5 F6 X7 N, U' s7 U5 {: t. ~
}" N/ \6 R9 _* j' `
m_pItemElem = pItemElem;' U6 _* J& Z2 P4 q8 r7 k
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff ); y8 ~7 P( N, w _3 M5 s. ~# B
}else{5 V3 ^7 N1 `( o) B0 b0 d
SetForbid( TRUE );% v, G: e: m1 O
}
) q' T; Y' R2 A# q3 L }else{
$ A- {9 a) {; n3 {$ M! h: i SetForbid( TRUE );
) ~9 f3 G" l+ z; b2 D) l: e( S. q# \ }' y0 R* J! ~$ D1 a1 `
return TRUE;/ Q, O) h! F) r. I' v6 k. h O( t
}
0 R* }0 k7 E; C% o' V3 _( U$ L4 O
% M. z2 y! j2 v J1 r! i: Q; QBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )) w7 K" X6 F' z z) O' S- J, n
{
4 ]/ L4 v$ v! l z) N switch( nID )
9 }' A6 X8 r* c' F/ f {% ~& M/ ~1 r: o4 O! n7 C
case WIDC_BUTTON3:/ F2 z* O" N. B0 p! K. |$ [
{* u H. z% d* G: ^
bStart = TRUE;. @5 Q4 q+ z' I
break;
' k: X- u' O! v1 {' d( i }
9 i$ k1 e0 f, ?9 L7 \& J% k case WIDC_BUTTON4:9 u1 N& u0 ?2 h6 ? q
{
, K. _3 q$ C5 G5 c, L( y# I, E bStart = FALSE;
# z5 P b C7 l break;
# L3 V# b- }8 {8 S) M }
( ?% \( C6 L2 W$ _- Z% l7 r$ a }
& A3 ?6 o! e8 P) w+ P return CWndNeuz::OnChildNotify( message, nID, pLResult );
9 ]$ X! R; a# `. W}
: l) S2 l I: c3 M% C/ Tvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )$ S3 S- V6 s" k* Q0 P8 F
{
0 t! ~# ]0 ^& c2 ]% b CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );$ C) }* f8 J+ z) @# C/ q" Y4 O
if( bStart || !m_pItemElem )
2 q) z' K4 c7 O1 y5 U3 \, R {
' M. ?0 M& @/ L7 Q$ b pBtn->EnableWindow( FALSE );; \/ E: O$ c, @" J; ]1 e W
}else
|& a3 J9 l1 g pBtn->EnableWindow( TRUE );
q; v" `3 g P% p1 ] if( m_pTexture )
* O4 T v" s: U7 W3 k7 W {3 w k9 C& G9 f$ G
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
2 X3 Z. E$ ]6 u9 M" u" A: n if( wndCtrl && wndCtrl->rect )( m/ p( J& w8 ?) P# ~, c6 ^
{
3 G6 R7 b) B0 i: t7 @! G! u m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
$ H/ s( a( _* j* M( z( a3 j }
, u2 o4 i4 u q) _7 w; u6 \* i }
# a8 n, Y! j1 J0 ~2 q5 `2 n}
, |( u' m, u4 w8 `0 e0 e; o: h, [7 z) |: {4 x7 X& f1 H
BOOL CWndAutoFood: rocess()+ v2 Q# c! o/ X9 o
{* ~+ h) y+ y/ c/ D: n0 p! t. E
if( bStart )
& ?2 D: M/ z2 b3 Q1 i1 l/ L" D {! ?: H2 J0 X( q+ M; I1 i
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
' D P h* R' f9 @- E {+ `: }' o; I) H% n) @2 A
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )) G7 B" G3 L8 X4 {" @
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );9 f, V4 u. |9 S- [8 Z# o
}else{
' @" v# {+ V: N bStart = FALSE;! {% n$ b: X$ b4 s% ]/ c- F& T' K* r. \" p
m_pItemElem = NULL;
; H, H4 b1 Z5 r' p. v. F" B }
' a/ G- V | l; R5 ]! x2 u }1 A2 u* c- a3 p# }
return TRUE; w! @$ D# `) g* z# ?
}0 d0 y d- A! k3 I' m
5 G) I, ^8 s0 U D1 f" W3 y2 f' d
登录视频废话:; ^ i5 g5 z0 q( D) |* U0 k( F
尾翼:; |0 h) b3 }4 W6 M& V2 N9 D6 x
% Y; L A m$ [4 g2 b8 I7 A
代码:# N; h1 S$ \( l/ \: ?. A$ A
4 J/ t6 @6 K% M9 Y' s1 p4 g3 t
void CWorld::SetLight( BOOL bLight ) m4 y' V; N! N2 I9 z
durch
, E/ d; Z( |" F0 c/ n6 vCode:0 Z; ^' T7 o& l2 M& d/ e( Y
void CWorld::SetLight( BOOL bLight )
8 \* f$ T/ f( ]0 F# j: e{' M/ f2 f7 N9 \& q p' t
//ACE("SetLight %d \n", bLight);
; [4 r w* b7 c # x5 P# ]5 [: O% I0 D9 s# V
#ifndef __WORLDSERVER
' P& q2 c/ P4 Z DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);) s) z# ?, {6 u2 X# a. ?
CLight* pLight = NULL;
: @* t, G9 \, j. ^- |
5 B% Z5 Q4 ~1 ~7 S, E D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
/ J( S$ H8 C/ E/ U7 U- j7 |1 i* ]
! E7 X( X' `4 r& u pLight = GetLight( "direction" );1 O/ g3 J J" r+ z
! T2 h" j2 j- w- |( J7 {7 a#if __VER >= 15 // __BS_CHANGING_ENVIR
0 [) w1 o' H! b. b5 k& K if( g_pPlayer ){
0 y# S% |8 a8 T3 W ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
+ R: N9 x/ P; B! m% t2 M9 O! E/ v if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!& P4 _- u1 [& k9 [& w- t
{
, h4 r( [2 Y8 I& g. R if( pLight )
9 Q3 r; C% H# v3 o3 L" E {' }8 R, y+ q6 k0 X
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];' o! \9 m( F* h* @% Z
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];; g# o# I. @8 v* T/ W8 @/ }
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];& Q* W* S7 B" S( c/ Y; U% i
) F: [: \# z q pLight->Specular.r = 2.0f;
6 b, [6 Y6 t `$ H' M7 D9 R v pLight->Specular.g = 2.0f;
, D K9 y9 J) w0 s7 t- W pLight->Specular.b = 2.0f;
- j4 Q$ z0 Z% W1 T+ V- [& o , {1 q4 r5 I, q" R
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];* z/ c0 K5 ?( h" F
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
; J) W' x/ |! _! Y) L1 H pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];/ y% u* s1 P- \! v
* j: d8 n* w9 s5 |, v6 r' } C HookUpdateLight( pLight );
- X) M& |2 J4 a! M( t0 {' |+ u; B1 L m- ~( y" Z, z
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
* A3 G) D; ^- d" b5 E( s% m( U : v3 T5 a$ F* N1 I9 ~8 M
pLight->Diffuse.r *= 1.2f;
$ {0 q& f" u( Y0 E' W& K pLight->Diffuse.g *= 1.2f;7 I3 I. U5 k- j* E
pLight->Diffuse.b *= 1.2f;
' V4 B( P8 D- q) Q' K, s
& q/ g( `0 u6 m6 h# u% c% ]3 o% U pLight->Ambient.r *= 0.8f;
' \5 t0 P! `/ k9 i pLight->Ambient.g *= 0.8f;# _8 F- A# D- t; `
pLight->Ambient.b *= 0.8f;
0 k! v" o! } t4 C2 |" F) w + _5 J1 ]$ g9 R3 H
memcpy( &m_light, pLight, sizeof( m_light ) );
* d$ z/ e: \ E6 F/ ]1 ~ s
% R8 m. K6 b6 I' \) X( ^ D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
! r3 L( P+ n; g8 b/ s1 e D3DXVec3Normalize(&(vecSun),&(vecSun));% C' s7 n7 I, s! C p. ?2 j
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
- j F0 {2 H- n" q pLight->Appear( m_pd3dDevice, TRUE ); H( e i# _5 ?2 A( P7 T+ ?
' I; l4 P+ V7 T* M( P' q' Q) [ DWORD dwR, dwG, dwB;
" A ^8 h" B+ P1 C5 \# _* i dwR = (DWORD)( pLight->Ambient.r * 255 );9 Y q3 h& `9 K' i$ U& S: L
dwG = (DWORD)( pLight->Ambient.g * 255 );3 ~ b6 C( t7 U& d& y, K
dwB = (DWORD)( pLight->Ambient.b * 255 );
7 {8 T& M9 a: r+ h8 T+ h T dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 [) u5 y% L, E2 N$ e/ V' I }& P, I% u! R6 A0 }/ U
}
/ Q! g7 F# ~- o1 a2 } }$ H1 d a* T% M5 E2 Q/ G
else4 h0 D2 p2 M' k
#endif
4 L7 _8 ~# W" z6 U1 R
) @6 e0 B# p% \ T# }* U& r. W" n if( m_bIsIndoor )- @7 z1 o, \8 F- c! p
{
' G& @) J( I, K1 I if( pLight )
: W. f5 P9 ^0 G+ M- m1 } {
" y4 u3 w5 i' r' Q: J5 ] // à??μ oˉè* ! V4 m a' z1 U
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;- B/ t* M: q. C7 e
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;* [$ ]4 l( O8 D: N, ?
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
) E# U( P0 M3 i" }+ b% J
" H/ K B0 r3 y0 c. k' b // oˉè* ??à?
' T* p1 w7 E1 K pLight->Specular.r = 1.0f;6 u' _' x$ B- a& U3 X- }
pLight->Specular.g = 1.0f;
5 P2 S7 O+ C" i1 u5 @6 o4 w' [# { pLight->Specular.b = 1.0f;( r( |6 t J9 `" Y; ^0 G% |
// àü?? oˉè* " j9 n. V' d; H
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;" f, |4 l; ~$ s
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;6 A7 j6 g& X3 }' y: t( V
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
+ i3 t) m( C5 O% S" |( V. J
) t6 R7 @2 t2 [9 | if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??." C4 h. ?' y% O1 ^8 k! p
{3 B! ^' U7 J3 E+ t5 l( z. r
pLight->Diffuse.r *= 0.6f;
2 R) v! E' s, E pLight->Diffuse.g *= 0.6f;
% f9 @3 Q) _# Z pLight->Diffuse.b *= 0.6f;) y) `9 |7 [% B' v, i
pLight->Ambient.r *= 0.7f;
& C. X5 ~, O3 k6 W+ U) T- q B pLight->Ambient.g *= 0.7f;" |5 f- I7 }. i, q
pLight->Ambient.b *= 0.7f;* m1 a2 X3 q1 J; f% B) Q
}
! J! }/ `/ p1 p# ^+ T/ ] Y/ [( }7 f% p9 J$ x5 n
#if __VER >= 15 // __BS_CHANGING_ENVIR1 @/ f% J1 `, ?# o, c
if( g_pPlayer )
) X/ ^: Q. n- e* Y) _) y1 T HookUpdateLight( pLight );- M/ T+ N8 P! O9 |' n& \
#endif
9 T: Q2 S0 q$ f& t2 r: S memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );& }- T: ?% t& l/ y( K! R
9 g0 Q) g5 \' h+ b# V pLight->Diffuse.r += 0.1f;
+ m7 ]" B6 @. Y6 i pLight->Diffuse.g += 0.1f;
8 t4 \* H3 s6 ]/ y [7 H* u$ w pLight->Diffuse.b += 0.1f;5 T' s4 h) ?* t, {+ o
// oˉè* ??à?
4 g# w* W& j4 | O- Y6 U pLight->Specular.r = 2.0f;1 S$ j' U4 Y/ [
pLight->Specular.g = 2.0f;( b# x2 ^9 p) |& d! k4 O
pLight->Specular.b = 2.0f;2 R! K! M2 b N! S
// á?oˉ - }5 p- [1 n! L. G1 J) I
pLight->Ambient.r *= 0.9f;% p |- e; p8 H3 b! A
pLight->Ambient.g *= 0.9f;: {4 W$ m( Z) ]5 l! e+ p
pLight->Ambient.b *= 0.9f;
4 Z0 o- _* v* w( z* s
$ |3 J/ y5 ]- d( F7 \ memcpy( &m_light, pLight, sizeof( m_light ) );
. K3 S( S* W8 R) _3 D$ d( y + M: X7 a$ b8 y" e% \/ x
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
( o" {5 K5 R8 Z p7 z& G pLight->Appear( m_pd3dDevice, TRUE );5 _$ }0 U3 V# ?8 o0 C
7 l% m9 I& t: ^3 N# u0 o DWORD dwR, dwG, dwB;( \6 a# E% X0 ]6 ?! F7 W
dwR = (DWORD)( pLight->Ambient.r * 255 );
. w+ h" \& v% b$ q% }! _/ V2 N% v* | dwG = (DWORD)( pLight->Ambient.g * 255 );2 M5 D; k; j! A+ `7 S
dwB = (DWORD)( pLight->Ambient.b * 255 );
$ U4 i- ^+ W) z5 z& K# {1 i dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );' Q0 P8 \- e4 p7 @; t" D; \
}
5 \6 G7 y, P: n) I- J3 r/ J$ e }, H2 p3 N3 l- }" o* T
else/ f7 U) I- @9 Z6 }$ {' s
{" l$ T2 Z9 _! m7 i8 b
if( pLight )
& o& S% H5 t8 d: s" T& a {) K+ L% j' [# _* V# i
/ P' A4 G5 O' ?7 z3 I
int nHour = 8, nMin = 0;3 e7 @3 R7 M4 z9 t. s) m2 x5 ?
#ifdef __CLIENT
: H( K+ z% W' ~% P% \" b // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
3 o7 W7 F# w, P, F: ~ nHour = g_GameTimer.m_nHour;$ _6 g0 b: a$ h3 M# ]& `3 ~9 f
nMin = g_GameTimer.m_nMin ;% Z3 W6 y" G% ]3 U7 T
#else# C5 V6 k$ E! Y" L, }7 l2 }
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.8 |+ W+ n: X3 i. I0 y; a9 i
if( m_nLightType == 1 )8 f0 j+ F* |' O- {# u
nHour = m_nLightHour;
: F' ~' L$ o ?. B5 v( G4 y! K #endif
: s( N' q& X6 u% F( C! s& I8 e4 E nHour--;" {, Y. r' H. d6 P6 O' _5 j2 T
if( nHour < 0 ) nHour = 0;; X7 u9 I* ^7 k$ m t# C: ?
if( nHour > 23 ) nHour = 23;
& }9 [3 F5 B; P/ [9 o9 s
: s, i2 m9 m2 ` r7 U6 i //if( m_bFixedHour )& j1 `. k* Y9 q3 b
// nHour = m_nFixedHour, nMin = 0;, `4 Z7 I2 s+ E$ ~4 s6 M3 n( s y
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];$ E/ @6 @6 w4 Q8 s( R/ Q- O X. T
LIGHTCOLOR lightColor = m_k24Light[ nHour ];; L7 [0 \. F9 Y
: ^. [# @6 t4 k: ~: p //m_lightColor = lightColorPrv;
& K, h4 W2 ^ Q lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;3 Y$ j4 J d2 o1 S5 l6 o
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;; Q, ~( m6 z0 Y1 r9 ]. p$ w
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
$ x) b! l8 u" h) j lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;1 H# h* ^& r2 l7 V
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
7 n0 Q; n' @) r lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
5 r# }* }8 G% L" [+ K- E/ M$ A1 a // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
1 n! J8 ]& N0 j: H8 d* `9 } x6 F: n( V% F0 t$ @2 P
// à??μ oˉè*
7 g: k2 U4 b' \% C$ c pLight->Diffuse.r = lightColorPrv.r1;
, f! b' K2 }) i- B" S pLight->Diffuse.g = lightColorPrv.g1;8 z9 v" H6 w- s" t. U5 r
pLight->Diffuse.b = lightColorPrv.b1;! M- `& \* L$ }% r- o
// oˉè* ??à? # |) g. ^: {6 I( X: i/ b0 `4 R
pLight->Specular.r = 1.0f;% r$ ~# O! S* _- c; T! S
pLight->Specular.g = 1.0f;( j& j" w' W4 C, H, o2 l
pLight->Specular.b = 1.0f;& d. u$ J* c1 G0 x1 z
// àü?? oˉè* + T) H K) ~5 v9 E: U' G
pLight->Ambient.r = lightColorPrv.r2;3 D3 V; o8 `; m4 F- u; H
pLight->Ambient.g = lightColorPrv.g2;' S% f5 |2 v( _# N+ I
pLight->Ambient.b = lightColorPrv.b2;
4 ~* n4 L& s( p8 h" y4 E% S2 z3 H6 }+ o. m) N
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
& @/ Q# x" x8 z. x+ [ {
' Z' O3 T9 [+ ~) d pLight->Diffuse.r *= 0.6f;) J4 X4 y5 m+ B: M) I
pLight->Diffuse.g *= 0.6f;
# s v# r8 M* |: | pLight->Diffuse.b *= 0.6f;
- a/ W2 W, ^; V& S% V9 ?! | pLight->Ambient.r *= 0.7f;
5 Z8 @& i/ D, v pLight->Ambient.g *= 0.7f;
! v* R3 V# P* G% r pLight->Ambient.b *= 0.7f;' ~5 Q2 G9 c9 `4 U
}
( ~7 U9 W5 P) S: ~% h, c
. N: \: k% g7 J# ^/ ]#if __VER >= 15 // __BS_CHANGING_ENVIR
+ U" ~+ [7 ]- J4 D if( g_pPlayer )
# r0 N0 Z$ z4 G% W2 P HookUpdateLight( pLight );
$ c1 H; \+ j: ?( v#endif
5 P% V5 F9 C9 _ j' ?7 T memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );" E: s3 r8 q$ U! ?$ L6 B
; }: j& l( M7 x- d# C6 E* x) D* l2 }
#ifdef __YENV
9 {3 E% v2 m8 U4 Y% l$ v/ I pLight->Diffuse.r *= 1.1f;
# o9 A, A' @0 x. `; O; M pLight->Diffuse.g *= 1.1f;
# f% e1 U' L- R6 A. R% a& c pLight->Diffuse.b *= 1.1f;" L3 ?5 Z% l7 S/ M
// oˉè* ??à? 1 `% T2 Q1 Y7 W/ `3 b x5 C4 Y- J3 j
pLight->Specular.r = 2.0f;
0 \, g; N1 r4 B2 S8 N5 C7 X* } pLight->Specular.g = 2.0f;
. \$ i* w0 d- X! \ P% Z- X& J/ i pLight->Specular.b = 2.0f;
" i7 x8 J* ~5 S) ]6 I; R // á?oˉ
' ~) v+ J: M4 k, Z% } pLight->Ambient.r *= 1.0f;+ h- y2 P- B) V1 `
pLight->Ambient.g *= 1.0f;
- y, Y) m2 W1 Q pLight->Ambient.b *= 1.0f;
. |) z2 u4 ~2 H; }7 B& j! `+ R% l#else //__YENV
* y% l! X4 |: \ pLight->Diffuse.r *= 1.1f;4 _. L& t2 P- W- D" r* C# K
pLight->Diffuse.g *= 1.1f;
; p; X# A" f1 q6 l pLight->Diffuse.b *= 1.1f;
9 ?' r7 G) G4 l3 u: I3 N // oˉè* ??à?
' P' S& ^' ?9 P pLight->Specular.r = 2.0f;3 j6 y- G4 l# I) e( z. ~- y8 c4 c
pLight->Specular.g = 2.0f;
7 O" ?# v# l# B8 H& M pLight->Specular.b = 2.0f;4 T) i/ b- \6 H$ e+ `6 V! I
// á?oˉ " s7 ] J+ S* X( y* m: {7 F4 K
pLight->Ambient.r *= 0.9f;
' D( [, y' [8 Q8 N% J+ u( r% g' l pLight->Ambient.g *= 0.9f;1 \1 G J- i3 J8 b$ [
pLight->Ambient.b *= 0.9f;
1 v$ m6 \1 ]( r6 @# g#endif //__YENV 8 a7 d$ v' `9 f: _
# F# O+ u9 ^' ^+ N/ \% J2 O' j memcpy( &m_light, pLight, sizeof( m_light ) );
* q7 F' t- g" o7 X2 Q- T) D ) _# L% a$ ~6 O! p& b4 e, ]
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
5 q4 C+ _( \6 \! R# r3 M P D3DXMATRIX matTemp;4 e1 ?7 g7 S' N! d+ F* p0 R: |
static const float CONS_VAL = 3.1415926f / 180.f;
4 V H& x: O/ @1 ^8 o* y8 P" F2 f- P7 z6 M
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);+ h. ]5 q3 l0 D; H/ P% g
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);. J6 l$ J/ z% U7 {: S
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 7 U: w r; p( c, b& }! K" Y0 A4 U
pLight->Appear( m_pd3dDevice, TRUE );
# V- D9 g' X% e- n6 Y6 i U" Y# V
; p7 @/ ^; L* m, r // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- F- T8 `3 M8 I6 q6 s* @+ }
// D3DXVec3Normalize(&(vecSun),&(vecSun));
6 ^$ k8 d9 W; z; a# q // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
2 l/ ^$ i7 ?" U# ~" p- w0 s; }- V- ^2 }" W$ k3 x
DWORD dwR, dwG, dwB;" Q1 V! ~2 z% G
dwR = (DWORD)( pLight->Ambient.r * 255 );% F$ H# i1 o; C1 z! h, T+ C
dwG = (DWORD)( pLight->Ambient.g * 255 );2 ]% E. f# ^; T; g
dwB = (DWORD)( pLight->Ambient.b * 255 );
' K9 h, |9 C) Q, d; q# L: U dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- X8 e, a. b! E4 l2 c }6 [! r* _+ h1 [3 i* c) S$ c7 j
}
! @( H* v9 s& e7 q' `& u! ^* \7 I
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );! `; H& k: J- _2 V, {
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) );
( L" D& m- D$ U' c ?" z ::SetLight( bLight );' e, V4 K5 _, V% q3 E, [
) |" V5 f6 ~" D/ T! P // ±ao? ?D?í???ó á¤à?
: p" J+ K$ r; d m_pd3dDevice->SetMaterial( &m_baseMaterial );6 n$ G7 [( y) C& M7 q( a7 \
3 q5 \5 _) }, Y' z/ P. \1 ?* y
#endif // not WORLDSERVER2 d: V$ ]( | d" ~% x' [: Z8 ?$ t
}
! Q6 `, }. x3 z" f+ ? m6 V7 C- k& U并更换, J7 [: ?2 `+ P- k/ E
Code: g- }. ]: V2 R8 s5 w, Y1 X$ E) v( s- @
__FLYFF_INITPAGE_EXT
. B/ C9 ^" C: T. j定义 `+ S0 u% d- _! S S
5 O; X9 v& Y4 |
$ O* f _% w9 e6 M- e4 X1 O% _+ u, d4 G3 E& u' z: K# b
8 f) E" ]6 ?" c/ j8 K
现在终于删除我的狗屁加速...4 o! x1 g8 ]- _% B& }+ _( [6 y
+ _( Q, ?8 f/ I4 D
3 k8 `& Z, T4 g6 h/ h+ R+ a
5 N% h; n, \0 P |
|