飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
$ r K' v6 u& A% F3 I" T1 S
尾翼:
( a, g* x3 g1 b8 Y( [) q
6 [0 m) K8 Q4 p* O
代码:
4 p3 T7 k0 t. o
CWndAutoFood::CWndAutoFood()
! [3 k+ F. C" I3 S
{
& ]) ?0 J2 u# H: `" w
m_pItemElem = NULL;
: u0 c& n, ~, z a: l( v. @6 c
m_pTexture = NULL;
7 p! d) l1 t' |& T$ s4 M
bStart = FALSE;
; n% O6 \. N0 a* J
}
+ y/ ^& v2 d4 O* {
' F% h, @8 {5 B2 _: m0 A
CWndAutoFood::~CWndAutoFood()
) Q6 f9 b: _. o
{
0 B- t) R1 `( s) h
AfxMessageBox( "AutoFood ist gestorben
" );
0 W- S7 e- W; {9 ?: y5 ^0 j
}
: Q- R6 L. o2 U0 \
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
3 w/ ~0 i$ d0 w8 n' O* ]
{
7 S) v- i; V' b0 m0 I. w
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
' J& }: i$ b1 g
}
$ U; ~5 ~) c9 X- e5 k
8 F9 \; i" j& |" I% S! ?' ^
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
: I2 E4 k7 w; I! Q! C
{
# v+ z! Q) J! O* W/ A7 a+ d) J
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
1 h+ H7 f$ B, ]& c" g
CRect rect = pWndCtrl->rect;
. |- [: \" ~' c$ R0 K1 y/ c
if( rect && rect.PtInRect( point ) )
2 C4 X5 d- m- L( ]. n
{
! [7 L5 k: y" |# r; `
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
4 U8 B* X, Y, R! l2 {
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
" v2 W$ e0 `) `" G' u7 s* F
{
) [9 H, ]8 }+ G; x4 \5 w
if( m_pItemElem )
a* I6 R0 I9 N J+ Z' k
{
: d [) f# `) e) W/ [
m_pItemElem = NULL;
: C3 ]1 j) W# Z& ^- u& t
}
! d. I% {% Y: o' M5 W
m_pItemElem = pItemElem;
8 W, n% X* r @0 J7 `5 S( }
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
. s. Y; N; _ k; ^- e$ S) [
}else{
/ A. o+ v3 v, q0 q( \
SetForbid( TRUE );
% N$ l, w- L3 A4 r, }
}
; e/ p' J( J- \* d# e
}else{
( |$ i8 E; B$ s
SetForbid( TRUE );
+ l/ D" K) y$ D! R8 K
}
! a8 d, {7 L7 d! m4 C, Y- y. R
return TRUE;
# l/ \" O9 }+ L P2 c
}
4 L7 E& I# g* o, x% x8 [
4 \, \# l, ~4 s" r- o5 l" ]
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
$ I/ M! _5 Y5 }4 F# l2 A
{
/ w9 h0 O) H$ P3 L9 \% F
switch( nID )
& B+ \% H; Z& Q! m
{
2 }& z# F8 M4 p4 P
case WIDC_BUTTON3:
8 P+ A" b0 z( E: k! k
{
% L) T! Z4 U( k. ]& ~
bStart = TRUE;
' i, C% Q/ }2 f$ {! r8 Z1 |
break;
" g( O2 r9 X8 f9 T+ v
}
, A5 v/ v: u2 V, V4 {6 V \2 i0 t
case WIDC_BUTTON4:
2 S5 e; e, w. {, N/ m
{
7 t: ?! j! C- ?5 d0 N [$ K
bStart = FALSE;
5 o, a9 j) L$ j3 W
break;
* T8 k$ B1 X2 f. N) k
}
, ]( s8 `% u6 _3 ]; D
}
5 \5 @3 }: G" [7 Q7 u0 M( J' O
return CWndNeuz::OnChildNotify( message, nID, pLResult );
5 `' h' {% f1 z7 _3 M% E- ?8 [
}
" B. v0 P1 f/ N. M- n P
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
- ?9 ^) ?+ L- B+ `8 L- T
{
# T. b# j9 S" g
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
. L1 G" l# N" z0 i9 q
if( bStart || !m_pItemElem )
8 n& r( r/ M3 J% _- e* B: n# ~
{
" ~) y' }1 F" y' q$ M( a
pBtn->EnableWindow( FALSE );
9 L* @" \7 e4 b' i: ?
}else
: O+ X, F/ a. _0 T9 k6 J
pBtn->EnableWindow( TRUE );
- N* U. Y, f0 m( g( J7 G
if( m_pTexture )
# f; C1 r6 A" D3 ?: q7 x
{
4 E2 Q& U& T/ `8 h4 V+ Z Q
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
T* n1 o( s' c
if( wndCtrl && wndCtrl->rect )
- H3 n1 c7 J4 K3 J1 G8 R
{
8 T5 f9 G. m4 U+ q' D# Y; i# x/ I
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
6 p! ^! p7 n' H# R
}
/ B5 _' d. n5 O* |4 x( F
}
2 n$ P! w# u$ ^/ C8 K2 u2 M
}
* ]8 N. n9 E) Z9 M
. b" k- K- m& u# Y4 W
BOOL CWndAutoFood:
rocess()
8 G Y9 j7 R/ t! ^( m# j/ g
{
W& c5 n/ Z/ E: g5 x
if( bStart )
8 l; b; _( v D y9 V& n( I
{
# M, s/ q2 D- Z+ `; X; s
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
% V! h# X+ d1 C( ?+ j6 E
{
1 C2 {9 ]1 d" S; p" H/ f! o( v8 W9 m) k
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
, d; u4 }& T) G6 X) [" A$ e
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
2 Z( J; n- I$ C2 f
}else{
, {' C3 [& d/ i! L$ P, L/ H8 L
bStart = FALSE;
8 k/ ^ C7 W4 R5 F5 b2 m
m_pItemElem = NULL;
- \" P7 A) b" W) `% S; A8 p1 H
}
$ j! f @& w+ o9 `/ r; n. m" ] \" O
}
8 A/ j3 C- G2 C! d, ^$ f5 I7 b
return TRUE;
- d U8 {# U& d l3 r) q
}
7 ]" m" X( f2 m
U+ n, ?# |, n7 Q5 Y9 o. _
登录视频废话:
! V; Z" H+ `$ r6 w
尾翼:
4 g r4 ^: c9 `
9 R, y! X7 _* ^$ J; W+ Z3 g+ o
代码:
. C9 b# ?1 S+ c! |0 S
# f" J" @* e: ~
void CWorld::SetLight( BOOL bLight )
0 r r9 u4 e6 T9 L, e
durch
V6 n: z# F5 E
Code:
6 Q: ^7 M; K9 e2 ?. e
void CWorld::SetLight( BOOL bLight )
; }6 P( K$ ` A+ ~5 g: H d
{
! F- x1 Y3 ]$ k) w9 {
//ACE("SetLight %d \n", bLight);
0 Z6 Q/ s8 n7 ?# R4 j
) K+ P7 k, e( ~/ A6 }
#ifndef __WORLDSERVER
8 M; q+ _; V3 S; {) I4 P. Q
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
, I* g' Y' `1 h9 x5 e( b9 _
CLight* pLight = NULL;
' W+ C& e2 g0 N6 ^/ d$ @
% M5 ~. t, s/ C l" L; c
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
( g4 X1 H1 r' Y Q/ G
- ~0 k& ]" Z! I# `; U
pLight = GetLight( "direction" );
6 L" c5 i2 U9 Z3 u
2 x9 u" n, H/ e" U* X& e
#if __VER >= 15 // __BS_CHANGING_ENVIR
1 B0 k* u9 u' _, c# T
if( g_pPlayer ){
- C1 h3 b0 {% ~" \' `' m8 a1 v/ o
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
7 d, { L2 K2 y$ j$ k" }: Z' [, {
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
* B( g( D3 U! S* ?
{
6 F I( m& y# R
if( pLight )
6 J6 z! C/ T" w4 J6 i
{
7 _: u0 c: n( t8 S8 ?: l4 @3 B
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
$ D7 I0 U+ b D. r4 x" V8 V7 E9 J
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
4 p; I2 f6 s4 {: @
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
) d+ ?2 b1 X7 N1 U/ y1 g1 O: {2 z
- e5 N g7 s+ I9 j
pLight->Specular.r = 2.0f;
, w9 x8 \# k D" q: W2 C4 B
pLight->Specular.g = 2.0f;
5 C A- e7 s% X2 d/ _: w2 l o& V
pLight->Specular.b = 2.0f;
G2 b: N/ L$ J* N& @# r j" K% a
- X% u" b& N6 C/ C% Y$ N, b' d
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
1 {6 ]' N0 F' p& k( p# ~
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
+ Z3 e6 s' ]1 C) i
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
9 q4 m+ c+ H1 a8 Q% B# r+ d
\' }/ j! N# q L6 t' G6 a% `
HookUpdateLight( pLight );
" F7 }& `. s+ Y: {
; Q9 o {2 F& m; U; O) Y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( w$ a$ a3 L0 I; i
; \: V& J2 j1 ]
pLight->Diffuse.r *= 1.2f;
$ M# a( h& }6 {. B/ {) s) g. ?
pLight->Diffuse.g *= 1.2f;
: @2 x! n; L0 |" `% e
pLight->Diffuse.b *= 1.2f;
: m1 b7 Z5 P7 v" t3 j" `
# j$ }' M( a6 `2 |' R! v% J1 a, u
pLight->Ambient.r *= 0.8f;
% `3 j a( N- z" ]$ f Q
pLight->Ambient.g *= 0.8f;
9 ?: c: N @8 I3 K" v4 m+ n
pLight->Ambient.b *= 0.8f;
# g9 L0 e: W2 p
6 [& {4 y/ P& v# `* N* ^
memcpy( &m_light, pLight, sizeof( m_light ) );
/ N: x& C+ y$ v1 A
! A) ~- b: k3 O9 k, j
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
9 O/ R8 T2 H# r
D3DXVec3Normalize(&(vecSun),&(vecSun));
8 g1 ]4 w, z# l4 |( s. s
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
( t, R; W. M1 i9 U- k r# z
pLight->Appear( m_pd3dDevice, TRUE );
- N" b5 I0 [3 Z" I5 [+ B; {
2 ]/ }+ }; I' K8 G) |; G
DWORD dwR, dwG, dwB;
1 T- O/ l* B$ j+ O, d1 m( [( m
dwR = (DWORD)( pLight->Ambient.r * 255 );
& F( K) A' x8 s2 w3 R. z
dwG = (DWORD)( pLight->Ambient.g * 255 );
3 U# T' A+ v* q
dwB = (DWORD)( pLight->Ambient.b * 255 );
% Y; b* g$ P' {5 x/ Z/ v
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 }$ n& ^( c0 j# `. U' O# K6 Z& o
}
6 L4 J% r0 ]% R& l* w/ W
}
% w3 i B( o9 t8 j
}
( p) @8 J. ?& h) s5 `5 j
else
2 r) W8 i( k& B0 }
#endif
. L! y/ a& r K% b
. C, ?+ t$ L( z; X C
if( m_bIsIndoor )
! g* p0 U3 s- U; I
{
9 x' r* q1 `# }( n, u7 Z
if( pLight )
( f4 ]6 l- P( {1 O; E
{
; h$ F( c- l" S5 m
// à??μ oˉè*
' Q1 I3 E x: j( W
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
. a" [3 p4 [# o1 t, Z8 z/ I
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
7 w5 K* c4 O) C3 N* M r1 r
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
) H( E2 ?: \( f u/ d& O0 a
6 Y+ T4 D8 v+ Y
// oˉè* ??à?
4 g T- A# V& w. N
pLight->Specular.r = 1.0f;
! {9 h2 x% k; f# {
pLight->Specular.g = 1.0f;
) g( T: i, t) A O: v5 S
pLight->Specular.b = 1.0f;
* R) a/ n. f/ I) m9 h
// àü?? oˉè*
+ j6 x- t% ]2 p) W4 R" {
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
2 K A) D" S$ X; _2 q# Y. H
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
5 A8 _4 @3 j7 |) b5 s3 @
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
2 A/ L6 H+ H, b. {& J0 m* {
* h4 \0 A Z# r# W- ? z8 O' ]
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
. e: _) q9 j) K8 E/ `; m
{
& L% Z8 @+ D/ o2 W
pLight->Diffuse.r *= 0.6f;
0 b( \) F; b: r2 T6 Y
pLight->Diffuse.g *= 0.6f;
% d+ z" C/ X; e+ m% w
pLight->Diffuse.b *= 0.6f;
7 m/ k: c) u, K: c& L9 P. W& @
pLight->Ambient.r *= 0.7f;
, h5 Q% |- V0 h4 U' u! t, S% |' E
pLight->Ambient.g *= 0.7f;
$ u7 T6 b0 o& Z; d+ E2 ?
pLight->Ambient.b *= 0.7f;
2 [ c9 E- X1 E4 Y6 d
}
& z9 D5 I/ S4 \) e/ l; V3 U
+ E" o7 E% J& `. }
#if __VER >= 15 // __BS_CHANGING_ENVIR
) {9 H& ~8 U3 s2 {0 Z
if( g_pPlayer )
, |( q' @: d$ M: k4 Z
HookUpdateLight( pLight );
8 B a1 J9 ]' K9 C
#endif
/ ~( G9 S+ v8 g5 I1 a. v8 @
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) `; K. N% U* k: I( _
# L; _% i$ ^3 X
pLight->Diffuse.r += 0.1f;
* s; W! I m. z. b, ^; D: E
pLight->Diffuse.g += 0.1f;
. T# Z+ w C5 f* S0 L" z
pLight->Diffuse.b += 0.1f;
5 Y# L1 ]2 v8 i0 A
// oˉè* ??à?
7 x. o" M: B% L8 ?, R; P
pLight->Specular.r = 2.0f;
* p$ w! z( E8 C- L: T. n; f
pLight->Specular.g = 2.0f;
4 f' ` x# E9 e: U1 W* J
pLight->Specular.b = 2.0f;
" i& B/ w; g9 }5 V% l" a- S& a
// á?oˉ
! G! x/ P7 ]* q+ s
pLight->Ambient.r *= 0.9f;
; g# o+ I& q h- T- m1 X( B
pLight->Ambient.g *= 0.9f;
* }, R! A$ D2 k0 p
pLight->Ambient.b *= 0.9f;
; a1 b' l; L* c! [/ I* v% ?
1 c5 c3 z1 \1 q' ?
memcpy( &m_light, pLight, sizeof( m_light ) );
/ K3 u% T8 _3 @
4 h* ^9 n( p4 b% E) B- t
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
; E7 {' Q8 w# @1 @) d; P
pLight->Appear( m_pd3dDevice, TRUE );
% M h [ `- k" s. ]: o# d
1 I4 }0 j7 Y5 {7 u
DWORD dwR, dwG, dwB;
3 X* T* o! G+ d! t% j
dwR = (DWORD)( pLight->Ambient.r * 255 );
9 g3 V9 s1 }: r3 z) l: O
dwG = (DWORD)( pLight->Ambient.g * 255 );
9 ?1 N z! l$ V, \& B1 k k- [/ A% q9 Y0 V9 F
dwB = (DWORD)( pLight->Ambient.b * 255 );
& x9 q6 S' J- Y* L9 _3 }+ l
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
7 Z. s3 D, D7 U, b- }% d
}
$ @' j6 c. P) G! ^* G
}
" L/ v1 I8 ?) `$ v: w
else
' n! G* k& Q& I- o3 C% z
{
+ G0 O. j" z) D
if( pLight )
$ l' T# a [( C }# Z/ e
{
, \+ F, Q; ~& y$ A K/ h0 ]
" i% b: S& K1 G2 X
int nHour = 8, nMin = 0;
" y# L7 s. n! g3 ~
#ifdef __CLIENT
! [4 o7 j9 e9 |2 F! z* T/ I0 n
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
/ g" s+ @* w7 D
nHour = g_GameTimer.m_nHour;
6 e* B0 n# ~- _ C, q2 c
nMin = g_GameTimer.m_nMin ;
% y* z; d# E& ^7 `1 U
#else
! M- o0 |$ j5 D, D* M7 T
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
1 J+ l T* l9 v: Z9 G. o3 F/ w# o7 l
if( m_nLightType == 1 )
$ v. C, | w; O. y0 T2 t
nHour = m_nLightHour;
1 b6 x l5 Z9 ]1 Z
#endif
( z5 j: b" V+ y ]
nHour--;
; m/ Y J) l1 f+ k5 H
if( nHour < 0 ) nHour = 0;
; p; f4 S! ~7 u* {9 i# m8 W6 v
if( nHour > 23 ) nHour = 23;
3 r. G9 @* a2 ?5 ^
+ P3 t! g( W# g" J% C5 u p6 ~0 c& D
//if( m_bFixedHour )
$ X) Y% ?8 C( s4 p+ D# V4 _
// nHour = m_nFixedHour, nMin = 0;
; ^' T8 d% v i3 _+ c( d6 }0 v
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
2 _# j/ A9 Q3 a: r _2 B
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
$ A& b C, V. ^- @
' d7 d. ~' @/ `/ l8 {
//m_lightColor = lightColorPrv;
$ A' e s, ^0 j/ S
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
4 V9 ^( o( W# n( s
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
' h1 W' h! M) E0 b6 H8 x
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
0 i8 ]0 v x4 } u ^
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
U1 V& b4 U+ ?9 u, d V
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
5 }4 f2 A- U, l* l
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
1 E3 d- @- q5 J+ f) f* R" e {( m
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
' [; a/ I( Z3 }$ R. m
+ M/ p+ U! z0 Y9 o
// à??μ oˉè*
/ Z- v' ~3 ^3 ^, V. @7 l1 o5 d
pLight->Diffuse.r = lightColorPrv.r1;
( _9 H/ }( W% _: X! e
pLight->Diffuse.g = lightColorPrv.g1;
& D( R- ^6 V6 Y. ^, A$ q( u/ ?/ u( `+ l
pLight->Diffuse.b = lightColorPrv.b1;
+ t* N: n) U/ `, _# g- Q
// oˉè* ??à?
, y6 e, ^6 [' D* U; a
pLight->Specular.r = 1.0f;
5 I0 h0 I& b4 c1 g9 W) d Z6 }: Z
pLight->Specular.g = 1.0f;
* N4 b1 ?4 P2 Z4 w/ L) A
pLight->Specular.b = 1.0f;
6 K k$ E6 f1 [% J
// àü?? oˉè*
8 K$ K c y) ? X6 n. x0 ^
pLight->Ambient.r = lightColorPrv.r2;
1 E9 |5 L2 {! T1 R
pLight->Ambient.g = lightColorPrv.g2;
G. G+ I4 u2 o0 I( T
pLight->Ambient.b = lightColorPrv.b2;
$ {* |- F& z+ ]; B
0 F& m/ V; g+ r3 Q- J3 J) I
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
/ ]. n; @* J1 o O1 D- f
{
" e' Y. X9 A3 L. a
pLight->Diffuse.r *= 0.6f;
6 h4 \$ X' T s/ e4 S0 s; W
pLight->Diffuse.g *= 0.6f;
* K& u$ A+ g- o' r
pLight->Diffuse.b *= 0.6f;
" p* s" D. _# @; d C0 B% q
pLight->Ambient.r *= 0.7f;
2 D5 o# X4 w9 f) J* x8 |
pLight->Ambient.g *= 0.7f;
7 U0 B% P6 M* Y2 d. K( k
pLight->Ambient.b *= 0.7f;
: n0 _: _2 q# C9 W3 }( R% K
}
+ s n1 b% C" D( h
! e8 G* @1 [: N& D w
#if __VER >= 15 // __BS_CHANGING_ENVIR
9 t! D; n7 Y6 o2 B# e" U
if( g_pPlayer )
/ V, }' S8 M5 i2 v4 i8 k3 \7 W* w
HookUpdateLight( pLight );
/ V* t; d A, ~6 {1 ^+ X
#endif
: ~; N+ @2 x3 m6 w+ @# M
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
9 S2 {4 q0 }5 x8 `3 w
' e, H# t4 X0 q& d; g k
#ifdef __YENV
) @1 o8 d6 k l7 k5 v; q- k3 z1 g
pLight->Diffuse.r *= 1.1f;
4 G! |& {1 M( ^. G, u
pLight->Diffuse.g *= 1.1f;
3 l2 h# p2 A$ Y! l$ Z& q
pLight->Diffuse.b *= 1.1f;
: [3 ~: r A+ C* }( o
// oˉè* ??à?
( ~: @6 k- C: n8 r6 S! d! B
pLight->Specular.r = 2.0f;
) W: [' K$ r+ C# y" ^+ X
pLight->Specular.g = 2.0f;
' h* ?% m! g/ X/ [# U$ h' k
pLight->Specular.b = 2.0f;
8 [3 i1 E% ]+ j, w/ C) n. n# H
// á?oˉ
3 J' m4 [4 S3 P- ^
pLight->Ambient.r *= 1.0f;
2 n) n1 g( R& B @/ {
pLight->Ambient.g *= 1.0f;
8 h7 f& [, ]' F
pLight->Ambient.b *= 1.0f;
" e- N' m) p0 g' z* b
#else //__YENV
. e5 @- ?4 [ Y7 P
pLight->Diffuse.r *= 1.1f;
) y9 A0 @$ Q7 z! W1 k2 {& j/ m1 c
pLight->Diffuse.g *= 1.1f;
+ }0 ]4 C' j9 d4 k# V; {; i( z
pLight->Diffuse.b *= 1.1f;
. ?1 ^) [0 ~$ _/ }" J! R
// oˉè* ??à?
3 a b' r8 k0 o. ?" w* d
pLight->Specular.r = 2.0f;
@$ E2 \+ b5 I
pLight->Specular.g = 2.0f;
4 T( K' L- d, w0 _2 c
pLight->Specular.b = 2.0f;
1 r; ~. |+ v! h
// á?oˉ
, d2 ~! X+ R1 k+ a& K8 S+ ~
pLight->Ambient.r *= 0.9f;
5 j7 q' v2 N- [+ F
pLight->Ambient.g *= 0.9f;
% ?. L( ?& J. Z! h
pLight->Ambient.b *= 0.9f;
! j/ b& `, _0 W/ _! H+ C
#endif //__YENV
" M6 f% j/ ]8 W. Z2 n
4 P6 D' a" W2 t
memcpy( &m_light, pLight, sizeof( m_light ) );
: D6 ^* B% |) {2 h7 y
+ G( d6 p+ i( ~9 X0 j$ G
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
9 H5 N9 q: _5 U5 F y! z) K
D3DXMATRIX matTemp;
8 B) e$ ]1 Q- \8 j
static const float CONS_VAL = 3.1415926f / 180.f;
3 y- C- |4 c' r- \3 q. m2 W2 N
( m$ i' U. |9 T
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
9 r5 W% _! S2 H4 l" b. h- t
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
6 I" a4 @ ?5 l e8 `6 l
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
O3 M7 z9 @" J. b8 _) N% i" s
pLight->Appear( m_pd3dDevice, TRUE );
: K2 q( x3 U; l
1 D; I' D' d' X0 f4 Z
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
! m2 O4 w& C4 k0 W
// D3DXVec3Normalize(&(vecSun),&(vecSun));
& l9 e6 v; \+ W2 |$ w
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
: K8 K3 K( l |$ ]3 L( D0 X
1 ~/ s% l' O, o, ~$ d/ t* `
DWORD dwR, dwG, dwB;
3 e4 \& ]/ a/ K0 I2 t
dwR = (DWORD)( pLight->Ambient.r * 255 );
9 b' u. _% A6 N. ~+ T& E% g6 q
dwG = (DWORD)( pLight->Ambient.g * 255 );
- F% g- h9 M: T: [% D3 ?/ p
dwB = (DWORD)( pLight->Ambient.b * 255 );
2 m+ N$ p9 d$ O* ?; i+ N+ n% ^+ C
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
6 [& P) A& L# X3 k4 r% m# m
}
# h9 W6 q4 i5 v4 ~, B( Y
}
* d% R; P) S C- b. ?5 q
, b8 ?. B3 i8 B# E
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
f7 U& i0 q6 c
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) );
1 y5 s( u2 V+ [: Z+ n9 T6 C- }2 m; D& z
::SetLight( bLight );
5 j* ?9 g) ^, m$ k0 v. R
+ z, M( P6 s7 b
// ±ao? ?D?í???ó á¤à?
! H8 c: v3 g! y8 x* q' o
m_pd3dDevice->SetMaterial( &m_baseMaterial );
- ^ K8 d( \# j! L
5 n( E) P6 x4 _6 k7 ?
#endif // not WORLDSERVER
3 A0 i' S( @# C& ~" P, D
}
" y( I: U! r0 ]7 B
并更换
% t9 g( l5 D( v0 W. W$ r
Code:
3 r% Y% g/ u, t: I3 g3 ^
__FLYFF_INITPAGE_EXT
) J/ W6 T6 t P
定义
7 f3 j/ g; E2 d# M2 j4 J
; J' ^4 {0 N2 L# N- ~
8 R2 c' J& a! B9 z, L1 S3 h
* _) a6 l+ M6 T: O
0 M* z+ k% x: J9 B5 w% R6 l
现在终于删除我的狗屁加速...
$ n9 X. L% u) K( m8 E7 t
7 D% i+ }7 \, e
" y& t) U+ Q* i5 f; Y' w8 H
8 J% q) E! s+ d6 P3 q
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2