|
|
食品车:
8 W/ u7 j8 A' h尾翼:
# ^2 d6 S) ?* `# n9 {3 L5 N
! `% i$ C: z0 _; ~" _代码:( d4 g$ b/ P& @
CWndAutoFood::CWndAutoFood()
' z5 M: L5 y% U9 n{; s! V- C& O1 X- J3 P
m_pItemElem = NULL;5 E( _& i! z9 j& _
m_pTexture = NULL;! g- O' U J- J$ \) v2 o# X
bStart = FALSE; }3 i- _ Y0 ?- u. K
}
2 \* h# T' M( M Q5 `* i. l
. o8 l' |, y( P+ M$ }4 D0 _CWndAutoFood::~CWndAutoFood()6 r) C( ]# s, m! b L7 k
{/ L* A( n% [+ _ m
AfxMessageBox( "AutoFood ist gestorben " );
f+ J9 P- U6 c+ @}
+ o5 x# @% i9 z( _2 W& {BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )+ v2 N& e" r" m* @2 m+ X6 [
{+ n5 Y a: e+ U9 I7 n7 J( `
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );0 J' H& ?1 ^5 T) @' }; F
}# z& H! d: S8 U; u& s
. L y& y2 e; a5 t0 `BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
4 P- M! A1 K7 l{
2 e) V5 v2 B" q% i% R LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
& `% a( C$ K3 Y+ d- | CRect rect = pWndCtrl->rect;2 B9 m4 b" h% C1 j
if( rect && rect.PtInRect( point ) )3 r l& H' _& h7 W6 i4 \! D" }, o
{6 ?4 ~6 c9 F% I% |9 X
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );, ^% H7 A8 ]( w* ?# E. T- Y Q
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )$ V( `- {( Q5 J) f" m9 I
{
: w0 J% [ a0 f8 w5 g if( m_pItemElem ); o: ?: X% s, Y7 l5 d
{: Q: m3 R* L% y: E* H* l* A
m_pItemElem = NULL;+ ^) m2 D+ H( R0 I) t7 g; f
}* }3 ]. Y# ] z; v( k# ?
m_pItemElem = pItemElem;$ x; j" }7 ]& V9 Y) t* s2 t8 A, g {
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
5 g' i; o0 A/ V9 S }else{
& x; o% Q- D# E$ \1 M6 c1 j( Z& N+ ^, t SetForbid( TRUE );
4 B1 @0 f1 j7 H3 c+ m }3 T; p* r! `. I$ E8 ~8 \/ x- f
}else{+ ]0 G& s! x+ ]4 ^
SetForbid( TRUE );) \' a3 M) M+ ?3 U. b
}' W* b1 n# Q+ n
return TRUE;3 s6 S# @1 P, \
}
! c" j: m Q& d% I2 P& b
. W8 y! u4 K% B/ OBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )- V' W& o$ i& j( H, N
{
4 ^" T- D/ ~! }; G. b. l switch( nID )/ O0 y. Q/ c: Y; l
{
/ C+ `+ m% Z, M0 z2 H( j% v case WIDC_BUTTON3:
+ \! V+ Z) T0 B$ X5 p# y {
. X' J5 F) p( O5 I8 g4 U6 D bStart = TRUE;
+ y+ i& G% s, ^+ J3 I) N! e* I break;
1 [0 x) C- n3 X0 t/ | }2 e6 k5 I; p! \& Y2 p3 Q5 J
case WIDC_BUTTON4:* A; h0 Z, K& D! @3 a1 U
{
' y1 M3 [+ A8 i& ~5 l/ _ bStart = FALSE;( P! u1 A. r+ ?! S5 ?! s) f: a
break;
) S+ {2 o# p# x5 f. S$ n }
7 ^+ T( H5 t* c9 f9 @: E% ?9 W3 @ }
$ x2 z3 w" Y: H# ~: g7 g9 I return CWndNeuz::OnChildNotify( message, nID, pLResult );
* D2 V Z: @ p R' {+ w}
9 {/ S2 k' k+ R0 m0 E& Mvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )' f, Y! `, r; A7 |) @4 g4 a
{
! b2 p0 E5 T4 L5 c& k# Y5 @' J CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );2 _5 G" v% C. z/ h
if( bStart || !m_pItemElem )( f: Z. |6 M7 D% I2 p
{% j7 i' n- ]9 o/ P4 A
pBtn->EnableWindow( FALSE );
4 v- K7 G+ r& A& ^( H/ Z }else# z7 i: o1 o# D
pBtn->EnableWindow( TRUE );
( s* ~: t' y# x4 d; n4 L if( m_pTexture )
4 ?( y8 }- ^/ A3 V9 H1 J% y5 K& F/ W {2 f+ @) @, _* i: X" y! m
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
/ z k" q2 v8 e% ~ if( wndCtrl && wndCtrl->rect )
5 f9 T0 [% E$ h9 Q! g/ M0 | {
8 t% m& @0 X' M$ f! |' ^/ r2 Y5 M: c, ^0 G m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );4 ]% o1 v8 F1 ?! F. [, b3 `
}9 }2 d P0 l/ y# \
}
v3 B3 E; ]* v) P$ c6 ]. `4 W}, s* P O) M" ?3 C0 K) j- w
' e* F" P9 W, T% a$ c+ x+ iBOOL CWndAutoFood: rocess()2 T" _; P- }% u& D
{
$ [, G; t a2 y if( bStart )
- y2 c- j5 c* S( b0 X9 T$ S {& h& C( q5 {3 v& E) g8 O
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
! U" \4 g5 ^9 P2 F' o; S; |- H" l {4 O7 y- Z% X2 f3 y
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
, [2 X% m2 _( u/ M g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
! p9 p# R( K: U3 e, t }else{) l' L! u- k( }# o9 X. m* O+ L E& Z
bStart = FALSE;0 z& C! c# B. W* a) P; m. W P
m_pItemElem = NULL;
; g k$ {9 ^) e$ h, W( X5 s }2 w% e* p O \" M; ]5 p
}3 B* K: n- \9 D; p; u$ o& m
return TRUE;
8 d1 t( z: l J}7 z* D4 O- l, s, ?
9 {% l* J5 e5 h5 Y& F
登录视频废话:3 O3 k5 j6 {* V2 v9 |; X P
尾翼:' w% f4 J, i9 `2 k
# A+ W- I C5 t) T; m" v2 s& G代码:
( J6 h v$ i J' c7 M; E4 @1 p8 z) H7 r
void CWorld::SetLight( BOOL bLight )/ N |1 \( q1 V2 l& W
durch
1 Q1 J, N2 Q; C, l; y: l4 ECode:9 L& R/ z3 F4 t1 J; {9 Y7 Q9 k4 f
void CWorld::SetLight( BOOL bLight ): j" ~. H" W* F5 }% l3 @" A
{
7 A) j2 v8 l( h. c# D //ACE("SetLight %d \n", bLight);& m# h0 r, L+ P9 @, y
, C2 u$ |9 e; l7 L( }: T% y#ifndef __WORLDSERVER
: `* n+ N3 M% r DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);. w" S/ ^; n* q- \5 y6 _
CLight* pLight = NULL;
" a! m" w% F' Q% P* x! W- H- Z6 k, e* h" C& z: {$ y/ H
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );; f( y! X& O+ f. w# R
6 X. B8 F! K3 R+ O& @
pLight = GetLight( "direction" );- ?7 L3 {0 h# n M! D8 {6 z7 B: d
/ T) g2 P, S V/ ~" g#if __VER >= 15 // __BS_CHANGING_ENVIR x6 |' G5 i9 `4 R1 O) ` e; p1 r4 m
if( g_pPlayer ){
5 m1 o* j+ O6 R5 o- [* w8 ? ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
! e% P- H. G/ { @ if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
$ {% k" G( M. G# ~2 Y( H5 h8 H {7 [7 c$ z5 j6 z8 w
if( pLight )
8 V: h' ?) s C1 R- \" k4 k {( G1 u- [1 y$ e
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];+ I, _7 V9 b. G# ?: N6 P
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
6 |5 y8 }- P8 X6 P5 \+ \5 Q, M, A pLight->Ambient.b = pInfo->_fAmbient[ 2 ];" R5 M0 {( `5 f
/ P; {# V1 a( e3 B
pLight->Specular.r = 2.0f;
* y6 c; u R/ K2 f* t4 ~ pLight->Specular.g = 2.0f;
3 J3 x2 O" `/ p, V' g pLight->Specular.b = 2.0f;
: C4 F8 C8 _. U( e 1 T, h: X0 J; `; ^
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
3 r" d. ?# f' A- m V; Z pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ]; c; ~6 G# i( p& D0 j! a9 O- ^
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];- T2 L2 F- }; O+ h! l
# c# P! q2 I* Q" E% @0 ]
HookUpdateLight( pLight );
" W1 U) O5 g4 |. O. o* ^' p7 \) C
! f+ E$ d3 Q. A% N memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );0 N5 J' g! h' K4 P
_& h1 @& I: s5 `
pLight->Diffuse.r *= 1.2f;
( x t# E4 O# t5 L3 N; E6 t* z% T& l pLight->Diffuse.g *= 1.2f;- [/ S/ v2 d6 z8 d
pLight->Diffuse.b *= 1.2f;2 d E" R1 d& ^4 U$ S$ M
$ b8 X* v8 L* K: X9 K: J. _
pLight->Ambient.r *= 0.8f;/ J9 ]. ^/ }2 Y/ i" p6 y$ H
pLight->Ambient.g *= 0.8f;& r6 T0 t' D: B7 Y& R$ o+ ]/ j6 ^% v
pLight->Ambient.b *= 0.8f;
5 J: P8 q/ G J" F8 R% D5 e0 R: N . _7 }' \1 x5 v# u, D# O
memcpy( &m_light, pLight, sizeof( m_light ) );$ ^. G& J9 {5 s) ^/ N. {* j& Y
: P$ z j5 e& t- c, g D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
% G$ ~- a `$ ~! k) H D3DXVec3Normalize(&(vecSun),&(vecSun));) N/ Z5 O. Y8 {0 A4 P2 R
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); % I. t5 ~7 G1 G
pLight->Appear( m_pd3dDevice, TRUE ); {+ b, L! g: O/ b, n5 U- R* Y* Z
3 S! U$ a$ ~5 k; B
DWORD dwR, dwG, dwB;
. M5 Y/ R; p6 Y/ L; d dwR = (DWORD)( pLight->Ambient.r * 255 );/ b! l! o9 y+ |7 \6 F0 o, x3 E6 V! K
dwG = (DWORD)( pLight->Ambient.g * 255 );
9 F3 |( n' u- s& W4 u dwB = (DWORD)( pLight->Ambient.b * 255 );4 J5 \9 v3 _( i/ `! }8 K) t! _+ y
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );9 t. `4 I. F4 W2 t- w
}
2 F- S; {0 I b' b( ~. P }& ]2 M. W# r2 S: F" w
}- D9 P- T6 u- K7 y
else
& w1 m7 e$ B* v" r E5 K/ t7 O#endif 8 o7 p" x t9 F/ W
' N7 S8 `4 Q4 _9 f. z if( m_bIsIndoor )
3 [0 T3 r* o- W: @" m {' y; }. i! E# x
if( pLight )8 g/ j* L( e3 q2 z Y9 u, S
{
8 H8 R6 R% y4 B( e3 I* @ // à??μ oˉè* 2 {& K3 c: h: u3 G
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;. _" x; R0 u9 t9 B; u9 i
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;0 S% J; M+ [$ C6 E d
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
o5 G3 B C6 ~6 |! G8 h+ E5 e. t: K
// oˉè* ??à? - x- Q: U6 [* M: E& U; [
pLight->Specular.r = 1.0f;
`+ u \' b$ C pLight->Specular.g = 1.0f;0 _$ m8 I- b; ]! e
pLight->Specular.b = 1.0f;
: @$ A6 J8 f4 O: m" s6 F! F // àü?? oˉè* * F! F, e2 O- R7 j: l4 ~- Y& e; x3 X
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
+ h/ n* T; @/ a! Y( S5 l pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
7 X. q8 j+ q3 _ pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;$ ]; e% s6 b2 V
+ W! @0 [: G5 |. u
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
& H$ V6 s2 K" l i# Y, j {
u( X, A! {* U' r. H1 d0 [5 ]& r pLight->Diffuse.r *= 0.6f;' |; ^8 J" `7 U- o6 @
pLight->Diffuse.g *= 0.6f;* Q! k/ R) b6 O9 a# f3 b& Z
pLight->Diffuse.b *= 0.6f;3 z, u, I- N; [7 W1 w
pLight->Ambient.r *= 0.7f;3 p8 S: F ~! l
pLight->Ambient.g *= 0.7f;8 W2 ~8 A& f' s
pLight->Ambient.b *= 0.7f;" }+ l. Y5 Z! k
}. [2 O% Z2 c W' [3 a+ y8 n: ?
8 |* n6 D* O( g1 {
#if __VER >= 15 // __BS_CHANGING_ENVIR9 r: K: V7 M4 w) {7 p: n
if( g_pPlayer )
% y/ p. D& t9 I# t$ n3 M: Y HookUpdateLight( pLight );# ^- {. f) g, C, u$ P
#endif* t5 z9 ]% u: N' H* p
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );8 ?) D: x; ?6 H" E; n
4 {2 |2 i7 S3 O% ^/ T
pLight->Diffuse.r += 0.1f;
) P: b- X5 W( i, a* ^! F pLight->Diffuse.g += 0.1f;, {$ D1 t/ A+ F" x4 B2 A! G
pLight->Diffuse.b += 0.1f;$ z8 S. ?& F/ J' Y8 v7 H
// oˉè* ??à?
9 d" g/ x2 _. V1 n pLight->Specular.r = 2.0f;/ k$ d( i2 H. m# K6 i0 B
pLight->Specular.g = 2.0f;
; W' T* V8 _4 \: E' @ pLight->Specular.b = 2.0f;
! P. V, y& W* |/ _0 [. L // á?oˉ
, F8 j7 Z! q$ c' c) h0 L5 g pLight->Ambient.r *= 0.9f;6 s* K" [7 r; ?/ Z$ Q. m
pLight->Ambient.g *= 0.9f;
4 K" C1 ~ ]' ]% _9 t- }2 O pLight->Ambient.b *= 0.9f;- N# Q6 K# ?! n# @1 z. v
! ^! @) O, r; Z6 r& [! R% W: K
memcpy( &m_light, pLight, sizeof( m_light ) );
9 |9 c2 o' k0 Q 4 A/ S9 q! Y& h- C i
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );$ E" m* o- s* U% w* @
pLight->Appear( m_pd3dDevice, TRUE );* d5 T) V- B5 ~. m ]6 N l' i
, x; \# c0 t/ K- k" [5 X$ a; ] DWORD dwR, dwG, dwB;
: U/ _. n' j0 m; }9 O dwR = (DWORD)( pLight->Ambient.r * 255 );
3 h J$ W% M( p1 z# L; T7 |" } dwG = (DWORD)( pLight->Ambient.g * 255 );
( _. ]6 b" h" c Q) f dwB = (DWORD)( pLight->Ambient.b * 255 );
) o) b7 J; h7 ^% B: R dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );% h9 |" T6 O3 ]
}
$ j0 j+ A8 L* O% X }: W! z# Y# h( A
else
7 K& n7 G- O, c) K0 l% O& I$ I- i {: {. P$ U* X2 W6 {$ B7 S) y
if( pLight )2 _' H: O3 i' Y2 o
{
) w$ H5 G/ z0 f' @# r% d" u
, ^" l* Q/ G8 T" a2 Z* P. ~ int nHour = 8, nMin = 0;
" X: C g" n: t0 E #ifdef __CLIENT$ I! z1 t4 m& K' w
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
" f7 T8 Q- B3 h$ q nHour = g_GameTimer.m_nHour;
7 f' i4 }( a) a9 i! {# t: { nMin = g_GameTimer.m_nMin ;" o7 K# O* s% d# e, T" f
#else
) g3 @* _ Z' a: B9 m3 W3 p // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.& \# s" g; u( C) y/ s
if( m_nLightType == 1 )
# m4 ^6 c3 X0 I nHour = m_nLightHour;. c! M$ i, v" L% y0 d
#endif
( P1 t4 ^" o# N; n( ` nHour--;8 s. a) L& t! d+ \/ D( h
if( nHour < 0 ) nHour = 0;8 @& |7 G/ _# @3 A M
if( nHour > 23 ) nHour = 23;, z7 K7 x4 a- N
/ b) B9 G4 e+ c) X( @
//if( m_bFixedHour )1 u5 Q# c, `$ i" W7 F, b
// nHour = m_nFixedHour, nMin = 0;8 e' G+ i3 E1 m% V3 b9 c( Z
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
) e: a x7 S0 j LIGHTCOLOR lightColor = m_k24Light[ nHour ];
, ?6 s$ B, C$ {) y# R5 D) n0 k" c/ }* P' T$ B5 g0 {/ H. i8 ?1 `
//m_lightColor = lightColorPrv;" z/ z. b' |" Y) ~5 p
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
5 f* b* V* l; `$ p. A% Q( Z* _ lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
, Z( S; F' O0 d2 o6 y) C/ Y. T& V lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
$ |7 @; a9 D! {7 M2 a lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
3 l! ?+ p7 D# w+ Y5 C4 z; P8 I lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;" X7 g! h7 B8 l- W( J4 I! A( K8 r8 J Q
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
6 e0 `) F/ U" v1 c1 r2 H5 ^ // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)8 q, g, K( }/ q- k
! q8 r K% b; @' a
// à??μ oˉè*
0 Y$ [+ D0 C9 E9 i0 g pLight->Diffuse.r = lightColorPrv.r1;2 D- z: L" j- u
pLight->Diffuse.g = lightColorPrv.g1;
; |3 T0 U1 U3 a pLight->Diffuse.b = lightColorPrv.b1;8 R8 B+ B2 u* v! g5 v$ n8 U3 d
// oˉè* ??à?
T9 E( q3 b* e9 k pLight->Specular.r = 1.0f;
+ n4 _& p( W% y) x! p0 L pLight->Specular.g = 1.0f;
* v$ L g3 w4 W: Q& X0 m+ B pLight->Specular.b = 1.0f;
2 m/ S! A# \7 Y2 T& P4 s // àü?? oˉè*
5 X* O0 E' h- s8 C pLight->Ambient.r = lightColorPrv.r2;5 a7 {+ }5 Q- ?' ]+ r: W
pLight->Ambient.g = lightColorPrv.g2;
, Y9 ?. Z1 s, A/ j k pLight->Ambient.b = lightColorPrv.b2;
, c. o/ d! W. w* A& y! U, T3 v- D: G( {
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.% M2 U9 w4 X- Z0 f3 x* i" |0 A) F5 c
{* O* K$ V7 M% x% m1 D7 R
pLight->Diffuse.r *= 0.6f;% |8 u0 o) @) W! P4 c
pLight->Diffuse.g *= 0.6f;
3 m, |$ E+ V# t: t# h, n8 G4 i% G5 ]8 g pLight->Diffuse.b *= 0.6f;7 ~, \- f) a0 A
pLight->Ambient.r *= 0.7f;
9 {& ]) m, l G pLight->Ambient.g *= 0.7f;, H [/ o4 ]: s p% q! x6 h& m
pLight->Ambient.b *= 0.7f;) P, d+ K& y6 i: r$ P7 z0 p$ H& B
}
8 M S7 p _6 @( i6 p6 `2 j( M+ u , d* @$ [* Q; F7 m; O' Z" ]
#if __VER >= 15 // __BS_CHANGING_ENVIR, m; m& U9 e2 y+ F. n' L
if( g_pPlayer )
2 j1 A; |$ ~ V. ] ]7 A& y HookUpdateLight( pLight ); 6 W2 h" Z; V6 t( W/ o( E4 Q
#endif4 i' F* r! T! m* |" W
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );4 Q, Y; C. A0 S0 I- F
' n6 X* L& L* i N( X t
#ifdef __YENV) y8 A6 H$ v! N; i
pLight->Diffuse.r *= 1.1f;
3 Z' \# N3 t) _& H% u0 E5 M pLight->Diffuse.g *= 1.1f;
: v9 y. c- Z( f/ E: B pLight->Diffuse.b *= 1.1f;& |2 S4 Q$ O0 W1 {- G$ @
// oˉè* ??à?
& a6 }& k8 M! X pLight->Specular.r = 2.0f;
+ ^& k. C" h4 h! d pLight->Specular.g = 2.0f;% P2 U* l$ ^3 m6 [* h( A: f
pLight->Specular.b = 2.0f;
6 J8 b" c6 c+ i1 {- _6 l- R. x0 ` // á?oˉ 7 D* j; O( j4 ?2 ~$ M
pLight->Ambient.r *= 1.0f;, D! K7 w+ O3 Y4 x
pLight->Ambient.g *= 1.0f;# L9 x, O* { @6 W) }# F) ?
pLight->Ambient.b *= 1.0f;& n$ C9 n) W, o/ n
#else //__YENV4 F1 V0 O2 {) |9 P
pLight->Diffuse.r *= 1.1f;" }3 j% v- O5 h- ^% c
pLight->Diffuse.g *= 1.1f;
/ G+ J5 [7 ] e& p pLight->Diffuse.b *= 1.1f;7 H4 X4 T4 `' p1 J3 p+ W
// oˉè* ??à? * u. L4 k$ D6 _7 w/ r2 T
pLight->Specular.r = 2.0f;
2 q( \8 k0 Q& D) r; j) @ pLight->Specular.g = 2.0f;
9 a# ~8 J* `$ B; E: m pLight->Specular.b = 2.0f;. t& X8 f. W2 V, X* Z
// á?oˉ
% P, L& E! [3 ]7 p1 v; Q pLight->Ambient.r *= 0.9f;. [% k/ `3 v: W9 f. r( M8 M
pLight->Ambient.g *= 0.9f;3 o1 L% b* s$ A3 R b8 N
pLight->Ambient.b *= 0.9f;$ b* | w9 n i
#endif //__YENV , {& _0 ], K& Q' ^& q0 C2 M
3 i# w: ? x0 Y, V; f) O
memcpy( &m_light, pLight, sizeof( m_light ) );
5 x$ P* Z& y8 B8 c 7 \! @9 ~9 |$ @+ x
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);3 |) f) k$ o: J% Y! F; Q( D
D3DXMATRIX matTemp;( l, Q% {& Q$ ]
static const float CONS_VAL = 3.1415926f / 180.f;" ~6 Q& g6 j5 e" x
6 _" v0 m5 H; ]: K7 t: \: D D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);5 |( l' e0 ~6 |! c0 K7 M9 M& K1 a0 ~
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
( j$ S* @4 _ W% f5 u pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); / m w4 M3 O: c5 q
pLight->Appear( m_pd3dDevice, TRUE );0 _4 m1 A0 y1 ^0 D4 y: a6 z% Q Q
l6 ^2 h- o& k+ K // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);& n0 j Q; }- `& \& v4 X
// D3DXVec3Normalize(&(vecSun),&(vecSun));
. y9 S5 g4 l U: M // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); # U( n, y; i% S. h4 }: v
0 E4 q8 S: w( y3 r DWORD dwR, dwG, dwB;+ q, s: u& ]4 v9 B
dwR = (DWORD)( pLight->Ambient.r * 255 );7 L, u/ X Q/ i/ l O; G8 D
dwG = (DWORD)( pLight->Ambient.g * 255 );
2 t7 j4 q- f; S# Q `/ m- G dwB = (DWORD)( pLight->Ambient.b * 255 );8 R, O6 A9 z- z2 j e! M2 m
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); / m1 o9 b8 g/ d/ b2 s2 j
}
0 n6 d' q5 i' O3 L }
4 ]0 g, Z0 u* w* M3 P5 w* }* O( L1 M; g
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
7 y h& @' {5 t; Y( W+ o 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) );) I' C$ m0 g3 [0 X- N( ^/ n4 b
::SetLight( bLight );# `' i- t: S7 A+ s* C
- T! C" I, G3 \4 Q
// ±ao? ?D?í???ó á¤à?
( C8 ^; U( Y1 ~0 e m_pd3dDevice->SetMaterial( &m_baseMaterial );
4 O; d0 q% d$ \7 I- U6 ~5 ? 2 d3 B9 \4 E5 h7 g7 v' c
#endif // not WORLDSERVER
0 n; s5 L, u2 R: K}& N6 D; {. S0 ?' u! v o" w
并更换+ e5 ?) `" ]: |, a6 R4 o( \
Code:' k7 i0 z. p7 U* T1 s
__FLYFF_INITPAGE_EXT9 j- l5 P/ y9 y- h& g( d
定义4 ?$ y' D$ k U$ [7 h2 |3 n+ P
/ q Y+ d8 \) n( d" G7 o1 ]. @3 E
) w7 y( k5 z' H, p& y
/ ?1 u) v% L; \7 J# o6 P. e$ m' Z7 v
& p- _' `" U2 H
现在终于删除我的狗屁加速...: C+ [. X* Y/ J4 P
- {( e/ W- m" }* m2 M+ w# ]) `7 y0 M1 O: y5 H5 y
/ d+ Z/ G. Y0 \/ l" O$ d
|
|