飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
@6 t2 a! Y& r5 h* r; ~
尾翼:
5 a% V3 B6 ]; z, ~( {3 x, o
/ c" \4 Z" ^3 a0 B) B5 c
代码:
9 Y5 Y: P7 c8 e0 }2 y
CWndAutoFood::CWndAutoFood()
$ b: E" z/ D7 k. v& h% j6 I
{
3 s) e9 V- J& z% I5 `
m_pItemElem = NULL;
2 W7 L) i9 h+ n2 A) g! J, W
m_pTexture = NULL;
8 k( c& ]: e% ?6 k% C4 ^- I
bStart = FALSE;
, P, `# }/ E, e# ~# D8 |5 ?; D- r
}
' _3 X" H: @9 ^& ?0 v5 O; y* B
# b# ~1 Q( X) E ?- w3 @" E! W5 @+ r
CWndAutoFood::~CWndAutoFood()
4 [! b9 w( z' d( m# n
{
/ p$ @3 i1 J. N; F3 `; z
AfxMessageBox( "AutoFood ist gestorben
" );
+ e( g O# O" g+ k: H
}
3 D7 m) ?. l7 |8 H; v$ ^6 S
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
5 D) `. l: K: b$ f7 `0 b5 y
{
) {# [4 o. V& P
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
! k% K4 h4 x! ]! M* s2 `( G
}
. N0 S' N. j* y* k3 ]/ U
. \; c$ K9 V% o
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
% c. ?6 e( G( S! p/ v# z
{
! D) ]& Y9 o- N
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
0 g' W' i5 h S# n# I2 K, \7 G
CRect rect = pWndCtrl->rect;
! m, `+ D. J) j4 c/ g5 V
if( rect && rect.PtInRect( point ) )
3 \1 d* b4 ?2 {& \: t
{
% I8 V$ m6 o0 x6 \# ~/ E7 {
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
4 Z! u* R/ [- I( v, T
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
$ K! d7 j1 S' `; X
{
" ?) V; e* q0 H- d; ]
if( m_pItemElem )
% p a" G* r$ _6 T( y
{
5 v' w! m6 \) X0 `; |' j
m_pItemElem = NULL;
; q* I, n& m; V, Y9 e A
}
& G/ z4 l: o2 R6 ]$ P" |5 K, {& M
m_pItemElem = pItemElem;
4 a' |8 O# y; `5 r
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
8 Q9 Q- B. X: k7 P8 y
}else{
# s( }( |! }8 D+ e" t! V1 M
SetForbid( TRUE );
h( a H: f4 p& e' C
}
) t5 X/ z: _. }! f. b
}else{
% ^+ j0 E3 h" F. u" S1 K2 Q
SetForbid( TRUE );
- M% a, A. w5 {% D6 B L0 |9 E
}
" V, r: x# \/ Q
return TRUE;
1 _2 H) u8 y) [: S
}
) y* \7 {3 [1 K- J( S* j, Z
0 f7 E+ w; D) U7 F" G( l
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
& t2 }7 o e" x) X! {) t' s
{
5 B) N- C* h6 R$ E! X$ t' g9 }
switch( nID )
, d# \ R9 f/ S+ N* z8 }$ W
{
1 y6 T' C5 m, [. U) T
case WIDC_BUTTON3:
4 Z3 J+ j# s1 p0 v$ K" ~8 S& O& }' L
{
1 O" }2 c d$ Z5 B6 D6 ]: K
bStart = TRUE;
) A7 O: E2 {% g* x
break;
( M/ G1 P/ Z( {2 |
}
N/ G6 s! [9 G" p
case WIDC_BUTTON4:
; a5 J2 T* ]' `
{
7 [& O4 U& P/ f, X7 F2 ]4 \
bStart = FALSE;
6 l! d& O9 d. h5 X9 O
break;
6 G' Q8 Z3 d0 p5 Y2 J
}
2 F4 ?6 s% n! D. w
}
7 @) z2 z" d: h5 o+ n
return CWndNeuz::OnChildNotify( message, nID, pLResult );
/ u! _6 X0 m* ~* q/ I" A
}
" N/ `2 w2 s( _# j$ Z' T! t
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
3 S" y9 L6 e2 F% t! @; }4 e
{
7 y) I" t2 T/ P0 i
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
% |% A3 j5 d* _/ [1 c5 y. B
if( bStart || !m_pItemElem )
6 r, o8 F8 t! b0 \
{
4 S8 i8 G& U- h
pBtn->EnableWindow( FALSE );
2 v7 F% s) L; x5 o( B! f
}else
h3 o0 o4 n/ T Y2 |' n/ K ^) M
pBtn->EnableWindow( TRUE );
4 {8 \: v3 g9 z
if( m_pTexture )
/ D# l; x! {) Z6 G8 _* o
{
/ p6 U( G7 T+ i+ N- O
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
4 k- i5 x- O( Y2 v4 D, Z. y0 o
if( wndCtrl && wndCtrl->rect )
) N* W1 B- a& b( N4 I8 s ]) a
{
F; l4 s6 u& S% y' y2 t6 V. J `- Q3 o
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
( O* [! v& U9 ?0 r
}
. A* x7 W2 h, _" v d- }# k
}
+ O1 t8 l$ ^. C! i( W0 o
}
* x$ | p' u! _
, k U: E3 g0 U; S3 b; l# B" d
BOOL CWndAutoFood:
rocess()
n; K: u" p: Y9 S1 f" ] z* c
{
. ^0 j9 a, s- ^% U1 F! H4 Z$ e3 y
if( bStart )
' k. [0 r6 ]% n
{
. A- V$ i; [" j
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
- m) _2 ?7 ?% ], V& \/ ?# X' J4 P
{
' ^, |1 Y! l f* M- }
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
+ Z! O; U0 A7 j$ c& @. x3 U
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
2 [* |0 O* i2 e+ n
}else{
8 L7 c7 H6 J3 t# |
bStart = FALSE;
6 o# n. A# W/ M" M$ Q
m_pItemElem = NULL;
{# `! y8 f9 [8 ]/ V! P
}
7 U$ |# {& `1 d5 U5 z6 a& W& X% T
}
' D9 t( q/ u6 |+ |; c$ T
return TRUE;
, k' D1 c* f9 v8 c( \$ G7 B
}
! Z) T' \$ M w: O
1 ^+ M. g3 E8 F
登录视频废话:
* l/ J) X3 H- B) b( L3 Q
尾翼:
2 U O; `- i \" N
+ F C* Q: V2 u4 x3 g& P! {
代码:
6 `- \9 m( r$ Y4 R, {. _2 |
& n- `% ?$ L/ I4 E1 t: o2 ?' m
void CWorld::SetLight( BOOL bLight )
) P; ~) K) u% Q. H2 P9 r. Q; l9 S" O
durch
' M6 W2 h2 q9 Q4 R7 ?0 E+ h- }
Code:
% z6 v# X- m" a; ~3 ]* e
void CWorld::SetLight( BOOL bLight )
7 U$ O2 P3 p( S: D- x
{
+ L# l( J# ~: W0 d0 P$ _
//ACE("SetLight %d \n", bLight);
) ^# N+ [/ a+ C
8 i0 I5 b0 {( L; B* V6 f$ s$ b
#ifndef __WORLDSERVER
a7 }/ E. @4 D& l6 _8 N: {
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
# g! a! Q: N5 z, R
CLight* pLight = NULL;
+ @3 @5 Y1 I" |1 E G1 q) l
' g8 [" P' u4 e& P* w
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
! C: O! _3 }' U1 T/ v
! P2 K' D% c; ?
pLight = GetLight( "direction" );
% i2 ^4 \% b& a3 k: ?
' g7 n# o* a! t) ^, {
#if __VER >= 15 // __BS_CHANGING_ENVIR
* Q8 c. t3 C0 v+ B% b3 g* R1 o( R* z9 V
if( g_pPlayer ){
S+ K, s& x3 n" v
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
, b' q+ w& \: _5 M4 _4 W1 p- d
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
0 F+ K* n& f9 O6 A9 |1 J
{
- k" H9 }/ F! o' ]; F& k
if( pLight )
`7 r) ~! q( u2 q4 }
{
% B/ E7 B$ |& }3 u0 w
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
3 x W- B8 g* G) k
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
9 ]2 {, E$ B! M9 k E- t' h
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
9 H6 J( m5 C3 r% A
: b- m' @3 w3 X, d
pLight->Specular.r = 2.0f;
% b6 l* Q/ g' M, K! F C1 U- J
pLight->Specular.g = 2.0f;
, C& q6 C" y% T/ m
pLight->Specular.b = 2.0f;
* ~! Y! K9 I! V' }% G8 D4 t
6 R; ^0 {5 z& q$ p) }
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
7 r0 F1 F; X( Y# p* j
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
. x9 ? n# Q, J u8 [
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
) \( Q! M; u, G
- [) t B4 P2 E) w/ z/ a( q# }
HookUpdateLight( pLight );
- k- P: B0 n7 H, X9 }" C
( F/ ~7 {& b/ u* s% V- D
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
8 `4 m- T& Y7 a+ H8 S7 Q
# A8 c0 S* |9 D4 o1 B* ~2 K/ O/ l
pLight->Diffuse.r *= 1.2f;
9 I- n8 @& ~# I& @6 w! Y
pLight->Diffuse.g *= 1.2f;
8 e$ |5 s+ J$ k' l0 C
pLight->Diffuse.b *= 1.2f;
4 U) U& Y# P) U& o
3 B. I- o$ o; n2 F- }/ f
pLight->Ambient.r *= 0.8f;
1 i K, q5 H3 m# J- d' a
pLight->Ambient.g *= 0.8f;
, ~+ i$ l" D* W( w
pLight->Ambient.b *= 0.8f;
" ?9 d2 ^( L% P0 d A
' A$ k+ X: l' V2 t
memcpy( &m_light, pLight, sizeof( m_light ) );
* C, N2 m3 T& C' z2 n
; W( K8 d' m9 ~# _$ N- Z, H; l
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
+ c! g# r& j2 F" z2 d& O$ ^
D3DXVec3Normalize(&(vecSun),&(vecSun));
+ A' T- g- U- h0 I- \& t6 D5 w5 N
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
9 E% i" u5 Q9 ~8 P' e! G5 x
pLight->Appear( m_pd3dDevice, TRUE );
2 ]& {' |8 c3 p9 _: h
3 x% b) y2 p) n7 g2 Q
DWORD dwR, dwG, dwB;
9 t/ E" _- H9 s# q
dwR = (DWORD)( pLight->Ambient.r * 255 );
4 _! m2 ~4 s) J) D
dwG = (DWORD)( pLight->Ambient.g * 255 );
2 C/ [ ?+ J3 [9 i4 ]
dwB = (DWORD)( pLight->Ambient.b * 255 );
+ B- q1 g$ c5 v3 J3 p
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; P! e. c( A ^3 B2 @% f5 H, a% X
}
1 ]" i9 r! L( S/ _0 p
}
# S5 k! Z# Z B: [9 C6 N/ F
}
0 u% t p- G" g$ _/ C0 M" n! F, ?
else
+ t) E8 k& s1 T7 G0 X( Q7 z* K d
#endif
1 V5 k* @7 b T1 s6 }
9 v9 O0 w8 B9 `; F0 @
if( m_bIsIndoor )
+ t+ ~1 D; E; j# ~
{
0 q! K% C" A6 E1 H
if( pLight )
* ~; T/ {' E& O: [: l
{
2 X) S7 M. p3 q# q8 ?( ^
// à??μ oˉè*
4 T9 F% L5 _. }& c) l- ]! O
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
5 i+ H; y9 D3 M2 ^* B/ N4 G8 ~
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
1 M! f) ~5 k9 a! T
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
5 H/ D% P& O" X
( z* R! w" N+ K1 v, ^& `3 Q# L. c
// oˉè* ??à?
% v6 u% }% {* D2 x ~
pLight->Specular.r = 1.0f;
9 z! B P& c( Z" B4 Y
pLight->Specular.g = 1.0f;
% C, u% C& U5 R4 c, p' L- k8 M! _
pLight->Specular.b = 1.0f;
" B5 u" n$ l# j8 M
// àü?? oˉè*
* O4 F* [+ m$ A; _# c; M
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
* v3 B$ w4 G3 P- O4 U6 `5 g1 q
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
- x% _! Z0 Y# K2 Z9 U0 \7 Z
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
' S7 \( F0 g" t( B+ g$ Y) |
& i- D4 ]( b+ H6 M
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
. F$ \5 D+ \. y3 Y
{
7 _3 M' m8 W7 j# v/ z+ R
pLight->Diffuse.r *= 0.6f;
0 g6 `6 ]4 w: ?% _7 l
pLight->Diffuse.g *= 0.6f;
; ]' a, D G1 j1 W
pLight->Diffuse.b *= 0.6f;
% |% V" T- @% N$ M1 }: u; y6 L
pLight->Ambient.r *= 0.7f;
9 X% v Z7 B( U1 Z4 I/ d
pLight->Ambient.g *= 0.7f;
! ]" Y, o: J2 z% A- {7 H4 I
pLight->Ambient.b *= 0.7f;
$ }7 e8 I6 S' Y, P5 N0 y
}
1 ?1 w! \ S V S; g8 i2 N) Q4 i
! _8 m& J, }7 n8 w. A% H' R- n- c- h) V
#if __VER >= 15 // __BS_CHANGING_ENVIR
; V T1 S+ K( A8 N; E- |2 o# E- _& H; I
if( g_pPlayer )
( A2 Q& \' ?6 R- x
HookUpdateLight( pLight );
! `8 C5 I9 R4 E6 Q
#endif
# J; G" ~6 y# h
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
* @6 J& R9 \5 c( A' S4 z- l
# r& ?( w. T3 e' h; j' ~( U
pLight->Diffuse.r += 0.1f;
5 L3 w2 W, E! R1 y) ]4 ~8 s, Y
pLight->Diffuse.g += 0.1f;
. c R1 P7 Z# o0 U* F6 f: Z% O
pLight->Diffuse.b += 0.1f;
' A4 `2 a: M9 j" W5 S
// oˉè* ??à?
2 l7 s! _( Y! V1 m/ R
pLight->Specular.r = 2.0f;
3 P! M7 g% q5 L+ Y6 ]% R& }
pLight->Specular.g = 2.0f;
) S! y6 P" V' M
pLight->Specular.b = 2.0f;
8 `! X# [8 B- f7 p
// á?oˉ
2 M* j& Z2 i2 A; W
pLight->Ambient.r *= 0.9f;
" n! Q& a0 @& v; x
pLight->Ambient.g *= 0.9f;
- \' M& {' i1 X+ u% g
pLight->Ambient.b *= 0.9f;
# r% p9 F7 e( R1 A
; o) s0 I) M* N# t" w7 j
memcpy( &m_light, pLight, sizeof( m_light ) );
+ w6 [ {' B$ h+ C2 X0 I; Y
3 ], X- j# v- t; q
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
$ f9 @( J7 ~& n
pLight->Appear( m_pd3dDevice, TRUE );
' K' E; }# T3 ?7 M% w5 g
8 u) H# X# H4 ^6 s
DWORD dwR, dwG, dwB;
" a$ M3 ]0 k2 d, K
dwR = (DWORD)( pLight->Ambient.r * 255 );
) | `' X3 s) A. h
dwG = (DWORD)( pLight->Ambient.g * 255 );
0 ?$ n0 q' [8 U1 y8 G6 X
dwB = (DWORD)( pLight->Ambient.b * 255 );
. l9 q& b$ L9 R- T# ]; m
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" Y* _, \2 {0 n6 D& q
}
7 i J% m1 H, B/ P* Z3 M3 O
}
! K! e/ J* E w$ f. N, l+ V9 \9 @
else
; O N) h( l( S6 S/ T" s
{
8 i0 [" ?5 D; G+ d/ `3 ^# O
if( pLight )
4 Y3 `' V n% x- o
{
" A, Q. B! a6 r8 {2 i8 F/ }
& p5 C# d7 q+ Z/ m5 x& ^* K
int nHour = 8, nMin = 0;
. j4 U7 w2 y3 `$ J c) y4 z9 F! C$ O* B
#ifdef __CLIENT
: _. s$ D4 C% s3 q, `
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
6 D% n; X* A/ n, H
nHour = g_GameTimer.m_nHour;
4 H7 X! l5 ?0 l4 m P" `
nMin = g_GameTimer.m_nMin ;
% P2 A$ I ]. G/ Y! ]* i3 ^) I1 n/ a
#else
; H6 E* C- T7 B& E0 {
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
2 G p7 ^0 A, X; [9 R. ?4 r" Y
if( m_nLightType == 1 )
' l, \8 I# d( K: P
nHour = m_nLightHour;
7 e! g+ T- Z- [2 X( u
#endif
6 q9 ^* U* P1 N: `7 D6 d
nHour--;
2 O5 m$ Q. L! Y! e9 [
if( nHour < 0 ) nHour = 0;
# F( D+ N: \! q E
if( nHour > 23 ) nHour = 23;
$ ]$ s+ o, p5 R: O
: w: D \: i# t5 B
//if( m_bFixedHour )
1 a2 b& Q9 K0 B
// nHour = m_nFixedHour, nMin = 0;
_2 M7 t9 s! [7 s7 M8 E/ F, @
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
2 [" M* q4 T$ a& I, [' n
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
% I' {3 _5 t" Z( Y; [
8 n3 y; D% ^0 h- N) ~6 v
//m_lightColor = lightColorPrv;
" A( R5 M6 k6 \( A8 x! c) c! _3 `
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
7 t' ^4 R+ @) y, \3 g
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
9 F& r* ^" s# `0 z$ y2 e8 f% ]
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
; h1 v( N. Z0 f. m& B
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
& Q2 \ Y5 h& v G) Y8 h- l' D: w
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
* Z8 m" o0 |1 H2 |8 O$ @6 p
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
2 N5 d& X `* C. H/ x& g1 A6 M
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
5 K D' ^4 H3 y( w
* o# T& z0 ]& E+ l6 a; J
// à??μ oˉè*
^0 c& j" A. l
pLight->Diffuse.r = lightColorPrv.r1;
; |( j5 ^0 I2 Y# H I9 d5 t9 C
pLight->Diffuse.g = lightColorPrv.g1;
2 I' }3 R: b) g0 T {; \
pLight->Diffuse.b = lightColorPrv.b1;
2 d" r4 X) y, g+ [
// oˉè* ??à?
5 i6 p# S8 N4 i3 [ B
pLight->Specular.r = 1.0f;
' N/ I" r1 L0 M9 J# ]$ c& g; D
pLight->Specular.g = 1.0f;
% b* Y* u2 O$ ]3 s
pLight->Specular.b = 1.0f;
* m( Y% | a" ~
// àü?? oˉè*
* {( d j- Z/ E: |9 i. Z" \
pLight->Ambient.r = lightColorPrv.r2;
0 Z* I! |0 l; s# z6 i
pLight->Ambient.g = lightColorPrv.g2;
: m- R/ k9 W5 J2 j
pLight->Ambient.b = lightColorPrv.b2;
" Q+ L7 R! i8 i5 W' M6 T3 U* f
3 `9 k: \1 P$ x/ q3 c
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
! P$ m' J1 F( _- `
{
3 M% s! A- z3 U v, W% Q- f7 H
pLight->Diffuse.r *= 0.6f;
9 ]5 J: b; r$ Q( t/ m' ?& K
pLight->Diffuse.g *= 0.6f;
# u) [* s3 S1 \. {/ y
pLight->Diffuse.b *= 0.6f;
% F% {% F$ e6 A
pLight->Ambient.r *= 0.7f;
# } j4 k. k% l9 V3 T2 O
pLight->Ambient.g *= 0.7f;
T8 Z5 Z8 D9 |. K' a3 \
pLight->Ambient.b *= 0.7f;
2 J/ V; n6 u' x( i! e& x7 A& f1 ?
}
. O5 D1 r9 D4 r" L5 h
+ O7 r$ v& v# T9 X
#if __VER >= 15 // __BS_CHANGING_ENVIR
9 W. p. H2 j" b# I
if( g_pPlayer )
! A$ [, {" ^% h$ M- x6 w& G
HookUpdateLight( pLight );
2 ^6 f+ R, t5 v# r
#endif
4 ~/ w- F6 _: g5 ^( j3 r
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 H, c# L" t, G+ E5 b& [% }' s
& u* b( U5 M/ r; ]
#ifdef __YENV
1 Q: p( F& a& K$ Z- ?, K" {
pLight->Diffuse.r *= 1.1f;
/ K. k/ z1 u. G7 a; W& a- r2 r( e
pLight->Diffuse.g *= 1.1f;
! w, H9 \( q6 s
pLight->Diffuse.b *= 1.1f;
! O1 s1 h5 ?! i) {# s6 C
// oˉè* ??à?
p5 v: {4 p9 d% Y$ G
pLight->Specular.r = 2.0f;
6 h; J" m5 k0 c7 w
pLight->Specular.g = 2.0f;
( v. Y- O' J" P9 c
pLight->Specular.b = 2.0f;
* X5 c, k- s- H5 x
// á?oˉ
* q6 g8 r0 k4 S8 a: X
pLight->Ambient.r *= 1.0f;
" m0 p" U. a9 p- l0 `# q
pLight->Ambient.g *= 1.0f;
# B2 m0 N1 \" Q' T0 Z* K% v3 r+ }' @' l
pLight->Ambient.b *= 1.0f;
( T F" ]" B8 w
#else //__YENV
* V$ \. E# g. j4 g& O+ M
pLight->Diffuse.r *= 1.1f;
7 b2 w' @. E! _5 W6 A
pLight->Diffuse.g *= 1.1f;
) e6 E+ B$ R4 J0 @& [2 E( z, _
pLight->Diffuse.b *= 1.1f;
0 R8 O9 g L4 I* B6 S; x
// oˉè* ??à?
+ y$ i% G. I; y4 i. s5 P2 J% A9 R; c6 f
pLight->Specular.r = 2.0f;
+ n+ b% G+ H/ }4 w: J2 u
pLight->Specular.g = 2.0f;
0 {0 B3 H: G+ t# E
pLight->Specular.b = 2.0f;
1 @. n q5 l! M0 F* P
// á?oˉ
, o8 @6 t5 F: p4 D5 L
pLight->Ambient.r *= 0.9f;
- O8 {/ F2 `2 q' Z* m7 l
pLight->Ambient.g *= 0.9f;
: d9 x" h+ G4 X3 x' z1 s, X V7 V
pLight->Ambient.b *= 0.9f;
" p2 Q' Z. }, F: k
#endif //__YENV
& Y0 U v+ R9 ]& `
( Q, q9 ~: L1 d$ I% M5 ] k
memcpy( &m_light, pLight, sizeof( m_light ) );
9 |8 C+ ~( p3 M" j# \2 l- B$ ?
# ^0 |4 @* o) l- Q. f! [
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
5 c' \" G$ B3 o) s/ q! h0 Y1 W
D3DXMATRIX matTemp;
4 R2 s! _% q" c" Y9 {- \
static const float CONS_VAL = 3.1415926f / 180.f;
( E% V0 O+ p- h) |
3 E- g: m2 @% J K0 ?
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
$ j7 F) F6 h4 {5 Q
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
8 M# Y# D; Z+ I0 Y6 Z& N1 U+ O( p+ D
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
4 Q! z; a4 K. g$ p
pLight->Appear( m_pd3dDevice, TRUE );
8 _5 y/ B z1 Y2 C% v- S, Y( @
, A p- |3 R* c+ b: v
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
; t: z- M+ j; ]1 u
// D3DXVec3Normalize(&(vecSun),&(vecSun));
+ x ~, v9 C3 M+ L. b+ t/ R' s
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
0 x* x% V7 H8 |4 R
6 y- C P! ~7 @
DWORD dwR, dwG, dwB;
9 e( i6 H6 E2 f% B
dwR = (DWORD)( pLight->Ambient.r * 255 );
- l$ L' G# ^! R% O% J+ ?
dwG = (DWORD)( pLight->Ambient.g * 255 );
- H" t+ r% Y5 E. d& |
dwB = (DWORD)( pLight->Ambient.b * 255 );
; Q+ P4 Y2 t( [5 j
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
/ Z# b* g( f7 U9 P: ~% `
}
" k8 O( W- r/ R5 O
}
( \; _7 m6 I# u8 _' g' ^
0 i- u7 L; \% e; l% T; v& W
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
8 p. M8 J4 s; f S- ]8 e
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) );
6 x9 L1 N3 `4 g! q# s
::SetLight( bLight );
/ \ ?+ w* G% E/ Z6 a
% M5 |! @5 {1 {& C6 E
// ±ao? ?D?í???ó á¤à?
& _- r/ V$ K" _$ T; ], h) W4 c! ]
m_pd3dDevice->SetMaterial( &m_baseMaterial );
* b! q+ F \8 Y; N' n2 q
7 ]) M. M; p j
#endif // not WORLDSERVER
/ {0 ^0 p) X5 E- S# S* }
}
( m1 x" E8 w o# W4 r! F
并更换
+ P* V; P, W) B, B3 {/ w$ L9 z
Code:
9 _3 W9 N7 a/ v3 D7 G- K+ L1 E
__FLYFF_INITPAGE_EXT
/ _5 n. R2 l1 U' z& \& m3 p8 w2 G
定义
- l: C$ N1 W4 [ {! ]
: K' S/ S" r. J: g
" I! D- a+ S! e2 W+ [& ?
9 ~! Q: U$ l) u3 K5 }- l: ?
- U+ x9 Y/ R! P6 x
现在终于删除我的狗屁加速...
( w# w% i( Y& n0 z! s. y7 x
; O$ q/ o% t; _
: J# J( n$ C/ `6 U2 z
3 p0 {" o9 @8 O* ~
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2