飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
% R" t L- S& T1 P
尾翼:
' T( t' S! Y5 ~: i; _
2 p: F0 Y3 A! ]! m9 e
代码:
% v8 Z, M% l8 S( e: ?' Y
CWndAutoFood::CWndAutoFood()
( C/ F: Q) ^( y: C5 X
{
4 b. q6 g) S( T6 d
m_pItemElem = NULL;
: V& T5 T# I9 {( v, K
m_pTexture = NULL;
3 d5 _! Y) s% x0 ]1 w
bStart = FALSE;
7 z4 k2 X" f5 T o" \
}
: G/ ?; t* m2 f/ _# W
( b+ r, \7 S. W
CWndAutoFood::~CWndAutoFood()
" A4 ~# V& W* p
{
+ }' ^3 h2 I- A* ?5 g" B; P
AfxMessageBox( "AutoFood ist gestorben
" );
8 T9 j' O: ]/ V% E( Z: z( F E
}
% f- u, w6 B# ^& d$ z, `
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
1 Q; I6 O+ R; q/ P5 A
{
+ L# N/ F j# G! N7 k
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
, l* e5 z* N: r, i$ ^6 ^
}
! p6 L' o8 e: \% O% [
0 Z3 L1 I9 {% O3 Z6 D
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
; M6 s( K( [/ i8 B, W
{
' `% S1 M- a( ^
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
* g7 J# x6 `) L1 O+ _- c( c
CRect rect = pWndCtrl->rect;
5 s' f! g* D5 J1 @, n
if( rect && rect.PtInRect( point ) )
+ D2 H: x9 q5 S @2 Y
{
% n5 ~9 l2 t5 u% N$ D7 \7 _* m
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
. O$ t/ X2 j; v
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
9 R; C, x' w+ `0 F- b
{
& V6 t- a' |; t& |8 V
if( m_pItemElem )
: g3 Y+ K. T r% c9 Y! H
{
x# r* `- R2 r
m_pItemElem = NULL;
" ^5 x* N9 S0 v v2 y; z
}
& t% {) n: g/ Q4 {. l' x
m_pItemElem = pItemElem;
B- R6 l3 i# s. C5 B* @
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
- J. f4 H$ @6 H: m' X
}else{
* f9 F8 o: s' d& }) I& y& _
SetForbid( TRUE );
) y1 z( h" ~! z
}
- z& [( X3 n8 J( f4 m/ R
}else{
. `0 H7 f& n% [; m2 H+ n, f
SetForbid( TRUE );
' v7 |* d; c2 U) _5 D6 x
}
. F) t2 s+ u% g a& Q
return TRUE;
$ d$ @# ]" q/ k/ E, w% K5 [
}
A8 Q# Q: ?. j
, q Z8 ^& i; o/ _/ f! K- ]
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
- U+ w% L4 c/ Q! X7 I! v
{
) K4 S5 f/ v' h7 u' q2 \
switch( nID )
# X, U8 r. l) f0 R1 S/ u" j, x
{
6 L& F) G2 z" v& [# ?
case WIDC_BUTTON3:
4 R! @& Y* C0 k4 J3 h! Y
{
8 Y! Z) D5 W, {
bStart = TRUE;
. j5 n& Z7 L3 H
break;
+ \3 b$ j7 o Z1 u$ D, m3 P+ [
}
3 Q) Q1 n1 d; W; E
case WIDC_BUTTON4:
5 X, i! k! Q5 Y% ^6 r* h
{
* \& Y8 V$ q+ {& ^7 o% ]+ ?7 t
bStart = FALSE;
4 M& S* Z x7 U+ f0 S, J+ H
break;
9 X8 @# E& F9 w. [+ w
}
/ j$ u6 X! y+ ^- k5 ^/ M
}
1 t) h A# F4 ^& b
return CWndNeuz::OnChildNotify( message, nID, pLResult );
, `2 X; M, c% D% ~0 p
}
! q2 [3 A' [/ x7 ]8 |* f
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
\7 h+ r( J/ N) {1 Q% V
{
! K B8 c$ Q! L- W9 [: E
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
6 I1 G( V! }# q$ A4 w s, j
if( bStart || !m_pItemElem )
; z3 }% @( V( `& a3 W
{
' g0 d8 Q. @( k2 x" w. L
pBtn->EnableWindow( FALSE );
! J6 O+ E W% `- L+ C" G7 K9 `
}else
9 F" H4 F! P- W- R+ R. Q
pBtn->EnableWindow( TRUE );
) y( ~6 {& M& Y. E
if( m_pTexture )
7 w: L7 P+ y% t; D5 }: `
{
/ {5 A' K! [$ Q# p( H3 p" c
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
( c8 {" c n. l9 T
if( wndCtrl && wndCtrl->rect )
+ T7 \/ A: u5 A9 L# ~: Y" o
{
# {. O) G5 D/ `$ `
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
' [* h- i2 V0 [- A) Y/ l* R" U
}
: c6 r6 f. Y/ p1 t& p# q7 V
}
- N1 p' V! k8 J, ? |
}
7 c$ O. u3 k& ]& i6 A
2 Y% }7 _. r- [
BOOL CWndAutoFood:
rocess()
* i7 Q6 i( }7 S" i+ x4 Y
{
- @, H- a1 ?/ ]" ]
if( bStart )
- k0 I* m7 t" T' l/ E) t
{
( A e8 D$ i* E. j
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
: V) Y2 E) ~8 U2 X- F& N! o
{
8 ~0 l3 T u. N$ |% 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() )
9 s' b q1 g& ]
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
9 d7 Y% H( ?" ]2 c0 e
}else{
7 f$ x4 Z. y! h+ B
bStart = FALSE;
7 r% p5 Y7 ~% ^1 l
m_pItemElem = NULL;
2 m s$ G" Q# m8 J8 n8 C) a
}
, p4 z; S2 c2 s! K! s( ~
}
! h- O& M" @( g L+ H( ]
return TRUE;
! t3 T1 q P% X7 i9 _
}
$ a3 F5 j6 z; w% c. E8 [' b
6 H8 T3 I" J: a' G2 |
登录视频废话:
4 ~- m3 J1 o& @9 m: K
尾翼:
$ O( A5 t! [, t8 H
$ k) o' _+ _9 t
代码:
7 w, T4 ]5 T0 T6 a
' D. S8 E" K& U/ Y) q
void CWorld::SetLight( BOOL bLight )
k( v3 ]4 ^' t
durch
; G& t0 ` D% `( _
Code:
0 h( x* K0 {" F2 b; ?! m% w
void CWorld::SetLight( BOOL bLight )
" `1 s: N7 u! o, d1 i/ t
{
7 b5 ?( _8 y r3 {+ C
//ACE("SetLight %d \n", bLight);
8 b$ F. P0 S. n# F. X) K/ b- p
1 d9 F5 N+ V0 d, L+ o! b. L1 @2 h
#ifndef __WORLDSERVER
. b' }% i1 X, K; |" {
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
3 s p! I- \% o* d3 r: c1 z
CLight* pLight = NULL;
( [- ~' @- A) }6 \) |* v% F; g8 M
9 U: n3 ^! c; y+ k& ?# ]
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
- a( K6 ^$ p l9 y3 d1 O7 G
' Q7 w+ C' R& W/ D9 B4 z9 G
pLight = GetLight( "direction" );
5 W! c8 o- J* b8 d. Y" D5 p% X
3 i' r* N7 e8 z z" ]# i8 H
#if __VER >= 15 // __BS_CHANGING_ENVIR
. {. n; b2 `4 B/ G
if( g_pPlayer ){
& w- \( p+ R" J+ Q! \% J
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
' t7 {& x/ B! p4 G. U7 }! r
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
4 |9 v+ d: n; Q
{
/ u- f$ q* X7 q7 r
if( pLight )
4 F2 y7 v& L( M/ l% O" K# e8 A; |% S
{
0 o) O1 b+ O1 f( C/ N
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
0 d( v5 v3 U1 n
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
" i* n1 ]5 Z. K- q: e
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
; l1 q1 S! {0 z% W1 m8 ^! ?: l
4 Y" p$ u, l' Y, \8 T! @6 M
pLight->Specular.r = 2.0f;
2 k2 M0 t+ i# r/ G: L/ O
pLight->Specular.g = 2.0f;
: D1 m, l' E! B, t2 a F3 [& Z. ^
pLight->Specular.b = 2.0f;
1 H) [$ K$ f( H5 d# D
% ?% E z" _! }
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
1 R2 {4 R/ _- I% f7 H% i
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
1 A. b; J' F. W4 b! W& v( n7 z [
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
' v' j0 I, o+ w2 W0 u! S4 n
' E3 F4 f1 l- o2 g; z
HookUpdateLight( pLight );
3 o0 |' |- U% U
" O: X# O+ G* s; l; M
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
/ k% Y0 W$ b% R6 S* X3 a
( S) R& z2 c8 v- @
pLight->Diffuse.r *= 1.2f;
$ w! j1 T& v2 y+ q, w: D, f2 ^- W/ N
pLight->Diffuse.g *= 1.2f;
7 k1 E4 i/ K9 U( G
pLight->Diffuse.b *= 1.2f;
+ b/ V4 d2 v8 s. j) o: u# a$ ~$ E
* i3 k% b2 Y' Q2 S* C u
pLight->Ambient.r *= 0.8f;
5 Q2 {! d0 {6 [3 F$ x
pLight->Ambient.g *= 0.8f;
8 b1 P9 _ P: Z! f
pLight->Ambient.b *= 0.8f;
. o& ^4 r9 \; W
- M* D- L P& x3 N) B; v* ^4 i
memcpy( &m_light, pLight, sizeof( m_light ) );
+ r) y o: s! \# X; I% X3 C3 u1 p( L! A
6 [8 Z6 s+ c# L% N8 I/ n) Y9 q+ O; b
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
( M. ?3 R `) L, l
D3DXVec3Normalize(&(vecSun),&(vecSun));
5 b. E4 |9 Q+ i! b9 X6 k2 s' ]
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
9 B+ q; H# H% \
pLight->Appear( m_pd3dDevice, TRUE );
! A: q7 _2 p: E3 ~. a& l
" |5 T& n; e: Z N
DWORD dwR, dwG, dwB;
' t# H6 X; s# U( ?
dwR = (DWORD)( pLight->Ambient.r * 255 );
( Q5 F/ C$ Z! C. w, [+ P
dwG = (DWORD)( pLight->Ambient.g * 255 );
% X: l# C' Q0 u
dwB = (DWORD)( pLight->Ambient.b * 255 );
1 O% x. H! R9 m( O) g
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 ^: P7 S4 F G
}
Q# M& g! D3 Q! l$ s% o
}
( F- @9 \* d2 [( g. v2 M6 F2 X0 {
}
& O; p0 n8 G' d
else
: [0 ^& I, [3 h. l* b1 y
#endif
7 b" I6 M6 e( U; I
) @$ u) n! x' P9 K: q
if( m_bIsIndoor )
. o+ h2 E# H- v' q5 y0 Q# d
{
' Q1 I( l( F% e" F
if( pLight )
7 c* ?. [: n. L0 \) U M- }% j) b
{
" Y3 Y- G3 q; A; Y
// à??μ oˉè*
, O, n! s1 q; x5 w2 [& p# z
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
) |! m+ S3 n$ }6 r7 }
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
2 m- d! R6 V) n- ]$ T* G8 O' w+ ~ W
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
; A4 N7 J) J7 c7 l
' K' C% k* T5 [. F: w$ D
// oˉè* ??à?
2 y, p. B# H* {" g% m3 }7 E
pLight->Specular.r = 1.0f;
5 m7 c: }. ]* a. N2 j1 e; j0 i# z
pLight->Specular.g = 1.0f;
' h T( t: g! N( Y: I
pLight->Specular.b = 1.0f;
. q9 K* @; E/ |( s4 `' e
// àü?? oˉè*
3 U' ~& V/ ?5 K$ K0 Y/ I
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
, |& @- z+ ]0 t
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
* H) l# M6 X0 g6 p$ J
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
' y$ k3 F4 J k$ O% t4 T/ b
4 n; D1 U8 d# W2 i# c f. c
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
5 ~' }. X8 c% q2 Q/ H. |
{
( J$ Z6 P1 o% h5 O( N
pLight->Diffuse.r *= 0.6f;
! j2 G: y, s- D/ _# G, H
pLight->Diffuse.g *= 0.6f;
. |3 b: v3 X6 m3 d) |$ Y8 J
pLight->Diffuse.b *= 0.6f;
2 k6 M# y! t9 ?& c2 _/ J. k4 r
pLight->Ambient.r *= 0.7f;
) {4 S+ C7 \! F; U
pLight->Ambient.g *= 0.7f;
5 T5 u7 {- J; w' e( n
pLight->Ambient.b *= 0.7f;
$ R& g! Y- a2 ]1 Y) Q, m0 R9 l' p& n
}
4 w) Q2 e" U% R
# ~, J$ c0 a9 \6 a( W1 z
#if __VER >= 15 // __BS_CHANGING_ENVIR
1 G) ~ s5 ]! Q$ `! D
if( g_pPlayer )
, L, k# i. W) q* i: U2 w7 p
HookUpdateLight( pLight );
: \2 Z7 I& b4 L3 d5 H8 }9 ? h8 m+ T
#endif
( T9 r+ N6 \" F$ ]& x* L2 }3 A
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% Q% ^; @% ^* ]; S8 o" k9 @
+ o" o! r. m: u- \. Q5 C c& s
pLight->Diffuse.r += 0.1f;
3 ]: }9 H0 q& D2 b$ K! {: K C
pLight->Diffuse.g += 0.1f;
* X0 j6 y% W: i
pLight->Diffuse.b += 0.1f;
0 X; D: J1 V" |
// oˉè* ??à?
. m R& q0 \. i: g. ]8 R q( W6 l
pLight->Specular.r = 2.0f;
; Y1 Q$ b) G9 b
pLight->Specular.g = 2.0f;
" C2 k# C9 i! B. n
pLight->Specular.b = 2.0f;
2 E- E& l! P) J! ^0 D
// á?oˉ
: E; C' H. j) G' Z7 {
pLight->Ambient.r *= 0.9f;
8 [7 j9 L/ R$ z# W8 C7 o' s
pLight->Ambient.g *= 0.9f;
1 M& l* I6 R: y2 s/ b
pLight->Ambient.b *= 0.9f;
- Z8 l; E# r& S, m4 n
2 r6 D3 _$ A: ~
memcpy( &m_light, pLight, sizeof( m_light ) );
# K: L8 p- o$ C' f' B f2 ?1 b
- i, u4 L* f' {5 T8 Z3 v+ R
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
% L o' i( L2 u/ W) u& k( v" X0 ?
pLight->Appear( m_pd3dDevice, TRUE );
4 V% K% \, V8 I' j1 s2 Y, ^: g- K
+ F% y! w& m; @* n& @) M6 Q
DWORD dwR, dwG, dwB;
- [) a( N9 M1 ~
dwR = (DWORD)( pLight->Ambient.r * 255 );
! m: G+ x( U# o1 M- W
dwG = (DWORD)( pLight->Ambient.g * 255 );
7 H g. Q' J5 u' t, C1 s! U2 Q3 y
dwB = (DWORD)( pLight->Ambient.b * 255 );
- N! q7 u+ w. @4 t0 L% e. ~& ^
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& v% v" j# {0 o2 I5 x3 }
}
7 G; c6 R# N# _7 j* V
}
% P. Y+ z q2 d- J* p
else
1 }. U$ m1 i# ?3 j+ R# {
{
% ?! |/ g3 V8 l! B7 ]
if( pLight )
1 a3 P3 M9 T3 ~9 p8 h( X
{
! g# S, u; g) q% I" E
% p% {7 |" F: D
int nHour = 8, nMin = 0;
: k: y1 {0 t% J F/ {- _5 s' W
#ifdef __CLIENT
) b! L, N4 x* [" q- }
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
. \9 J3 y7 s2 A z2 p
nHour = g_GameTimer.m_nHour;
$ x5 P+ u) c2 s9 O! t+ b6 p8 O& _
nMin = g_GameTimer.m_nMin ;
X0 p8 y5 S3 s1 Y% m* s+ d
#else
8 Y4 z' e' u2 l. I- U( n: [7 z
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
; L/ \. j, R/ d0 m* F" c
if( m_nLightType == 1 )
& i6 X# t, |' K7 W6 e
nHour = m_nLightHour;
- E" J+ ?7 O) j) a# W' A
#endif
' K9 d& I( N# f& I. H1 W8 r1 F) I
nHour--;
: y( y2 o& B5 Y; L) I8 Q
if( nHour < 0 ) nHour = 0;
# n2 i% A4 D' h! M
if( nHour > 23 ) nHour = 23;
& D( t c" p t
' o/ T% Q, F& H U% \
//if( m_bFixedHour )
3 Q- N. J. I- p4 F
// nHour = m_nFixedHour, nMin = 0;
) G5 S+ c/ @% X: ~" L
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
# @; ~* F8 L& v1 [+ _- j" T+ `
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
1 a2 q1 l, M! n5 m$ y0 C$ _
/ l4 F7 R5 z4 z2 N- E
//m_lightColor = lightColorPrv;
5 d( n+ N( \! s
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
) d# v+ h0 ?& b a. c
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
3 b& O7 w7 z( h
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
j9 w" ]. |" M8 d9 l
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
0 L3 |8 C3 v- K) ~# v+ C
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
) M- x$ _8 z1 T3 a2 ?' [
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
! [1 d" h& J7 z" W) v+ q
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
1 Z6 x& N5 l' Y5 z: W0 e
& n6 F& k4 W. l6 T, C* h
// à??μ oˉè*
# p9 @' w+ _3 I8 d6 I, S
pLight->Diffuse.r = lightColorPrv.r1;
1 V- n" Y( Q+ x( {3 }
pLight->Diffuse.g = lightColorPrv.g1;
. `9 T! s* ]$ ^8 d4 `
pLight->Diffuse.b = lightColorPrv.b1;
0 O; W) W* V5 c+ [: }
// oˉè* ??à?
. V! r, s9 V# N5 @. A
pLight->Specular.r = 1.0f;
3 I _/ O4 E4 j( P( s [: T+ g% ?
pLight->Specular.g = 1.0f;
' h+ f) r2 p7 x$ c& l b
pLight->Specular.b = 1.0f;
2 q/ a: R" [# l1 S$ t2 W
// àü?? oˉè*
4 [& K2 S* k; P% j& L
pLight->Ambient.r = lightColorPrv.r2;
' d J" c4 m, H$ M, D
pLight->Ambient.g = lightColorPrv.g2;
# o2 u, |3 @7 V) R+ _
pLight->Ambient.b = lightColorPrv.b2;
# ~. H; N% g/ ]2 S3 i- ~ v
$ g# l. e) { r) }2 n5 c4 P! _2 B
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
4 v7 K5 v8 J, J
{
( U' s- g( I% A$ |1 W& t
pLight->Diffuse.r *= 0.6f;
3 e( P: B/ ^* F! r8 W9 f
pLight->Diffuse.g *= 0.6f;
$ v1 o0 T- |: {0 R* J% i
pLight->Diffuse.b *= 0.6f;
0 C( g- y8 }: y. {& v
pLight->Ambient.r *= 0.7f;
' U3 M2 _+ f; E0 S+ W$ {
pLight->Ambient.g *= 0.7f;
2 P3 w1 @( ~" d5 G0 K6 I( e
pLight->Ambient.b *= 0.7f;
2 h+ j1 v3 {: J, K
}
g& M" w, H6 R1 \% D. w
) o: V2 ^! P% p; g4 L
#if __VER >= 15 // __BS_CHANGING_ENVIR
2 f! m& e! H$ M6 |" q) q/ ^. Z7 G
if( g_pPlayer )
" z/ k! [/ u$ Q
HookUpdateLight( pLight );
3 }0 J* T0 |& @1 A6 W/ A1 ~
#endif
6 ]+ M. J N3 o
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 a5 Z0 T! g# b3 D. E) M
5 r6 t0 y4 y) ]6 [; e
#ifdef __YENV
. Z; p9 M. H- a& D' U8 b0 k
pLight->Diffuse.r *= 1.1f;
( ~8 N& Y5 y! p h a& Z
pLight->Diffuse.g *= 1.1f;
. X4 H1 ?& e& I( i6 V- n7 G
pLight->Diffuse.b *= 1.1f;
( m7 M+ J; X. d1 A+ {7 d; V, b: G
// oˉè* ??à?
( }7 ^; i" M# w, y+ l& ?" q
pLight->Specular.r = 2.0f;
+ c) [. j# m% z: v0 \5 p
pLight->Specular.g = 2.0f;
7 _- p% }/ `& }9 @+ Q* x1 Z
pLight->Specular.b = 2.0f;
% s( n" T9 y+ @) c$ l
// á?oˉ
7 G3 R7 c% W) ~" k% d" I9 Z
pLight->Ambient.r *= 1.0f;
* F N2 {& }: }
pLight->Ambient.g *= 1.0f;
1 L3 A. X/ r% C" k4 K2 ^% }
pLight->Ambient.b *= 1.0f;
- S& Y; I' s( {/ {1 a( q2 j# g
#else //__YENV
8 y4 X% k6 r% Z
pLight->Diffuse.r *= 1.1f;
. C4 v* ]9 m# ~7 j! L
pLight->Diffuse.g *= 1.1f;
' l0 S$ o3 ^1 |. G/ N1 z
pLight->Diffuse.b *= 1.1f;
" w5 O7 n" x% O/ L8 B
// oˉè* ??à?
$ G- Y1 K- V0 z8 c
pLight->Specular.r = 2.0f;
+ r6 D1 a1 s2 V, |, h
pLight->Specular.g = 2.0f;
& b _; N Q, T, t3 s9 ^) V0 G/ Q1 E0 G# v
pLight->Specular.b = 2.0f;
2 a- ^! P! ]7 E; W$ n5 {
// á?oˉ
5 e$ f" _: a/ t- L9 V7 z2 e
pLight->Ambient.r *= 0.9f;
* z/ s/ A4 Q: M( k+ }0 g3 T! E O
pLight->Ambient.g *= 0.9f;
5 t: X' c' R0 }
pLight->Ambient.b *= 0.9f;
' c9 p2 v( l, W) [5 p$ W2 E
#endif //__YENV
2 ]% `0 b) o1 {& X9 c( i) W
$ {) N' V( \, [9 Q- d! w1 O5 |
memcpy( &m_light, pLight, sizeof( m_light ) );
7 @) U9 S1 k. @ k6 q3 v
, e) y; p; Z7 ~, O, T) \2 G
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
0 I V2 T$ W1 t4 M. b9 ^0 s" [" w
D3DXMATRIX matTemp;
7 `( |) M# }2 K
static const float CONS_VAL = 3.1415926f / 180.f;
( @4 @- V# j( B& X# ~& G& p5 Q
; @! F2 k% d6 A# H+ ?
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
* H. [6 G. g) R5 p. O
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
( V. d, }& w2 r$ }$ q% G1 x
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
) J2 G2 H, ?& A) S$ O4 [" f; I
pLight->Appear( m_pd3dDevice, TRUE );
6 m, A$ w9 @9 e4 N
% W9 o- o! ]' g0 G! x
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
3 f" u# g" p- `$ q
// D3DXVec3Normalize(&(vecSun),&(vecSun));
6 \7 b" c( H7 u: r3 a* h% L
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
6 ^- p; k# v- P2 Y' D
( Y d6 h* h0 ]. O. t
DWORD dwR, dwG, dwB;
, S8 [& @ a: P7 s
dwR = (DWORD)( pLight->Ambient.r * 255 );
9 Z6 ?' `8 d$ \ t5 ?# F$ \5 e" E" A2 M
dwG = (DWORD)( pLight->Ambient.g * 255 );
- a5 {! Y/ h" c$ e5 q* M
dwB = (DWORD)( pLight->Ambient.b * 255 );
9 J; D# g* H! k; L& F( n
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 I- g( D; |0 v7 w9 H; ?
}
+ \ l, `+ l2 B# N- |2 b6 X6 d
}
1 o. B3 r. n& I: {; o, P. T
" L. c% y! M& A" M
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
2 C4 K7 P8 @/ s8 f' c3 y/ a- G7 }
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) );
g5 J! K8 y. A4 }
::SetLight( bLight );
3 _/ U2 e7 m& b5 A
+ `' J4 X; F5 X4 z" c
// ±ao? ?D?í???ó á¤à?
& |6 K S, S/ p( X. Y* f4 L+ W
m_pd3dDevice->SetMaterial( &m_baseMaterial );
) e- \6 F3 N1 @0 n
$ i/ V5 \" c9 Y% w$ O
#endif // not WORLDSERVER
0 Y6 ^1 @: M+ p. J4 o
}
7 n. \, C1 H- c& i$ S4 C
并更换
7 r o4 V( P7 x/ [: }
Code:
" s- e+ F1 i: r$ p3 ~9 |& o2 U( d
__FLYFF_INITPAGE_EXT
. |- M0 T2 _8 u* j8 }' G& X
定义
# \9 R# ~: A& X
# t5 O5 y+ z a
* O. H, l# d+ z% d; [
; g7 f, p9 K9 G% ^' `4 Y) @
4 s1 X8 w' r* \7 s% j) s. T* r
现在终于删除我的狗屁加速...
& Q! R I* I) v" i% R& A' o
, y2 ~# e- v! M. d, ~
9 x, J& ~8 V) N9 O" g) Z) Z# e9 ^" Q0 D
1 Y. J; L. Q# ^
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2