|
|
食品车:! Q5 k5 {1 @1 R
尾翼:/ B! d; x3 k0 W \+ ^6 r
! y4 W3 [6 l7 B/ |3 J9 T( x
代码:; Z+ I9 c0 X) ^
CWndAutoFood::CWndAutoFood()/ U* {$ ^- g' ~8 L, f
{% t! k- T; o( {$ G) @
m_pItemElem = NULL;/ P1 @) x9 q! P7 w! f4 a
m_pTexture = NULL;1 j* u1 h2 Q ^4 ?! K% X
bStart = FALSE;! J7 N! e0 |4 b1 b
} r( a$ _' [5 X! U/ y8 o
' {8 E( G! S. u, e4 y) K+ c/ Z5 T/ kCWndAutoFood::~CWndAutoFood()
4 w" N9 [4 Q' w0 H{- n5 ?' ~# d; E" t9 [, J0 e
AfxMessageBox( "AutoFood ist gestorben " );
: m7 m+ x n% r. s }6 n* h/ u# Y}
$ ] D6 ^) p0 l+ q m3 GBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )) ?( v l9 o! X' c; H
{9 e% ~' h; ^1 E. e
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
; M8 y; z1 s+ C3 \" x) X' k) I}/ W* ^; m4 G) P
( L0 y! h' [) R, ^7 SBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )8 F0 K% L1 H t7 X/ \3 M4 j, B% [
{0 o( ]: Q) S8 B) _8 c9 q
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
7 R( ?) N W5 `" S: E CRect rect = pWndCtrl->rect;7 a% ?- I7 v7 P, x6 y3 R
if( rect && rect.PtInRect( point ) )1 n: D& ?4 e3 \
{) e1 B( ~- |, B4 K9 A
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
0 i4 E, }/ Q- o1 z% u' m: ~ if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
[! F. `0 g$ X: a6 q1 e( G {
( X( A- N3 Y+ L4 l if( m_pItemElem )
$ z: u* o( A; l {
; r# c, L! E1 Y2 }- I! n. _+ O m_pItemElem = NULL;
) i# k! D1 p" {% {: z }: M! g" N2 M0 p$ u- l
m_pItemElem = pItemElem;
9 T& a0 q8 p' t$ j m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
9 e# E! L. R' O1 X }else{% q/ v; h3 w" B% L, G1 K0 k
SetForbid( TRUE );* t. p7 c0 S! [. [* O% D- p
}
) }- p2 n8 s C+ L( d, [% \8 {9 m }else{
H j) V' p5 r! T& e t SetForbid( TRUE );) A9 K$ p/ t" ]
}5 G- T& w1 ]; U% R5 [( G' ~" R
return TRUE;
) s; l7 E# u4 Y, \( S}/ _! X. G5 n- C1 i+ l3 ]
, |+ J+ U8 L. ~) T& _BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
9 p \; {+ e( d; R6 I9 y, N{& W( m0 q3 Z* H8 b, Z' U
switch( nID )/ G: ?8 l5 P X4 ~0 p
{
. p3 Z Z. \( U- G8 v7 Z) M case WIDC_BUTTON3:
Q/ z2 ]+ [: _* p0 K3 C {* W# a2 `0 u$ r% X
bStart = TRUE;& P4 H4 b: P) b
break;
! g+ A6 h/ f6 J A7 k/ Z" j }% c# }/ E* Q1 c
case WIDC_BUTTON4:: v$ ?# `& H7 `0 N0 [
{4 _: n5 w7 P! l" V
bStart = FALSE;) A0 r# @+ j6 v o8 B. R2 e) v
break;
9 C# [* Q) b% l% |/ n G }. R8 s' Z0 b! \- Y$ k
}
H5 F. W! Z1 o- C4 x5 I return CWndNeuz::OnChildNotify( message, nID, pLResult );% o4 C( i% J' {$ g4 N
}
. B" v3 R$ k& k, D G3 \2 f" rvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )7 x' m/ @( T" w% o9 e2 Y" O+ x
{& X* O0 j! j6 t3 s4 E
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );* {4 K# p" U7 e* ~/ w0 c( j
if( bStart || !m_pItemElem )
3 X: V, L6 ], M: E {
! |& W0 `) i/ o# O* x4 M pBtn->EnableWindow( FALSE );( L. H' P7 _1 o
}else, M% X& I7 }' n7 K- z% G7 ^0 m
pBtn->EnableWindow( TRUE );
8 \+ Q* K+ W, c, L* ^ D if( m_pTexture )* m& w8 S2 c* Y# v; k2 S
{
. B* @$ z4 h5 i& j LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );6 s; w1 w) i! Y% H- v4 w
if( wndCtrl && wndCtrl->rect )
* L* _ Q! V! e W4 \ {
" }9 y, a5 s& k8 {* I; q" Q m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
G' z. V" C0 {9 n0 t+ H }
0 N7 [! x$ n/ I9 L |. k }: S& j' g' D5 m) \7 W5 J! M
}! F) W8 c/ T$ a2 o9 @
) F2 I" e+ p% E7 S. x# b
BOOL CWndAutoFood: rocess()
( s4 j# _8 G u& ]- ] N+ ?/ D{$ Y) Q1 T9 w, s
if( bStart )
2 i+ X* R$ K- y {
6 {; [' X' N c) j7 r) B' A if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
$ ~6 v) I& s' j& V/ M* ^5 `: ]+ S {
@1 M3 g2 ]1 L" R' U+ R3 r if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )6 ?% v8 f) f2 D' j
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );$ q, t0 {1 ^5 \2 w
}else{
$ x* t3 \: V, Z; A) c3 |7 \ bStart = FALSE;
6 N4 e/ _. a2 w- l m_pItemElem = NULL;
3 ?# W; t; h- X+ ]+ a/ n) t; O }' l2 e& z1 ^# u4 M8 |' m5 R
}. K' l0 k# b) ?5 {$ \
return TRUE;
; g( n- r/ P/ e}' I |6 C6 F4 t) w
/ ~, ]7 @2 L3 J2 _登录视频废话:
0 B9 S* `! s7 ?' o) y3 P5 G尾翼:5 J, f5 U( W7 v' Z, D- H
6 Y0 w" Q7 q2 ^% T) N5 g# {代码:: ?, q; Y+ {$ {- m0 E+ n- ?
+ ~1 p2 m& s; Q E1 E* W: Cvoid CWorld::SetLight( BOOL bLight ) g1 d6 j+ ?& r4 H8 d
durch
; F, N# B$ u$ q3 d4 wCode:
* n( Y7 R+ k0 C: Hvoid CWorld::SetLight( BOOL bLight )5 z" b( C1 m* w3 S1 F; s6 }
{
# t. ?! u$ p0 D/ r4 O //ACE("SetLight %d \n", bLight);: y" Y0 E" m |# w
' C' r, J1 N8 Z0 N* s! k) i#ifndef __WORLDSERVER
- S" N/ t( `; o: [0 T+ `- q DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
0 K/ q1 b2 c) q6 `$ o CLight* pLight = NULL;
- q. m! B ]8 o8 ^- V, X( e/ v3 o {* K4 y; U; [
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );# T) G' q- Q) n* [8 a+ G
) v+ t4 E0 m" h9 G( t* j7 y+ ^+ ^+ x
pLight = GetLight( "direction" );8 T) f# ` j& v# j/ m4 B" J
5 @8 r/ @; U2 k
#if __VER >= 15 // __BS_CHANGING_ENVIR
3 f! k1 E: t( a: G if( g_pPlayer ){1 D/ K P! u4 G3 Z9 z/ H( t2 T
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );/ v) L9 G7 I3 ?: s% }/ o
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!% M0 X0 _' \) q9 g! m/ @6 u H
{
' {7 g5 [/ x3 `( j if( pLight )
# a& Z# ^6 f' m$ d5 C: A1 x j {, z4 `* j. Y" M. F0 \3 X0 `
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
- i% ^0 T0 o" v3 H* v pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
" C1 b' A1 Q8 x pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
. d. C2 ?2 z" k7 Z7 r
0 m/ o& U2 N/ e$ n/ T pLight->Specular.r = 2.0f;
( ?8 d4 l' Y. \! A pLight->Specular.g = 2.0f;( ~( F+ F$ c% K# n
pLight->Specular.b = 2.0f;! ^# ]' Y, } N0 F: L; h
" M, Z: F. l3 j8 |
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];2 S2 y1 C% G3 y% }8 L
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
8 s* f3 V$ N8 J pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];( o3 n, F* Y7 ~- o3 P* N. M
3 a' U5 R, k) o# G+ s. B
HookUpdateLight( pLight ); , p6 ]8 A& m: e
$ t [: Q+ k% M1 z/ j% n- m8 A
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; u* e) k5 g3 ^7 ~* z! X$ [5 V1 P ' g5 @5 O+ h, C' H
pLight->Diffuse.r *= 1.2f;
* t4 j8 q5 ~4 B+ t9 r* N pLight->Diffuse.g *= 1.2f;
$ a+ z6 S+ N& z& h- Z pLight->Diffuse.b *= 1.2f;
$ I( q0 a: N( z0 L* w1 m/ |
K" l) S5 q! p& l1 H8 ?, u; u pLight->Ambient.r *= 0.8f;
- f2 E+ \7 l I0 q3 ~0 o! Z. r8 ] pLight->Ambient.g *= 0.8f;
' N& y. E! M' l3 @7 m8 M pLight->Ambient.b *= 0.8f;
$ t. a: A. I' J* z8 b/ k 3 B( P" n+ U' p5 D' `6 O, u
memcpy( &m_light, pLight, sizeof( m_light ) );
7 ?/ W7 F9 P! y2 m' J. G# k; Z% Q4 E
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
+ L4 ?% W4 \! G7 ^* S D3DXVec3Normalize(&(vecSun),&(vecSun));% @; L$ c% ?+ B5 Q! d* C0 M7 K+ _
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); . i! ~; t& V' p% R: N4 E
pLight->Appear( m_pd3dDevice, TRUE );* L5 B c7 o6 S/ d% F
* J8 \' Z/ k3 q& ] DWORD dwR, dwG, dwB;4 m; r) s; g: O* {/ z
dwR = (DWORD)( pLight->Ambient.r * 255 );5 j$ c, h) n2 T# B: e! m
dwG = (DWORD)( pLight->Ambient.g * 255 );
2 ~9 C' B7 [9 N D/ [8 n* E8 B dwB = (DWORD)( pLight->Ambient.b * 255 );
: S8 w' g2 J1 N* J) \& i5 m dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% r* L9 Z/ C( k# H }
/ n% l" o$ N4 f p }7 ^2 o7 g1 l% D0 R9 J& X
}
I _/ B; a9 m% n# L- t- A else
3 a# m% U1 r3 A9 [0 h% B#endif - L) }5 I' {* ^2 o j
$ `3 i: _* s% r. S: d! i" Q/ a
if( m_bIsIndoor )" [4 Y6 k. i* G( |& x
{$ m' P: Q% c+ |- L* Y! t
if( pLight )+ H0 |( X; F& P0 ?$ W1 G+ a
{
2 ~: O7 r- i) {; \8 r v // à??μ oˉè*
# h2 x0 x' ?" ?9 x' e* c pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;4 I6 I* `0 z. q3 ~8 m4 [% E: _
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
" e4 K3 R. ?3 H$ q* a3 x pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
8 d. W9 m5 S) I$ [ P' ^, G- Z E% n
// oˉè* ??à? 2 Z8 n, i$ G% S: q3 P
pLight->Specular.r = 1.0f;' h1 @, i- O8 [; D
pLight->Specular.g = 1.0f;1 o) i% Q7 |) M% m7 l4 N6 G' K2 Q
pLight->Specular.b = 1.0f;
( h- v3 i- x8 l. a // àü?? oˉè* 8 {( M0 d/ B) c
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;" @# |8 Q! q) r; e( g
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
6 d' t0 u/ p6 ?+ C! F* Z, p pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;" q4 q# u, ^* A7 J6 }4 i
9 F# A% W7 I$ Q* b* ^1 Q if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
s" w3 S2 | ]' d) v {% ], p) k, g+ ^$ ^6 \, m
pLight->Diffuse.r *= 0.6f;% h v9 B- a& V( l) C
pLight->Diffuse.g *= 0.6f;
$ F" X9 ?: U( P' P pLight->Diffuse.b *= 0.6f;4 y( f8 J5 n2 e6 z! n
pLight->Ambient.r *= 0.7f;4 u; k0 Q. P C- E
pLight->Ambient.g *= 0.7f;2 ?. O1 t2 i v+ I, j0 a
pLight->Ambient.b *= 0.7f;3 _' r; V3 `" ^& C% f+ N) }; f+ y
}
% c4 z- q" `9 F/ n& h# V
. Y6 E" \6 c/ o* ?( @, Z$ t#if __VER >= 15 // __BS_CHANGING_ENVIR
" o0 J' j* ~9 B6 C( Q: m if( g_pPlayer )
8 J" t. u0 Q: z- l! v4 h HookUpdateLight( pLight );
% Q7 |3 S6 }5 O1 D8 R+ B6 g, Z#endif
! J8 a3 l5 b1 k1 w! O! d2 }/ r memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );2 G; ^7 n- Q/ O" M; w& m
; x1 t2 [% M5 G4 j- {, T
pLight->Diffuse.r += 0.1f;
9 `$ K! \& M* J3 [! S/ ? pLight->Diffuse.g += 0.1f;. h0 T- R' y% V, g5 ]& }( V( e# [
pLight->Diffuse.b += 0.1f;
% O7 Q' y, S E1 x' s9 d // oˉè* ??à? 5 H8 Z* v! f, p* s
pLight->Specular.r = 2.0f;. O* c: N7 B$ Y( j, M: q
pLight->Specular.g = 2.0f;# r2 x2 u' g* P4 l) h, Z, p
pLight->Specular.b = 2.0f;) v/ d# }7 N) w' }+ {2 i& c3 {8 `! N
// á?oˉ
: ^+ O2 T" O8 Y+ t) j pLight->Ambient.r *= 0.9f;% ~" Z8 v4 }0 F. [6 v9 u
pLight->Ambient.g *= 0.9f;7 y' c: s# a# O1 z9 Y4 A
pLight->Ambient.b *= 0.9f;
+ q( M9 M+ z( z5 ]* H
' k, o8 p8 r9 X4 L memcpy( &m_light, pLight, sizeof( m_light ) );
! u$ ~" z6 G0 p& W
" f+ J8 m! g, V) v. L( M& \: | P pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );$ _* V4 e0 p3 C/ E) v- S
pLight->Appear( m_pd3dDevice, TRUE );
3 [3 X3 n7 N3 a
3 A2 Z2 `8 ~8 {; K/ J DWORD dwR, dwG, dwB;' v2 \$ B/ v# Q( z5 e+ i
dwR = (DWORD)( pLight->Ambient.r * 255 );9 }9 y$ k4 E# { K" S2 Z
dwG = (DWORD)( pLight->Ambient.g * 255 );
, O" y8 s# x% X dwB = (DWORD)( pLight->Ambient.b * 255 );, ?2 h1 x( V8 l" I0 Z3 h2 ~
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );4 B7 l0 L/ G# c. G# Y% b
} ?. ?, `" z, t+ W1 w6 U) p5 n2 I
}& F% Q8 N+ S2 x6 @
else
4 U4 c! w: o7 G$ r! x# o- X {* A3 z& @9 W z/ w( ?9 ~& V
if( pLight )( `6 P5 W" f& B! O' s: p0 F. x
{0 n! f( u$ E" S$ v
) J. O# l6 t X9 e- Y8 a8 I int nHour = 8, nMin = 0;* ]& D1 @4 x0 \7 z' J
#ifdef __CLIENT9 N& I. e; x+ \' `; X* t, v- @
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
. O# `" T* u8 O) w nHour = g_GameTimer.m_nHour;
# o1 S0 C' z5 y nMin = g_GameTimer.m_nMin ;
6 H& D# I! `) \- w2 u6 B' I9 ~ |8 D #else: ]' Q) M* [! d5 l3 q
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
" f- ?3 G2 |* Q- J+ M, D1 y+ { if( m_nLightType == 1 )/ k& x2 s' @0 G1 S5 M4 t
nHour = m_nLightHour;/ X; e- |4 Y; H- F
#endif% a( V$ N6 f. j, p0 y$ t
nHour--;
- \6 u5 f' s/ q" q if( nHour < 0 ) nHour = 0;" I& q$ x! m) e6 k
if( nHour > 23 ) nHour = 23;
+ F2 V% U5 f- w6 Z8 J
6 x% F6 K$ j0 a: L //if( m_bFixedHour ), U% Q6 U; P3 b0 s2 Z2 U9 j9 S+ p# s
// nHour = m_nFixedHour, nMin = 0;- X, S0 E/ J& p! l. n
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];" w# l: F9 i ^9 j- R
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
, L/ ^$ m3 D% v! K8 e
# B7 x" {: k" ]9 W" m3 u6 q# `* n //m_lightColor = lightColorPrv;6 A! l7 a8 c* N% V
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;. r2 ]- b0 b9 D7 ~( o
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;/ q" v% K, Q7 h, q$ G
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;' P& x) c/ K$ t6 F
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;9 P$ t j+ E- y- W5 {- q
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;6 z4 u) j" j* o3 G
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;5 y/ U- {: [3 Q. Y( [
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)8 }7 G, D/ T3 X4 S
* m8 d. [" f* q: |& \
// à??μ oˉè*
. w% y9 n6 X' ` pLight->Diffuse.r = lightColorPrv.r1;
& j) p c; Z- _! ~ pLight->Diffuse.g = lightColorPrv.g1;
& e8 U. ?/ G( O9 K pLight->Diffuse.b = lightColorPrv.b1;
6 t) h/ R# F. l7 Z2 b // oˉè* ??à?
- f/ P' P, I9 a0 h pLight->Specular.r = 1.0f;$ g3 ~9 O7 Y( [: W* J& v& H
pLight->Specular.g = 1.0f;) K4 T9 U, }( b6 T3 ^
pLight->Specular.b = 1.0f;6 V. h8 d; ?% z& o. }
// àü?? oˉè* 1 y& F! y$ w& i( M; k: ]2 g% x
pLight->Ambient.r = lightColorPrv.r2;
7 A, t+ ^7 B% C5 I" G pLight->Ambient.g = lightColorPrv.g2;
7 J, \* v! x& q+ f7 }/ G pLight->Ambient.b = lightColorPrv.b2;
/ T" ^) n/ H! j0 p" N0 V3 ?
2 w' r) k, |7 `: ?" N if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.9 Z, T# W2 M, S* R+ x. g7 C
{
" Q R# _4 }- Z( s pLight->Diffuse.r *= 0.6f;
4 a1 g0 V' E! s! q8 s6 o' h pLight->Diffuse.g *= 0.6f;
7 L1 N4 C4 |& Y7 A( C5 J9 v pLight->Diffuse.b *= 0.6f;
: p6 g& q- [& ]2 E- t5 g1 ? pLight->Ambient.r *= 0.7f;- p, _* \, k2 [3 R3 c
pLight->Ambient.g *= 0.7f;4 N* N. s/ y/ V
pLight->Ambient.b *= 0.7f;- {" N5 y) [9 g" o2 G
}( _' Y) a x6 p. k3 _7 ?) K1 j1 H& `
, N; S: z% o# t. i" m/ J" q4 [+ q
#if __VER >= 15 // __BS_CHANGING_ENVIR
9 E) `2 S) G B' H& Y! e if( g_pPlayer )
& y' U: Q. T8 t* z3 T HookUpdateLight( pLight );
! T) r! ^) B# W( z; E# Y( ]+ K#endif
) ?+ |" z% V& C% I; s" { memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ w& }; M8 g, l& U6 [: f( X: @
; c' Q; R# `# L9 i#ifdef __YENV
7 {5 v. P. \9 I pLight->Diffuse.r *= 1.1f;
6 W( t+ x/ Z2 s" Y+ F/ N, ^% v8 ]+ l- e pLight->Diffuse.g *= 1.1f;# e& d1 q- M2 v. ]2 D! b
pLight->Diffuse.b *= 1.1f;
/ s* l N. s) K4 ?2 _" B0 ] // oˉè* ??à?
& L u: z3 B; O! ]4 G pLight->Specular.r = 2.0f;1 ]- y5 b: U; x u! d% j
pLight->Specular.g = 2.0f;; H9 l& o5 Z1 |1 W8 j
pLight->Specular.b = 2.0f; ?) H" J9 L# Y) D. ?
// á?oˉ * V/ T9 c+ N5 \# D
pLight->Ambient.r *= 1.0f;5 a9 o% N( o& y: Y
pLight->Ambient.g *= 1.0f;0 J7 O) k8 _8 `8 J9 Z/ s6 V4 B( a
pLight->Ambient.b *= 1.0f;4 [+ j& h4 ^* g
#else //__YENV( C' D8 U* y y7 D& y0 g# i! M4 R4 g
pLight->Diffuse.r *= 1.1f;) Z0 j g2 o1 _# S/ H6 A
pLight->Diffuse.g *= 1.1f;6 f {3 P+ p9 c2 ?1 ?4 m- n
pLight->Diffuse.b *= 1.1f;% {! }% ^, x/ S9 |1 P
// oˉè* ??à? 5 h+ U. _' H( n, e% G0 I4 E- N
pLight->Specular.r = 2.0f;/ U3 O4 ?+ [$ F B) B: d0 U. v
pLight->Specular.g = 2.0f;
8 D0 S& }: ^2 G$ j* S" f pLight->Specular.b = 2.0f;. w% @9 q" G9 x% n- x
// á?oˉ
% x" g t. G# {1 Q6 |! |( S6 J) q pLight->Ambient.r *= 0.9f;
, a6 F7 f5 @! @. x$ n. A pLight->Ambient.g *= 0.9f;' W1 a) ?# s! I, t) S8 r$ B
pLight->Ambient.b *= 0.9f;
7 {1 t* M5 ]- }; L/ U; T#endif //__YENV 6 J* \ k: N# ^8 k
8 {0 D: k' _% f0 m, {; _
memcpy( &m_light, pLight, sizeof( m_light ) );
( x# u$ Y/ O& M9 { ) E5 Y. ?; i. l* r, F* f' x1 m3 `
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);8 v7 N% c1 x4 Y' p$ K
D3DXMATRIX matTemp;% K4 \1 U: P& K
static const float CONS_VAL = 3.1415926f / 180.f;
" a& X ?& X/ c5 b" t* s5 U0 L. \4 y* b* {8 V* V8 a7 |& L
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);. V( q( }1 L8 `+ U! J
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);9 q8 U; ?+ T3 M% H5 O
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
5 f b! ^; D+ n* n6 a; ]* Q pLight->Appear( m_pd3dDevice, TRUE );
' [, [' C; W# v- [) B: W/ W
. U! E3 C6 R7 [1 w9 e0 q1 z // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
; h8 X0 N1 Q5 g8 ~# ? // D3DXVec3Normalize(&(vecSun),&(vecSun));! d5 {9 [( n& m- y0 M- C
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
% y ~( c5 e( O' r6 h. l6 {2 l
8 f$ e9 Q* ?% v1 K( h n DWORD dwR, dwG, dwB;: \: Q, F; d! @7 q; E8 m8 {+ h; u" n
dwR = (DWORD)( pLight->Ambient.r * 255 );
# y7 k* B9 l% o$ d: _ dwG = (DWORD)( pLight->Ambient.g * 255 );8 Z K1 y% N {# Y/ d4 g
dwB = (DWORD)( pLight->Ambient.b * 255 );4 v" ]! l \6 Y
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
7 m" s) U, u' E" K) T2 ?1 v }
* ]' _3 O, j, g) Q, }8 d }$ `; I$ a4 o% Z
0 x& h( k( c. U' F
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );8 B" _( D% Y ? ]
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) );
# @+ P' P6 h& ~ ::SetLight( bLight );
: \* D. ] q8 d# J% |
/ N2 F' ~) s! R6 X // ±ao? ?D?í???ó á¤à? / o T6 F9 D% [0 S
m_pd3dDevice->SetMaterial( &m_baseMaterial );
) f4 d9 v" h- v; t N, q0 B2 W5 @) t 8 P E# G! d. }7 u1 e/ |+ _% C+ ~
#endif // not WORLDSERVER0 d: w8 A& F0 V9 s
}9 b W# G4 l' H* m0 u) [% B
并更换) f1 F8 m8 }- z% M1 @# {- n, y
Code:% ?+ s* z* ^1 |. E# e
__FLYFF_INITPAGE_EXT
# Y' x7 i: V* ~定义' J8 j9 r1 n3 }6 X- z1 K( `
* i/ a6 Y0 Z# }( \+ l
9 v6 p _% \. Y8 d- [3 W) G7 P! s. G# ~
, K$ e K2 Y# t1 E9 `现在终于删除我的狗屁加速...
/ u; y5 W7 j$ V- F3 {
2 M5 \4 _5 n: M6 }
' R8 x& P! s: f) p. b8 Q! u1 z0 f( Q
|
|