飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
( x: c% @" I# c( `# n6 E5 I
尾翼:
# L7 Q$ ^( v/ {# ~# ?+ k; L
[3 C; F% ]: E, @) C+ Q
代码:
* d% l$ v4 ?! I3 {
CWndAutoFood::CWndAutoFood()
9 a$ z p$ l! r, Y! z3 U @
{
& V7 y! I' l V. N9 \1 ^$ L
m_pItemElem = NULL;
& ~3 ]+ T! Q5 d& l! j
m_pTexture = NULL;
: b; x# | L- i7 v/ G& A9 e
bStart = FALSE;
$ W P) h. Y; U! y" z+ |$ s1 ^6 d/ q
}
! L$ n' l' t2 \
q, i* n' K3 b
CWndAutoFood::~CWndAutoFood()
' t, `" v) R7 v: U4 x) }7 Y4 ]
{
) {1 Q {- Q4 `8 P) r' t
AfxMessageBox( "AutoFood ist gestorben
" );
- _* ]$ p, I/ P' m0 F
}
: D* ?4 G& d; N, a
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
- P; e$ ~4 d; J c& |
{
# h* A- w6 @! y& v
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
# N# G7 J8 F4 g
}
7 [1 j2 X1 {3 u: A# h
1 q- ~- e3 [" k! u
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
) Z# I% J3 E, C: y
{
! p( w R$ p& A' w4 ~* o, _* l
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
5 X3 p, g. U" U$ {0 x o
CRect rect = pWndCtrl->rect;
: G' _. A! S! @) R: {$ f
if( rect && rect.PtInRect( point ) )
: K' c: L( r! v4 m* C/ K2 p. f1 s1 l
{
' }4 j5 X% S9 b# L
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
! q1 l; ]. \3 i9 M1 ]
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
" _+ t! b+ p; Z# `
{
" L9 Y5 F% l2 }
if( m_pItemElem )
; t0 C: ?% k8 @* w8 d1 [
{
2 {3 s8 m: w; m! k
m_pItemElem = NULL;
R+ G: e! q& m8 c
}
' v$ \* U1 q4 K l6 y F3 l. h$ @0 q
m_pItemElem = pItemElem;
7 p4 L. t9 w; G5 v$ r7 r1 s( ^
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
! L# G3 _8 g# Y2 h3 K
}else{
9 `* n& q+ | y9 z! q% N
SetForbid( TRUE );
4 _/ i; C. i1 z, H6 @
}
1 H; W: L+ H0 H: f
}else{
4 V, S& t' T$ j
SetForbid( TRUE );
% Z7 R. a6 L8 h ^' }$ W0 O
}
1 i2 n8 L F0 ~
return TRUE;
2 ]) }/ {' o: r( ~! r8 T
}
" ]8 A) f' ~0 k: k6 X
( F* W2 I) n }1 Y$ B
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
+ Y% \* p. c0 D/ g% S, ^- U F- z
{
" O V; [% q9 O; U$ z2 Y
switch( nID )
. m' O; |" }" M3 E3 q) U
{
& d8 E4 H1 a( T& c8 }- z( O) L
case WIDC_BUTTON3:
$ }9 _7 U% i! B
{
6 Z6 i! P% S% D* y! z) [
bStart = TRUE;
1 K6 k4 q- C y4 x
break;
+ b1 B+ I' m3 ~4 S3 P: y
}
# H% s* ^) Y5 o1 y4 k2 ^
case WIDC_BUTTON4:
0 Q, o2 s* m$ D3 y: d4 N
{
* j, _* `/ w' P) S; b) g( v {) q6 V
bStart = FALSE;
4 C% S3 H0 ^' C
break;
7 d- l6 l) ? v: X0 x6 Y
}
, T( N/ @5 v" A' }
}
F8 [$ B/ I! s# L
return CWndNeuz::OnChildNotify( message, nID, pLResult );
* L0 W# G P- N4 {) t% F0 f
}
) Z0 G7 H, E" } `5 I2 m
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
. P: a6 I8 Q" H' _2 I
{
, x* n" b& ` X6 G
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
; c/ k5 C8 }% X# b, I8 n5 Z
if( bStart || !m_pItemElem )
$ H8 u3 z- G" P9 v7 O; Z( ]
{
g' a/ L7 w4 \% X. y
pBtn->EnableWindow( FALSE );
. ~6 a6 Z0 w3 e, R1 \/ `
}else
/ \4 N3 b. V% o. p
pBtn->EnableWindow( TRUE );
1 n8 o& z) X* I, r6 b: Q: ?. k. \
if( m_pTexture )
1 O7 J; l% \" o: F& a1 f
{
! r8 n: L3 m0 g% J# Q+ G7 B
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
% Z* q1 G7 u+ x, ?9 `+ p- }" {3 O
if( wndCtrl && wndCtrl->rect )
5 f' T' @& Q* b+ E" c
{
* W( @2 B- O' ^* G0 E+ u# o2 P% o L$ I
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
! r: D, V# n7 o
}
7 S0 ^# C( R {9 j7 C! A& k
}
8 s" c' h8 O, [1 z: _8 ?5 M
}
+ m7 w* F$ c( [& T+ l
) K% [3 W* Z5 ~
BOOL CWndAutoFood:
rocess()
! _5 t+ [6 |/ R, T7 V9 Q& }
{
$ o) I% ?8 X, I8 U1 e
if( bStart )
9 h; }* [4 B6 ^ L" I2 x$ |
{
0 E+ C0 L: F6 X
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
' p+ x3 U" @2 ?; t8 L8 s4 q* L
{
, h4 [, r2 G) V" c+ O* c% E. q, T
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
1 X$ a9 x' ]& z. R- }; K1 \6 w5 p6 P1 W
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
5 u9 I: _! P$ j+ e4 o) h
}else{
' T' ^5 l |# M9 T' L
bStart = FALSE;
8 x' I5 L& v$ r' G0 S; X
m_pItemElem = NULL;
' Y7 F# N2 S2 r+ B6 e, [8 c: D2 j
}
4 R$ `1 ]( T, `2 a9 V" Z8 Z( @
}
3 T1 o& q- O2 u( L5 G. x
return TRUE;
% O+ y* {# Q8 l2 z: N; q5 u
}
o5 n2 [$ F. H9 W4 T' l
" h4 f6 I2 C* D }2 ~! S
登录视频废话:
. I, `! A: R2 \. d8 {& b
尾翼:
! ?' H7 b: u, t/ u8 U+ s
$ Q# [' u' K) B- D
代码:
& z+ g7 z% E8 w- T: l4 C+ y
- E" ~" k$ e6 K, s! |
void CWorld::SetLight( BOOL bLight )
" S% C) U8 f# g
durch
' e. d: N X( l/ T
Code:
+ p& L% M0 g s; v0 f6 R8 S
void CWorld::SetLight( BOOL bLight )
- n: y$ y4 f' Z7 t) J" k
{
- z. e m# |* C' C4 @ @
//ACE("SetLight %d \n", bLight);
2 b8 e, g* B7 _, J
5 y+ {" B! `" B
#ifndef __WORLDSERVER
. ]% S+ h3 S" M1 Z5 p
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
* q+ k( Y( y, p, ^+ {
CLight* pLight = NULL;
j9 F3 ?2 M J0 D
4 @' a3 o/ Y' x% Y( E
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
6 G8 q+ [- Z4 R4 O% D* V
$ |; N) J" [. F( y5 I$ S5 D9 n% V
pLight = GetLight( "direction" );
) P+ s; v0 c& g' b% V/ ]
I" w' [& o) _) Q& B( o
#if __VER >= 15 // __BS_CHANGING_ENVIR
' Z# X- Q6 [9 A" ]- [( f
if( g_pPlayer ){
& k) u U5 A, p: M y7 w0 m
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
3 n& {6 P2 `7 O( W. W m6 S5 {7 v
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
! @' k$ O: b/ r
{
" ]: @) S+ ~$ u# _' ]; l! D2 J( e
if( pLight )
4 k% M9 J" r7 [& g! W& c7 u
{
$ J6 K) ~7 e6 `, E; h8 v
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
" N; l6 |, q. L( a0 \8 n4 z
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
: q2 n; a/ c3 {! ~& G
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
+ s" K% x# B* u! K' }
. B7 R6 t& l" S, n, L: H- e; |: _
pLight->Specular.r = 2.0f;
0 _7 d/ Y1 B/ c1 s
pLight->Specular.g = 2.0f;
, b& G8 c# O2 m. B
pLight->Specular.b = 2.0f;
6 q0 }' O" a5 D& E9 d" I5 D. a
# v- y; S# x6 o! O! P$ [- z7 k
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
/ R" v% s4 p) }, J$ @5 H
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
, ]* q3 x+ X1 [- w
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
2 f" O& e0 [" I! Y* @8 x
, s, y7 W% S g, M( }$ ~! l: W- Q
HookUpdateLight( pLight );
) @/ j2 A- I1 V2 R& ~4 C
9 P D. R7 S- a* p" ^1 o
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ ^9 y. Z+ F8 S9 t d: t: y8 h8 g# z1 \
5 I X$ G' Y. n1 F" T
pLight->Diffuse.r *= 1.2f;
" x0 G# @5 v0 F+ e
pLight->Diffuse.g *= 1.2f;
: @9 Z6 Y) [0 K1 n, b
pLight->Diffuse.b *= 1.2f;
* ~2 H0 a; C/ D9 |! l
0 c* [8 n ^: V) H4 b) w( X5 m6 a
pLight->Ambient.r *= 0.8f;
2 p: [% M6 C1 K
pLight->Ambient.g *= 0.8f;
4 C% j; ?4 h" k! _( C8 Z$ L1 S
pLight->Ambient.b *= 0.8f;
7 Y* R5 a4 ~& i0 U
2 T* P4 B! W: i% I! `% o; l& v
memcpy( &m_light, pLight, sizeof( m_light ) );
: q* ]* @3 ~, O1 a. {: u$ G
% k% I+ K4 Z, j
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
4 d N7 s, q) \: r, a5 I) U
D3DXVec3Normalize(&(vecSun),&(vecSun));
7 H0 ~! c+ ~" H* o# i
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
7 P2 C0 P1 t! D& @. C o2 F0 B' W( `
pLight->Appear( m_pd3dDevice, TRUE );
) E3 M& l; L( ]; Q9 l
7 _' \ G, C% N; W$ ]5 h0 d1 [
DWORD dwR, dwG, dwB;
, O7 |1 b+ {! Y. F( q
dwR = (DWORD)( pLight->Ambient.r * 255 );
' |& N+ N+ A! T
dwG = (DWORD)( pLight->Ambient.g * 255 );
]8 b3 ~! n+ ~' K3 C4 D
dwB = (DWORD)( pLight->Ambient.b * 255 );
5 F" d$ W3 Q# D
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
+ n* P" \& M% d5 B
}
6 M9 P" R3 n/ k/ h5 t
}
* }2 }% F; |' M& |2 x
}
* O \7 Q' L& U+ g: O) j2 D
else
- z y9 h! t' {/ \5 G$ ^
#endif
! H6 l4 n( ^$ T
! a: {4 x* h& f; `* h7 L
if( m_bIsIndoor )
. Q5 `- \; G, s
{
7 ~4 ~: _# T* o7 X2 A
if( pLight )
8 }7 @: }6 q5 o3 G
{
0 m6 C: P. g7 D" g3 {7 V, r
// à??μ oˉè*
: L/ [( {( v, k/ v
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
* i% C; n6 X, I5 p( b
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
+ Q0 C+ m# Y1 n) F/ w/ T" n
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
/ k( M# q3 T' A+ d/ z, E
* P0 O! J, N# ^" A
// oˉè* ??à?
( U _' U4 f8 v) \# w
pLight->Specular.r = 1.0f;
. m s0 d1 ~% c2 y7 Y; h1 r
pLight->Specular.g = 1.0f;
; h( P. U( |5 M. C
pLight->Specular.b = 1.0f;
) h' H2 G! t5 h3 W3 P) O
// àü?? oˉè*
; t7 z, Q: P% R, m: h
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
2 j5 n9 a! z% W1 \) `
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
2 F+ X1 \2 L7 ~" L' \% C6 o% F
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
$ q% y" o1 @3 i( V. v0 n) B
( r% L0 F8 b) Q* K
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
+ `+ o2 u1 M4 R- ]$ D3 W- C
{
) }: ~6 y; h0 B/ C% x4 s
pLight->Diffuse.r *= 0.6f;
9 H/ m0 J) i! w H5 ?8 `6 Y" s0 Y
pLight->Diffuse.g *= 0.6f;
1 p; H6 i9 M% z
pLight->Diffuse.b *= 0.6f;
* k& L' s8 |5 S- U# _
pLight->Ambient.r *= 0.7f;
2 [4 a5 w$ j- E# t
pLight->Ambient.g *= 0.7f;
; ?) R8 b5 R: k8 }' l
pLight->Ambient.b *= 0.7f;
7 p+ z! z# H9 B+ x& b
}
% K# a M& I7 K* l# c* h1 {* I
4 T( E! W3 X) W. Z# c* n
#if __VER >= 15 // __BS_CHANGING_ENVIR
# b( v) v E3 @: u( m
if( g_pPlayer )
' f- Y- U% e0 `' y4 z
HookUpdateLight( pLight );
2 ?. @% }; Y0 e0 Y o g7 P
#endif
, w8 a! v) X3 O( r; h
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 F+ t" k6 F4 w0 r& J
+ B f* E2 M$ v; e4 `: M* H
pLight->Diffuse.r += 0.1f;
( K2 K; z/ i6 h& k' N
pLight->Diffuse.g += 0.1f;
7 b2 {' V1 L0 y
pLight->Diffuse.b += 0.1f;
7 t$ w2 m6 V6 r# s* M- o
// oˉè* ??à?
; g1 f, X/ G# O' ~- G* w
pLight->Specular.r = 2.0f;
( i# `$ W( c( D7 i) S1 g( S
pLight->Specular.g = 2.0f;
% M0 ^ e- A/ V9 R
pLight->Specular.b = 2.0f;
7 T( F9 y" ?/ g6 ^
// á?oˉ
/ S; A. X+ X- | L5 o
pLight->Ambient.r *= 0.9f;
, V( r+ q: s, E8 @9 ]
pLight->Ambient.g *= 0.9f;
+ j2 C6 @. B( B5 M q
pLight->Ambient.b *= 0.9f;
E1 m( g/ g z9 K+ U
& k8 M( a7 n& W% w4 p6 ?
memcpy( &m_light, pLight, sizeof( m_light ) );
3 ?2 @1 C1 v* h/ D
8 M3 I, }# i: G+ Q- d! @) E
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
+ ?% T! I8 g# ?/ w' x0 J9 j
pLight->Appear( m_pd3dDevice, TRUE );
2 }1 O" E; ~+ v }* J
: q" j) \5 @4 {2 o8 j* k& D
DWORD dwR, dwG, dwB;
7 d. V9 o% v6 `7 U4 t- c8 }
dwR = (DWORD)( pLight->Ambient.r * 255 );
$ w1 g5 }6 V% X& X
dwG = (DWORD)( pLight->Ambient.g * 255 );
+ ?- s* ~ h1 K) A& v( Q
dwB = (DWORD)( pLight->Ambient.b * 255 );
6 G5 g( W# U" b+ L% A9 P9 t
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
6 J% g$ u0 g7 ~7 W- m
}
1 I) g3 M) e$ V7 \
}
$ M6 R6 ^, e* v8 k7 v& R3 f
else
' v p2 I+ W. k" r, M! |* e
{
E4 a! ^2 m* ?2 Q+ g( h3 R
if( pLight )
9 ~6 @4 H# u2 Q) y' z) y6 c
{
9 ?: L4 o/ \1 m9 ~
: |$ O( D# B6 v; D2 C3 Q
int nHour = 8, nMin = 0;
! j5 K6 D( |: t+ T
#ifdef __CLIENT
5 S6 t* R/ H$ l9 ?
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
! q# M% ^- o K: M8 K
nHour = g_GameTimer.m_nHour;
3 d. V+ `' D& n4 l4 z
nMin = g_GameTimer.m_nMin ;
" z1 ]% w; |1 R& G& C, u6 Y
#else
9 ^- O3 U; g% u* D
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
( w2 c, @3 G, M" a" w( ^( G. Y
if( m_nLightType == 1 )
3 S k5 D+ f% m
nHour = m_nLightHour;
- C, g1 g Q" z ^, d/ ]( Z
#endif
' D0 A1 l* z- H& ^
nHour--;
X# g9 j4 R4 e- b8 G5 l
if( nHour < 0 ) nHour = 0;
' H. S8 @4 Z7 c+ |+ | s
if( nHour > 23 ) nHour = 23;
- v7 ?, {" e7 k: W O0 U, T
' K& x: b( X1 B( S- c, f' y; V/ e2 @
//if( m_bFixedHour )
7 H0 @3 Y; S! v4 v& `$ q/ b8 _
// nHour = m_nFixedHour, nMin = 0;
4 P+ F9 z" b* z, m8 y1 Z8 ^
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
g$ _1 q1 b1 Q1 |2 _
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
$ ?: E" ^0 U) D
/ x' G, _1 ^3 V0 r
//m_lightColor = lightColorPrv;
|2 A- s/ ~ E, m$ h X# z1 t
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
, K( K( _( M* @* b/ p
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
! V! p5 K" F; P$ v z
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
% F, _* Q+ S& X( E) a1 ^: O
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
1 P) d5 r1 C1 ]. l4 t3 K6 Q
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
' {: `# C: z* x" X) N8 T% @
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
9 Z6 t& N* A: s( F2 b' g/ Y
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
' o3 J4 I' z6 ?! o- o/ o$ z/ b- U
1 k0 E& W+ K9 L, C6 C+ t
// à??μ oˉè*
% p2 v/ C' E8 t" W2 ?
pLight->Diffuse.r = lightColorPrv.r1;
3 {: q- F2 I( @- _. A3 v+ ] ]' l. h
pLight->Diffuse.g = lightColorPrv.g1;
$ R0 S' _1 i+ g1 }$ h# e
pLight->Diffuse.b = lightColorPrv.b1;
7 A0 P% V% T/ I, ]$ Q1 s& K) F8 b
// oˉè* ??à?
& p3 q* M& Z/ [' r3 t
pLight->Specular.r = 1.0f;
; n9 ~& T9 A+ ^/ {" ]# d+ n
pLight->Specular.g = 1.0f;
O, Y" W0 g: U8 f$ [5 p; C1 R4 X
pLight->Specular.b = 1.0f;
% y5 u" j: G; k- d8 w* Q
// àü?? oˉè*
- v; J6 t1 k4 Y% T( G Q
pLight->Ambient.r = lightColorPrv.r2;
' e% M+ U: a/ l' `' M& A0 [
pLight->Ambient.g = lightColorPrv.g2;
9 i5 b6 `! q* N. t
pLight->Ambient.b = lightColorPrv.b2;
t1 \* d) g# L; Q0 M: ~
; s! l ]3 O! o9 |1 K
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
7 p y9 g4 d4 ]+ D
{
5 {8 h* }( p. t) z
pLight->Diffuse.r *= 0.6f;
! p% }6 A n# P* V+ U' _
pLight->Diffuse.g *= 0.6f;
0 F' l$ L2 N2 K7 h
pLight->Diffuse.b *= 0.6f;
9 K# T( R3 {6 ~0 \8 e6 N
pLight->Ambient.r *= 0.7f;
2 }3 r" {* Y; e( Y- I$ |
pLight->Ambient.g *= 0.7f;
, ~! N: A3 H' Q+ U+ G
pLight->Ambient.b *= 0.7f;
# C8 J: f$ Q& @# t
}
( l8 C8 A. w9 j, f F' L
. j8 U* [2 X; u, c2 u: n4 x4 I$ p
#if __VER >= 15 // __BS_CHANGING_ENVIR
: x4 Q N" g) ?$ U. V& j
if( g_pPlayer )
5 D. H. n! K7 J0 f
HookUpdateLight( pLight );
4 z! M; d' c; T
#endif
" L/ f8 Z/ _: N$ L$ g/ J
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 \0 g3 U$ V( L! H. W4 ]* {9 s: Q
# O3 r; ]. J& }- o
#ifdef __YENV
& S+ }2 M4 Z3 b8 ]" r1 d4 z3 x6 h& B& s
pLight->Diffuse.r *= 1.1f;
( z& ^" B+ V' c! e- [/ [0 n
pLight->Diffuse.g *= 1.1f;
. ?4 F. g% A6 A( u$ B
pLight->Diffuse.b *= 1.1f;
6 N- i8 g5 s, ~ c& t$ R5 \: W" a
// oˉè* ??à?
2 {. h: p. `8 _4 i5 m. O
pLight->Specular.r = 2.0f;
6 n( v8 u |; {8 Z: [. K0 ^+ g
pLight->Specular.g = 2.0f;
t; J4 G' n# Z! ]
pLight->Specular.b = 2.0f;
, m4 b1 Z$ R7 d E# W" U
// á?oˉ
~( H; }2 C$ l% Y! K! U: ~
pLight->Ambient.r *= 1.0f;
) V3 ~: t4 f! o! s# w
pLight->Ambient.g *= 1.0f;
1 r5 t& a' @" M6 H) E' \
pLight->Ambient.b *= 1.0f;
: y3 l2 q( p: v$ @
#else //__YENV
3 \2 V* F3 e1 {2 ]/ A5 D: r
pLight->Diffuse.r *= 1.1f;
5 i6 T& r6 o8 S* `4 H% T& C
pLight->Diffuse.g *= 1.1f;
* n( \. ]2 Q1 u J0 l
pLight->Diffuse.b *= 1.1f;
1 K) X, p8 X6 |1 X, v8 V
// oˉè* ??à?
& B: Z/ P0 ~1 O/ `$ R
pLight->Specular.r = 2.0f;
$ ^8 ]7 g' y3 a7 }
pLight->Specular.g = 2.0f;
3 I8 c* @9 x+ z- Z" u0 ^- p' |
pLight->Specular.b = 2.0f;
) [8 I+ |8 L/ B7 U0 @; X
// á?oˉ
: G4 H$ I1 S+ W& M
pLight->Ambient.r *= 0.9f;
/ c, |3 L+ F+ r* P
pLight->Ambient.g *= 0.9f;
+ T* F; s' V% `9 t" T% D: }, n8 @
pLight->Ambient.b *= 0.9f;
, m1 p! t0 [' b: M5 e
#endif //__YENV
& S! ]$ e. [/ S" Y8 r
7 ]$ Y; |4 t0 S
memcpy( &m_light, pLight, sizeof( m_light ) );
3 z! M1 d. u0 @! m; k. R' ^
- f5 X, H7 R0 Z) K: W
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
' C( p7 [$ q: V" z
D3DXMATRIX matTemp;
, K8 e, C# E: a, f
static const float CONS_VAL = 3.1415926f / 180.f;
& [' h8 L$ G8 z/ L) [, E5 v
4 s/ d6 j3 q$ n0 f$ j H% A
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
7 ^1 h; A; O! s- ?4 J3 n- Y" o' X
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
x' Y- G" a% z q+ G% m* I S8 r
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
8 Y4 S$ [. R7 v
pLight->Appear( m_pd3dDevice, TRUE );
+ ]( U' h. B# v
/ [2 Q% F; K! T7 F
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
8 b' g+ ]6 G, \
// D3DXVec3Normalize(&(vecSun),&(vecSun));
% @% N4 Q! d- {" L
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
r" z: P: x. }2 e/ ]8 u
' s: E2 Y; s- m5 \- a
DWORD dwR, dwG, dwB;
* }" v/ F5 z- A1 I2 m( T
dwR = (DWORD)( pLight->Ambient.r * 255 );
8 G; i9 G; }1 J/ k# M
dwG = (DWORD)( pLight->Ambient.g * 255 );
3 M* e1 M1 H% Y4 Q8 M+ Z) J
dwB = (DWORD)( pLight->Ambient.b * 255 );
. h4 C0 o9 q6 X0 f
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
7 m& V' V! Q: [- ^! f, E$ _! R }% T
}
% L# a$ }# k3 s
}
( E% X1 s; r: y9 r8 F) }/ i/ m9 U
5 `( A/ k4 z4 y
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
5 d6 p7 Y8 v8 A7 c. W X+ J
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 p# F& P8 b5 g& J# v! B
::SetLight( bLight );
7 ?& `* ^) D7 d2 v w, s
4 W: f4 I6 g) Q$ w2 Z
// ±ao? ?D?í???ó á¤à?
: `( c' v, U2 D% W0 ^/ [3 v
m_pd3dDevice->SetMaterial( &m_baseMaterial );
+ o6 M" n* [* F1 C2 E
( f; F7 c1 v, ]! ^! K
#endif // not WORLDSERVER
9 i% w% H( V/ O; t( F5 y, n9 }
}
% T Y2 ~- R4 U4 s
并更换
5 G/ v+ H6 h4 R$ h1 Q: V
Code:
: E4 J! D+ N' ?) `! `( @
__FLYFF_INITPAGE_EXT
: T, C( n! e! E/ c( L2 c
定义
' m- ]$ @# H* l% u. Q' I4 G t
& M s, s- P8 I, p% u
. F5 |. X2 j. ?6 O' d$ ~
4 J" T% e0 ]* D$ Y
) Z6 ~; v* w& E) o- V; b% Y
现在终于删除我的狗屁加速...
* [$ M" U( c* C1 V6 Y# ~+ t4 O
& ~$ R/ \6 d8 g
2 c1 G2 A* F( r& a5 Y
' q1 B& Y4 j4 }( u2 a4 n
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2