飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
. L" w% j# Z! @7 S. `. d
尾翼:
6 T @2 Q( s7 \, B! y( C8 z, V0 Y9 Z
6 A2 L k+ f/ [) _0 D' i* y# X( u
代码:
; l0 o6 O8 C9 l8 l# |" W( t; P7 C
CWndAutoFood::CWndAutoFood()
8 z- V' |8 l4 N& t- H5 h9 Q, Y
{
; |) r+ m' w, ^/ R7 Q) _
m_pItemElem = NULL;
% y! {2 M# t% O" c9 a) I7 v3 Q# Z
m_pTexture = NULL;
0 p8 h5 p) v9 Z
bStart = FALSE;
2 D! p# D+ h) e7 C5 o" K9 M
}
4 E- w- _4 Y0 W
2 b. E- y: Y! b# G( ]
CWndAutoFood::~CWndAutoFood()
* y; D( Q8 v" W' S" X9 ]/ t" A
{
0 F2 S) _9 z1 u2 _. W% S2 i
AfxMessageBox( "AutoFood ist gestorben
" );
4 o% M+ }$ k- A
}
: L. z( ]3 B% H3 }& E+ `
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
( Z% s h" c7 D G2 z# ^
{
3 Z9 U7 [% r- a# V
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
- t( x4 a3 W4 y! A% p' D8 p( j
}
4 H& `* J9 A @2 r$ Y5 `3 U& ]/ g
; u) j2 P7 q7 i* t* J
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
& e- c- l) W8 J# ]& W; E9 k
{
0 E% L# b6 W0 h
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
' y" d5 b7 c( V0 Z% p3 b2 g% n
CRect rect = pWndCtrl->rect;
! P) O" e: D8 l" V( k8 N, C; r
if( rect && rect.PtInRect( point ) )
. L) x0 u5 p4 M- x6 |
{
: o8 @+ K/ V! ~/ t
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
2 v6 R4 n1 _& t
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
) V" s4 J( X( i+ `
{
, y! n/ s2 W9 V* i
if( m_pItemElem )
. q; z- R7 M7 b" V- Q: z* }
{
. K+ F* j" K0 g8 o& A0 K) S3 B
m_pItemElem = NULL;
) n; S# o8 N1 T& d% a& x; S
}
\1 O a6 x' q6 S$ e
m_pItemElem = pItemElem;
; d8 [* x: i6 n% P* ^) f
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
8 I, U' V# Q8 o' T
}else{
* y6 D, s, h9 C- }: }) a- P6 C
SetForbid( TRUE );
: S' r0 E$ q! N2 f9 M2 H
}
: N/ F$ \" U4 J' J4 e- J5 x
}else{
0 \: I4 m) u# y$ @- b: ]! t+ ]' j) M( K
SetForbid( TRUE );
; L, `% y+ h' f1 z
}
9 y5 k/ l: h4 ^# m
return TRUE;
# R4 X0 H" g i: K9 U
}
; e- @/ N$ e" L
~1 |6 ~) T# H8 a. `8 O
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
5 O% @/ w9 g& |/ B4 U5 y0 `( _
{
; V6 E0 ]' ^- d4 {
switch( nID )
/ H4 I4 {6 @8 h
{
# ]: _) v& C$ G7 r9 u1 c
case WIDC_BUTTON3:
$ s. q5 I1 W% W6 n" \; A! Z
{
/ @& u; z6 }, b9 r: D) B6 m7 K* r
bStart = TRUE;
" ]6 e {) ^ d" C
break;
: I8 m: ^; h A- a2 W( p$ n
}
- g; Y8 r7 [9 F4 B. l, c( d
case WIDC_BUTTON4:
9 p% v# A% z' c1 ]
{
) t# `& K, K/ D" F. n$ t& N7 B8 I( [
bStart = FALSE;
) ~3 v) d) p$ t- U
break;
5 G: o( O) {% V. E# X7 m6 g
}
6 [9 W. Q1 ?% j$ s% Y4 K4 ]
}
7 v L; Y" H' i
return CWndNeuz::OnChildNotify( message, nID, pLResult );
3 [. M; {' o D4 k6 o
}
! Z# `$ b& G# H1 C( x k
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
9 s6 z! l$ q2 g; ^
{
: P$ V" v4 P1 p- C7 l9 Q
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
" g) ^0 d3 \3 Z
if( bStart || !m_pItemElem )
4 g9 L7 X6 D3 \+ v2 d2 |
{
8 i/ K' I' ~9 P+ Z! F9 x- R
pBtn->EnableWindow( FALSE );
- {( D+ r3 z/ P. P# X
}else
: ^4 Q3 l8 X3 ]$ P
pBtn->EnableWindow( TRUE );
+ I) \. K7 `6 ]
if( m_pTexture )
: ?) I' G* l4 f2 }* b8 Y) M
{
7 ~0 q6 f8 K3 M9 j9 K0 r' p
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
, {& k2 l% W7 a7 l+ U/ c
if( wndCtrl && wndCtrl->rect )
" k1 i2 x4 t4 q& [
{
' ]* z/ |* }$ G" ^/ r1 Q
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
* w( A$ R. r7 m2 `$ z8 s2 T: d
}
6 h7 Z8 p+ C6 B5 B+ @0 e, a9 }
}
; a, K- T5 ?- ?
}
, l0 `& N+ y- A3 A& k) ?, W% [
$ z9 e/ r" s6 l' H. _" K# _
BOOL CWndAutoFood:
rocess()
( j5 k, S- l4 c/ Y! z7 F+ @) \
{
( [& q* e, B" D+ d" q7 d
if( bStart )
/ H4 B0 Q- o9 D: q4 E% @
{
1 i+ f8 Q0 G* V; E
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
/ @% `) l3 m. R3 _& Z! G% o0 f; J
{
8 v, ?) K9 w! S4 F) W- v
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
) b- r' s! E" R) E
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
; ~3 W' m; s5 G+ d% f' h ~4 H" G
}else{
0 x. R- R' B+ h, B; E! K
bStart = FALSE;
) `, k( }- ?$ e: E4 x0 N o
m_pItemElem = NULL;
0 p& o$ h/ f; @$ k0 o9 z
}
1 g! G6 x& v {3 \4 w& d$ s2 Y
}
+ {, [/ G6 _/ _4 _$ V; N
return TRUE;
5 }( A. s0 g" }! j+ j" J
}
' q9 c; q3 q1 a. m; n* W
, P2 M. W8 _' X5 U6 E$ [
登录视频废话:
1 s5 ^+ [1 t- l4 W' ?3 H# l
尾翼:
5 w8 a4 P5 t8 h, V+ }+ R% E
6 l! y) f# c2 c1 z4 I% W' b7 x3 V1 @
代码:
* y: }- v) t# p3 l3 N! \7 r$ Z( k
3 A0 _* q7 P) k" I# M u
void CWorld::SetLight( BOOL bLight )
+ r# ]/ E. z& l! ]
durch
4 V1 ^' H5 J* D5 ?
Code:
0 B5 T! X5 J9 r R
void CWorld::SetLight( BOOL bLight )
! w; N! @4 Q7 p
{
4 p9 S3 T6 H' m* V
//ACE("SetLight %d \n", bLight);
* i2 t2 y* j" T8 q' ]: _9 g8 K; U
) |4 h# [1 M$ U6 @3 ]
#ifndef __WORLDSERVER
0 i9 v; I5 g0 I* Y
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
# _& e: A% o; t* H7 y& W* Q
CLight* pLight = NULL;
7 s8 h. ] e# u4 F$ B
+ H7 s0 f( A. j' b" T% |- W5 V. |' ^) s
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
( ?" q+ r0 H5 c
; \5 m9 B: A" c# o! t5 m$ h
pLight = GetLight( "direction" );
! m/ I8 S! q0 F2 T8 o
: V8 |! |0 L. ]: q
#if __VER >= 15 // __BS_CHANGING_ENVIR
7 j+ d" c0 s& m4 |; Z
if( g_pPlayer ){
d# i: p2 E% G: P' W
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
6 P5 p& d) R) D( M" f) _
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
* `: I, G( R& ^' d+ @
{
; \+ u* g( d- b2 |2 h
if( pLight )
# V# X" t8 D$ X9 `& S9 M) k
{
4 t2 E F. c. C7 u, I, n$ N. l
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
4 p8 w M8 B& c- L+ R0 H
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
9 |: @- z9 h2 Y9 Z6 ^) [
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
0 u* r% d x; s# `0 @+ J5 L& [
# @, S) W/ w; s+ S5 S* Z
pLight->Specular.r = 2.0f;
3 o. T5 H& K5 b, f: F5 X5 j
pLight->Specular.g = 2.0f;
! s! L/ T n# P2 o7 f' ^! a3 p
pLight->Specular.b = 2.0f;
6 x' X3 x$ [2 n/ X8 W5 d- G6 o, m
4 y5 n2 U6 P; i9 U) g( {7 ? t
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
+ O! c' u1 y6 {2 T! \
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
$ y9 j# w0 H6 N1 ]; o4 }7 i
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
4 J- t5 R& A2 q( }* j
' j7 W/ W% C7 Y% c4 h& q
HookUpdateLight( pLight );
. U2 @5 h, j4 |. X
5 d( \6 f/ o: B- A
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# c% y+ f/ f5 f! F$ ^* J: H
5 k& m7 n' \% h7 ~8 q8 J
pLight->Diffuse.r *= 1.2f;
9 C: f E$ q1 T6 O7 Q' I0 i
pLight->Diffuse.g *= 1.2f;
' H& X- O. \+ S1 k9 d
pLight->Diffuse.b *= 1.2f;
. e# r1 M4 @7 K* }
0 }& n7 x4 Z. |2 U B9 E
pLight->Ambient.r *= 0.8f;
% I9 M& p- O5 u" _- p/ x+ i3 b
pLight->Ambient.g *= 0.8f;
) b6 x h( p/ R- U
pLight->Ambient.b *= 0.8f;
( V" D) s) k) g
9 j6 S/ A9 G+ N! _. I
memcpy( &m_light, pLight, sizeof( m_light ) );
; G3 k* D5 D, x
) m! h! I6 H) B! h: H# f- P
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
' f3 }/ J9 ] n4 s- Z/ G
D3DXVec3Normalize(&(vecSun),&(vecSun));
# K" B6 T. D0 g* t4 f
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
( {4 w9 a3 ~ E5 r2 ~; M
pLight->Appear( m_pd3dDevice, TRUE );
% G% u6 f7 J9 j. L* o4 H0 ?( C$ N6 }
/ E: ?/ a; H8 }0 T- y) P
DWORD dwR, dwG, dwB;
! X5 U1 r: ]' o9 E$ o
dwR = (DWORD)( pLight->Ambient.r * 255 );
; u! b2 H7 w' L# N1 J. w) F
dwG = (DWORD)( pLight->Ambient.g * 255 );
/ {+ c. i1 v0 K# T
dwB = (DWORD)( pLight->Ambient.b * 255 );
5 I7 N" @) x6 t' W+ C
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
( u7 F" C Y+ e
}
1 P) U% t, D* q7 ^% F4 l; d# Y
}
! @2 T7 n7 p, [/ h2 ]5 i! [
}
! [" C# d/ ~2 D& T- C
else
/ f+ v) s* C$ u4 f
#endif
9 D) W: N* m0 q7 W
) s, T) @5 m! d3 `. @, ^
if( m_bIsIndoor )
( Z7 A* [. K. S( N. Z
{
- }7 Z' G/ u) K) _, x; \3 ]
if( pLight )
: `# A$ _5 ^" g6 b. n5 R7 P8 x
{
" c3 N8 q- u! X1 _8 u% |
// à??μ oˉè*
2 ], d9 Q% y3 |
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
0 W, s2 v' u, P0 [) R4 @- f
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
' @" V5 h W+ H; t! v
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
! @% ^0 u8 ?. X3 D% V
* x. r$ A- @8 h
// oˉè* ??à?
6 z) F. K( M: e- _( m; \
pLight->Specular.r = 1.0f;
7 D! q+ o: a) V+ d7 e/ D
pLight->Specular.g = 1.0f;
# @7 V2 _2 u$ Y9 }! S3 U
pLight->Specular.b = 1.0f;
% z. ]8 m) T. }) k
// àü?? oˉè*
2 u$ @3 r1 F! Q. [/ V
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
+ S4 `4 s/ [/ {5 D% A) S! X
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
H+ e+ ~) y# U0 a5 T1 R
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
8 Y( u9 S( X: l5 }( d5 g
. k: [) D5 B7 i8 F
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
* |+ _( F0 H& s# u! @' S* ]/ m7 T
{
9 o4 w \" l& W7 g7 U
pLight->Diffuse.r *= 0.6f;
3 T4 ?" G: j; a6 E
pLight->Diffuse.g *= 0.6f;
, A% N: { k$ Z6 _$ H2 m
pLight->Diffuse.b *= 0.6f;
2 B$ r' S7 Q$ i- @
pLight->Ambient.r *= 0.7f;
7 x! P/ h; ^) C# P5 W
pLight->Ambient.g *= 0.7f;
1 {/ h( t8 `9 Z S0 \$ X+ t8 C9 m
pLight->Ambient.b *= 0.7f;
+ U! |4 ?; M3 N0 `0 I J( o8 b7 N
}
+ u8 ~6 d; W( Z9 t" Z
: A' C4 y7 Y2 o9 N
#if __VER >= 15 // __BS_CHANGING_ENVIR
" U5 V; N3 x E/ D$ p" q
if( g_pPlayer )
' F3 L# R* c5 u' D6 s
HookUpdateLight( pLight );
; E5 x/ K# o+ a' t
#endif
( v3 e6 l$ {- v# b. e0 p
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
9 R& d& @" j3 S+ \1 m
9 o. O! D/ c! h; ^) a. r% d0 ~9 g
pLight->Diffuse.r += 0.1f;
+ Y0 }1 y9 K c6 v2 _6 z
pLight->Diffuse.g += 0.1f;
8 o9 q% X' N: C6 s/ E
pLight->Diffuse.b += 0.1f;
8 C* }6 f, d5 w m( N1 x
// oˉè* ??à?
: {& z: G$ o! x( N: |
pLight->Specular.r = 2.0f;
8 S4 I0 W* W' h: D
pLight->Specular.g = 2.0f;
; Y- {2 p+ e. ]) s
pLight->Specular.b = 2.0f;
$ K5 n, T4 K! f' z0 p* d. g
// á?oˉ
+ ~/ Q# v( P: n7 m" z, G; H5 u \
pLight->Ambient.r *= 0.9f;
6 x* {* V4 e! I% V$ s; x( I" v
pLight->Ambient.g *= 0.9f;
, K# {3 |* P- _, U7 s, ]" V# s* C+ v
pLight->Ambient.b *= 0.9f;
" i1 r3 }4 S# J4 V
' R7 ~ V; k" s8 d- ~4 w* R
memcpy( &m_light, pLight, sizeof( m_light ) );
# W5 B6 S! C6 Y6 ]( l/ Y0 {4 ~
$ b" ^( p2 C3 g& M: s) ~7 e
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
9 p/ J; K, k( T. E' w- M
pLight->Appear( m_pd3dDevice, TRUE );
( E5 \1 X# p7 Q5 ~1 R# {& s# U
7 f2 l/ L# W! }, S; L
DWORD dwR, dwG, dwB;
" ~' I7 L- j( ?
dwR = (DWORD)( pLight->Ambient.r * 255 );
2 l/ I- h7 m+ h6 g
dwG = (DWORD)( pLight->Ambient.g * 255 );
$ l3 T3 w0 R1 x2 A7 `0 Z# t0 i7 f& Y
dwB = (DWORD)( pLight->Ambient.b * 255 );
9 F( n( `- |7 Z; r
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: w$ ]3 D3 \3 M
}
9 a! ~; Z" `9 U0 V2 w- k
}
( J) m+ L4 T3 Q" a! f8 ]+ @$ r7 C
else
5 Y. [$ i. n5 {5 {4 b* q6 Z- A
{
. Y9 s" _# z' T8 f, r# V
if( pLight )
& l- t; @3 O( {" Z! o
{
. t; L; I6 C8 E" \
, {+ R- T) H2 D% d
int nHour = 8, nMin = 0;
+ ?( `8 N6 N# `- S( B
#ifdef __CLIENT
- ~% r* ?7 Y; ~7 ?/ f$ a% s' n/ _
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
: n8 ], T) z3 t2 b" u/ E7 l5 }8 E# S
nHour = g_GameTimer.m_nHour;
# s& W" n1 _7 a' \
nMin = g_GameTimer.m_nMin ;
0 z r z: k' e: I6 ^, Z
#else
0 A/ j- ?2 e. Z4 p( w7 [) m, I* V9 |
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
) A( Z5 L! a# e, J7 y
if( m_nLightType == 1 )
- Q& s+ i8 ^1 g
nHour = m_nLightHour;
, I1 J7 O* s6 \9 g
#endif
( d) ~+ q3 x# f: f0 s
nHour--;
' P3 w2 f( [ {7 \ T
if( nHour < 0 ) nHour = 0;
$ R( O; W) ?# j5 g4 F
if( nHour > 23 ) nHour = 23;
5 z' \5 c; _% m
. t- u7 I2 z! ~% W% \* t
//if( m_bFixedHour )
6 M1 a4 W$ y. i1 d' \3 Q4 c7 N: a
// nHour = m_nFixedHour, nMin = 0;
8 o! @! T: z* a3 e
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
" z" F$ m$ f" _! _
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
! D1 C/ _7 x' Q9 |8 b, u
6 |4 i* g m) F p2 s b
//m_lightColor = lightColorPrv;
9 t* v. `' K1 m4 O
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
2 \7 w/ B" v9 A k( T! H
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
& n, Q! l5 t4 ]% i* Z% M
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
! r b+ b) _! x5 P( r7 }) H# [
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
; t- F+ a* f& t! r0 s" f' Q
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
0 L1 S2 ~ }. `
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
7 m# |" T. w1 Q1 E7 d7 j
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
7 r$ w, g! I/ ]" V1 b, }
3 E6 o; A& j* U$ M5 G
// à??μ oˉè*
. F" Q3 F7 L3 L+ w& o% A4 v
pLight->Diffuse.r = lightColorPrv.r1;
. p0 {$ W- p$ D: t( i
pLight->Diffuse.g = lightColorPrv.g1;
& t$ }+ S7 |& C; E, M8 C
pLight->Diffuse.b = lightColorPrv.b1;
" x2 A9 ^4 _1 c0 y: W) ~9 }8 y
// oˉè* ??à?
% C9 ?) h" u- i5 G
pLight->Specular.r = 1.0f;
5 m+ M* K8 b& p' s" n% o# K* e
pLight->Specular.g = 1.0f;
, e5 v& n9 S N4 _0 ~
pLight->Specular.b = 1.0f;
' I3 a; I/ G8 w/ @) A/ x* T1 A
// àü?? oˉè*
) _: r* M1 T t5 C; r- |% U
pLight->Ambient.r = lightColorPrv.r2;
, `" ?4 {: ]- `
pLight->Ambient.g = lightColorPrv.g2;
, d @- X9 ~/ B( R
pLight->Ambient.b = lightColorPrv.b2;
0 z9 i; Y+ C$ c+ r$ _! B- V
6 s/ Z9 x# q$ u. X" X" y2 x, D+ h
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
* s: {% G' I! u
{
5 F3 L" R4 Q) L( \: L4 }) |
pLight->Diffuse.r *= 0.6f;
( X. \$ R# L: s% u$ Q
pLight->Diffuse.g *= 0.6f;
5 l6 ], K) }# s$ j7 a. I% B2 i
pLight->Diffuse.b *= 0.6f;
5 F1 z1 X, w( T& Y0 |
pLight->Ambient.r *= 0.7f;
3 F$ [, {) [; h3 }
pLight->Ambient.g *= 0.7f;
3 I' @9 q3 H' n/ t* }
pLight->Ambient.b *= 0.7f;
0 a4 y. D% b4 i, K8 q0 U
}
0 `! [) t; b* C3 L
/ W u# L( k0 b; N: |
#if __VER >= 15 // __BS_CHANGING_ENVIR
* W4 l$ N+ o: H
if( g_pPlayer )
3 Q: O0 [. z- W7 J- [- W. S
HookUpdateLight( pLight );
' Z+ u w& \- [ S0 [; r
#endif
* w/ d( @% w! r) k( F
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
8 @' D3 O( v$ O6 y0 K0 S# L
/ E/ F m+ C8 ?6 _" P8 D9 X; p
#ifdef __YENV
0 ~* a% o' w4 H) X) a
pLight->Diffuse.r *= 1.1f;
1 A4 H; j. @, F" H1 u8 m! J
pLight->Diffuse.g *= 1.1f;
& H/ {0 w6 M7 A( Y7 }& ]. l. s# U' j
pLight->Diffuse.b *= 1.1f;
0 P- ?. a' z. i1 {3 f) P3 f% l
// oˉè* ??à?
1 C7 Z* ?& |$ z( z5 C
pLight->Specular.r = 2.0f;
9 [: t* T2 b! W$ \2 W9 Y
pLight->Specular.g = 2.0f;
$ r0 @1 J6 N/ d" }, Y8 k1 h7 m
pLight->Specular.b = 2.0f;
6 h. h- o8 W$ {- P
// á?oˉ
& F9 @1 C" S4 `+ R8 l
pLight->Ambient.r *= 1.0f;
! r* M% A" m& e7 z& o
pLight->Ambient.g *= 1.0f;
3 W2 |# U0 E( m
pLight->Ambient.b *= 1.0f;
0 v( X- }& P# b% q6 }) Z C
#else //__YENV
" _2 I' J1 B4 T1 V4 D. c+ R. a
pLight->Diffuse.r *= 1.1f;
" |7 l# E# B d* f2 |
pLight->Diffuse.g *= 1.1f;
3 O7 i4 S# X1 `# S. x4 b
pLight->Diffuse.b *= 1.1f;
+ u$ |) Z5 L+ f$ X% N
// oˉè* ??à?
3 Q' U$ q( d8 s5 ]
pLight->Specular.r = 2.0f;
1 m( E. D' c9 b4 ~7 t d& g
pLight->Specular.g = 2.0f;
6 @! ]/ H4 ]5 q
pLight->Specular.b = 2.0f;
; ]/ y0 e' n$ x' c
// á?oˉ
A' T3 N: I0 X' o l
pLight->Ambient.r *= 0.9f;
- a0 D5 M& x, A: v R1 w( T
pLight->Ambient.g *= 0.9f;
( k r0 g4 H: t- P$ H
pLight->Ambient.b *= 0.9f;
9 A+ u$ P0 Y5 z4 a1 S9 `
#endif //__YENV
3 V E& J" B* z; l4 \. z
% q# d5 {* `' ?8 g; a) [
memcpy( &m_light, pLight, sizeof( m_light ) );
( R! S- i; ]( g+ ~6 N/ n) x \
j" O; T9 B+ s$ e, \* d
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
2 p3 E+ S+ c2 v0 H7 d. T
D3DXMATRIX matTemp;
# ^3 p( s! h; g8 H2 x$ Y; O' F
static const float CONS_VAL = 3.1415926f / 180.f;
N6 k( n" U, q2 Z/ N2 ~) ]: x
# b' W' d9 j- w9 j @
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
1 \# v) p$ [' ?) `* f# C
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
3 p9 q- Q8 @0 \9 O$ V+ o! Q
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
5 i( _! E+ ^0 C' Z# s" \3 n
pLight->Appear( m_pd3dDevice, TRUE );
9 P" t" a3 u. @- s+ x& Q
9 f9 ^$ B: M4 I3 I
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
' M O! m7 V! U; e/ ?7 \/ I
// D3DXVec3Normalize(&(vecSun),&(vecSun));
& C" | u, {6 _: w1 g" O) U! D
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
( a3 N# a6 w, ]6 p) i
( {' Z2 O7 ]* V) ~2 }
DWORD dwR, dwG, dwB;
) b! t6 n( s& I7 ~; {7 A
dwR = (DWORD)( pLight->Ambient.r * 255 );
( D) P2 I, v4 s# i$ D7 ^! |
dwG = (DWORD)( pLight->Ambient.g * 255 );
! C, P- p3 O _+ ~) y1 \9 @
dwB = (DWORD)( pLight->Ambient.b * 255 );
1 V/ k4 w, ~: M
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
, ~2 O, ^/ @$ Z8 a* Z& a
}
, p: x" ?* Z" L) T
}
8 T& Q& c7 y9 Q4 @' \/ Z1 v7 k
8 q8 Y f3 Z& i& j/ ^7 b
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
' c5 f$ L0 F+ z9 X. d+ f
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) );
: l! z% r7 o8 y: b
::SetLight( bLight );
2 q3 K0 Z6 Y- H) m
" j& ]- d) J$ r( Y) X
// ±ao? ?D?í???ó á¤à?
7 J; }8 S: X9 N$ ^, S) Z0 c- X
m_pd3dDevice->SetMaterial( &m_baseMaterial );
9 f7 Q1 q$ {0 V- j
; d! y7 o$ X! m k- o4 |6 h% s* s
#endif // not WORLDSERVER
7 _: B4 }! Y! J6 Z
}
2 l6 z# w3 n; N3 P5 D
并更换
8 P" l$ c, P( b
Code:
& M; s4 C) [* b7 z# l
__FLYFF_INITPAGE_EXT
' E& M( Q- W8 T4 D
定义
/ b% F, ?' z, j
! L6 k( t0 f, A- [9 w c, R
. J* E& t' l. @; L- S, y+ [/ I: w
5 m/ \2 D" Q! p) e
* l% ^- d, l. i( o
现在终于删除我的狗屁加速...
, k$ O) V$ \1 Y9 F; Z
8 t" q: {( o& {4 F
: p" F2 B) L9 {# J) Z, k
2 N' T$ P6 S6 x( q* v! @4 l/ A4 v
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2