飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
) L8 L; ~( x8 L4 L. |( N
尾翼:
9 Y! I" z2 d: n3 t3 `' c2 X
4 L: j5 j6 O5 J2 p, g
代码:
8 N t. ~0 b: }% [( K
CWndAutoFood::CWndAutoFood()
) A# A- Q- H8 v7 K9 k0 w
{
" ^% t. e ]( Y9 h
m_pItemElem = NULL;
T# I& g9 t# N+ R7 ?* q
m_pTexture = NULL;
# }2 K7 S! ]0 E6 i* @. Y, B! {
bStart = FALSE;
. b8 h+ L5 ^3 N: y
}
% Z7 }1 l# C( q
% ~/ u9 N p8 X; c" j
CWndAutoFood::~CWndAutoFood()
- v% Z. c3 p" Y9 e; g# H
{
9 [7 |0 p. c" l, l9 ?. o; d4 I% A( j
AfxMessageBox( "AutoFood ist gestorben
" );
9 h6 d) [5 i4 K \8 [
}
: d; \3 ~9 ?3 R8 q
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
8 j. j( h; R& F7 E; n
{
& d5 y5 w$ ?7 S. S' X) C
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
# W0 v1 A6 m# g
}
) g+ `$ `3 K; \* u+ g
, K3 Z8 g/ |( {6 H* r) J
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
8 I1 d9 H/ C5 A$ f
{
" N4 E) b J+ `8 \
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
2 C7 ?: [; u5 F7 m" {/ b/ G# e
CRect rect = pWndCtrl->rect;
9 @" F& b, p/ y+ P! T6 Y
if( rect && rect.PtInRect( point ) )
' a2 g0 w9 a3 L; N6 N
{
: u+ e% y/ H) |( [, a% K: j
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
: F+ {$ L* M. U. N
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
6 n4 Y8 o% Y0 L* S$ n
{
/ ?- |: R3 k! t) v
if( m_pItemElem )
4 H, t# o- V: g
{
6 U+ v3 p* G9 x2 [- \) m
m_pItemElem = NULL;
0 O! {: ]. v$ J. N: v9 P6 R$ P( l
}
) T5 V) s' f7 D; c
m_pItemElem = pItemElem;
H S6 W4 ?( F& V
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
& b9 D W# `( k2 a$ I5 f5 f
}else{
7 p6 f, w: n. Z3 k6 \) U
SetForbid( TRUE );
' Q- ^1 M- k5 X( ~. h
}
' o7 o$ _0 n% G- j+ ^1 r5 c- \8 u- I+ |
}else{
- t+ O0 _7 X4 G! C
SetForbid( TRUE );
5 x, F( [& p. d+ K( Z
}
8 b% G# u! n1 E, }+ w
return TRUE;
6 g6 s* r: t8 I& G
}
/ c9 `* N$ S: Y8 G5 L* \
7 {/ o+ M) a. m2 Q
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
, j$ Z: j" A0 T. U' J
{
' |0 \3 a; Z6 k" _! J6 v
switch( nID )
: ~) B4 H, Q2 V0 z @) j' R2 G
{
( T, f2 K! [5 p/ ?% a' [8 z. }
case WIDC_BUTTON3:
7 y3 S9 c" ^0 P' V
{
& G; w d- U) |# @
bStart = TRUE;
8 }4 o' h3 [# |1 k2 N/ ~( d: t
break;
+ j' R+ A& w( F; y9 [, Q
}
2 t O& O8 ^% R5 O) m
case WIDC_BUTTON4:
4 V9 d4 N& {9 {" G# M
{
8 ~% |% v2 p0 [+ f) [% D
bStart = FALSE;
* J1 H" i" [3 d6 D% H, {
break;
% _2 a1 ] R) b* S7 z6 z
}
% c5 Z/ F0 l" }7 r& _. z( z
}
% g4 ]" O i4 p; b& o6 Z* T B
return CWndNeuz::OnChildNotify( message, nID, pLResult );
! o' c# O. V* t s
}
* z, I* l" f6 S( \' y& g8 S9 n
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
, u0 F2 l4 {; l/ K5 v6 H
{
/ R: Q8 ^* X6 f+ z7 H& X
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
( u9 q* r7 C3 V; W: M$ K1 q
if( bStart || !m_pItemElem )
, P) S1 e3 e+ Q6 _3 I7 N
{
, {9 w0 \9 e) a5 v5 B
pBtn->EnableWindow( FALSE );
4 U5 K/ u$ R. g% I" E! ]2 ]+ b8 {5 {
}else
' L, g7 v$ t& F
pBtn->EnableWindow( TRUE );
) f- `* }2 i( k4 _1 t3 m
if( m_pTexture )
7 u. x1 w: K8 T2 p
{
* v4 w# @4 _; K9 y4 O
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
: e* U/ v0 m3 n# p$ w, R, O
if( wndCtrl && wndCtrl->rect )
+ t4 w* w6 ^, q+ j* W6 y
{
* e7 t; C; X1 t2 C; M
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
+ x: X; [' y& C5 p
}
/ \" B; q# v6 h# z! n' K: _
}
& F& K; p8 S* J. G
}
9 ?9 P5 m" d0 H4 o: K0 P8 j$ z5 G
F* K: Q+ C. ^8 O1 i
BOOL CWndAutoFood:
rocess()
+ h5 O- e' ^; l% q7 r/ _
{
0 H4 }6 ^9 d) N1 h3 f
if( bStart )
' E. {+ D1 x0 T" Y( {
{
- c5 B5 D5 N' d( g
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
% l) V2 q: V7 N: n$ m- |; d
{
* s& H* d2 E5 @
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
$ @- I, G) P$ k0 _# p
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
# b8 V, \5 }- [1 |7 r$ l- Z, q
}else{
w/ u; m0 Y1 C
bStart = FALSE;
' y7 T6 o, h% m8 t6 `
m_pItemElem = NULL;
0 e; ~% \1 b, Q
}
! `8 I5 B: s. N1 F( b
}
5 p! v5 `& ]# {& r- W3 V
return TRUE;
' e; C4 B: x+ C6 T4 ?8 B1 o: s, P
}
9 s/ I) Y* {% ^- Z; _
4 ^* Q( p4 }: g* K# d+ ~
登录视频废话:
& T. s% x) O( e- r ~* Z9 F
尾翼:
6 e, i' @$ i2 M# W4 c+ y
1 |! F I9 R; j( q# y( ]9 _
代码:
; c2 M, L/ L) X4 j; u# C/ m/ f& J
+ E) n& R* g0 `4 K* ?8 ~
void CWorld::SetLight( BOOL bLight )
1 }& H2 y+ {+ h) B+ r9 Z
durch
8 h: ~* B% @7 c: x
Code:
' N6 l6 N% p6 }9 w, k5 v' ?& H4 {
void CWorld::SetLight( BOOL bLight )
* R# {3 i1 }0 X. e. D7 @6 z# O5 E+ a. k
{
, p: k3 h, ?' }( o4 m
//ACE("SetLight %d \n", bLight);
* [% ?7 h; z( n( Y" A
+ @' x) t6 T6 L; a9 C) K: g
#ifndef __WORLDSERVER
% j7 _. v4 B+ |/ `
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
$ @ }7 L+ f+ j: M2 G, c/ {
CLight* pLight = NULL;
+ l: Z" |2 s1 z8 |3 t
@$ V! I' a7 r
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
/ B' q' u K" \) F
( \8 g* E% f3 i4 D" V' @) g1 [3 n
pLight = GetLight( "direction" );
1 P$ b, f8 ]' H1 o$ Z+ u
8 t, H7 O3 K7 }2 N) [- U
#if __VER >= 15 // __BS_CHANGING_ENVIR
4 \' ]2 ]+ ?, l' K
if( g_pPlayer ){
, H- f5 M) @- o% A6 [
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
( V) S( S+ d& p8 C7 y1 j. G+ q
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
& T- |6 Z; z$ Z n+ P* t
{
" a: I) x: p, m3 q
if( pLight )
2 d# j) [4 r! B F3 `( ^( K+ j# F' @
{
' F O( ?, c2 O9 a' S
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
' `' ^& Q8 Y1 Q( m+ ?
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
4 S# F: R- k& ^$ d8 w
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
9 ^+ B" E" O* I& L: S: j
7 ]. w; ~9 R( D9 S7 S
pLight->Specular.r = 2.0f;
( y% O n* {* O6 T9 ~* Q
pLight->Specular.g = 2.0f;
. U u9 m/ ]7 m' X$ t6 D& H+ o
pLight->Specular.b = 2.0f;
" ~ m" X$ o2 z* p5 m
! l2 |- E, ~) _" g( ^( F: `1 s
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
. W1 i x) f' _1 @
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
" r; }! |0 X+ Y
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
( H# L, D+ f8 o+ y1 [# }
! q4 C8 k" s, f3 Z
HookUpdateLight( pLight );
7 l5 o. u( G3 a1 v
0 F& n2 L: k) k( ^0 p
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. L/ B& G2 {7 S8 U
6 D; D- \ H: [0 F' Z
pLight->Diffuse.r *= 1.2f;
h! F$ o3 m& V2 G) s
pLight->Diffuse.g *= 1.2f;
. c( x) m4 a( w9 l& v1 Z
pLight->Diffuse.b *= 1.2f;
$ I c5 A0 X: x. _4 y7 F
5 I7 ? k2 @+ Y& a" J- z; D' m
pLight->Ambient.r *= 0.8f;
G* T/ N9 L: z8 \
pLight->Ambient.g *= 0.8f;
' v) i: o6 L6 i: p" k8 N
pLight->Ambient.b *= 0.8f;
( N! J0 v% o `3 b1 C/ j
! a7 Q, ~4 {/ I; N
memcpy( &m_light, pLight, sizeof( m_light ) );
4 h; N, I; }5 }9 w
& q. g0 A/ `8 ^! [
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
& t5 @- R" T7 H
D3DXVec3Normalize(&(vecSun),&(vecSun));
0 I. o/ a% m- V( |2 r& T7 I
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
, c/ s+ x5 ?/ u! ~+ H0 l
pLight->Appear( m_pd3dDevice, TRUE );
0 J8 j' R B- Z& h# a
^* l3 y2 z7 f5 K
DWORD dwR, dwG, dwB;
# J4 J$ {% @3 h: B
dwR = (DWORD)( pLight->Ambient.r * 255 );
, m5 @& n* W& N; b: c3 L G
dwG = (DWORD)( pLight->Ambient.g * 255 );
. N0 y' T6 [9 V, q9 \2 S# Z3 Z
dwB = (DWORD)( pLight->Ambient.b * 255 );
" h; C3 \) w: v* ~0 }
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
8 C- U" G# S& h: `' p2 U( |: ?
}
1 p- }: e* q) G* E- b
}
1 w- n! q% R$ w
}
% ?- `. b1 ?" G
else
) D- }7 V0 U4 v- p) m+ D1 V; b* K
#endif
- y+ M' J: L% o9 R- C
4 X* M: \2 z: Z
if( m_bIsIndoor )
+ `6 r- w! A/ `
{
/ Y9 G( h( |2 c) z. i) w: H: `
if( pLight )
' y1 {& w1 Q F9 q! r- A3 X: {: n2 h
{
7 g( H7 G1 Z- z) N3 r$ \& U& D
// à??μ oˉè*
$ h6 P; ?, z9 A1 j
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
g+ W9 ]) X( e7 P* D) |
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
& N8 K1 w: Q6 @# L# V7 i
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
4 h1 j/ ~0 R6 M% P
) l( P% `# I" k2 I7 L% G) s) o
// oˉè* ??à?
2 Q. ~" `; M) |2 w" ?" O; X& Q
pLight->Specular.r = 1.0f;
1 ~* V; M' |5 }7 J8 Z8 C
pLight->Specular.g = 1.0f;
0 @0 p/ \ q2 h" d a+ B8 P! u
pLight->Specular.b = 1.0f;
$ W5 _9 G f A! k1 g, `) d* a
// àü?? oˉè*
( S+ h2 _# e6 M6 I
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
+ J4 z2 F. E. K) f1 l( T
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
- s% Y2 q5 X0 n& o; R) F
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
& t7 z! D. N3 k# @. d
! a5 o* V& v5 x) v8 \
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
8 z2 e5 H/ O3 x/ f& c
{
. q. J' H7 ?1 L! N2 j# T
pLight->Diffuse.r *= 0.6f;
, V% r1 {, Z1 F9 M% o
pLight->Diffuse.g *= 0.6f;
" r( M3 n# s4 J+ F6 x
pLight->Diffuse.b *= 0.6f;
% |8 L0 Z" ? h/ [8 d& O8 r# |
pLight->Ambient.r *= 0.7f;
1 ~: ]( M; l) w9 J
pLight->Ambient.g *= 0.7f;
9 ~$ x- U4 ~) D1 T/ q7 v. ~# t0 M
pLight->Ambient.b *= 0.7f;
9 K& Q! _7 H- Q: f! M w
}
0 P+ [/ q3 ]6 ?
3 Y+ x K( @. f q$ V! ~
#if __VER >= 15 // __BS_CHANGING_ENVIR
/ T* t4 @/ n, V0 s' `: x: b- ?
if( g_pPlayer )
6 U0 Q, |' u3 i, B- }! c; i
HookUpdateLight( pLight );
3 F, D) c- S, a' ?8 A1 w0 h/ ?
#endif
, ~7 f3 e; M+ a! Z N
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% W; U: T3 y5 V+ N% H
. K7 a3 H- c C( f* ^4 m) Y
pLight->Diffuse.r += 0.1f;
( I) z+ W7 k0 ^# u& Y5 g( S H
pLight->Diffuse.g += 0.1f;
1 M* Z7 P: d5 z3 X7 K% ^* r; R
pLight->Diffuse.b += 0.1f;
+ D* W. ~' Z1 g& ]
// oˉè* ??à?
9 ?& h& x, c o( |. r% `
pLight->Specular.r = 2.0f;
$ S* M% P* Y( y# ~" z
pLight->Specular.g = 2.0f;
) ], v* u9 P$ r0 }
pLight->Specular.b = 2.0f;
4 M+ R' W, q3 `+ T4 B
// á?oˉ
: T# D- b; I/ f, J% G% X
pLight->Ambient.r *= 0.9f;
& h) g7 I- h/ p J
pLight->Ambient.g *= 0.9f;
2 h' {9 a- W# H- a) G: v
pLight->Ambient.b *= 0.9f;
5 k+ ~8 h: \ H( t9 {3 K2 l) E+ j
& m$ B& k5 ^4 y& \( g6 h' d
memcpy( &m_light, pLight, sizeof( m_light ) );
/ v o! y. R, Y3 v* P4 X- Z
- p3 `, n6 H! H
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
& r5 G Q7 v0 F
pLight->Appear( m_pd3dDevice, TRUE );
3 B5 a0 s, Q$ }# R x
' ^1 c" ^7 g- ~, N0 h! i4 s
DWORD dwR, dwG, dwB;
, ~( R5 X& D; L1 W2 P' ~7 [- V9 I
dwR = (DWORD)( pLight->Ambient.r * 255 );
$ ~1 D/ O m, h8 @" X
dwG = (DWORD)( pLight->Ambient.g * 255 );
# c' Z" g4 [' ]+ r# K, o! W
dwB = (DWORD)( pLight->Ambient.b * 255 );
& T3 t2 I$ x0 ~
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) y* A: S+ g* T ^4 Y, Q
}
/ h: Z3 `* V' o% z2 O
}
) I- ^$ z" N2 G4 h
else
3 z/ S2 o% s/ a' i: l
{
$ Z2 m: i* y1 N! e m- N3 Z# k
if( pLight )
( n, o( B8 o$ d( ]6 L8 G: N% |
{
+ a$ A+ Q1 e4 j! r0 h2 ^5 X* I) V3 y
" c8 a c7 i+ u+ ]
int nHour = 8, nMin = 0;
# |: Q" ~, u& l7 K4 C
#ifdef __CLIENT
2 g) x3 I" U; F: y' t
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
5 }' e6 j8 N8 s3 |: C1 |0 q7 _
nHour = g_GameTimer.m_nHour;
4 j# }8 k1 k8 e6 \6 r
nMin = g_GameTimer.m_nMin ;
" A$ x, j& t6 ?7 u4 |
#else
) G# u1 F n& O* `' [8 U' T
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
* ]; a' @+ {, ?" E* d% N$ U
if( m_nLightType == 1 )
* ~; L9 ^; ? _* _
nHour = m_nLightHour;
% l$ C3 c' n5 l$ N; f; U
#endif
/ Y- Q8 W, w3 U
nHour--;
7 D: m* P6 a9 C( T, T8 b
if( nHour < 0 ) nHour = 0;
. f( q+ G7 P; D( `- _
if( nHour > 23 ) nHour = 23;
' H; l. P8 M2 ]8 V1 `# E3 W/ K
/ n: T# A2 q% B- W9 M
//if( m_bFixedHour )
9 R- ^: b; g% U- [6 L2 R. s0 f
// nHour = m_nFixedHour, nMin = 0;
) l* S& b" `, k* Q6 q3 w% d
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
# \4 }8 {' @% R: Q; S( E L
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
4 r6 S; C7 z) `4 ^6 A
7 E) m+ E5 k$ T0 @3 \) D
//m_lightColor = lightColorPrv;
" m: N& d$ k, I$ S9 t9 p
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
) D2 q0 a2 B& C5 h$ S2 c: [
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
" q$ K2 Z b- w. g) `- h& c: T! \
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
3 ^( N5 i+ [4 f" x$ \2 J3 r
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
6 f+ D# j; \0 e$ q* h+ ]
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
: Q2 n2 r( a) n E) J
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
/ s3 \2 F9 W9 Y1 y* R
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
* R% W% `' s( s: j$ x- B0 f) q' t
0 D0 v! {4 g4 k, }
// à??μ oˉè*
- `& R6 n8 E, s& ~* ~9 U& b! j$ u3 H
pLight->Diffuse.r = lightColorPrv.r1;
& z" U$ N! p5 u6 _4 w) H' d
pLight->Diffuse.g = lightColorPrv.g1;
( ~% J+ J! i. X
pLight->Diffuse.b = lightColorPrv.b1;
7 T* B2 P1 c" ^5 g9 D
// oˉè* ??à?
8 |* W% Z8 V/ r# U% C0 [
pLight->Specular.r = 1.0f;
6 a7 [0 V h9 ~1 p) [
pLight->Specular.g = 1.0f;
& \: T. ^: T' C2 M+ J/ l- v% P4 E
pLight->Specular.b = 1.0f;
$ j9 x5 J7 y& z5 z' X
// àü?? oˉè*
2 _) K; G( k/ H( b- a
pLight->Ambient.r = lightColorPrv.r2;
4 B: |( N+ T+ L
pLight->Ambient.g = lightColorPrv.g2;
8 @; G8 C+ o! |+ B1 y
pLight->Ambient.b = lightColorPrv.b2;
# V/ m6 z- \1 P8 z# s% I
, f2 e: H+ P) O& R! G- l, {
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
1 P# @- p8 e* Y4 W/ P& R% n
{
5 N' r# ]$ h A! z
pLight->Diffuse.r *= 0.6f;
, {+ L3 A, m9 _" D; J O& X( l
pLight->Diffuse.g *= 0.6f;
' E: I+ w; w4 P$ J- j: e6 |7 ^. r0 F
pLight->Diffuse.b *= 0.6f;
' [( d5 r. P2 |" D
pLight->Ambient.r *= 0.7f;
' R8 q# M+ K4 x2 w; {3 Y, n+ j/ W2 w
pLight->Ambient.g *= 0.7f;
: U0 z3 U; H, Q( c$ ?6 Z
pLight->Ambient.b *= 0.7f;
6 V+ z" R) u5 c3 b( S3 Q4 ^1 S$ g" K
}
8 G" u$ B; O9 D0 {8 G4 [
2 A% T/ G! M# b) t. @5 k
#if __VER >= 15 // __BS_CHANGING_ENVIR
* J9 D- ^! L/ Q# X# j, r4 t" N
if( g_pPlayer )
7 c9 a% R- `* H9 X$ a
HookUpdateLight( pLight );
& o. e) p7 X# T
#endif
/ X9 M; m4 R2 l7 Q# F4 t! P3 @
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
K. u$ P0 c' X; G, \( u x
4 u0 j. F9 j v) O1 M, M
#ifdef __YENV
$ A# i9 ?* P: D: B$ n! e, J
pLight->Diffuse.r *= 1.1f;
# U" a8 o% |& G. G0 N% i& _0 b
pLight->Diffuse.g *= 1.1f;
# c# E$ e4 T5 O- u$ W& z
pLight->Diffuse.b *= 1.1f;
# |2 [8 S' K9 @& ]. Q
// oˉè* ??à?
6 u- S) u. ~; i4 j( B- K
pLight->Specular.r = 2.0f;
- d# d7 O+ D+ ], l, ]" e7 v1 @
pLight->Specular.g = 2.0f;
) ]5 b6 B) L2 e9 [- u" s3 C, ]
pLight->Specular.b = 2.0f;
; H& D( g' V& g- B. v" P
// á?oˉ
" q$ P3 w2 b4 q9 i( I; Q
pLight->Ambient.r *= 1.0f;
2 t9 g& e6 B1 S( Z4 e" R2 v
pLight->Ambient.g *= 1.0f;
- O, s6 ]! J: L O
pLight->Ambient.b *= 1.0f;
1 ?8 T1 f5 w! x
#else //__YENV
* D9 F# h7 p6 L0 V8 r* j: p$ g k! }
pLight->Diffuse.r *= 1.1f;
1 J/ l. Y7 s: _. f3 q6 L$ R
pLight->Diffuse.g *= 1.1f;
7 e* m4 X( m& [( y/ B- \
pLight->Diffuse.b *= 1.1f;
2 K; y0 N) S; k* {1 b
// oˉè* ??à?
1 w0 k4 e) V5 u% G* k% V
pLight->Specular.r = 2.0f;
( A4 r" m. t% ]8 _% |% A& Z( m3 R `
pLight->Specular.g = 2.0f;
- V7 O- C9 N7 Z3 |
pLight->Specular.b = 2.0f;
# K! B3 U$ F+ |- S1 L
// á?oˉ
, p4 J7 S; a% [. Q: j2 `1 K
pLight->Ambient.r *= 0.9f;
/ t r) t. |) K5 h
pLight->Ambient.g *= 0.9f;
& s7 X; J! c( r1 z1 u8 n9 Y% K
pLight->Ambient.b *= 0.9f;
U4 T e% G% D+ o* `
#endif //__YENV
8 [6 D; l4 N2 J
; X! }; L( H: ]( }$ ]6 R7 V
memcpy( &m_light, pLight, sizeof( m_light ) );
2 ^; U" @! Z( b
; o8 [/ `5 E- \$ o
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
6 d4 b$ K- K: Q" ]) T* J- ]
D3DXMATRIX matTemp;
4 w X: p! R# |, J( x) F' w/ n4 f
static const float CONS_VAL = 3.1415926f / 180.f;
% ~1 M, y4 }* h6 G. C: X
/ y9 ]& M) Q2 ~6 F. y2 E
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
+ M& z: x7 n3 u# Z
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
9 Y( H+ Q- b7 O; U% @. C B9 ]
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
$ b* z; H- |% Q3 T9 J2 K* t
pLight->Appear( m_pd3dDevice, TRUE );
: N4 O; b- q! G
! d" ]# k! Z% N/ J T! r
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
+ N7 o+ W: o! x3 n; \1 L; D
// D3DXVec3Normalize(&(vecSun),&(vecSun));
7 Z+ l7 t5 b2 ^7 G. d
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
4 T, P$ v3 s% ` ~! G- Q0 `
, z" B/ v% W7 }) }# o
DWORD dwR, dwG, dwB;
h. s' t% Q( `$ T, p7 j9 c# t
dwR = (DWORD)( pLight->Ambient.r * 255 );
# h$ C1 `( i1 d* {" S& ~5 j: E& r
dwG = (DWORD)( pLight->Ambient.g * 255 );
1 u' X; e0 D7 C
dwB = (DWORD)( pLight->Ambient.b * 255 );
" K+ X9 @' @0 w8 G8 L0 J( y/ v
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
7 O8 E, O+ ~ B u/ ^. n
}
; g3 F9 \4 i* e( c+ B+ b
}
2 P4 N- Y% M% T: @. l4 q7 d3 Z, `
) ~ E8 u/ C: }* N4 G
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
' D6 P3 g/ _$ B2 l7 z- [
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) );
1 ^8 y1 |/ Q+ x" L8 t7 @ t
::SetLight( bLight );
+ {, x% c/ A2 F
$ Y4 t+ Z9 {* y, G& O
// ±ao? ?D?í???ó á¤à?
% s% m( U6 V6 P' A. L& K* Y. `
m_pd3dDevice->SetMaterial( &m_baseMaterial );
7 U1 i- @ a5 K5 t8 n, H) Z; t
$ |6 W0 d1 x. u. q+ f% S
#endif // not WORLDSERVER
- l) M& D$ b& \2 K9 g
}
$ L' k8 v* D" e" x3 d
并更换
5 M9 M7 z0 N! J0 g
Code:
5 M/ v- K6 Z& G3 l$ E) q8 s7 Z/ a
__FLYFF_INITPAGE_EXT
( T5 a0 y$ R4 b; h) H
定义
! w( z G% d& e" v' b
) a+ w2 D% M4 Z
7 h& A" B; b* W) F
6 W! c. T4 f( |! I' _0 P
0 W( E* g W; Q
现在终于删除我的狗屁加速...
' `+ ~$ D* [1 d4 P; E
! d g1 J8 {7 _; d, {
" q, X0 Y/ z5 J! v% w
+ K0 P% p3 V7 x" Q' G$ d: R3 `
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2