飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
! B% Z5 s- f( ?7 A z( z: t
尾翼:
# [5 \7 ]9 h. N
' j5 _% N: l8 z; \( x/ i' q2 X, ?! T
代码:
- D- K+ l$ e: P; @% T
CWndAutoFood::CWndAutoFood()
+ Y( U0 x' L- g% O4 E
{
" j/ |2 ?0 k! Q6 _! b
m_pItemElem = NULL;
- T; ?5 |0 ~ T/ j; [( J0 V# n
m_pTexture = NULL;
- c; _& I* _8 k3 ~0 t2 }
bStart = FALSE;
6 l2 p# f. E0 T [
}
, o! O7 s/ A/ F# M! F$ z& |
3 N4 O2 ?; B) X% U
CWndAutoFood::~CWndAutoFood()
: r4 s# F8 ~* u! V' H' J. I
{
( d7 I* \; v% ~( u2 W* ]0 c4 x9 {
AfxMessageBox( "AutoFood ist gestorben
" );
) w- L! }1 Z/ j1 i* o% F
}
3 p- y: s1 B A+ a; G: U
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
% a; y9 ^4 O. O. H7 N( Q* O
{
; C) X& t$ \: \1 c
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
$ K( h, I& R1 k' ]+ ?6 O/ `; K! U& T, y
}
4 {7 t8 T: w3 W: _) S
0 F4 v2 q' Q. u: v
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
0 c) z7 Q9 p* x9 Z6 ~
{
# x( O9 W2 J1 D9 k% m* V
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
- ~# h& W% y" k/ ]! e3 G: {1 G
CRect rect = pWndCtrl->rect;
' ^! C- \+ _ @. N& n( u7 S; N
if( rect && rect.PtInRect( point ) )
' U# G! R A- W' b% H. ]3 I. e
{
- b8 q' Z. \+ v* [' O
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
% f% e8 f- x/ f T" @1 h/ h
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
% b6 T7 V: @+ J: Z, J' i$ s
{
; p8 R' t' @$ @8 _
if( m_pItemElem )
5 `* z- A; S5 h: e- t
{
2 Y) g- b1 s0 w2 U* ~8 S, C
m_pItemElem = NULL;
& p: D/ a/ c" @% r. a
}
5 V7 ^* `: G3 v, k1 z T
m_pItemElem = pItemElem;
! s6 I! P* g$ l2 Y& a
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
& C( a; H% F+ ~: B
}else{
$ b5 W* A. a6 i0 k4 H- J3 h R
SetForbid( TRUE );
, w+ L8 T: P, [) M
}
. Y9 j' F2 D1 h4 q
}else{
9 r; _. w6 \$ b
SetForbid( TRUE );
# l1 _3 x, c4 n* q1 Q
}
9 H7 `, t2 M, e
return TRUE;
& `. `6 O" B- E
}
; O4 ~9 u$ O5 b+ c f# [; Z9 T
3 f1 V; r$ ~# u
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
5 `2 [2 p: U1 ?8 P; u( f9 V$ z' F
{
) a$ }+ x I1 P1 w6 g
switch( nID )
0 _% }- d% J. N
{
9 v! B- B( s1 v4 v# P- Z- }0 J1 k
case WIDC_BUTTON3:
^$ N8 C2 N; g' _7 K6 j: u# f
{
l4 G7 I- q% V, h5 ~
bStart = TRUE;
' V, p) A1 U8 y- s2 a3 z5 C% P
break;
# P4 }( u4 ]& D1 Z7 _+ Z
}
1 t9 r) Q" v' @1 e
case WIDC_BUTTON4:
1 S2 j: R9 Z3 i
{
( k, [8 T4 s: L$ \" V8 Q( U: z7 `
bStart = FALSE;
( `/ ~8 P( q- p; Z& I- r P# [
break;
. N1 N! H I$ @$ o$ K
}
$ z0 J& a4 l# E" D
}
: q% p3 P, m Y
return CWndNeuz::OnChildNotify( message, nID, pLResult );
3 V$ e; N. Y4 W* C& L
}
' Q1 |2 o2 d- K8 ]0 x" U
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
* r1 ?5 E/ S; B% _
{
( b) p6 p# d& C" j) w- C' y
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
! t1 @- ~$ W! \8 P, Y% U5 I) V
if( bStart || !m_pItemElem )
' u6 a9 l0 b( f6 }/ @
{
3 N8 T7 W7 U: x3 S$ v
pBtn->EnableWindow( FALSE );
8 I) w) r, V" G" p+ `, C- B; a+ I
}else
% R% J% f; t8 o* X- X- t
pBtn->EnableWindow( TRUE );
: @7 l4 J5 o" |( j" `. u
if( m_pTexture )
8 u' c- [0 _7 M6 @1 T
{
! B/ z* W: Z4 V7 k4 ?+ |
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
+ }4 ]# W2 x8 z) f
if( wndCtrl && wndCtrl->rect )
) J! C9 D9 v2 ~: |& ]& T6 v
{
9 K) V) e1 V) J, s2 ^! f
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
$ w4 J% Y; {+ a6 G0 H( h
}
) E! ?1 Y( n" N! C& D# n
}
2 Q/ ?/ e" L3 \9 w
}
/ i, P5 P3 m% |$ R" e' Q
7 U* c! ]! Z, P. H3 _+ x" L
BOOL CWndAutoFood:
rocess()
( B( q& _9 g0 M4 c' r4 J |
{
2 r1 v4 L9 r1 F0 z
if( bStart )
! G& l8 q$ @5 x4 n5 u( ?
{
( _9 b# \" |5 ?
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
& X# R5 z3 I0 F; X: Y: [) p3 k
{
4 {* O* H/ A1 v g8 D+ C9 S
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
& d7 l$ T+ c) ? ^# b- d' u" D
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
# U) ~ W6 W9 M+ }8 }* v n, [
}else{
9 `9 e# X U7 D, t
bStart = FALSE;
! d9 k' e+ y9 E) C+ \) u) y- d
m_pItemElem = NULL;
0 V& K& V# Z$ d% T4 l% N/ N: Y4 q
}
3 u' ]# V8 y% x! D& j1 e! S
}
/ g: K6 ~; f& n! a4 {, L. p
return TRUE;
) T& m- A2 X( J" J7 `6 N
}
$ y! Y2 B# r, |, T r
6 T+ S R' W: A5 B8 z( \
登录视频废话:
+ |( G8 g# j" H/ a0 b" _3 P& V3 D
尾翼:
! W9 w+ Q* M/ n; ]8 W+ P P
5 q! {, l6 F- [6 x$ l$ V
代码:
& v! A. B8 Y4 i; A, R; |
, P% O3 \5 t7 K9 V3 O; W& g
void CWorld::SetLight( BOOL bLight )
: S% S7 ]& o/ }8 V2 X
durch
9 j% x& u, o: T5 I4 O4 z" |5 z
Code:
- t; E7 G1 t( U7 d, [
void CWorld::SetLight( BOOL bLight )
' y: i: V/ ~7 r3 ]
{
" g! m! J4 m+ j1 g
//ACE("SetLight %d \n", bLight);
7 O, v, |; J/ ^
( z$ ]" P" D! k& Y
#ifndef __WORLDSERVER
# C3 n; i, [/ b" i9 Z2 I
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
5 ~* g3 v3 V3 G
CLight* pLight = NULL;
+ Z& q- F# d0 Z* {, P/ T4 z8 J
2 b" p8 ^9 D5 j4 v9 J6 Q
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
+ l- ^5 j, E7 p
7 s7 s3 ?* n8 o" u3 y3 g( Y( d
pLight = GetLight( "direction" );
! `7 L7 Z9 B1 ?4 l. {
' z$ E4 R6 x. K# y
#if __VER >= 15 // __BS_CHANGING_ENVIR
: {8 e2 `8 g/ H* @
if( g_pPlayer ){
8 Q k& o0 O. c; h% T
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
* _) m1 Z; a2 I0 F; y- L& }+ G1 y+ _6 [
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
0 ~. \# ~, A; P
{
- q1 H9 h7 ^& Q% A+ y" N
if( pLight )
( z7 }' K: f& b3 h7 b6 D4 ^; b
{
" Q! S6 n, E j( O5 L9 X! B6 O
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
, |) b$ s. `9 F% X0 ?% R" V
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
( [3 P/ H' ]; s2 s" c- H, v
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
' y+ G0 ?' b0 B6 W
# B& z/ v& }6 G7 u, I
pLight->Specular.r = 2.0f;
$ E. d6 }7 B! }6 o
pLight->Specular.g = 2.0f;
" R- l( {- }; E2 q2 K% c
pLight->Specular.b = 2.0f;
& [: s% S8 ^0 k
8 B0 X" i7 ^# A( Z" w
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
. g% E9 M8 {/ Z* k0 c5 T
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
8 I4 ~# {4 x% \9 I' J1 k
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
' Q) V5 q# C, t4 l
5 L/ I* J1 H; h5 U
HookUpdateLight( pLight );
. D( ^ @0 k( r
" U* W/ r2 L! I
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 M1 @* S/ P8 W0 j, r
1 s) d0 h; ?" {" f9 ?: }
pLight->Diffuse.r *= 1.2f;
- F6 ^+ d" I$ p! \( [2 T
pLight->Diffuse.g *= 1.2f;
' y7 @, x- l& j- f/ k) B) w
pLight->Diffuse.b *= 1.2f;
# M6 V0 Q( N0 |5 {6 _- J
h4 K8 q& W! L# q
pLight->Ambient.r *= 0.8f;
8 G& c; k: n. Q$ r
pLight->Ambient.g *= 0.8f;
8 K7 l* K4 [3 s$ P$ W( {2 ^
pLight->Ambient.b *= 0.8f;
5 u- D7 l1 e x5 @3 t, W# V
- x2 h6 C# S# e9 V) u) k* t
memcpy( &m_light, pLight, sizeof( m_light ) );
; U1 y/ S) e! E0 q, G5 b+ D G# N
# G: c% _: ]3 _" |- F7 e$ y) E2 O
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
) }. g" F4 x& j
D3DXVec3Normalize(&(vecSun),&(vecSun));
0 m$ K0 _! o5 }, |. u9 e
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
! B3 N" W+ Q* k1 m7 B
pLight->Appear( m_pd3dDevice, TRUE );
( `; k c( x6 L& r+ n- q, H
+ v" q# \! V2 o/ v; L" I
DWORD dwR, dwG, dwB;
- Q, B( d. k' I3 ~( j
dwR = (DWORD)( pLight->Ambient.r * 255 );
W! w7 m/ ~2 N! @. u$ N7 M- {
dwG = (DWORD)( pLight->Ambient.g * 255 );
( O/ W+ g0 @- h! N. u3 ]4 Z
dwB = (DWORD)( pLight->Ambient.b * 255 );
f% @* W9 x- Q" w; s
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
/ R9 M6 {9 q" i: x; t6 F3 b6 }6 q" {
}
8 {# [" t0 Q5 V8 ]) M4 k
}
' s" w$ H6 \0 a7 K
}
1 K9 y" O( T7 i
else
4 ?& y- g1 Q" p! z) J
#endif
4 [, K/ t; T: X+ ~& [+ q* l% f# g1 k
5 ?/ O& O5 p+ Q! A: y6 {8 d
if( m_bIsIndoor )
- c; q& V: ]& I
{
6 P u6 b1 o% K( k
if( pLight )
" W4 e. y$ S% t4 L, d/ u
{
8 r" x4 z& I @6 A0 ~& x
// à??μ oˉè*
. I$ |: L1 k$ U p
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
: y, H) A: r5 ?% f
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
4 e" n! P J7 U. y) x, I# ~
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
) _$ r" n* U. t; K# S2 S- w
+ a/ t" ?) T5 [0 Q" E" ]
// oˉè* ??à?
, h6 @5 `2 N* h9 l3 y
pLight->Specular.r = 1.0f;
$ K' Q/ x( Q" }
pLight->Specular.g = 1.0f;
/ L" u+ k+ u* o% w
pLight->Specular.b = 1.0f;
$ l6 U; u3 r- q4 K5 U6 a) A
// àü?? oˉè*
! K T1 y0 J; v) k0 C7 F0 @0 |
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
$ r* u* l8 m* c/ w" o
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
, q) w& Q9 r* x8 w! o/ i
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
# R8 Y" `" i F0 ?' a! y/ \0 q. s
8 k# H, S; S1 x$ z
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
' ?" ~! l' O3 Z/ m7 N6 @7 y
{
7 @% g2 ] q6 y. L
pLight->Diffuse.r *= 0.6f;
7 h" `3 |' _1 w+ R4 H) D9 I, _6 E$ F
pLight->Diffuse.g *= 0.6f;
1 C I! o3 l: x/ I, k
pLight->Diffuse.b *= 0.6f;
0 P/ J* F) m" t) V# F+ b
pLight->Ambient.r *= 0.7f;
4 |+ X) ^1 A' e8 a- I
pLight->Ambient.g *= 0.7f;
7 ]' s* h2 g, J) K) K' c# Y1 W: R
pLight->Ambient.b *= 0.7f;
$ Z3 J+ X8 Z3 p) R
}
) u) Y; ]$ U" T4 Y% V
0 J/ }# `6 ^# l# w9 D1 A
#if __VER >= 15 // __BS_CHANGING_ENVIR
6 A% e7 n! ~6 i& z5 [. F3 g2 H
if( g_pPlayer )
$ P. |0 N: s% {( P( M0 g# Z
HookUpdateLight( pLight );
9 L/ Y# R* |* M% O+ J1 T% X
#endif
: L0 X# G& a# \1 w/ T
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
* l. l" q6 H$ f' D$ `" Z
3 [* }$ I: B) ]1 Y9 s6 `
pLight->Diffuse.r += 0.1f;
L) {( T( Y2 W! G
pLight->Diffuse.g += 0.1f;
* l& v6 r r/ _2 H: X
pLight->Diffuse.b += 0.1f;
. C* S& S- ~2 Z' G
// oˉè* ??à?
% V% A/ ]: Q3 a0 p
pLight->Specular.r = 2.0f;
5 _5 a( o+ N2 Q1 r3 E# ]
pLight->Specular.g = 2.0f;
+ F/ u. }! ~5 t d' g+ Z
pLight->Specular.b = 2.0f;
" m* h! r$ \& j) ~8 U3 P
// á?oˉ
, ?6 n. [, {( v8 `( C# p& E. x8 C0 n' h
pLight->Ambient.r *= 0.9f;
7 O, A1 P8 Q2 x3 P4 W" F
pLight->Ambient.g *= 0.9f;
. t# m; ~- A% S5 K4 j0 I* r
pLight->Ambient.b *= 0.9f;
8 ?: ~9 _ e8 `; k" r/ U: [0 p
. q- u% N( `$ w7 ~. W7 q k+ e/ ?
memcpy( &m_light, pLight, sizeof( m_light ) );
8 _6 `" a" J% X3 }! P2 N% N2 z
4 _3 N( L `# q3 N$ ^/ L
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
1 U$ b# g% v8 {+ j& R
pLight->Appear( m_pd3dDevice, TRUE );
$ {- \* m' q: C: A4 B# r- s* p
4 D/ Z" `. ~: g( y( U5 @
DWORD dwR, dwG, dwB;
& g7 R# ^/ ~3 o# {1 x
dwR = (DWORD)( pLight->Ambient.r * 255 );
/ p0 a3 y3 \8 k" C* r1 T5 f: P! z# _
dwG = (DWORD)( pLight->Ambient.g * 255 );
8 z8 \3 a7 P: F2 Y4 y" U9 u
dwB = (DWORD)( pLight->Ambient.b * 255 );
! g- I0 a1 p8 `7 L0 C
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; Q# ]0 d5 |( Q+ K) P/ ?' k
}
3 p+ l6 Q5 O, Z$ a. L
}
& ]% U* {+ {. L9 W/ o
else
9 p; G, r- R H1 n' l
{
/ o: R/ T7 X* q. G) ^% F
if( pLight )
, X. O- U9 B; u# T
{
2 a& q$ V5 d8 o' h
3 a8 r6 Z* T+ G$ T2 m! E8 r* T* R
int nHour = 8, nMin = 0;
+ s- E6 s! a- T9 I# j
#ifdef __CLIENT
& v9 T5 S E6 C* y5 `( Z
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
0 `" J& Q' T' Z' C7 N s) K2 `
nHour = g_GameTimer.m_nHour;
3 i& c% V+ q2 w1 P% y* b: t( W
nMin = g_GameTimer.m_nMin ;
- F/ P6 g# p2 V$ i: I( v
#else
6 }1 s1 N( x9 \# q- R; w, n
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
: Y) o2 f" \4 w+ k) ^8 M: N
if( m_nLightType == 1 )
1 ~1 w" I) k0 s. s' e$ I
nHour = m_nLightHour;
* K6 W9 m2 S; N. ?' Z5 S& Z
#endif
' k' C; p7 F( C# K2 I, F3 r
nHour--;
1 o+ Y0 @7 s1 P0 M7 m5 A
if( nHour < 0 ) nHour = 0;
( M9 V K% Z1 ?6 q- ?- V
if( nHour > 23 ) nHour = 23;
. v1 F# s2 Z% \( v
' c* V: j: u7 j
//if( m_bFixedHour )
. u8 E' r) i0 G r- c3 M' I' O" o
// nHour = m_nFixedHour, nMin = 0;
3 S0 h9 R( F% }
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
7 C5 b# [0 c: y' C: ^: Z
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
6 m( w# Y2 \9 ~8 e
7 r% t$ c, y$ N+ N7 X( B2 ~. ?% F
//m_lightColor = lightColorPrv;
# s5 Y( k# h+ N7 R U- V
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
7 e' D$ h) ^' a/ G4 Y; h# w
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
0 j0 @& q' o8 N
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
1 @$ N) _7 {8 L5 U* `, _6 _
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
! s6 Q. i$ G8 y
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
( w, |/ K- Z$ k
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
* V. p: ^& O3 W/ a5 P# Z
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
( Q# \7 u8 y9 @8 e% I2 R9 @& }
& A2 |' J) D3 s+ H7 \$ {1 Z2 l
// à??μ oˉè*
+ H! U; |( c8 g( t3 U0 }
pLight->Diffuse.r = lightColorPrv.r1;
" q! V" \& s' h& Y1 X$ y
pLight->Diffuse.g = lightColorPrv.g1;
( S" D+ ?: l3 ^: [
pLight->Diffuse.b = lightColorPrv.b1;
: z5 F7 U& ?4 j8 M$ R P9 V! @
// oˉè* ??à?
1 y5 [1 r3 m( ~7 x( q* M7 G
pLight->Specular.r = 1.0f;
) n5 | L- K8 q4 M& H" ^
pLight->Specular.g = 1.0f;
" D6 v: q9 U3 m( T5 C6 B1 P: F
pLight->Specular.b = 1.0f;
; L7 J5 y) ?+ ^
// àü?? oˉè*
# l3 _8 d3 @* E5 T
pLight->Ambient.r = lightColorPrv.r2;
8 I. K* B- D3 ]+ v3 u+ Z5 f0 E
pLight->Ambient.g = lightColorPrv.g2;
$ D5 o! e5 [% E" G& ?7 P& J% B4 F8 {6 D
pLight->Ambient.b = lightColorPrv.b2;
) Z. Z% |% @. I2 p8 Z
3 w, p" s8 K9 M1 O
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
4 x. q' }. E# D. T" W4 c: A
{
* l, W( B! x! T7 d* B
pLight->Diffuse.r *= 0.6f;
/ C" Z( e1 Y q
pLight->Diffuse.g *= 0.6f;
6 v; E$ d) w% ?0 I* O. J
pLight->Diffuse.b *= 0.6f;
6 k# o- f( J2 j3 ~0 y7 x
pLight->Ambient.r *= 0.7f;
9 [4 X) E1 e/ i( H# \+ Y. p' U4 [% r
pLight->Ambient.g *= 0.7f;
. @. T7 L7 v) H8 E) I
pLight->Ambient.b *= 0.7f;
4 o: `, V9 ?4 n: k4 O8 P. u! k9 k
}
; ?3 t E" Q1 e# j, x! [, l
' c1 z3 e& ~/ S6 Q& c" Z
#if __VER >= 15 // __BS_CHANGING_ENVIR
' ^0 v( T) M3 V$ V2 O) ]
if( g_pPlayer )
; H& l5 t( k% ^- w& O" ]6 M
HookUpdateLight( pLight );
3 f; k4 \2 V6 ?: ^* P
#endif
- U/ [! E( z1 j
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
* y6 R: N# e1 P9 l* ?
" ^3 N0 z+ O, ]
#ifdef __YENV
( c. z0 E/ @; ?. R9 ]' e4 p) Q
pLight->Diffuse.r *= 1.1f;
/ E- e; j- m/ |5 M3 r1 d
pLight->Diffuse.g *= 1.1f;
& Q( Q/ F. [8 R- |
pLight->Diffuse.b *= 1.1f;
! @ l% {( X' m
// oˉè* ??à?
8 }( A6 s& a# g; s l
pLight->Specular.r = 2.0f;
6 ?% b0 k$ c1 _/ M! x
pLight->Specular.g = 2.0f;
0 n' s, u, `' Q, `
pLight->Specular.b = 2.0f;
( G4 E2 X A" ?) b
// á?oˉ
0 s) B1 z! J S5 h4 U$ n
pLight->Ambient.r *= 1.0f;
! H) _" r b4 l1 _; |
pLight->Ambient.g *= 1.0f;
7 y: m2 o) v( P9 Z1 b3 `8 |
pLight->Ambient.b *= 1.0f;
2 s# c/ y& `: w
#else //__YENV
9 W9 s5 T$ z7 G* @; ?
pLight->Diffuse.r *= 1.1f;
9 `0 I. o- e8 R* C5 L* z
pLight->Diffuse.g *= 1.1f;
$ X9 a2 @# v5 I" b- @+ ~ U
pLight->Diffuse.b *= 1.1f;
- l" \+ Z) E( u) m! n7 ?0 Z% f
// oˉè* ??à?
2 i; a. d5 i) t4 `) }, o
pLight->Specular.r = 2.0f;
4 b% k# k0 y0 P- F. w4 U
pLight->Specular.g = 2.0f;
: d! ^8 Z7 H- |! M, l; J( }! ~
pLight->Specular.b = 2.0f;
) J9 C- X2 `) R7 i0 D8 [' c1 Y
// á?oˉ
$ w" ^. z. n3 u
pLight->Ambient.r *= 0.9f;
' ?# \% v9 \+ Y4 B2 {( P' E! U
pLight->Ambient.g *= 0.9f;
w3 A) a- B+ l2 I+ E6 s! I8 P! }4 C5 U
pLight->Ambient.b *= 0.9f;
$ k: [2 P( r1 h' I1 u% d$ A/ X
#endif //__YENV
' i1 _# e3 J7 J
; M5 _2 r+ T5 I& l+ ~3 \
memcpy( &m_light, pLight, sizeof( m_light ) );
2 |; i3 p+ ?3 B* t2 u: V* \
7 u/ D4 m* v+ E- E4 `
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
) T) U/ @2 A( i5 X6 E. W+ |% Y) w
D3DXMATRIX matTemp;
% j3 h* A& u5 i* M; `# p
static const float CONS_VAL = 3.1415926f / 180.f;
' d+ S! {$ `$ O8 _1 |' G
3 k7 K6 p G& o1 D. j
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
; v6 O: q2 ^" { u! g( X8 h4 b
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
) D, ~; c' T4 H1 S6 h& O" E
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
6 l/ V' j# u; K- Z
pLight->Appear( m_pd3dDevice, TRUE );
! I6 {+ L- v+ t+ J4 Z& I' d1 @
, _" R* G& c! I, S# S" f
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
, I+ q) {9 h) D1 E* A/ m: w
// D3DXVec3Normalize(&(vecSun),&(vecSun));
, m( T. f# q% b+ p, U8 s
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
2 e) {8 K4 u- b. S9 b4 F
. v' {, ~; }5 Z( h
DWORD dwR, dwG, dwB;
) H) }: e$ J, h6 y: \* ^; X
dwR = (DWORD)( pLight->Ambient.r * 255 );
% _7 }" c. T) R
dwG = (DWORD)( pLight->Ambient.g * 255 );
5 o' n" X7 ^7 S& P
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ ~4 S/ _. ]# o, X4 y
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
, T2 ~, T r) l. ]9 C
}
1 ]3 q8 J3 o; X
}
& ~7 S H& a+ g, Y- t2 D# }6 ]4 y- N
+ k4 S1 C% M2 c t2 }# \9 h
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
: H+ _0 x; Q6 b2 T
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) );
8 ^8 [6 k% M/ ?% |4 l9 t& E
::SetLight( bLight );
2 O# H. Y3 W& \
! ?: }1 T, Z6 f9 @8 g# h& K2 Y
// ±ao? ?D?í???ó á¤à?
+ E4 N& |- B5 x. c% w
m_pd3dDevice->SetMaterial( &m_baseMaterial );
/ D; y+ l$ c9 o
; m2 k( W$ P$ `4 n$ T1 x
#endif // not WORLDSERVER
* w. h& _5 c) e
}
/ U' L `! F4 W- y6 _" K# [
并更换
+ u/ l+ B1 |3 ~: X. o9 K. S% l, D7 u
Code:
% R: z0 S( f1 r& ^
__FLYFF_INITPAGE_EXT
. E# i3 k0 {5 X3 k) y
定义
8 x2 @* ]( E- ]) \: j
5 o) p1 ~1 \+ U$ U) n( f5 Y* \
0 s5 M9 @0 t: j! `
7 S8 D7 V6 h7 x3 c- V: o
# S- S8 F( d3 p4 R' d" T2 J
现在终于删除我的狗屁加速...
( s& I' R: D* d7 j( `
O& t3 d# |* q. H. I, |4 T9 s4 R' }
. A1 r4 H3 j7 G5 ~8 O- n
3 J# Y) G; l" T
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2