|
|
食品车:0 }' y$ K( i4 a
尾翼:
5 a" }$ }* E) J3 J
S& Q# j) z8 I) k; s代码:
7 F, S% k8 w3 u7 G7 ~) h$ q6 lCWndAutoFood::CWndAutoFood()9 `0 n# l; u1 e$ ?9 D0 {, \
{
4 O% I7 r+ v- x" {! a! \ m_pItemElem = NULL;
! Q; ], [/ b7 [& ~! v. [7 y- f m_pTexture = NULL;
' m9 W1 u; U4 H3 b* k5 \! ` bStart = FALSE;
) j- g. k5 O: S}
' D+ r7 S- }$ T/ n& D2 @
/ s2 B0 C) ^( [- m% b: j: rCWndAutoFood::~CWndAutoFood()) p2 B0 t8 V7 {5 P' a
{
3 V) o" r& z9 |* i AfxMessageBox( "AutoFood ist gestorben " );
/ k4 G7 c* c1 @) R}
1 X2 y- _' ]# E) k& |BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
0 J* E9 W4 Y: v& I8 n7 q{
/ y* _$ ^0 I& `- p. ]7 p, H return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );1 f2 D: |3 ]: K6 H
}# Y7 O4 H$ a, C# r8 g
+ F) X8 h) h9 J
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )& D# D2 Y7 J! `4 Q
{( r% Y+ \8 r E% d; I' V+ E4 r
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );6 L4 _+ f" e% x4 g8 B
CRect rect = pWndCtrl->rect;
% b& E) g, b: ]% a$ E if( rect && rect.PtInRect( point ) )
, n3 Y+ j. ?' q {
6 c& j2 h/ C4 p CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
# ]" t# g* E* d/ }; M if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )+ M, u8 A* V6 H+ j1 U. a4 k
{" B5 `+ S) X8 e. |5 r
if( m_pItemElem )# t' l V/ R% m
{
( P* x. s5 _/ W$ m' W$ j! A m_pItemElem = NULL;
/ X/ d. S# \- o D( e( q }
0 d" n5 B5 N% D5 P! s" [4 V m_pItemElem = pItemElem;+ ?% U/ Q3 D, C$ n4 L
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
7 c1 s `+ ~/ q0 J( K# J% B3 Q( `; O }else{
9 v+ O& N6 L8 _ SetForbid( TRUE );
: I) k1 _ u, ^ B6 P }
" _ I" |# w s }else{. y! \3 m' i- r. O5 u
SetForbid( TRUE );
5 [/ t7 y& Z$ Y2 t }
2 S- [3 i! h/ Q- K return TRUE;
g$ T- Q2 U: i$ B3 Q# e}; Y" ?# F+ R$ R7 b9 s8 A
/ |1 T" S1 x. O) K( {BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
% l* V# n/ Y/ R( y: o+ n" Y+ M{
- e4 W0 d! y. U. u9 o2 N: F7 m switch( nID )/ A/ }; _; U' Z8 }1 P$ ~
{6 N1 N8 ^) ^7 T6 x* R* [3 ?
case WIDC_BUTTON3:
# H1 g; R7 V+ \ {
3 K9 p+ e3 J# U, t O5 O bStart = TRUE;6 z+ o. {7 j' ?% w* V' S+ p( R# o
break;+ |" e; W/ t& A) m+ t- K5 p: a
}
2 s& C4 S1 T: E$ Q$ f( E& C1 K/ m case WIDC_BUTTON4:
$ I3 S" m+ R0 I, f {2 H' V% \) c. D7 J' L
bStart = FALSE;
* i% _/ D* M0 C, q2 K break;
2 n( Z5 ]+ p! F) k3 }6 M( i }
! Z# {- r2 T1 P& [; C, c }2 ]$ ^: n v0 I. ^3 W
return CWndNeuz::OnChildNotify( message, nID, pLResult );/ @' p! ^5 y9 C1 [: S9 Q
} / y9 E5 T& X. H9 @) R- ?$ q
void CWndAutoFood::OnDraw( C2DRender* p2DRender )1 r! o2 Z, e( i
{' O3 s5 D3 i. \: N: V1 [5 ]( ?, E
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
6 e( Z: j+ U" D% ^* j l/ Z8 `; n if( bStart || !m_pItemElem ) L, |% J# H: e ]2 Y7 \" P
{
' I1 ?2 ^* l6 F9 D6 I pBtn->EnableWindow( FALSE );
% E( F; s9 _% U }else
& @4 Y6 g# x7 k% q pBtn->EnableWindow( TRUE );8 o7 L' Y2 w* |* ^- b6 b* g Z; {
if( m_pTexture )3 R% e/ Y" b8 U& D. P! Q y- i0 W
{
) O# }- t% [* G3 i0 z% B6 o) Z LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );3 {" a$ E% m- N& v4 S* q
if( wndCtrl && wndCtrl->rect )1 T( x; _" f4 |! x* h; E, ?; y
{* [1 u2 U! g) I- |
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );$ L' D# _+ @' z: G8 k
}
; ]& K0 @" Z X9 u' H }
2 {2 x8 }8 r8 g* x+ G}5 V6 [8 k4 P. v0 A' R7 s3 R
& w$ n7 u9 g, {& X+ i! k
BOOL CWndAutoFood: rocess(): W5 D+ Z* u7 A8 l* _3 b# w
{& U0 f/ C% l: s4 k0 r: _
if( bStart )/ K* Z# `, ^( {4 p- I% y
{
/ b1 _! U; e5 f; l if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
& ?' z/ H! B( J" [' \3 ` {' [" D% O |+ e5 i! P! ?/ U* @
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )0 c6 ?/ k+ M$ K& [1 K: F+ S Q
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
1 `- Q. t/ p; P! t. o }else{3 |; p2 V. I: q F
bStart = FALSE;
; ~0 B0 [1 Q0 Z; P6 a { m_pItemElem = NULL;2 X( o" h0 `6 ^) w8 R+ z, _ b
}
; l# h0 [- N& l- p5 _) j }' t2 I1 l! b7 F
return TRUE;% P$ x0 b( `5 p
}
: P( V/ g _5 H
! Q, B' p7 E- w# l登录视频废话:: @- z4 v- A4 v0 |9 `" a8 Q
尾翼:
1 z2 _+ g! x, u, S$ U
9 `( K8 a# g. j$ c4 E2 r代码:
- o+ `4 E r7 f+ }: J& Q1 c3 N3 j' y, d
void CWorld::SetLight( BOOL bLight ) k& k2 {% y. l$ R' }/ o
durch
' C; O; e* s( Z3 M+ pCode:
7 A6 G5 q- N* |& E Yvoid CWorld::SetLight( BOOL bLight )
* l; w7 Q; Y4 _/ r4 O{5 f# _* v; I' q# g' l2 x
//ACE("SetLight %d \n", bLight);
. L4 S Y+ ^% o: ~8 d) v 3 }( `* P8 x6 l! {: Q
#ifndef __WORLDSERVER
8 n3 U) _1 b9 S, W g DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
9 R" q2 x* z7 f% @: k6 D CLight* pLight = NULL;4 J2 f+ l$ s8 H, g8 [ A9 c. n& {% Q; c
1 n7 Y' {# `' Z# ?' g D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
* c/ o0 X/ F+ l& ^9 k" K, A# s" ]2 z$ G7 s
pLight = GetLight( "direction" );
- @' @2 M9 D1 W( g, e1 |9 R1 j; Q2 S0 e5 X V9 H3 [* R
#if __VER >= 15 // __BS_CHANGING_ENVIR
5 y( } v* J: P4 T2 e& d if( g_pPlayer ){
/ O% Y& L% a' B; O7 Q ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );! [' W9 |5 F" Y7 j+ Q2 D% D7 O! {
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!! C* s' p6 m" D8 y
{
, j2 a7 |8 h u/ p- o- ~ if( pLight )
$ B% x8 u" \: b# Q( @4 x% L* _7 t: u# P {
6 M: C: f; t3 Z pLight->Ambient.r = pInfo->_fAmbient[ 0 ];- v. k | l; w; p" r
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
9 B5 ?6 |; _4 ]0 |! Z) d) c pLight->Ambient.b = pInfo->_fAmbient[ 2 ];% |; Z) I# T: k5 F
) P/ `; W" u; f) [- H: ^
pLight->Specular.r = 2.0f;
6 k, {8 \2 i+ m3 z; `( S pLight->Specular.g = 2.0f;& i* R0 t: Z5 p
pLight->Specular.b = 2.0f;
0 e3 A, k' M( h
' f, b" D4 d1 {* T pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];9 J1 x2 T: ]* z9 w5 _+ l' K# D# K
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
! v r+ w$ h7 O7 z3 u pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
8 h6 Y9 s: Y! s& c- _ ; w/ `# } p3 {5 ^ C2 s4 H% @6 s
HookUpdateLight( pLight );
. Y8 [% N( P3 h6 F; g
; t; M, p- s4 Q" H# |' { b1 d memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );0 A2 `' u6 X! F8 V! `" C# g# ]
# Y @5 M& t9 W y) k
pLight->Diffuse.r *= 1.2f;+ Z$ B9 O! A2 t; u; q4 ~0 |6 q
pLight->Diffuse.g *= 1.2f;$ i4 ~5 \* `* f1 U; z1 h; ^- G
pLight->Diffuse.b *= 1.2f;3 D! N0 X; `+ u
" L0 A, P+ |9 [* X1 Z' g
pLight->Ambient.r *= 0.8f;
# X" _; J* z0 G0 O& o pLight->Ambient.g *= 0.8f;% ~0 d( q8 K2 H x' X- |
pLight->Ambient.b *= 0.8f;/ a) D$ N# n; }" z9 _ q
4 N/ m; _4 o8 C& O$ W
memcpy( &m_light, pLight, sizeof( m_light ) );
% N6 n' z B3 x" R6 `; I
4 q2 Y o% U% d5 J6 \( I7 p D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
2 o" Z6 K% c1 J D3DXVec3Normalize(&(vecSun),&(vecSun));1 p4 p1 \: M2 \1 d/ ~* V
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); % n6 b; S9 I% ]) b+ _
pLight->Appear( m_pd3dDevice, TRUE );+ M- p9 G, w' d' x
- G) Y0 O5 s; f- g1 f. w
DWORD dwR, dwG, dwB;
+ _, T* K Z- r dwR = (DWORD)( pLight->Ambient.r * 255 );
, y$ b5 C: q) k4 d0 E* i1 f dwG = (DWORD)( pLight->Ambient.g * 255 );
+ e2 f' p: a& E* ?1 j/ L dwB = (DWORD)( pLight->Ambient.b * 255 );
3 s% O" R. u2 |; t+ s dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );( k6 K7 m& z( M1 K2 X* o2 H
}, M$ J$ M. ^1 N) Y& D
}
" r6 f: G5 J9 W5 N3 p }
) M' }( L" y/ m, K4 E+ | else
1 p! A/ U9 M1 P" P! _3 }, V#endif 6 k( o3 i5 {" r* w9 r, L7 K7 p# J- e) p
9 C' e j# b- Z, N$ c
if( m_bIsIndoor )
2 [1 |7 k8 N* ` T { p! E7 g! C& u, L
if( pLight )
& l" U6 L8 j( T) ] {
8 f8 X) J- C% H* C) A5 `4 g& p // à??μ oˉè* , j0 w! u$ b6 Q: D
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;2 A8 y J/ D7 [2 e. b
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
. j" y$ f* s# S( B. k6 j pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;, i- q( p$ @$ |- W5 [! r. |* @2 w
! z1 H' t1 g7 _. f8 P: i- V5 X
// oˉè* ??à? 2 C3 v2 S! K$ T- v
pLight->Specular.r = 1.0f;
* m, ]! o$ W( S. r- _ pLight->Specular.g = 1.0f;
1 m6 E' Z! g, W% R7 `+ A! H% R pLight->Specular.b = 1.0f;
% s$ T1 A6 `9 j6 g0 { // àü?? oˉè* % |' ~5 o) r4 t3 G) W
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;' w, r$ T: W8 {5 ^& E
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
! P- c2 y) l8 {" Z/ r pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;6 j3 e u5 Y: L
. U2 _9 v) g4 Y; V% k5 e! J: V
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??./ X& J r F0 \4 x Y, V8 L
{4 y6 x5 J/ [( g2 W
pLight->Diffuse.r *= 0.6f;+ T6 k# u b; V3 K- c; e. X: D! S: o5 _
pLight->Diffuse.g *= 0.6f;
( l- R" ?( d9 \6 Y9 i+ ] pLight->Diffuse.b *= 0.6f;/ V& t8 k( i2 z* `
pLight->Ambient.r *= 0.7f;
Y( H( ]( Q, K: N, v7 p) D" a; ] pLight->Ambient.g *= 0.7f;
$ \5 ~7 t- T3 Y6 ? pLight->Ambient.b *= 0.7f;' g5 p% o; J) \
}4 s- Y, b, b. g' ]3 u
/ F: c+ p/ r" Z$ R# N H) r#if __VER >= 15 // __BS_CHANGING_ENVIR. M2 x$ G+ Y. j
if( g_pPlayer )
& a7 x* `& n* b0 w9 L HookUpdateLight( pLight );7 U( Y; \$ ~! z7 U
#endif; Z7 \* U. I- k+ }
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 o: X$ g) f+ g! H/ O
* T: S$ o) q4 l9 T+ k2 ^5 I pLight->Diffuse.r += 0.1f;5 Q( [% n5 t4 a! d
pLight->Diffuse.g += 0.1f;: ~. [( z6 W3 G' E& @7 h
pLight->Diffuse.b += 0.1f;% w* c6 E; ~# J. f4 B7 t2 K6 \
// oˉè* ??à?
9 c. S" ^. Y7 s# Z- E# W& ~ pLight->Specular.r = 2.0f;
3 |5 n, i5 E; t& Y; y! D9 Y pLight->Specular.g = 2.0f;
$ d, E L8 }; ]7 ~3 y N; [ pLight->Specular.b = 2.0f;
+ k8 a$ N2 |* ]* S( v // á?oˉ
+ B! Y6 c$ j; z$ C G1 m pLight->Ambient.r *= 0.9f;6 H* ]0 L# O' C0 s* D" p
pLight->Ambient.g *= 0.9f;
/ w7 t. V% g7 [4 w$ G7 a0 {8 B3 _ pLight->Ambient.b *= 0.9f;, g& Q1 Q. s2 F0 f! {# A, e! [
. n) e1 p, ~ j9 N! [
memcpy( &m_light, pLight, sizeof( m_light ) );
8 r. X3 H. b* J4 I- q! D
' m t6 z) v( w s' B1 X pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
( `* ?! d Y8 k. T6 a& t0 }4 D# J& X pLight->Appear( m_pd3dDevice, TRUE );6 K6 A- L$ x. ?2 v
8 F5 ?7 f \, P1 n! F- v
DWORD dwR, dwG, dwB;. \1 L& T) c. G3 k& h
dwR = (DWORD)( pLight->Ambient.r * 255 );
; y* C4 G* Z' {+ ?5 d; X dwG = (DWORD)( pLight->Ambient.g * 255 );$ `: {% L% h+ A# B0 m& R
dwB = (DWORD)( pLight->Ambient.b * 255 );
% |5 G5 v7 S. \2 ?' H, ]1 I dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );, z5 h8 I W: F) x
}
5 s2 [# [& u0 @' T I }
X/ q. ?2 A( e n0 l2 @ else
! ^: y2 e5 _# {9 z, Y: S: w { }! {8 y( k& f0 C6 g6 z
if( pLight )/ Z; h: j+ c. i7 y& F, G) d
{
( h6 q" e: i8 O+ Y* V - n: F k% m* c6 R/ j
int nHour = 8, nMin = 0;. c# j# \" J9 ?/ d; |
#ifdef __CLIENT" ?+ `( {* m$ \* A
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
6 w( M8 H' a! w Q1 |9 i nHour = g_GameTimer.m_nHour;; \! ^+ H4 i5 s3 \( L+ x
nMin = g_GameTimer.m_nMin ;
4 R0 N3 k% M6 l6 O #else/ {8 `. G5 J* M) @( I5 _6 ?, J
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
7 _! t6 ^5 Y* l) A$ ]% z' v8 t if( m_nLightType == 1 )) L) Q7 Z% C( C' h6 Y7 ~
nHour = m_nLightHour;) q2 p( g9 z" ]
#endif
8 M: {% q: O+ J4 ~( b; @ nHour--;' m: d3 |8 K9 X
if( nHour < 0 ) nHour = 0;
5 b! X+ F. o! r& P9 F if( nHour > 23 ) nHour = 23;
2 ?8 z3 Y5 ^6 E* p8 A7 e$ f5 Q. N; ^' x7 i! r) a: ^; H
//if( m_bFixedHour )- \* `! i6 n `4 ]0 q, n. s
// nHour = m_nFixedHour, nMin = 0;; M$ b& Q! l* p; J8 ]
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
; G6 c. ], ~ P# L8 o$ z, O LIGHTCOLOR lightColor = m_k24Light[ nHour ];
7 {( U7 ?- c. E( G3 ]- S8 L1 S0 v3 P( J2 G* z/ k( G' N/ S' ^5 P. ^
//m_lightColor = lightColorPrv;
% j& g! n3 [/ T lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
) W" b- b& x3 G4 [ lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
4 D. {& N6 K& Y* [) y" c" ? lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;; L$ t; q; c. Q+ J# v
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
( Y' H& ]0 A% @. [ lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;. e# x6 @: [0 {8 @5 f; W+ ?
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
/ L- n# J% d0 L( @( i // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)/ |9 u$ z0 {- u8 u: v1 u R
: n' e5 x/ Y, s( Y // à??μ oˉè* ) W/ G! ]% O1 |$ Q4 B5 v2 F
pLight->Diffuse.r = lightColorPrv.r1;) f2 O* I7 t! Y& I( _
pLight->Diffuse.g = lightColorPrv.g1;
/ {* \- o) L% f8 N# J8 e2 Y* v* C pLight->Diffuse.b = lightColorPrv.b1;
' w+ ^9 X R8 R( Z- ~ a7 K // oˉè* ??à? ! b) P, U3 L- Y$ ^- j, ^$ u
pLight->Specular.r = 1.0f;/ i6 e0 r8 A) z0 [8 r. w
pLight->Specular.g = 1.0f;% N; e y0 D1 q v* U9 s9 e. \9 R+ y
pLight->Specular.b = 1.0f;
; ^- H( l7 r) g! m' L8 u // àü?? oˉè*
! _* L! ?; e8 E0 W2 D! J" p, j4 F pLight->Ambient.r = lightColorPrv.r2;
1 F! I& `0 B8 t8 y3 h& ] pLight->Ambient.g = lightColorPrv.g2;
" b* D3 F- h* K% x: Q) a pLight->Ambient.b = lightColorPrv.b2;0 ~7 H% C; K5 s8 c2 D5 R
1 J" ^! d- s2 ^ T0 [ if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
$ o+ {8 L- r0 u- _/ i% C- u {; Y4 {8 H1 [2 V
pLight->Diffuse.r *= 0.6f;6 F) a1 ?" P4 }% I) t
pLight->Diffuse.g *= 0.6f;" k6 Z3 C4 N0 w1 j
pLight->Diffuse.b *= 0.6f;
' b* u* ~( Q" z/ N3 A; e pLight->Ambient.r *= 0.7f;
) g# Y3 Q$ b2 L* d pLight->Ambient.g *= 0.7f;
- o- N8 P+ d5 p+ K; |0 I" [. a* e pLight->Ambient.b *= 0.7f;
) t' u9 C3 W8 ]: O8 \ }
w) J, c) c+ ~7 X5 G R6 y5 S3 {* I) |& i a2 n
#if __VER >= 15 // __BS_CHANGING_ENVIR
+ s3 A$ H( z! k) E0 J4 n if( g_pPlayer )
, U" L) t% t9 I" K/ n HookUpdateLight( pLight ); & ?1 K# p3 C* ]( k
#endif
" j. ?% p/ n4 P! z3 L memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );, A7 ?$ _" k2 o4 x5 B$ [
( L/ e( w+ ?+ e$ B4 H
#ifdef __YENV% ~+ j$ i; S# d" q# Q* ^; X3 V* c
pLight->Diffuse.r *= 1.1f;' H7 w. v5 h; B2 ]1 V
pLight->Diffuse.g *= 1.1f;
9 v* |) ~8 X5 {# E' E( j" @ pLight->Diffuse.b *= 1.1f;
+ L+ @' o- E- x( d9 t // oˉè* ??à?
* Y" D% [; p- M, _1 p0 j) A: { pLight->Specular.r = 2.0f;9 p& K) K/ d- l+ x
pLight->Specular.g = 2.0f;* j/ b# e' Y; i; v9 o/ f) m2 C
pLight->Specular.b = 2.0f;
, }: W2 h; p* f2 o. E // á?oˉ : z0 u( i! A* x( E0 ?4 J
pLight->Ambient.r *= 1.0f;. |3 u4 ^ a6 z/ {2 `
pLight->Ambient.g *= 1.0f;. ^$ i- O5 O3 F: q
pLight->Ambient.b *= 1.0f;
. N& P3 K* H! q# V2 @2 H: Q#else //__YENV- w5 v( O! z3 h% y7 }6 B
pLight->Diffuse.r *= 1.1f;4 J5 i; x: Q; d3 U; u
pLight->Diffuse.g *= 1.1f;
7 o+ ]& ?# d! o) b: i% N* b: Y pLight->Diffuse.b *= 1.1f;+ V- ]# {0 w+ k# i3 A' w
// oˉè* ??à?
7 N" Z, ^3 v5 w5 ]/ O pLight->Specular.r = 2.0f;9 M3 g: h$ G: C1 v5 T. r
pLight->Specular.g = 2.0f;
6 {# {1 N9 Y& E+ R/ S' Z- g pLight->Specular.b = 2.0f;
% Z. L$ r0 l: ?8 p' E // á?oˉ 5 _, z: a' C6 h
pLight->Ambient.r *= 0.9f;
4 w2 ~. g) o9 I1 H% w: M pLight->Ambient.g *= 0.9f;
! {/ U! _1 w% L pLight->Ambient.b *= 0.9f;: r% l, E! s; V. H# y$ w
#endif //__YENV
9 u1 }4 k9 P9 U3 U
- g6 U, {8 N$ ^8 v R# E% c0 F( Z memcpy( &m_light, pLight, sizeof( m_light ) );
( u1 b4 X+ @6 B! T0 z5 w) `3 S + V5 Y: g, J, \5 C4 m. p
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);% r+ T+ G& V1 y$ p$ U3 m
D3DXMATRIX matTemp;
# m+ p* T, K: ]% K static const float CONS_VAL = 3.1415926f / 180.f;
- h" U0 H" _. c8 F
3 n; I7 U5 j5 F# J D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);7 }8 |) `- P4 f* c. ]6 E- V3 w" ]
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
0 Z, k/ Q8 L, e' h" i/ F pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
" a. ~ U' Q# b+ f pLight->Appear( m_pd3dDevice, TRUE );, m, a r7 Q$ ~5 G
) u3 e5 Z3 z) K% R. b& ? // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);9 r, ` A, @0 H6 r# G3 B7 [
// D3DXVec3Normalize(&(vecSun),&(vecSun));- P" h9 A0 M7 u8 l7 k
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); . N5 {1 z) O! w1 l5 Q; C9 c
5 q) J( i' Q5 O( |7 r$ y r$ A: r DWORD dwR, dwG, dwB;
5 ~& l; n$ e2 E; S4 u7 c7 K3 ] dwR = (DWORD)( pLight->Ambient.r * 255 );" E8 f5 n- E: V4 U5 r( `; |. h
dwG = (DWORD)( pLight->Ambient.g * 255 );
. p. o6 c6 o) V. S1 [ dwB = (DWORD)( pLight->Ambient.b * 255 );
8 L* Z( m- A+ I" H dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: ?" O i% O: M# z7 l3 R }
0 ?$ d8 e; C% c1 N7 h, V( G }
T# w' ^( s# g- f6 U- z9 [5 s
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );# H" h! X2 a" r, o9 A
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) );
' D7 z# `1 Q- ] ::SetLight( bLight );4 d: {& O/ h8 a" o* G0 E# D
/ r6 S% m8 [( L( B" z% W4 J
// ±ao? ?D?í???ó á¤à?
9 ~8 J) U4 ^& q) Y0 G+ k4 z9 m7 q9 o m_pd3dDevice->SetMaterial( &m_baseMaterial );
" `% a) Y6 P, v; g3 A/ _$ F+ B
% e: n5 ~8 o- i2 S2 I#endif // not WORLDSERVER- E. E4 T& i) n$ S
}, e" M& _/ Y3 G- l8 C& C
并更换+ i1 Q( h' z9 O; X7 J/ ?6 D
Code:, {0 |' c9 i( l v
__FLYFF_INITPAGE_EXT4 s5 H6 } V1 M/ I, p# m
定义4 o! ^( r; I7 k4 W
5 w1 o# T) |. z( C, C/ q7 @$ S' X$ `2 p5 v* `$ g% ]/ Z
4 L+ I- s8 g% x/ z/ S$ ]) c) u# g) Y( F' U' Q" t* E. I
现在终于删除我的狗屁加速...8 U- |4 t! T1 Q) H5 d A
0 r2 b+ N8 \: W" f# @1 ?
( F! Q. _% b% ^% G% V$ u+ o: s$ Q+ U% L& n1 d" u8 M7 ?
|
|