飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
6 m* u) y: T4 e# l1 `: }) W( T
尾翼:
" f7 e4 w4 u4 @) Q
( t4 {2 S3 H. ^+ Y9 r4 q K
代码:
/ g: P( @5 u. `: e
CWndAutoFood::CWndAutoFood()
5 L k7 F3 R, P' r! ]; \
{
& i% p5 M- N; k% E1 D. G
m_pItemElem = NULL;
1 F% y, ^; _0 i O; @3 l
m_pTexture = NULL;
# Q0 ?/ j) C; B) g D! R" U
bStart = FALSE;
3 R: e; j( D |" ?
}
# J6 Z! N& g, O+ n! W; M
. [- ~! c/ A6 L+ M' _
CWndAutoFood::~CWndAutoFood()
8 B7 Z) Z& T' n. ^( u- _/ b! i9 U
{
' [+ F7 @& ]) o$ b+ j
AfxMessageBox( "AutoFood ist gestorben
" );
, g+ E, I; {! i4 U$ L& y( n
}
, r3 l' K8 f& N# }3 B; r
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
" [4 s8 T! b: w0 D
{
% |. S2 s: ?0 x. E# Z% K# ~
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
6 n0 s* A d0 l+ L$ @' d
}
0 J: o. u$ a7 @
6 p# N* P: H9 d0 Y- p& d( p/ U
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
X/ C6 o) e8 [& ]
{
, A o3 O2 k9 i& p z
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
7 Q2 m# M5 _* z6 W* q x0 w
CRect rect = pWndCtrl->rect;
2 `9 w% R$ N6 F& I4 A8 Z
if( rect && rect.PtInRect( point ) )
1 v: s4 H0 x u9 B
{
0 \* I1 b5 I: J2 X- r
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
5 e' {9 X' @9 J: }3 T) o2 M
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
- q" w; p$ H" L
{
7 A+ N- S% i; d' J2 Y
if( m_pItemElem )
7 |1 L) L [; {* U5 [/ A8 w
{
3 I# R+ [, B. P$ j5 l
m_pItemElem = NULL;
9 Y* Y& S# b4 A: W# \/ E5 q) f
}
9 f$ @% q5 U$ @! J, S
m_pItemElem = pItemElem;
) c" f/ d) @+ u
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
: U8 V ^5 d8 X9 \: ~
}else{
3 k, o: R" g8 M2 x6 ~
SetForbid( TRUE );
. {& s1 t& E6 V
}
) Q$ U3 L% g8 |/ q8 B( i/ P, l
}else{
7 O b" w; H& h: U* a5 e1 f4 S: {4 u( g
SetForbid( TRUE );
. w; G9 N$ f7 j8 d9 O2 Z
}
+ f" Y6 o! @8 m& D1 ?& p ^4 C
return TRUE;
0 ?% v( ]* Q3 {3 i0 Q7 N
}
( ], y: [3 N, y
1 T2 r3 K4 x- h+ _* _& [1 x
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
8 y# P6 L) l2 R, d4 l
{
5 M, h, D1 n1 l1 k$ _! V) |3 `
switch( nID )
# k. C8 O; l( n& ^" t
{
5 l* r$ U( a# ^" }* N
case WIDC_BUTTON3:
" x# @1 ^& v& d5 r" l
{
; b4 r" R) x% X" k7 P2 U" ^
bStart = TRUE;
9 W: q" c* ?: h/ b3 L
break;
. b& S; M- k( R" ^
}
& a" A: A. Y/ E1 V
case WIDC_BUTTON4:
: h5 V* \" f: U Y3 D( S
{
. M7 F" m' @5 e( f3 y2 |
bStart = FALSE;
7 e1 U) v0 a* x* K* t% _
break;
0 O. n( D- [4 m, K5 x. m( m9 D
}
, m5 R% t$ x6 `( ^7 K# A
}
7 _* Y3 Z; c6 z/ A q
return CWndNeuz::OnChildNotify( message, nID, pLResult );
V$ n# ]. U4 ]# h: E. t
}
+ H. o0 i$ W2 ]- \) E) K6 b5 [
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
" p. b% J* c L; d6 ^. H
{
* O9 R2 N( A7 h0 G9 b% b/ s. F
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
* @9 h0 o% p; N! F9 b) T- U$ |+ r- e
if( bStart || !m_pItemElem )
& f' E( }4 v7 z
{
) l" {! _* t4 w, c* W `
pBtn->EnableWindow( FALSE );
# m+ \+ \1 ^% V" g! L- V0 q3 S8 R9 O
}else
. d3 L0 y0 t7 U3 A
pBtn->EnableWindow( TRUE );
5 O* m5 }6 L" p& e' ~5 c# ^, k
if( m_pTexture )
a& S% k. f! H" V0 U8 S5 o3 s
{
1 |3 m5 v- v0 d
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
9 h/ ]. u" N5 E# F, a
if( wndCtrl && wndCtrl->rect )
5 I& Y% ^7 k. Q- k8 q9 [
{
. H% X: c- a6 V- g3 g
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
0 `" o2 j( l* Q2 q* s+ P
}
( i& X/ S9 }% C8 }' u: I. r+ j6 A
}
1 P \, s9 o2 V
}
; n( c& I6 A% A; {* A5 q% b# }
3 U( B) S! C0 {: X( a) f* \
BOOL CWndAutoFood:
rocess()
2 F3 a5 i2 L6 c; j3 M2 T. T" R" o
{
' Q( C* r+ H0 P4 q- U5 @( o
if( bStart )
; e. Z1 d& H; ~$ p( ?1 V: l1 K" z8 z
{
) T- B U* M. G. [/ J5 t: j7 x0 \1 H
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
, N9 J3 u3 [/ d0 v1 u
{
: W% C$ F6 Z( d* Y/ h" I# A/ j
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
# F% i; {, f7 ~
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
& [/ w4 {" h* a1 e
}else{
" |+ ]; u$ e% q- V$ j
bStart = FALSE;
9 l9 n. P% c* I
m_pItemElem = NULL;
3 \" o2 U7 F2 F# f) P x
}
2 K6 a* b" G& O
}
9 O+ ~/ I! ~1 e' v8 m$ p' h1 b
return TRUE;
; q3 J* h! o' \
}
3 N0 Q8 L7 e. J! K6 ]
1 `5 k1 @* l# e3 S; Q
登录视频废话:
5 y j1 n9 K% @) C
尾翼:
8 T! f$ j, W* x- }- E A
4 x) |, @5 q8 X+ d& c. I
代码:
" V! P6 _/ Z' w9 V
7 V7 d/ Y. f0 J
void CWorld::SetLight( BOOL bLight )
; d5 ^, d z5 v1 d; M
durch
8 r5 m2 b: P) F; G/ A w
Code:
5 v: b' Q: j" P
void CWorld::SetLight( BOOL bLight )
- g6 R% U! P: Z' p
{
$ K( b) v8 P) b8 h5 B9 `* A% K/ o
//ACE("SetLight %d \n", bLight);
4 h- ]$ Q- O/ A3 |& E2 T
0 g' s7 }! W' g
#ifndef __WORLDSERVER
4 e9 d% V, I- S
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
* _- W& x" N x0 F+ e
CLight* pLight = NULL;
0 ]4 _: k7 t8 l$ B$ z& m
9 f% C1 x4 o0 `2 G* R
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
3 y. O+ m% l8 @% H4 l
4 L6 O; N: U9 l5 ?( B( r% u G+ ~" [
pLight = GetLight( "direction" );
- m O; p! J4 M
3 Q4 T# }( e. }/ Q9 b9 `0 b [+ n
#if __VER >= 15 // __BS_CHANGING_ENVIR
% N! V: {% c J
if( g_pPlayer ){
( f; t/ P" M) ~% p# N2 @+ m* m
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
1 k, z5 r8 n! _, n9 ]
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
& j& A' V# Z$ F
{
) Z1 h) \, O/ W$ [0 `& q: u
if( pLight )
6 [( s4 B3 I) [9 M$ I4 x3 D
{
: z6 ]2 c! d4 n2 \
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
8 b0 N" `1 N; R9 a7 Q8 `2 n
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
. x" D9 G r1 b: d: U
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
9 I' Y8 t8 H: T. J/ o5 {- Q4 }; @3 [
# r( X, W6 B, r+ N/ p/ O
pLight->Specular.r = 2.0f;
! S+ i% x0 _) M$ T
pLight->Specular.g = 2.0f;
8 `# x, e1 I) `
pLight->Specular.b = 2.0f;
( g0 M; S% e5 j
6 L7 v; ~2 A9 G4 S
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
, h1 w. [4 i3 H# {! y
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
* ]0 T; I& u c% L& m
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
1 _5 x. b u0 n2 B; m5 M
5 O8 w& y* ?0 x1 x* W
HookUpdateLight( pLight );
4 {0 h6 H# ]) B& T2 r5 q/ l
1 q7 S9 I4 v# @; C1 {$ ?; e
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
3 V) e7 ]4 z% X( k1 B
9 F2 r y3 F. {# l2 o% {
pLight->Diffuse.r *= 1.2f;
6 o' @* @: r; v7 k! {- w* j
pLight->Diffuse.g *= 1.2f;
5 j- \! m% U; ^: G7 M( _ W
pLight->Diffuse.b *= 1.2f;
% f& n! G; D* q1 I
2 h: _& ^ I6 V. `% @( c4 r
pLight->Ambient.r *= 0.8f;
+ m9 p* k" P( F3 g, ?5 v
pLight->Ambient.g *= 0.8f;
) l1 S! M6 w1 i4 u: f5 ?6 W* z% r: W
pLight->Ambient.b *= 0.8f;
: a8 O" D |7 t
" S |, O. d/ x Y
memcpy( &m_light, pLight, sizeof( m_light ) );
% S. X* R2 o5 I, Q: }
# F% b* f+ p1 H6 b1 ~
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
V$ W. b4 L- W" p
D3DXVec3Normalize(&(vecSun),&(vecSun));
( Z# x9 H. N9 G. D- {+ M
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
2 a* f x8 y' m: u
pLight->Appear( m_pd3dDevice, TRUE );
& z {9 j2 e4 I; R1 ~$ G7 _( U9 e
1 I8 D: l7 u# c4 ~" ]3 p! `; {
DWORD dwR, dwG, dwB;
$ Z# |. W: W8 |5 S3 v; o
dwR = (DWORD)( pLight->Ambient.r * 255 );
3 O8 E) l( ?9 f
dwG = (DWORD)( pLight->Ambient.g * 255 );
- f) d* B& u# ~
dwB = (DWORD)( pLight->Ambient.b * 255 );
# @* h; w% [' q7 Q
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# a4 U; v. ~1 `) U" G
}
( p0 J4 F% c J& C
}
1 f" Z- R9 y' L/ e5 k
}
9 c: z& X. O2 T% x; |# @
else
/ ]( M s( u# [' `
#endif
- N! e6 [+ X: T
; o( j' w6 } B) _' Q. d
if( m_bIsIndoor )
1 ]& w1 r1 v4 k% J; p
{
: \+ \6 y3 A# a T+ J8 ]
if( pLight )
4 @4 i V. x( i6 m5 A$ F
{
" {3 |) _. ~9 f
// à??μ oˉè*
; w9 U4 {; R: u5 T/ E9 ?# [ W
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
- C* B1 p% V& c( @
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
2 ]( @' n) O* U# H% A0 x( n
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
: d ~2 r" N5 E9 K. Z( J
: D. k; ^3 D2 H$ f8 i, G. i& U/ W4 c
// oˉè* ??à?
0 |% E3 H+ F( T$ k O
pLight->Specular.r = 1.0f;
+ M: g% I! F( }- O$ b" }
pLight->Specular.g = 1.0f;
1 p: y% w# R: X5 Q* M: G
pLight->Specular.b = 1.0f;
. {& p" Q9 P! u$ u" M
// àü?? oˉè*
2 V: R r( E' J" F" e3 [
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
" Z& b* z2 }6 ^( D& @; M
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
( r5 @/ b. q3 Y. T9 J
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
) [( P/ q9 s9 K
1 ^* T4 A; c7 K
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
, B* F2 e- \# }0 ^3 e) g
{
7 r: y* a* q" S
pLight->Diffuse.r *= 0.6f;
- s' |" H8 l# g, ~
pLight->Diffuse.g *= 0.6f;
0 b6 f- Q: L' Y1 }
pLight->Diffuse.b *= 0.6f;
5 F5 Y+ Z: T) s* Z
pLight->Ambient.r *= 0.7f;
6 w5 ?+ S- Y' r5 z6 K
pLight->Ambient.g *= 0.7f;
. P2 V+ G+ H1 n# q% G6 M
pLight->Ambient.b *= 0.7f;
4 ~: H7 R$ S3 \8 z0 H
}
; V+ h, e, l) O/ i/ ]9 ~& P
% A S( {) r! G; C# }
#if __VER >= 15 // __BS_CHANGING_ENVIR
. X* Q/ U* v" z
if( g_pPlayer )
# G' J" S5 o3 d* e
HookUpdateLight( pLight );
1 V7 C, d9 k/ n7 b% R
#endif
( r' O4 w- z ]5 H, B
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# ?: \& G6 r* d; t5 i5 x
! q7 @1 u& q/ w1 Z
pLight->Diffuse.r += 0.1f;
5 u' f0 j: I6 j8 A- ]8 ]( h" c) J( l
pLight->Diffuse.g += 0.1f;
! E/ W! e/ D+ J2 I. A# G* J
pLight->Diffuse.b += 0.1f;
" @) m4 x8 ?9 ~
// oˉè* ??à?
& g& C& J/ L: J
pLight->Specular.r = 2.0f;
% V M8 h b6 s$ `- t8 t/ {* t" L
pLight->Specular.g = 2.0f;
$ F6 O9 E7 `6 F4 p6 Z& I
pLight->Specular.b = 2.0f;
: U6 V7 Z; L: q0 U; T
// á?oˉ
) q. B# Q2 b" a" z9 l: _
pLight->Ambient.r *= 0.9f;
" Y8 m( l- j" r! J, g5 _, C4 F
pLight->Ambient.g *= 0.9f;
7 D3 C5 j$ c4 h& `
pLight->Ambient.b *= 0.9f;
' e0 F: S' K7 _* q- V
, h. Z( V, s3 f
memcpy( &m_light, pLight, sizeof( m_light ) );
- O1 @' O& r* _8 V5 V7 t7 s, C
# q- V5 L7 z# h( X5 H; U1 |
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
' W$ r2 N0 Y, q
pLight->Appear( m_pd3dDevice, TRUE );
3 |4 [6 O3 k7 e1 |( G$ E4 R
& S; U: u) o7 R* o! o% i
DWORD dwR, dwG, dwB;
+ T' u) z; O: z9 H( d; R! G/ o
dwR = (DWORD)( pLight->Ambient.r * 255 );
* C2 F! G F) } e. b
dwG = (DWORD)( pLight->Ambient.g * 255 );
/ a/ e- Y& d4 J; c' `9 _$ G
dwB = (DWORD)( pLight->Ambient.b * 255 );
3 Y9 e n* @- u& t
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
' k% | O- I) M6 {
}
* c, v. a3 d! F# z6 H0 i3 w9 d
}
3 {% _( p0 Q2 H8 \- y) A
else
( d* e) Z" A2 d5 k* L% s
{
$ g& B4 a }4 [" x7 u& K( \& v
if( pLight )
' k/ r3 U0 S. S* w# ]
{
/ W) e t8 R+ [* B! F
H* z/ `# d: y: z5 Z {1 j; W; c' O
int nHour = 8, nMin = 0;
& B( q6 g' R& O' C7 H- s( \- c& ~- t
#ifdef __CLIENT
7 [! ]3 B$ n! r8 T, w4 }7 K$ O6 e
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
+ t3 B; g: H5 y7 I
nHour = g_GameTimer.m_nHour;
5 k& p: F$ W6 \% M) S" k$ b
nMin = g_GameTimer.m_nMin ;
$ t |. k3 V+ x6 r
#else
! F2 }% T& M2 Q
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
1 c/ }% H9 \! t- |5 C9 g7 `
if( m_nLightType == 1 )
3 ^% \3 t9 e7 ~& H
nHour = m_nLightHour;
% V( K- h* p4 [9 o0 ^& ]
#endif
) c( N0 Z) @% P( P% I# k& ]
nHour--;
5 ~. r# X( u+ M* {, D0 h
if( nHour < 0 ) nHour = 0;
' p2 {3 ]- a% h, K W
if( nHour > 23 ) nHour = 23;
. E9 g" V1 M* |( k
7 U7 j& |, f4 E
//if( m_bFixedHour )
7 k' R) e3 P- w0 U
// nHour = m_nFixedHour, nMin = 0;
, h. `& y/ x& o; P- `0 H
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
( F0 U# x/ y1 o8 J/ J
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
: r* h( j/ a/ ?+ k- [
$ O: c0 K. u5 K7 f% u% n
//m_lightColor = lightColorPrv;
, w2 ?0 h3 I% X) {0 P: D
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
k6 W; i, C8 S% s3 L# K2 E$ a. W! \
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
0 @/ I, X# P, |
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
' f' `+ L/ e! m* J1 S
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
4 W2 w. v* J7 A5 p R
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
' F+ `" Y- W/ Z( s
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
+ G# ]8 V. h" D) k/ p! n1 E
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
- z" R- i- Y+ Z( h% }3 j
/ e: B+ M! j! K: h! x3 d b/ P
// à??μ oˉè*
: E/ r3 C; l4 V9 v
pLight->Diffuse.r = lightColorPrv.r1;
8 X6 E' i; B" A( Z$ `) W
pLight->Diffuse.g = lightColorPrv.g1;
8 I1 M9 \' }3 k; `' ?. R
pLight->Diffuse.b = lightColorPrv.b1;
3 U+ k, o) ~9 R( u. p% Z, ~& A
// oˉè* ??à?
: D3 o M7 @7 M! `; h* V( e7 _, z, x
pLight->Specular.r = 1.0f;
+ b/ c- V5 n: u4 J
pLight->Specular.g = 1.0f;
2 }, o; K! D8 V" h& N. c9 Y
pLight->Specular.b = 1.0f;
) h* p3 L3 R: @, N, x7 u
// àü?? oˉè*
# h8 m' ^$ I( \
pLight->Ambient.r = lightColorPrv.r2;
& i; j. O+ S4 B' ]
pLight->Ambient.g = lightColorPrv.g2;
& `; C) E4 R9 R. s. M
pLight->Ambient.b = lightColorPrv.b2;
3 g# [# ]" I9 j3 x4 K6 {9 D
; h; ]9 {% c- _& o$ F) s1 m5 Z
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
6 O8 S( G+ F, }
{
: ~. Z, T# W3 I4 G; b
pLight->Diffuse.r *= 0.6f;
; N$ P: {9 O t9 v! A
pLight->Diffuse.g *= 0.6f;
. }9 ?* w$ v7 M( |0 e
pLight->Diffuse.b *= 0.6f;
# W. Q; j. [$ c. v
pLight->Ambient.r *= 0.7f;
2 o6 i3 U" k; {5 v
pLight->Ambient.g *= 0.7f;
0 x0 d9 @4 w g, B# Q: W
pLight->Ambient.b *= 0.7f;
0 e' a$ v7 {: f# z9 l, o
}
. D9 |* G0 [( Q0 y" E
9 W& }0 D0 W' C; f$ }* f9 Y
#if __VER >= 15 // __BS_CHANGING_ENVIR
! y0 o6 G& P- X, U( j
if( g_pPlayer )
- H- b [" s/ w' n+ p! k0 r
HookUpdateLight( pLight );
. K, d o2 H* g; v. f7 P3 \
#endif
$ ]9 M1 M# N4 ^9 p4 _+ x7 q
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. K. n( L5 S P Y' g4 P
& n! _# a1 b- f
#ifdef __YENV
& ~* ]3 D$ Q$ Q: J& N7 ~# M+ g
pLight->Diffuse.r *= 1.1f;
" L- s, p0 R+ q+ i! @9 h
pLight->Diffuse.g *= 1.1f;
; o& Z7 @2 ]3 d& r# _( |& U; S$ _
pLight->Diffuse.b *= 1.1f;
2 u% ]" v# Y* i" ~3 X5 v
// oˉè* ??à?
; r3 w! A. M5 r5 O
pLight->Specular.r = 2.0f;
* Y6 ]% ~. j: v+ @% P7 Y$ |
pLight->Specular.g = 2.0f;
& n- y3 d: H; v8 L% v
pLight->Specular.b = 2.0f;
% d9 }% k$ U/ k: ^
// á?oˉ
1 \) \& U& \: {6 L3 X
pLight->Ambient.r *= 1.0f;
/ A; K: p2 l9 f$ y# ?! a% U
pLight->Ambient.g *= 1.0f;
( j' H/ y0 X5 r
pLight->Ambient.b *= 1.0f;
9 f7 |) b" s- f. ?- [
#else //__YENV
0 @" i" i+ S1 f1 ~ M
pLight->Diffuse.r *= 1.1f;
' N" t5 s! J2 v$ G9 r4 p: b
pLight->Diffuse.g *= 1.1f;
0 l/ X) \4 g: m- b0 u
pLight->Diffuse.b *= 1.1f;
3 U; q% {6 _$ I( o
// oˉè* ??à?
5 S! ~% } ]4 p6 Z% a1 Z* m3 U5 n
pLight->Specular.r = 2.0f;
3 g/ y( P( |8 Z# k+ \1 z% ] B$ @3 F
pLight->Specular.g = 2.0f;
4 K" i# K& d) Q. @( q. E
pLight->Specular.b = 2.0f;
) ]! c( G0 \, Z* ~
// á?oˉ
- y) G5 a- j( }+ k! Y, |
pLight->Ambient.r *= 0.9f;
+ f& c& i0 s6 p1 _
pLight->Ambient.g *= 0.9f;
$ _* p8 P* n8 @
pLight->Ambient.b *= 0.9f;
) _- N* V. H5 j4 ~% A7 G- e; Z& T
#endif //__YENV
# K8 ]; D% d0 {7 f
6 Y2 a5 s8 @6 _9 j
memcpy( &m_light, pLight, sizeof( m_light ) );
4 C/ K6 f* e/ V1 L y
5 X6 h+ n2 ]& E! X0 [) E& G' y
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
- G8 z) j1 E+ ^5 Z% w
D3DXMATRIX matTemp;
/ y9 z9 N* c8 O. }3 p5 n6 y
static const float CONS_VAL = 3.1415926f / 180.f;
' A3 N `( e5 K u/ B' n* N
' X2 m2 w5 F7 f' F0 r- j+ z
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
' s( u* w/ c/ m1 l" K
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
' b( k u" x. I0 t
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
6 |0 B% K, n& \) b- ~1 J4 D4 P
pLight->Appear( m_pd3dDevice, TRUE );
0 }" @2 s; w$ \) d' b( c
- s' p. y2 L" a: ]
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
( ^7 |$ a0 u" F
// D3DXVec3Normalize(&(vecSun),&(vecSun));
- c, @ r- @% q3 u/ d$ y
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
2 W# v) r/ T* Y5 W$ r1 i. A7 d
* Z+ ^, t1 C- O# K" s& k3 G
DWORD dwR, dwG, dwB;
0 S+ |; O% v, K6 t9 i
dwR = (DWORD)( pLight->Ambient.r * 255 );
' S' `7 `0 Z' a6 m
dwG = (DWORD)( pLight->Ambient.g * 255 );
. c# t% t) }$ [0 U* C/ D
dwB = (DWORD)( pLight->Ambient.b * 255 );
2 V5 |" q9 Y+ u
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 ?8 D! u8 ?% T v4 s$ G
}
" [6 ?& t0 f( s0 ^4 I
}
1 A3 c, ]9 R% P/ f
$ m" V& h& C0 @! ~) Z! [
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
- H% s9 c9 s4 b7 M1 X5 E
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) );
- H: s: B! U2 {/ w
::SetLight( bLight );
- M# r5 O2 g2 ?3 z
0 b3 n/ [/ q( c' L% x0 f# }2 s
// ±ao? ?D?í???ó á¤à?
5 W% L' g& d: U, P H* f
m_pd3dDevice->SetMaterial( &m_baseMaterial );
& t" s9 _# I/ F- Q0 `6 Q* y" O
- m: I( x- K' F- j5 p0 \( b. D) l j
#endif // not WORLDSERVER
' s0 X: X: f7 ]
}
1 c3 X7 i! U1 u; T7 G
并更换
6 F3 h y0 \4 Z- T, w8 P
Code:
) B8 B: \% A% |# _+ }& _7 _
__FLYFF_INITPAGE_EXT
. R7 h8 G% ~& R' k8 B) o
定义
p4 q- S0 ^+ E8 M0 k- z
: i" v2 o' M! |9 S# u
! O7 b. ^9 C _/ L% r& G5 F
9 Q( R) `; W2 W; V; a" b4 M
( M. U. A- c2 w: r c8 A
现在终于删除我的狗屁加速...
& t# @! ^/ P6 X" M; O
" c$ S, F- r/ \7 c- k4 U+ e3 a
- E% i- Z* @; @
" R" p* x/ W' \' D5 z" K# u2 G m( U3 o
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2