飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
$ ~- ^" m' r2 v* k0 m1 l. ^4 r
尾翼:
, Q! ?3 Q8 V5 ?2 D% N
$ B+ x+ c7 @- k5 c# q
代码:
: i3 i; E4 _8 V0 \* x( b; W
CWndAutoFood::CWndAutoFood()
: V$ p4 `; t. x G% D ^% }
{
4 p" v3 g9 |6 f1 t# t# I# F
m_pItemElem = NULL;
- `5 K/ ~1 y; w! x/ a6 e; R
m_pTexture = NULL;
& L! Y! ], v P: M) c, k; W# h6 ?" u
bStart = FALSE;
' p7 ]4 u9 ~4 m$ j
}
- ]3 E4 u7 K" R; g
9 [! \& G6 _/ o- U
CWndAutoFood::~CWndAutoFood()
) `3 R. p6 q! [/ |
{
" `- z" f7 g+ T; M4 J4 O L
AfxMessageBox( "AutoFood ist gestorben
" );
5 l' f: z! L: \1 a# ]5 n( _. ?, h
}
- s c7 m# y; @7 ~0 I
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
0 M! U* ]4 {9 ?6 |. N" J" \
{
" m. N% V" I% R2 f V/ l
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
% Q- L q% E; p; e
}
o4 k) b3 H: }. L* y
5 Z3 Z: |9 J; |: x2 D7 p! G
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
) t# C% |! R8 L
{
) w8 Q* D: x) ^8 {4 L$ A9 n E; w
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
5 R& T. n* }2 I0 w; ]' i5 j5 {; H
CRect rect = pWndCtrl->rect;
8 }3 f* o$ y5 N! `# W1 N% X
if( rect && rect.PtInRect( point ) )
6 @' B; \4 e5 C% ^8 _( h: L
{
( Z$ X2 n! c2 ]# O! B& s: B: Y
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
8 \( L' S# R0 `; q
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
2 R- f H+ V* Z+ J* K! Q% o7 ~- b
{
4 ~* \- {! R& F5 D+ S
if( m_pItemElem )
Z+ m, q4 A& b! \6 k4 d
{
& r/ Z+ b% h# ~' f" y
m_pItemElem = NULL;
( D3 `+ [0 o2 E! N* r/ {/ b
}
3 K+ T6 M, E [1 T& X, h
m_pItemElem = pItemElem;
# c$ d: o) Z; \. c* p) R' p
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
" p1 ~ y' W- [
}else{
/ P- { p7 n3 M7 D) z. b j) B- L
SetForbid( TRUE );
% H1 j- M0 B2 z$ ? Y) _
}
2 U! v/ ^2 J6 j+ w7 O5 D
}else{
; s$ s; V/ h1 G9 ?5 i$ }
SetForbid( TRUE );
0 Q% H0 o! |' H! K8 Z7 a7 b
}
$ g7 J& i& j: }' x0 j" Z
return TRUE;
/ }3 {5 x5 Q: x
}
* c j. k" T; F4 u; {
- q& [ H) B' J) a- D
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
. D( F: ?4 s; Y
{
5 k+ v$ Y6 b. t4 M7 r3 I0 p
switch( nID )
& L& l- d% I1 A6 Q) d/ Z
{
/ @3 O1 Q* q; i# Z
case WIDC_BUTTON3:
! ^) h" F2 B; L( n
{
, O+ a: G. v# g/ Z
bStart = TRUE;
: \ E2 z8 a$ Z# I
break;
# W! u. ^. f' s4 o8 h
}
1 X% n+ w& C' Q' `- L. z
case WIDC_BUTTON4:
5 _" e7 j+ ~. {
{
7 R" ^4 _; a, K7 X# I
bStart = FALSE;
+ [! O1 ?# N0 E, A1 q' t8 I
break;
, N! G8 R% ^% ]: y, m/ b6 e
}
0 U- e9 S* P- ?( H9 g. \
}
# K+ |$ i( R7 k& c
return CWndNeuz::OnChildNotify( message, nID, pLResult );
( V5 @5 W+ h- ?+ X0 ]
}
, `; \( C2 c7 c# }
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
) r9 x) r2 P6 f# r" b
{
% x/ t8 R+ C6 g& G% r, {' X
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
# _+ B5 W" R% ~0 Y7 z5 s
if( bStart || !m_pItemElem )
( J Z1 [$ P1 K: d
{
8 j1 q2 _$ p$ v$ u! F6 x) ]% G
pBtn->EnableWindow( FALSE );
$ }/ `2 r/ R3 L3 O, R& c$ M
}else
, M9 ^: L: S1 J$ j5 P, X
pBtn->EnableWindow( TRUE );
7 u' w) X' n% d# I
if( m_pTexture )
+ o- _7 x% ?# E7 s9 n
{
+ g6 F% `) ]7 y5 _" H# D D0 {
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
* @* U1 R/ x( u2 c
if( wndCtrl && wndCtrl->rect )
$ W j2 F8 O0 e( T& p3 r; \
{
2 I. ^' \, ~) P% M$ Y* p$ H
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
1 l$ Y" X2 f3 @ |1 ]" n
}
9 O% s" U1 t+ x) } M* ?% |4 I
}
! x+ o6 ^7 N) M1 k& L3 J1 `
}
& Q2 v3 ~% b x( Q7 A$ a: [6 A" a
7 S8 p) H) _# q6 T6 \5 d
BOOL CWndAutoFood:
rocess()
0 I+ i6 A8 l& N0 F( M
{
! G. G6 ?* D- t5 c
if( bStart )
! i) R1 Y* U6 _* _( X& j- h4 f) o
{
9 a; g. m! G9 s- D6 V
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
4 p3 A+ Z& i: j4 g; M
{
5 T' T! O1 ?0 u$ e
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
; {/ Q9 \4 L @; @/ f
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
" P i3 N9 |% L
}else{
p* ?" V \. j5 ]$ p
bStart = FALSE;
( @* S' @1 B5 D! s9 @
m_pItemElem = NULL;
2 |- j; z0 _! i# q1 k0 u
}
# y9 s" b3 b, g& L
}
1 U) r8 G+ B/ c1 E4 [0 `' `+ H) G
return TRUE;
[8 S7 Z5 L: f& ?
}
$ q) k w5 x9 z
. n% D q' g4 y6 E
登录视频废话:
9 K9 n+ i& l& I$ k. E% _
尾翼:
3 |3 e1 R% J- j$ Q
! Z6 H% x( t! b+ s, _8 O
代码:
0 H' b; G3 C' |% ~1 C2 Z
& U: B9 V# I5 l2 J2 F
void CWorld::SetLight( BOOL bLight )
+ V5 h- c! e3 W ]/ u' m
durch
! T! V2 H: x. o* U P5 w5 l
Code:
9 a" `$ B% Z$ P- h3 Z; w! p
void CWorld::SetLight( BOOL bLight )
) S/ P. F% W, R
{
4 z& N1 ?7 u( C- ~2 h0 `' A7 g
//ACE("SetLight %d \n", bLight);
0 |# X8 T6 d ?5 M% S& T
3 v* ?+ o. a0 m, h, A+ P& n7 q& ]& C
#ifndef __WORLDSERVER
1 F1 O# J6 [( e9 T; z+ J! _
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
0 ?1 K% b! @# A+ P9 a' \0 {
CLight* pLight = NULL;
L+ w/ ?% i! t! S6 d& ?
. U2 k' @* q1 M8 P% L( W
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
! e% I1 |: y i, j; u
) y1 v2 ^* N. j5 E& k: i9 O/ `
pLight = GetLight( "direction" );
+ W1 L/ d5 D0 C6 \
7 j X' {* o( Y. ~- \
#if __VER >= 15 // __BS_CHANGING_ENVIR
9 Z H8 D8 ^/ _* B7 v. `
if( g_pPlayer ){
6 A4 Q; X9 a s. x* R
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
# ]* j( z" o8 @5 X! o
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
/ K% b/ w6 l. l/ E
{
% R% v8 W8 g- D: M2 O) |* J. H
if( pLight )
% I" B: h& W3 ^$ p* W; ~9 K
{
0 ]0 f& v; q+ H9 G# h# L; T
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
4 N6 }- ` Z' [
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
! |! C9 o; v' t4 `5 t* l1 Y6 d
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
/ y* F$ E( W+ C+ T# ~
6 ]8 T# q, ^$ K' I0 { {2 J$ U+ F
pLight->Specular.r = 2.0f;
8 K/ H, n6 o) ]4 U. u/ X
pLight->Specular.g = 2.0f;
+ A! G C+ ~2 J* M! `
pLight->Specular.b = 2.0f;
$ W$ @) H6 T, x$ _
6 b9 k8 }9 d5 V- X/ ^5 ?
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
8 I9 v9 N5 h2 n
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
2 r- x1 {# \# K' Y, M. }! a7 g( `
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
( I3 T* R `. x$ ]
. d, Z0 J$ I, ^8 G( I: P- M
HookUpdateLight( pLight );
: X- |% n4 |2 ?# N, K+ z, Y N
. R9 o% Y( G) m$ Y d5 |
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
: K* j: K' W. z9 Z; v6 u
: R0 m" R/ M; V4 g
pLight->Diffuse.r *= 1.2f;
; Y3 D- G* X" h
pLight->Diffuse.g *= 1.2f;
! V, M! H: g" b! c! M% I
pLight->Diffuse.b *= 1.2f;
, i2 s/ H% \1 Y# L& Y
7 g) J) N7 T4 S
pLight->Ambient.r *= 0.8f;
; ~5 L0 i! e6 D' F/ F# E& ^
pLight->Ambient.g *= 0.8f;
: Y! l# C0 T7 c0 d7 U
pLight->Ambient.b *= 0.8f;
* k: r/ B- V. J. D; [. ]0 I9 u% x
6 b: n; `, R& H
memcpy( &m_light, pLight, sizeof( m_light ) );
9 Q( d$ B, C8 ?; W
4 [2 `2 u( [9 I, U! W
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
* x1 Q' V8 J$ k" a
D3DXVec3Normalize(&(vecSun),&(vecSun));
7 w( Y3 B- A# H* c( ?7 ~9 s
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
) X: t/ W/ k" H- \6 i; q
pLight->Appear( m_pd3dDevice, TRUE );
/ B" J! P M/ N; s6 l3 @' e
" g" X/ F( B5 h
DWORD dwR, dwG, dwB;
- k2 O" b* _/ O" R
dwR = (DWORD)( pLight->Ambient.r * 255 );
4 M! V% k. Q- t+ ~
dwG = (DWORD)( pLight->Ambient.g * 255 );
6 Z) v1 p, l9 v. D( _
dwB = (DWORD)( pLight->Ambient.b * 255 );
( D6 D3 `: @. w; b
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- M a" X/ g9 V& B. \' b( k
}
/ s- l6 z w% X6 g6 Z
}
% _0 D' f9 b" t! q/ j
}
3 ?2 b% R y/ I
else
. C8 _& A( F+ E. ^) u8 W
#endif
+ f% q% x ?) T% P( |4 {
7 B- q N; \& O/ R
if( m_bIsIndoor )
* F/ n8 J7 A9 u. o
{
7 x9 t2 O6 n2 q) n4 B- d- o- I
if( pLight )
& a5 r3 c% s& R' {* K9 n* v
{
! Z0 t8 N L. w3 q
// à??μ oˉè*
4 w, D A* J0 R
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
& w4 ?, D- S2 ^0 r
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
7 ^+ ^7 R% Y- M4 i! I
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
- w1 ]4 w( P; I7 l3 s9 L
3 z8 C! ^6 Y6 j7 V2 i5 D
// oˉè* ??à?
9 g# Q: z+ a8 ]" u9 Y4 ^1 T
pLight->Specular.r = 1.0f;
! S3 x! B( I8 o z) M
pLight->Specular.g = 1.0f;
, ?. o: J' w* X0 p; R! j9 [2 g% D
pLight->Specular.b = 1.0f;
$ L8 `5 i) J% k" B! |
// àü?? oˉè*
7 }" J6 v, X6 g' G( [% v, n/ d
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
& t, ~, S/ P; h. h5 w- h: z
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
3 ]' q3 Q5 l7 U" t. }' V; A
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
2 ~* N, X5 t: q9 S5 Q
4 d+ o5 p( n2 ]2 I/ h9 n; e' f
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
. o. A9 \( ?# _! Y. a/ Q) W& i5 H
{
# I1 m9 ?7 t1 I3 C+ |+ u1 |
pLight->Diffuse.r *= 0.6f;
4 k% C7 f( L& ?
pLight->Diffuse.g *= 0.6f;
9 J( `3 ^% Z3 d: M! j
pLight->Diffuse.b *= 0.6f;
8 ?' ?' O) P5 y$ `* E
pLight->Ambient.r *= 0.7f;
3 m0 S$ i6 T; A" O. d0 h
pLight->Ambient.g *= 0.7f;
' f3 G2 l- Y7 S# O+ b: [
pLight->Ambient.b *= 0.7f;
7 P2 ^% g9 c _
}
3 w2 [1 o- Z' B& C
* L3 G9 [2 L& Y. u
#if __VER >= 15 // __BS_CHANGING_ENVIR
9 s9 r! ]- m2 A- }7 T( I- ?0 v: Y
if( g_pPlayer )
+ e; d' M' }; H1 Z; ?
HookUpdateLight( pLight );
; A. y% H: V Q, X- }0 |: B
#endif
: G2 ]" ?" D ^2 n$ n4 U3 `/ p
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
0 E1 [* u, l n: F" {
9 q+ i p! \' x
pLight->Diffuse.r += 0.1f;
" \6 O" F# }& z( u: y
pLight->Diffuse.g += 0.1f;
, G" J4 h9 g& t
pLight->Diffuse.b += 0.1f;
3 B% @7 |' w& H9 L( }2 U
// oˉè* ??à?
* H! j, B2 w; U: ^
pLight->Specular.r = 2.0f;
# V6 x3 o& F9 l0 W; j
pLight->Specular.g = 2.0f;
( s4 j$ z5 N% }3 P4 [+ _+ f
pLight->Specular.b = 2.0f;
3 L7 x' q5 P" z0 i6 v; Z) a& E
// á?oˉ
. D" i2 m0 y' K( G) s. ~* W
pLight->Ambient.r *= 0.9f;
+ H# l @" g* E X3 U/ }5 e/ }% D
pLight->Ambient.g *= 0.9f;
: ^7 t/ d0 F' H9 v$ L
pLight->Ambient.b *= 0.9f;
% ~+ X2 ^, G% X9 S, K
v9 _# b! C7 l( Z
memcpy( &m_light, pLight, sizeof( m_light ) );
! g: u( o+ G# ~
& { g$ P+ u3 Q3 ?! z) R
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
: ~ _/ }9 o2 Q. c/ h5 L. j0 G3 H" g# ]
pLight->Appear( m_pd3dDevice, TRUE );
& o9 J0 _; f6 \) t" E
1 C$ V3 a1 ~2 \/ `& V5 Y& T
DWORD dwR, dwG, dwB;
' {9 L3 g: `3 e: @& N
dwR = (DWORD)( pLight->Ambient.r * 255 );
~; i4 f/ H: L: n3 g
dwG = (DWORD)( pLight->Ambient.g * 255 );
N E$ f& \& U) V' m
dwB = (DWORD)( pLight->Ambient.b * 255 );
9 {* k$ q; c/ P5 X6 h! x- P
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- [: |7 C' k) z; ]7 _: ^
}
5 x' P9 e+ Y( p( j
}
( L, M( A/ Q, Q7 e
else
% \& C8 _- ^6 T" U# X
{
3 N- u& i$ E: N" F9 z3 E* I& a! T
if( pLight )
3 `% Z1 a& l# j
{
0 R& D& j+ B: _7 b2 O% k
3 K" a+ I# _+ y" N- u( c6 n
int nHour = 8, nMin = 0;
0 o4 K. `4 c/ d. B( ~/ Q
#ifdef __CLIENT
7 \/ m6 Q7 `2 v7 [0 F
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
9 X. _# c* g$ Q1 M
nHour = g_GameTimer.m_nHour;
- Z: e/ q3 P3 K/ _
nMin = g_GameTimer.m_nMin ;
. P: W. `3 J, ^" J# `
#else
' @5 N( S3 J3 x1 d% W# p
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
+ i8 L. ]9 p! t/ `6 U, |
if( m_nLightType == 1 )
& V) u9 B) e ]: E( L0 }9 @3 ?
nHour = m_nLightHour;
/ K" Z) p6 v# t8 C+ X
#endif
+ |' e" Z, x) |* g6 \% w
nHour--;
/ q- \, l' ~' R2 B, I( l
if( nHour < 0 ) nHour = 0;
! Y! f) z" s$ t) i8 E3 T# V2 Z# n; J
if( nHour > 23 ) nHour = 23;
& k! z, ~3 s- E) K! X
, o7 k8 r( U. \
//if( m_bFixedHour )
% h: D+ [( ]: a
// nHour = m_nFixedHour, nMin = 0;
6 \- p5 o) r4 v) [' k6 T4 G
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
% j- r. H8 y$ a) w$ i
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
! }' Y9 D# k1 s+ `
! m% J- `! U7 o' Y
//m_lightColor = lightColorPrv;
4 E8 I& C7 ?! N7 I5 a! b% s7 A
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
* B B0 X! W( k
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
$ \7 X: f# ?7 l N' \7 a: F, _8 Y
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
: o- ~& `: w8 H. _8 w
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
6 n: E- g" z8 U7 m1 |0 V
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
9 }% m$ ]; @4 t$ ~( t! z7 J
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
) p, |7 o U/ K6 q! w, ]% u
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
; o* J- w; W7 v4 J( X& A% ^' j$ f4 H
) m, Q0 ~9 j1 [. t" F! T1 c; v. W
// à??μ oˉè*
' J9 |7 [; P2 G$ v# [$ l- r
pLight->Diffuse.r = lightColorPrv.r1;
( B! q5 l: [- d5 ?
pLight->Diffuse.g = lightColorPrv.g1;
: u' D# } Y& c0 S
pLight->Diffuse.b = lightColorPrv.b1;
& j: Y3 e" x: C* S5 M( w
// oˉè* ??à?
" a# D9 N, b' Q+ m, K. X
pLight->Specular.r = 1.0f;
- H/ K) s: v: \: i4 P% P; p
pLight->Specular.g = 1.0f;
! F8 w- o: A' ~5 G3 n( @, R8 x
pLight->Specular.b = 1.0f;
# _- a+ I. ~: Z6 H5 T+ x/ F( d- F1 Y
// àü?? oˉè*
- n& q9 E; ?/ \
pLight->Ambient.r = lightColorPrv.r2;
3 H5 {6 x% M- i' J q9 P
pLight->Ambient.g = lightColorPrv.g2;
Z3 o% i8 i' _1 }
pLight->Ambient.b = lightColorPrv.b2;
6 M) l! v" ~( V( a0 C
2 n; U) `) w6 |4 g& a; }
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
8 g3 _( P0 X$ G' w9 ]7 [
{
+ Y0 g N# a+ S& I
pLight->Diffuse.r *= 0.6f;
# G5 P/ y6 s1 h9 g
pLight->Diffuse.g *= 0.6f;
$ C* A5 Z0 b% D* D3 Z1 i) N+ |
pLight->Diffuse.b *= 0.6f;
M1 D0 m- D( z% C
pLight->Ambient.r *= 0.7f;
* Y- c! g3 n5 g2 N% A* r# o
pLight->Ambient.g *= 0.7f;
( c- _, l: _( y) n! @; t# n& R
pLight->Ambient.b *= 0.7f;
% O; K/ }. k* `: F& y% ?, _
}
3 h) x3 ~+ F$ O0 K' J
4 E0 e: h$ D4 L3 H# f
#if __VER >= 15 // __BS_CHANGING_ENVIR
O$ A& M: ^% R: G* h5 L
if( g_pPlayer )
# I/ z5 k! d5 s
HookUpdateLight( pLight );
1 b. r8 a5 p, [% j
#endif
7 B( k- F) ~0 P8 E5 l! K
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
2 j, x3 @( ~/ }6 Q" b
+ a6 I+ A" C7 W
#ifdef __YENV
% |2 |0 ?% `8 \
pLight->Diffuse.r *= 1.1f;
. Z' k; k! n) F6 f
pLight->Diffuse.g *= 1.1f;
5 S- L2 `9 ^$ ? [
pLight->Diffuse.b *= 1.1f;
+ @7 D( F- N2 T$ }
// oˉè* ??à?
! A ^4 O+ t" s* W" n& N
pLight->Specular.r = 2.0f;
# B1 o3 [: |( ^2 ]% [
pLight->Specular.g = 2.0f;
7 @4 | o4 e3 i' Z7 U3 R
pLight->Specular.b = 2.0f;
- i( N) b# A G I+ C8 b% S
// á?oˉ
) A( A1 m5 M* U
pLight->Ambient.r *= 1.0f;
' S2 f/ y7 l; v) _& _" w- \
pLight->Ambient.g *= 1.0f;
/ ?" R! [% |3 q& i. S
pLight->Ambient.b *= 1.0f;
1 `* @2 J0 i' n P, N: r" C
#else //__YENV
3 c: R6 M1 K2 f
pLight->Diffuse.r *= 1.1f;
. N% ^+ \7 c& @
pLight->Diffuse.g *= 1.1f;
2 J" y b: p) O
pLight->Diffuse.b *= 1.1f;
: m! f9 Q- {' [" q
// oˉè* ??à?
' g- Y) [* W! ^/ K/ O# R3 K1 n/ c
pLight->Specular.r = 2.0f;
" u$ n8 ?. I, c" C4 w9 }
pLight->Specular.g = 2.0f;
9 `" z9 Q" B; L' U' Q l V0 {
pLight->Specular.b = 2.0f;
u2 x4 d& J+ s5 F1 w% f) {
// á?oˉ
* E" W1 g' J* B( z+ c& B. c
pLight->Ambient.r *= 0.9f;
3 N; ?# Q2 h; i, v
pLight->Ambient.g *= 0.9f;
0 T! H* P8 Z+ p4 q
pLight->Ambient.b *= 0.9f;
% _4 I) X' c& x5 a
#endif //__YENV
: W/ _5 ]: e6 \0 b
; X- L( [% k; n( [
memcpy( &m_light, pLight, sizeof( m_light ) );
$ W7 X7 K; H _0 S4 T: x
- M$ b! Y/ ~$ g. m. L
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
1 q6 c9 [ y$ [8 I/ n
D3DXMATRIX matTemp;
5 f5 }4 q% O9 w/ T1 ^$ ?+ _
static const float CONS_VAL = 3.1415926f / 180.f;
* Z( l$ |+ P# M7 |! C: A
' t3 {$ l0 s, z$ P
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
# ]6 t* `0 b9 B# q% Z" s" s
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
2 a6 s& ^/ V% ]
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
% U3 M& @% D" z P l, _
pLight->Appear( m_pd3dDevice, TRUE );
) g3 b5 J: E5 U& X5 F4 O: @' L0 d$ b
. f. T- y$ ~! ^4 L
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
7 z" {1 r5 s+ E
// D3DXVec3Normalize(&(vecSun),&(vecSun));
/ p/ h$ X! W a7 o) W
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
& C) O6 B: _+ f3 m
6 t; f, s2 Z3 X2 V* ~
DWORD dwR, dwG, dwB;
% ]5 b/ c1 \( n* c% Y# q. ~
dwR = (DWORD)( pLight->Ambient.r * 255 );
* N" f( |- o3 z
dwG = (DWORD)( pLight->Ambient.g * 255 );
' X, ^, M7 j1 I5 }
dwB = (DWORD)( pLight->Ambient.b * 255 );
3 F; O4 z& b; N- p6 C7 h
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
7 @, H% i* L- y0 y. r! h# c
}
# W0 J/ p( ~; x
}
) w! b4 ^, F/ H: D4 s1 L+ p8 D
, Y) K$ I& u/ u+ d
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
, W, J9 Q( e/ p; I- i( S2 M1 G
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) );
$ x* d! m/ b" \) @
::SetLight( bLight );
) W' M0 i2 ]2 ?; s8 l( ~
7 ^. j; ~) g3 K- t/ @- n; C
// ±ao? ?D?í???ó á¤à?
8 i7 h, N2 H2 T: U, S* |
m_pd3dDevice->SetMaterial( &m_baseMaterial );
! A p* s' P* {5 J3 x; L
/ q( I! g5 I# g1 ~. c% q6 s+ P
#endif // not WORLDSERVER
% G, t0 s1 l! [0 ?# e: h* U- \
}
+ m! W2 A* H& s
并更换
# |1 x) H2 C8 I8 j
Code:
: m7 m, m# V( o( z/ h3 E$ s9 m
__FLYFF_INITPAGE_EXT
) z7 d* e5 _ |9 O$ k$ T3 {6 [
定义
$ W7 r7 H! B! R W0 F. j, |$ M
* K7 z- M9 s! m
1 z0 }) G2 {# D/ u& b, T- r f
, k) ^3 _0 H9 a4 q2 G
. O3 j4 |/ M0 N9 z2 m, z0 a
现在终于删除我的狗屁加速...
( t' k6 x: E& Y! D( W' D2 o5 e+ H
$ ]3 F) ?. J1 {" p
1 |6 B0 _! G# M- L& V4 x' E0 w( b
! d1 N; c+ w) M* f
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2