|
|
食品车:
* ]5 b+ s& @+ j. \1 d尾翼:$ a$ b' }, u3 B! R3 a
8 v2 K& o/ z3 {2 e* Q
代码:) L I' ?+ a$ |) c9 f( o3 N/ C2 U A
CWndAutoFood::CWndAutoFood()
6 i9 r7 L( t9 j{
6 q* A6 ~/ g2 f! w8 k m_pItemElem = NULL;
7 @- _) X; l! b m_pTexture = NULL;
: \3 l7 O5 Y" F3 J+ L) ~ bStart = FALSE;
# O6 Z# v. l! Y, [0 w}- \& [ |) W% D! h
: n: t- |+ c: B; ?
CWndAutoFood::~CWndAutoFood()$ b$ L. ?! F# o5 Q' }+ D2 R
{
" s/ Z' p" Y+ D7 l1 t% E2 B AfxMessageBox( "AutoFood ist gestorben " );5 m$ I8 u! T: M3 M8 {
}! I, r+ z6 G* I) u$ o& ]- m! L
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
8 s; T: {' w! y8 F{$ P" e" e% U5 V% `4 b+ e5 C- P
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );+ S9 h4 I4 b8 N7 D' Z
}
; i& n$ [2 u* q+ r' ]/ z5 L( b8 x, K0 D" ~; ^
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
8 ]( [ }+ r% u{
" }1 D7 k1 R) g) D LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );( S( \) Z6 C% B2 W: p& T
CRect rect = pWndCtrl->rect;& T! R6 e) w z2 Y F; X* x
if( rect && rect.PtInRect( point ) )0 o, Q4 k3 w! U Y
{
! @) a: h' {( R7 b' U4 r: d9 B CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
: Z0 q6 f7 V! \6 V C; } if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
4 R% `) }# j9 P/ \1 J {8 p$ D C- o% H7 ~+ ~- c- a- e! _5 d
if( m_pItemElem )
U0 e; M+ @3 C" y {) U+ D. R3 b; t" ]1 ]- Z' T) Z3 c0 A
m_pItemElem = NULL;
- ]% p0 S8 o( ?6 \ }) W: K5 w* r p1 F: b. R1 W# G
m_pItemElem = pItemElem;
" t( g/ Q, A- S F+ C2 a, C0 e$ o m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
( ^1 _7 ~- M# ]+ L5 ? }else{
; z6 |: C9 U+ c SetForbid( TRUE ); [/ p6 H) X% e& C
}
) c$ ]0 W% Z% V* Q! F7 } }else{- G. C; R0 j, m( `
SetForbid( TRUE );
% B) f5 M6 Z$ F5 l+ [$ g }
: s% ~. ]$ f% {3 {5 w0 O0 R9 M2 m return TRUE;6 f2 } {; _. ]* L$ \6 q/ P. o
}4 g+ f& \8 g2 p9 C D/ ^
+ v& k( Q: ~! `9 `BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )! Q/ W( ^* i9 B2 N3 d* J
{
4 b6 |- r' ^' Z; P switch( nID )" u3 i B& L! {# l- s8 h
{& k7 H0 ]: c4 E% S: t3 @
case WIDC_BUTTON3:
" O# q* L, w( `3 G7 v {
1 _ c5 M8 ?: c bStart = TRUE;) w& C8 m/ o9 _" P; C; h0 C
break;& \' f% P9 j( g3 ^2 V# d) p
}/ H& [4 E; Y+ W. j: \8 ]& Z! |
case WIDC_BUTTON4: ?* y2 R- |* `, Z4 M
{4 Y: |$ M! z( X0 N( B$ v6 s9 E; A
bStart = FALSE;
. u/ q* K8 L5 X' U- u, [ break;8 M$ t! d y( x" w& k
}
% M1 t% C A9 o9 d) k }
2 c( ]+ c. f8 t J3 L return CWndNeuz::OnChildNotify( message, nID, pLResult );
6 r* h8 W8 J( K1 ?. l& \* }} , z' X; n1 T% ~/ ], g3 z- x
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
) }& {% N( g( g) B6 M$ z8 ?{
k/ H. R8 o! ^; G CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
9 y. e8 ?0 D1 X* p8 W- L6 d$ M if( bStart || !m_pItemElem )1 `9 x2 e4 y2 b# B; z; t
{
( g" j! M3 r6 ^: u$ H pBtn->EnableWindow( FALSE );
Q, d2 Y& G% I9 l# v }else( g4 b% d: M- D* W" s
pBtn->EnableWindow( TRUE );2 M. C7 A9 V Q9 ?- U5 U1 K
if( m_pTexture )% d' e* D- g: i m5 o0 d4 q
{: |" a9 B V: O- o2 y+ ?
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );% {7 f* q: l7 R
if( wndCtrl && wndCtrl->rect )
' d5 o( Q' J3 w* [; r {
# V. j/ o: |+ }7 [ ^2 { m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
8 c+ b! U) y5 {# F7 U4 ?' M }
% M: V' N* T0 k' s }
) Z; L' d a& y& M: H}
% E0 t7 K$ Z' F- `0 B, b# C3 P: Y0 a" }9 H
BOOL CWndAutoFood: rocess()
, H' J8 D6 Q- H i2 u{
7 X5 z/ P: X4 N" K5 U x if( bStart ), }' ? }) Q( A/ [( \
{
% M1 O) d, C& C, X( o if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )4 e) H J& K3 o: h. S8 E
{
/ q! v7 f; J4 B K+ Y: E if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
% X$ \, @$ N# P/ N0 q g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
7 R9 P% |7 Z8 k3 u( N$ j( M }else{
. h% E( h5 X' n, V. W* p bStart = FALSE;
- `4 t# |& P7 y' C9 h m_pItemElem = NULL;3 y I$ Y% n8 N
}$ [* Q: b4 n3 u8 C* i. I5 k2 _
}) [. U% |' A5 u' `
return TRUE;
6 w6 R. \! |2 N5 H% A}
: [4 n' U3 M# g% t0 v" q/ c( f4 \1 h7 |$ W
登录视频废话:
1 d1 J- s# Y+ k4 [& D# v% K尾翼:5 d4 `6 V" H, W; Z8 p% Y
8 y# W: A9 W5 \% s- P! [
代码:, `+ A2 C0 W% Z l* N1 r
' X1 ?: ]) r; F" qvoid CWorld::SetLight( BOOL bLight )+ Y2 O4 ] i; l1 S7 y: Z
durch
& [2 T- J# B6 I3 A8 ~. o' z3 D" DCode:
1 m0 O a) |1 J, L& g9 tvoid CWorld::SetLight( BOOL bLight ). i* \* X% T9 Q. ~& b7 P/ n
{
$ s. Z) O% o. U* E //ACE("SetLight %d \n", bLight);
, y! H& w# y4 k* ~- v* W5 s! J
, x' `! t" J( i$ }4 H#ifndef __WORLDSERVER 0 @8 N+ X+ A! G# ?
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
$ E. o' Y1 R$ u% G* H- r CLight* pLight = NULL;5 \2 j$ A% f2 v9 q5 D( I
/ x% D0 w9 n' ~" u6 _& S8 x1 J D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );) S# l( E" _, l5 T/ t# }
3 ]* C# b3 P2 ?' k* L8 l9 t pLight = GetLight( "direction" );
( \0 j0 H; m L/ X5 [5 X# D- q/ C+ c* ~8 v& E2 v# s- D
#if __VER >= 15 // __BS_CHANGING_ENVIR& o6 S6 o0 p# u# z3 K/ S, M; H
if( g_pPlayer ){2 m, z7 m' q' ?/ W- H3 V& n4 a( }
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );+ ]. X+ p5 S! x$ X, z: _1 x6 z' A
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!9 a) z# K& w3 w7 D! T( }+ v
{
0 t. q$ W. n% y% Z# f1 ~) Q2 ~2 T* }4 ` if( pLight )
; F( ^# }* t4 T6 P# a {& Q$ |. w& [4 u1 d/ E+ e8 i2 T
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
) V; p* k7 y/ ?' m pLight->Ambient.g = pInfo->_fAmbient[ 1 ];- H# b l# C8 M7 A; U9 C7 ~
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
- R% y$ w6 Y: n0 d* L
+ I3 C- r& s' Q* n) |' B pLight->Specular.r = 2.0f;
# A$ k! m: v |5 o$ ~. R* z pLight->Specular.g = 2.0f;
3 z6 F' t+ k6 d# N" z pLight->Specular.b = 2.0f;
6 e, K, O* h7 [% M% E 8 @- c; e4 z9 w* [* Z
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
8 ~ v: ^3 a& R pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];3 ?2 f9 Q" O; B2 O6 c5 t
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];4 l: M2 i$ d( G& x3 K
$ L8 |- E9 K- {- U* ~$ R$ u HookUpdateLight( pLight ); % [5 y0 G, X6 E( [+ ?
2 ?# o: Q7 P1 \/ ]8 B6 T( |6 K memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; i: I' _, x% i% t- [2 w2 J ' @& e0 W- k6 e d* t u) I
pLight->Diffuse.r *= 1.2f;5 ]$ v* F" D+ n/ [1 x+ o
pLight->Diffuse.g *= 1.2f;
* G2 g2 z9 O) J+ n- b1 ]" K/ W. T pLight->Diffuse.b *= 1.2f;/ f5 U) w2 b- x& R
1 x$ r7 V$ T) |& c- @
pLight->Ambient.r *= 0.8f;4 e" {- X7 x2 J7 K
pLight->Ambient.g *= 0.8f;
0 u/ Y; m2 t% w1 \ pLight->Ambient.b *= 0.8f;. g2 U* T5 d- ^% t- j, l2 _
# L1 p. `* P5 x
memcpy( &m_light, pLight, sizeof( m_light ) );/ g } V4 }$ V w* y
: _- u5 G. W2 b( c' A2 m" B D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
7 _% h- }; C: @ n D3DXVec3Normalize(&(vecSun),&(vecSun));) K1 P6 \( r' a; B# b
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 4 i: \! B* _. i$ R8 S
pLight->Appear( m_pd3dDevice, TRUE );
* C- Y; s9 G, e* M) ]" X5 w
3 z1 X+ F* R" x5 Q4 c+ `* ^3 v, i9 ^ DWORD dwR, dwG, dwB;6 ?: K$ \) O4 ?6 _2 G9 y; D
dwR = (DWORD)( pLight->Ambient.r * 255 );
! s7 u) P$ x9 q4 }( c dwG = (DWORD)( pLight->Ambient.g * 255 );7 W: | T" o- a% u' t9 K
dwB = (DWORD)( pLight->Ambient.b * 255 );0 G( q3 V8 v% O3 {) t0 B0 T6 T
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. ^5 m4 P B# \, V7 q }
* ?, @% {6 }9 [( n }% E0 T3 C; t/ B6 T6 v7 m
}0 D0 ^. a9 |5 a3 w$ W
else
6 D& H5 e8 ` R0 B" ~8 w& l#endif
" W4 t5 K* |, L1 j z# Y) B
~2 }3 R3 O* `8 J% |" O$ x if( m_bIsIndoor )
/ Z; P6 M" O6 l% t {; P3 s+ D7 L" W$ P9 O" [+ E
if( pLight )
3 D" U; N0 L: |2 A9 }* ?8 n+ M3 I% } { ) p/ M* i! }/ l+ N7 ~" u+ \
// à??μ oˉè*
3 M5 W! f$ k$ F, S1 L- D pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;" s3 `, ~( f6 C2 o8 i9 y
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
7 u2 {; ?, C0 n y% o3 |( p pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;+ [5 G! l* u- ]
* \5 D8 j$ P) Q0 D- {% a- F- T" m
// oˉè* ??à?
2 R6 d) X0 _4 K( R" J3 e pLight->Specular.r = 1.0f;
. R" J& ~! X6 u; G. @: F pLight->Specular.g = 1.0f;5 ?# \; F( x7 I: x! ~' |
pLight->Specular.b = 1.0f;
9 h' d# S- ] T% Y // àü?? oˉè*
4 ]5 T: X/ t1 @) r, l9 R1 \; T/ m) x pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
$ z, K' T( X, Q% C% j$ R3 {* O+ K/ u" ] pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
; T6 L, _8 r0 n& H pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
$ X7 E9 {+ D: g9 s' T6 v) M0 V, r
! ], W3 n; v, n* T; y$ ^1 y" h if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
3 q# {, k" ]) C4 V, F4 e {% `, i+ X( s' J4 m1 N
pLight->Diffuse.r *= 0.6f;
8 y5 a q; J8 @6 ~2 E- j' y pLight->Diffuse.g *= 0.6f;
( h' V {% G4 ]; P( r pLight->Diffuse.b *= 0.6f;; }0 d5 }/ H4 p: E: b
pLight->Ambient.r *= 0.7f;' E# g; A5 K3 |, @$ {
pLight->Ambient.g *= 0.7f;$ g8 h; { k/ M- K
pLight->Ambient.b *= 0.7f;) K3 ?! o7 ~. A$ P/ f
}* r7 `2 d% ^% ~: n. q5 }
. Z3 n; f0 R& o/ T7 U
#if __VER >= 15 // __BS_CHANGING_ENVIR
b2 W1 o9 \$ x$ d( C' H- K5 ^ if( g_pPlayer )
" F2 g. B( M2 Q s; W) a5 [9 D HookUpdateLight( pLight );6 Q) a5 g! v2 `5 z; Q
#endif
$ s: k' P3 G) Z. G: ? memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );( k- T6 T( H# `$ H
/ e, j$ i/ u0 T
pLight->Diffuse.r += 0.1f;/ O: p9 C2 R7 i% P
pLight->Diffuse.g += 0.1f;
2 a# {, U6 [ r& w1 ~ pLight->Diffuse.b += 0.1f;
4 G2 Y$ P' l9 H$ f // oˉè* ??à?
# ^" ~. d2 S% T pLight->Specular.r = 2.0f;
2 @9 L( R5 n6 D" K, T& g0 R pLight->Specular.g = 2.0f;
' A. l5 y# _5 L; e pLight->Specular.b = 2.0f;! ~) N; U/ m0 Y- g
// á?oˉ 0 D, f0 ^7 k+ h% h2 ^
pLight->Ambient.r *= 0.9f;
* _) V% N) l. m pLight->Ambient.g *= 0.9f;0 P6 M) \1 J# W" d8 Y4 c
pLight->Ambient.b *= 0.9f;/ `$ A3 \0 B0 Q, L
* Y. E3 ?# m* d memcpy( &m_light, pLight, sizeof( m_light ) ); u2 r5 }, t A! Y, O+ U
$ z8 W/ O5 x8 t$ z3 ]/ w) [7 I
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
2 l- h' [; u1 K- j pLight->Appear( m_pd3dDevice, TRUE );
d3 K: q) o; s) C) C ! y0 y' E# u+ H& M6 m
DWORD dwR, dwG, dwB;
$ d. N( A6 h: [( N% m dwR = (DWORD)( pLight->Ambient.r * 255 );, O' ]& q- B, B! q7 A* _* Z; V
dwG = (DWORD)( pLight->Ambient.g * 255 );4 f+ i( g" A) b" m2 b. }' P2 x
dwB = (DWORD)( pLight->Ambient.b * 255 );
4 B1 f$ a7 l" r dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );' i3 a0 I4 e; Z
}/ @' m9 Z$ l" r/ u1 F. |+ p
}% }1 r6 J: d; Z1 C
else' z4 T6 e( ]& l. z% b! ]1 R" t
{/ P, D" H; I1 x% O# r2 O# x) Y
if( pLight )
6 J% x. s! _+ a {& ?# _4 w9 D6 t* u
! t1 |! k" ]. `- x: |8 `2 V& ] int nHour = 8, nMin = 0;
& \, ?+ F9 i$ m #ifdef __CLIENT
' x9 s: L* c$ F; y9 W- h // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. * I% P+ e$ b' L
nHour = g_GameTimer.m_nHour;$ V4 B7 p6 ^) i9 u
nMin = g_GameTimer.m_nMin ;' m, R- g% m4 c9 a, E
#else) g; L7 P! \* n. m' B4 h
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù., [5 _- N) z# I$ o6 q
if( m_nLightType == 1 )
: D1 o; |. }6 ?6 D$ K" f nHour = m_nLightHour;
& h' K9 `4 B0 A4 Z7 I/ n9 H0 ]6 Z #endif
" P; ?' H! z; O8 Q" u5 l nHour--;0 o( b Q: r( }& e
if( nHour < 0 ) nHour = 0;6 l _% [* {# s) a0 U
if( nHour > 23 ) nHour = 23;
# t6 l0 m8 t, r" Z* |3 I: \+ J
J$ b) R2 o! F! S7 z1 k //if( m_bFixedHour ), q: t& c! s. D, w1 {7 b1 o& B* o. ]) P
// nHour = m_nFixedHour, nMin = 0;) t; U/ f) @" `# U) K' Y; L, ^! L
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];5 x7 [8 `9 A7 y& w' N/ K
LIGHTCOLOR lightColor = m_k24Light[ nHour ];0 b, W2 b7 L* s. w/ \8 j; C
' ?, v$ U; x. m3 P: W
//m_lightColor = lightColorPrv;
$ L# s8 ]% R' g4 E2 v lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
, K+ K- O# P* j/ `# B1 u5 [, X lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
0 d' G7 Q0 I( Q; b$ T( `0 b* h/ [ lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;* P% i C" g& t! \
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
: b/ v$ w9 ~' l+ Y! z lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
0 C. z, I0 k7 N8 ]( ?! c- E lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
* ^5 [. B; w" a8 b! X8 ` // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
S! _/ V: d5 x! O; _; |6 H( h0 j) b
// à??μ oˉè* - D [, I* r; |; ^# {
pLight->Diffuse.r = lightColorPrv.r1;" Z, z; O8 ]9 |9 ]
pLight->Diffuse.g = lightColorPrv.g1;# k; `, @! C5 u
pLight->Diffuse.b = lightColorPrv.b1;+ Y# I2 ?9 t. J& O( ]. x
// oˉè* ??à? ' w: o! y- e/ p
pLight->Specular.r = 1.0f;$ U( {! S5 a2 e% I9 y- l6 `
pLight->Specular.g = 1.0f;4 t7 E* N: \; d) |5 X& b+ H& p
pLight->Specular.b = 1.0f;
W0 I6 h- Q3 p3 v& Y z // àü?? oˉè*
- C7 Z" V! M4 r( w& G- ?& x1 [ pLight->Ambient.r = lightColorPrv.r2;
& L1 c! S; o- n/ X& q: g pLight->Ambient.g = lightColorPrv.g2;5 A3 ^3 W. @) l7 L& k
pLight->Ambient.b = lightColorPrv.b2;$ }2 D r; h9 M: {
: M& Y6 L) ?& \ if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.3 u! R5 m( w' j9 E
{
& _' g5 x5 C0 F3 h pLight->Diffuse.r *= 0.6f;
s* b3 u( K1 w. J1 C; a8 W pLight->Diffuse.g *= 0.6f;6 N& w! G. `. _* _! n H4 [
pLight->Diffuse.b *= 0.6f;- V3 O1 z/ f) o0 x0 \2 n4 [
pLight->Ambient.r *= 0.7f;1 D7 {- v2 l4 G! |. m) i; ~
pLight->Ambient.g *= 0.7f;
+ s! v- F# r' \+ l: Y pLight->Ambient.b *= 0.7f;7 a0 Y# p, e" U6 d' G0 g8 g7 o
}
5 }0 c# P/ t2 Z/ ~, {. Y ) Y$ d+ ?% X6 {: ` z$ m5 d) r
#if __VER >= 15 // __BS_CHANGING_ENVIR- g1 Z- {& [, n8 _, I7 _1 P
if( g_pPlayer ): V% K/ @8 H: B* q0 H' e' ~2 E* R
HookUpdateLight( pLight ); : c" f! Y! D4 D) J" f
#endif# r9 O [4 ]& ?6 F. i$ V* F7 n+ B
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) G) e( E: W& D! Z1 r( R1 Q2 I# H j: e# j0 E+ {
#ifdef __YENV0 ^! r' a! z! f+ M( x8 l. |
pLight->Diffuse.r *= 1.1f;
, u# E/ U+ h% P pLight->Diffuse.g *= 1.1f;
8 f, {9 m" c1 Y5 F; T pLight->Diffuse.b *= 1.1f;( W3 V6 ?3 z' O, h
// oˉè* ??à? 4 s2 U G9 S1 g& o7 S; U+ n( \
pLight->Specular.r = 2.0f;
8 |+ N% ?$ K; E8 r5 h& k/ }! | pLight->Specular.g = 2.0f;! w5 f' s0 i7 I+ t6 k3 J
pLight->Specular.b = 2.0f;! ~- o3 a) K0 l# n
// á?oˉ % W3 v5 _ W5 ]0 o N
pLight->Ambient.r *= 1.0f;
- u3 X5 H( m5 q# ?- f8 u pLight->Ambient.g *= 1.0f;4 M/ m5 t0 T/ M p& N
pLight->Ambient.b *= 1.0f;
8 d' B! Z+ q/ t/ v#else //__YENV- W! L5 W0 Q& k8 C
pLight->Diffuse.r *= 1.1f;
6 c' Z. }$ N3 Y, l9 ? pLight->Diffuse.g *= 1.1f;: M ~: \5 ~6 E8 K) x7 o
pLight->Diffuse.b *= 1.1f;
' s. @9 l+ [2 W( { // oˉè* ??à?
6 S3 }. O6 B9 f8 c" T pLight->Specular.r = 2.0f;
* ?1 ?; ?, i% A" d: T# v pLight->Specular.g = 2.0f;. D$ Y8 Q8 C* H% X) z: k7 g p9 p$ H
pLight->Specular.b = 2.0f;% N; J1 H2 S9 ]4 d
// á?oˉ ! Z/ w6 q0 @ o; A( z. J
pLight->Ambient.r *= 0.9f;
, ^: V/ i. M' M) c3 b pLight->Ambient.g *= 0.9f;
! Y" J0 i/ p5 e$ y9 } _& W! f2 g( b pLight->Ambient.b *= 0.9f;) {- x! c2 t1 D& B* z2 P1 g. ]
#endif //__YENV
$ F+ k$ ]. H7 C# Q$ N% D3 D - t9 y/ q" n. @: k- Z8 O+ q
memcpy( &m_light, pLight, sizeof( m_light ) );
$ v+ z I: H9 q# N/ z; N 6 z% H0 s/ c' p% p
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);. X2 I. [% _! q
D3DXMATRIX matTemp;, W' x* e' Y5 L# [) k6 F
static const float CONS_VAL = 3.1415926f / 180.f;
2 x1 _- z" t6 P5 `9 r, v8 v/ m7 V8 y) J \+ n( U. [& b
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);' P+ K# u* @/ y
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
^4 q7 r, p0 F2 D ?% [$ _ pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); ) f8 b& ^8 c6 D: P5 V
pLight->Appear( m_pd3dDevice, TRUE );( z: C* `& R, T* D
x. g2 F# ?; a( g1 v: O: v) h \
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);8 H. l8 P/ g/ {# O
// D3DXVec3Normalize(&(vecSun),&(vecSun));& `; `, |2 \) V) Y. O' V3 T9 @5 _
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
0 Z' r9 P5 t: r
' e' W" {6 D' A' L DWORD dwR, dwG, dwB;
2 `1 m0 A+ d" Z dwR = (DWORD)( pLight->Ambient.r * 255 );6 O. ]$ C, a) J( j- Z: a ?- @
dwG = (DWORD)( pLight->Ambient.g * 255 );
4 L4 y: t2 C) Z; w dwB = (DWORD)( pLight->Ambient.b * 255 );
# O! r8 U6 M2 B dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); & l/ I; Q. O9 ?" p# E, X# z7 O
}
$ g7 Z9 Y/ P& n. U3 C5 v }) Y/ q* ~) u5 C$ I
2 r. B1 p6 Y0 j$ V9 t
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );! E# V, u# u X2 E& E; P
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) );% Z6 M& s/ R) B+ a2 ?) P- D
::SetLight( bLight );
* j, Y: S* {7 r
, Z; m, z/ u, m: { // ±ao? ?D?í???ó á¤à?
8 N M$ f0 b- e# n m_pd3dDevice->SetMaterial( &m_baseMaterial );4 z' d- T5 H' l
1 ~# s- q) p) R% ~+ ]#endif // not WORLDSERVER
4 a0 h: @' t" b+ I% d}- D0 C* E, ]1 I E) Q9 i
并更换
9 }9 S. ]! l( k# ~! cCode:
% E+ t2 R; x, R: F3 M4 ?__FLYFF_INITPAGE_EXT
- R7 K6 Q' \( l3 U z定义# y! ?8 R5 X f7 L. u& \/ x6 u
6 F- q$ _2 D" W* G. g8 N' L
% R- w- K$ k9 N( e2 C3 A
O5 K) }$ g Y/ ^5 x% F
, T" N5 H' Y. s) m4 M. q现在终于删除我的狗屁加速...( T' ~1 ?3 q; |* L2 p' s
u* W, Z: p5 c7 t+ l; T9 n7 m6 S# q2 V
8 }7 h% |+ q+ r* | |
|