飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
, a" P- j0 q+ S' G- ]: f: g) ?
尾翼:
6 v. `* C+ `) l# |5 Q9 e( i. L
- j- B4 y0 R |; D& v" y* e7 p. ]% C! d
代码:
) s# J$ x! N q
CWndAutoFood::CWndAutoFood()
; I! K) ?8 K" v# V- t
{
, x7 N. F% ]/ [2 ]
m_pItemElem = NULL;
( W& w1 l N' g- Q* \$ V, q( ?6 P4 d, G
m_pTexture = NULL;
) L4 r( o7 H5 l" e$ ~) s6 M
bStart = FALSE;
* g& G6 _5 @2 U t- J$ g
}
7 d2 r# h. @8 X; R! a. }; U! z
& P% r% ?) P; o; R( I
CWndAutoFood::~CWndAutoFood()
5 M F9 M. v( Q$ u8 P# Q' A
{
+ D3 s$ n! X0 h$ Q: e5 O
AfxMessageBox( "AutoFood ist gestorben
" );
8 `& t- P$ u% G: y/ A1 C
}
4 n1 a' s6 `1 S: H3 F
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
0 ]6 Q5 g6 U4 e( f
{
/ O1 x* p4 Q) }# P5 N" L
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
( S8 M7 f4 ]% \- u Z
}
) {0 L0 `: h+ P" I) u3 v' O
5 O5 H6 S& q5 J# m
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
/ u& m x! k( |6 J8 h* X
{
2 | H5 P2 D+ _$ |: A' y3 r
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
' w5 n. H7 v f6 k) M
CRect rect = pWndCtrl->rect;
& J7 Z% s: r5 W% n, d5 }
if( rect && rect.PtInRect( point ) )
* ~ _ w4 _# [+ H
{
/ s0 Z( A$ y+ K. B
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
0 t. x3 H; N% o, J
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
0 j, y- I c+ x6 T9 m4 m1 u/ G
{
; @% v) s# g, t: z4 y
if( m_pItemElem )
. p' M. y! \" K- Q$ {* D
{
- G" M2 U/ a. N$ S# i1 f
m_pItemElem = NULL;
, P; c; M4 e& Y# I% e! u
}
# s2 \3 l4 z1 r( j. c
m_pItemElem = pItemElem;
) A3 ]# ~ J6 r1 H
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
4 q8 o! I) n$ ]
}else{
- M/ _* q4 z# N* Z& L8 `, C
SetForbid( TRUE );
* X2 v7 g) J- F# V
}
! O6 b; p4 _( B, ?, `; d/ q" x' [: F
}else{
" J4 a% l7 F0 x. c" b; ?
SetForbid( TRUE );
% y6 }' U6 u) a) t p2 ?+ v5 M4 R' a
}
6 }! l. M! D: t( M2 a" M: N# A$ c% Q8 h
return TRUE;
0 g% h8 k: E- \
}
- k* y. E" j+ O8 _: p
& [& ]1 x# E! t/ m
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
2 F2 y$ _( t$ d6 m' D+ w
{
+ U3 B: I/ v4 d; w' {/ I% o
switch( nID )
# A" \6 r7 y4 y* N: y( B3 @% G
{
# o3 k( [! m% ~+ W5 D- J- [+ |
case WIDC_BUTTON3:
" n( D3 ?6 ~& C% G$ \$ g6 k
{
, n9 |; Q/ }5 {3 _6 y; n+ Q
bStart = TRUE;
k- K3 N I1 S
break;
^7 z! [: Y5 k! u8 `, P1 e
}
. ?1 R& v% e8 V z. Y! t9 P
case WIDC_BUTTON4:
+ y; h5 d7 B/ e# e" T: @
{
# {4 l8 v8 G) p# H( _/ v
bStart = FALSE;
5 L3 O1 r0 S( p0 ~0 S6 ~
break;
7 \2 |' @' w G/ H9 A; G3 @
}
$ x0 w3 T, H* M& F
}
, W' }5 v7 `) f& w
return CWndNeuz::OnChildNotify( message, nID, pLResult );
5 G; H+ v' J! I% p4 Z
}
8 E8 b( J. v$ A. o
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
5 g/ ~ a, j2 T% T
{
, a: h* h# n; C2 r0 J* r1 [& U
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
! F" B; Z8 L: V) O- R
if( bStart || !m_pItemElem )
J0 E. n% \! b* O! z9 t
{
1 ]' Z. j) s% p# |
pBtn->EnableWindow( FALSE );
+ k1 t+ D1 C9 W% F
}else
4 _6 d* |8 H4 k8 F$ j, j3 C, m
pBtn->EnableWindow( TRUE );
% y8 \1 |. F8 [) H
if( m_pTexture )
* X9 J! e8 M# _ ]& J5 L6 ]* |
{
/ j/ S# W3 U% z3 \1 F( Q/ g
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
- c$ `& ?; { A" I: w
if( wndCtrl && wndCtrl->rect )
4 n* N% m& Y3 u* R5 w
{
) Q2 R! j; q g$ p
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
' Q# G/ _) [9 Q4 \
}
' q9 z' m7 M; G9 G9 o
}
! G2 |' V8 ~5 G. Z% A( W7 D. X
}
. R; u) R" t" ^, K4 z4 V
4 p1 }) e# a$ X$ w5 }
BOOL CWndAutoFood:
rocess()
5 c7 q0 Q7 j W/ B
{
1 Q% O. \4 ^$ J. g
if( bStart )
0 A' a& |6 {+ \: f
{
]8 s& M0 U* J7 l6 D
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
$ z5 O1 {: U9 e
{
2 X" q, q/ p- L+ r& O
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 p& B& J* W* N
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
: {$ ]5 d Q( m) E
}else{
3 U6 N2 e' s8 j Z5 p1 `
bStart = FALSE;
1 b" m7 p0 U0 F3 t6 E, J B
m_pItemElem = NULL;
0 B- H" k+ r7 h& q+ f& H
}
* p* Z; Z, M' | S! j& L8 x) n
}
- _+ k( z* M7 C8 r
return TRUE;
: [/ y+ T6 l4 i
}
) I3 @" H/ G% G5 E8 F
3 ~+ l% j' ^3 d' ^3 X
登录视频废话:
; ]6 N; M9 g5 l+ ], `5 ^/ P& Q
尾翼:
% O7 l5 h* E0 r1 }/ r
' Y& c' t0 K* [: w: H* m
代码:
" n9 Z, W- O* G" u+ b
1 Y9 v. ~( {7 R4 d6 W. q8 \/ M9 r
void CWorld::SetLight( BOOL bLight )
- k, f; E% T# x0 O: `( T# t/ a) y
durch
. v6 w* |. m F+ C
Code:
% c2 V( _+ I9 V) ?0 D1 s- H3 _
void CWorld::SetLight( BOOL bLight )
+ m* m! }8 L% j
{
- ?8 R/ h- ]4 N" |* Z( c
//ACE("SetLight %d \n", bLight);
O8 h; Q2 [" E& H( J% F$ @
) e2 _1 x" e/ j
#ifndef __WORLDSERVER
0 _9 ^5 x! B- o) w' |" y/ \
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
$ v3 P8 e% w. F, a
CLight* pLight = NULL;
+ N' M! j+ b, w" f2 X0 [, ~1 O
0 A- E0 O' K+ w' B& a5 u* r
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
7 U5 v8 _$ F4 d2 B, m
/ D4 U* l" i- p/ g/ D4 Y
pLight = GetLight( "direction" );
# j" J! ` J( r1 m
/ A! ~5 j& o6 @/ K- K5 ?- G% S0 ?
#if __VER >= 15 // __BS_CHANGING_ENVIR
6 p9 X j% t" u/ N
if( g_pPlayer ){
3 M/ h- V: Q% Q7 L9 v
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
3 V* O+ d( @/ R# k
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
( ?1 U2 w+ u0 @* p7 F
{
) Q3 Q: v6 Y- [/ r8 C2 j
if( pLight )
& y p6 j& W- ?# H& M6 V }$ [. t
{
! Z/ ^! s7 X* Z
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
1 |$ Y5 q9 ^) w% [) h/ f1 ]5 ?
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
7 _- D2 [" y, b1 V6 \0 [& T
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
& |3 q' p) c& @- _
( `7 ^4 t( M8 ~# k, K
pLight->Specular.r = 2.0f;
- h5 |0 a8 }: P U T
pLight->Specular.g = 2.0f;
. W; L- O; J* s% F- ?7 t
pLight->Specular.b = 2.0f;
* c/ y* w* D' I- Z9 t1 \- E1 D
7 _3 ]+ k& L1 M, r
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
+ ~6 Y+ j+ Q0 U& c" ~- m! k5 g
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
5 k' N) R o% ?/ j
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
* r0 V$ I" F, T& B. ?2 Q- v9 _
7 R7 n5 u+ Z: q/ I
HookUpdateLight( pLight );
/ a% F: S. X0 g( ^5 g& k; b/ V
+ B# K6 x. t: @4 K+ ~. {) ^" w
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
/ c7 U& B. P# ~# u2 q! F% K4 s
H$ I* D/ p# c8 _9 T
pLight->Diffuse.r *= 1.2f;
0 R0 a7 x2 D! a" ~
pLight->Diffuse.g *= 1.2f;
0 J2 U* l& Q) r9 f. G6 Q
pLight->Diffuse.b *= 1.2f;
- M/ l$ `: L. w! t S* ] m5 I
7 h3 z% ^$ |1 i* D3 Q9 p3 ]5 P
pLight->Ambient.r *= 0.8f;
5 R! o8 V9 X( W, Y i1 t# ~
pLight->Ambient.g *= 0.8f;
$ P* X2 B. `% s
pLight->Ambient.b *= 0.8f;
" o. A5 U: y/ _& U' d) G& ?
/ f0 N( O; a0 ~9 O
memcpy( &m_light, pLight, sizeof( m_light ) );
4 u& } S' `- t* e% j
, G: H3 K) u X; d0 z5 A5 t6 O( |
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
Q3 r: j" m/ A' g
D3DXVec3Normalize(&(vecSun),&(vecSun));
, D8 t8 N& R2 L( G
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
( Q* V3 ?: N- N" Z
pLight->Appear( m_pd3dDevice, TRUE );
( N3 w5 [* M* M8 T" s% H
; S. {! u2 X0 ]
DWORD dwR, dwG, dwB;
' s4 S. L/ ^1 w4 N% ^. v& b$ N
dwR = (DWORD)( pLight->Ambient.r * 255 );
7 E6 F8 N. S9 Q5 D
dwG = (DWORD)( pLight->Ambient.g * 255 );
+ W& R W" q% t2 {6 M7 j2 S
dwB = (DWORD)( pLight->Ambient.b * 255 );
) i0 }% t* \! H3 O l3 i1 U
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
! x( a, O) Q% Z1 z
}
! {+ K, L2 b; M! h
}
; q) y4 h$ l/ b6 Y) t' u
}
" h! @# A- W6 D. N. ], C2 W j7 }- j
else
. J% u7 I8 Z' i% S$ ]$ u: e% ~
#endif
8 D; F2 h7 X& I! g+ B( e* M
- ]/ _, \ V' w
if( m_bIsIndoor )
+ {6 z0 E2 i2 t$ `3 Z
{
( P# D7 g% W$ k8 @! U; p% Z
if( pLight )
- B' v2 I4 j3 D& W
{
) z, s2 F% M* k* t# P6 z5 A
// à??μ oˉè*
2 }# s: `$ v& d: I" Z/ H; \
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
! f1 q5 F& w. ?: R8 h
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
, {, p; K6 i$ U3 c! @8 f. f
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
- s% S6 _. m' m; u) f9 O% P
$ A8 l# O# z8 Z- \- r
// oˉè* ??à?
5 r. a& i+ G) o3 a% A
pLight->Specular.r = 1.0f;
8 V% e, t* i, H/ X1 b
pLight->Specular.g = 1.0f;
' ?& ^5 i3 i$ W- V1 g7 a5 q* L
pLight->Specular.b = 1.0f;
- \; p5 E; P8 }$ h
// àü?? oˉè*
( E4 Y& K: u- I1 N. j
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
1 D3 c$ c) W6 W% C
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
! n \! ]# u d3 p' r. j
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
0 K4 T- a4 a% s. g% Y
) K8 Q" y* H+ a: |
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
2 S! G" e) U, M, P% a5 x# L) m1 V* m. L
{
( V1 B# v; `6 z6 U2 K) G- u
pLight->Diffuse.r *= 0.6f;
5 P. s* J2 ?) J! i' _! t+ P
pLight->Diffuse.g *= 0.6f;
3 S# ~# K( ?7 D- ^' P" G
pLight->Diffuse.b *= 0.6f;
6 r0 l) ]2 }0 D' s2 c0 }5 k
pLight->Ambient.r *= 0.7f;
2 S+ ]' ?8 J5 F0 O
pLight->Ambient.g *= 0.7f;
$ d6 R" r% q( L
pLight->Ambient.b *= 0.7f;
9 s, F) \9 E/ a8 G3 q9 X. i( c
}
q! l: J2 t) S
9 k. l5 f5 G! k7 d" F0 H
#if __VER >= 15 // __BS_CHANGING_ENVIR
3 |1 m/ L5 b% N/ D# t5 |! R1 Z3 W( y
if( g_pPlayer )
5 u% c% ^. L$ J$ Q# D8 Q; J
HookUpdateLight( pLight );
3 A7 i- s% Y/ _; q/ l3 f
#endif
& u1 {* s! _8 J% |+ y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ P! J" H/ J% O: f g
4 p- e: J% Z6 k4 p
pLight->Diffuse.r += 0.1f;
. u) E/ j$ E( }3 B
pLight->Diffuse.g += 0.1f;
; f5 `# P( j7 v1 P) d
pLight->Diffuse.b += 0.1f;
: f: N! ^) i$ r/ M
// oˉè* ??à?
3 [5 Z g; x o
pLight->Specular.r = 2.0f;
8 y) ]( J, }" t+ ~0 w
pLight->Specular.g = 2.0f;
7 ~! l& e! d4 U7 L
pLight->Specular.b = 2.0f;
6 r1 o4 y) X3 G& [: [" v l% y& p
// á?oˉ
- Q+ [5 ^! c% H
pLight->Ambient.r *= 0.9f;
) Z- V; a6 t7 E( K- ~* \
pLight->Ambient.g *= 0.9f;
; i1 y& ~, {$ C- I
pLight->Ambient.b *= 0.9f;
/ B2 _2 ]7 @; I
. _0 p0 u- ~/ n" ~. Q4 f
memcpy( &m_light, pLight, sizeof( m_light ) );
h. W+ b, M( y7 U. Q, K8 H
: g# q( D# Z2 J6 {
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
2 ?! l2 U: O. |6 m6 B2 j6 D5 m
pLight->Appear( m_pd3dDevice, TRUE );
9 |. @1 d% [; j
* w( ]% e# \8 {8 M- y
DWORD dwR, dwG, dwB;
W q" ?( v8 D- v, g+ }
dwR = (DWORD)( pLight->Ambient.r * 255 );
1 R' L+ D* f, d/ X F
dwG = (DWORD)( pLight->Ambient.g * 255 );
# ~3 i' u7 A3 k! l7 u, T5 A% \
dwB = (DWORD)( pLight->Ambient.b * 255 );
5 e' o# e8 ^7 c' u$ n
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
/ p' I2 H( V1 ^7 P
}
8 }+ y5 b' @8 p, G6 ~* |
}
y# r; p `1 N$ c3 \$ K
else
: t7 E) D/ ], t$ R# }6 y
{
]. E7 S7 [4 \5 v$ O3 s
if( pLight )
" C1 Q3 ~, B: f$ [
{
: m' _3 e& B3 B- x# J# ] {8 }
2 @8 ]" L2 B ?6 J% c7 B; @3 T
int nHour = 8, nMin = 0;
6 O# P" e; i. P; \( I
#ifdef __CLIENT
! H( S0 H8 `; |' g9 s5 g/ J( g
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
+ ~7 H( g; J* ?
nHour = g_GameTimer.m_nHour;
/ \! p* V2 O7 C! a5 p9 l5 ^. G" [
nMin = g_GameTimer.m_nMin ;
1 _9 e3 p" p! H4 q/ f
#else
; n/ P2 g; E; m3 r0 l
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
: Q; b4 {5 \0 G+ u4 O4 m
if( m_nLightType == 1 )
- {, m* ^0 [) [0 x
nHour = m_nLightHour;
$ q8 F6 \8 z# u- ~" s+ u
#endif
$ M6 \9 a( x% E, L m
nHour--;
Q Y$ g) W% W! B3 {
if( nHour < 0 ) nHour = 0;
( t& @! X' h4 d3 v+ K- C
if( nHour > 23 ) nHour = 23;
9 u$ `3 q: B1 `4 p2 N4 G5 b
! @6 }* G2 Y4 h* a2 R
//if( m_bFixedHour )
0 ?, [4 z. D0 y/ h% c
// nHour = m_nFixedHour, nMin = 0;
' `1 B/ o7 M. G! ?6 i5 I
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
9 i5 j; B& d6 \- }) F
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
2 D2 N) V% p# K
1 ~2 O. A9 ^- w( H: L6 _
//m_lightColor = lightColorPrv;
( C2 l- i& O: C g# H) z+ P
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
' f9 S$ ~, j6 j# g
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
5 ~5 u! w0 n0 F5 B
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
9 c/ b1 p( N# }; z5 ^2 s4 d6 k# v w! C
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
/ Y0 P' a( z* `
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
7 b3 L/ [9 k, o( S- Z8 Z# b
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
8 t# v" Q9 C0 I$ o3 f
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
- P6 c: P, Q" x, K4 \. g( S
' N7 A/ ?6 H/ j6 g
// à??μ oˉè*
4 M! V& a& v0 C. m2 Q! y, a5 S
pLight->Diffuse.r = lightColorPrv.r1;
4 _ x3 m. Y1 B1 G
pLight->Diffuse.g = lightColorPrv.g1;
) ?& q2 W6 `9 d9 O7 Z9 I
pLight->Diffuse.b = lightColorPrv.b1;
! T: b, N* m" y6 n0 a- \
// oˉè* ??à?
! B8 m) v( k( W1 q- D8 j
pLight->Specular.r = 1.0f;
+ G; j. j/ c/ ?" i& H E
pLight->Specular.g = 1.0f;
& k8 }; g0 d1 G+ S6 X
pLight->Specular.b = 1.0f;
7 v5 @- U( h* w+ ]4 i2 V, {9 A1 z
// àü?? oˉè*
& g1 k8 s% _4 H6 l; ?
pLight->Ambient.r = lightColorPrv.r2;
8 h7 D9 V2 ^ q& K
pLight->Ambient.g = lightColorPrv.g2;
1 k; i& [4 e6 a7 J# |4 I5 w
pLight->Ambient.b = lightColorPrv.b2;
* \& r; I2 e+ ~8 g+ z
; z+ C: r$ e6 Y0 r
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
* D% s2 ^9 _; R
{
& u8 [+ s" T& u& m
pLight->Diffuse.r *= 0.6f;
2 y2 c5 s1 `8 H3 o8 S
pLight->Diffuse.g *= 0.6f;
, L& S7 p6 m% A0 `0 U2 a: ^& a+ [3 e
pLight->Diffuse.b *= 0.6f;
4 e9 n! x/ R/ z* k8 w/ S
pLight->Ambient.r *= 0.7f;
8 x0 l4 R$ z3 A1 o4 P# J
pLight->Ambient.g *= 0.7f;
. X7 V1 g' T" p$ y- W1 j/ H7 r
pLight->Ambient.b *= 0.7f;
c+ H- W+ P9 q0 c5 d
}
* I d' Q# l) Q/ L; I
$ x; s. R6 {* W
#if __VER >= 15 // __BS_CHANGING_ENVIR
0 L3 H5 P% K2 z& {0 J9 O
if( g_pPlayer )
- `( g% [0 R% k7 u$ m5 |
HookUpdateLight( pLight );
$ V9 U! K- q5 V. i+ {
#endif
" E+ K* c" Q! y" ~# J) G0 U, |
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; b- q/ s9 f# y& V( N, o. P8 k9 c4 j* h
4 P2 {- j; I; I/ d* r* R
#ifdef __YENV
2 V) p9 W( D! [1 A6 \
pLight->Diffuse.r *= 1.1f;
! y5 z- o" v: G9 Y1 [
pLight->Diffuse.g *= 1.1f;
2 q& a. h. S" o
pLight->Diffuse.b *= 1.1f;
* Q* u/ g. {8 }
// oˉè* ??à?
F( A6 R0 r' p( ]% Q
pLight->Specular.r = 2.0f;
5 t6 R0 \3 H8 a n* x( k9 k D$ x
pLight->Specular.g = 2.0f;
! E. _. k5 H% N$ Z3 o! s* H# |
pLight->Specular.b = 2.0f;
, F+ O" S% H8 N
// á?oˉ
! f2 [+ q* G4 Z4 g7 `
pLight->Ambient.r *= 1.0f;
' F1 q k3 D* M( U* y
pLight->Ambient.g *= 1.0f;
2 r6 S: E: ?" ~' ]2 f, [1 X
pLight->Ambient.b *= 1.0f;
: l" s2 q9 e# x3 J+ y1 ^# [
#else //__YENV
8 T: S. c7 Y$ ~3 d( Y+ C z: R0 ^7 l
pLight->Diffuse.r *= 1.1f;
0 L- f. I4 c! P+ D
pLight->Diffuse.g *= 1.1f;
$ m% z: ~8 o' I u+ l
pLight->Diffuse.b *= 1.1f;
, J; U; v5 Y. F3 ]7 |
// oˉè* ??à?
6 u" W# z9 [3 T* C
pLight->Specular.r = 2.0f;
6 D. S8 L. c% H2 K3 U; ^
pLight->Specular.g = 2.0f;
' }$ b+ W: O" Y/ K0 w" s. Y& \
pLight->Specular.b = 2.0f;
( _% p7 E3 o6 t2 G r+ u. `
// á?oˉ
" _& E3 o# Q1 _3 c' o
pLight->Ambient.r *= 0.9f;
1 Z% M& p; J9 r) j
pLight->Ambient.g *= 0.9f;
0 d+ r4 B' e8 c+ @1 K, M
pLight->Ambient.b *= 0.9f;
/ ?+ A$ Z2 F( C0 O( |2 a
#endif //__YENV
1 _2 k' i* F# s* P9 S
+ @8 W0 r B7 s$ \* ^# p
memcpy( &m_light, pLight, sizeof( m_light ) );
% p8 C/ v d( a1 j( M1 v. n' F$ m _
, R6 W. |1 d. ~0 `$ c6 [0 a; O
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
# T, W. ?5 ~; e' s3 e, ^( I
D3DXMATRIX matTemp;
8 L F0 y* S1 z9 ]) M% ~
static const float CONS_VAL = 3.1415926f / 180.f;
( \7 `$ S Z H* h6 x
0 Q. l0 [9 \$ Z* P0 r: [6 R
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
1 K8 f. H( T5 X$ z' `
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
1 m* ]) h1 H( X/ a& M5 ~% b- @- _
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
( I/ _; t9 N F# a# d0 G( O B
pLight->Appear( m_pd3dDevice, TRUE );
4 f) _$ O5 E; l
; L" O$ N ?6 `8 d
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
$ q& F; v3 u. R ^3 \( @- u
// D3DXVec3Normalize(&(vecSun),&(vecSun));
; r- ]6 Z {3 W/ V
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
1 O0 a' ]4 t# X
1 ]' a, E: W) D1 y( b$ X
DWORD dwR, dwG, dwB;
G {7 T( F; X, L
dwR = (DWORD)( pLight->Ambient.r * 255 );
7 k/ `# a+ E1 i% W
dwG = (DWORD)( pLight->Ambient.g * 255 );
& }5 I1 }' @; W& _6 G) ]+ m: G, f/ e1 p
dwB = (DWORD)( pLight->Ambient.b * 255 );
& l' e Y1 A h) w
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% W, G$ P! k) ]$ E4 \1 [
}
{3 G ^8 C% t% }+ U
}
9 H! ~/ A! B! I; u* C4 A; Q; l B* E
P& g2 i) ^0 H+ b% R* p9 K. l" }- ^, ]
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
3 J c x: X0 V" ?( y% S" K9 I- ]
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) );
- B( D& A; j" A; C; J
::SetLight( bLight );
0 U5 X2 G% L6 {& h- @* e
/ [% r3 O1 R: f( V5 n6 F- m5 @
// ±ao? ?D?í???ó á¤à?
* ~, B% t* c( t0 P4 ~$ V
m_pd3dDevice->SetMaterial( &m_baseMaterial );
$ X) d$ n1 [6 l& q% i+ K
U3 @' ^4 S o
#endif // not WORLDSERVER
1 k \% R7 Z4 d! E
}
0 h: F0 ^0 B& P w+ P# S) H
并更换
8 j0 x: Q# r/ F
Code:
7 @$ D3 i8 D& Q" n; t
__FLYFF_INITPAGE_EXT
: v2 L$ u) L1 y# M" R( _
定义
4 z: y/ L1 Z' u' k
/ S( [3 t7 c( H2 M& g% Q- n
" `4 v7 O0 ~1 V; b# P
, N9 R1 ?" T8 r8 G
5 c- z$ l% T0 x$ `# ?! _; p
现在终于删除我的狗屁加速...
; N3 y b8 [& P9 ^7 v
G) P6 B* \! C/ f9 w
; }- {1 b) e/ j# c* h( y
) y7 J& W5 [/ j9 f% C
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2