飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
/ M7 J& N$ H' I! o& }- v* I
尾翼:
6 s0 U R/ P5 z$ t% `. `! `8 v/ ~
/ Z- n. \3 w( V; G/ T+ Z. {
代码:
1 q8 w6 L/ {. h9 i+ N7 y
CWndAutoFood::CWndAutoFood()
4 ~* O$ U0 Z. w: R4 t, V; H
{
9 B7 J9 h7 Z. p& @! H
m_pItemElem = NULL;
- w, P! V# \) H6 `! }2 @; n
m_pTexture = NULL;
& Y- x, x$ w" J3 h# C3 [
bStart = FALSE;
* Q: H! x2 m& |/ K9 `8 Z3 q
}
3 V( J) C( J4 m# i' Q* T# U1 U# ~
- F$ Q9 ~1 l5 l, @/ ?
CWndAutoFood::~CWndAutoFood()
8 g( t$ }- C6 ^' D; H
{
' E8 }- I) s) N* J1 K; N I& O
AfxMessageBox( "AutoFood ist gestorben
" );
8 ~- n0 q h4 b" N5 }
}
4 X# B0 T& q1 Z w
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
: }! t8 D t/ \6 Y
{
t: ]& m7 c, w; F& y% ?5 |( ~. a1 h7 R
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
6 T! k( s2 V# A+ l
}
( j9 J) N" [ G9 z
& i/ h/ O1 ]+ x& \
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
% ]2 u/ J6 j0 F# ~/ v/ q
{
: q# n0 I5 i9 Q# {% Z }
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
, |6 c; Z* o/ S! s7 @( f1 w
CRect rect = pWndCtrl->rect;
) O: w! b6 q8 K8 u$ R" U
if( rect && rect.PtInRect( point ) )
% E5 m# V9 D& E7 c9 b! W& H
{
) W! d5 v! |) p* b; I
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
6 I% H. S0 O% M/ [
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
( P7 J% T7 ~8 a& T9 f/ C' M8 d8 q
{
' }2 p+ o. Q" \ p
if( m_pItemElem )
5 {; K. {% c8 a V( l
{
9 ^) \1 ~5 |9 D0 v z2 H0 L
m_pItemElem = NULL;
" D8 i1 J7 b$ Z) F
}
/ C! y2 p; S- B3 q6 v* x& S
m_pItemElem = pItemElem;
0 I/ R' K; g" ]' v2 S9 G. z
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
% Y& s; ^5 r v, t( D
}else{
/ T' [! `/ k2 s$ w% H
SetForbid( TRUE );
: x! M8 k7 N$ a
}
3 Q1 z$ h Z" ^
}else{
$ w8 g- z- O3 P
SetForbid( TRUE );
8 p/ s, X1 W) Q
}
/ W: c! v" s' r$ B0 p, r) D' \
return TRUE;
5 I' a/ T5 N4 `& E# j( E7 I
}
, [% D+ w4 h* ^" L" b/ C: I o9 y* r
, ~" U, H* a( W* S e2 g
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
! c& z O! g$ u# h
{
0 X- j- g) F3 i9 F2 l; h' D
switch( nID )
) f3 a% P$ s; c/ D8 ~
{
- L0 S; {% c- q: R1 ?/ r1 a
case WIDC_BUTTON3:
% ?1 `& T" T. o; R5 x: D
{
& W( X* _" `+ m4 s
bStart = TRUE;
7 l' @/ k, _$ E( o
break;
8 s( q+ N# O1 y1 w" {- q) A
}
, f* p/ ^6 C8 z& I7 n
case WIDC_BUTTON4:
& r5 K( ?0 G' F5 c6 ~2 L% E
{
) `+ x" X& h* u: P
bStart = FALSE;
# U% a3 ]1 z. n, K2 j
break;
/ b O1 Y3 p5 |: Z
}
1 F7 F9 r- D0 `5 R! n' c
}
" C# M9 Z$ n) ]# p0 v# z
return CWndNeuz::OnChildNotify( message, nID, pLResult );
# V/ G0 v/ p; n6 E! i' N
}
' f) E+ b1 A9 Y) M9 y& i
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
7 M/ R9 V _$ Q! Y4 F
{
+ j& ]% Q8 M3 G" _0 e. I
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
! o3 o5 j r8 M4 \! U) X# v
if( bStart || !m_pItemElem )
2 f b* y1 F( l3 T$ B" v/ O9 k$ I
{
+ x; W; A; x' j4 L9 h5 _& ]$ G0 [' V2 D
pBtn->EnableWindow( FALSE );
# l4 w! K# }7 V( h9 Y4 y! L0 v9 E1 ^
}else
/ L( l8 z) G% E
pBtn->EnableWindow( TRUE );
# W1 n$ m8 z4 ~
if( m_pTexture )
( ]7 ~/ _) Q) Z. V# Z) [
{
/ P) y3 Z) s' n9 F% z; `
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
; O9 w& O! o+ C# [
if( wndCtrl && wndCtrl->rect )
& I' ^- o+ A' ]7 P6 |+ [$ X3 Z
{
' U3 {, f8 }: ]1 h1 H0 w* X
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
5 X3 d, t9 ?$ n3 l. D5 v
}
$ L; J6 }4 l; w7 X
}
5 |2 f0 b7 {: @. q- Y0 m( p8 B M
}
7 I& V. P4 d0 t9 Z5 b7 G c
: e Q0 Q( v- U% d" Z* [
BOOL CWndAutoFood:
rocess()
. D8 @4 q5 G- H4 r3 X
{
5 ~) q/ G! _* @. ~" J
if( bStart )
/ k4 e# ^2 g: n+ h# u4 h+ U
{
8 c. D" d$ U1 ~: g M
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
+ N% V6 ?- A5 J% z7 E6 l
{
' V% ~' n" B* b
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
. O6 O9 e. F0 ~
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
7 C# `6 N1 ? }% J# r6 I
}else{
/ t) D' R2 l4 j( _- O
bStart = FALSE;
% W; E1 o" X; Y; A) V+ _
m_pItemElem = NULL;
' k' q8 l. c( G! T
}
1 X6 l" O/ Z7 ]
}
3 h. {/ ]( C X. G4 R9 b
return TRUE;
3 R: J5 g# p+ Q9 w8 t# m8 G
}
) P, |# K4 X2 i& ^( q6 C6 z6 c% S
/ Y4 L8 x! V7 U
登录视频废话:
' b7 R: e# x9 N( b+ N6 _4 J
尾翼:
/ G- A9 s6 `* h$ g
& z( a, ~) \' Y4 P/ B7 ?
代码:
4 o# {) F* U" P0 W
7 S) i* x$ ^4 ~4 P* g
void CWorld::SetLight( BOOL bLight )
, s& s6 D2 Q2 s
durch
2 D$ H: e1 P* a1 L( S. o& i
Code:
Z- |) h0 b% K( n) N
void CWorld::SetLight( BOOL bLight )
3 K+ `& \; E; Y1 t( p' r5 S: w- r6 o
{
" q% [9 i4 A0 V! N2 W) K$ n) H
//ACE("SetLight %d \n", bLight);
* n3 d6 Y4 s b6 X
7 i4 e/ L) v! o$ d+ R I9 g
#ifndef __WORLDSERVER
; J% F9 ^8 s& {: z' t$ m
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
* n% F+ w% p4 h8 ^* B6 T
CLight* pLight = NULL;
5 J3 y& ~8 \: ~. m, V& n
0 q3 N0 a% c8 R" V
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
1 ?( a' N. l. J% i. |( g9 j
/ A; w4 S+ w; E5 s# O9 k
pLight = GetLight( "direction" );
% Q" ~- ^4 D0 |: D- C
3 ]) G3 X6 y+ {7 m2 N7 @6 O; J5 o
#if __VER >= 15 // __BS_CHANGING_ENVIR
1 ~9 ^3 d; I" \$ y h3 O# b5 C5 z
if( g_pPlayer ){
! X6 q$ e# T5 d" K! m& ^9 |
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
" E8 ~7 u. h+ a6 g6 E$ o$ S. i
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
% [! u2 {! Z& j$ X* V! H+ i7 u$ W
{
: K2 v0 S4 T2 g* o$ D; ~( L
if( pLight )
( v( @$ _; w) q
{
7 K' P8 J2 Z$ n0 }
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
; e" ?0 {# a- u. L
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
& L4 h+ p a# n/ j- z$ Q
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
h, ?8 Y: s+ J1 ?' P. q& E) T m8 K
/ G. U8 S: Y% J' r! Q; A+ d" Z
pLight->Specular.r = 2.0f;
1 J* T& I" E) `% I2 J4 d
pLight->Specular.g = 2.0f;
- O9 m i- Q8 P& d5 o* t! F1 T
pLight->Specular.b = 2.0f;
; k: M# O# j' E. [0 h) p
( L% {; ~3 C2 ]2 ]4 i/ d" _- S' t0 V
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
) a0 o3 l0 i9 ^# [
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
' B$ b- W- u. x, |
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
2 @# G( Q2 Q6 C0 Z) E* G
9 j' c% i4 Y% F: w5 A
HookUpdateLight( pLight );
) d& ^. Z: h; v5 G6 n6 h' a
; t" n" y& l- p. | @) F9 G
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# g' y1 W; q- O9 [& w" K3 |" |
5 }3 g9 c; f: r2 h7 B
pLight->Diffuse.r *= 1.2f;
5 K# m4 C0 b: e- T" J
pLight->Diffuse.g *= 1.2f;
8 q/ U2 B) D) {) \4 S; [% h" ]
pLight->Diffuse.b *= 1.2f;
/ k& t% Q0 Y' p3 T! S
5 L4 T! q$ |/ {7 i5 I
pLight->Ambient.r *= 0.8f;
4 n3 X) w5 r/ \" ?
pLight->Ambient.g *= 0.8f;
8 B, |) U- I; L0 j3 R$ E( T7 G
pLight->Ambient.b *= 0.8f;
r2 D2 G% Y3 @6 G0 l' q
4 m" ~1 l8 i. y, X9 ` D$ e/ k) V1 O5 \
memcpy( &m_light, pLight, sizeof( m_light ) );
/ t2 l: ~3 W ~' N% ~# I, f
9 M0 S3 k) y0 g
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 E3 K# |* D* b: L& ^+ ], u
D3DXVec3Normalize(&(vecSun),&(vecSun));
* w& D% [/ y/ @& x
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
, |% I) a& s8 s& \
pLight->Appear( m_pd3dDevice, TRUE );
% q1 p- v4 N$ k
5 M$ D d* F& a, E @
DWORD dwR, dwG, dwB;
5 a8 Q1 R9 S) ?$ Q/ h
dwR = (DWORD)( pLight->Ambient.r * 255 );
6 [( a5 h/ r2 `( ^ g. o5 X
dwG = (DWORD)( pLight->Ambient.g * 255 );
: {0 Q& T3 H+ j6 M7 k
dwB = (DWORD)( pLight->Ambient.b * 255 );
; F& p- R! [+ E9 Z$ M$ A, p
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* H( B2 \/ r# D7 L5 P2 z+ ~8 o
}
* j5 A! k, v5 o. P
}
6 _6 U' _/ m' U4 }5 M
}
4 d" w" S+ y5 j7 K2 W! L2 P8 d
else
$ p D4 s+ O' }: M( Y4 ]; [6 c
#endif
. J+ C0 _& ^; M) }
, a$ N9 r y4 c" N8 M* {% C; u! ^
if( m_bIsIndoor )
" w( ?1 K5 a) Z+ {0 [
{
, P" \( y" H! L
if( pLight )
9 l+ O3 v: v4 d0 ]6 L+ T2 ~
{
8 @6 E( l. {- W5 E
// à??μ oˉè*
9 m2 E* H3 E5 U4 D" g1 k
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
6 ?( }4 h4 T2 I0 \+ T0 x2 q
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
1 l9 j1 X: N& [1 K# T3 |% n2 V
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
: y0 U2 {3 R; T% B
6 a, S) p+ k' a, C. `8 U+ b& B \2 [
// oˉè* ??à?
8 K! N/ x. h5 s2 v
pLight->Specular.r = 1.0f;
# i1 Y' f; ~" k$ z; K% V& ^0 U+ Y
pLight->Specular.g = 1.0f;
( q- V) K7 {6 h
pLight->Specular.b = 1.0f;
c/ ^( {2 E& O1 Y, C* d+ N
// àü?? oˉè*
$ h4 o: o `$ v9 b1 ^( Q2 o. T
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
5 ?* [( v+ |* r4 t$ r8 K
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
+ e. P: n# x Z; w3 ^
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
0 r H8 Y4 x- o
( m( c0 l% b7 T; s5 R+ x% l
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
: l: g0 n+ K* c$ N
{
$ \% {# }8 c# z- N
pLight->Diffuse.r *= 0.6f;
+ V) N9 p" _( v: S8 O0 I) ]- b% r
pLight->Diffuse.g *= 0.6f;
, h0 f' B, E, z9 x' l
pLight->Diffuse.b *= 0.6f;
2 F# p* W0 m2 V2 M5 v
pLight->Ambient.r *= 0.7f;
2 n/ C" O$ f& C: [) \+ \$ k
pLight->Ambient.g *= 0.7f;
# h" f" p! o# c- z8 d% ?5 g5 D7 {
pLight->Ambient.b *= 0.7f;
. Z) a n# {3 N5 `( Y
}
9 I4 u6 L- v$ y0 g& U: ~- _
6 O+ ?) W n. U6 u3 N
#if __VER >= 15 // __BS_CHANGING_ENVIR
; V: o4 b" A7 ^* ?1 ?$ k$ E
if( g_pPlayer )
4 q5 n, f4 r9 g& }7 {0 B
HookUpdateLight( pLight );
/ z% o4 }5 m* T8 E, v% K
#endif
i0 b1 |! e- r. r( U
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& r2 x7 K+ ^2 J% X$ P4 X
5 N7 `1 T2 {+ `" Y1 g+ F
pLight->Diffuse.r += 0.1f;
; b2 V- \9 Z9 m6 M
pLight->Diffuse.g += 0.1f;
* a2 ?$ t' A9 ~- u0 g4 w& s! }
pLight->Diffuse.b += 0.1f;
& A1 e" x) {) H
// oˉè* ??à?
8 ?7 l5 L- ~, W) z
pLight->Specular.r = 2.0f;
. u! d$ N* X3 c0 [$ K8 B
pLight->Specular.g = 2.0f;
$ ~/ o! e0 T. \5 s$ Z
pLight->Specular.b = 2.0f;
7 R" t. p- e( G
// á?oˉ
~* g8 g' @6 C6 z
pLight->Ambient.r *= 0.9f;
_5 k" ^8 i. F+ j$ u* Q
pLight->Ambient.g *= 0.9f;
3 E) q$ Y- R( u, T1 O2 F- b( X) C
pLight->Ambient.b *= 0.9f;
/ _7 S0 C/ g1 H8 r( M7 [1 R# u* h4 J
" C: Z0 F5 ^2 @
memcpy( &m_light, pLight, sizeof( m_light ) );
5 c. p1 U8 c% N3 [8 _. @9 Y' O
1 w1 K/ q4 b& r+ B) h6 n: y
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
6 S, C1 H5 I3 m* h& F, B( z8 I
pLight->Appear( m_pd3dDevice, TRUE );
% g2 T. G, |& l/ o
+ s3 ~8 z; x; k o# ?
DWORD dwR, dwG, dwB;
% h8 |( k" {1 l( T0 V) S4 P
dwR = (DWORD)( pLight->Ambient.r * 255 );
4 ?; g, L+ }5 L
dwG = (DWORD)( pLight->Ambient.g * 255 );
( m& X2 L! I, i. q5 @7 j% K: l
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 e9 y- L, D3 C5 P
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" T K/ p$ M! ~2 Q4 C
}
! g" b8 a! A3 c% q! M
}
: H7 y O+ @* d6 Y$ [- G( ^5 W
else
& w/ {9 ^% U3 b5 B8 _0 P9 Q3 Q% i9 c- K
{
- Z& p* h. ]9 q/ M1 z
if( pLight )
4 A' t1 m" j: U
{
- g& E: G6 X/ @# u5 w5 ]3 G
3 T$ H6 Y* {) \. \1 j2 @
int nHour = 8, nMin = 0;
) q* f% B, n# {- D' t9 Y: j
#ifdef __CLIENT
8 G" T p4 M) C) a, a
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
) H- f O; I+ t7 O8 V
nHour = g_GameTimer.m_nHour;
8 t( s. ]$ |/ v) K& E8 h
nMin = g_GameTimer.m_nMin ;
( u/ N8 H/ B) _+ ]$ C& u
#else
3 T; L: O& u; o! ]3 s+ ~, N
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
! V8 c5 i# ]+ a2 d5 m
if( m_nLightType == 1 )
' u7 x3 M) d0 x# I$ Y; R5 N0 a
nHour = m_nLightHour;
{$ |% @3 ~; C; `7 r
#endif
' ^: w; {# z/ W* n
nHour--;
% E, |: ]8 x6 D' \7 v
if( nHour < 0 ) nHour = 0;
" B* J8 e7 ]7 Y5 J9 \. j
if( nHour > 23 ) nHour = 23;
" F) r' C# ?5 \$ D1 g1 c
2 i' _6 X6 B8 n0 k( X
//if( m_bFixedHour )
) Y" H; R) D, A' ^. n( D8 j8 J
// nHour = m_nFixedHour, nMin = 0;
; k5 u5 d8 s" @7 t5 Q+ x
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
: ]8 N2 [) d( C3 E# {7 s8 `" t/ S/ K
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
* I% e* E7 J* |. g' B3 \! Q: z
5 M* U( u0 B; V
//m_lightColor = lightColorPrv;
, D6 y, J: r' W$ B
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
9 j# Y" J: L3 T \5 y9 W# E. ]+ P; q$ A
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
6 n. a ?; g6 z7 W; g, w, [
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
; C( \! G, Y( V( M. e
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
( s' ^1 K( P; U+ }
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
) O- Z& I0 Q4 V. \
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
2 H6 O! Q# J# B4 M! M" e7 s8 P
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
/ o4 n2 [: Q4 O9 [' D' Y7 v
j" E6 O' U. f; C# j
// à??μ oˉè*
! O2 \8 B" O" \0 O% @' D
pLight->Diffuse.r = lightColorPrv.r1;
* m: D6 ]2 J6 g! v
pLight->Diffuse.g = lightColorPrv.g1;
2 d4 C6 y; y5 k. H. R% s
pLight->Diffuse.b = lightColorPrv.b1;
. S5 e( D: ?5 h. ?
// oˉè* ??à?
. q1 Z% T0 N+ N- {0 [& a
pLight->Specular.r = 1.0f;
# y4 y P1 [# m2 H) d9 W2 M
pLight->Specular.g = 1.0f;
7 s' K: s0 ^4 U: ?
pLight->Specular.b = 1.0f;
2 T: S+ v- O# n( a
// àü?? oˉè*
# C# f: k4 b: ]+ H' v; v( x- d5 g
pLight->Ambient.r = lightColorPrv.r2;
: @" ?5 M& v; G5 j; X7 `
pLight->Ambient.g = lightColorPrv.g2;
. n' ]" c" C/ C
pLight->Ambient.b = lightColorPrv.b2;
. k# L9 _9 |0 q% h. `
/ V# m. c. `! k6 E U6 m) J$ N4 [5 x
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
: N7 I' J2 S7 J! N' d% q
{
* y2 A+ T; R# J* g/ N; k) b
pLight->Diffuse.r *= 0.6f;
+ a% W$ A" H: h1 e* G
pLight->Diffuse.g *= 0.6f;
3 S) ^0 \5 V2 x# r4 U
pLight->Diffuse.b *= 0.6f;
) }: T# _" Q9 \) @" C
pLight->Ambient.r *= 0.7f;
m) C t# n5 \5 J& z
pLight->Ambient.g *= 0.7f;
" H- `6 F& j# `* \/ ?+ q
pLight->Ambient.b *= 0.7f;
! B1 _* e ?& v# n# B! R
}
( ?# L- x, U) n, g r/ _ g
1 t# D$ w# o( C4 ^. K5 i6 B
#if __VER >= 15 // __BS_CHANGING_ENVIR
, k( M. r' b) P
if( g_pPlayer )
5 O; n+ R c! C/ E
HookUpdateLight( pLight );
2 r8 [; Z( P. O$ }5 e7 y
#endif
- M8 p1 T" D; D5 R
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& q; U% H" b' E
! B: l+ t2 I. ]+ N- b2 \+ k
#ifdef __YENV
4 `( M" i. \5 g, }; Z' b
pLight->Diffuse.r *= 1.1f;
7 J( N! V9 b, J: S
pLight->Diffuse.g *= 1.1f;
3 T% l4 ?9 a' S; V# z& W
pLight->Diffuse.b *= 1.1f;
8 Y& z3 T2 Q; w4 t9 c- m) Y3 B6 D
// oˉè* ??à?
2 y- D+ X8 N5 C# ?! o1 P
pLight->Specular.r = 2.0f;
1 @( T: d- E/ }3 T6 t7 F
pLight->Specular.g = 2.0f;
/ i- w3 T8 M8 x, t, _* e* p
pLight->Specular.b = 2.0f;
: E; s) ?3 M( d6 T) z3 T0 V- h& K
// á?oˉ
1 S3 h1 m: ]4 y2 L6 v* J5 a# G
pLight->Ambient.r *= 1.0f;
9 d- O7 I+ R2 E3 f+ G
pLight->Ambient.g *= 1.0f;
# T" [% x5 p8 W$ O2 M
pLight->Ambient.b *= 1.0f;
1 j5 R# e7 u( c2 Y3 G
#else //__YENV
5 e' l1 [& D# N, j6 ^' A+ d
pLight->Diffuse.r *= 1.1f;
) X A: c- W7 |6 a3 V3 h
pLight->Diffuse.g *= 1.1f;
4 X/ d: T; _* y4 P
pLight->Diffuse.b *= 1.1f;
5 Y0 c7 ^# I9 U: `8 P
// oˉè* ??à?
. C- e" b8 a. s) s( T
pLight->Specular.r = 2.0f;
6 s9 b+ A9 N! P- ]* j" r
pLight->Specular.g = 2.0f;
' q3 F3 N1 I' d; d$ U4 V+ T# c
pLight->Specular.b = 2.0f;
6 }2 {% `3 M# h, q
// á?oˉ
8 S) v. T/ M1 J" I4 m& E
pLight->Ambient.r *= 0.9f;
& d+ f; [; G# v. r F- R4 H% _
pLight->Ambient.g *= 0.9f;
) J2 `$ Z- R5 T: V! t* W
pLight->Ambient.b *= 0.9f;
) M; V3 v& B3 n# T" u
#endif //__YENV
8 f7 P1 z0 `) i o
" ]- }* ~" {/ d
memcpy( &m_light, pLight, sizeof( m_light ) );
{- m3 H D1 `# |$ T. u* J$ f
1 g/ _/ u! {' C( o& j, w( o
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
" b2 T5 m" D8 V& h* J: z0 Y+ t
D3DXMATRIX matTemp;
4 Z0 C: S- }) E+ c+ p" w) u
static const float CONS_VAL = 3.1415926f / 180.f;
9 o7 ?* \% U! j5 r# A
( E) g) q1 N% i5 B& b
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
- s' `3 F, ]1 R( z8 j: t1 {2 G
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
: z) p5 i5 r2 e6 ^3 h0 o
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
6 |" Y$ f, u* `. s6 d
pLight->Appear( m_pd3dDevice, TRUE );
6 C+ k! w9 I2 T- C( m" i z/ I2 q# X
& ?0 y# k6 k6 H
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
6 C2 _6 H8 Z- F R2 s# H2 J
// D3DXVec3Normalize(&(vecSun),&(vecSun));
8 |2 w) p0 }' ?0 A: E! c
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
# U, [- O1 O1 h) K2 r9 L3 b# L
$ m4 i7 U& s: j* G- A" ^& i2 m: L
DWORD dwR, dwG, dwB;
* F: H( O* K1 Z- p, S; n2 s) W" z
dwR = (DWORD)( pLight->Ambient.r * 255 );
, z2 Y3 a$ k2 G; S f$ F7 r+ Z5 D
dwG = (DWORD)( pLight->Ambient.g * 255 );
$ O# R l" T- V6 I
dwB = (DWORD)( pLight->Ambient.b * 255 );
7 ^/ l# G* |+ ]: p; D
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# ^* L* Y. [+ R o
}
& J5 `, X. P' k( y
}
$ y3 j2 ?0 G& c( P/ n; u! Y& e' H
( A) m* n: O/ y1 r2 r3 T
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
' t, |! |$ \/ L7 {9 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) );
$ [9 L% m* J i4 E% D! G8 ^( T
::SetLight( bLight );
. I" \! J( D( l- e
; q7 }- n, g( q
// ±ao? ?D?í???ó á¤à?
$ b3 C, q& b V' I, E
m_pd3dDevice->SetMaterial( &m_baseMaterial );
% I3 |/ _! Q3 N/ u! f9 Z2 d
/ u, C# w9 S9 C' f1 P
#endif // not WORLDSERVER
& i" @9 w$ F/ a; [
}
2 [# z9 N; c; b ?0 F, K
并更换
4 v& f K7 l5 N6 H0 A7 _% ^
Code:
/ U" J. C q d3 y; f3 u% q+ W0 e
__FLYFF_INITPAGE_EXT
4 H' o, [; Q. v m, N
定义
# w- {+ W5 e0 _, w$ e- T
! T2 `, a7 B/ M; |
/ H' ^4 }3 h% V' z: S
+ p7 n' }# N- Z' M# f, E
2 M3 ~' g G& N" U4 b7 U
现在终于删除我的狗屁加速...
, Z4 M1 |+ V: d% q m7 a7 V! U
, ?# V) [. L- \& }4 S7 a
( n; D& I7 L/ H0 {2 v4 ]9 L* M7 r/ ^5 z2 e
) s" S6 S" j5 H9 k/ t) w9 ?& M
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2