飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
' U% s9 `' J$ p$ ~3 B0 b! \3 F
尾翼:
6 `' Q/ ~$ x" T1 Q
5 j6 P8 t& ~# e0 h
代码:
( t6 B+ D! w/ g3 s& s o$ N6 z: Q& j
CWndAutoFood::CWndAutoFood()
' l/ q# ^: t1 w* z+ } L( f' k4 L" l
{
. P+ }& L+ K% R8 z
m_pItemElem = NULL;
U; }0 k2 W/ o) M2 ]! E
m_pTexture = NULL;
i3 u+ T; N+ H$ x* l( G% z
bStart = FALSE;
( r; ^2 K* o5 M5 E! B. f
}
4 E% n8 H: @6 T. n, Y& }( K5 Z
c1 ?+ M. \* q! Y* E3 {/ i. c2 M
CWndAutoFood::~CWndAutoFood()
$ Z @% W3 |+ T
{
7 J0 \9 S( V- p
AfxMessageBox( "AutoFood ist gestorben
" );
5 i1 F4 Y* ?7 n- v, r
}
! R/ i( r7 i# @4 x
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
$ x7 R* r0 E# Z
{
4 j7 Q( l% @9 Y* `' S: W
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
" G, [' g% u/ p. [* Z
}
; m( E4 f" E, h( _3 h; [
9 J4 W" P; f: T% B' ?
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
3 ?7 s7 M7 K3 c. s6 M: {" s
{
( S W% U. V7 f
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
5 ? Z; _: {* |; W
CRect rect = pWndCtrl->rect;
6 G* U5 r! v( l6 D* a) G
if( rect && rect.PtInRect( point ) )
: }+ c6 g: _* c" A0 k* z
{
$ j9 G! S& w2 v6 X. h' d7 ?
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
5 I) I- m2 G) h5 O. @* ^. r
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
3 [6 _( D9 ?- N4 x- L! B
{
$ c: W4 u4 c) K/ ?# N
if( m_pItemElem )
: J- ^3 d K* G4 W- `" b
{
$ \& L8 _3 G' T% Q, }1 J- D
m_pItemElem = NULL;
8 @+ o5 x0 i' H2 q8 l
}
; e @( W3 Q/ w& c2 Z
m_pItemElem = pItemElem;
7 E! B" x) W, ?) }
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
1 `+ n$ y" J* f: u+ G. Q
}else{
; J6 M0 W2 ~" O5 c; ?
SetForbid( TRUE );
2 l- W- F8 Q) @8 x$ y
}
$ j( W* x' O' ^, M1 I) V! o9 j
}else{
X& a5 N- ^6 h1 J8 w2 b0 u1 `
SetForbid( TRUE );
5 N9 @, s g% j4 t5 B
}
. I8 [2 {- Y7 p
return TRUE;
7 p- c' A# q" Y5 q) z# H& n- P3 X
}
/ h, N2 F8 Y, h7 o
% W! A+ ?. h1 H& l- G
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
( s% c8 a- |7 W2 C9 D' ?$ ^* [0 Q
{
) |6 {& L n9 f; ~# C! j3 D
switch( nID )
: z4 A+ _: s& a4 [; Y
{
+ u8 P& ^! a4 M! g+ v2 {
case WIDC_BUTTON3:
, ]& n ?$ M3 M. s' V# c9 D8 n7 Q
{
+ u# _* b2 D, i$ G
bStart = TRUE;
5 f5 z2 W( j z% Y9 V
break;
4 z9 z$ S' I) H$ b6 {0 U! G8 f( R
}
: ^* k$ _9 n. _8 z* |7 [
case WIDC_BUTTON4:
$ O, S- {3 H; }) r
{
1 n _ ?5 J# e6 \4 |5 @. S" d! X
bStart = FALSE;
2 O' P' v8 L7 G6 r
break;
3 L! Y9 U+ z& B" _. O
}
9 x' g) D7 X7 w: M
}
+ [( K$ {" O: N4 z( @) j7 J! S
return CWndNeuz::OnChildNotify( message, nID, pLResult );
* O" ^4 }# G& \
}
7 u2 `, Y2 A/ `2 h; [* b
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
- `' d. C) X ]" E$ u2 L* t
{
( q) R# k6 w1 B7 {( T1 q( V
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
7 J9 Y5 A8 g: h
if( bStart || !m_pItemElem )
+ s! @# l' x! s
{
0 f. P/ P% ~+ c
pBtn->EnableWindow( FALSE );
9 q' e& ]% Y$ b; l; D- m
}else
* c' n7 O9 T6 l' a8 {
pBtn->EnableWindow( TRUE );
2 w: T: N% ?' g8 \$ f
if( m_pTexture )
4 b7 P; @1 l a# H
{
& S. G1 J" Z' ^! V. E1 ]7 e$ `
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
$ f; V6 X: o9 a" m
if( wndCtrl && wndCtrl->rect )
, z# ]. V& L/ I1 O n1 W" B
{
* \ T( ?, ]# o% n4 ?/ ^/ p- C' k
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
! m. n4 Q2 q, l0 g/ r; M2 a# B) V& D
}
# t" @+ t% W; {) a5 B* a
}
- F: D+ p" ]# R3 v
}
, V& p1 f% e; r) p7 r! N
- W o! U4 F! t5 u# v, F
BOOL CWndAutoFood:
rocess()
$ Y* m! d& N$ l/ A/ g
{
! U, P: G+ T4 ^; o
if( bStart )
9 \+ ~. F5 \8 {' Q. u
{
( ]& O' t0 a. c# ]0 Y
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
, m8 q6 [' k9 g4 J! Y) B
{
- j0 r$ _0 A3 x
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
6 P Y; O; v# ]7 @. G g& k4 _9 p
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
) n( Q5 R8 b* W8 X: s& t
}else{
* Q- u l9 o, v" t7 Z
bStart = FALSE;
( W5 o& N! g" G, ~9 k8 [
m_pItemElem = NULL;
8 Q- ^" p" o R& g; k
}
: N1 P9 }& Y: Y2 _
}
4 }" \) _" l7 S6 h) a( g
return TRUE;
! H( n; b! ]& w3 k. c( E [& Q
}
) R& E2 J" c, }# k3 s% q) I
' J3 J& [& o. t% g! Q+ I/ x6 A
登录视频废话:
0 m: ^& S9 ^/ P: a- t
尾翼:
- B; I; k9 N/ P' z3 R# J7 j
" S2 L; O4 M7 i# m% A. V+ P
代码:
5 O$ P' D) m& X" S: {
8 d; R4 Z) a. {; _7 G
void CWorld::SetLight( BOOL bLight )
3 k/ V4 A; G3 V {( Q8 f
durch
& t# U! _2 Q7 a* r5 U" t5 {
Code:
- B$ i) J& t: u& t
void CWorld::SetLight( BOOL bLight )
; t" M! F, V. r: H4 ~4 [" k; k
{
$ n4 u8 R1 V# z/ o2 v0 A
//ACE("SetLight %d \n", bLight);
, _) U9 A. N8 _* C" O2 r( H
* Z/ A( b2 j% R; Y0 a
#ifndef __WORLDSERVER
" I) G) G% e4 C' Z! W% b {$ {
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
1 w$ L% L& ~5 N7 P7 i
CLight* pLight = NULL;
& m" O8 K; @; n& n$ u
0 j _/ L. ~! x1 W6 b* s, [
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
& F- G/ P6 h) L0 H; q
9 l7 r+ b% u( Z* v9 G- c
pLight = GetLight( "direction" );
. R/ c/ o2 E, e
# E9 o; s9 ?! Y+ o
#if __VER >= 15 // __BS_CHANGING_ENVIR
. l9 z1 t6 [* e8 P" r, \& u
if( g_pPlayer ){
9 z& {' x( p3 E
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
* Q+ |. l! M+ v* R/ Z/ N
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
; }$ [% C: z8 C% [& K
{
0 }) @ h4 S( e: s0 z( A" n
if( pLight )
- h8 N6 \; c6 g7 E
{
: u: _/ K: ], \; b2 Y% ]& V
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
! A' h3 [6 S. W" M% z% D
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
; d" l8 e* D$ ^
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
" R8 W: A; A$ x' t/ Y' O/ D
$ U" ? | q: _5 R
pLight->Specular.r = 2.0f;
6 N/ I9 g0 q7 F6 n; ~
pLight->Specular.g = 2.0f;
, y) l3 A$ ?0 |4 [3 ?" H0 S/ G
pLight->Specular.b = 2.0f;
% p' X9 H+ l. t
}# S! ?' l6 ~7 J' Q8 v- t
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
0 Z: E& H$ g8 i! [$ o" \1 M% F
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
{% ]2 \/ r# A2 f
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
+ |, v( A2 z& V+ l+ p
4 j& X' F* X" f/ w
HookUpdateLight( pLight );
! I$ b s" i, ~! i" Q1 X* u
. [ ~7 J* Y$ T" O: B" j9 }
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
" c) D3 V6 n" m- P0 F
- o: Q3 h5 ?2 f
pLight->Diffuse.r *= 1.2f;
+ _3 K$ x" j! p8 h" O4 V
pLight->Diffuse.g *= 1.2f;
/ y% A+ Q& d$ K* O9 p0 Y
pLight->Diffuse.b *= 1.2f;
* r3 Z# N t$ B9 R' n( |
! B4 ^9 S) M/ `; ?0 G! M9 d. j. \ f
pLight->Ambient.r *= 0.8f;
# t* [' l5 h2 ^& T$ y, K- L
pLight->Ambient.g *= 0.8f;
5 |3 _4 c; K6 r6 v3 T6 E
pLight->Ambient.b *= 0.8f;
3 i: Z5 z J9 S( i6 \: {( @! s! O4 J
# E% N+ \( B9 r$ }: B+ B
memcpy( &m_light, pLight, sizeof( m_light ) );
! f* {1 I7 t; `. k& X: C2 l
$ D% T; Z3 W7 _: t+ K
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
# @1 u! Z* o$ ?" ^2 ?- G) a
D3DXVec3Normalize(&(vecSun),&(vecSun));
3 j9 Q5 ^7 R6 G6 i1 }# p8 L
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
I- f7 F2 t2 S2 s2 Y. O
pLight->Appear( m_pd3dDevice, TRUE );
9 y6 r A5 [: |+ X4 l' n5 L
: q8 o2 U7 G% q5 }% c+ G
DWORD dwR, dwG, dwB;
( L0 Z! b' W( Q. N7 ~0 _
dwR = (DWORD)( pLight->Ambient.r * 255 );
! v- r& _# r3 Z: a& R% g/ @+ W
dwG = (DWORD)( pLight->Ambient.g * 255 );
: v% W+ S+ {9 j
dwB = (DWORD)( pLight->Ambient.b * 255 );
* J5 S" r1 c" z" u0 H6 ]1 w I
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; d: y7 n1 D7 j P% m8 r. G
}
/ m, T( d1 P; v' L8 Y$ K$ l( D
}
/ p$ Z' s5 V) W3 t" `: u
}
5 ^. T' U/ Y d6 N3 T
else
5 ^: Q) T4 \: J
#endif
" z% F4 \+ l) R% g
- m6 \5 O' r- w
if( m_bIsIndoor )
9 C+ ~3 \. O' O6 H- W; ]
{
5 f7 p, H- h" z6 M
if( pLight )
/ b) r- H% a+ l
{
0 w N: W' s/ P$ S) |' H( }
// à??μ oˉè*
; z/ G& B6 K1 \) K6 A" H
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
) G3 Q9 v+ i: n) ^
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
$ D7 N$ T6 U& g
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
0 V, m5 P6 y; x m0 ^4 A: c a/ f
" o; M" C' K. S5 B4 p
// oˉè* ??à?
0 R* k& {1 `4 l3 Y" |, }
pLight->Specular.r = 1.0f;
, P% T3 B- v5 ~9 r
pLight->Specular.g = 1.0f;
: A4 U/ s: t- l$ g) Q0 r7 g
pLight->Specular.b = 1.0f;
7 J8 o; q4 J$ K. R5 a. G" q7 s
// àü?? oˉè*
% ~& C& r# X) y0 U/ q
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
, Q1 e6 d" r% ]! A
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
; v$ O1 N; L& T: ~
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
: l4 d* P8 {2 a5 M7 [$ U u
3 X1 w Y( C' P% L: B! q8 m+ d
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
6 H, `) [ ]; D3 k. A5 g1 G% O5 a- Q
{
' d; F# ^4 I1 x+ r
pLight->Diffuse.r *= 0.6f;
2 Q5 g* J0 V1 ~$ H
pLight->Diffuse.g *= 0.6f;
9 S C6 Y- c% A" _
pLight->Diffuse.b *= 0.6f;
8 I4 d- @) Y8 p A2 J) j8 q* L
pLight->Ambient.r *= 0.7f;
6 e2 ]# k. ~! Q5 c$ Z& A" b
pLight->Ambient.g *= 0.7f;
' x4 W5 r2 g7 ~. B
pLight->Ambient.b *= 0.7f;
) K+ o$ M4 r. n& e# s2 X% w
}
# ?0 B! B. H) f
: e0 {. ^% T0 O. Z6 d1 R- V
#if __VER >= 15 // __BS_CHANGING_ENVIR
9 K6 X& T6 u8 |' L! H9 F- s
if( g_pPlayer )
$ w0 v" [& p7 j& z0 J7 g
HookUpdateLight( pLight );
/ v0 C% _0 g8 _7 D$ g" G# {; ^
#endif
* V. S5 u( A& |& n q2 c4 p
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
/ Q& y& Y, W2 J6 @* ^& d: @
( q6 X6 u5 Z0 t" R4 }. ]' N5 `
pLight->Diffuse.r += 0.1f;
: i& x8 v2 n& _4 |
pLight->Diffuse.g += 0.1f;
2 Z" y, `8 v8 Y( n$ n# K
pLight->Diffuse.b += 0.1f;
4 q# G4 ?2 b& Z3 l/ [& @6 O
// oˉè* ??à?
" m8 ~6 m: T3 x; X$ H
pLight->Specular.r = 2.0f;
0 {3 D/ q$ c, l$ A
pLight->Specular.g = 2.0f;
' t& V$ t. q' G/ `5 }! k" B6 Z
pLight->Specular.b = 2.0f;
$ M$ I; m/ G/ a' D0 G; o
// á?oˉ
, F" h% [6 H {" R7 F6 A
pLight->Ambient.r *= 0.9f;
# B* l/ Y( }1 s
pLight->Ambient.g *= 0.9f;
" s; @$ m4 Z9 J t
pLight->Ambient.b *= 0.9f;
8 F9 i2 r9 L( M
' {& h- _: y% O, H# I0 H7 b* _
memcpy( &m_light, pLight, sizeof( m_light ) );
7 m+ @% s7 \6 ?' H8 I% h
3 W0 X$ V. x: R# F2 g1 ]
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
5 k+ b. Z; x! a8 i# `
pLight->Appear( m_pd3dDevice, TRUE );
7 K- j2 P- u2 L+ d3 C
# Q+ U$ G# i7 c! X8 @+ |
DWORD dwR, dwG, dwB;
e: n S% I3 G) k
dwR = (DWORD)( pLight->Ambient.r * 255 );
6 r; d( Z* ^- P6 S7 H8 z3 Z0 {
dwG = (DWORD)( pLight->Ambient.g * 255 );
- a* r1 G. c! a
dwB = (DWORD)( pLight->Ambient.b * 255 );
) C$ D9 r( N( c
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; J/ W2 h: p8 F
}
) Q- i4 f X/ k# e. ]% W
}
" G' u9 D% W% L) I6 w4 ]
else
. a1 @, J! z, o7 r
{
4 m! d) M- M( I5 X2 r4 Q9 K
if( pLight )
% L I: R5 ?9 {, W( h
{
1 x5 Z% N. `. ]5 m# ^$ m
5 u6 P9 Z2 p2 k$ i+ e
int nHour = 8, nMin = 0;
8 Q1 [9 ~8 l. Z: z! v1 u( V$ [
#ifdef __CLIENT
& C# r v( q) i! g# L7 q
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
/ o2 I0 Q7 D. L8 M- Q ^7 r3 v
nHour = g_GameTimer.m_nHour;
4 O; _5 X: q" z
nMin = g_GameTimer.m_nMin ;
& M+ _9 D0 f3 ^$ Z
#else
- h9 X) K# R; K# j
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
* f* Z' x5 @+ n# T
if( m_nLightType == 1 )
4 T$ k: c6 k8 u, t9 `
nHour = m_nLightHour;
6 v7 X; h# V5 Y; r
#endif
' K0 |9 i9 S! Z
nHour--;
# K/ c) v$ U' }& Q* p$ d
if( nHour < 0 ) nHour = 0;
# G( L2 O! M8 B2 [
if( nHour > 23 ) nHour = 23;
' A" d5 i$ y! ]* | L; M h$ v
& K3 M) @3 O. h; X
//if( m_bFixedHour )
( V& q$ T' }+ \& D1 t
// nHour = m_nFixedHour, nMin = 0;
* u7 @5 I% v$ X# w% ?' A3 l
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
2 s. h3 W$ e" ]5 k. I) z, l
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
. C* A8 p2 D! ^0 `9 @
/ B" \/ J' ^- H" U, g
//m_lightColor = lightColorPrv;
5 w9 I! E5 ?3 W, D
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
; G. E1 P8 T0 i0 I- J
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
- ~/ B/ q$ e% }: e6 m* x _
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
% S3 Y# Y @) A# E" W. p1 S9 k
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
$ U: c! o1 d9 b& u
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
: y4 g! Q r% h1 L W! ~
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
, P. w% R( p6 _8 o9 M4 ~' C9 G- o
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
4 W8 q! U% z0 s
& ^+ G1 k3 c& E
// à??μ oˉè*
- v3 j6 V: M9 \$ \
pLight->Diffuse.r = lightColorPrv.r1;
+ m, C# n2 R }$ e( r
pLight->Diffuse.g = lightColorPrv.g1;
7 N8 j" O# h+ c6 _! h, K S
pLight->Diffuse.b = lightColorPrv.b1;
8 B3 e3 Q& g2 P- C6 }
// oˉè* ??à?
( ?; c. F6 s5 Q( d2 f
pLight->Specular.r = 1.0f;
5 Z$ C8 O5 R, w# E
pLight->Specular.g = 1.0f;
+ B8 z% F2 \% t x6 v( v# _9 x
pLight->Specular.b = 1.0f;
9 r7 l3 S+ l, ?( D( z
// àü?? oˉè*
8 X3 I/ d; e: c; @0 D/ l
pLight->Ambient.r = lightColorPrv.r2;
1 }+ f C2 U6 P8 x
pLight->Ambient.g = lightColorPrv.g2;
$ a; P7 X9 K. c+ E/ s
pLight->Ambient.b = lightColorPrv.b2;
) g8 y3 j! }( j) A6 _ H+ g8 G+ l
6 \/ K, r. E/ P$ P+ E& Z
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
. g, P5 f. z( c' p$ [
{
( h1 M+ d8 K1 |3 u4 w z
pLight->Diffuse.r *= 0.6f;
% @4 z$ _/ n2 k' n
pLight->Diffuse.g *= 0.6f;
, [/ Z- e: p7 r5 i% C3 k( z
pLight->Diffuse.b *= 0.6f;
7 @; z' l2 o- L. h" h
pLight->Ambient.r *= 0.7f;
* v* L) O8 w* N8 R7 X/ b% L* i
pLight->Ambient.g *= 0.7f;
) g6 I$ ]8 j( h1 o
pLight->Ambient.b *= 0.7f;
! {- n _8 S* }5 T2 s' J3 ]
}
& c% w; J) C) z
$ n& L% t8 n; o9 C2 \
#if __VER >= 15 // __BS_CHANGING_ENVIR
4 j) F3 f' q0 C m) Z# Y& a- T
if( g_pPlayer )
8 P- X0 m/ x4 v. |
HookUpdateLight( pLight );
+ ]$ p3 q3 A d8 i D9 o% ?
#endif
, B9 \* ~' Y& p d; _
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& K' ]9 N! |1 r g2 ~, q- h
. u C0 n$ U; `# b. W9 {, q% |* [1 C
#ifdef __YENV
' B% P8 O% ? A! t5 l5 B8 Q
pLight->Diffuse.r *= 1.1f;
$ T/ v* N9 V! u5 _$ q) J# m
pLight->Diffuse.g *= 1.1f;
4 C7 `6 ~2 H: t9 [" K4 y
pLight->Diffuse.b *= 1.1f;
, @7 B( R' B" f. u; G0 U
// oˉè* ??à?
1 S: d5 p) U4 G5 @8 g- q8 C
pLight->Specular.r = 2.0f;
3 `( M$ v; G" K; A% ]3 D% |
pLight->Specular.g = 2.0f;
$ J. U! ?* |! Q2 X7 |$ F
pLight->Specular.b = 2.0f;
- y7 K9 o# q) x* H8 g# U7 I
// á?oˉ
V' {# n/ ]3 Y+ q9 `. e8 m
pLight->Ambient.r *= 1.0f;
* i( b# e' v5 v+ | a& S
pLight->Ambient.g *= 1.0f;
8 o/ k( V! X A4 _: A
pLight->Ambient.b *= 1.0f;
) M, |/ O! s+ }
#else //__YENV
4 R0 `) C% B3 q' j6 H6 s0 ~6 j9 D
pLight->Diffuse.r *= 1.1f;
# j x' V+ D+ O1 ?# W* {2 _$ q
pLight->Diffuse.g *= 1.1f;
8 A% G6 Q: r- w1 ]+ T
pLight->Diffuse.b *= 1.1f;
, k/ c' \! ?3 e+ z# s, U( C
// oˉè* ??à?
" p. F; b! H' B, Q
pLight->Specular.r = 2.0f;
4 p7 P0 I, A$ U# @3 |; }, s
pLight->Specular.g = 2.0f;
+ @$ M0 Z& C" O- @% z
pLight->Specular.b = 2.0f;
: I; g0 Z0 \+ g3 T
// á?oˉ
3 { Q6 J" ~$ ?: v
pLight->Ambient.r *= 0.9f;
$ p1 W! J/ L1 } f4 Q
pLight->Ambient.g *= 0.9f;
! l6 [9 ^, D4 w3 D& w
pLight->Ambient.b *= 0.9f;
5 d- T+ @! Q3 b& A
#endif //__YENV
6 O, Y) U6 @) W/ Q) o) [; ?+ Z
+ m/ Z% p9 `& M- d0 V9 a' B
memcpy( &m_light, pLight, sizeof( m_light ) );
2 I' i( P6 C- G' M: Z. q( p
& W& L0 U$ ^9 M5 G4 @* @1 W' F
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
, T9 ?) T# a3 A1 j
D3DXMATRIX matTemp;
: i% P, k( P3 c/ b
static const float CONS_VAL = 3.1415926f / 180.f;
3 i8 L- |3 e0 g) M! u
" U' v7 Y: d w# U& v8 x" [
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
! N o/ M- ?9 T |( |% p& c( E
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
0 `3 }/ }6 n: Y- C2 q* ^
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
) M0 T4 Q; G/ S
pLight->Appear( m_pd3dDevice, TRUE );
/ E# H" e4 Q0 `
# B5 i8 P- n4 m' I, V# G& e) Z
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
n3 j a' P( s6 H
// D3DXVec3Normalize(&(vecSun),&(vecSun));
& O) x2 Y. ^9 }- C+ u/ L
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
6 W' M$ f& a; ~' \7 O! L! u
# q$ n) L* r9 f# `; d( Y+ ~9 i- o
DWORD dwR, dwG, dwB;
$ R. |& H: e `) Y
dwR = (DWORD)( pLight->Ambient.r * 255 );
* `# ]% a) R7 g: d3 k
dwG = (DWORD)( pLight->Ambient.g * 255 );
( j2 d. I% c+ x* T( K
dwB = (DWORD)( pLight->Ambient.b * 255 );
3 q) H! b+ O+ @% E. E. A' b
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
5 j( Q# w) G3 j/ Y7 q
}
, W- X$ T! M2 L8 b
}
7 C. z' g# ~% T( G; b; ? s& O/ G) F
7 m; V( c6 I7 @
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
/ e$ v) i4 h$ m o4 g, m
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) );
# c; a# X% F2 z* q8 ~" G4 t
::SetLight( bLight );
/ {- g5 Y3 Q, ~
+ |: D+ Z9 w" [1 e& ^: n
// ±ao? ?D?í???ó á¤à?
( Z4 _, a1 n, R& N; U* ~* {8 _
m_pd3dDevice->SetMaterial( &m_baseMaterial );
9 ?; N- N# H) u. x' }1 h: y
+ U& S2 o! p) B. T( G) Z# r$ q
#endif // not WORLDSERVER
( u2 N T9 o+ L
}
) J& c4 s$ p& t2 Y
并更换
# Q* \9 o3 U6 r2 [5 d# P' o) X
Code:
# x$ O7 e$ P" R! o0 t
__FLYFF_INITPAGE_EXT
7 C- \- E( H# u
定义
5 X" s/ r) y6 l" Q
# J1 \8 n5 C% M( v
9 B7 d8 l! M9 V& i9 l
4 ^9 t6 q3 l& T: q
* V* Q9 v3 F* W1 D! K1 c' w1 Z
现在终于删除我的狗屁加速...
- @. Q/ a- G7 T1 E. m; G4 V
6 I, H3 k* O) y, @. x: Q
- @3 e7 u) A+ u$ Q; Q! t
& K& y7 c% {0 a& M6 n3 ~2 @7 s
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2