|
|
食品车:
' I5 j5 N- I% [, R9 m, y3 d$ F尾翼:% c, H/ ~! s- @5 L: K
) @+ S% U' R: A3 }$ j) G代码:
" d) \4 A M, Z4 SCWndAutoFood::CWndAutoFood()' \0 p& B$ X8 s! h1 C _) J
{
4 ]$ Y' ]& Z- B1 } m_pItemElem = NULL;
{2 l0 q1 P6 E0 ?, Y! A m_pTexture = NULL;
/ x3 Q. J: `% R S! b bStart = FALSE;
# k" U$ a2 P* F$ h2 I}' j7 }' |: w7 r* W+ Z" K
' i2 p% i& B3 e! X0 ACWndAutoFood::~CWndAutoFood()6 g/ m$ p5 ]# G2 _) p: a- b6 E( h( f: N
{
8 ?# P# j# U `( c4 C; ]) f AfxMessageBox( "AutoFood ist gestorben " );- ~4 k5 D- n* G0 @& a; j3 _1 a0 C/ G
}9 `. f& c1 ?1 w% L; G
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
/ _6 T8 J7 |$ O0 ~{0 b- ?* f. K2 u: o. J2 s
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );' G0 m" g I+ c5 |
}
# `$ W4 l" U0 B/ |7 k% R' d; e/ Y% P9 g1 d' Y. E5 D
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
4 G# _ J8 L- l4 R{( F1 U3 S: `" F% ^+ x2 K
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );( y$ |2 V& n( P' \: t: u
CRect rect = pWndCtrl->rect;
' t9 G9 u J: t& F if( rect && rect.PtInRect( point ) ) j' i' Z+ a$ d% |% P% K1 r5 X( A
{+ G; j" l; [6 ^9 c( b+ O
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
1 j' L% K1 s0 @% ~ if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )& R/ |, N5 i, e9 E
{
4 d$ L( f( q2 x: s if( m_pItemElem ) @. O3 G) Q9 s3 p$ C, N( |
{
6 }- f3 f, E: r m_pItemElem = NULL;3 d9 b& _ M' ?( \/ I
}
- k6 V4 ]0 I" J; @' K* l4 T m_pItemElem = pItemElem;+ A7 J0 |4 c6 B9 p/ e6 r
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
+ }0 ~4 {6 }$ P* @& l. ` }else{
' c/ ?4 Q) ^& t n, p2 W- {4 a SetForbid( TRUE );
+ ?" ~ u% m }+ y }0 C6 c4 u+ }8 m- M
}else{5 I+ ?/ p1 o& @3 i2 G! T% N& w
SetForbid( TRUE );; O7 @8 D' h; W4 `5 c, p
}
1 ^% Q9 s4 }/ f return TRUE;% j- s. A' Z2 ~3 @
}
! i0 U0 p: v6 ?$ s' X
6 V L. F5 ]' {* u1 f( q" ZBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )! }4 G5 J% v& @% I6 F2 _
{
8 ^1 N0 v) m9 x' l; V4 O' f L# U switch( nID )
6 |* F4 [" g$ W {
; E4 l; G) c, i5 ^ case WIDC_BUTTON3:0 t" `9 ?5 G- f: a
{0 W9 j8 f. [, z5 g9 Q$ G
bStart = TRUE;. J$ D' q& }$ j! l3 L0 A& t
break;
% r1 e2 A1 L! k3 D( @$ F$ ? }
5 u% K0 u! [; K) L case WIDC_BUTTON4:
4 z- d4 ^& w3 P7 i {
1 `' Z5 |. O( k" u V" [) b bStart = FALSE;
$ b! d+ ^2 v1 U' e, ?: s break;7 [) i2 `4 Y; w8 p' Y) ~. J
}
. F5 R0 `9 _5 q" u& C1 Q }) D6 e- K% R! Q! d2 i0 `
return CWndNeuz::OnChildNotify( message, nID, pLResult );. E* _9 U0 K9 Y1 F0 a& E4 H
} " k B8 V( w7 u, q0 X
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
3 n1 m' v; T; w8 \+ b% r F" f{
h* q8 X8 v, _ CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );1 o4 r1 O' y5 V% x4 p) f+ A
if( bStart || !m_pItemElem )# C. L7 x( {' w- d# J
{! S! ~6 A1 O/ L6 w! @) [# V" s4 C
pBtn->EnableWindow( FALSE );
% P3 s& e3 S/ V }else4 W4 X, w/ p' Y6 P& r, x' b
pBtn->EnableWindow( TRUE );3 u8 n- I7 U' A: u8 g# V
if( m_pTexture )
9 r0 G0 a5 {+ W {
& E: s f' X% y; [ LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );% k2 z/ ]& L4 r9 V
if( wndCtrl && wndCtrl->rect )
& k! Y% b* P) f9 ^* Y {, A) a$ W( P/ A' b/ e; G( H4 J
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
" f, h" i/ W! q! b# f }
( a* _. U! F1 \9 n% E) P9 _ }2 z3 b+ |) ^/ R* N, P; L
}
) R1 m! V( H H
# v8 a# a; D3 ]; z8 Y5 GBOOL CWndAutoFood: rocess()
' \/ K+ u6 K4 z1 S# _/ j{+ |; y( m" v8 q* ^ q
if( bStart )/ a0 _7 C- S; w5 c# F' w
{- J5 l7 S/ u2 S6 t
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
- g& o( B* Y% Q: A6 z3 a% h {- O9 Y& w8 `& V8 h
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )/ h6 W% i2 W5 H
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );5 I P3 b) ]; f5 s& g+ k1 ~
}else{, U( z6 S3 A/ A0 _3 l7 A" j' J* E
bStart = FALSE;
5 y# G9 z$ }! j4 J& T6 | m_pItemElem = NULL;
* R2 X; l9 z1 G# ]! k J! ~! h- a2 J+ h }
f6 e6 P3 E* Y. I }
! F2 m+ a3 f7 R9 y return TRUE;
' V) y5 t+ a) t* T}* R' P4 n- m) _$ l$ {
4 H( u4 S3 W8 L; o! G& n. s" N
登录视频废话:
) E) ^$ E( |! H) H( p尾翼:
' j, O( P7 O4 Z) G( s* @: |) C
4 T" ]" _% m) Y1 c代码:
z& A4 t/ ~; w$ o: I. {* @
; @4 h2 q, \9 P; y$ C* G; Rvoid CWorld::SetLight( BOOL bLight )
- P1 }! p4 e: L8 l+ U8 \# \: cdurch
8 {+ D* c- t# }$ b- k \/ UCode:, M$ K- t4 \! M8 d2 V2 M
void CWorld::SetLight( BOOL bLight )
! S$ P* _1 _! [0 K' ?! ~{7 y; m5 N, d$ d% l0 F4 H. N
//ACE("SetLight %d \n", bLight);8 \6 C6 A# O' @
1 h/ J) n5 d$ O8 O# {) J5 \/ J+ E% k
#ifndef __WORLDSERVER 4 Q$ y0 p' Z9 |& K. V' t5 v9 c" u) j
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);* v h* q2 x5 t0 P7 g3 Y. P
CLight* pLight = NULL;8 W8 K0 z/ c7 }+ E$ o# N8 `
5 ? C. X; R- Z( } k0 F D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
/ f3 \- t8 o9 a9 C: X0 v [9 x/ t# j
pLight = GetLight( "direction" );8 s2 D8 V7 S( c! L; X# b. \
! \4 ]$ M; m8 G! A$ M* V! H#if __VER >= 15 // __BS_CHANGING_ENVIR
8 t, p$ L# ]3 D if( g_pPlayer ){* W. j1 ^8 V$ r/ M+ L* Q4 ]7 o0 O
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
8 T+ ?4 r$ t, t. o* G" P if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
4 z! }, R& @ k; [8 x: N {( N- r, N0 }- k
if( pLight ); w i% H; C% X/ d4 J, [$ j
{
/ L! ?' {. n; J pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
$ f* V9 F. F: {' J( b2 H pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
# g% |! P+ f2 u% C& E pLight->Ambient.b = pInfo->_fAmbient[ 2 ];; X+ K6 n" E- Y0 ]+ Y
2 T H; I3 R$ ^/ ~ pLight->Specular.r = 2.0f;
; o* T- ]3 h/ s. O& x pLight->Specular.g = 2.0f;
; f+ I, b, ?, ?; g; @! o- a4 m8 F pLight->Specular.b = 2.0f;2 N( _* g. H! o
2 ?+ ~% r* d+ U/ z+ R
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];2 ^) k3 R; [- n7 ^2 }. f
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];; ^" o9 k& N7 P- y( Y$ m1 u9 l
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];% M: X4 Y9 Y' g! J7 P
# {7 D) M! y; E9 i' l& v
HookUpdateLight( pLight ); , r! G; b3 D5 e; w1 U
1 ~7 I4 \2 H! c3 S. ~! w" x memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );/ B" a* A8 V3 F; f
; m; I r) L( e6 T+ m# X pLight->Diffuse.r *= 1.2f;
* B; K8 ?% ]% X( L* w Z0 V pLight->Diffuse.g *= 1.2f;
. a' h5 L: ^; f( g3 G$ {) N" f, e3 ? pLight->Diffuse.b *= 1.2f;
; Q( G7 a" E" U0 r. l/ |3 H0 {( n
pLight->Ambient.r *= 0.8f;
" {6 X2 }/ S- J; [4 u pLight->Ambient.g *= 0.8f;
' j5 Z n& |6 g" X' f pLight->Ambient.b *= 0.8f;$ F) q; J q! j. l# A) t6 L
5 M4 B' v1 Y* H9 t' j9 {( o7 h memcpy( &m_light, pLight, sizeof( m_light ) );! w6 }8 _; l0 P2 Y" t: r% u5 E
6 G4 D- M; W! g! ]- {9 h3 {
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 Y' `, t' Q- E6 x9 k- B' M) L+ } D3DXVec3Normalize(&(vecSun),&(vecSun));
$ }- L" Y6 J) ]& _8 n% r) G pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
2 F) K. m' E, i2 P pLight->Appear( m_pd3dDevice, TRUE );" [5 R6 M- m. z1 v" ^
+ y5 n: I1 a5 \0 B: m7 o
DWORD dwR, dwG, dwB;! ^+ H6 W. `0 q& q* { L1 {
dwR = (DWORD)( pLight->Ambient.r * 255 );1 v1 d/ H2 p& H" h6 s1 V- i: [2 @) _& S( d
dwG = (DWORD)( pLight->Ambient.g * 255 );
( O- |5 _- Z( ^) c% Z0 f: E dwB = (DWORD)( pLight->Ambient.b * 255 );5 r l4 S9 b, l, }1 u9 A3 e, ?
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );/ q' z) B, a3 _% k
}
: K7 K# _/ i9 W5 J }
4 r; y* y. J5 \/ z5 W4 m+ I X }9 T6 {+ l: I) ]- J
else* Q8 q" ]* K2 A3 }
#endif 6 j5 }8 n" _$ W- O# A5 l
) `) h0 z3 B( y( K+ Z' C1 K, J7 k
if( m_bIsIndoor )
: E" n! o0 j B' H z {
4 ]- y6 w* [6 n. R% B if( pLight )
" P2 V2 ]/ ^, u: b {
' K8 g' j" l: t% v$ G. n // à??μ oˉè* + U+ X: S3 s6 T; |9 e" |
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;# b! J* N! n! h: T2 k
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
9 W0 G# p( I' V" K7 S0 ^ pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;. [2 G$ V; W. j% k. D. g$ @3 {
J9 k& R0 ]# d! T. F- {# U& ]
// oˉè* ??à? / ^9 ~ Z1 g, @" ^/ V) i7 h
pLight->Specular.r = 1.0f;/ N: u/ N# T5 K" |. a9 w- l
pLight->Specular.g = 1.0f;. Y" ]9 b0 Q( l4 O: |
pLight->Specular.b = 1.0f;
: \0 _* t# B! i- }+ P/ ]. B // àü?? oˉè* : b: A, p. f7 J$ M
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;& S5 _3 v; y1 n) n* p& U9 k
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
4 b5 {6 U, G X5 A9 x- \ pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;/ z1 g/ r" w; H0 W! A- k/ j8 l
3 r1 r$ x: F- `, y* Y* M' d; k
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.# N1 u5 V9 d! ]) Z! R2 O: M
{
: }, r% K* C, o9 g pLight->Diffuse.r *= 0.6f;
% f) u* ` g3 @ pLight->Diffuse.g *= 0.6f;
! r+ f4 O9 r6 H( A2 j. s pLight->Diffuse.b *= 0.6f;
1 {( A6 L% m5 S3 X" f" T pLight->Ambient.r *= 0.7f;
( l8 G1 O5 n& G1 i7 K! G pLight->Ambient.g *= 0.7f;: w4 N/ U, f5 [# x
pLight->Ambient.b *= 0.7f;
- k" S: e+ N, P) s" u }
( L, B8 U% h/ ?. O2 p0 p- A; F/ Q
#if __VER >= 15 // __BS_CHANGING_ENVIR
' H) O! J4 [+ e8 h3 P if( g_pPlayer )
d: q2 A; {% d, D HookUpdateLight( pLight );
$ ]$ e3 |+ x+ z* N#endif2 `* G+ v5 y9 Z
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) [! a ^4 x4 ^9 A! f% M
! `% @; c9 E& X+ b! G pLight->Diffuse.r += 0.1f;# |9 M- r# x4 T
pLight->Diffuse.g += 0.1f;
. {. C8 Q7 L0 v! a: e& k! W+ U pLight->Diffuse.b += 0.1f;
1 e, v% E/ G( C# V // oˉè* ??à?
1 u8 b! Z5 F, L* s Z pLight->Specular.r = 2.0f;
' z+ W( z) ^, F/ Z4 C pLight->Specular.g = 2.0f;( j2 c( w, v5 e- a
pLight->Specular.b = 2.0f;
2 W) r& N0 S5 j, i( Z // á?oˉ
T, Z4 s% H2 h. { V0 r/ j$ c pLight->Ambient.r *= 0.9f;
6 D% o! m- k$ N& H- C: M% f, b6 h pLight->Ambient.g *= 0.9f;
6 z* q5 [) x7 Y6 A# m pLight->Ambient.b *= 0.9f;
% l1 ? O) g r- {! W5 `2 ~) [- K: p. X; S* J( W0 s& Z; u" O& ~
memcpy( &m_light, pLight, sizeof( m_light ) );4 c2 i4 W8 H( q& D
& R: S' q0 X/ N, A* {9 u0 s' I
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
- u6 e+ C/ `6 \7 u4 H( S) l pLight->Appear( m_pd3dDevice, TRUE );
5 X+ @6 d: E: F9 U0 @
; R* c/ h, w, \- W" V2 B DWORD dwR, dwG, dwB;5 m% y! x2 Y; a$ | t6 F$ T
dwR = (DWORD)( pLight->Ambient.r * 255 );! {/ k1 | o5 K/ n5 N
dwG = (DWORD)( pLight->Ambient.g * 255 );. G" B2 O, E) q( p+ G, ]4 R, I
dwB = (DWORD)( pLight->Ambient.b * 255 );
. n# d- C9 } \8 j! ^# M dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
@8 ?" n" C3 l) Z }
- k% J. C$ e X5 g }
+ V4 W6 K! f, U$ @6 g6 g, n else" `- _) I8 l. V; |+ Z
{
- Y2 x D% n6 L! T* n if( pLight )
Q, Z' d8 Z; g( \9 w- p- _ {. Y4 ?" k+ Y( E
) R6 q: a, c* K' b int nHour = 8, nMin = 0;
) S0 m; u4 ]3 g5 u# x #ifdef __CLIENT) X6 ]. A2 Y" j0 ~3 `1 B* ^. ^& v) _
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. ]9 |8 w1 J* r4 Y* _4 ^
nHour = g_GameTimer.m_nHour;
' n1 N% {( V- z0 H) G; C nMin = g_GameTimer.m_nMin ;
4 t8 i) a( K! z. |# e! \5 b #else e& T: T5 U+ n/ ]
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.( o/ ]: E- g; n! o' x8 r: s4 g
if( m_nLightType == 1 )6 f2 v% ^/ k* t4 l/ ^% N; ?) i' Y
nHour = m_nLightHour;
+ c! T3 i% i( E/ T9 v2 }& ^ #endif
- Q: M# g9 L0 j% X7 m+ S7 u! U nHour--;5 P `1 N* |! N# G& p; _9 B
if( nHour < 0 ) nHour = 0;+ c2 T% }- Y8 i0 D4 F
if( nHour > 23 ) nHour = 23;
z, p+ C: c% J q. E7 Z
4 _6 Z& M, Q% d- i" [6 r0 { //if( m_bFixedHour )
! M7 p; S W8 }3 `4 B# w // nHour = m_nFixedHour, nMin = 0;* h7 o1 e) f/ F+ L" H: w" o
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];: e! H3 D* M9 E2 h
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
; h! w# {. p9 b$ Y9 |
2 G; ?1 l1 U3 b$ h/ s. K7 G //m_lightColor = lightColorPrv;+ g0 i) m3 P, f( q$ A
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;! C/ t2 `, t, K9 l4 M
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
. h5 W p& _6 J4 R+ E0 ]# S2 N lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
/ N$ _; w6 K0 n1 R3 y6 N ? lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
; t5 _" G+ C7 N& k- t4 r lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
9 o4 m7 f! S1 y" h5 L; ^ lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
9 r( l! `% O! e' t; t: X // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol); x: C9 \6 k# n; _
- L8 ~. O2 k. d2 v
// à??μ oˉè* 3 q" E$ |8 P% B% d- i# i! `
pLight->Diffuse.r = lightColorPrv.r1; R+ r/ ?8 ?# S
pLight->Diffuse.g = lightColorPrv.g1;
: [+ _* }* p: v4 R# n0 ^ pLight->Diffuse.b = lightColorPrv.b1;7 m- a a3 c) I" ^6 n
// oˉè* ??à? 5 I; ?5 R, }1 m
pLight->Specular.r = 1.0f;
# [4 X7 D1 D% i1 c: ]7 w1 l pLight->Specular.g = 1.0f;- H* d9 ~! O* `
pLight->Specular.b = 1.0f;) h% U4 v4 p& x+ q2 n' e* [
// àü?? oˉè* 9 Q, W4 G, n0 Y- t
pLight->Ambient.r = lightColorPrv.r2;
# y: c" }, q+ {: M) H6 Y pLight->Ambient.g = lightColorPrv.g2;
# m) R9 P+ k& W$ j4 U) a3 y8 D pLight->Ambient.b = lightColorPrv.b2;
" L, K' B, G( u( c. ~! y* m) i. Q' y$ l% h4 j; \
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??., e P( J# a3 P9 @4 z6 t! v _
{$ A' V6 d) W5 Q, o
pLight->Diffuse.r *= 0.6f;- J. ]8 H0 f0 T/ [
pLight->Diffuse.g *= 0.6f;5 T; K2 F1 d+ J* }8 ^
pLight->Diffuse.b *= 0.6f;4 E& r: h- B* G7 o! A. m y8 y
pLight->Ambient.r *= 0.7f;8 D6 s7 k' q, X
pLight->Ambient.g *= 0.7f;& U7 R1 G# m' D7 }
pLight->Ambient.b *= 0.7f;$ I( R9 l1 I6 r( U. Z* L$ W$ q
}
; Z2 X; o0 k8 S( {6 {3 Z
7 x8 v# N# g# U#if __VER >= 15 // __BS_CHANGING_ENVIR
3 `+ L5 `& i9 | if( g_pPlayer )* {. c$ Y% {4 @3 v- d3 O
HookUpdateLight( pLight ); & \+ d2 n) k: s3 u
#endif" U& |8 l. G8 P( J, b1 Y/ {7 r
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 @6 U2 D7 u7 J& T1 G$ g5 k3 ^' L
2 b( m/ T8 Y$ r& v2 I3 i#ifdef __YENV
) |: k4 _7 h! N& {) e pLight->Diffuse.r *= 1.1f;; x# k( e2 o r
pLight->Diffuse.g *= 1.1f;
" @% n/ X3 F5 h/ H8 b% ` B N: h6 n, U pLight->Diffuse.b *= 1.1f;3 y! y: ]7 K+ K/ i; Z/ T; Q- w2 m
// oˉè* ??à? 6 o0 m2 m: _4 h( `9 Y! u" X
pLight->Specular.r = 2.0f;
' Z }9 B# Y9 r7 y2 K pLight->Specular.g = 2.0f;- s! a6 m2 B8 l7 g) T" J
pLight->Specular.b = 2.0f;
3 d. F. l; @6 A+ G+ z: D7 l4 P4 ? // á?oˉ
3 l0 Q! n7 m* k' \; B! @! h pLight->Ambient.r *= 1.0f;
: Z& R3 E0 s4 y2 Z$ Q pLight->Ambient.g *= 1.0f;
% _* W# F" [& H0 z' J pLight->Ambient.b *= 1.0f;
2 b8 Q. G' y. J; |+ K% y/ w8 U#else //__YENV( \9 {/ D/ X& E0 Y0 k
pLight->Diffuse.r *= 1.1f;) V1 o: ^9 c# [3 ]1 K2 i
pLight->Diffuse.g *= 1.1f;7 _) M, @, m+ y8 b$ i' p. V. S
pLight->Diffuse.b *= 1.1f;
' Z! u* ^* k | r) g // oˉè* ??à? 4 J* W$ y2 y5 w1 T" \- d1 q
pLight->Specular.r = 2.0f;
! O( r0 ]% r6 ^ pLight->Specular.g = 2.0f;
o6 G, m5 i; K" k! ?# Y* e pLight->Specular.b = 2.0f;
1 u* D" r; b5 L // á?oˉ
. N% D4 j7 O7 Q* Y* V pLight->Ambient.r *= 0.9f;4 J* a6 B: A$ Z8 E% c
pLight->Ambient.g *= 0.9f;! c5 c2 y- e& {' v
pLight->Ambient.b *= 0.9f;
. _9 o; @2 y( o' I" X* \/ ^#endif //__YENV " k8 H' a$ ?! c
4 h+ Q: y* o+ r0 F5 @4 W5 |6 T memcpy( &m_light, pLight, sizeof( m_light ) );
7 r( \9 U. W! a H) h5 n 9 w {1 [" e2 m
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
3 }. q% z1 H" S6 G: f D3DXMATRIX matTemp;
. d7 U# {; \/ x* t static const float CONS_VAL = 3.1415926f / 180.f;$ j; A' D1 \" m( x; ~& c- C J
$ n+ N4 ]; Q% ^7 I. A7 D8 g D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
8 t: O# M& |+ B7 {- ?( { D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
1 R4 Z% p+ y7 G$ F- B! {" u pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 4 j% l/ D* i8 `! Q' Y
pLight->Appear( m_pd3dDevice, TRUE );9 d7 q) u+ r4 i3 t- H4 y
- `/ }; N) t6 w5 D7 r3 k( Y2 b
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);. F/ R- V8 u3 o1 W& f/ k
// D3DXVec3Normalize(&(vecSun),&(vecSun));
2 M2 ?, i0 Z8 b; v4 z3 o // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
6 c3 q* @. [! G2 n
" ~7 T h; G: f# c0 x DWORD dwR, dwG, dwB;
% I) T8 n; c0 q0 r0 | dwR = (DWORD)( pLight->Ambient.r * 255 );* { |& S& Z0 i. p. K: @4 @
dwG = (DWORD)( pLight->Ambient.g * 255 );
1 s6 G" Z# c3 t" N dwB = (DWORD)( pLight->Ambient.b * 255 );0 A! O; l4 P/ D8 `% N
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
( C: _ A5 f3 y }7 A/ K% |8 \# [$ S% |
}
, n9 E0 r2 i; a- h8 D& C
B2 V3 h- j: ~4 [2 }' J+ T& ?) n/ y, Y m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );2 T7 b. b+ e- H2 Z f
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) );0 G$ w. p0 R& P6 \% G
::SetLight( bLight );
6 ~4 }4 t7 q6 v T7 c7 @8 B: X+ q5 O- ?
// ±ao? ?D?í???ó á¤à?
. Y4 Y% U9 o2 }( `4 ~ m_pd3dDevice->SetMaterial( &m_baseMaterial );
7 H' D2 h3 T. U: e* _) a' M; r) L* o
' E1 p7 A5 x/ ?9 M; B. b#endif // not WORLDSERVER
0 d2 {) u& [) H}
, q8 h" p$ j _$ H并更换
9 e+ r% ^7 g$ r0 nCode:
4 j Z& r+ o* S2 }__FLYFF_INITPAGE_EXT1 Y$ M7 A% n4 ?8 w x( \+ k& V. \
定义" Q! L2 A' b0 k2 l8 S
7 x/ W! U ~. z& A
- Y. @! \3 ^+ ~& [: Q. \
6 Y1 @% f9 `# Q/ u: u8 q8 s6 V! Y3 }, h( R7 [+ \% ~' _4 n4 W D% ~
现在终于删除我的狗屁加速...
1 j8 |9 `8 Q8 ?; w3 s# ]6 j+ y
; v) c( L8 J3 t1 Z8 R2 j! E; c+ T
* m7 a( q4 r3 N! n- q1 ?; ]+ u7 M) M1 R# d4 y7 }
|
|