|
食品车:
( h4 S0 m; s2 H {尾翼:
$ ]1 W9 e6 L! O$ @0 h: }
# Y% Y3 n) {( n: O, H x4 G代码:
! V4 Q; p) n# ?CWndAutoFood::CWndAutoFood()
6 U9 ^/ |, d6 K; d K{/ C" W" d1 J8 ~* {; B8 n
m_pItemElem = NULL;& ?2 w- Y( U. d8 y5 G: Y- a& k
m_pTexture = NULL;
3 Y z" C6 d! b+ ^) ?( Q+ } bStart = FALSE;. ]: c& _% F) @
}, ~3 @2 n- S' J( t& e: v- H( H
* ^5 ~9 B0 g; V
CWndAutoFood::~CWndAutoFood()
4 r3 m. V: f( O6 g{
5 F" D% s6 D- g% ?0 H6 z6 F AfxMessageBox( "AutoFood ist gestorben " );) k, w1 Y% s/ ?* q
}
! X2 g. q+ E6 J* D, pBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )0 B9 i4 u P6 I0 f3 g# H
{
8 m4 Z# E* m) a% {1 f9 Z& D' p return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );9 ]) G, G! w7 I5 P2 O
} l$ M: A% N/ t; P# I( C/ V
6 x/ t0 y! e& v* l
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )+ u7 ^9 U. n2 Y4 s
{
0 `9 m2 V9 V9 t% q LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
: a3 d8 D% ^5 E B: U CRect rect = pWndCtrl->rect;
8 y, Q$ t( Y' q% @, g" L if( rect && rect.PtInRect( point ) )4 x) Y; ?% C9 V* i6 ]
{
5 C) d! |. O9 r6 d CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );) V4 _# O! s) N# s( s, F4 S
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
0 C6 L2 Z2 s# n9 }( a0 l {
: Q% h ?# g0 e, C- a. V- T if( m_pItemElem )
4 W r: ?; }6 e0 \. g2 W {
" T- V9 V7 e, P' w! c- ` m_pItemElem = NULL;& W I- E0 O" g
}
q' A# \6 ~5 V m_pItemElem = pItemElem;8 q4 j: v4 e5 w/ l" H
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );9 m5 q0 W1 g7 C$ w5 W
}else{
5 \4 z. W) b4 ^" |8 u$ u SetForbid( TRUE );
+ I* n6 `% |8 W, ~3 i }' U5 N( W) ^' T
}else{+ u1 o1 r$ A3 H5 S
SetForbid( TRUE );7 b d7 b: Z$ c- W- n, ~$ a
}. V9 D: \; P7 e. [ z9 g
return TRUE;
: n2 _# U. J& H6 O) R}
3 Z0 K, q0 M4 x7 L2 N
& v, O0 S2 I X8 u5 a; ?BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )- @" m8 v0 D( B! X
{) U1 P# e. c& A4 @
switch( nID )
4 m* K# J7 l/ K8 U {
, F* k. Y9 g- c4 u* X case WIDC_BUTTON3:
5 I- M9 f( j5 A$ ] {2 T, s! d% [) h. o# d
bStart = TRUE;) }0 g# O& w+ L2 w4 B, J
break;
+ \& f. G. a. w* [ }1 M' c' ]2 e) C* b$ {0 g
case WIDC_BUTTON4:, g" ?% e& ]% H% ? M- g9 P
{
! k- G, L1 g* j9 |6 g3 Q" B8 ? bStart = FALSE;
q% a2 X5 t% |0 R4 E break;
# k+ Z: d; b; c% t/ B/ ` }
6 d' j2 n6 \6 y" q" i7 ~ }/ p0 }- z" C6 @. D
return CWndNeuz::OnChildNotify( message, nID, pLResult );& ~4 F; z. y: s4 C4 [7 H3 n
}
8 n2 ]" H# N: Y* _5 H6 Bvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
3 N2 W: d9 P1 Q. D7 x7 |{
) I3 e1 D% @& t% k" Z' ?( N CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );. x, q: T; i5 N8 L% n0 C/ \1 y, ?
if( bStart || !m_pItemElem )
0 x* i9 ?4 l) I6 {/ g* \ {
" s% i& s0 g7 Z | G7 R# j) t pBtn->EnableWindow( FALSE );
9 ~# I9 s8 |; o" o. ^- Z7 U }else, R" [) H' d+ `5 ~+ t
pBtn->EnableWindow( TRUE ); u. M- M0 t7 G/ d, k+ O+ {
if( m_pTexture )0 X" j( N2 c; d5 r% a
{
8 P/ d# ?0 c2 N: f' M6 U4 h! V0 T LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );/ P6 I3 _1 m. I, _3 z% B8 H
if( wndCtrl && wndCtrl->rect )" C! x: w" a. _3 O0 X$ w
{7 p; y1 o$ d( i" v% q
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
4 F* B( P8 w3 @" p+ u0 j }
, \" F/ e2 i7 b0 G } }0 f, G$ h @: T5 E# k* S5 I$ ^
} _; x# Q+ @1 d2 P7 U6 c
8 c6 K# x% f- h# H' tBOOL CWndAutoFood: rocess()6 J' l0 v0 q8 z9 r2 _
{$ T9 G+ o' E) A
if( bStart )! ^, ]2 f: g# o6 l3 u; S
{" Q( S! g- g. r4 |, ~$ k
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
+ E d! S( a" M, \ {3 D: L& S/ m& {( C
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )" b" V6 V" w9 @6 q$ {+ ]3 G" H
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
( U# k4 V) o5 C" n }else{
. t) v9 h% g. ]& n; w bStart = FALSE;
2 M5 W! Q: f2 X _ m_pItemElem = NULL;
4 S9 ]6 i, u& J9 l, u }
- P; n4 L; Z: ] ~: V \. U }
' Z! o4 ?. a2 U/ d* V" N* L return TRUE;1 k1 @$ B' X$ `
}
: H" O: Z& }$ Z1 c8 s7 _
' K2 C+ o# }5 w) `" |( r- _登录视频废话:* R3 M2 v9 d4 O9 n# ~0 \3 v8 |
尾翼:& P% f9 N% Z S% V
8 |- P" r4 I7 N; t7 w代码:
1 O9 [4 q3 x5 o* k! L2 S
] a) ]8 t7 Zvoid CWorld::SetLight( BOOL bLight )0 g+ j! {$ C J4 N' o W. K
durch
4 C2 e8 a+ Y: e! w: kCode:
1 v/ M \3 H& z: y( ]void CWorld::SetLight( BOOL bLight )
6 r6 m3 T; w6 v5 {& Z: j3 P{
: R" r* Z: J1 j M, p7 o3 y //ACE("SetLight %d \n", bLight);
/ }2 [& @2 d- X! `
( z A# `1 Z, c2 u#ifndef __WORLDSERVER
' q( N7 W( R7 j' D: _0 U& @0 V; n" @* | DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);$ U Q( o, x4 X: Q
CLight* pLight = NULL;
" @2 x4 F5 D: n1 L* |4 y+ r g7 p8 |
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );; |) o, r5 P) I
$ t' M( {! t( ?" h3 t% C pLight = GetLight( "direction" );
& M/ @8 }3 l y4 R+ c+ B) M- M( u
#if __VER >= 15 // __BS_CHANGING_ENVIR
' C& J* L0 w& | if( g_pPlayer ){
: ~5 {9 n/ ^* V% H3 N$ [ ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
5 C* G( D: p6 d, T6 ^ if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!: q2 g' A( ^) n+ W$ c
{, \5 W6 z9 a9 q) n2 Z, J4 T
if( pLight )8 j) U' Q9 m- N( B- E
{9 y, Q) E1 j( k2 ?, }9 I+ U
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];' N3 V. f4 _& `+ [7 z% v
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
5 U* i2 z5 \. d5 c! m pLight->Ambient.b = pInfo->_fAmbient[ 2 ];/ B9 }. }4 {( y4 s9 j
4 e, V* L3 l* r- d& q- q d pLight->Specular.r = 2.0f;3 ]7 X8 l! B6 a; Y* d
pLight->Specular.g = 2.0f;) E$ { S( B& S4 k
pLight->Specular.b = 2.0f;; _% X, |4 R# e3 y# C& ?9 y4 w
' R8 a. e q( B3 K pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];$ d% x- |% U4 h0 x) G) T
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
) d+ z/ K* X7 _& ^1 I z: J# u# M! V pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];* O% m- @7 L' ~0 r. S
$ D" l' _; l" L: T; Z
HookUpdateLight( pLight );
% n4 P& K- [! U ]7 \' {, T. I# G8 v H. e F
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
Y- T1 H, W }7 D& ~. C6 D1 l8 u, m
: H9 o% C0 \) }: a pLight->Diffuse.r *= 1.2f;
, d, c& \0 }: S, L2 f+ b5 u pLight->Diffuse.g *= 1.2f;
/ P) {! }+ y! n8 v6 J. T. d pLight->Diffuse.b *= 1.2f;. D; H4 A8 Y1 @0 z9 E
. V( y& e! s2 K3 L l) E+ ~
pLight->Ambient.r *= 0.8f;
4 _' u- w% ?! P }5 r' ^ pLight->Ambient.g *= 0.8f;! @$ S; s' v. C4 f
pLight->Ambient.b *= 0.8f;# ?$ ?; H- U2 O+ j
2 [& J# t& G% ^. Q y- c* S
memcpy( &m_light, pLight, sizeof( m_light ) );
; A- ~ j |0 H3 k( K
, }' W- g- g+ x5 F D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);! @# ?; ?! m. Q ]3 S' Y1 n1 f
D3DXVec3Normalize(&(vecSun),&(vecSun));. C3 C$ R) v- a2 W+ o6 n8 G
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
0 w0 Q6 w' n Y! |/ Q: C pLight->Appear( m_pd3dDevice, TRUE ); b$ [1 ~' {# D n" t$ s
' E; r. U0 Z# |% R DWORD dwR, dwG, dwB;
0 X7 A* l) V1 m5 s/ ] W- G9 E dwR = (DWORD)( pLight->Ambient.r * 255 );, e" L- Z. ^3 ?8 S/ |- c
dwG = (DWORD)( pLight->Ambient.g * 255 );
2 P4 I# Z4 S, k9 Z0 m/ M8 @- T dwB = (DWORD)( pLight->Ambient.b * 255 );
. E/ {% @6 y; _0 ]! W dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& {. B* U0 Q4 W/ U }
8 c" J/ Y B; [: a7 ?* Q }8 C8 a$ E: d# n3 g# O
}. T6 C! s( B: ?
else" C1 v) m. u2 A* F3 v% S
#endif + q3 [' n: f$ ^6 J9 U8 R& a- `
7 f9 e! J3 f& y# N7 p if( m_bIsIndoor )
( m3 D: M# K' v- K+ E0 `7 m/ I {
0 `) H5 i6 g/ S/ b7 s% S- z if( pLight )
- L% n5 ]8 d" B* t9 K4 e { 5 t+ ^( Q1 Z# b: I& Y
// à??μ oˉè* + B! O$ f8 t+ |
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;2 Z0 Z# i# }; o1 @
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;6 B4 R: Z5 m9 r( J1 L; W8 r
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;# |0 l8 H' j+ X" { _ z
7 r7 Z! c3 z- C4 P: d // oˉè* ??à?
* |/ n( h! c; d# K) \. Z: f pLight->Specular.r = 1.0f;
9 }4 ?; D+ i' f5 [. }, G pLight->Specular.g = 1.0f;
2 E3 y2 J- H& ^% ]% Z pLight->Specular.b = 1.0f; M$ n4 ` }" A
// àü?? oˉè*
! ^( r% H- u6 H; r" u; ^( I pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
- L' L2 t7 |" c' w) a) D/ p pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f; R2 X1 J; w$ _, }/ x6 Q8 E X- u
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;+ J2 ~2 y( \' j( E9 o' W0 V- Q
9 F' r# q" N a# D if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
6 A( [& t+ ^# R- _ {
& ]) b N/ O. P( Z4 s pLight->Diffuse.r *= 0.6f;
2 h$ l1 s. S8 ? o, o6 }- g8 F pLight->Diffuse.g *= 0.6f;6 D: S5 W, [' [# @$ L2 d
pLight->Diffuse.b *= 0.6f;
+ M- {6 R2 Z0 S4 l; [# q pLight->Ambient.r *= 0.7f;. a; U( j% n3 N
pLight->Ambient.g *= 0.7f;# L4 |* G( s0 r* K; H0 D y/ C
pLight->Ambient.b *= 0.7f;, l/ ]* y: a. i' C; ]
}" l, R! ^ \$ b5 ]
; a4 a% J7 G# a#if __VER >= 15 // __BS_CHANGING_ENVIR
% D c4 w S* N if( g_pPlayer )+ Q4 B3 r/ R+ W9 W% z) Z; w
HookUpdateLight( pLight );
2 n9 W& I: [% Q) j0 n/ \9 z#endif( }) ~) v0 m0 M/ a( N1 ~
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
, J$ x+ _, O: Z0 O2 u6 N
3 F9 _) a6 p: F* t' A% t pLight->Diffuse.r += 0.1f;9 N) {9 M# z: L# `5 h5 Y
pLight->Diffuse.g += 0.1f;/ B1 z2 d) B5 X! t0 r& d6 y! v
pLight->Diffuse.b += 0.1f;7 R: D/ \: j6 @. d( F
// oˉè* ??à?
9 G4 \8 D. N' u pLight->Specular.r = 2.0f;5 B3 K8 X/ Q; y4 \% ~+ S) W* B
pLight->Specular.g = 2.0f;
- Y3 Q) i' K- T pLight->Specular.b = 2.0f;; f% H! M5 r8 R, R2 D/ s
// á?oˉ . [' r7 l! T/ I& ^ x$ }: W
pLight->Ambient.r *= 0.9f;3 `5 ~$ a6 d" A* }
pLight->Ambient.g *= 0.9f;
# R* }5 [1 x8 e- n pLight->Ambient.b *= 0.9f;
5 W0 U3 _/ D* Q# P
; d9 a6 k& G$ q2 ` memcpy( &m_light, pLight, sizeof( m_light ) );
1 \ k2 B- t$ J! L D/ I& s, [5 N8 Q$ e( D1 C
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
' G# K; [/ ~/ w$ r& |4 }+ T pLight->Appear( m_pd3dDevice, TRUE );7 t# V9 u0 t" \0 U( p c. T. R7 X
9 i8 ~/ W, u7 V8 O DWORD dwR, dwG, dwB;/ @! Q( [' p3 h5 a. x6 d" S
dwR = (DWORD)( pLight->Ambient.r * 255 );! }: z6 H; R* H' R$ d! p
dwG = (DWORD)( pLight->Ambient.g * 255 );
: y& A# G$ R0 `1 a, P' T8 {3 C% g dwB = (DWORD)( pLight->Ambient.b * 255 );8 t- H# L+ i. F9 G: C6 l2 A7 S/ M
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );% r7 d9 U' M3 |3 E8 W
}% w% n- H; s, G
}
/ v$ e# p7 e W: j6 G" w' o! g% C else3 v% u! R) u* X! S
{
( Q( V( H* u6 {; p0 Y" `: Q' N if( pLight )
& P/ h8 m$ j- H {: n6 L+ ^4 ]6 Q8 Q# ~* u2 |/ z
! {. |& `. c4 r3 B* T5 T int nHour = 8, nMin = 0;$ L' b( B" I9 w& w) _( h
#ifdef __CLIENT% i5 Z% z! f" s( b0 s
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
) C5 l- i+ t. i! P( a8 E nHour = g_GameTimer.m_nHour;
. w. t1 z9 I* s; m nMin = g_GameTimer.m_nMin ;
& `3 p$ E: y5 V: E/ j7 S/ e #else3 @+ s& T A4 C5 |! `0 d
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
) U* f& ^9 A: n# C if( m_nLightType == 1 )( `! P. b$ K3 y, @1 |" ^& Q9 C R
nHour = m_nLightHour;
1 p& q& ^+ E$ w. s$ c& k0 m! _ #endif' S Z1 q3 E# U
nHour--;
2 T& N9 H; K; k) ^! q2 W. W if( nHour < 0 ) nHour = 0;3 y* R. C0 r; q% }/ K
if( nHour > 23 ) nHour = 23;9 G3 u% p4 r; ~4 w& e0 z! f
" I: ?4 s: `, R$ {6 b" a$ f5 ^
//if( m_bFixedHour ); g' [8 H8 q, X( S. q! P7 a
// nHour = m_nFixedHour, nMin = 0;$ o) s9 k# e8 Z0 D
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];$ g) a* Y2 r( C+ H
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
; R6 ^8 t5 Q( P1 d1 a
, R y2 d L+ n/ u9 Y ^ //m_lightColor = lightColorPrv;7 ?2 @( |7 y& V) L) k q
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60; ?1 k" q7 U/ R$ b
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
! J2 H k$ ]" Y, P5 z lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
6 }3 X) ?% r3 x. g lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
: O0 ]1 G9 e- c5 M; N4 H8 r lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;! K& O' R- U6 \ S, [/ L
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
' B$ W$ Q) c5 D5 j // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)# W/ g$ W9 {: J; h* w0 E" p
# E8 _$ B. t% { // à??μ oˉè*
, N' q. p# ~2 E l pLight->Diffuse.r = lightColorPrv.r1;
Y, T9 L' U- J) j" k pLight->Diffuse.g = lightColorPrv.g1;7 h- z! l6 C1 N/ p& R
pLight->Diffuse.b = lightColorPrv.b1;9 a7 C: I, ?5 j' ^% h
// oˉè* ??à? % ] [% \; x+ r6 W
pLight->Specular.r = 1.0f;
* x- `" o: K- | pLight->Specular.g = 1.0f;" n: `; K$ B6 Y9 A" `
pLight->Specular.b = 1.0f;
; { n6 b- c R: f8 d // àü?? oˉè* & G8 x( b0 n; D% A
pLight->Ambient.r = lightColorPrv.r2;
% T% d: h7 ^2 ` pLight->Ambient.g = lightColorPrv.g2;! H. [9 e+ e1 R
pLight->Ambient.b = lightColorPrv.b2;6 P* ~' Q1 V4 h' ^
" S8 l2 V1 Y- v if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
. U" @1 n* d* k! X. a {
8 R" d2 K: X3 E1 F+ |* o pLight->Diffuse.r *= 0.6f;
! j2 P; s' o. l8 D pLight->Diffuse.g *= 0.6f;
, Q' A$ J- B! L pLight->Diffuse.b *= 0.6f;/ Q$ A' y: _# S2 r
pLight->Ambient.r *= 0.7f;
% c0 M2 k# Y0 r6 _( h$ | pLight->Ambient.g *= 0.7f;" V3 T5 w/ a8 z' `+ I
pLight->Ambient.b *= 0.7f;9 s, H- M, X3 e. `, @
}
+ h7 _) a6 G9 Q+ l. e
! g/ ~+ J4 m/ a% h3 z9 d#if __VER >= 15 // __BS_CHANGING_ENVIR
9 T6 Q+ u# E$ Q6 @" n6 U& D if( g_pPlayer )
3 f5 f$ u$ h2 Y) n; L. i4 Y HookUpdateLight( pLight );
; B9 X* A W7 S6 Y$ S8 S* z#endif9 m9 Z' _. U; f- G! |! Q: |5 x
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
- I! y- ^; [5 B/ G; ^- S# E2 a; _% K& |: v+ z4 U* t
#ifdef __YENV1 g( s+ ~# p0 C0 A+ E( d
pLight->Diffuse.r *= 1.1f;
1 C0 Q5 n8 U% p) X8 ?) ` pLight->Diffuse.g *= 1.1f;
8 s, G. B! G. H; s pLight->Diffuse.b *= 1.1f;8 a5 ~2 d) K& P4 n% T: Q5 V
// oˉè* ??à? 9 d" [. [0 u% q b! P
pLight->Specular.r = 2.0f;
^. h8 b/ {- k/ d. e5 N+ C: | pLight->Specular.g = 2.0f;& Y* W( K' P: `: n r, \0 M/ K
pLight->Specular.b = 2.0f;
9 n& r/ R$ @9 t. t) ]# E8 \ // á?oˉ ; k* y' K" ], s. @6 @( P O
pLight->Ambient.r *= 1.0f;
# @ l+ X$ V X( k. N5 Y pLight->Ambient.g *= 1.0f;5 R, H& P5 k# N$ u; V; p
pLight->Ambient.b *= 1.0f;
; q# o: n# f" q. x#else //__YENV
. F' E* L7 `6 D pLight->Diffuse.r *= 1.1f;
5 D" J, {. `& l2 a: C pLight->Diffuse.g *= 1.1f;
+ }# N4 D# f4 y pLight->Diffuse.b *= 1.1f;
+ q7 M: Q# n/ A# v! y u" c8 s8 k // oˉè* ??à?
" _( C1 A' `8 i) ^8 u pLight->Specular.r = 2.0f;+ a& V) d% s' H+ h0 x* k
pLight->Specular.g = 2.0f;% k# o$ L9 A3 l; Y8 i, y9 y
pLight->Specular.b = 2.0f;
! Q; L# @) g* [- S& ~! w; i) l // á?oˉ
4 a1 P( f1 U) V, ^ pLight->Ambient.r *= 0.9f;. V; L3 A5 g- }! H: y& a B& n: d
pLight->Ambient.g *= 0.9f;
O( }1 n+ O! |" T! c; E( r pLight->Ambient.b *= 0.9f;
$ F/ c6 H1 [! q* L#endif //__YENV
1 R1 [; T- y+ z2 @4 u7 M+ u 5 Q2 a1 b' C9 M8 F. p# d( C8 M
memcpy( &m_light, pLight, sizeof( m_light ) );; z) [) \5 S/ ]- F$ S
% o2 k, F5 y! w K( B6 t/ M/ F" o D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
]& t: ?' w4 G1 R D3DXMATRIX matTemp;
1 [/ a! {4 l; i: I1 Q9 C+ M) J: g static const float CONS_VAL = 3.1415926f / 180.f;
: C) m7 Z5 x3 \' \$ ?; H, s7 y1 _
, R Y3 E* }4 a9 s' i; q D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
9 i" A K; p9 }9 ]5 B D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
) J% O" ]% q1 n$ X% L pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
; n' T W4 E ^. ?% `) S7 W; } pLight->Appear( m_pd3dDevice, TRUE );" j3 R/ t5 b% f/ I9 `6 i2 |* w
9 c- W0 s8 E& V7 n2 V // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
; s( g( C; q. k& S" L) Y+ v% `. P* I // D3DXVec3Normalize(&(vecSun),&(vecSun));
( S, b# o1 h. e( P2 d' m: T% h // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); % u7 B, z9 [. D6 _) p
1 H5 B# M/ f8 a: X DWORD dwR, dwG, dwB;
3 q" B" v w/ b5 G$ L# \4 o Q dwR = (DWORD)( pLight->Ambient.r * 255 );
( Y4 g: t. {8 U1 }: o! x9 q dwG = (DWORD)( pLight->Ambient.g * 255 );" O0 ?/ I8 |& X/ F
dwB = (DWORD)( pLight->Ambient.b * 255 );* ?) z) j n2 s( ]( t
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); , p2 _2 T( ?* J* l4 [9 x' f6 G" d7 H
}# Q- I! U* r6 B
}
6 ^+ O- c6 p' r; O
6 t, `. U/ x, G5 O6 F+ _; N& l m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
`2 v: S* v, t$ j5 r/ W 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) );
( @/ n+ _9 g" c( W2 @ ::SetLight( bLight );
; L8 f" m6 C% a7 m) \4 N+ E6 B* G$ o# h* a
// ±ao? ?D?í???ó á¤à?
" Z* R( m/ K8 N0 p f! F q m_pd3dDevice->SetMaterial( &m_baseMaterial );
4 Z- T% d1 C' ]" q/ f% ]' X 3 B2 V" S) i3 ~' \, v: M
#endif // not WORLDSERVER
# _1 Y5 o* @1 m o2 [}
. X; T7 m0 `+ q! }( S7 y并更换( }( e/ \) s7 i4 w& X( }. Y; D
Code:
& t8 _; t$ Z2 L: ~+ c9 z) A__FLYFF_INITPAGE_EXT
$ @. S, V6 I/ a! m' k* c+ ^: s定义
6 R7 N' S7 r/ {$ R' G3 ^/ g ?. r$ b6 ]- T# v- s& U
( {4 p% F Q" ?& `# _
0 G: T _3 i' m" k7 K! r/ Z1 L- q& a" |6 r
现在终于删除我的狗屁加速...
6 l0 O$ G! M: F3 a' N( b8 g$ H2 L j7 a8 [3 t
9 T! m; R6 @2 f5 c9 N! \% [4 {- ?5 a2 G
|
|