|
|
食品车:
) Q1 l4 X$ f2 v6 Q0 H$ X! L尾翼:: ?% J3 S% k# z
8 j1 b k5 N5 p
代码:
3 a* D- n b+ {; p$ u$ h8 a1 T: W/ r- kCWndAutoFood::CWndAutoFood()
/ ?2 _& a" z& a, ^+ w3 P{
c; ^8 v# M% U" F m_pItemElem = NULL;
4 m* j9 t. q, E9 g m_pTexture = NULL;9 N/ z- V n+ R/ j0 ^1 Y
bStart = FALSE;' d# E8 T! J, n0 \$ b
}
" H) _' w9 {3 a0 D- k) F
- x! b5 \$ g9 N$ f p) L$ G: f0 v7 }CWndAutoFood::~CWndAutoFood()
* N5 C3 Y. j5 |{) v; Y+ p+ Q) h6 T7 O
AfxMessageBox( "AutoFood ist gestorben " );
S1 l' G9 f. \) t/ f( w}7 }$ L$ T8 [6 a# \% Z) ^+ g4 L
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
$ f( t/ T$ y+ O, O. ^$ o# {. [{7 d, j5 V' n& t2 E
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
4 S0 x0 i+ I/ e. z4 q}( R' b* D# r N$ Q7 D: T
& O8 W. s2 R/ q* hBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )' l) Z6 R6 h: N/ G6 E
{" c, d$ P& z/ n) v
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );( |) ^) B% D7 p9 S
CRect rect = pWndCtrl->rect;+ ?: Y0 @" ~$ _: ?# [7 x2 ^
if( rect && rect.PtInRect( point ) )
' J. D, { O9 J% q9 X' c {
. v" L3 X3 E- t$ m) ?* n z& P4 i CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
- u; I! {2 E; o, ~1 K5 z; G if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )+ q2 j, Z. l3 I
{2 I$ S# S$ E( p9 K5 l( s1 d
if( m_pItemElem )
, a' t7 y% [. V. p! Z$ V9 e* t { C9 y# u' _8 Z
m_pItemElem = NULL;
2 Y2 v# ~9 H9 _! w, w/ w, S+ r0 z% p1 y }4 a" i7 b" u/ s6 H
m_pItemElem = pItemElem;% B- @0 a9 E7 I* t
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
5 ^* l2 w) ~4 w4 d( F# | }else{
" W, ~$ j2 D! }% t SetForbid( TRUE );6 Z! ~8 Q; V1 Q9 C
}! Y" D5 t8 p: b5 Y7 o; g1 ~# O
}else{
, ?: J- O) v7 _8 w3 Y2 @% D9 H SetForbid( TRUE );
6 a! A9 e) {1 V( A! y, z }
7 w. d' |+ o$ P: i# h* S5 d$ W return TRUE;
6 l# A# W( P# P}
5 T( ^1 P# w$ _- `2 ]9 J$ k1 p" x) y+ H( p: {) ]1 P& I# a' Q
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )/ ~$ t; e6 c6 X' I4 i
{
4 o6 E- v" O9 G7 s+ Q switch( nID )7 \3 k' X9 G! G8 X% b9 L
{
! V3 F2 L$ |8 R case WIDC_BUTTON3:
# i, @9 Y2 m* v# x {
" f% V! W. X; S3 u% N. Z( y bStart = TRUE;2 h* E" F- W1 u% I+ }9 R$ @) F- k
break;
# M5 o- t$ Q$ x- L( n n( Y }
9 }5 s! M9 J8 |6 Y9 s case WIDC_BUTTON4:7 t; {$ @% w6 l
{; h# U8 \" M u
bStart = FALSE;8 p/ {9 ~' e# W: k. f( E% u& M, R
break;7 q0 o7 r; H' F/ |. x0 r- l; A$ m
}
5 t3 e1 \# Z( V0 U }
) Q9 I( v) ]) R# M0 p p return CWndNeuz::OnChildNotify( message, nID, pLResult );, b1 s% \" J# p O1 _
}
) t7 v+ K9 N! b) j, Y0 Ivoid CWndAutoFood::OnDraw( C2DRender* p2DRender )* D! i B# X4 P" P0 k6 W
{$ I" @' M) K& v, u
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
$ }; k. Y# o0 c5 `4 C+ g3 o if( bStart || !m_pItemElem )
: |. Z% Y3 d) W. u {
! n: K! X& g. |9 Y3 X pBtn->EnableWindow( FALSE );
+ E! {8 p) c( m9 S% ] }else" b2 [' P, P: i; b6 ~: G
pBtn->EnableWindow( TRUE );
l$ A! t: C$ G5 b- _1 I if( m_pTexture )
* ^, |# Z( i8 Z0 z- Q {
$ v2 w( N6 o) b9 H' u% _* n LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );8 |+ W) w$ _- _4 Y
if( wndCtrl && wndCtrl->rect )
6 ^: t& Q, e5 j+ h t6 W {
" O) l+ e3 H* X7 M7 Z$ J% A& `" j m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );# F- F9 g8 [0 t4 @5 o
}
R3 V0 S3 F: B }
/ }' Y# B" R1 i- X1 ^}$ p$ l _. {9 A
& e4 _) c0 ^- W! l2 n8 \6 dBOOL CWndAutoFood: rocess()7 w4 z3 R! a/ L) O( o
{
6 i0 w& ^3 }. g5 d( \ if( bStart )( `0 J7 D0 S. P
{
' g- b3 V |& ~ if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
0 F1 M3 Q/ H) `' j {
- S2 l& t0 C+ X+ t 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- Z2 _2 ~; c/ T7 b9 A2 x
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
1 W& P0 U% R, x% N) D6 E5 u' V8 X }else{+ s2 I) u, u8 S6 ], g! a9 Z
bStart = FALSE;, `* v, f! m5 b8 ~- l; p2 j0 s
m_pItemElem = NULL;
" S0 D+ |$ m" U/ z# W: C/ ] }
. U5 l3 x: a2 q/ t2 V; q; s }; O. l5 U, O: v6 u, R( D5 K9 o
return TRUE;2 q7 s( C8 {; y) E8 L
}* H& C4 e. n2 z
; p( ] u0 M1 L" E$ ?
登录视频废话:
# O7 I6 K! n# y, T尾翼:
j. s* x6 A' L' y0 t$ \
; T/ a$ b+ F( w! I8 T代码:
# K$ y5 B. w# ^* T7 R* D3 `& L* I5 q
void CWorld::SetLight( BOOL bLight )
! `4 }, m4 r% ^6 a' ldurch5 ~& U% s" L6 u) K; j" t
Code:
* `: a- l: F. v: Jvoid CWorld::SetLight( BOOL bLight )
2 ]4 k$ b5 e, K" n" o/ `: ]{
6 V4 r7 Y" \+ ~ t //ACE("SetLight %d \n", bLight); o( X$ {: K* W2 B' y8 Y! s
; ]+ o+ m, X! t, b#ifndef __WORLDSERVER
' u0 C) H- _, ]* `# y: g; ^ DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);4 j: F9 d$ P3 `0 E$ \$ z X1 O$ g
CLight* pLight = NULL;/ S& C+ b' O' s, c( k# d* E; \. V
' B, J( O. d7 n) p4 H3 I
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
- |0 G; X2 g" c, y4 i
' h1 o3 l9 O' F pLight = GetLight( "direction" );
+ E1 L i! T5 N3 v
4 I6 ~7 |, @, t- k6 w E0 e2 J#if __VER >= 15 // __BS_CHANGING_ENVIR3 d3 g; i7 ]* e2 N9 ^" B
if( g_pPlayer ){
3 |6 H8 Z- ^3 ~& ~! A: g6 q ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );* w/ U6 o$ F" @$ I# T: e, x" H+ J
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!3 n1 i$ e' R" J
{
6 X+ v# z$ ^$ ?( ?% S- y1 H if( pLight )
1 v( f1 D$ H+ o {! |7 g, U4 i( M* \9 }5 u
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
- U) u$ J7 J0 ?6 _$ ` pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
@9 V8 U# G7 R pLight->Ambient.b = pInfo->_fAmbient[ 2 ];4 e7 w. `* z9 I( B
2 a3 j3 |7 K" }( v0 s( N pLight->Specular.r = 2.0f;
t6 Y; ]1 C$ T% J0 A pLight->Specular.g = 2.0f;
- N% h+ j. ]1 @/ W3 S$ v/ [' c pLight->Specular.b = 2.0f;( Z2 }+ T* ?, b( ?2 Q/ C% H
- v+ W7 X2 b6 p/ x+ i pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
6 U# r N9 U# O( I( b7 { pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
) t5 m- r& z, ]% \* E. I pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];9 {- l: t' {" l: E# I. t2 A F
, ~: h0 y% h5 M: y% N HookUpdateLight( pLight );
0 q) p1 w. l8 D' {
4 A1 K7 C6 [% H1 n memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 _! r# Y- I$ {
2 [6 i* `& @6 R: o5 H3 O pLight->Diffuse.r *= 1.2f;
" T9 j3 t/ Q" I pLight->Diffuse.g *= 1.2f;
9 f$ @# t& m# _! } pLight->Diffuse.b *= 1.2f;% A4 u/ c8 r/ s' r
% D3 R4 E7 M* E- o/ F pLight->Ambient.r *= 0.8f;
! h$ p3 c9 v- D) Z pLight->Ambient.g *= 0.8f;
- P$ u+ s# h" J# b pLight->Ambient.b *= 0.8f;
, ^8 g& ^( g6 j* h
' f# V3 F; u; E memcpy( &m_light, pLight, sizeof( m_light ) );/ i$ A* p& }! U$ y
$ N, i3 e4 q. h! K# |& ?
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f); z$ D' \$ e, R! X
D3DXVec3Normalize(&(vecSun),&(vecSun));' t; M- ^8 P4 e& [, A: e2 X! j
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 2 T8 u- k8 z2 N; |
pLight->Appear( m_pd3dDevice, TRUE );- l8 H9 {; r/ j* P: y, \, E/ y
) {% Q* r( \6 U" @% c
DWORD dwR, dwG, dwB;
3 `( D# _, E, W4 t; T9 ]. j5 c8 D dwR = (DWORD)( pLight->Ambient.r * 255 );
2 @7 o% T, a$ Q/ ?* {) o2 c& N) j dwG = (DWORD)( pLight->Ambient.g * 255 );
9 N% G$ n. i9 _9 j$ C dwB = (DWORD)( pLight->Ambient.b * 255 );
2 o1 O6 l+ D* W. r dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 {$ N- {. i# G; V& J7 u }6 l+ o# H/ x9 _( P* z6 Y! ?" R+ @
}& l, X5 [- x* Z- z) M9 p/ N
}( A, i# o. j% N# P2 {; y
else
0 t9 {6 t j$ O4 {$ M( t' E#endif - J$ z5 W) ~, w# |9 _5 m
c( ^9 O- U' {3 e3 E2 a/ B1 [ if( m_bIsIndoor )1 s* h$ s2 r/ e- [0 K
{: x1 x: @' ?* A3 k) w J
if( pLight )
0 W5 e# t7 D M' p { $ ^0 K3 b7 O( z# }0 f, k
// à??μ oˉè*
& t- | y1 R2 D2 x# C pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;, z z5 G* V$ U/ w9 V3 U
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;: s: X/ a6 x; s
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;2 A# a# C5 P, D1 \
+ n2 O" a# J6 z- j" |, ~
// oˉè* ??à?
# j$ m1 c9 X( P. U: q pLight->Specular.r = 1.0f;
1 o/ J. v' ?* S/ z& L pLight->Specular.g = 1.0f;. O8 V, [+ h2 R" W3 P" f
pLight->Specular.b = 1.0f;" n) M& s7 q3 C# f/ \7 o
// àü?? oˉè*
( O. ~* S4 G. W& G" k: Y pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;, @+ r# o; I, J* m
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;' l/ G/ ~6 q0 C8 B( e, N7 i& z
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;) [2 @" ^+ X6 h6 T# E
: u5 c5 `; c2 K) V+ d1 c- p0 l
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
5 J" x4 f) }6 n! k {& A$ b4 f) V2 p7 l4 e
pLight->Diffuse.r *= 0.6f;
* a' @7 h: I6 k# |) Z5 K7 x: I pLight->Diffuse.g *= 0.6f;% t" O$ f1 @) T0 b) K8 I
pLight->Diffuse.b *= 0.6f;* m: m+ k/ G& s0 _% u
pLight->Ambient.r *= 0.7f;
/ E8 `% m, s+ I- A2 G7 _ pLight->Ambient.g *= 0.7f; X! I) w1 ~% q5 d4 |
pLight->Ambient.b *= 0.7f;! M; M: P2 T6 `4 u+ J W$ n
}8 S4 c( Z7 d& H& M
7 m/ V6 Q& r$ H& F9 e+ Z: V
#if __VER >= 15 // __BS_CHANGING_ENVIR5 B% N% R$ P% }
if( g_pPlayer )+ m) [4 ~* J4 w# \
HookUpdateLight( pLight );' ^/ k; o8 u6 w
#endif
2 H& \' T& w) |2 J" j6 }5 K memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );9 c) u% y" p+ L
4 S7 n6 @' g$ l8 H9 {8 m
pLight->Diffuse.r += 0.1f;& \5 \ j( f$ }7 [1 b
pLight->Diffuse.g += 0.1f;9 u" b: F1 A; D! W5 z
pLight->Diffuse.b += 0.1f;
6 a" g0 l, E& }1 ?$ H // oˉè* ??à? - \1 i, V, p9 n& ~: V* n9 H8 L
pLight->Specular.r = 2.0f;
' D" H5 w7 d, {9 O pLight->Specular.g = 2.0f; ]! c% c* J! u. }. s
pLight->Specular.b = 2.0f;4 V$ J9 b4 j9 c& _5 X5 i3 Z6 G
// á?oˉ
$ _4 H/ F. x7 |) e+ ]9 R: x) b pLight->Ambient.r *= 0.9f;) O' s+ q1 k9 i4 c% l- ]( _% F$ R n
pLight->Ambient.g *= 0.9f;& n' A4 f- Y4 F: ?$ J
pLight->Ambient.b *= 0.9f;
3 ?- `) C$ I+ x: X! u5 [- c0 I! S& x7 i# n( `! y7 \
memcpy( &m_light, pLight, sizeof( m_light ) );
/ F. J% Q8 ~" m$ K
9 a5 _( \% i1 O' M9 V/ A% j pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );, N$ g: Q M( F* i
pLight->Appear( m_pd3dDevice, TRUE );
. a& F+ `9 ^1 w; R) ]- v . `7 U# s$ X3 @8 D0 ^
DWORD dwR, dwG, dwB;
~" i& T4 L3 `* l/ j, c0 A dwR = (DWORD)( pLight->Ambient.r * 255 );; M! e- o- F1 ?8 O
dwG = (DWORD)( pLight->Ambient.g * 255 );
' K! c! \. l9 y2 D7 W, E; ? dwB = (DWORD)( pLight->Ambient.b * 255 );, ], f; E6 B8 ~, b
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" `! [! |9 f5 @8 d8 E }
& W2 F" |' Z5 J1 M2 @0 ]8 S }
; s/ c: o) S! E9 f else
& [ }+ X) L( o4 E/ V {
& t$ G3 F0 ?- Y! a0 y if( pLight )
! h% |# Z) _! X9 c$ F$ @ {& W$ ^5 ^( g' _9 {9 ^
+ @/ v0 O g. V$ g4 R; @
int nHour = 8, nMin = 0;
) e) q& B' ^% F/ C! r& v% Y1 _( g0 r; L #ifdef __CLIENT
3 {- D. O2 }& l; i+ O // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 1 S5 T5 [6 q! w, T3 Y+ _
nHour = g_GameTimer.m_nHour;
+ Z: O A. H u; k2 C nMin = g_GameTimer.m_nMin ;
8 E f4 G( N. O# L; X% D #else. T5 w7 t" @, j# Y* H
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.9 m) F0 n1 K- W: R
if( m_nLightType == 1 )
9 J2 }4 n6 s* z; P+ j7 q nHour = m_nLightHour;# g- Z( ~& [4 `. T2 W, S
#endif
6 q/ }0 w: S/ a/ R1 ~9 V nHour--;4 b; }" X5 a% w6 J! N6 f
if( nHour < 0 ) nHour = 0;- [* F, W/ B: W2 _% d
if( nHour > 23 ) nHour = 23;* M2 Q, B6 C+ q
& Q# Z2 {: H! q: `( l0 P( X3 n //if( m_bFixedHour )4 y, [: R4 o. j/ `
// nHour = m_nFixedHour, nMin = 0;- [$ [! X; G6 T2 o9 n* {: G
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];) a# {- l+ b, f0 i
LIGHTCOLOR lightColor = m_k24Light[ nHour ];! d( @( m6 m2 p9 ~. Z; E5 U2 U7 I
3 O. g% Q2 c4 T
//m_lightColor = lightColorPrv;$ l% h8 G+ x6 n, f. E7 c- M( y
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;1 c$ F2 {$ a0 `5 ~) P+ @
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
1 ~3 l$ k' E' I( S. d lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;4 f6 P8 P' _0 Q [5 S: |, W
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;! X& C' r7 m9 ~& x
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
+ W3 w+ o2 | h! s7 Z: |( p lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
( \' c' q0 M4 Q% C( \6 B& g // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)1 L: P7 J4 t* ^$ v$ J p
! _5 S7 h* V7 _5 i7 X D
// à??μ oˉè*
) H2 E I. b0 ]& U pLight->Diffuse.r = lightColorPrv.r1;
" H8 L/ R2 r- O pLight->Diffuse.g = lightColorPrv.g1;
, P1 R4 F: ?# U# D5 Z pLight->Diffuse.b = lightColorPrv.b1;
. ]2 N: e: @9 M+ K/ M7 k3 @ // oˉè* ??à?
8 B. F1 D- X9 S+ f2 O& { pLight->Specular.r = 1.0f;
$ Q' }$ q: C9 L% A pLight->Specular.g = 1.0f;, \: W$ x* S. A
pLight->Specular.b = 1.0f;
; E* ^, T; |2 |) l2 N // àü?? oˉè* 6 f2 g& Z- H" k' U2 C- r
pLight->Ambient.r = lightColorPrv.r2;
5 L* i( F4 k& l) O" H4 H4 Z pLight->Ambient.g = lightColorPrv.g2;" V- U1 Q+ y, C& E& g; \ C8 e
pLight->Ambient.b = lightColorPrv.b2;
4 @8 w/ c: Y% G% L$ K6 x- p0 O7 e u, ?2 ^5 \! W/ W# F- T: S, ]
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.( |5 O* P0 d; b& y& G7 E
{
/ ^1 j+ K5 v2 ?+ k5 C pLight->Diffuse.r *= 0.6f;
; T# F" V H" w pLight->Diffuse.g *= 0.6f;+ u1 x, J; h0 D+ D& ^) r
pLight->Diffuse.b *= 0.6f;( ]+ n7 U, d! S+ ~, g, X7 |
pLight->Ambient.r *= 0.7f;
3 _- B5 y" r( k# l' |9 X& p. g pLight->Ambient.g *= 0.7f;$ }, q# t4 J) g9 S7 m W
pLight->Ambient.b *= 0.7f;
* _1 o, E" e7 Z: w0 {& f3 _ }
# [) k9 B. l0 W8 r
$ q! b Z. L" d7 [#if __VER >= 15 // __BS_CHANGING_ENVIR& B3 y" M4 @' E( W- ]# z! V
if( g_pPlayer )$ z( e' e6 o& J/ c
HookUpdateLight( pLight ); * D* ]% u3 l) ]: b4 H
#endif7 M+ X- J; g* d, a3 x) _
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );8 }1 `6 _* ~" H( R6 D7 N( k
/ l" J5 p9 \" [- t, J#ifdef __YENV
# v0 i. W- y! Y pLight->Diffuse.r *= 1.1f;7 r* [( F) I$ B
pLight->Diffuse.g *= 1.1f;
, h* @* T% N) F/ O2 Z pLight->Diffuse.b *= 1.1f;
0 A. J. |2 \# Z' A# ^: y // oˉè* ??à? 6 p1 Y, X% e. k# g9 P2 J' s ^( N
pLight->Specular.r = 2.0f;
2 J+ u; e7 I! D2 K5 i pLight->Specular.g = 2.0f;
. Y2 E3 v) w. x7 F+ o pLight->Specular.b = 2.0f;" V2 Y. v3 o( C% U
// á?oˉ 4 s6 A, A0 y2 E. R
pLight->Ambient.r *= 1.0f;
( B2 M; G; s( w) { t8 ^ pLight->Ambient.g *= 1.0f;3 K- {+ d" z; g/ ~6 k( ^: C E
pLight->Ambient.b *= 1.0f;
5 H$ G) N! u' t#else //__YENV; ?- h D0 {4 c" v! b
pLight->Diffuse.r *= 1.1f;+ ^. P; R A% M; k. G/ ^
pLight->Diffuse.g *= 1.1f;6 W: K+ X* f ^ I0 W6 a7 G
pLight->Diffuse.b *= 1.1f;) o7 \6 P* A3 j! A# I/ M4 y
// oˉè* ??à? 6 z I4 N, c8 `
pLight->Specular.r = 2.0f;
8 t( M* e3 Q+ e# u9 R pLight->Specular.g = 2.0f;
) F% T R' X/ M1 U3 w) x8 a# n pLight->Specular.b = 2.0f;
( ?/ u/ ^/ [! ?$ V // á?oˉ 1 T+ u B* h i% G+ p$ a) y
pLight->Ambient.r *= 0.9f;" h! P9 d8 o* d N5 O/ S
pLight->Ambient.g *= 0.9f;+ K" y C2 }& d ?9 s
pLight->Ambient.b *= 0.9f;
6 O5 R4 E: }4 j! v. T#endif //__YENV 6 p a+ T$ ^9 p, {, O/ e$ m
2 [, `" U3 p4 Y5 w
memcpy( &m_light, pLight, sizeof( m_light ) );
% \ W8 W+ K- R" o# |* v 1 U) Y7 N! B" g2 Q- W. ?3 [
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);0 m6 m1 J: ?3 H0 Z6 [2 t6 J
D3DXMATRIX matTemp;0 h& [8 P6 {. y
static const float CONS_VAL = 3.1415926f / 180.f;4 f* Z/ t' S- W! p
/ |3 s$ }2 e4 ^4 t( d3 Q4 e
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);2 V( [0 y$ {% g. w) t+ y) F- P, @
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);+ y+ Z e8 p4 v2 `/ v k( I' }
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
6 S+ ^% e/ J& L y pLight->Appear( m_pd3dDevice, TRUE );
# k, v' Q/ L" ? {- G
v* a) y( K! G+ X% p' { // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
+ `/ X4 b, ^' q# p" x8 \ // D3DXVec3Normalize(&(vecSun),&(vecSun));& v) O# I8 a6 `. B( y l
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 5 S0 `4 I( O0 z7 F( k
/ J i8 l; M, h; O
DWORD dwR, dwG, dwB;
& Z% ]1 d, w) M* @+ L+ r2 F dwR = (DWORD)( pLight->Ambient.r * 255 );
/ F9 t+ o$ O/ y+ y" Q2 j' h4 ], z dwG = (DWORD)( pLight->Ambient.g * 255 );1 G- x) Y3 y& }9 Y3 F- @/ z6 N
dwB = (DWORD)( pLight->Ambient.b * 255 );# E3 {0 w. e* j8 w4 x. m+ ?5 X* w" ]
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); ' k* ^! t" K y1 f% G
}
: V4 B6 H+ y. X! ? }" i( Q Q' ?8 E' M( g
6 O" ?5 Q9 o/ I) s
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );( [" J+ z7 O3 a- }6 x
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) );, y* M# V- i. a: Z& v
::SetLight( bLight );
+ B5 L. d# v* \, F& _+ \! d; ~4 }* ~$ d! Q
// ±ao? ?D?í???ó á¤à? 9 v* m) _( y0 Q9 b8 |! T) O
m_pd3dDevice->SetMaterial( &m_baseMaterial );
7 x" h% r% o8 x; Y: K4 {
9 K7 A! s. H1 G T- c) X#endif // not WORLDSERVER0 C4 C" O/ Q' }9 {4 ^' W
}' D% I7 z6 P. X" `2 Z+ L
并更换9 s( ^! w- n2 N4 A- t- l* M8 x x
Code:
1 Y; i0 w/ ^, C) F' U# z& V__FLYFF_INITPAGE_EXT
/ ^/ Y: d. D, }/ j3 }定义" ~1 k! E, d9 ]
8 u3 s, F/ F0 q" ?! J5 ~
* Q& T5 e2 {5 R, h T& V5 [; K0 K% N8 m* }
, z( c' W" ~+ M现在终于删除我的狗屁加速...* P% K' l0 C" S
0 G% K4 Q) r; Y/ ~0 Z) q
) i5 b1 b8 t# |) [/ s" w; } p: U. B" n* T3 [* j/ ~
|
|