飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
& @" U) u6 i j# L2 \
尾翼:
# c4 L) @5 j8 [, w5 t; \
0 M' d9 m& a4 S3 @/ J' a
代码:
- } U" U. `' Z$ ]0 Q. I
CWndAutoFood::CWndAutoFood()
9 @' t2 F. `$ m1 P) j: q% x0 m
{
8 b( p: n" [7 |0 V# C
m_pItemElem = NULL;
6 K6 [9 D$ Y2 z1 |: X
m_pTexture = NULL;
6 y- M) z$ |0 K& w" `
bStart = FALSE;
9 G+ T: f$ K" s
}
* o+ P. s$ }, w5 h
N h& T: ]. M6 W2 j1 L0 G
CWndAutoFood::~CWndAutoFood()
( s, q) a8 ~0 b) I2 X5 g
{
5 d% p w- A9 d8 h( F' T
AfxMessageBox( "AutoFood ist gestorben
" );
V/ U) P$ i/ b; z
}
7 ^5 u2 z/ e. L1 U9 g8 j, r2 o& H* U+ w
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
2 [3 l, ?# y& ]
{
0 C% M! H w6 t( f5 K
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
, S @6 G- P& q* M+ a" n" g0 i
}
4 |% u, W2 h' s4 o( y
8 l& h) u: v1 \2 l2 S" M2 ?/ w3 L
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
4 z( l/ W* y J! t7 R
{
; C; G2 {* X9 L8 E) C, X
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
+ |2 _6 P& n, w; T% v
CRect rect = pWndCtrl->rect;
# u$ y( E2 A. [7 t9 q F8 g0 k! |
if( rect && rect.PtInRect( point ) )
! c* k- X$ ?5 Q5 }
{
& R1 U5 W- a N: K0 I T
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
, e0 ^4 _/ u' S+ C7 ~: T
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
$ {# w; R" t* q- L4 W/ H- c
{
3 l X/ u: G2 e7 U2 e
if( m_pItemElem )
0 ?9 k2 Y% K# S; S
{
5 c; O8 D2 V t2 c
m_pItemElem = NULL;
& b$ S, J' P6 V C* U+ L: \$ R# v
}
/ W7 ? a" O( g. u' u* K) Y# T# q8 O
m_pItemElem = pItemElem;
1 Z" ?0 P' o& j4 S7 ]
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
& e8 g+ M: k! R7 V, u
}else{
7 w- ?" B2 \- [* P4 K
SetForbid( TRUE );
- ^, T9 r6 [' V! _, \
}
, O" A( ?2 r6 g3 S+ `, N+ X
}else{
) B- @6 T/ w1 E0 A/ U' p4 B% X p
SetForbid( TRUE );
* S( n2 O7 h# v% Z6 e X# `
}
6 j6 W7 i7 l/ [- ^( ?* @
return TRUE;
# e4 s) N: z L$ I& i
}
8 j" d% f) o+ c1 b0 X8 v8 o( W
6 {$ k& N4 k) f6 i9 M
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
( s( g' L. O) t# Y. T
{
- o% W6 |) s( n7 l4 I/ L
switch( nID )
' Y7 ^3 F6 m/ ~% a9 q6 h3 K
{
! d! q7 H% g$ D; t. L6 N
case WIDC_BUTTON3:
* b4 l; N# j: }0 z- b
{
, W3 i4 J3 n8 j9 l5 q
bStart = TRUE;
2 u' n/ w, H; Q" F
break;
, w& R$ E6 N" [; n& j5 c: u# X
}
1 a, Z( e/ i+ {4 c c
case WIDC_BUTTON4:
# g& ]' l" H7 q) A
{
; [4 U+ d# |9 @& e# b! K0 o
bStart = FALSE;
W4 p9 y" @/ p" S$ B8 ~" W7 |
break;
- d, _( h# M/ N" ]7 S% I$ p
}
$ v1 r8 y3 m' w* z7 @' G( w9 Q) f
}
! ?/ I2 H# R# Z0 ?3 B2 Q# L B6 U
return CWndNeuz::OnChildNotify( message, nID, pLResult );
! K$ x3 p. I0 g. x$ p
}
+ ]) Y* N* _% X: v' R
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
# K$ M5 b: N- |. n& G0 U' k
{
9 n- r# w* x2 E, v6 ~ ]* T
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
& d' N$ e- q* `2 [9 e
if( bStart || !m_pItemElem )
( a2 b% S: o3 [( g3 w
{
$ W" d$ x& l O* Q
pBtn->EnableWindow( FALSE );
3 S0 D6 V8 S. p9 h% [) b# r
}else
. E, R" \0 z1 v& s# D8 O
pBtn->EnableWindow( TRUE );
^, e# H5 u& `, v/ n) U" m7 _1 }' C
if( m_pTexture )
" P7 j: F. s2 w5 M
{
$ B# t3 w& Z, x6 b, E2 i
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
( O6 R3 L, u8 e' c4 \
if( wndCtrl && wndCtrl->rect )
& ^- R- |0 P1 o" n( w" }
{
- i2 c8 N- `0 X4 i1 Y! o0 p9 a
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
& {# j A, M9 u' f: d& E! L
}
# s* I: r6 d- u/ T- t
}
+ h3 l* r2 R# O
}
4 Q0 e, a( j2 x! a O v6 x
; k4 B! }$ t5 O6 e
BOOL CWndAutoFood:
rocess()
8 N) l/ k- k; l, w- j8 u# E( M0 |
{
) t" N/ W# V) }* ?
if( bStart )
/ T6 f" _& o! t5 T$ |
{
% L9 B. `3 N6 @) e. V, X3 N
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
g$ W+ n) Z" d
{
$ q$ I6 h( n: i/ U l
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
2 h H3 _& w" ~
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
) \3 j# N6 F0 a; t! |0 D
}else{
& ^! d0 {: Q3 n+ y1 ]7 S% k; z! `
bStart = FALSE;
' w+ L5 r1 ?* ]
m_pItemElem = NULL;
) I" G+ r, y4 v5 V i- j8 w ^ }/ ]
}
; o2 N5 d3 Y# }; l
}
* ~# [/ m3 U. u$ w1 j
return TRUE;
% o" u6 G3 E# U$ u' f. R6 n' f; W
}
' e$ W! [9 n" d5 ]& s* l; X
& H: c4 U" W! G
登录视频废话:
! l+ x& Q- T% U( Z, W9 G: c; J
尾翼:
2 y9 F4 g& G# q w# l( s3 s
/ O7 k3 d, m, v
代码:
: _) f- F& ], v9 Y) W
. A: y/ p7 Q* Z( s
void CWorld::SetLight( BOOL bLight )
! M" [3 I4 B* L( _4 v
durch
& T; O1 f5 g3 s8 D/ q: p. p0 N4 o
Code:
6 Z; B1 ^0 ~! Z/ P, n, b" K* _, T
void CWorld::SetLight( BOOL bLight )
" [! a, F- L# F0 v
{
$ U- n0 n( R# c& i, `2 K7 i% K, Z
//ACE("SetLight %d \n", bLight);
8 Z- {- B* u- V# A% T
$ S7 [6 ~" L( V ], r
#ifndef __WORLDSERVER
) l2 }5 O) u' T) a) b$ o5 z& V
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
5 [+ z3 _) g* c; K' m
CLight* pLight = NULL;
) Y' H7 k' K" K5 n1 z- x8 [* `8 i0 U6 N
# O5 c/ i6 V0 r2 d
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
# K+ \5 z( |: h v! Z( ]
! t$ x! L, ]; x) m) t' s/ J: A, }
pLight = GetLight( "direction" );
1 c4 p, Z! }! M9 a& c
2 M; ?2 z1 ^" V$ ]6 ]5 Y
#if __VER >= 15 // __BS_CHANGING_ENVIR
! r- b* P7 ]1 M
if( g_pPlayer ){
/ j+ O( N V9 _. s; } G, O) N( w
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
" G, k; e5 h7 T
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
2 _" [9 u* Z/ y( K; f; f! h
{
+ L: \' ^/ n, b1 M8 E; c; S# Y: P
if( pLight )
' |+ T4 S$ t& f' j
{
+ k# r2 K& V+ _# N. G/ F
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
/ j S ~# ]. U$ c, n
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
$ Z' T9 e% s, y* o1 W( y6 b* ]
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
# `( `$ [, Q: e1 ?/ ~; O7 a9 P2 C
- e' b* B5 f3 V3 ?1 r5 D
pLight->Specular.r = 2.0f;
- h# D& r2 G, N% p ~" O! c; J
pLight->Specular.g = 2.0f;
* b9 x; C$ H3 C% a8 e) M
pLight->Specular.b = 2.0f;
1 d4 B e4 ~0 z) c7 Y
4 z, }- s8 J$ w( ]! i o
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
+ a6 ]' V# X, F+ o* ~; W2 B! _8 B
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
5 `+ Z9 }! U, R a2 j: d. F
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
2 @/ H6 k- l+ X: ^9 z. F
; n4 ^0 c7 m) L+ S3 w1 o
HookUpdateLight( pLight );
3 j; p+ Q; h$ s" R' ^
) N9 X& s3 t" z5 ^9 n, h4 ^9 D
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ d5 c( @, m' S, k3 O/ `1 m- M
8 _& C: s" J$ A# i5 l, V' ]
pLight->Diffuse.r *= 1.2f;
8 Z4 R" D* j& W( I. h' b
pLight->Diffuse.g *= 1.2f;
% Y" T5 r" P; n" g. w8 r8 `/ p
pLight->Diffuse.b *= 1.2f;
9 |3 C3 l( t, ]* Z: W% c7 @% G
! j& u. E% W5 t" ?: A7 U! S/ i3 T2 h
pLight->Ambient.r *= 0.8f;
+ r* \2 r B, g+ t$ s, }
pLight->Ambient.g *= 0.8f;
9 W1 F: }% s, e2 L
pLight->Ambient.b *= 0.8f;
* k6 O( e. y. w/ y
E& W: D+ f2 I' m) x
memcpy( &m_light, pLight, sizeof( m_light ) );
3 Y! u7 d3 I+ ] D7 U2 n* T; |
8 G \2 n1 H A* A
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
, d3 g( A* T* |4 }* S9 P
D3DXVec3Normalize(&(vecSun),&(vecSun));
- L$ L& Q: h" h) r. R
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
) C& w4 C7 L8 b( e
pLight->Appear( m_pd3dDevice, TRUE );
2 [# r. |( `2 ~- N. n/ Z: {
' z* c8 e$ V0 H: `9 A. Q: R
DWORD dwR, dwG, dwB;
, x4 I' K# T7 @) n$ p
dwR = (DWORD)( pLight->Ambient.r * 255 );
: T7 Y) U+ I2 `! P0 h3 G
dwG = (DWORD)( pLight->Ambient.g * 255 );
& ]7 R1 b) w9 \2 q5 h) J; N
dwB = (DWORD)( pLight->Ambient.b * 255 );
. m' `9 Q1 G+ Q8 E, N" x7 V
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
8 `$ ~8 A3 Q A+ G: p
}
5 k& {, @# \+ }6 N) c! b
}
* Z* k3 u$ K b6 Z% H' S I
}
, h- R) z3 O; R1 B* }
else
$ p% b: a; j/ l9 Q" \0 O7 z
#endif
/ ]/ \+ R7 ^7 h6 w# s8 E n
- K6 w5 U/ ]4 V9 l) e
if( m_bIsIndoor )
1 z. X, o5 K+ v% p+ j
{
7 T6 q1 Y" F9 _+ ]3 r
if( pLight )
1 _& f5 R3 ^% `8 c R6 N
{
I# ~" d. R% ?0 n3 Y
// à??μ oˉè*
0 R5 u5 V- ]% S( y8 p
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
8 ^7 R( h. F0 q
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
* K9 I6 @& C& c0 t$ _: y/ n
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
+ D# M% J6 x' t, w: C/ G& B
7 f7 U# N4 a* b
// oˉè* ??à?
" b" t; u! c/ s% L, H
pLight->Specular.r = 1.0f;
; y8 n- W2 \; o6 D* ~! `
pLight->Specular.g = 1.0f;
' n6 {0 c5 M, i$ S+ z
pLight->Specular.b = 1.0f;
5 u8 @8 P: H4 p. }1 f
// àü?? oˉè*
5 {/ W4 D- x5 A: n9 _) d
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
( j( q3 |0 ?% @) o5 b e
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
3 u" L' I' m2 o
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
6 l! A6 |9 g; Q y* R( b
. y4 ?5 E% s7 l) N- j5 G7 m
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
1 w" ]6 \5 G8 c, a* L- y
{
9 \' O) a; r- k$ ^0 Z L* \$ R
pLight->Diffuse.r *= 0.6f;
5 Y9 I9 F) F, a' X# d3 F
pLight->Diffuse.g *= 0.6f;
/ g% W5 F; D- J$ H
pLight->Diffuse.b *= 0.6f;
7 j9 a' ~% Q9 [7 x; c! F
pLight->Ambient.r *= 0.7f;
5 L1 [; {3 e( _4 R9 S& I
pLight->Ambient.g *= 0.7f;
) v N' D U! j, C0 ?
pLight->Ambient.b *= 0.7f;
1 p9 M) S- r! t( c2 O0 R
}
0 k: E0 K( G# w% p" {9 o" r$ S1 L
( _2 p/ b! j1 o. l; B" W
#if __VER >= 15 // __BS_CHANGING_ENVIR
2 Q% Z) L; U+ Y& P5 X! T
if( g_pPlayer )
+ M5 j$ y9 n ]! B0 v
HookUpdateLight( pLight );
$ F6 N6 Y: `8 j' P6 O
#endif
8 `. Q5 _/ j9 d8 `7 k" V
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& m1 B7 |% j# y( S3 k
# j9 F k1 ^1 {* \4 M8 p; v
pLight->Diffuse.r += 0.1f;
# l3 y! ^( W6 X: x" j' a8 L
pLight->Diffuse.g += 0.1f;
1 H& j" e$ J9 Z/ y7 K$ {
pLight->Diffuse.b += 0.1f;
4 v) C8 O8 W( |" j
// oˉè* ??à?
1 @1 }& n$ [ u( n1 U6 l! J
pLight->Specular.r = 2.0f;
: i3 W3 W9 ]8 w
pLight->Specular.g = 2.0f;
. X1 P2 t$ Q& Z9 {: I
pLight->Specular.b = 2.0f;
1 l! [( l1 b c( `9 k
// á?oˉ
) Y+ B6 E0 \0 A8 c. E5 K
pLight->Ambient.r *= 0.9f;
# g& Z2 H3 E* c9 p5 ~
pLight->Ambient.g *= 0.9f;
; D$ d$ e9 X$ x% n- b0 B4 R/ Q
pLight->Ambient.b *= 0.9f;
' _! Q! U7 c+ z% h
, R% A* z1 l. Y# O' k
memcpy( &m_light, pLight, sizeof( m_light ) );
" \1 S1 k/ _# a7 y, u4 P6 v
. C# ]% d$ c4 W% h1 v2 y
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
! H- S3 a0 \: v' @2 O% B
pLight->Appear( m_pd3dDevice, TRUE );
1 I5 _% t" w# l: L7 |: _$ O: V
% x% q+ M2 i4 q: k, Y& A. E
DWORD dwR, dwG, dwB;
5 o% V% D: a7 J# i8 {
dwR = (DWORD)( pLight->Ambient.r * 255 );
+ `) I6 G. L7 I' ]5 A& I
dwG = (DWORD)( pLight->Ambient.g * 255 );
1 t+ @# Y3 w5 H% k/ P) ?( \; l/ o
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 D; v/ \3 [5 W9 d0 g! |. r
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
' [- Z; I4 w; ~$ l4 Z
}
. d- Q. A/ A: m. ]0 l
}
' b Z" K2 {' h' k; Z" t X
else
, O! D3 e, b% S; d0 Z# C
{
% O% D$ _; e$ Q$ k+ o+ [0 j
if( pLight )
( M+ U) r; N- {
{
+ N9 L' T5 v' o, Q2 X
: {% v6 t7 Q9 r0 J: }
int nHour = 8, nMin = 0;
( o+ m' T. E6 x" e0 f* q
#ifdef __CLIENT
7 ]7 ~* h0 Q7 ]- p: [$ _1 |& }) ?
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
8 K; V: D9 D$ C; {2 C0 C
nHour = g_GameTimer.m_nHour;
7 L) G' x$ n& P0 ?+ G1 S( V
nMin = g_GameTimer.m_nMin ;
- d& d& I2 N# }
#else
9 \4 `' y R" c6 i0 s7 R6 r* G, z
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
3 M. K6 z' y* S
if( m_nLightType == 1 )
1 B$ X* a. k w
nHour = m_nLightHour;
$ G# o1 O! E M) N/ e( K* {
#endif
" k9 I+ d4 e8 y; Z o
nHour--;
% i1 q' M7 a z9 {
if( nHour < 0 ) nHour = 0;
. \0 t: K" I, r1 s
if( nHour > 23 ) nHour = 23;
% m) ^- |1 v, F4 ]+ D$ I
3 C; T5 M8 R' w, v6 R) \
//if( m_bFixedHour )
6 `$ v" T/ Q+ ]
// nHour = m_nFixedHour, nMin = 0;
" }4 _5 ^ W2 E: T; }
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
4 T8 W$ E! M8 o: ?; |
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
" o8 B3 ^/ Y- i i( ?* h' u2 s9 i
: n* a# j3 v; i
//m_lightColor = lightColorPrv;
% }2 }; u0 o8 o/ |, {7 l9 f& K
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
9 {, G6 Z. h! T1 `# O+ Q8 b3 i% [
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
: E5 L2 ?% S) |* h
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
* Q: W" B7 L: t2 V+ r* q) h
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
6 q. O1 o) m( J' `
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
2 B6 D7 M8 j2 L: y% U9 p
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
' Z, ~, F3 s; S. D
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
5 N4 [8 M9 Q- \4 T
- O) x; l* W; S3 p( n
// à??μ oˉè*
; G9 q3 y/ q* a. j. E, w
pLight->Diffuse.r = lightColorPrv.r1;
) K3 w' N' L, L* s6 O: u$ |3 e
pLight->Diffuse.g = lightColorPrv.g1;
% n+ B: A: x1 o! W+ r! e
pLight->Diffuse.b = lightColorPrv.b1;
3 h4 `, b5 r, \4 @. t% ]7 M: i8 y
// oˉè* ??à?
- P/ S8 A- J7 e" {) Q4 T. d$ B
pLight->Specular.r = 1.0f;
" b) s; N7 a4 p: T# T
pLight->Specular.g = 1.0f;
7 U! } c" p; P( O
pLight->Specular.b = 1.0f;
4 W- c0 X# I. G% n* }9 _
// àü?? oˉè*
! ]% N! U3 D( {6 C k' m
pLight->Ambient.r = lightColorPrv.r2;
# v9 z' d0 L& `4 i2 F- S, n2 P+ d
pLight->Ambient.g = lightColorPrv.g2;
& H# z4 o: z) m# W* R7 B0 r
pLight->Ambient.b = lightColorPrv.b2;
' J7 }2 l4 Y) d- Q, O; y( Y
( _7 x) p5 T! e) R9 j3 e
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
1 B' X; E% I9 q0 q
{
% ?- A$ I4 ]& P. \% k
pLight->Diffuse.r *= 0.6f;
6 ^3 E6 Y8 L( [9 i/ q. T
pLight->Diffuse.g *= 0.6f;
! h" H# c% O% c5 \* i
pLight->Diffuse.b *= 0.6f;
4 t/ q0 f# U9 [
pLight->Ambient.r *= 0.7f;
" H- x7 y9 T! l; l4 H( l( @
pLight->Ambient.g *= 0.7f;
* Z# ?( f% i# F; a3 |3 T9 a
pLight->Ambient.b *= 0.7f;
r- \* q; y% S. {# C1 A
}
& ?9 t/ T9 k- k t1 L
1 W% F4 `) o/ ^& u9 A' S
#if __VER >= 15 // __BS_CHANGING_ENVIR
3 ~. {# @9 ?, F+ y. z" @) G
if( g_pPlayer )
; P' x9 z% I& i. [2 W; L. l6 r
HookUpdateLight( pLight );
4 \1 y% r$ q* J
#endif
2 a- Y q; n' D
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 \' J1 H" O- x' }* G m. p
z& q% @$ d y+ U2 v& y8 c0 o
#ifdef __YENV
8 N2 O: ?& }8 _! B4 I2 h
pLight->Diffuse.r *= 1.1f;
5 Y6 t# T7 e) y. q& Z. b
pLight->Diffuse.g *= 1.1f;
4 X8 y2 _ A$ s% t8 H
pLight->Diffuse.b *= 1.1f;
2 e \; o: j& o, c3 p! P6 q
// oˉè* ??à?
# q0 d) ~3 I) A$ L3 x6 }" t% w- y
pLight->Specular.r = 2.0f;
1 c6 b2 E+ k3 Z& o
pLight->Specular.g = 2.0f;
" ?5 m2 n$ e0 h. l% o0 }
pLight->Specular.b = 2.0f;
6 B: [, I* B0 m2 f
// á?oˉ
4 f# ~8 }( W! a- U: I B' z
pLight->Ambient.r *= 1.0f;
4 a& |0 ~: K4 j: [ T2 V8 v+ b
pLight->Ambient.g *= 1.0f;
" y, D. f5 p& y1 s9 e+ V
pLight->Ambient.b *= 1.0f;
3 k# ^# y) k8 r0 ^* Z* s4 l
#else //__YENV
- y" e( D" c' b7 G. Z
pLight->Diffuse.r *= 1.1f;
1 S4 I: _! }9 M% e& Q: w, ?
pLight->Diffuse.g *= 1.1f;
- H$ {1 l6 l/ d
pLight->Diffuse.b *= 1.1f;
% v& v% D% t w T4 h+ r7 Y; E
// oˉè* ??à?
7 V! S0 {- R/ `9 P$ h# x
pLight->Specular.r = 2.0f;
+ w4 C: O& U! K5 W& x0 @8 g
pLight->Specular.g = 2.0f;
/ D2 v0 h& S, f7 B. Y& n$ \
pLight->Specular.b = 2.0f;
: h+ y# t+ [# w! @# h" H' h
// á?oˉ
- L& J( v* M& s4 \, `$ S; B3 X% q
pLight->Ambient.r *= 0.9f;
8 }8 Z6 Z# v! L+ f" I/ u
pLight->Ambient.g *= 0.9f;
; y1 {# s) i. n: V; R2 f4 _
pLight->Ambient.b *= 0.9f;
% O8 P( X# M# Q6 T0 g9 ~& a
#endif //__YENV
# J# _! U. e4 i% c* N
7 C$ c( l" M& N% |6 A, f/ \
memcpy( &m_light, pLight, sizeof( m_light ) );
" u6 A0 ~* E, \- e
+ D1 e! L4 k, R- P
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
% @+ F) Y& l# n. x( n# A
D3DXMATRIX matTemp;
3 D. y& b3 ?3 M/ n( I8 W* d
static const float CONS_VAL = 3.1415926f / 180.f;
! W2 b! M1 F( F* d$ ?0 r0 `
0 C8 _* i3 C. T# ?* @: F* a( e
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
* w4 I0 p. g: K9 \9 T3 ^
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
# K! g& C" E! P
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
3 I( b! n- J7 z4 |& ~
pLight->Appear( m_pd3dDevice, TRUE );
0 c' ?7 J: _& ?
5 r n5 c3 R( o7 x8 j4 o* R$ U
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
9 z! ?( _: s/ F/ x9 H) M7 j6 E
// D3DXVec3Normalize(&(vecSun),&(vecSun));
: y1 B$ e: j, c0 @1 [1 Q m( `& a- |
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
5 B4 E& [5 q0 C1 p L
# D) ]' A* y _7 n% E- k; T# X& s) u
DWORD dwR, dwG, dwB;
8 F' M- g4 V- T% q
dwR = (DWORD)( pLight->Ambient.r * 255 );
4 d# U2 a$ W. z( ~% r# K( ^
dwG = (DWORD)( pLight->Ambient.g * 255 );
/ n' u3 D/ b+ ~
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ @+ T6 O+ X1 Y5 c0 J8 M; D4 w
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
1 ^0 {+ S9 c5 y( @1 A5 B3 Y
}
# l! |5 i4 o& ?& |$ @$ f
}
% T9 x' _# s1 B% E9 J1 h7 }8 t' C; \
/ H0 x, s: @2 R
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
+ l8 f2 e/ Z, x2 e1 V$ i2 N' {0 Q
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) );
, ^2 W2 B W2 z6 e( [/ f
::SetLight( bLight );
8 B- p6 I3 z& L2 I
1 A/ r: v4 Z) A
// ±ao? ?D?í???ó á¤à?
+ d# C( _( ^9 Y3 c2 x! N
m_pd3dDevice->SetMaterial( &m_baseMaterial );
: v% x: O) u, I% x
* [; u. |; P! l3 H3 Z' Y
#endif // not WORLDSERVER
$ F5 q; F2 |: `& b
}
6 J2 u5 `5 C5 e* V7 H: R" g% g
并更换
. Z \% a9 B3 H; T4 u+ X- S8 t
Code:
7 H& d: M6 v5 b% c y/ o: q1 j
__FLYFF_INITPAGE_EXT
6 l. e5 f# U0 p9 ]2 m9 l; t
定义
* Y$ D; _/ \9 y; h1 N
$ |) c$ _5 c5 D$ ?$ ^( ^' |
! y7 C8 `+ [& P: q# |; I
3 o4 T# f' `0 x
8 g+ s: b- g8 X5 D
现在终于删除我的狗屁加速...
% [$ T9 P& ^( H5 L7 O/ j* w
* M, B* L/ g% s5 ~, b. K2 Y
5 L- ` D! u7 A
; V5 ?9 d& p! {% ]# k( V8 m! C1 v- E0 o! j
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2