飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
+ q. a1 W- O# Y* k
尾翼:
) A4 v% Z6 l; v6 Y
1 a% i6 t& t" K8 t
代码:
8 ~) x$ R! s* m+ i3 n1 i8 ]
CWndAutoFood::CWndAutoFood()
; e, u1 M% U: [9 i8 s+ a
{
! K+ s6 Z6 G' }. j; p* J; ]2 a
m_pItemElem = NULL;
/ u3 g w! @) C6 y- H; @
m_pTexture = NULL;
* Q7 @) ]1 b& z4 T* t, k
bStart = FALSE;
" G2 J: J7 e* \& m
}
! b* v# w8 q6 d0 @/ }* H8 c
) E) c* U% b. n, @: {. j/ A
CWndAutoFood::~CWndAutoFood()
/ }; X9 C. w% g
{
; K8 p% d, h5 B6 c! g* C3 b3 F5 G# E
AfxMessageBox( "AutoFood ist gestorben
" );
a6 P) }. |- X6 a% A$ S$ g
}
& H/ W) m2 j$ T; m
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
9 [( @+ y: e) o; c& d/ {; k, s
{
: w! y: _) X5 p
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
# t8 x1 Z, q- g/ J. Y2 Y
}
& Y" B+ a1 I) W7 ^8 O4 a, ^
. f" p9 B7 n/ u6 c$ W' E
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
- }; S2 h d, Z+ D3 f
{
% D+ d7 ~1 E- N% z9 P! R
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
5 A9 F" z g) Y
CRect rect = pWndCtrl->rect;
4 o$ w8 @ i3 t* H f
if( rect && rect.PtInRect( point ) )
9 `" P( k8 q5 Z& e1 Z) v; Z
{
# w/ ?9 k( W7 i1 J* V
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
1 d: t* d, a% S
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
6 q: \! E5 h& S8 W& F! K# V, i2 H! T
{
# `$ K9 H- ~. ]0 A) h5 p: T$ E
if( m_pItemElem )
9 ?! p+ r! ~! B$ K0 a) N
{
- G4 [% M9 |2 u" L1 I* W: z: F
m_pItemElem = NULL;
# [6 m( N. }, L- _1 T( f
}
! A3 J, G4 M9 e4 f" q9 \
m_pItemElem = pItemElem;
; d( L2 I6 G% C5 Q- F
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
/ m3 d# n. X& w- I
}else{
/ R3 B+ l1 T( I0 J1 w
SetForbid( TRUE );
6 o( g2 h4 R' M! m! J! S
}
: V9 d( A1 |2 {" t( D. I
}else{
6 R7 t% |& p: _5 g7 @
SetForbid( TRUE );
: p6 K! Z$ g( f+ w
}
" @( @ q8 K" D/ f& o
return TRUE;
; C9 ]1 m$ p, S1 z1 a5 h9 q
}
' d& A1 |% }: f7 O, X* E
# m. H* t2 J# h& e3 V2 [5 b
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
0 a5 q6 l- _( s g. I
{
$ O8 z& N1 H' E: M# u, P9 I
switch( nID )
4 j& D* S' w m) b7 \0 z+ U
{
8 @8 }! h6 P; w, p, \( M/ p5 Y
case WIDC_BUTTON3:
- P4 J" H4 Y5 d
{
# m n* l! J8 d8 C& o7 n
bStart = TRUE;
; K) M! E! ~3 O, B
break;
! [$ ?9 q( R# J/ K* s& p
}
) Z8 ^+ ?4 |0 Y) W, \1 T3 s
case WIDC_BUTTON4:
4 [# W0 [% E, q
{
) ~1 C7 ~/ B9 \4 u6 |9 `
bStart = FALSE;
8 Y; a! L; g' _, i' X, |! ]
break;
; r2 ?: O$ `/ l3 T3 B$ _) z3 B k
}
5 e( D3 }2 y0 O
}
; F" z% ?1 q7 v# `+ E, j" |# h. T
return CWndNeuz::OnChildNotify( message, nID, pLResult );
n6 o7 b+ N$ o8 p
}
. Q& ^/ @9 z, g2 J
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
; h% t$ S" W3 \" g; S1 X( a" a( ?3 j
{
|) M/ D9 q0 q& Y3 `- o5 c/ L
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
$ T! h; C" h0 u
if( bStart || !m_pItemElem )
9 P8 X2 k9 t% e+ V+ w2 N9 w
{
- v% ]8 }. m) }& V: B1 U& P
pBtn->EnableWindow( FALSE );
V q {) B; j6 |0 s' j# X
}else
/ `# R$ u6 S3 s
pBtn->EnableWindow( TRUE );
; r) ~; M9 u+ ?4 R3 q1 ]
if( m_pTexture )
8 c: U4 Q! a$ r8 P* g
{
8 \% t" u7 J. O2 N4 {
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
" y2 V8 M* ~2 N9 _2 o/ Y& o- P) T
if( wndCtrl && wndCtrl->rect )
$ }0 U }: u5 |) W: J& F$ T6 t
{
6 P2 E) F0 t9 X8 i5 r" w
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
" B- J. |+ S0 m: u+ S7 o6 m
}
" G) l2 \% F- F4 n8 F- w& y
}
" b/ s a" l, ? n2 D( L3 J/ Q: K
}
7 I4 w: {( f' h/ {
% T3 ~8 h% q) m7 P# }
BOOL CWndAutoFood:
rocess()
* Y4 v/ p- k& C$ q* Q
{
* ^9 B: `- B$ W7 `# V. C# r
if( bStart )
6 t& W% F2 d" B9 j: {4 S q$ p7 i; s
{
4 c4 j: G% D4 C8 l9 g( Z
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
3 I( H/ `* t0 y; I& j& v! y
{
! l b9 P3 D$ G3 y, k
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
( |( D5 C+ A1 F" K# n# |% m
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
7 P' c+ F: J4 N' j
}else{
5 U1 p; k0 f: T, q+ ?
bStart = FALSE;
5 D* K& _; r0 r) r% H4 |" |. C9 @
m_pItemElem = NULL;
1 A& }* F' r! {* r' O0 U% |6 H5 m
}
7 D3 n4 p y8 x0 y
}
3 H, ]4 H9 a1 q4 \* b2 Q2 v
return TRUE;
/ \& H: @0 y1 Q% c' n* c5 i. I
}
0 m8 U! w5 w: u @0 F
* q1 o; r% j. Y: b2 C" X
登录视频废话:
! R3 E# \- a/ V1 e+ k" I
尾翼:
4 x1 \/ B1 h& E
* T/ ~) O j$ S, Y
代码:
# G( X( R" n+ N4 t
0 ` B- ]2 {+ o7 I5 M$ ]) e
void CWorld::SetLight( BOOL bLight )
7 j2 j4 H! R: w2 d
durch
" g# W% U/ v6 f6 _( l
Code:
i! L# H8 b9 M& `
void CWorld::SetLight( BOOL bLight )
3 u' @% B) {) N
{
$ e1 S& Z; r7 E
//ACE("SetLight %d \n", bLight);
+ ]$ d9 N2 a4 z/ M3 a
! }& q Y1 f( m+ J( y& C
#ifndef __WORLDSERVER
- t) q' L5 p. M9 J: P
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
" \# N) B/ G) i5 W5 a* i& H
CLight* pLight = NULL;
3 \2 I: ?9 G$ _; f& ]7 a5 t( _
9 O7 L. s! q8 s& }1 M& Q
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
8 H1 h6 G r0 h; F/ {
" W j; p/ ?3 h3 M1 J
pLight = GetLight( "direction" );
; b# L+ @6 K' T$ H7 U1 ~
1 a; E7 K2 n6 j2 b, x' Z: q" E6 {: [
#if __VER >= 15 // __BS_CHANGING_ENVIR
) F7 j' Y C7 e7 Q- j* l
if( g_pPlayer ){
3 j. P* h9 Q& W6 b5 U2 i9 |
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
3 E' n5 X7 Q! w; z, m
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
: F; W- B" Z. N8 s3 W) g
{
" h9 z3 A3 K0 u3 P: j. o
if( pLight )
0 w0 X! D; ^# i [/ ^& E4 j
{
+ b! z% \- ~" g# R
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
& p$ r9 c9 F4 G2 r* E( F
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
- D/ C* ~( F9 Y+ Q+ x1 [0 g
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
/ {& r- u' t& i, |4 f
# a0 k( B2 }8 C- ?
pLight->Specular.r = 2.0f;
( p$ {# |3 k# t7 V7 ?: r' H8 X; I
pLight->Specular.g = 2.0f;
( [4 U8 W- ^# b* m* k$ [' f
pLight->Specular.b = 2.0f;
3 e4 R# ?9 `4 {) ^6 X) H. y& r
$ i7 O# p6 s. t v! R7 `
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
, X) K( j, S9 b2 Z' C
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
& z. w5 l4 Z" P( F9 B) P6 N: N( }
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
/ r' _) e/ W' }' j$ H, c+ r% P
+ x/ Z+ V3 E# Q; D+ u
HookUpdateLight( pLight );
% y" U4 d( C. N8 g: U8 r: E4 k1 e
2 K1 D0 X0 J$ z5 S: X+ x" a! K; B
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
0 \# x* k* e( ~4 G2 h6 e* B ^
4 K7 i3 X1 w$ |5 `( d
pLight->Diffuse.r *= 1.2f;
0 s) z7 S$ d" T4 k) X' D$ H$ t) q' b
pLight->Diffuse.g *= 1.2f;
6 c8 w$ x1 A& D: M% R# S
pLight->Diffuse.b *= 1.2f;
. ?# V9 z2 ]2 W' i4 t
. s$ v* D. y1 L8 r# c% H# L! }# z
pLight->Ambient.r *= 0.8f;
- Y3 n/ z, P8 g# C0 |& q
pLight->Ambient.g *= 0.8f;
# }6 ]# b: ?/ ^& q9 V' K( D
pLight->Ambient.b *= 0.8f;
* ?" T" G8 _+ p( T* W
3 r, S0 c% i6 p* p/ E9 `
memcpy( &m_light, pLight, sizeof( m_light ) );
# t% v8 V- u& ~3 }
4 }( R, Y L. h$ N& D
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
D& H9 c; Y; M8 h( a8 s& ^
D3DXVec3Normalize(&(vecSun),&(vecSun));
- y# H; U$ S+ Q' i$ c. \+ O' O
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
z, |6 q- c2 W/ o, N
pLight->Appear( m_pd3dDevice, TRUE );
2 [5 |' u9 z: [9 B0 y8 f5 S4 t! R
5 P' ~* o& x9 g8 N2 \6 W. l* Z4 z
DWORD dwR, dwG, dwB;
$ \' p& v& Y* {$ k# `- Z; o( }
dwR = (DWORD)( pLight->Ambient.r * 255 );
; |& l$ j# U+ B! ~ A
dwG = (DWORD)( pLight->Ambient.g * 255 );
% z! ]" D: `& ~; x7 C5 L
dwB = (DWORD)( pLight->Ambient.b * 255 );
P: k# L. G3 {
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
+ @0 ]# x; a+ O
}
2 @0 k9 t' F% r: v" ^
}
7 M3 m" M( ]# `2 N: F6 v" T, B
}
4 B, b4 F% s# e) v9 J, ?' T, c
else
8 H; b% s/ A$ c) b
#endif
' ^) {8 v) I' _8 s2 \
: \6 m9 M2 ^4 ^# _6 f2 w$ Z
if( m_bIsIndoor )
1 |5 u- x4 T+ y, C
{
$ `8 [% ?. a5 ?' m1 J" n: \
if( pLight )
( G2 L9 V, N1 ?- X- @$ B
{
$ S V$ q1 w) M6 y Q1 R, e* A
// à??μ oˉè*
& e" p+ X: {6 k/ E5 O
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
, W8 T) R1 r* \0 o* ]+ \& F# x& u
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
% Z- o$ Y4 \! e7 [0 m
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
: v# m7 g/ W( K" X/ B5 G
7 A8 g9 z, h* L5 {7 H' V
// oˉè* ??à?
- I$ `" k( X, `; }- h
pLight->Specular.r = 1.0f;
2 K: Y: U" S3 q5 ]0 d0 w# T" a
pLight->Specular.g = 1.0f;
/ ~% Z. q. T; p9 o" U! V
pLight->Specular.b = 1.0f;
T9 M: X9 ~% ?- p% W% C
// àü?? oˉè*
& u3 s+ b( z5 J5 t
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
% [, x# d9 k- U) B( g; h: C7 J
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
: F5 S- w# D- S7 o$ N( q5 ^/ A T _
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
3 M, f2 m/ N v* `: @6 D0 L. W5 c
; J W+ P+ o, Q; ?* e( V1 B, Y
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
G _) r! a, V4 i0 e- u: W# q
{
- D, s( ^7 W o* ]
pLight->Diffuse.r *= 0.6f;
0 }$ ^0 O6 z4 Z! j0 ^+ C: \
pLight->Diffuse.g *= 0.6f;
* z9 P0 T+ T5 G& R
pLight->Diffuse.b *= 0.6f;
- U! A# i7 @! B* I3 @3 n3 r z- w v
pLight->Ambient.r *= 0.7f;
# {5 e" M* Z0 T
pLight->Ambient.g *= 0.7f;
& v+ v. X# ?- j6 O) X* d6 H
pLight->Ambient.b *= 0.7f;
O" P* {' |7 U6 B$ W
}
; g: B; c4 B# e% B ] i! r
- E& K* `; n* I# Y+ Z, o8 ^' r
#if __VER >= 15 // __BS_CHANGING_ENVIR
6 l" M% s0 S( B* N% N, `
if( g_pPlayer )
, A+ Q e" h. @7 k4 U4 A( r" j
HookUpdateLight( pLight );
+ b9 ~6 E4 q' h
#endif
, c4 U% l: S; s$ l: z& P- l
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# G# V+ E$ l6 l# S3 l) Q& h' p
% Z) L( T' r! s1 L
pLight->Diffuse.r += 0.1f;
+ J$ G8 u/ ^/ }7 S
pLight->Diffuse.g += 0.1f;
- g3 g* c( @% Y+ x7 f: c( q9 J( u
pLight->Diffuse.b += 0.1f;
8 E+ J6 F2 e6 n2 B# q! `0 W+ X3 r2 f& v
// oˉè* ??à?
/ |3 `4 H/ q/ u! r) m
pLight->Specular.r = 2.0f;
1 n% p) K' T* o" K: k$ o1 O4 s4 h
pLight->Specular.g = 2.0f;
) t2 J$ ^7 g0 @8 {4 b8 o1 Y1 U
pLight->Specular.b = 2.0f;
1 e* U/ {9 J+ W& H8 K% x% ?
// á?oˉ
5 j8 X& r* ~0 o7 b( @6 B
pLight->Ambient.r *= 0.9f;
+ I* L! `$ m8 S
pLight->Ambient.g *= 0.9f;
1 d6 ?1 Z+ V& K8 D( B* C( S( X2 f
pLight->Ambient.b *= 0.9f;
- x* q2 R0 N+ a) p
9 u; u; N! Q1 B* @" N/ w/ U
memcpy( &m_light, pLight, sizeof( m_light ) );
- m. M' u( Q2 F+ a2 D
1 Q4 S" L; N9 u
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
( }1 Z1 I3 X: _) z8 W
pLight->Appear( m_pd3dDevice, TRUE );
4 ?+ l/ K5 x, S2 Y7 {; D
# T( ~- i7 f+ |7 p
DWORD dwR, dwG, dwB;
q9 u. C1 ^5 p* |; J# w. L
dwR = (DWORD)( pLight->Ambient.r * 255 );
$ R3 n4 _. t0 g
dwG = (DWORD)( pLight->Ambient.g * 255 );
; n$ L# K+ Z' A0 }$ i
dwB = (DWORD)( pLight->Ambient.b * 255 );
: a/ @, F( M. f: I& c
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
1 R% Y d' r* g' H3 I
}
/ b% Z6 o2 b$ ?; t' I6 E( E/ {
}
, D6 d1 x' c- t2 U' X8 ]
else
; | K) x! \6 z# D8 _
{
8 V" u4 H; B: ?( n; ^
if( pLight )
' m) H9 ~8 F4 d2 d$ Q/ H; l
{
, v; W+ e3 s; g4 [5 Z
2 K1 g: G$ p! ^/ m
int nHour = 8, nMin = 0;
. a& i# M' ]2 J- L
#ifdef __CLIENT
! k% n0 n% f' Q
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
3 ~3 ?! r8 ^( D2 M9 h
nHour = g_GameTimer.m_nHour;
# c5 X+ V8 e1 W' d |4 L4 N( C
nMin = g_GameTimer.m_nMin ;
: E' s4 ~8 G( I) v& ?
#else
5 }8 q3 R* G ^$ d% M1 Z4 z6 R
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
$ f3 T8 F8 {6 x8 E0 W8 M) O9 ]
if( m_nLightType == 1 )
: e6 `* M* c6 Z6 r/ d
nHour = m_nLightHour;
" S4 ^4 P: k; @ L1 [
#endif
! i6 S6 E: M8 u) F9 u2 r
nHour--;
6 M* i! n) X; s" Q3 z, M3 n0 P* Q5 j
if( nHour < 0 ) nHour = 0;
0 Z6 }& I1 R& \4 O) ]% h0 ]0 Q
if( nHour > 23 ) nHour = 23;
" E* k. @; n9 G3 k" H( S: s
1 j8 q$ Q4 g* {
//if( m_bFixedHour )
* C4 t. ^' M) k& D. f" D
// nHour = m_nFixedHour, nMin = 0;
+ y: `" @/ J$ }- w% @
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
9 U* g+ b7 _9 @' q* E7 s r* Q6 R
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
3 d D) _7 P# G2 T+ O
/ \1 L0 K7 w1 _% c/ n: ?5 V
//m_lightColor = lightColorPrv;
1 Q: I0 O( |5 Y
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
1 o K( q8 K+ z
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
5 ~/ j( n0 u7 n4 B: [
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
. \- v1 [7 A, G
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
2 I" X7 D" J! s) g
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
0 @; ]. |. M5 _. q9 `- F
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
6 R2 P3 b& K. Q" U0 ]2 C! ]+ Y
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
' u3 Z( u" M0 q; c7 P0 |1 P
3 T/ J/ e) j$ y) R- i3 w0 C9 P
// à??μ oˉè*
+ E+ z' [1 G2 D8 c; J" W o
pLight->Diffuse.r = lightColorPrv.r1;
4 n* P, f A% P6 S( @) U% I
pLight->Diffuse.g = lightColorPrv.g1;
3 X7 N, J4 z. P( @- v, V9 w; ?
pLight->Diffuse.b = lightColorPrv.b1;
Q/ s" c N! ?9 ~8 U4 G6 A
// oˉè* ??à?
! F+ J. h! p8 j. @. h0 ~
pLight->Specular.r = 1.0f;
. I$ J' E: S' a- m: E: G& Z$ D
pLight->Specular.g = 1.0f;
6 n4 G$ g2 W4 A% J
pLight->Specular.b = 1.0f;
. a5 h+ m* ^: l
// àü?? oˉè*
/ W$ x5 J; ]+ G5 Q1 Z m# p
pLight->Ambient.r = lightColorPrv.r2;
; f* |1 ]" m* P& l5 g# G5 _9 n
pLight->Ambient.g = lightColorPrv.g2;
9 r w( b; e" G" n- R- Z4 ~$ Z6 s
pLight->Ambient.b = lightColorPrv.b2;
+ K; c4 r$ f7 T; c* o
1 O; C3 x1 w: _( }
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
, B9 S& [( h) G5 r0 x7 r5 ?
{
+ R2 E# Q( M+ G, _ L% m1 W
pLight->Diffuse.r *= 0.6f;
" m, w8 T! }4 @( j
pLight->Diffuse.g *= 0.6f;
+ T, _/ H# Z/ x; e: M& U
pLight->Diffuse.b *= 0.6f;
, z; n4 ?% E: x+ ^- \( e
pLight->Ambient.r *= 0.7f;
* F, S" n6 X6 e6 L z$ k
pLight->Ambient.g *= 0.7f;
& _$ n. w1 e0 [2 A" l
pLight->Ambient.b *= 0.7f;
' ]& O; `+ Z7 H9 t- Q
}
$ |, |9 ~8 W" s& u+ U9 l5 b3 f
# I& Y# U7 f. d- W0 d
#if __VER >= 15 // __BS_CHANGING_ENVIR
+ j2 j) E! h; I3 f
if( g_pPlayer )
. }0 n) G1 X" B# I2 N3 Q3 L |
HookUpdateLight( pLight );
6 q5 U5 k+ ^' z6 b4 w
#endif
/ w0 Q( K3 k* ~* }
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
* N/ A& t" S8 N
: l: C. o3 A8 |8 `2 A; u- B
#ifdef __YENV
. t$ G6 }$ a; H4 |6 A$ A) [
pLight->Diffuse.r *= 1.1f;
" P X" t# U# T: s- X* @8 X) a
pLight->Diffuse.g *= 1.1f;
( S1 l' m0 m9 G& ] ~
pLight->Diffuse.b *= 1.1f;
% e5 I7 ]4 W: S% b$ a! a0 W* X' \
// oˉè* ??à?
) }- b5 \$ D2 w' @
pLight->Specular.r = 2.0f;
' C. B( B! g7 @
pLight->Specular.g = 2.0f;
- I5 n) i* l* W3 g; w3 H7 c$ v
pLight->Specular.b = 2.0f;
' Q- m5 }0 P/ s+ K9 m" t$ B
// á?oˉ
6 h, J" o* [2 {! D
pLight->Ambient.r *= 1.0f;
* K% }$ F6 S3 b, A' e/ [: N
pLight->Ambient.g *= 1.0f;
8 c% w& h. h3 p+ [7 u) j4 m
pLight->Ambient.b *= 1.0f;
; m. x% {$ n4 F* _8 k- ?
#else //__YENV
8 v; N. A9 {7 s6 k. X
pLight->Diffuse.r *= 1.1f;
% V' D! d% J7 c. Z4 ]
pLight->Diffuse.g *= 1.1f;
# [' ?+ r: P# z5 B# N
pLight->Diffuse.b *= 1.1f;
# A4 W/ U" s0 Y" I/ r
// oˉè* ??à?
/ b3 Y* ~5 K8 T" y5 j; Q/ W
pLight->Specular.r = 2.0f;
9 h! T, F2 E( {4 K; |& N* R
pLight->Specular.g = 2.0f;
; B4 `8 I$ b6 w3 L ~. B
pLight->Specular.b = 2.0f;
2 o, a: r3 B& j5 ^6 U6 X! X
// á?oˉ
; J6 L' @* |0 W z* t7 B; C
pLight->Ambient.r *= 0.9f;
3 M* `$ h4 E1 ^! E" R
pLight->Ambient.g *= 0.9f;
. m, O" N+ w7 u) W: i0 q$ [
pLight->Ambient.b *= 0.9f;
5 t3 l, ` X+ c2 p
#endif //__YENV
6 w" p. R6 Y( W+ x$ ^# I0 z
& ]3 ]$ M6 q0 y
memcpy( &m_light, pLight, sizeof( m_light ) );
c% z2 L6 _. M8 t/ E& C. ^5 r
' ^, I! d" [' q# F
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
2 Y: W0 A% A) A6 ^% ]# j$ @, h' \+ v: W" w
D3DXMATRIX matTemp;
1 p- c( A! D5 Z3 F& \. u- O
static const float CONS_VAL = 3.1415926f / 180.f;
( b) W9 ?5 ~. {9 I+ H6 Z
" J8 z) n2 R8 A* b( B9 }
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
6 |& J! r5 c# V3 t y! r7 I
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
: D1 a. {0 I4 o( R
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
) t$ U0 H9 y# j( k' q& K2 _
pLight->Appear( m_pd3dDevice, TRUE );
0 E8 R9 u' j+ z- j" a
3 b8 _# R4 L* j
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
! u z. O% U1 ]- R& v" {4 H
// D3DXVec3Normalize(&(vecSun),&(vecSun));
7 b; P$ O, n- \# E2 {* c
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. ` h3 b( ~( R2 T) L8 |
* a; l& @2 R4 B0 t5 q) P
DWORD dwR, dwG, dwB;
" F) l/ S6 j( Y; Q1 T0 J0 M, S; g
dwR = (DWORD)( pLight->Ambient.r * 255 );
1 q; v& F, o4 u! u: C- M7 a: W
dwG = (DWORD)( pLight->Ambient.g * 255 );
, `( G3 }# b) M% R
dwB = (DWORD)( pLight->Ambient.b * 255 );
- u2 S3 k* s, ?: L& U" K$ l) t& e
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 e. c% C6 `3 C; ?" l7 U$ b2 B
}
* T x! x: N7 Z: Q
}
. Z; l3 J/ B4 m; q3 |, l( N: i
7 N7 o3 K0 A! o9 z, q& r6 D# l
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
: N5 V9 u" I4 C
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) );
" C" T! [8 t- |- a j0 E% F9 p
::SetLight( bLight );
5 I( h' a# V2 W- ]) {6 a7 d- i
( b- a2 H( B) A! O) h
// ±ao? ?D?í???ó á¤à?
% B6 r" D& g( q0 W7 x' ~& D
m_pd3dDevice->SetMaterial( &m_baseMaterial );
; y+ ^* V8 H8 b7 L( }
) f' T2 O5 y0 K( Q8 V7 d- q/ E
#endif // not WORLDSERVER
9 k3 M; o& Y: d: _) \: e& t5 H# P
}
$ P& \% e' q2 J/ `
并更换
% x* t U+ G8 D: M! }) t
Code:
5 B3 s" S" |6 P& V
__FLYFF_INITPAGE_EXT
8 _) l( j+ E* c+ ~ _* @! N
定义
* L! w' w' e# h% y. i* J
, t. S4 D3 r: t. F' r: ~
: a/ s! [! n9 i! X2 Q7 s
8 Z- k0 Y. i5 X+ ?% E5 `
8 {4 x# F( e, y5 c' x/ w
现在终于删除我的狗屁加速...
) q7 T" z$ J0 I3 `( f* w
( S* t5 l ]8 X! I' f. |
' Y! f; P5 x% @
9 }3 A; G) R) o2 o" P
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2