飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
8 u8 d6 p3 Y3 c- |8 D+ o
尾翼:
4 p% ?# ~9 ~8 m6 z8 t& f, A
; v; i% m2 W' D2 Z% Y5 o4 @
代码:
3 A( N" }& C9 H/ {- w7 S
CWndAutoFood::CWndAutoFood()
& O2 V Z+ E; l
{
2 Y. ~$ N$ \0 B
m_pItemElem = NULL;
% |* m( X$ `( w3 h
m_pTexture = NULL;
( T+ a; u: q4 m/ C5 w& @
bStart = FALSE;
* n* j! x- ^! x7 e0 C# G4 z
}
7 w# O4 P+ Y# t- ]
/ r' g, y c4 p3 V, f, \0 F
CWndAutoFood::~CWndAutoFood()
+ t; {+ b) D/ z% y: x2 X/ K
{
3 k: Z+ v D% P$ `0 T
AfxMessageBox( "AutoFood ist gestorben
" );
/ T, T1 `" P! M' G
}
6 x! Y% w6 N, S
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
6 g& s9 k8 C& U
{
* F( t0 @4 o* d" k Y# E6 A* X
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
5 c% ]+ E; K9 F- `$ w
}
: |" W7 i5 |% r4 L" |# ?& d- L- Z
9 S# ]" ^! Q& Z! Y) E
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
- X9 k9 ^% `+ M1 F5 v: P
{
2 x3 o* I! ]. V+ Y* y3 g- x, J
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
' t+ p; p' `8 i! a: {
CRect rect = pWndCtrl->rect;
" w* K8 K# A- j9 k, K, m
if( rect && rect.PtInRect( point ) )
/ T9 O# b: F5 i$ K- j1 y0 Q
{
3 B' n- d0 @8 c! P. F
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
' q) J- Q; _' V1 A/ J8 J, d' o
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
! R; `# U2 x' d0 @5 \
{
( Y7 x- \8 D4 H) S- w
if( m_pItemElem )
3 V* H* h- G" G0 K2 [
{
2 M# { ]. F4 {# s& q0 C
m_pItemElem = NULL;
- a9 C# K" A: t2 E5 Y' i
}
' L# r K0 c& F. z* ]9 n
m_pItemElem = pItemElem;
2 s" T2 N, F) V2 z+ v3 \; [! u
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
3 M- X& x3 f3 `
}else{
& @1 L& Q/ B+ G$ n8 j& y
SetForbid( TRUE );
9 A9 E$ S4 s/ y+ q9 @; M1 J
}
& f- A) c Q0 t7 V
}else{
3 P" Q& ]) c' M" Z& @5 t& e
SetForbid( TRUE );
4 v( y' a2 R! [! U3 L8 ]$ b1 Q
}
# s0 s( w) O* L/ H+ L1 [; n" ?
return TRUE;
/ S* H. Q; H3 H1 ?' i
}
X* D) l6 M* c
* |3 y7 N* U. }. M$ Y
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
R* ^' j2 s$ C5 q% G4 O0 f; G
{
2 `2 ?2 ?* |" ?0 M9 h
switch( nID )
& t* K z5 T! I: q) A" Y
{
- k0 y! p+ X2 n1 W( F% g
case WIDC_BUTTON3:
7 I3 R) b: ~# c$ ?$ a2 Q
{
6 c" o1 i" ^5 G& \9 M7 o) E
bStart = TRUE;
8 v. }0 ]' e7 W& z- L
break;
# q9 A U8 Q5 M3 B: E3 l
}
: t- w# p% Y' x
case WIDC_BUTTON4:
( O$ R4 K3 r( j0 Y
{
- B7 V8 O+ k3 e- X/ g
bStart = FALSE;
4 P! t7 ^! R: |1 Y% \6 l
break;
6 F+ e. k+ p1 j( C! p
}
; S5 @; g0 j0 M- ~4 u
}
) w+ _. |8 x. E& U* e% E
return CWndNeuz::OnChildNotify( message, nID, pLResult );
3 V) r; O; h2 g! H3 b- v( ^' W
}
6 C% B# x& \ n2 l( t& q( D! }
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
7 h( G# I$ E& k2 I
{
7 N) O9 r6 f% P* k, I- T& f- J6 n9 y
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
$ y( x* d: y+ |& E) O9 g. e$ i: k
if( bStart || !m_pItemElem )
/ N7 I3 |" _4 F
{
, q0 e1 o6 o" ~9 ?9 W; K4 U
pBtn->EnableWindow( FALSE );
/ X0 |3 _# ~- h" d. g: K
}else
' |6 E' g5 T! N& Q) w. X& [0 R
pBtn->EnableWindow( TRUE );
/ T, [6 L7 R; i7 W1 ^9 s* e4 A: D- z
if( m_pTexture )
: R/ g1 F: B! K6 `
{
& w/ N: m, Y2 U. J1 I/ \7 I$ k
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
4 v5 B/ w6 e8 G9 R0 Q+ m
if( wndCtrl && wndCtrl->rect )
1 f6 F; A8 T% q5 c9 c5 q
{
* w7 ]9 p( f t- P
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
3 w8 T y3 Y' ?8 [
}
$ W* p- y& X$ ^; n8 G0 l# y
}
8 H5 o, \5 G2 G8 u' y
}
, Z" ^3 R' @5 E
, k( H4 }4 {, M
BOOL CWndAutoFood:
rocess()
7 h- e! {' q4 t* @7 F* K
{
6 Z$ C1 k6 g" B' I% }- n+ K; E
if( bStart )
7 F/ ?( P1 i; }- E
{
: W9 J2 a) k7 F" S+ N
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
( R: v1 z1 |2 C3 T1 j
{
7 L+ u: a1 m8 C3 x6 g' k3 P3 e: n
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 t- p- K9 Y) s+ f" B( `$ T6 G
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
+ \( t8 H& j' b @- F2 P
}else{
! k9 `7 ` }5 X& M! F
bStart = FALSE;
; e: h/ _- T- E6 S1 {9 z# H
m_pItemElem = NULL;
% q' r& t, B. k* _$ l+ \
}
4 T7 L4 o F" h& V' q
}
+ Q; v, W" ]6 C) ?) u) T
return TRUE;
! _+ b! n# g. {# {
}
3 |) w/ N/ h& E2 p! G
( E R# J6 J% M2 e, A' P
登录视频废话:
6 P. P k5 L- ~9 \9 r
尾翼:
* d H: ]/ y5 Q0 O) c
/ ]: Z* ?+ Z" L
代码:
8 z- S, F. }! U6 }
; z+ ^+ y) Y6 J( L6 H
void CWorld::SetLight( BOOL bLight )
" ~" O3 ]' R! Q& W; ]( A
durch
! N' N" f! D2 d. Y8 ~' w
Code:
( @" M% L' }" J: Z- E8 g+ h- C1 L- U
void CWorld::SetLight( BOOL bLight )
$ G; T0 U5 g u6 q* n
{
! t4 }$ w4 k. I3 b: S( n0 e
//ACE("SetLight %d \n", bLight);
/ j2 k+ u8 |3 N' y0 v( D
2 h; q1 b) ^$ X2 ?2 ^
#ifndef __WORLDSERVER
6 J; h2 p k; S& b- Q; }! o
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
6 N2 l! {& i, B: o5 b. ~$ g N
CLight* pLight = NULL;
) j4 x1 k$ p0 W* W" B
* a; z2 Q# u$ D
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
6 j- S! d7 l0 N ~* r+ Y
$ r0 Z! E8 f$ K. j! ^
pLight = GetLight( "direction" );
2 x# J8 f4 O3 h
% Z& f2 j2 c. e, @+ V
#if __VER >= 15 // __BS_CHANGING_ENVIR
& {* E+ Q7 F6 v
if( g_pPlayer ){
0 {! h1 ?2 p) w0 o
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
- o$ U3 Q( _1 o5 Q& A6 H* Y4 m
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
" n2 }& @6 ~+ f9 n' w0 p% n
{
" n4 U8 L" W F) Y- e
if( pLight )
o/ e- [0 S, d8 { V7 [5 [
{
# p6 l7 v/ B! z9 }( Y
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
2 M; x9 S z0 I( t
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
+ {& X7 t' b; ]6 Y! g. s+ p9 H
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
8 q" I4 Y/ x! ^/ \. v
+ @5 U4 ^& ~( [' J6 ]
pLight->Specular.r = 2.0f;
$ ^1 D. Q+ N8 Q
pLight->Specular.g = 2.0f;
2 t4 R- y S& k- y7 z- [6 |5 r
pLight->Specular.b = 2.0f;
4 Q0 J9 x0 m+ Z
( u- w1 [+ L; T
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
8 f; ^9 o; j, J2 Y* g# @
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
& c& i' r$ ^+ K2 `
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
% C5 d3 v: R) e1 ^
* K. [8 B7 }/ H# A6 h
HookUpdateLight( pLight );
$ U/ p/ C$ t* |
M+ O2 Z. |/ D/ y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
2 x$ k. ^: C- \% Z* j
4 C! V4 D+ G. M
pLight->Diffuse.r *= 1.2f;
" N3 ]6 V! O% A2 E+ r& p) n
pLight->Diffuse.g *= 1.2f;
' S! E; f- P; S7 h
pLight->Diffuse.b *= 1.2f;
" W& P6 b, ?8 a' o. U! k3 P O/ V
( U" ^3 b7 C/ d8 \+ d6 W* `: }& \
pLight->Ambient.r *= 0.8f;
. S, V: X! F# @, C
pLight->Ambient.g *= 0.8f;
- |# u, g+ s6 Z
pLight->Ambient.b *= 0.8f;
1 W) W+ C" w# p1 O5 W- g1 _, M
# ~6 h8 Y0 t7 O" }3 T* b+ p/ e) U
memcpy( &m_light, pLight, sizeof( m_light ) );
& ^$ I0 r! j& ^5 v7 x: W$ c
& U8 Q1 L5 M! I- _7 y
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
4 T% z, z+ {' z
D3DXVec3Normalize(&(vecSun),&(vecSun));
: ^. w+ b' l3 L( }. j- W; |
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
7 ?3 `% l) t, F& t$ `$ O Y9 W
pLight->Appear( m_pd3dDevice, TRUE );
: H/ O, [% g& S9 B4 T/ k( p
& m5 d4 W$ @7 U) |- R0 Y
DWORD dwR, dwG, dwB;
X: ^6 P3 z( S7 x# n: s0 L4 f
dwR = (DWORD)( pLight->Ambient.r * 255 );
1 X) y0 V5 V9 S! v- D
dwG = (DWORD)( pLight->Ambient.g * 255 );
5 m* @/ S8 M. L1 Y+ e3 y3 K5 z
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ W1 }7 p3 e3 v: A
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& l9 l, R; b+ c9 u8 L5 Z, @5 B
}
^& R+ E2 Q/ d5 s. G3 \
}
+ o1 I, D4 N& x
}
9 v: ]! M& i- J; w
else
( `) r, Q$ K1 m% D% E+ ]1 L
#endif
' T3 F7 C, }) C& f, R: s6 f
8 v' a: k! Z# F/ w- e
if( m_bIsIndoor )
- \) ]# ]( E( L- b0 _: n# \
{
* ]3 p/ W! F7 b$ Q3 F% j: Q Y u) i
if( pLight )
. G3 U& D/ @: a. C5 z1 X
{
0 C6 q0 x0 f% T
// à??μ oˉè*
5 F8 x7 u: D! `2 D: T- \
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
+ u. U$ H2 i7 r K' Q U
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
# }+ i( a7 E+ o* ]1 ^
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
1 S* c/ H* ^5 P8 x' @; x2 F
$ b' p! I, n/ @1 q+ ]
// oˉè* ??à?
1 j6 y" x- n; H( \0 y+ x0 K P, k# J
pLight->Specular.r = 1.0f;
3 e- ~6 w$ h# M! S- T I
pLight->Specular.g = 1.0f;
' {4 _ M& x' M- P
pLight->Specular.b = 1.0f;
* U; E6 o3 v" {
// àü?? oˉè*
8 z% O4 W& E% d4 P
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
! r! @# ~' d3 i' N' Y" K, G
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
. N5 E" _0 V* A8 w3 G0 w$ b
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
$ I5 _( B J2 _, x1 i7 g/ M
& q& E4 @7 }1 D
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
: D* }' L" P6 O! j
{
8 J# L! Z8 j* {: v* ^ z4 `
pLight->Diffuse.r *= 0.6f;
8 |8 i' n- Q7 H$ e' p
pLight->Diffuse.g *= 0.6f;
; i' K! s R5 h8 k; Q
pLight->Diffuse.b *= 0.6f;
% I" }: k/ d# _; M+ s# q |+ }
pLight->Ambient.r *= 0.7f;
& T: k, G @- N8 P: E
pLight->Ambient.g *= 0.7f;
5 E+ _1 v9 O( v; {
pLight->Ambient.b *= 0.7f;
- u; X K5 `( u2 W' c' o+ V
}
* {; `5 B1 t$ [# n8 I
9 A/ }7 o- k/ ]* E6 `
#if __VER >= 15 // __BS_CHANGING_ENVIR
1 S! \7 Z1 {( s6 D$ T8 y
if( g_pPlayer )
8 c( R: @. T; V( g7 Y! e
HookUpdateLight( pLight );
& I3 \, r% j$ s: l
#endif
1 k" {% U* }' X* U6 p+ ^+ v
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 y2 v1 L9 M r% t, N/ Q8 N, |
- U3 O8 t7 v% g
pLight->Diffuse.r += 0.1f;
) y: j, g* `, f1 r* @; B' D
pLight->Diffuse.g += 0.1f;
# G2 d7 ?- s- ^9 e$ m$ E
pLight->Diffuse.b += 0.1f;
& x$ Q7 r4 [! u$ ?- ~
// oˉè* ??à?
/ _* A( N( x+ }9 i* n8 j
pLight->Specular.r = 2.0f;
+ {7 E3 {8 h1 r7 s' B
pLight->Specular.g = 2.0f;
5 r1 z6 e0 b# _+ l' S7 E1 u
pLight->Specular.b = 2.0f;
% S, I0 Z$ @% l$ [8 m2 C4 u$ ]
// á?oˉ
* z' J' D( r% P: j9 o# o, x
pLight->Ambient.r *= 0.9f;
/ f6 r. {. D4 J- i7 } G0 W0 }
pLight->Ambient.g *= 0.9f;
: f( X5 ]& h8 @" J# b3 o
pLight->Ambient.b *= 0.9f;
2 T# s+ l5 m7 \0 m) @
9 b. _3 r3 f1 `' L
memcpy( &m_light, pLight, sizeof( m_light ) );
+ p2 D7 s" a' c8 F
% @6 ?: v- _3 L, t Q. q0 O
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
$ V0 K3 G% W- ?5 D- W t
pLight->Appear( m_pd3dDevice, TRUE );
1 ^. }7 R+ c# U1 Y K1 X* m( y
5 T [/ B7 W2 K+ T% A) t
DWORD dwR, dwG, dwB;
1 R) f) f* L8 G; V- a9 d
dwR = (DWORD)( pLight->Ambient.r * 255 );
0 J# K3 J2 J: n, j/ _: Y* |! A
dwG = (DWORD)( pLight->Ambient.g * 255 );
& P9 }5 L) w# g0 V- P" w& @
dwB = (DWORD)( pLight->Ambient.b * 255 );
) d7 h6 x7 `6 f* h
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
, A4 g+ p' D9 ?9 a9 O M- b
}
2 \' b3 v3 W. _( O" ^' a
}
0 g% S! m. P6 a+ f
else
' f. W9 s4 o/ M9 @# g- ^, h+ x
{
7 S" p! @+ j6 D; n- U8 M
if( pLight )
: s5 n4 W4 g, s, z* W
{
& a4 H6 a( ]* r. {, |9 o
9 k$ u, q3 O* n/ ^! i+ u) N
int nHour = 8, nMin = 0;
0 \/ c+ q |/ Y8 C9 p6 N
#ifdef __CLIENT
6 p/ b" ^. ?! q) ?( T; }7 t
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
5 L% R2 d& Y5 j( J% P
nHour = g_GameTimer.m_nHour;
4 ~7 R' h0 v* f
nMin = g_GameTimer.m_nMin ;
" Q5 C K8 I b
#else
4 z- d$ M0 ^7 Q
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
2 |" ~1 V/ e2 h' z# k/ l' C( H0 r
if( m_nLightType == 1 )
/ s! U, l3 l/ @5 p6 \
nHour = m_nLightHour;
, B( @9 A4 U. ~( r% p
#endif
+ C6 _5 P/ ]; y" L
nHour--;
! o: r4 V% V- ?
if( nHour < 0 ) nHour = 0;
* G" y6 \- z: s x5 _1 E: H, R+ Y
if( nHour > 23 ) nHour = 23;
0 K; S5 N( Z0 g4 n# M* t
\$ S* ]! f' q3 ?+ Z$ a8 c; B
//if( m_bFixedHour )
& P, f [! Q5 _
// nHour = m_nFixedHour, nMin = 0;
3 a# U, B0 T( U+ X% }
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
) i# ~) L! x! P6 x6 a, I7 q
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
" p6 H7 G; J6 p4 q6 Z
L3 ~/ t* Q3 X5 Q8 G3 A3 s- S
//m_lightColor = lightColorPrv;
5 ]# {5 Y0 B) i2 `1 H0 S% s
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
+ b' r( P! Q# e8 o& d: V
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
3 N+ G- f3 O! H0 \5 d2 x! M
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
# ]7 M2 z0 g t! t, w" u; `
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
5 k' @3 D& B, w% F) H# T: }
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
8 [% C* [& u, M2 o9 s" Q2 f
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
' a6 i. ?) P. Y: r$ G3 t
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
; _, O p; h% f/ V3 J% q
/ A1 t: W6 C) D8 n3 E# i
// à??μ oˉè*
) T8 G& `6 @# [: _( a9 g
pLight->Diffuse.r = lightColorPrv.r1;
! e) n5 T% G) V9 k, x8 ~0 h
pLight->Diffuse.g = lightColorPrv.g1;
& i, c% U; J5 r
pLight->Diffuse.b = lightColorPrv.b1;
/ G7 `+ O8 m1 o( j! a
// oˉè* ??à?
0 F; D* x9 J6 k/ @* B6 V
pLight->Specular.r = 1.0f;
% m) k6 m( g% v2 A
pLight->Specular.g = 1.0f;
% C. O0 s1 S: a6 o$ c
pLight->Specular.b = 1.0f;
' @9 U+ a( f. G% x
// àü?? oˉè*
2 q$ |/ D J+ p+ K0 A6 m! A
pLight->Ambient.r = lightColorPrv.r2;
1 }+ j& p5 f$ w c) B+ |
pLight->Ambient.g = lightColorPrv.g2;
0 `/ ^% e1 h- m5 @& k
pLight->Ambient.b = lightColorPrv.b2;
1 m- I; z% Z: a2 ~
' U) \# |1 u! q9 y
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
: Z7 O2 d4 q" V6 W
{
8 d- P" K/ {( M" D; w
pLight->Diffuse.r *= 0.6f;
# w3 Y& @3 b! D1 _) d, E2 R
pLight->Diffuse.g *= 0.6f;
6 V# T/ ?$ Z g
pLight->Diffuse.b *= 0.6f;
/ a K {* b, e( t! W L7 G
pLight->Ambient.r *= 0.7f;
, d3 o, g: J8 B# o, x# O2 q
pLight->Ambient.g *= 0.7f;
: r6 W% Z3 e( Y2 r, _# X% v' R
pLight->Ambient.b *= 0.7f;
" v5 o. I8 p0 C# l# {% ]) D
}
; x! K' f5 r* u# l7 g& W' t
( L% z3 F) [3 p3 h
#if __VER >= 15 // __BS_CHANGING_ENVIR
' Q( t9 f, W1 ^7 Q5 A# _# V
if( g_pPlayer )
+ k. Q$ [! D3 W3 H b$ i6 r6 f* T
HookUpdateLight( pLight );
" c/ B2 h2 c$ F& @( G$ R( H
#endif
. c! s( V/ H) {8 x3 }8 t
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
8 U3 f; r. s8 F7 {+ V
& A9 g9 s6 |) w9 a4 } V
#ifdef __YENV
+ C6 h- y7 S' s
pLight->Diffuse.r *= 1.1f;
) q9 z4 v0 v: P+ z4 a; o
pLight->Diffuse.g *= 1.1f;
# K/ Z0 z2 }2 p/ P& R- Z& L
pLight->Diffuse.b *= 1.1f;
. i& h M5 `3 @% L1 \5 J$ N
// oˉè* ??à?
( G* G6 q! F5 k m& c2 z
pLight->Specular.r = 2.0f;
: B4 {5 n5 f; q8 p
pLight->Specular.g = 2.0f;
; Y$ B1 n- ?; k9 B9 A& h3 Y
pLight->Specular.b = 2.0f;
9 g9 n/ R0 q( S& c% l
// á?oˉ
4 `5 F7 H/ \: g; [
pLight->Ambient.r *= 1.0f;
" L& y+ ?2 V6 d2 l( O' U" ?( o
pLight->Ambient.g *= 1.0f;
; p( f5 ~, `4 N0 e
pLight->Ambient.b *= 1.0f;
' w) ?0 I, i$ a7 I
#else //__YENV
) }% y' ?5 l$ X- y- T
pLight->Diffuse.r *= 1.1f;
9 A% U# J" i5 X1 P; `
pLight->Diffuse.g *= 1.1f;
0 J, G! `+ ]5 R( q
pLight->Diffuse.b *= 1.1f;
. v% U) H7 R$ E. y3 ?
// oˉè* ??à?
3 {' D- i. o* x, q* P8 J( D
pLight->Specular.r = 2.0f;
% `/ R' A) y, C8 M' B3 g9 N
pLight->Specular.g = 2.0f;
9 z6 B% p0 O" L: y; L8 i3 W y
pLight->Specular.b = 2.0f;
& [+ R& U5 f& f, @; s# a
// á?oˉ
4 o5 g+ N- P. S+ s }5 o( p* D' N
pLight->Ambient.r *= 0.9f;
4 {! }3 k. B" L% V
pLight->Ambient.g *= 0.9f;
# [6 |% P |+ n4 n. l
pLight->Ambient.b *= 0.9f;
/ T( f3 X# f: \+ Q* g
#endif //__YENV
) H. B6 q& T2 n4 y4 b) k
+ \! y) K( o: w
memcpy( &m_light, pLight, sizeof( m_light ) );
# A9 R. j9 M4 G$ L
$ C) _+ F" k' p) E7 t+ A- G
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
8 z, O4 G; }0 n
D3DXMATRIX matTemp;
1 d5 `! }8 |8 K
static const float CONS_VAL = 3.1415926f / 180.f;
4 [, m/ b1 g$ {
8 K. t- o% P- F5 m0 o
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
2 N" C0 T! k* Z
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
3 }9 A& M! L! Q, t, C
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
/ y* I4 K7 g5 Y; [4 O5 Y
pLight->Appear( m_pd3dDevice, TRUE );
! K- b3 H1 P& g4 t2 H0 r# T
0 Z/ P: ^' r, ]/ a( ` D
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
( L% X% E1 o- x
// D3DXVec3Normalize(&(vecSun),&(vecSun));
6 g. y7 z: f! ?
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
8 m0 m4 \7 t) x' P# g* d" C
9 q& |( @! e8 I3 \7 S& T
DWORD dwR, dwG, dwB;
& Y1 i% j( {, ^( T% M
dwR = (DWORD)( pLight->Ambient.r * 255 );
. U# L) D4 `+ ]$ l9 v& T
dwG = (DWORD)( pLight->Ambient.g * 255 );
+ z; R% Y3 {3 L% {" l. Q
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 ~" N6 j' G6 l& r6 G& r; d$ }
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
+ D, n& l; \6 ^% f8 s
}
% t/ q) V" x6 \( U
}
# r: o1 o- `& P
! O) b- K+ h7 I/ Y1 {# b
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
. X6 ^+ r# f% d
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) );
& _ ^3 @- b. S$ [3 Q
::SetLight( bLight );
! j4 n7 v$ B6 i) l
( g+ Z0 B d) K( |3 m9 A2 P+ L, [' Z" p
// ±ao? ?D?í???ó á¤à?
+ J% ~+ M# ]+ J* V) ~8 `
m_pd3dDevice->SetMaterial( &m_baseMaterial );
4 L6 w* {' H5 \: _% C
e$ @5 R0 r' L) ~/ d1 [: V4 d
#endif // not WORLDSERVER
- q1 x1 j9 M( f0 x3 z6 B ?* Y
}
* ~- i6 P0 j- \0 q. b2 i* {. |) f
并更换
- [5 s$ |/ U; i' ~6 {
Code:
9 X* q% J) i& k
__FLYFF_INITPAGE_EXT
, e" U% x& d% ~$ x6 R
定义
; \ |# m% }/ `
* G+ m( D. ] K1 ~4 Y
: K2 X$ f' n6 o. `+ A4 R6 D1 |
# L% Z. }9 j, w! @' A5 {0 Q
' ^7 U7 C2 i8 i0 M
现在终于删除我的狗屁加速...
% L% ?$ r) G. w: ?
* K9 ~/ O) L& G% Z
/ U6 b8 K3 c) j
' U) n% A2 q" p, A: f+ n4 g# n
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2