飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
, y7 S+ s9 P/ W- O& l' E
尾翼:
' o& O Q- ` a) W2 j& U. Q$ w# ~3 v
l) i! l+ t1 z* e1 E
代码:
# y% }' V) J2 A a8 |# W& n
CWndAutoFood::CWndAutoFood()
) `6 @. G/ e, e! }- ~" g
{
9 h0 o7 n3 q4 l @, p" w% ^
m_pItemElem = NULL;
. f* B2 K% F2 G% H6 c, ]% A
m_pTexture = NULL;
. S% Y a( R, H7 ?6 v+ c( E
bStart = FALSE;
% ^' X0 C0 s5 Q5 w
}
1 O! M, X/ b! w9 @2 b
: f5 W) \& g0 o
CWndAutoFood::~CWndAutoFood()
% W' O d! \4 Z* d% m: n
{
' P1 v0 ` }8 ?6 ^+ Q
AfxMessageBox( "AutoFood ist gestorben
" );
% e9 I5 R/ b4 ]. G/ R" T
}
: \3 p" s' ^) h3 M( d2 ^: s
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
# p+ R, p& N1 D* y* H4 i3 N/ Z
{
6 K1 G0 G) |. K% j7 W0 d1 `/ {
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
6 d: P1 Z" U9 [/ y9 T p
}
7 e, Q- x) Y$ }$ e; q
: k2 O- i4 ~( x) U% e) K
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
2 }6 H5 X/ J5 {7 i. o
{
6 |( ?) s- c; \
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
v1 R3 o9 I# N
CRect rect = pWndCtrl->rect;
5 [( U* h# v p0 D$ S$ Z
if( rect && rect.PtInRect( point ) )
) t( o" l9 {. Q5 k
{
- I. N) y" V+ B" A# f
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
) P F2 ` M, |7 L# ]
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
2 j9 X5 x) f/ x/ q* L9 a* \
{
$ o6 {! y9 E: M5 a' `+ z4 m
if( m_pItemElem )
; h& w% M1 S& q: g, F+ E- K( \
{
# f7 n9 q5 g G
m_pItemElem = NULL;
! ^* H% z7 E ?! K9 S, E3 W& g
}
, q6 u$ l1 t. x8 s C# v: \
m_pItemElem = pItemElem;
/ z' ]3 u- y0 x2 ~5 r- F
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
0 b$ x* T+ d2 |# j
}else{
- O) A% M5 {' \+ x+ z/ {
SetForbid( TRUE );
) x/ G2 m+ k7 P3 {6 e3 `$ H
}
* ^$ \" {) U4 c; |6 m- M: c
}else{
2 {! d" W. `' T0 O# z
SetForbid( TRUE );
* w" f2 o7 i: o6 w- q
}
3 q; D$ l5 g3 N" \ w+ Z3 Q2 g9 z# W
return TRUE;
; c% `& P, s# n5 C+ m. c! o# W
}
# x2 I5 C$ g+ ~! i/ y& E
8 j I! j4 A/ F, k/ X
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
7 e. Y0 L E. t
{
, U- {6 l) c7 B5 ]- f u
switch( nID )
9 S3 x5 i* E+ ?/ H+ s6 a- J
{
$ }! [+ ]/ Y' x9 [
case WIDC_BUTTON3:
~$ [# s1 A: L K, h: c7 N
{
* o% Y+ ], N! {! a$ `# f. Y
bStart = TRUE;
# m/ T5 C( v" q2 P2 y$ U. u
break;
c4 n$ e. O: [
}
9 _+ \3 K h: F
case WIDC_BUTTON4:
2 M6 f7 y; J& c6 B }
{
& W8 Q z6 f5 _0 u
bStart = FALSE;
; Y9 y0 n& r# I8 m
break;
! P/ R, D5 ?$ }' w% A1 x
}
2 m" W x! ]0 h, B
}
" ~$ q; K' @1 R- ~
return CWndNeuz::OnChildNotify( message, nID, pLResult );
! s4 I6 L) {$ U3 ?
}
' [; V# D, T$ P/ x5 G$ d# C
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
/ S1 I+ C4 `$ u6 c4 y+ Y1 m
{
8 g5 ~; G' e% I: H
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
, [* d, J" m+ A$ _0 P h
if( bStart || !m_pItemElem )
2 U( E& y; G0 B
{
0 @- k4 M% L( {6 p
pBtn->EnableWindow( FALSE );
1 z O! i2 Z' u& A' h; ?
}else
0 W0 R$ |2 V9 G0 p7 p. @
pBtn->EnableWindow( TRUE );
1 O! o: W$ U* x) o- m
if( m_pTexture )
' S. {" N2 Z+ X' }; ?
{
4 y4 i& ?' u* U( D, a; `" S+ g
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
2 L0 C1 ~: A+ S3 Q5 R
if( wndCtrl && wndCtrl->rect )
8 j7 K& i9 K* k# v
{
& E( P6 b) M6 i! |+ I. Q
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
0 u/ o, r A- O2 V4 ?: `
}
4 x1 {+ Q6 w* W$ ?7 M. H
}
; U0 a" X( K! ?4 h0 n; D3 e$ U, N& |# ?
}
D1 ^ a/ d6 F6 I
% ?! D) c( i5 u% g3 R* l5 ?4 h
BOOL CWndAutoFood:
rocess()
* P; p( B2 b! Q: _2 Q- S3 l
{
. u" Y1 t; } M! A
if( bStart )
^. A; m; J4 y0 ]7 {2 t" J
{
! C) E+ e: z% S9 `' U+ a* D2 H( _
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
& c" G4 |1 Z6 X, ~' n
{
) ?( \- Z% {& r- W2 p
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
8 N4 b) H2 Y! s5 W3 o6 ?
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
9 M9 N5 y4 p, O: R0 N
}else{
* J2 I0 H7 | n, n
bStart = FALSE;
7 Z6 a4 Y2 m4 Z. t
m_pItemElem = NULL;
( z& h4 w6 C+ u/ A8 D
}
% W+ ^/ G( ^" ^$ J3 i
}
0 k) ~7 Q: x( R6 A( C
return TRUE;
% \9 C* J! A7 B2 N
}
$ g! e& K P! Q! x; I8 y
+ Y5 Y7 N2 w: Q
登录视频废话:
2 Z# U6 ^4 N" V1 X# d* @5 ~
尾翼:
. d# W7 ^# a9 q! F' d8 [; Z
! f1 o" f( s) I
代码:
$ d& y/ e6 f# Q& C5 z% J e
' w9 ]/ j) {* ^3 S
void CWorld::SetLight( BOOL bLight )
; h% ^0 H3 m" c3 k" T
durch
* b1 ~9 o! Y+ W- r) ~5 Q6 _
Code:
6 j$ I( d: v) d9 q
void CWorld::SetLight( BOOL bLight )
# M/ ~! V, {" k! [* B
{
Z, _$ n' F1 E
//ACE("SetLight %d \n", bLight);
- V4 X; X# ?# L5 B v) ^& w% L$ o
+ U% \5 B8 D4 H9 y7 ~/ Z
#ifndef __WORLDSERVER
( r8 \9 V( ]! E5 g/ v
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
) o- p" [( {/ N9 e5 Q
CLight* pLight = NULL;
% b, P: u4 o: p" e9 h& U8 \
( }8 K h- j0 ]1 Z1 Y+ d
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
& @4 W3 |/ A. s* N% N! V3 G4 A
( m3 h/ r% L h7 F6 j5 U
pLight = GetLight( "direction" );
- B0 n6 l- ~5 H- s
* T7 m% H7 d* X4 ~! p5 K
#if __VER >= 15 // __BS_CHANGING_ENVIR
5 s) ]) A" q/ [6 V1 x
if( g_pPlayer ){
5 B+ _* e' J* I) @
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
" l0 d7 f2 Q! L& H3 ^
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
- w3 G% n p3 N/ @* B( z: p
{
5 n% K4 H; W7 M+ W0 o+ m- `
if( pLight )
" \! ?& u6 V9 v) Q8 [: V# z
{
. v7 n: V( b& s+ K
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
5 k3 d! V0 w a
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
/ H) w |0 {: n2 d8 ~1 h
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
. G0 t X8 Z( b$ [8 t
" o7 V( q' e/ h; e& i
pLight->Specular.r = 2.0f;
9 S3 g' a6 j% U6 T. a
pLight->Specular.g = 2.0f;
4 i9 p0 F' j8 h; f) K
pLight->Specular.b = 2.0f;
9 q9 n: e& d0 Z+ @6 i1 g6 k) c
3 N) \, W; ?2 U
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
1 [0 R! O1 Q9 d% v0 x) H
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
4 Y7 C( H, _9 r
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
0 u$ ~3 Q" x4 F6 z. \$ `
' J M6 g8 L! E, y/ `# N0 z
HookUpdateLight( pLight );
. z4 U2 N8 M" c5 |; O
* |% g) w U o9 C0 D- v
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 K* U t: n( F; G
+ o7 h1 s" ^: `: }- w5 z
pLight->Diffuse.r *= 1.2f;
, K3 q8 X: i+ h
pLight->Diffuse.g *= 1.2f;
2 u% B5 o$ Q/ p' X+ ~
pLight->Diffuse.b *= 1.2f;
6 h, k+ d) f, [5 |
/ l/ m1 L7 C: p* x2 ^; I. F% x. S
pLight->Ambient.r *= 0.8f;
5 S/ O [4 E7 a/ \' W
pLight->Ambient.g *= 0.8f;
. F h3 D, }4 r' V
pLight->Ambient.b *= 0.8f;
0 x) V0 B0 {1 j
- k/ b$ N: I9 I
memcpy( &m_light, pLight, sizeof( m_light ) );
' g3 f( |/ U( _9 z! t& U9 u; ^, K
B; j/ u# W; \9 q. F- K0 `2 Z2 R
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
4 U9 c8 }$ T% T; `7 @9 d
D3DXVec3Normalize(&(vecSun),&(vecSun));
7 C0 Z) S9 [. E0 @) A' K
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
/ f" y* B8 r- }* R3 e2 z0 W' C% G% ~
pLight->Appear( m_pd3dDevice, TRUE );
! t; [) U, V! S6 {. t
1 A. g: M' d b0 B/ J) ?2 U
DWORD dwR, dwG, dwB;
8 |* _+ G1 p, D
dwR = (DWORD)( pLight->Ambient.r * 255 );
4 W- M* S* u1 J* f5 a+ P
dwG = (DWORD)( pLight->Ambient.g * 255 );
4 O' U# i. z# t: X
dwB = (DWORD)( pLight->Ambient.b * 255 );
' @ _/ v7 w" j# ]! ^" }, o' N' U
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 C! o: m1 j$ y; _2 t0 m: g
}
0 e5 v6 d1 L" q; o1 x
}
% [$ J% Q& l1 s
}
" Y. P. v; O: T( U: {# ^0 _
else
: S2 s9 k3 ~+ ]8 I' M
#endif
x# Z9 o0 s. K% I! T7 H8 x& d/ d O- n
$ B/ y+ T- N" H+ H% i
if( m_bIsIndoor )
2 r0 v1 g3 X! U) D9 x0 s
{
; D; ~0 e4 \. u6 b' _& T4 @; F
if( pLight )
$ [* A& N, V! t6 T; b% s/ f. R2 F
{
% ~% x! a1 H' s6 F- y
// à??μ oˉè*
/ w2 t2 ?+ V: s6 l. j* ~
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
# K0 y+ h+ A& \, b5 ^
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
3 u0 c( d/ A( n A0 c# \: @# Z9 h2 n
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
- f( k6 l4 n( c1 q
7 }( _% a2 T. S
// oˉè* ??à?
- T# j: i" z6 m
pLight->Specular.r = 1.0f;
# d& A: `* w: V. E. e
pLight->Specular.g = 1.0f;
+ i' s8 ?3 c0 m/ Z9 e! u- u. g
pLight->Specular.b = 1.0f;
/ V+ u0 A/ R* t
// àü?? oˉè*
& }, Q$ u; a- _! H6 I, u
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
) ~( a+ h$ w) o% z- y
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
% w4 L" ^, y; c( b3 u! E
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
6 W) {# w. E* e0 V9 X o
+ J V' F s; C6 R+ j( i: s
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
1 D8 [( Q, N0 J& P9 z" @
{
. @$ g* ^/ Z; s. D }/ q# [ A5 y
pLight->Diffuse.r *= 0.6f;
# O4 h" Q/ W5 J1 F/ a/ l
pLight->Diffuse.g *= 0.6f;
' g; ~8 @% L! X) r2 O- C" I
pLight->Diffuse.b *= 0.6f;
& h# e2 W. Y1 F5 s& H' z
pLight->Ambient.r *= 0.7f;
: D- U5 E" e$ ?6 j
pLight->Ambient.g *= 0.7f;
* |: y& }. [1 |8 M! S% Z
pLight->Ambient.b *= 0.7f;
9 L0 n+ D6 J% G% \1 _2 F( n( |7 j
}
- V- b3 l$ H2 [6 n0 b
# F* t3 e! u, ]7 h& }1 N
#if __VER >= 15 // __BS_CHANGING_ENVIR
& \* B; _: S$ e
if( g_pPlayer )
! A: j3 D% J" o
HookUpdateLight( pLight );
* E2 r* _- h, y+ s7 ?
#endif
3 w- p+ [5 I x2 d' h1 U
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 E) v' B+ |0 }% W0 d3 b# S, {
# x5 ?0 \9 M1 z
pLight->Diffuse.r += 0.1f;
. Q) Q+ S; e! ?9 h
pLight->Diffuse.g += 0.1f;
, y$ y- E H( b
pLight->Diffuse.b += 0.1f;
1 R# e4 k! k1 B8 _
// oˉè* ??à?
& O6 h; ?; I: c0 t; i- O- R' I
pLight->Specular.r = 2.0f;
/ A/ [7 a. U! g
pLight->Specular.g = 2.0f;
- a3 X( E6 T& i
pLight->Specular.b = 2.0f;
5 g# ?& z, d2 W4 l: j7 I
// á?oˉ
' o, c# |4 G- ?/ d0 G6 F" i
pLight->Ambient.r *= 0.9f;
8 X+ J& z j$ S# I" t
pLight->Ambient.g *= 0.9f;
7 V& `% I8 u2 p6 H d8 p
pLight->Ambient.b *= 0.9f;
% q2 C/ m& u3 [. F. U$ G7 J, o
2 x9 \7 h6 n l4 Y* X# b
memcpy( &m_light, pLight, sizeof( m_light ) );
8 {% {- P# K8 r' y6 b! b1 [
/ n' }; u1 ^6 l% i( i& b
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
/ q+ v6 a6 M% _* \+ d9 e
pLight->Appear( m_pd3dDevice, TRUE );
* ~: t: c, k- s- s
$ v6 }3 ^1 e. ~
DWORD dwR, dwG, dwB;
7 A& J# {/ _6 e' N- n, F
dwR = (DWORD)( pLight->Ambient.r * 255 );
" Q! r# q/ {0 l( P
dwG = (DWORD)( pLight->Ambient.g * 255 );
% o( t( G! R! G$ b: X' U; a
dwB = (DWORD)( pLight->Ambient.b * 255 );
8 R$ B$ \$ e" t& O
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
g. T0 a5 @ Z1 V; O, v& q$ d
}
9 t: X5 M4 c* b- K; a5 I& l
}
Q6 T. k D( D* L6 _
else
+ [6 A A; p2 R
{
% M0 Z/ A% h1 x* H
if( pLight )
. F* S9 `4 X5 C( \# ^
{
: P! L- O# A) _' s7 Q8 l
: v, h! e- m" g
int nHour = 8, nMin = 0;
3 f- a2 r0 g$ Z: I
#ifdef __CLIENT
, ~0 z5 ~" s6 ^) I }
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
, O+ d2 f9 p( F/ P
nHour = g_GameTimer.m_nHour;
$ f( |2 M. V* n" [9 q7 b* X$ O
nMin = g_GameTimer.m_nMin ;
E: w# ]3 f- V. ^. p8 I Z
#else
7 M3 W! b4 g; s
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
" a0 H( r- b" c& r4 x: j
if( m_nLightType == 1 )
" m; s) w Q# ^- J) n
nHour = m_nLightHour;
" `2 J5 s+ [$ G
#endif
+ O3 G& W) P, o- K$ T6 @0 n; j+ u
nHour--;
+ U+ t8 D6 x/ F* F- y6 j
if( nHour < 0 ) nHour = 0;
" p4 B, W4 z! v. C
if( nHour > 23 ) nHour = 23;
0 ]( i6 q0 Y; l
5 s( L+ u' C) o, I! v
//if( m_bFixedHour )
% a2 R/ o& c) P; O* @8 m. M# Y, O. M( J
// nHour = m_nFixedHour, nMin = 0;
* g: R _7 o* i9 ~! k
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
; w* S/ ]" _- l7 o
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
2 }2 c: K" u6 O
M/ }3 Z7 j. [7 B, k
//m_lightColor = lightColorPrv;
8 l3 U" j6 I% J
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
" a! U/ ]3 c0 {6 n v3 P/ B
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
) }2 s2 F3 s- h2 [, M
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
8 Z$ M1 F% k( c! W
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
$ q2 m+ a( s x$ j( j; ~1 h6 h
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
( d5 e: E4 y" W0 [' C4 `
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
* u4 q9 R& t1 b% j4 G, c+ q
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
/ X1 \3 E2 b( s9 J: e1 d
; r5 `! x; S+ v/ h6 w9 F2 K
// à??μ oˉè*
" y2 e5 S( L0 o" E9 i' `
pLight->Diffuse.r = lightColorPrv.r1;
6 K" M8 v5 z, a
pLight->Diffuse.g = lightColorPrv.g1;
/ a- C& k4 m& E9 ?* G3 g: f R
pLight->Diffuse.b = lightColorPrv.b1;
3 i: k2 n S4 a4 n# h
// oˉè* ??à?
7 ~ b, o( x8 B+ j4 _+ a
pLight->Specular.r = 1.0f;
+ r. y( T0 t' T3 p: w! B. l3 A
pLight->Specular.g = 1.0f;
' F* v- ~5 V6 h: x2 Y
pLight->Specular.b = 1.0f;
' W, C7 w7 R& }# n0 C( E
// àü?? oˉè*
- E8 g" N- k. g% D: i
pLight->Ambient.r = lightColorPrv.r2;
$ }! j; z4 ?6 X- g+ v
pLight->Ambient.g = lightColorPrv.g2;
( V. j# o; p# x9 |- T
pLight->Ambient.b = lightColorPrv.b2;
/ O$ R8 X, V. j# w2 y d( F( ?
, P; p5 ?4 r) B1 o- x
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
i3 q+ b, G) V4 k* |) }
{
/ e) `$ `8 e' M5 ~6 a' @+ t- I+ h
pLight->Diffuse.r *= 0.6f;
% P1 v% P9 p2 y+ D7 n: @( V! {
pLight->Diffuse.g *= 0.6f;
; L# A, v( h% h! ~
pLight->Diffuse.b *= 0.6f;
! M4 s! N- C( y2 g" q% N8 @( C4 J' o- y$ {
pLight->Ambient.r *= 0.7f;
' O: t* J/ i4 E1 ]; I+ {2 Y V
pLight->Ambient.g *= 0.7f;
5 r, k; i# v" O% ?0 f
pLight->Ambient.b *= 0.7f;
/ ?7 x" M2 H2 |, j. j! F* |
}
* q, h: T; k3 O) \2 p3 h; W7 V. z- J. p
& W2 R6 ^+ j: |
#if __VER >= 15 // __BS_CHANGING_ENVIR
! |3 _5 B7 X4 `* M% J& G
if( g_pPlayer )
4 G2 ?9 V! k2 u' `
HookUpdateLight( pLight );
. v# K \, V8 S9 t4 @+ H8 ?7 v; m
#endif
7 l5 S& e5 b" p5 {+ p4 z s
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
' b& L( X3 U- G* @3 B
% ^0 ~7 l }. \, ?& [" y; Z
#ifdef __YENV
/ y9 v& { v0 c' o1 E1 ?4 y8 Z& `" H
pLight->Diffuse.r *= 1.1f;
' [* F( h; U" K' M9 l& Q
pLight->Diffuse.g *= 1.1f;
2 J% x( R% j3 n U0 t! i
pLight->Diffuse.b *= 1.1f;
" K. c& u+ t1 {8 r
// oˉè* ??à?
: R! Q, O+ A! _/ O$ Z( o
pLight->Specular.r = 2.0f;
* f; i* h! G" M. p% s0 w. t, F
pLight->Specular.g = 2.0f;
! X" B& x& k, o5 R* Y2 ~
pLight->Specular.b = 2.0f;
- Q# r8 O% I) V
// á?oˉ
5 `6 L( o' L1 t0 {: u1 ^, [
pLight->Ambient.r *= 1.0f;
3 _- Q9 s2 A3 k& J% Q4 |# V
pLight->Ambient.g *= 1.0f;
7 \% x* t0 y& h0 W% a' v
pLight->Ambient.b *= 1.0f;
1 [4 t, r, l% E* C" Q" A- s
#else //__YENV
# z0 x: d* p7 `2 T# b1 _# A' a& y7 T
pLight->Diffuse.r *= 1.1f;
7 z( ? o+ U: H' I; x+ ]0 Z! L- K
pLight->Diffuse.g *= 1.1f;
. l8 h5 U0 ^( y7 r0 h0 k* k& t) t
pLight->Diffuse.b *= 1.1f;
/ g; q2 s7 U/ }1 d& K. T
// oˉè* ??à?
1 C! I( ~4 J( n2 y+ N4 m6 [
pLight->Specular.r = 2.0f;
5 N1 |, c3 z+ O
pLight->Specular.g = 2.0f;
. {! M$ N6 z; t9 O) q9 B( g
pLight->Specular.b = 2.0f;
6 Q" L' f* R k# H/ ]9 d
// á?oˉ
- u9 c! _* w" z6 A9 z
pLight->Ambient.r *= 0.9f;
6 L+ Z0 N9 m. ^
pLight->Ambient.g *= 0.9f;
) ]8 i8 J7 X# U0 s6 }4 @$ r
pLight->Ambient.b *= 0.9f;
) h! a3 \. Q: {# N: l% R5 c
#endif //__YENV
1 R: T( W8 p% {0 K! m/ ~
- ?% y2 r% p2 n* O* ^( |5 @
memcpy( &m_light, pLight, sizeof( m_light ) );
: q% Y2 a4 V9 y% c5 p( t+ i
+ D3 Q6 P) {0 v
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
4 ^2 Q9 A7 `0 t
D3DXMATRIX matTemp;
: A9 ]' ^# z( n$ _! c/ i3 l* P
static const float CONS_VAL = 3.1415926f / 180.f;
6 L( i) b4 l& F) R# C7 Z
3 W8 h1 z2 ~$ R7 }4 c3 K
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
6 u$ `: N4 L% o4 n3 _6 h
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
" L ?1 ^' q& ?" S9 T
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
6 S0 R! D4 U& L1 a \5 k/ s
pLight->Appear( m_pd3dDevice, TRUE );
1 }2 V& ~/ S; u0 V# h
8 y. A5 Y4 i0 \" j5 A& @
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
- q" ?4 m C1 Y1 A
// D3DXVec3Normalize(&(vecSun),&(vecSun));
4 {9 w0 v" c# |* L& j$ W/ {) S2 w
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
5 p& `4 Y0 [' A$ Z- T9 V& k0 |- P0 p
. s" v6 W" m8 v! k2 q
DWORD dwR, dwG, dwB;
, W" M$ g( _( e/ w) W
dwR = (DWORD)( pLight->Ambient.r * 255 );
# {" n$ ? N! d( D9 g1 J. f
dwG = (DWORD)( pLight->Ambient.g * 255 );
/ }; f8 B; i* N) X5 a
dwB = (DWORD)( pLight->Ambient.b * 255 );
2 t# M% g" h' G. y! h4 V
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 E( R) Y+ x; j# f3 F
}
# @& ^8 ]6 D- {1 o
}
, g/ p2 r2 J" d7 F
; j& m1 d. l# x0 ~& o$ B
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
/ O+ r& u9 p# n, p7 Z) _. g/ l- ?
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) );
& q) C6 p4 A$ V$ C6 W
::SetLight( bLight );
. }/ i# ~% U4 c- {
* G5 `" d# N, U% f
// ±ao? ?D?í???ó á¤à?
6 o( l- p: V/ p( D
m_pd3dDevice->SetMaterial( &m_baseMaterial );
# i5 i$ G/ e1 `8 s P5 t: a# l* o* \+ I
7 ~; ^' x4 m, a& q5 k. n; N: m+ z
#endif // not WORLDSERVER
* V5 q! L/ v0 B5 E
}
P( }& z @& p) L' O
并更换
4 S) D5 `; y+ K- m5 k1 C
Code:
$ z1 W' ]; U( u- [7 X% q
__FLYFF_INITPAGE_EXT
5 }2 r! k7 e. w" e
定义
/ I$ E1 R5 `' U
* ]* t9 M* |0 E5 g+ z* F
" _6 q8 s8 d3 h
9 |$ S) _1 V0 | {
, m& j! w9 a" z( \: i& Z
现在终于删除我的狗屁加速...
8 l9 j# O- |& i( g
" k. b' v+ f( S
- b! J% \4 N; p
# B: v: w' ~2 C& g! Z. m
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2