|
|
食品车:
3 L) Z7 ^; y5 y1 @" v4 L4 T尾翼:9 j- O* ~7 {1 @7 z" n B" E1 B
! @7 m& B5 D" w0 J- Y5 ~代码:
1 L9 B! f6 v' ~6 p! {, D0 a4 eCWndAutoFood::CWndAutoFood()
) g, ~- y6 l2 Q{4 R4 ]4 ^2 R \$ q
m_pItemElem = NULL;
A. K/ P R* X( `8 ?, Q m_pTexture = NULL;
5 S) E, c; O6 y2 T bStart = FALSE;& \' R8 g( G. k* L4 W8 X' k, [
}/ C: W3 q% W, W, I3 _
/ d5 j+ ~* d- e: l! {
CWndAutoFood::~CWndAutoFood()# E5 y4 Q5 p6 I
{
E7 w) H% I- i& o. I$ [ AfxMessageBox( "AutoFood ist gestorben " );
1 J8 Q" }- f1 i} U9 P; o: v0 c6 b& ]
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )& [+ N2 L5 |/ }
{
$ M( u5 v3 [: S% h% o" {4 } return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );; W4 U% m1 j# K Q( }
}" v4 m& `' q3 I8 ?; [3 O
9 p/ {& y# Y6 h0 ~0 i1 h) `# P3 Y% a3 w
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )9 T& x7 h o0 Z9 c y
{% [ D' V9 {3 A- D5 `
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );$ Z# W4 V/ y* W2 ?) P0 A& I
CRect rect = pWndCtrl->rect;4 x" N+ i# C) t; a+ f$ k/ [
if( rect && rect.PtInRect( point ) )
4 M6 V2 y( i! \, U {0 h$ N6 K. D1 `2 w& c
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );) z4 C1 b j4 H |* G/ g
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )( h; H; B6 i+ d" s' g+ A! ?" j, [
{3 I) p) W, m- r6 c* @
if( m_pItemElem )
6 Y1 \* A$ r$ N" ~ {7 S/ V) [0 F p1 }# P
m_pItemElem = NULL;" C1 w6 a0 i4 M, G
}- k$ y5 I- L0 k9 [' z% w9 |2 D( ~$ Z9 v
m_pItemElem = pItemElem;1 x3 n4 U/ r: d7 r9 F/ _
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
% r a- Y. V! r- W& O }else{3 c5 z! U' T. v% B
SetForbid( TRUE );
: ]/ {. |( t2 a" T; H6 N }
) [5 B+ ^( j) B5 ?" Q6 C }else{( k0 {( ~: ]1 B" J& I( |/ {2 `
SetForbid( TRUE );
/ L' ?6 a( b8 @' t+ A }
; Z0 E4 V3 g0 E1 a7 ?7 Z* s4 s return TRUE;
' G1 m6 v3 J! B3 M$ ~}
' W: N4 {2 k' A2 p: u. A9 `" P- H$ y$ l* K% Q
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
- P* O* V) ~; \# v. ?{
5 [5 h+ H+ h# }$ z0 D! U- e switch( nID )
& z* M) j) P9 `/ J. X8 Q {
, I! D [* X; h7 U9 ` case WIDC_BUTTON3:
@7 o8 l. h0 F {. u9 X5 I. s( t$ |5 v
bStart = TRUE;( b. j* ?# X9 l. @1 _; X2 s) D: ]
break;1 G' K3 e( K1 d( Q! p# c
}
' g$ W1 v/ Q' _+ b" J case WIDC_BUTTON4:& s- d5 C2 \6 t& e) W6 `. R% w% O8 H
{& Y/ L0 V" `: k1 A- o
bStart = FALSE;
! G8 q8 z9 J9 m break;, e4 K7 s6 k" ~ U0 S5 u0 X
}
, l0 w7 @& X* n' D% q }4 u$ R$ S3 q y8 Q; a: C9 N
return CWndNeuz::OnChildNotify( message, nID, pLResult );( M1 }" ]# x8 b! ~' \
}
8 A) H) W" T7 d4 Z; h" O7 Bvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
' }% B7 ~4 Z& K% Q5 g \) k# e$ M{+ ?: K* ~3 m; \" ?" O8 \
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );. X8 A9 {1 j( c. v
if( bStart || !m_pItemElem )% f$ g f8 T% |! g M# n8 _
{
; e% t: {/ S* S3 X8 |4 g+ D pBtn->EnableWindow( FALSE );4 o5 H$ \* |4 t1 v4 M6 S) L
}else
Y* s" k4 o( d! }9 N: Q- Y pBtn->EnableWindow( TRUE ); S4 E, r [! N" W( _; T9 S$ i
if( m_pTexture )
; |8 y) `6 q% L$ |7 ^& z$ B {
T6 G3 ~8 d4 z/ ^' s2 l& C; W LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );- I" ?1 n3 Y, }. h& {: k
if( wndCtrl && wndCtrl->rect )! r/ V+ c3 y& w" ` v! t
{/ D9 {1 P/ w' ?8 b: Q
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );8 s: J1 J0 A+ N' j7 g
}7 q \# q/ ~ z: {; m' i7 r [' {
}
0 t- w+ E/ I3 ?: T8 b( B y+ I}5 v6 u, v4 c+ j
8 j3 @1 H' t9 F3 e
BOOL CWndAutoFood: rocess()2 g5 S) U6 `6 i5 s
{0 l% B& u8 {" l: {* p
if( bStart )
' |9 p. ` U" \( n {
; D1 ^( K* c6 }0 e1 X2 O" ? if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
; I5 J/ b" X, a+ X; T3 u% p1 \ {
2 O% \- T9 s) x3 y+ g: [7 o if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
# J. i+ V r2 m2 X6 c0 s9 C g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
9 f2 S8 Y% Y9 m% \$ \ }else{
9 m- ]" o7 [; Z4 S+ u bStart = FALSE;6 P: Y7 Y1 T4 o" J$ Y o8 U: j
m_pItemElem = NULL;6 [. L& Q! H! O. M% k) ^$ d- V' c
}
' n; `# t, E6 L3 t }8 L# Z3 B" y( @, E2 P
return TRUE;
; F# N" w2 W. [1 D1 a9 j2 @6 }8 U}
4 \& z) _ S8 Z& Z* w; u: g6 O
}+ y) K6 l" R3 `8 h8 V登录视频废话:
( ]/ ^" W, @8 c5 U4 D尾翼:
7 Z, c5 U2 n# R" D
% ]- v. h/ A( k$ [代码:3 Q6 L' T: ~* l+ V$ L* F( d0 @! }, U
; _. J' b; B; f# j9 y
void CWorld::SetLight( BOOL bLight )$ ^) B1 J7 R! Z
durch! p+ [1 F# n. s
Code:
Q8 U5 ^0 D1 I8 D6 Vvoid CWorld::SetLight( BOOL bLight )3 L+ Q# g9 N8 Z6 z* z# u$ F/ U
{
8 E7 c0 i& {5 M& z* E9 d4 O //ACE("SetLight %d \n", bLight);
3 Y0 @/ L# A; Z( r. E4 i
+ Y2 b* f" q) h, x' T#ifndef __WORLDSERVER ! K& R6 l% n2 j# b R
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
% w8 F" S! K; E- S CLight* pLight = NULL;# G% H+ M" t# Z
) h; s; I( n w0 ]: [7 j- I# w D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );# t% w4 Z! H% l' k; v, C* E
' h& g. U$ S+ F/ M+ e# \; T
pLight = GetLight( "direction" );
( m5 n( [2 c8 ~4 c
! c( F. t- r- s0 P* T#if __VER >= 15 // __BS_CHANGING_ENVIR2 A. H1 q$ {+ {2 L2 {+ ]
if( g_pPlayer ){+ u u5 H6 v9 B( t9 ?$ \6 ]; |
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );4 X' g4 Y! T2 {/ c# n
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!1 G% P* f1 C% I6 N
{
Z$ w) F" L2 }" p) B" g& C) K8 C if( pLight )
, `, @* ^9 _7 M {: v3 }2 u' z, W( |% v
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
3 I: m F1 ^- V: r3 r/ ^ pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
# t+ w: b$ @% ?" ` pLight->Ambient.b = pInfo->_fAmbient[ 2 ];6 M$ ? X% w& r" ]3 S4 y
Q: H. q% T n; w pLight->Specular.r = 2.0f;
9 c% m' _; Z0 {% Z( S$ R pLight->Specular.g = 2.0f;- Q+ u' w3 v! n! F# g
pLight->Specular.b = 2.0f;, `1 o+ ^$ a+ ]4 j
# H6 `4 D$ i% g9 H% }: h pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
4 N; z( V: x# W pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
: X b* _; ?% \( Y pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
9 x$ F# k% O* @ o $ @/ T+ H* \$ J9 q- X& A
HookUpdateLight( pLight ); / m7 v }7 \; N+ R9 @% d
2 p9 b& o. R; [- g4 t2 a
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. j) \% l1 }% G* |. B1 A
5 |0 N2 m6 ~" \$ z4 U( L pLight->Diffuse.r *= 1.2f;9 u- w3 C3 B) r0 G% F, ?5 x w
pLight->Diffuse.g *= 1.2f;$ ]3 ^( _$ L- r* S* ], O& u
pLight->Diffuse.b *= 1.2f;+ G3 v/ G6 V; [! ]
; G9 E. W6 H" M: x4 m
pLight->Ambient.r *= 0.8f;
- Q4 t( ?# _3 C5 v pLight->Ambient.g *= 0.8f;+ K a3 X# o8 O. u3 h9 _+ \
pLight->Ambient.b *= 0.8f;* M" @3 V# n7 s7 Z, o* ]" V4 a
: B* m& K z* v
memcpy( &m_light, pLight, sizeof( m_light ) );
& m# F8 L( r6 b0 q& _6 w3 P0 E! o/ z4 F7 s! n. Z7 y5 b
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);! T L: H4 \/ j% O
D3DXVec3Normalize(&(vecSun),&(vecSun));
- N" l! _$ Z+ y& x, } pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
- Q6 }1 j/ d0 Y1 p# [1 a4 T pLight->Appear( m_pd3dDevice, TRUE );
# z: J: `2 S3 _4 Q6 I' c, |
5 a, q* ]: |) C: Z3 U* v0 y, C DWORD dwR, dwG, dwB;
g7 G$ |7 h1 R2 F dwR = (DWORD)( pLight->Ambient.r * 255 );) b( ~/ G! n" d+ `' p
dwG = (DWORD)( pLight->Ambient.g * 255 );
+ J2 v! y9 I, ?# ^% k t, x dwB = (DWORD)( pLight->Ambient.b * 255 );
0 z$ J% ]4 m5 \1 O0 j dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );2 T1 X3 S* l- i K; ?* ~7 q* G* M' A
}
8 a" Y7 T2 V- A' d2 @0 D" q/ y }
( _& d. ?5 R8 I }
! N) y, r2 d* k( b3 ?: { else& e- B" `. g* y4 Q0 F* e( S
#endif
8 ~) w6 [0 R/ _4 n) f1 Y
3 E: \; y3 J/ q8 q if( m_bIsIndoor )2 g$ J" n- x0 c% a) W" b: _1 y8 S3 c
{
$ y8 D" ~( `2 t1 o if( pLight )/ M0 P. H: S2 m* |8 @, {
{ 6 o9 c4 g3 I) B, W9 K5 j8 ^
// à??μ oˉè* , {0 G! {6 f8 l2 P9 }0 e i6 N
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;: C2 Z) q0 k( |) w0 z0 [6 M
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;4 m- u# c8 |$ e* X3 H2 W/ [
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;' E2 ^7 ]# f% R
# e' [+ g$ Y" S+ S // oˉè* ??à?
$ c3 z( B, X" a7 W. l+ t pLight->Specular.r = 1.0f;
- {7 K& M" E2 Y4 H$ h6 M5 X! _" N pLight->Specular.g = 1.0f;
/ z( ?: c+ y7 \! N( p' I2 } pLight->Specular.b = 1.0f;" v+ T* s o8 y
// àü?? oˉè* ! Q K9 |! c6 G
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
6 G! I6 {9 ^0 X# p& y9 j5 P pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
/ W( A1 `) U( C# x pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
1 N3 O+ M/ B9 Y8 I- Y$ H9 r2 Q, p7 s" ~+ S
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.0 F; s$ Z' o2 s! n6 S \6 D
{) y5 Z' L& k4 |# M
pLight->Diffuse.r *= 0.6f;
- W) n+ I+ ~1 v/ t$ ^ pLight->Diffuse.g *= 0.6f;1 G9 S) i" X1 R5 E6 p! D
pLight->Diffuse.b *= 0.6f;% O9 T0 G9 H3 j$ `9 |( d
pLight->Ambient.r *= 0.7f;
2 w9 D9 |6 v5 l8 c8 j) ] pLight->Ambient.g *= 0.7f;
7 v% P% t. N$ @* F* N2 N- @2 Y2 z pLight->Ambient.b *= 0.7f;2 [9 N, K, T- x+ E2 t. x9 \
}& @. [ W. q* u& q# l
2 z( {3 d9 g8 `+ S
#if __VER >= 15 // __BS_CHANGING_ENVIR% g: V: Y. { I
if( g_pPlayer )
' P) ~1 {- F3 u8 O) r HookUpdateLight( pLight );) I/ y. l; t0 R. N' i! M L
#endif J2 U% D6 i* p) M" y9 r( I( R
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
3 X1 l- E9 o7 _2 f
8 Z' i+ M* H& I1 g pLight->Diffuse.r += 0.1f;
# ?: z1 ^, N% j' S pLight->Diffuse.g += 0.1f;7 y) e% S. l; V
pLight->Diffuse.b += 0.1f;
7 y1 S& [! G) T# G' d // oˉè* ??à?
% h) V" v3 l5 F# y- x4 M pLight->Specular.r = 2.0f;
3 Z8 N1 X) z2 m" ?5 j3 s3 M' W, u- @ pLight->Specular.g = 2.0f;
( N; x3 F, a: X pLight->Specular.b = 2.0f;
0 E& v% v) {% z- n/ T5 N* @ // á?oˉ ) u% s; D+ C; j J: [" c! A3 t
pLight->Ambient.r *= 0.9f;8 p+ j# x( D# }! A6 z" ]" j% w
pLight->Ambient.g *= 0.9f;
8 [' G0 Z2 ^: I+ O/ L" A( \, ^' s pLight->Ambient.b *= 0.9f;
- |) @" J* ~! I1 q9 @$ ~+ g! V
memcpy( &m_light, pLight, sizeof( m_light ) );6 R% t0 b9 T& l
* i W2 a4 |% N, f
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );& o2 @1 ]) v/ z9 g+ e
pLight->Appear( m_pd3dDevice, TRUE );4 ^, ]& H# n0 t) f9 |
6 J; m) D5 i2 `' _ DWORD dwR, dwG, dwB;( G1 ~; g4 i+ D" e9 D8 C
dwR = (DWORD)( pLight->Ambient.r * 255 );0 y" S( H/ I' ]
dwG = (DWORD)( pLight->Ambient.g * 255 );: c4 P) \; ^, Z4 j
dwB = (DWORD)( pLight->Ambient.b * 255 );
" f+ ?2 B9 b; M2 x; y dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );2 z/ k" ~+ C; R0 N6 l ~8 M( T8 L
}
1 a* C% f4 O- N1 f" G# R5 o }
/ x! P$ n1 g e else% H& U, o) F* W
{
3 n2 \- [. g# a2 [4 G; m0 ~ if( pLight )
# o* O6 F( w6 [2 r* v$ F {
/ U- i! E1 G; L9 r( u( d
4 {+ u) t' R, t N5 ` int nHour = 8, nMin = 0;
! Z5 Z# ~ a1 g! m8 K# A& F #ifdef __CLIENT! L& b. X1 }5 q* q
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 2 m2 h# H0 H4 Y
nHour = g_GameTimer.m_nHour;
( R1 K1 C7 n8 m9 f# j- t nMin = g_GameTimer.m_nMin ;
6 Y/ L( w& s! e8 `) d. V #else5 v6 y( q% \7 s* B; o; L
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
6 l, B1 i6 q' D7 |4 Q% v# v% h) K if( m_nLightType == 1 )" h) a7 ], B4 U* d6 o) ~
nHour = m_nLightHour;
5 F5 z2 m1 X7 o. W: u #endif
" O4 l: W/ a6 v; v L9 O! X, D# @* @ nHour--;, @% w9 G- k7 f8 J3 n" K# S; I3 F
if( nHour < 0 ) nHour = 0;- N7 y. U3 b9 D* E+ |
if( nHour > 23 ) nHour = 23;
$ K1 ^% f5 p2 p; l" _+ w- u6 {+ u9 T$ x+ k& q! e8 o) \: B# S+ b
//if( m_bFixedHour )
/ {, a; A* d" V' ?, R& I3 V // nHour = m_nFixedHour, nMin = 0;8 J2 _( x t6 d0 c$ [5 D/ S
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
" n- M7 u% ~ ]3 R, y# O Q LIGHTCOLOR lightColor = m_k24Light[ nHour ];6 }9 f' z$ L2 }# H) F* L
% `* M: b! n; E8 B6 T! a //m_lightColor = lightColorPrv;) u4 I, l& B; M
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;( K1 W- M- G3 o( M4 N0 `
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
# |: \0 g8 F, ~, i2 B lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;; `3 V. M: w1 O- X
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;+ H8 @2 ?# x0 d1 Q2 T
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;1 }. @# Q1 @1 n8 ^+ r) L
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;# \6 X, ~: s( m, V( @
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)( D3 k' G% T- k# j* {
5 |9 v+ b7 E! C
// à??μ oˉè* ! I' A- p3 t: M2 p0 S. f+ l( j
pLight->Diffuse.r = lightColorPrv.r1;3 T& H( H7 ?) g. r4 b l
pLight->Diffuse.g = lightColorPrv.g1;, `1 |# J7 v8 P( V# U/ ] k
pLight->Diffuse.b = lightColorPrv.b1;5 K, ?# o" G& ~$ W
// oˉè* ??à? # E* t2 `. I) h( R8 v
pLight->Specular.r = 1.0f;
' n8 [* e5 G e; ?, E/ e1 P pLight->Specular.g = 1.0f;
. i0 e7 @' k! a0 J* {) z# @* [ pLight->Specular.b = 1.0f;# W+ }+ `3 t* O
// àü?? oˉè* , @/ t3 ~ U# O; H
pLight->Ambient.r = lightColorPrv.r2;
6 @! t& h% g+ q( p& V pLight->Ambient.g = lightColorPrv.g2;
5 s) i' I, g2 ]# ~: m2 r* Y pLight->Ambient.b = lightColorPrv.b2;# }7 k7 j4 ^ a z, c0 s
% i$ l% o4 X+ {: g% ?4 g( W
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.0 d3 D: y$ m3 K* c* q
{
2 G, Z8 e! U8 @; c pLight->Diffuse.r *= 0.6f;
- a5 ~- ^# d, Y pLight->Diffuse.g *= 0.6f;
( I! S5 s, M& Y: G pLight->Diffuse.b *= 0.6f;
8 O+ ~. ~! z3 }" K+ |& D pLight->Ambient.r *= 0.7f;3 A# ^) _4 @2 F
pLight->Ambient.g *= 0.7f;
; Q, z/ p0 h+ `% R pLight->Ambient.b *= 0.7f;% j* c" n( ^6 `. ~( h, V
}( y9 t y0 n% V* E
9 ^0 L! q* k" B#if __VER >= 15 // __BS_CHANGING_ENVIR. i4 n% C$ a6 H& z6 { e( F/ h
if( g_pPlayer )
( W! E$ p8 Q; W/ P% ]$ V% Y' x HookUpdateLight( pLight );
+ t+ r$ k" D1 ^$ a+ @ J4 P#endif+ u8 C1 m, P8 u F' W$ L& Q- F
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );, o, W. O8 r& g& u/ R& Q3 [% j
+ p8 H* I3 H7 n
#ifdef __YENV
9 O& N' q- P. N$ h. o pLight->Diffuse.r *= 1.1f;8 a5 L$ S2 l0 ]0 a7 @. B
pLight->Diffuse.g *= 1.1f;
/ c7 V: G- Y: H6 e/ b) [8 s pLight->Diffuse.b *= 1.1f;5 x8 J O( U9 Y/ Y
// oˉè* ??à?
; ]# }! I" p; A' X) ]1 R2 c0 B pLight->Specular.r = 2.0f;
8 W# p" J9 J, i1 h$ T% X pLight->Specular.g = 2.0f;( I% z. d6 v. E' u5 R6 o' s2 B
pLight->Specular.b = 2.0f;7 F7 B9 O0 a3 `
// á?oˉ
* h1 y" }/ D7 F: v3 W* ~ pLight->Ambient.r *= 1.0f;
6 W$ a) j' }7 y! [ pLight->Ambient.g *= 1.0f;
- a5 R" f+ g4 R$ d, o pLight->Ambient.b *= 1.0f;, g4 }( _8 h' Y( E( {' t, N- L
#else //__YENV
& {% h/ f# S) d9 W4 E* i# r pLight->Diffuse.r *= 1.1f;
/ X5 A( u- ~# P( q0 U pLight->Diffuse.g *= 1.1f;9 C' \$ y* e' x5 K
pLight->Diffuse.b *= 1.1f;
7 Z$ s, F; A( e3 ?) V1 L // oˉè* ??à?
- S7 t; C6 c6 A; ]' m pLight->Specular.r = 2.0f;
2 E( i/ D5 ?% C pLight->Specular.g = 2.0f;3 w8 B8 D( D* [
pLight->Specular.b = 2.0f;6 F2 ^. {* l0 ?( b* G
// á?oˉ
$ G$ j0 S& r* } pLight->Ambient.r *= 0.9f;
1 j" b! Q9 T, F/ P9 X4 v- I pLight->Ambient.g *= 0.9f;
8 W0 f t- j% X' @, ~ pLight->Ambient.b *= 0.9f;% k* @, @% P/ T b( Q* U
#endif //__YENV
0 P+ v7 W& a8 X8 W
! s3 K* G% K1 p e memcpy( &m_light, pLight, sizeof( m_light ) );
+ q& I7 n8 H0 J/ {' R $ u* o; A# O" L' X9 ?" S
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);1 [2 o1 p# s8 a4 ~7 n8 _4 Z* h* c
D3DXMATRIX matTemp;
% e% ^8 f: k; z3 r. i static const float CONS_VAL = 3.1415926f / 180.f; p9 G' u- s8 M& U& F
' ^( O/ \* m+ S D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);8 p7 s& _( K" A/ g: w1 {; R
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
5 s2 H ^9 ?8 P2 e" T$ G" J7 a pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
0 t' g1 J( u3 K. \/ c" G pLight->Appear( m_pd3dDevice, TRUE );) h- I) z& o' N; b' D' r' h
- t( G) K6 H6 C' y3 f7 Q; l+ n9 m
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);6 f Z0 T# _6 m) J( B% w2 u5 d
// D3DXVec3Normalize(&(vecSun),&(vecSun));5 v+ \* Z# U& s+ L
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
/ u6 t0 Z3 s$ T8 ]) m0 c3 |9 K
) M1 U( ?0 Q9 s) N DWORD dwR, dwG, dwB;- _% k6 J1 N) D- x7 o; O
dwR = (DWORD)( pLight->Ambient.r * 255 );, U6 Z2 [# r9 I4 p- y8 ]0 B
dwG = (DWORD)( pLight->Ambient.g * 255 );* R2 x; b( S( @* A' @
dwB = (DWORD)( pLight->Ambient.b * 255 );' j1 X4 {! O% ]/ I2 F3 X& [
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 S- l- b/ X0 ] }. G* I. O$ R- h( k0 I2 j
}
2 U, P1 q9 {* n/ v) V- X. d3 L9 G9 F f. d$ |* Q; H
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
' D7 j+ E+ G; q% `' t 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) );
: U/ z( U/ i. P- ^ ::SetLight( bLight );, z8 a3 F$ Y# N- @1 f! J$ Q. t
i1 ?8 t. O% D" W4 z
// ±ao? ?D?í???ó á¤à? g: T: I V! \; V9 t/ u
m_pd3dDevice->SetMaterial( &m_baseMaterial );* Z9 \( b+ U/ a2 p7 x1 w
8 i% f) |( `4 ~
#endif // not WORLDSERVER
, I/ B$ x0 r& ^/ ] r1 _; B/ ^}- y) u/ X' U# X' b2 K3 ?
并更换
: v3 u+ p7 O4 y6 oCode:
2 _: h! G; T( u& P6 u1 v h__FLYFF_INITPAGE_EXT
; b9 l C/ I& x# |# O7 r+ \0 i定义
+ U1 |" h4 @+ I- Z5 @, _9 p# \: c& h( e4 d3 w
_; @2 n4 T. i9 ^
# M( b c+ @# P# B
+ J' i7 K0 T; w( [8 f8 j现在终于删除我的狗屁加速...+ ]) j I' J8 G! k3 }4 p
/ M. d7 {+ `% c) b( g8 o( e' K' v' d
: r: {1 H* _9 X- w
$ z1 J7 A* R' @9 v2 L+ q/ ?2 N, m |
|