飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
# Z& p0 t" x/ m# u4 L" U1 H1 V
尾翼:
; b3 F, _7 r/ G) G
$ q1 l& \- L0 x' `# Z& Q- D6 u
代码:
) l1 d, F, f) _$ e" B* |
CWndAutoFood::CWndAutoFood()
' j5 y& e+ X& j0 b( T
{
. A1 c( w7 }7 Q4 E$ h6 S: p
m_pItemElem = NULL;
# `4 K: C: S* b ]$ R& S2 \' q- t
m_pTexture = NULL;
7 N* t3 k" w/ H k
bStart = FALSE;
" C" l9 Z- k% f0 k7 s, @& h( N- E
}
' {( o0 d9 @" `+ l( h
+ l; s% b2 a {# A
CWndAutoFood::~CWndAutoFood()
- E* q* V4 I+ D) h6 ^6 n( F, h
{
+ G6 h9 X6 Q- B- ~3 B" i, d
AfxMessageBox( "AutoFood ist gestorben
" );
: v$ K7 |. [4 x! z' |
}
1 p0 C7 d1 I; h+ O
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
0 Z7 z& n! m# ^+ v7 {! i+ }
{
( q7 w1 ~7 m1 N
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
" W( d( V$ a1 g: f5 [1 L# x3 a
}
$ @ D5 K" n5 v$ }$ U R
% T0 ]' X, @) G1 w% @1 n. W$ l
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
" T) c1 G% o+ Z3 W9 H
{
: a. U- K7 a+ _2 B: ~
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
, s! Z6 x1 T$ s/ Q7 K7 b8 F' j( i
CRect rect = pWndCtrl->rect;
x, j# {' e/ i; N# V6 k; X
if( rect && rect.PtInRect( point ) )
+ D- y, a$ E) i" f
{
% o. K9 U2 Q7 W6 s
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
& J$ J# K r7 X. z' d
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
6 |/ F1 C S, ]- g
{
1 I1 g7 h- L8 y1 d* K( p8 P4 s# w
if( m_pItemElem )
$ e2 O2 E; a# B4 [3 B
{
! B: V" v7 v9 t5 f; X
m_pItemElem = NULL;
, L2 K+ ?/ a4 K
}
' w0 C3 S" F" s. U9 w7 ]
m_pItemElem = pItemElem;
6 q9 u$ Q; K# e+ L/ ^
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
# D- K# d" w4 y \
}else{
+ [7 O& F( O- t
SetForbid( TRUE );
3 B" p4 r3 L" V2 m2 O2 `0 c
}
% y6 b+ r |0 Q; o2 N( R
}else{
. b! a5 u- b+ c' z3 x; J- q6 C
SetForbid( TRUE );
* ^7 e( }# ~. x4 a; ~% l
}
( p) M( f' M P2 v4 D
return TRUE;
- ~6 A) l3 b1 ^ A" M8 C
}
- L8 g7 o' c% O# X9 P
6 t9 b( X2 \3 k2 H1 |2 X
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
! F9 s, w& B, t: D
{
5 J& k" ^6 e1 @6 a
switch( nID )
2 t% x. r# L& w( ~9 c; L
{
! q) S) E' b* o3 x$ f, A( R8 U
case WIDC_BUTTON3:
" H- x2 A& x* | r, c0 I, u/ g
{
% ]0 L! M% B/ L
bStart = TRUE;
5 K6 h7 e' m& g# [2 ^5 Y' E @4 O
break;
, H; S& V( k5 n! \5 A
}
& l) ^2 Q9 K% F
case WIDC_BUTTON4:
5 g% _& d4 L9 z# f
{
8 N- s: j# Q! O: C( O8 g4 W. e) a; I
bStart = FALSE;
/ ?' ^1 @% ~6 x# O
break;
v3 t' U* I/ ]( n3 m0 a3 D
}
* ~. w- z! P* l; w# w/ H
}
1 z- \4 g; }! _
return CWndNeuz::OnChildNotify( message, nID, pLResult );
S. y( S4 V3 H9 \" R$ h
}
; M, D5 s0 |, W7 U% L* ?+ Y) n' x
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
, c/ L' }7 x% W3 M6 h/ V5 f0 D4 j
{
2 K! @% Q* ]1 s
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
* |$ q) g# s1 o& P/ c% |! j
if( bStart || !m_pItemElem )
( l' Z( c4 R/ M/ A. ?
{
* F0 c3 c! k' n5 |( W
pBtn->EnableWindow( FALSE );
+ y- u8 [/ a% z* a5 N7 y
}else
' Y7 U2 }) E* {4 S' ?5 a
pBtn->EnableWindow( TRUE );
/ q2 e3 o: c1 z. D3 P2 n
if( m_pTexture )
' b) D& ~! S* Y
{
8 q; Y- v! n& O2 m7 {4 c- F2 I
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
- U/ b3 J$ E( x1 s8 F5 x) c4 o
if( wndCtrl && wndCtrl->rect )
t/ z1 F6 K7 o" {
{
, [8 r( s, O* Y& x+ p
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
6 Z( _9 O( _8 o: Q. s. r
}
3 {, `6 U: i$ u) B5 x2 K& i
}
' {/ @5 O6 P8 k& L1 K& U
}
. ^3 g5 @% t1 @1 k; S( v+ C$ t' k
0 z) U+ L8 R* j7 p
BOOL CWndAutoFood:
rocess()
0 d, {. Z# C0 s; j5 a4 f6 v
{
h6 h C: s7 C1 Y
if( bStart )
7 D0 Q3 e9 w) |5 d. s& L1 P
{
8 f8 K% X9 K% I6 D" s3 j9 B% @1 U
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
6 Q( v" j" ]& t9 D! u
{
. U- b" u( I5 X& j. N
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 W6 \: A+ ~2 X) h9 l* L+ m' {
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
0 X; e" c7 X) h
}else{
9 |2 @3 H8 H7 I
bStart = FALSE;
' h0 u1 W- b) \: F& y
m_pItemElem = NULL;
- J. s% \( Q; V6 E$ D W9 {
}
0 T2 K! X3 ]. l! r
}
& M& Y# t% k8 U# h }
return TRUE;
+ _, j) y" u7 Q0 h
}
9 V& a4 q- O7 D" | c
5 F4 j5 D5 f( \- m
登录视频废话:
. O6 S$ B' k$ p* F A
尾翼:
1 ?0 |$ X' o) i. L
. G% z$ m( o$ t6 M6 g
代码:
! l4 l6 C+ t6 }
& b t+ S" y5 l7 u8 n5 z
void CWorld::SetLight( BOOL bLight )
. Q7 X6 }' Q/ l$ t
durch
/ o3 Q: w. \5 [! F
Code:
' z. G- t& w4 d1 A
void CWorld::SetLight( BOOL bLight )
! n3 W; s, W# G1 {5 i: x# g
{
; U0 m* f0 d( d- v% d
//ACE("SetLight %d \n", bLight);
* M: { H$ s4 y0 U
' _8 I+ x1 q2 g- D9 q% ~
#ifndef __WORLDSERVER
0 D( E6 Y2 e! H X! H2 u& q
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
7 h. q3 Z, I5 {
CLight* pLight = NULL;
' \: R) T: U5 [4 t$ ~% k
* t; G) p* c6 U1 D8 ^; u
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
9 o' A! O8 v% y7 i& J
; n; S1 P, M I; c) w# j) t
pLight = GetLight( "direction" );
( v; n7 R0 x1 ]& T, n
4 Y7 `: b/ P, c- s/ v
#if __VER >= 15 // __BS_CHANGING_ENVIR
/ ]' z/ O+ z5 U) h( W- a
if( g_pPlayer ){
+ T$ w" Y* X1 Z: q
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
2 W; v+ U6 r; ?" z* u
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
# k. r9 F' B$ \" P
{
2 O: P4 F8 C& E; p& b# A, H
if( pLight )
" L, P* A. F: Y3 P+ Y' k
{
. j* n& G. S3 \
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
3 l R) Y4 L; E4 z
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
/ Y5 L h6 m- {+ c& ~
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
5 H( |3 l; Z: W* Y% V# p
: X: h- N2 D) H6 y$ |- g; f) V
pLight->Specular.r = 2.0f;
' J0 a& q+ d! W0 F
pLight->Specular.g = 2.0f;
1 ?8 R# z6 V$ N) I8 L
pLight->Specular.b = 2.0f;
* c: J0 ]: z! M+ G2 I
; _$ R% u% h# c% x
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
0 N |3 [, o( E' K+ }
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
8 e( F; Y6 k, m* P4 ?9 a
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
k" T. S' I7 I2 X8 c- G: R
3 P/ e) n9 c2 ^; [; b% [! \
HookUpdateLight( pLight );
; a& w7 \! G: B' M4 }
7 j4 A- R+ h+ q+ f# r p$ a
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 E7 X- @" z( _0 n0 J2 s
7 @5 K& {4 X6 u
pLight->Diffuse.r *= 1.2f;
. n( h2 C l4 g
pLight->Diffuse.g *= 1.2f;
/ B! U( s& ]+ M8 ~2 p2 i8 Y
pLight->Diffuse.b *= 1.2f;
: _) P3 ~& \8 R- C( r+ L% M. l5 I4 q* R
; h- c" Q/ |; @" D Z- S
pLight->Ambient.r *= 0.8f;
1 V, w. w( A, G; N
pLight->Ambient.g *= 0.8f;
: [! o1 A* S9 i2 p, O) j- u
pLight->Ambient.b *= 0.8f;
8 u! z1 C5 e3 m7 A% Q# g* t
6 c" O w$ n) b$ h3 I+ g
memcpy( &m_light, pLight, sizeof( m_light ) );
+ S" |. G1 [8 p3 Q, @2 D' v# s
$ d7 e2 H( `5 l. u8 v! d* ?( s
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 P' W+ i' \$ a/ D1 \
D3DXVec3Normalize(&(vecSun),&(vecSun));
& K6 a3 I$ g& c0 V
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
6 p8 N+ ]( P! s& l
pLight->Appear( m_pd3dDevice, TRUE );
& I8 F7 ^! U' f( Z
3 v! |- K2 T0 h
DWORD dwR, dwG, dwB;
) Q( `5 l1 ]( R# ]0 ?
dwR = (DWORD)( pLight->Ambient.r * 255 );
- f: @9 t2 k3 \9 i2 |* `" ~
dwG = (DWORD)( pLight->Ambient.g * 255 );
: g1 C4 L2 W$ S, ]4 M
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ X5 j* @$ U7 f4 p7 j
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
1 W7 y* r5 L$ e9 h% N, G
}
# h; V5 d" ^" ?
}
+ e4 Y S3 c1 p' p4 M0 {
}
" T, d' C$ b" M* { C4 r, p
else
7 M: W# { p( O0 E. K/ `
#endif
9 v$ x# z* P2 F. \; P
0 F+ r+ {. [6 w2 M! N
if( m_bIsIndoor )
6 u' w+ ^! l. d: `6 m' c0 p
{
1 z2 |0 W: V, @2 F; o
if( pLight )
) ^3 k* \- c. D. [' ?- n, e
{
9 t6 B: U( Y3 T+ U9 y3 @
// à??μ oˉè*
; p, M( i5 [& t7 V
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
6 W7 b- R: a8 L# z2 d* k7 Z& \
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
6 i& I& M! t j, X8 ]
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
" d ?, c" F. {
6 X$ J8 I) L, k: q& G
// oˉè* ??à?
/ L( b9 u$ [& a9 f- H
pLight->Specular.r = 1.0f;
/ N! q% {) }: m& B0 W
pLight->Specular.g = 1.0f;
# W% r" u$ w6 G" r, E
pLight->Specular.b = 1.0f;
- P" w) @" s' Z( i0 Q5 b# L" ^, m
// àü?? oˉè*
' T. l" L0 K1 }& g' |
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
. y2 r- f5 L3 g+ x1 W" N
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
; @% \4 |% T) L; `3 h/ {
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
+ I- b: W* U5 x3 r% Y
1 z& r; ~! [% M/ ~
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
* h+ \( l- D" g1 r3 U( N$ _+ \9 e
{
3 L- ]# a* o7 p m+ a9 w+ T
pLight->Diffuse.r *= 0.6f;
) |1 b& o2 w; d# J. [0 Y, `# f
pLight->Diffuse.g *= 0.6f;
/ z7 r& J( e+ |8 ^$ }3 K
pLight->Diffuse.b *= 0.6f;
2 A9 b/ m/ Q( |/ R+ j
pLight->Ambient.r *= 0.7f;
9 X( K" G4 w; K0 e) `) O
pLight->Ambient.g *= 0.7f;
# ~2 |! t ]% E: J1 ~% b
pLight->Ambient.b *= 0.7f;
7 o+ J. r; M8 V% [9 J( `
}
3 y2 E k, m) z9 t% C9 U" V# d
& ]$ \' B# h* e& {8 N" ?
#if __VER >= 15 // __BS_CHANGING_ENVIR
' G" O; V- g5 f+ H6 W2 S- F% W0 m
if( g_pPlayer )
/ y& ? ?! J! C5 s. j4 [" q
HookUpdateLight( pLight );
& d2 Y% m5 [( M3 l
#endif
0 K K7 O- [4 m) S" B5 M/ ?
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
3 q* `/ F8 C" @: p
6 o! m; P& @( n/ s5 Y
pLight->Diffuse.r += 0.1f;
1 x3 L2 V4 O+ W! V9 i
pLight->Diffuse.g += 0.1f;
+ q& W. L: C& B! U: ~3 W, [ T
pLight->Diffuse.b += 0.1f;
1 v6 I* b8 w; L, Z( j4 [7 `
// oˉè* ??à?
3 `; S, a. u2 v
pLight->Specular.r = 2.0f;
+ q) x$ [- b. L1 d
pLight->Specular.g = 2.0f;
* E$ G% c4 I2 }
pLight->Specular.b = 2.0f;
4 [, b1 F: k1 `( a0 y$ R
// á?oˉ
% m1 v+ X7 }6 y# _1 S ]
pLight->Ambient.r *= 0.9f;
$ x9 d7 b! O' X( E2 A+ p5 _* D
pLight->Ambient.g *= 0.9f;
. H+ R5 m" p+ o% [' S; d4 c3 J
pLight->Ambient.b *= 0.9f;
) u4 o- f H& _5 c, A
# ^ f; u; C$ l& A
memcpy( &m_light, pLight, sizeof( m_light ) );
; K' D/ x8 c! ]* e* [
" O9 Y8 e2 y5 U* s
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
9 u! y( {( i, o
pLight->Appear( m_pd3dDevice, TRUE );
5 D7 d! d) l7 ~( @1 p; |
, k( @$ x9 N) F* {) Y" x
DWORD dwR, dwG, dwB;
- A/ K; k- {; u
dwR = (DWORD)( pLight->Ambient.r * 255 );
9 W) h w$ H* ~, j( j H
dwG = (DWORD)( pLight->Ambient.g * 255 );
: b" ^* ^# ], U9 H' G$ X& P. h
dwB = (DWORD)( pLight->Ambient.b * 255 );
; K' G) @" S; K! e; U
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* G1 x4 t2 N" z7 {
}
+ G8 X# o1 N/ k1 N, [& K
}
- Y. p) v: W( X
else
: ]% k, V: s" ?6 j
{
1 Y2 ?2 P) h+ a6 Z
if( pLight )
- m! ?( o7 t# w* r
{
% A2 G+ j- K9 `: l3 K3 d. B& V! Q& E
8 |8 y$ E! K8 t
int nHour = 8, nMin = 0;
& ?3 f" K" ~& u0 x6 Y# _8 s# ?
#ifdef __CLIENT
5 M7 P% {! \5 |
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
- s. j# t' l0 J/ z' T6 S- H
nHour = g_GameTimer.m_nHour;
4 k. D( j$ h* F
nMin = g_GameTimer.m_nMin ;
, O8 {& {5 l' i* w" ^# b' m5 F
#else
3 B! B3 {) k, K2 t! H
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
, |4 N4 N* t2 S" T6 J+ a
if( m_nLightType == 1 )
0 Z. ^% _6 o" [8 G+ \: n
nHour = m_nLightHour;
5 y/ z/ T: Z9 g) [- R( ~
#endif
! K9 O! W4 G5 ~! S, }6 m" R
nHour--;
# h. P( O2 R* y* F m Z9 ?
if( nHour < 0 ) nHour = 0;
2 G3 D7 p, Z" {2 o$ |7 e
if( nHour > 23 ) nHour = 23;
) e# s- w8 d- [& a& A
9 p/ r; Y6 K3 I1 Z& t( p% V
//if( m_bFixedHour )
: o1 E7 o0 o( o' D+ C# `; A( z( L6 _7 w
// nHour = m_nFixedHour, nMin = 0;
9 ^, _! L/ F# _- j2 ?3 Z. ^! @6 i0 C
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
% A; A+ A) B: m. F: @
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
; [9 Y$ m q0 C: J# q+ E
* I/ E5 L+ C- z* }( s4 w
//m_lightColor = lightColorPrv;
( m5 B, }4 ^6 N! t ^+ B! U. t
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
5 g- H: y A0 M6 T3 Q
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
! X* i7 `+ q' B' l
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
5 |, M" M8 ]( ?! ]! p3 _+ G
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
( F/ G- J/ x6 y
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
& P. @9 ]& E8 c% I1 @
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
! Q% s% [. N: w# T6 m
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
6 T# z0 `+ h% \7 Z) I% o. `% K
! }4 M8 Q/ z+ g! a
// à??μ oˉè*
2 x d7 y' C6 R- j* f6 ?/ m
pLight->Diffuse.r = lightColorPrv.r1;
( T6 `1 a2 Q( L% G8 s
pLight->Diffuse.g = lightColorPrv.g1;
* \, J- t( ?9 w1 p- Z
pLight->Diffuse.b = lightColorPrv.b1;
$ n! h1 i4 W# m3 X1 ^0 h. ?
// oˉè* ??à?
: N9 Y$ W D9 m3 J2 ~2 Z: Q
pLight->Specular.r = 1.0f;
+ a- C, _3 e8 G
pLight->Specular.g = 1.0f;
; x6 ~3 y6 t2 |! k" d2 w3 m- R3 B n# j
pLight->Specular.b = 1.0f;
1 k4 Q3 g. E8 v- x: U1 n" \) l
// àü?? oˉè*
; ~3 h. k6 W6 J( y- X5 a6 i+ l, V
pLight->Ambient.r = lightColorPrv.r2;
* t, i: H# y( N8 S) Q
pLight->Ambient.g = lightColorPrv.g2;
. a1 |3 {4 Q1 O, Y
pLight->Ambient.b = lightColorPrv.b2;
' ~. r7 j& r1 E# o
- m) l* g/ |7 ~; i
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
% C9 k. i7 [; y; e0 f
{
5 j3 ]( p/ \; q% g
pLight->Diffuse.r *= 0.6f;
# k5 r8 ~* D. W9 q7 a
pLight->Diffuse.g *= 0.6f;
% J- O+ ^( t6 p0 C
pLight->Diffuse.b *= 0.6f;
* J1 l5 H2 b- {8 {; B/ v3 D Y
pLight->Ambient.r *= 0.7f;
" F5 y1 m; S+ x4 F' ?
pLight->Ambient.g *= 0.7f;
$ ^6 G: {7 D) h; e% U/ `
pLight->Ambient.b *= 0.7f;
- l" Y: Y# d/ b8 \! X
}
. k1 M2 y/ s: D) V( C0 h
, h" Y u; @5 Z0 R2 _
#if __VER >= 15 // __BS_CHANGING_ENVIR
. |1 A& g& A2 \. G7 G+ [- |' x& ^
if( g_pPlayer )
7 |8 g- N& X' G4 }
HookUpdateLight( pLight );
! c; {! Q T) P( ^" t
#endif
2 W5 w5 S; J u& I: X' a
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) u& Y3 d9 t+ k6 \# b
, o) }4 ~+ ]* w* [# z" Q
#ifdef __YENV
$ Y2 s/ Q3 X& i
pLight->Diffuse.r *= 1.1f;
" h4 {, P* z! G! k
pLight->Diffuse.g *= 1.1f;
1 D$ X" B/ o1 Q' t' _
pLight->Diffuse.b *= 1.1f;
) W# k. [, E. L4 ?1 W
// oˉè* ??à?
5 v$ F7 s9 Z8 u/ o
pLight->Specular.r = 2.0f;
+ k5 ^* ]7 P2 w( m
pLight->Specular.g = 2.0f;
/ x7 Y6 w; j% X! R3 H8 d
pLight->Specular.b = 2.0f;
( n8 r* k: y- t) L" t; V" Q
// á?oˉ
6 V0 ]0 n7 S) z: ] |" V+ L
pLight->Ambient.r *= 1.0f;
4 {, D2 k# ~ V$ {1 S
pLight->Ambient.g *= 1.0f;
* Y; Z- a: [# a5 j1 D
pLight->Ambient.b *= 1.0f;
5 ~; q/ O/ P, q/ a5 g
#else //__YENV
) d2 M% k1 Z* b' d2 \
pLight->Diffuse.r *= 1.1f;
. u/ w0 K" M8 V6 c
pLight->Diffuse.g *= 1.1f;
- Q: I) `& @+ Z$ e2 Y! }
pLight->Diffuse.b *= 1.1f;
" N/ B# q! e+ ^# `( p$ A
// oˉè* ??à?
, A/ F0 K: q& v }" I$ M
pLight->Specular.r = 2.0f;
# J/ M9 y, _6 G6 C9 ^
pLight->Specular.g = 2.0f;
" M& h. e' o" q4 R- [
pLight->Specular.b = 2.0f;
2 |5 U; {" o$ e* I8 G, C
// á?oˉ
5 C( Y* f) \. I0 s2 {' W
pLight->Ambient.r *= 0.9f;
9 Y& i, S7 b, ~+ X& o; B
pLight->Ambient.g *= 0.9f;
4 G% d& S: r; w" C* K; p
pLight->Ambient.b *= 0.9f;
7 I; a, K' t2 T- H0 E0 f
#endif //__YENV
+ x ~+ \, a/ t U# | _8 ~% a7 K
$ w3 X; j. y, }1 l( e
memcpy( &m_light, pLight, sizeof( m_light ) );
( B7 F( D+ i9 T4 `; I
$ Z9 d: Y" B d# \5 N8 U8 w
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
; C% j* G( U2 L% v" [/ m0 n P9 W
D3DXMATRIX matTemp;
6 F/ {! u( c f# O
static const float CONS_VAL = 3.1415926f / 180.f;
' y8 M: j ~6 ^; u
: y F& \" A& U A ^% W3 t- z
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
w7 l N1 G9 \; y/ L6 l- |1 ]
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
$ N; ]6 g, L' W8 {3 Y( z* ]
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
( E/ F' |2 K& j
pLight->Appear( m_pd3dDevice, TRUE );
% C% K$ i# w2 f8 W
R) K/ U4 h( K. [7 f) L1 m; M' ]: |
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
1 S6 H0 \: ]$ n7 O2 ?7 r
// D3DXVec3Normalize(&(vecSun),&(vecSun));
, i7 i* ~: C1 h
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. w' J! s1 s, s8 A* O' Y
# w5 [) L0 }& h& g
DWORD dwR, dwG, dwB;
; A: `" L& V) U
dwR = (DWORD)( pLight->Ambient.r * 255 );
: ]+ K9 p' T) _, _" X+ @
dwG = (DWORD)( pLight->Ambient.g * 255 );
+ b9 f, N7 ?7 H/ d' v
dwB = (DWORD)( pLight->Ambient.b * 255 );
. O% y( W" `9 v+ | T, o
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
4 _6 f$ P2 j8 ~7 a. C
}
5 L6 M& t @5 D% m2 ^- I* c
}
0 e; ]) ?. @) }2 Q
/ @* x( C: ?* `! s% {( ~8 g
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
' ]5 i9 _# p0 O/ w4 X
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) );
- P/ g: ~+ [5 Y: N4 O; x+ C, C% }4 r
::SetLight( bLight );
. D. X# @, s: V; S5 J
) g# \' L' u% n+ V+ z) F
// ±ao? ?D?í???ó á¤à?
0 d! k: @7 K0 ?6 C/ A
m_pd3dDevice->SetMaterial( &m_baseMaterial );
% A3 C9 H; V; z: r) M9 B' y
; m ~7 W) x2 j
#endif // not WORLDSERVER
: U) \4 r+ `; z" B
}
0 M, c- S; q: `' Q' x! V
并更换
& z3 F; r3 ?% g& f
Code:
! u: ]! a9 m0 K& X8 L- B4 V
__FLYFF_INITPAGE_EXT
1 C! f# k: D) h6 A) f. ~! ]
定义
$ M% W1 J2 r8 J: O
. {, J9 R& N0 V
2 r% f- W$ y& ~6 s3 H
0 Q9 U" g# e# G- R
8 ^$ c3 ~% k& A! k& P' R9 h1 |5 u
现在终于删除我的狗屁加速...
. ?3 ^8 f3 Y* Z' g1 `% J
2 U9 a7 [1 u% {0 W8 K8 {: F' f- Z
2 V! T; i9 O+ J: {& U5 s0 R
5 {' U4 q1 C" o4 s2 s+ S
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2