飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
; H5 E% P$ i4 ?1 n% K7 Z, O, h
尾翼:
" L5 D0 ^* {$ H6 V4 K' i
# z4 a4 i# F0 i* B3 s: C& Y; l
代码:
4 C6 z4 h& C+ {, V' J) o% \
CWndAutoFood::CWndAutoFood()
1 i7 \: ?% q8 \ F4 }; f! u
{
$ Q' q6 I* Z* N! @
m_pItemElem = NULL;
! x; ]1 `! J& [! F
m_pTexture = NULL;
/ g6 O& ~ a: ?* ?( W" `
bStart = FALSE;
- {) [% ?* d. g7 \* h* |7 K- v( T
}
* Z5 l0 ?% @- d, }
, v ^, `! L* |4 ~, M) t! G
CWndAutoFood::~CWndAutoFood()
+ J3 \ v2 O2 \: W) f
{
# y% S% G0 g+ y$ m
AfxMessageBox( "AutoFood ist gestorben
" );
) m% G! P5 J* r# Q$ L6 A. ~( \
}
% p6 z; X4 L- a9 J8 }
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
+ e0 ^3 |* U- }. z5 \
{
3 E/ m) ^, n! R! u/ w1 T* l
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
: ?" N7 l! y5 o' P9 n# S8 J8 A
}
2 }+ N. B& ~/ _0 i
* h% Y/ j8 O5 I" b( [# `
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
+ B* b& O$ q" U7 ?
{
9 v0 Z3 {, B( L( m# S+ E
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
, M/ B4 o$ ~8 u" x1 s& b
CRect rect = pWndCtrl->rect;
) ^& P, w# d5 u1 A) `: U. L
if( rect && rect.PtInRect( point ) )
. T3 G) k* f. @9 @! I ]& \
{
& m6 k% n: d1 z- [. [2 s
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
" V4 ^) A7 n5 G+ c7 s3 M
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
# S4 c. `. j) T; K
{
& [; q# k3 e M& c8 I
if( m_pItemElem )
! V5 x' k! c0 s1 P
{
& C X: P: t( R, z( L4 ~
m_pItemElem = NULL;
5 v6 J' k* s O1 y) B* T) A
}
* Q) ~' E7 [; r) X1 j. L
m_pItemElem = pItemElem;
) z _/ P$ Y3 Q" G( E: f
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
: n1 q, E+ D; X, P8 P2 I- N& |
}else{
: Q1 `* K( Z8 \9 Z6 v
SetForbid( TRUE );
/ B* o/ O7 p* m% d# |
}
h i4 `/ s3 z% M' G* @/ ~ A
}else{
7 w% l7 T* m2 N( S+ n) b
SetForbid( TRUE );
2 a! [) _& @' E5 o6 r% J2 a
}
' ~$ F) D9 c" X1 A, J4 E
return TRUE;
, A6 e# H* j% _6 S4 K
}
+ P$ N6 q4 m' I* u, `
/ ` B9 D* S! a+ c3 L
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
3 s% r% t/ x) c/ s# |* t
{
) }" n3 V3 V/ m$ a) M' u9 @
switch( nID )
) o! P$ A& U* D
{
8 D3 z* @3 C/ i# E
case WIDC_BUTTON3:
# ^ G) o4 \& @
{
1 R7 i; |8 C6 a7 b" ~& { c
bStart = TRUE;
% v: z/ S# B7 Z0 T/ Q
break;
7 b R! O# E, ~5 {1 a9 W
}
. F, g& e' r# F+ H
case WIDC_BUTTON4:
% P5 s5 w1 y+ h, K
{
" t, j2 L. ?& Q
bStart = FALSE;
/ v4 A; s$ q: H% o. O5 u
break;
/ m$ }5 i' k( ^7 ~: O. K6 s: `
}
" q- r3 {. z7 j8 X
}
9 E- v e& |$ t7 R2 b. b L
return CWndNeuz::OnChildNotify( message, nID, pLResult );
& m; _" o% ?8 }! w; u
}
- r1 v6 U h5 @ D' y1 ?" o
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
& ?7 W( y' f5 T7 a" T Z2 m# Y3 z
{
4 ]) k2 ~, s r# J
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
9 D# j: z9 t9 h0 v6 I
if( bStart || !m_pItemElem )
# r6 I& D" Q. n+ \
{
{- V5 d N6 o5 r9 A6 N
pBtn->EnableWindow( FALSE );
w: b% O6 | n4 M; A
}else
6 k! e% c" H2 L5 }
pBtn->EnableWindow( TRUE );
; a0 Z% t7 J# C) H* x0 g) v, P# }
if( m_pTexture )
0 L3 Y# X! F) y9 V
{
# R) ^) H- ^( |0 I2 S# U7 P3 L% ?
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
* n5 W B, N. j
if( wndCtrl && wndCtrl->rect )
* K; @! x/ I5 c$ p% ~9 Y
{
3 f$ k* \. M( R, v4 S
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
" Z/ [5 q* b4 j+ Z" ^
}
4 F& p3 j; l3 R; e
}
6 s, i* ]1 R7 g/ v
}
% n2 Q+ X6 |0 L) P4 `0 i! [
& M3 U- H, C# q' |8 b
BOOL CWndAutoFood:
rocess()
. V/ V Q1 j5 A+ K" [
{
\* I( `4 B: z6 `
if( bStart )
+ }/ Q! p0 U! ]) v4 Q& b
{
( K' P8 \: o3 X, I
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
7 f; {. R: W. y. C% K
{
* i5 Y, Q& I- a
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
& ~+ F2 c a/ p% S! [
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
$ f7 y3 o( r9 P) s5 D2 Q
}else{
' M l) l( C( _% S* J$ u# q+ i9 h
bStart = FALSE;
% E/ V6 d& S* ]$ N, N
m_pItemElem = NULL;
) `: U* o4 o8 ]' {: K# m* I/ D
}
1 e$ _ W" a/ R$ r
}
4 `8 S! Z) J% E; E% O% S
return TRUE;
$ g3 V: a' Z* x; \, U
}
0 R, {* \ b3 c( {
) o: F2 j# I( N& x% ~* C# u
登录视频废话:
$ O' `5 ~" _2 u! @
尾翼:
6 \/ x* E5 s A0 b7 C
7 W/ W; Y8 M- G# N/ k% N
代码:
4 j+ v+ m; }% w0 ?. |* [! {
4 L) f: u# U, t$ k) M4 {4 S
void CWorld::SetLight( BOOL bLight )
6 t' s5 I6 G$ O
durch
5 X7 O* i1 _( }. o( _( ^
Code:
+ [4 M' g1 Z0 v
void CWorld::SetLight( BOOL bLight )
1 H, r) p6 n) t5 o* W4 W
{
2 [+ X+ B' j: b4 v
//ACE("SetLight %d \n", bLight);
- Q! |* k4 \8 x1 `% A& J8 p: j* R
) P% _; R1 Y/ G; i
#ifndef __WORLDSERVER
0 X1 M" \1 k a6 u8 g X& g9 j
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
- z- M Y0 t+ C! x \" o
CLight* pLight = NULL;
; w x7 h3 K4 ^ }3 J |" Y" N9 y
. o6 I. D! A+ ^+ ?7 S
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
# H1 i, u6 M/ M% @
! A" ~! ~9 I) I4 |) ~* r J' z
pLight = GetLight( "direction" );
- r, g" U, O* d3 u6 Q2 \1 Y
0 X9 E7 Q. s8 Y8 @4 y8 ]
#if __VER >= 15 // __BS_CHANGING_ENVIR
( F2 ^* S* c* `1 J; j' A: L$ Q
if( g_pPlayer ){
- C) z" V: N5 J1 u' g9 A7 `: j6 {2 M
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
3 V9 v' z: K* A7 [' J
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
' [8 c3 b3 l; P% E/ \& h& [
{
9 u; t. ^" w$ y: x; p+ \7 P) [9 @' c# O
if( pLight )
) V3 O& T5 ~9 \9 d K' ] l
{
3 A. ?; Y/ T( m
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
5 ]! m% g" s$ w: D
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
9 b* o* F4 S+ k' \# Z5 z# p. h
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
. o5 _9 G1 \ i
7 U9 K4 n+ A; k/ {! v* J9 m
pLight->Specular.r = 2.0f;
* @5 L$ M y0 y6 \1 }6 B6 v/ p3 q
pLight->Specular.g = 2.0f;
2 g1 A/ p* _1 P
pLight->Specular.b = 2.0f;
4 T2 u/ `" _4 b# P$ ~
7 n& ^/ n- s5 |3 x, W" g B$ r
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
3 e+ i P c% S* \4 z
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
5 b" v5 c% P) e
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
, u# e2 V: `8 H% @) G1 d( I7 Y
: Y+ }) S7 W0 u7 {6 Q A
HookUpdateLight( pLight );
% K/ w! i( Z+ C
5 Q8 ?; ^) K3 b! ~6 g* I
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; D, C5 n+ g/ \/ f" {
4 R! ?# m$ p2 l/ X7 \2 c+ X
pLight->Diffuse.r *= 1.2f;
& G! V7 E# R# [; z( G/ A* ^
pLight->Diffuse.g *= 1.2f;
3 k; h, U, L% S+ [" |
pLight->Diffuse.b *= 1.2f;
# x+ W+ o Q: c3 I/ X% [, A
/ t7 }9 a D1 C ^5 j9 B! W& A
pLight->Ambient.r *= 0.8f;
8 G/ H2 w: P* p* E5 Y8 W
pLight->Ambient.g *= 0.8f;
$ o' e' v, b" r2 N2 T
pLight->Ambient.b *= 0.8f;
. I- _* f# y5 W# b
: A9 v r) V9 A7 K
memcpy( &m_light, pLight, sizeof( m_light ) );
. `* E1 P3 a* \& n! Y
1 G# U& ~7 H5 j1 `! q
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
8 P# A. @" E; w/ I: z
D3DXVec3Normalize(&(vecSun),&(vecSun));
2 U) [1 e& c# N5 Y8 X% j: w
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. f- N4 R9 W& n# V% ?! H% p
pLight->Appear( m_pd3dDevice, TRUE );
4 g' W9 ]8 g6 a* i
' U7 T& c/ W4 D+ f0 L' z8 J; O' L
DWORD dwR, dwG, dwB;
6 \2 U, R* C. u9 y" ?6 A
dwR = (DWORD)( pLight->Ambient.r * 255 );
& p: m* Y5 a2 v. N% ?" [
dwG = (DWORD)( pLight->Ambient.g * 255 );
; H- N5 N0 X* k* R) x2 K: z! B
dwB = (DWORD)( pLight->Ambient.b * 255 );
9 u! N0 n. n X- [9 l
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
+ ?3 @1 \, F" H2 f( P5 E
}
4 c% J/ R; ?& ?. t$ @3 R
}
3 b; l( D- s" l2 T4 P3 z
}
6 o. Q1 y, e% q/ p$ K+ _. w
else
7 v X% } |1 H$ F
#endif
9 v4 v( U; r4 _
3 i8 M% b' j5 R$ l) W
if( m_bIsIndoor )
+ r: X2 H# k: d2 w4 m
{
4 ^' _7 u- Q2 h4 a+ r" M/ _# }2 ~
if( pLight )
- Q0 T+ h$ R% o" E% [
{
! \( F) x: r9 z; M/ @" V W
// à??μ oˉè*
/ P* Y* g- ^( o% y5 W0 m# H
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
! i- {- I* E% y) g3 B U
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
! C% [( Z! a3 K% P
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
8 z. P& s" D0 b: h. w' X
' h& U4 l+ Q+ v4 f0 p6 w# B
// oˉè* ??à?
* @. b' z' ?* I2 ?
pLight->Specular.r = 1.0f;
; L8 y) e3 Y/ A1 G+ ^* U
pLight->Specular.g = 1.0f;
% p# w' r k0 F2 n& F) {! j
pLight->Specular.b = 1.0f;
1 T- H1 Y P$ T' a8 I. N
// àü?? oˉè*
3 I# b+ B- X4 z& i! f
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
5 |; o0 B% n+ K9 E, r# K5 g* d
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
3 o. R, {+ }1 @' g! m6 s# r7 A
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
% Z" Z7 R' |7 |- [
6 r, _. _; b3 [; ~
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
% T! b/ E' K) c, b/ b
{
9 Z4 c/ k( a5 L0 s$ j
pLight->Diffuse.r *= 0.6f;
$ D N# u0 @+ T6 x; I* q
pLight->Diffuse.g *= 0.6f;
0 M% {$ S1 v. w. j8 A- \; ]4 U
pLight->Diffuse.b *= 0.6f;
# k) }. u, f/ S6 K; K8 `) G* h
pLight->Ambient.r *= 0.7f;
8 k/ c" A) g3 Z% R
pLight->Ambient.g *= 0.7f;
2 o/ I4 {; u7 {& q
pLight->Ambient.b *= 0.7f;
4 q& d0 \ i* A; e% [3 P, N; u
}
( D) W0 K% Z% P9 j- Y
) D3 Y. J. ~6 b9 [# p
#if __VER >= 15 // __BS_CHANGING_ENVIR
& ^: p2 P+ L, `& ]
if( g_pPlayer )
5 ~ p# I H k9 }2 A, \* O1 p
HookUpdateLight( pLight );
" e: n0 V* p. Y% m
#endif
4 C# {+ q4 C1 ^* W6 g' u4 u
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ _6 O6 ~2 J8 d3 q( Z- U- ~. c
p6 d3 r1 S- o( l* T
pLight->Diffuse.r += 0.1f;
) c. }& ` [0 } s
pLight->Diffuse.g += 0.1f;
2 v- M4 K6 z B: s) o. U
pLight->Diffuse.b += 0.1f;
0 W3 u3 k$ [) Y s3 c2 P8 y
// oˉè* ??à?
& {' \9 L' b$ Y: }
pLight->Specular.r = 2.0f;
7 _" A) B6 [# D( C4 H( B
pLight->Specular.g = 2.0f;
* m' b- r; W- V* N
pLight->Specular.b = 2.0f;
" e& l l; k h N
// á?oˉ
! `( g8 K5 @) T/ q: P: R
pLight->Ambient.r *= 0.9f;
6 K% P) _' t7 S: X+ ?
pLight->Ambient.g *= 0.9f;
1 o: N, A$ R: \# t7 |3 ]
pLight->Ambient.b *= 0.9f;
1 D8 t% m. f2 E9 ~/ {
% {0 ]# F0 r: [/ m" Z8 v7 @
memcpy( &m_light, pLight, sizeof( m_light ) );
. B0 ?% ]4 ?) z& r
9 x- W N, X y) V5 \5 ^
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
* B1 b/ a5 \7 H
pLight->Appear( m_pd3dDevice, TRUE );
& m* o. s8 a1 f; k
7 P% ~8 G5 c2 f% M9 N
DWORD dwR, dwG, dwB;
) X W$ u) y4 W4 `6 j0 t; ]& @( S
dwR = (DWORD)( pLight->Ambient.r * 255 );
- z* B0 x$ Y" @/ [/ D: d2 k
dwG = (DWORD)( pLight->Ambient.g * 255 );
# A2 U+ z# a- D# h, o
dwB = (DWORD)( pLight->Ambient.b * 255 );
! a, c/ a" b& e6 `
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% Y% g! D' Z, K* h% s( O
}
2 \. c3 @ |1 a
}
. V8 b' E" p) a3 z4 n
else
1 ^; A5 r" f$ M& ^9 b9 I
{
9 R4 y0 Y: ~9 i
if( pLight )
6 N7 N% K; v5 ~/ |9 m& S, k
{
5 |! r1 Q4 F. Q) I% @
/ N& m/ E! F( e- S
int nHour = 8, nMin = 0;
, C& C2 ^# X; k% v& G5 p
#ifdef __CLIENT
* e! P6 a1 T: F( \, v
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
- w, N! S [. Y; U0 @
nHour = g_GameTimer.m_nHour;
# t. X" j; }/ f3 k: o# ^
nMin = g_GameTimer.m_nMin ;
* U0 y" P7 S8 `+ W7 R7 G7 ?3 ?% j
#else
/ |0 U% h/ V$ q" t
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
. I. C6 s( b0 `1 o: J& H+ A0 R
if( m_nLightType == 1 )
$ X) |0 T& Y% K. g
nHour = m_nLightHour;
, K! i! S' j3 U4 W* V
#endif
/ b4 G& e/ \! x4 X" ^8 h# v% @; {
nHour--;
0 E! ~0 S) R8 w5 s8 O
if( nHour < 0 ) nHour = 0;
1 A; A2 }* n; b7 M
if( nHour > 23 ) nHour = 23;
. u4 m+ |# _1 a
+ e3 o* D/ r" X2 g
//if( m_bFixedHour )
" X8 B5 T# ^) ~) Y
// nHour = m_nFixedHour, nMin = 0;
& N* Y) j7 \$ n
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
9 Q, p. }4 _" G) d9 s1 M
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
$ n, r! H9 h+ _1 W
) n/ |* z7 D: l4 k) e0 f; K
//m_lightColor = lightColorPrv;
" Y1 T8 E( T; C D4 t1 g) }
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
) N: l j; E! ?, u8 o6 c+ W* | W
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
# t0 ~6 {* K7 l8 ~
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
8 s: H( }* h& o
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
u, u, h& b' H9 A6 P& j- u( W: `
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
, e3 O; W2 ~. v
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
. j; {7 {4 J4 o$ U0 D& D
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
2 K2 i) O, ^$ S# t) M9 ~& {
3 T2 a6 J, ]. U9 t
// à??μ oˉè*
( ^3 K& J. c$ M% X
pLight->Diffuse.r = lightColorPrv.r1;
4 |7 s6 n2 Q" g$ ~) x
pLight->Diffuse.g = lightColorPrv.g1;
/ g1 P1 [% t8 _( b g% t+ @
pLight->Diffuse.b = lightColorPrv.b1;
J5 }$ @# \% P, I' S$ v" ?
// oˉè* ??à?
+ k# d- ?5 L* V1 V
pLight->Specular.r = 1.0f;
) E9 J+ |( p# N8 F( K8 W0 H1 k
pLight->Specular.g = 1.0f;
: `* d4 X. ^# y( L& T
pLight->Specular.b = 1.0f;
* Y/ s) d% S4 U5 T5 u0 j w2 @
// àü?? oˉè*
6 y6 I) q- G# p' f% H! L3 c
pLight->Ambient.r = lightColorPrv.r2;
9 o8 t5 f" q4 i$ j, t5 {
pLight->Ambient.g = lightColorPrv.g2;
7 V0 g- e+ C$ c5 ?5 R% s% [
pLight->Ambient.b = lightColorPrv.b2;
$ l1 c3 v* y1 [0 E
+ Q! [+ x: S7 {+ L4 l
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
8 @$ m4 T7 J. r- W( Q0 A
{
1 d9 ^- h0 ^9 F/ g; c
pLight->Diffuse.r *= 0.6f;
) w% e4 c" [8 x
pLight->Diffuse.g *= 0.6f;
7 W4 e7 ^% V% B2 f; X
pLight->Diffuse.b *= 0.6f;
1 }; o1 w. k1 ?0 L% Y
pLight->Ambient.r *= 0.7f;
- A4 P+ @0 U9 U5 `6 R
pLight->Ambient.g *= 0.7f;
, _. N, T. x3 M9 ~
pLight->Ambient.b *= 0.7f;
7 ~$ W N3 r) \# _) R
}
8 c. Q7 T' S) V2 y8 Z
1 W/ N' M# F; G) C8 @
#if __VER >= 15 // __BS_CHANGING_ENVIR
8 I* `; e- I+ W& N2 ~) ~# A
if( g_pPlayer )
3 A _$ A0 ^& v
HookUpdateLight( pLight );
9 {& Q# U: K, j$ I: S% f: ^
#endif
$ l! d9 ^6 |! g! F/ q' d
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; b$ T2 i0 o8 u' D+ j1 }/ |
% v0 F8 R7 P- t! {
#ifdef __YENV
8 f0 d4 [( ?: u
pLight->Diffuse.r *= 1.1f;
( L# k; g/ \# c3 l) u0 B, [
pLight->Diffuse.g *= 1.1f;
' S( e3 o7 v- c Y1 W: y
pLight->Diffuse.b *= 1.1f;
7 j, h6 [1 B# s( F
// oˉè* ??à?
' Y0 D0 U8 R' f4 P8 h
pLight->Specular.r = 2.0f;
) f0 w; g, @& ~, _4 w5 ?- T
pLight->Specular.g = 2.0f;
# ^4 y' }4 B+ }: a: c8 y7 G
pLight->Specular.b = 2.0f;
. j+ w1 n5 x/ l" U9 m7 D
// á?oˉ
' R; H5 q# j: R1 \4 a
pLight->Ambient.r *= 1.0f;
+ z/ Z% @/ W# T0 ^9 I
pLight->Ambient.g *= 1.0f;
9 N: z' }: \. W: y# y# P5 w
pLight->Ambient.b *= 1.0f;
0 ~1 N( n; N! H( g; P3 b
#else //__YENV
8 f; z9 @+ D% u k+ a
pLight->Diffuse.r *= 1.1f;
3 [# y5 l7 x+ g2 e8 y
pLight->Diffuse.g *= 1.1f;
. _ f8 W6 Z3 M
pLight->Diffuse.b *= 1.1f;
/ I' i) [2 r4 o# X# o! _
// oˉè* ??à?
R1 ^# ~( K9 w5 Q1 c, t, x
pLight->Specular.r = 2.0f;
2 n4 P" y( _' b/ Q/ o
pLight->Specular.g = 2.0f;
' }7 G. H% r3 U: I P/ Q
pLight->Specular.b = 2.0f;
. w0 ?! N6 ~7 K) Q! m( W
// á?oˉ
- j8 }* f, U& j9 q1 ~/ e9 l
pLight->Ambient.r *= 0.9f;
" Y% ^* U7 E& d( G4 n
pLight->Ambient.g *= 0.9f;
* M- U; \( X) I f7 v H( m! C
pLight->Ambient.b *= 0.9f;
5 H7 f3 \, _/ Z5 e! p3 v. u( V
#endif //__YENV
7 Z+ _( j1 d! `
/ v, l( K( W! U, D4 }" R N
memcpy( &m_light, pLight, sizeof( m_light ) );
9 r z- ]8 \+ G* |, K6 a, b
1 }4 y' z9 }& m# y9 b9 N' P# M
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
) U1 t% T( j( H1 v3 N$ u; e
D3DXMATRIX matTemp;
7 S9 I: p: \0 H2 F6 j+ J
static const float CONS_VAL = 3.1415926f / 180.f;
) e' i9 b1 x5 @* j% l
5 s b: d2 |: \, h
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
- `" R& |% c2 ^0 W+ ?1 O% d
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
+ K8 P$ r8 z/ t
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
9 N; M+ `4 [9 t9 p5 \7 `
pLight->Appear( m_pd3dDevice, TRUE );
) k: S% U6 i8 ]' {
0 t- T2 @& {7 R* N$ _0 B
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
: d! o; w4 C4 s5 R) P) G. H, ~
// D3DXVec3Normalize(&(vecSun),&(vecSun));
3 d2 R& M3 V; T1 N! c
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
4 ^) G- O1 Y. ?/ Q1 y
5 J4 m" a. `6 x) L% U! |% v
DWORD dwR, dwG, dwB;
x& \+ u, p E L3 a' a! _" J
dwR = (DWORD)( pLight->Ambient.r * 255 );
' Q# t" b" u( }1 X7 S
dwG = (DWORD)( pLight->Ambient.g * 255 );
7 J$ ], L9 J7 v/ g6 J( X$ O" l+ Z" w
dwB = (DWORD)( pLight->Ambient.b * 255 );
$ x6 O1 H7 p4 p; U" {
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
! F9 T0 D2 {4 E# k6 i* M
}
( {( b; w3 A. N# Z: @
}
x; }. \ S3 p s0 u/ Y8 I) |
/ i0 }" }/ a" q: d/ D$ o& n. S
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
2 f' T. s* @$ I, A
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 Q+ Q& e+ l& E- ]& D$ N' x
::SetLight( bLight );
8 @& J- }$ e* P/ J8 L
: d: ^7 k; b6 J2 [- i |
// ±ao? ?D?í???ó á¤à?
4 i5 L6 G1 F6 D1 B' V
m_pd3dDevice->SetMaterial( &m_baseMaterial );
5 N! k) r/ g9 }8 J& J9 T' o/ Z
5 i/ n# s/ ~$ v1 m- E
#endif // not WORLDSERVER
7 u& T: R+ K; ]. Q
}
3 k5 H5 j# e; G, `0 F5 ~$ t( i; Y, M
并更换
0 A, u4 Q2 W# [5 M2 i, m
Code:
; h2 ~0 y( @) m6 e
__FLYFF_INITPAGE_EXT
0 O/ L' o& Z& M; D3 q; n
定义
2 s) ^( P7 ~) ]4 [+ F3 e
% [! o" ?8 }# u4 j$ g9 V8 l
& s4 J$ f$ p6 w1 R
, c6 k( G1 @: a0 v4 k* w/ R6 z
* ]6 x) N) [ y' |9 f9 d& {
现在终于删除我的狗屁加速...
9 s! _. A9 |' w$ J
' H0 j. s- R( y+ V1 e' A
# M/ R6 g* z+ d) K% ^& {
# l" i w6 a8 X5 g' m* R' \
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2