飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
5 N" m" `, A- I6 v/ b: c& J
尾翼:
6 g ~, B) u( `% E3 E% h% P3 @
5 a; z) N. G6 k" B7 D
代码:
2 k4 f+ O$ }) N5 E; K
CWndAutoFood::CWndAutoFood()
) N C3 K' e5 E# z8 Q/ Z
{
% H& K/ E6 j) \0 K( ~
m_pItemElem = NULL;
/ V+ n4 J! _5 K! b: i' ]$ t
m_pTexture = NULL;
* F* T- ]' @ q$ u0 J0 Y# g
bStart = FALSE;
/ `. R- z( H8 V1 G# `6 c* }5 \
}
' ?/ Q* r6 j( Y9 \& D
8 Y3 A, ~3 x: p7 \- }
CWndAutoFood::~CWndAutoFood()
# h; [ b- w* O5 j
{
) `# \6 y2 }9 H( E9 Y
AfxMessageBox( "AutoFood ist gestorben
" );
3 d7 H/ M% @% I6 N
}
- t7 M8 B: j( B& ~" ^9 v
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
* K- ^+ N) R# a2 u, W& a4 J {
{
, ^+ f" A; V1 O. B- m9 m+ j. ?6 J
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
8 J+ d. Q" p7 l7 k6 Q& _
}
: }0 C0 q" q* \% Q1 o
' M& ^/ _; I- x7 q( A
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
5 v; [& l( R. P, o, U
{
, z) o4 |: ^# W
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
4 @' f- ~: g) i
CRect rect = pWndCtrl->rect;
5 G9 X6 b7 C" j& _
if( rect && rect.PtInRect( point ) )
/ }; c9 v+ c2 S/ g. v1 f
{
6 }+ ~3 ?- ~$ R8 X- \9 X
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
$ V6 f5 ^! B- M" L. V# ^
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
, |2 C: F5 q7 j
{
8 A6 [5 c3 Y$ @- C5 ~" C: Q% T
if( m_pItemElem )
( g. d% _( c! W, t/ I: F" ~+ T
{
4 W- l, s( C% _1 z# C
m_pItemElem = NULL;
& U+ ]* n- e/ Z7 f9 a- C( {
}
" c; r$ \) U7 A1 C+ a$ ^; C
m_pItemElem = pItemElem;
1 Q0 M2 y6 s$ d/ ]
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
7 z4 E. m, k3 U/ [7 ` t* W, k% r
}else{
8 H0 M( H) A6 E6 r+ f) ~8 r3 t
SetForbid( TRUE );
0 v. u& i2 g) D# a. H" I0 r
}
5 [. n5 r( E' A0 \) ~0 |
}else{
1 Q+ s% b" X! J4 a" {
SetForbid( TRUE );
: |# r( G( F; V3 A
}
6 E( B0 t" s4 p; Z1 T
return TRUE;
- F8 X7 P% v$ w' U- z# L
}
; m4 u1 U! r8 `4 S! Z
5 u# y X; o; V) A& k* B. F
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
: |2 r9 h" v2 p3 t# G
{
5 k* o5 r) j8 l5 H% e: d
switch( nID )
/ \+ x) o6 t0 ^
{
. _: n; f$ T9 I i$ ?
case WIDC_BUTTON3:
! t( M' ]% K: A8 K. |3 S
{
' _. a* D1 X* c+ w3 l
bStart = TRUE;
% m( S$ `) r# m e8 i) S
break;
. a1 D7 N. i7 ^* G% _
}
0 a3 F! j5 R& [4 t4 x
case WIDC_BUTTON4:
4 X3 b0 _2 Q, e4 C
{
: k. R$ Q6 E, l5 K% n/ o5 U3 E7 y1 M
bStart = FALSE;
9 x6 |' I( c) {" ]1 X6 t, {" d
break;
. J6 @( s. T' N' Z0 @
}
; C; K0 X/ ~4 u
}
' t" [; ]1 U$ f6 k; W
return CWndNeuz::OnChildNotify( message, nID, pLResult );
; t9 c3 ~9 ^4 l0 l" U% J+ p& r
}
) X1 G2 _! J- |
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
# l' m* U' R! H' |
{
! U/ A5 ~3 _6 _0 @" L1 N
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
- A5 a$ o5 k& v
if( bStart || !m_pItemElem )
7 m. R" l) c) b K! s1 t
{
( y7 e: u y! T! C3 J6 q
pBtn->EnableWindow( FALSE );
+ K; _0 n$ w+ v l# }
}else
0 y9 {& a6 q4 x) ]0 z
pBtn->EnableWindow( TRUE );
* `' r7 Y% m0 ?& y: S) i y
if( m_pTexture )
0 \3 b: Y; C2 C7 w3 H
{
* G; Q7 m& W D
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
6 E! h; |5 b4 v) q3 o# ]! P. }
if( wndCtrl && wndCtrl->rect )
4 j0 s' x6 T' i2 ` m- o# y
{
G6 ?7 T9 g, {
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
0 E/ L8 e7 [ _& d2 W% M% B& ]' a$ T1 ~
}
( c2 ~) W4 w D& G
}
1 Q! E7 t2 T- b9 ]9 i! r! `+ m5 B
}
; N( T$ f) U- q3 K8 f- `' H( G
- T7 I/ F7 x2 m+ `+ D6 A
BOOL CWndAutoFood:
rocess()
& p i3 P1 R- e( Q! l: m; T$ I
{
& B3 }! \7 ?9 _' a- N. x
if( bStart )
2 \ Z. m7 O& v2 ]
{
4 y# x8 C! X" X. l) w7 v( ~
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
5 f' B, O' d( P+ a' ?9 W
{
( Q% |. `- h' `* y6 ~0 |
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 q+ }2 R" e
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
# F, n4 O5 h) x" J, x' S) \
}else{
7 X5 m' Q$ t) W7 C6 q
bStart = FALSE;
" X* g" A" f1 Q v" X7 K
m_pItemElem = NULL;
. m- y( u7 m# [& Z5 d# F6 Q8 Z
}
& E* s- a) p, ?
}
8 U8 ]0 R- P& F9 t' d
return TRUE;
6 O/ W2 g! f7 U3 j7 J* H" W
}
: F+ v2 n) Z# v2 a
( u. w# E& h" a- X( N' \
登录视频废话:
+ C2 y; N0 @1 L
尾翼:
& Y2 ]4 g- s9 v" p. \
6 J$ |# W W v& A
代码:
\: e4 _) ]* Z
6 \$ {3 x1 d* Q* E& K& z3 \: {' e$ }
void CWorld::SetLight( BOOL bLight )
6 e) p; o: ~5 U p7 M8 }+ P& ]
durch
* h! V5 k6 \6 H3 R( G4 S- c2 K
Code:
: f" x3 Z0 F' [3 o3 U' n
void CWorld::SetLight( BOOL bLight )
( } e5 Q3 c! C3 E7 `
{
. H& Z6 _. _6 a! m9 E4 O! t' {; g) }
//ACE("SetLight %d \n", bLight);
( B( A; h( \( ^( L
3 z+ r$ }5 @- h
#ifndef __WORLDSERVER
+ R+ ]) K2 r# W0 f# R8 [
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
9 I& \6 C$ h/ B$ S" ~
CLight* pLight = NULL;
( D; N( o0 z# P: i6 `1 t5 C
) {! c& v6 P `- {
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
$ f9 I+ H# \6 }8 y
; B0 W. Y5 j5 z7 G5 G
pLight = GetLight( "direction" );
P3 `- X n9 ?4 A
& I1 b. d3 }+ ~% `9 I+ x
#if __VER >= 15 // __BS_CHANGING_ENVIR
: Z* m7 i7 N. _4 e
if( g_pPlayer ){
0 f, D, I f5 \" `* N$ n8 f
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
8 _! A5 B9 ?% l1 H
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
6 A* E4 M3 @: B
{
1 P; `* x' m+ P6 V; ^
if( pLight )
# w( i8 z/ V/ p% m
{
; p- C8 Z' `4 W2 \$ O5 u
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
, U0 k1 _' ^; v3 |3 c- ?4 S
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
* u/ r. l6 i9 C5 b( s# L. m; L
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
* m6 ?" B( k ]
, \8 U' ~2 `, M( q' y5 P% l
pLight->Specular.r = 2.0f;
) D7 R& _8 h, [- R2 _* t
pLight->Specular.g = 2.0f;
; F6 I+ {$ W' L4 c: Q
pLight->Specular.b = 2.0f;
. e2 r& S# K% ~
6 g3 q9 H" L- P2 s2 n" V+ v+ M9 }
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
- G! k7 H. W( q/ u6 x; u
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
D3 y9 G1 Q' ]; a1 {0 c5 O9 d
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
) `4 ^% t' N! Z g! ]
: L" U6 h4 }- B- ^
HookUpdateLight( pLight );
3 Q8 n; d; w/ |* D, ^
$ J# J* [# u" ?+ g. v
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
8 H" |' l, Y+ @' t) e* w2 v2 D
' a/ d3 [0 a3 j6 V! G3 }& q
pLight->Diffuse.r *= 1.2f;
+ q, I! O% r( I0 V: ^
pLight->Diffuse.g *= 1.2f;
# r/ | w& h% K7 _. L T
pLight->Diffuse.b *= 1.2f;
1 i, k( G% z. I% c; d T" Q2 B
e$ F+ m& x- N2 ~) |3 I2 h# `
pLight->Ambient.r *= 0.8f;
$ F! s [% K8 y7 d
pLight->Ambient.g *= 0.8f;
$ l; f. `6 ^0 ~9 n
pLight->Ambient.b *= 0.8f;
c$ b0 y0 @4 Z2 d. x S
( E4 I/ j; i' e7 H$ r2 k
memcpy( &m_light, pLight, sizeof( m_light ) );
& E& Y% B, G6 [/ [
7 o) M* y4 O W( a) {
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
& Z. V) u) [: u! v1 r
D3DXVec3Normalize(&(vecSun),&(vecSun));
* X s: x! r: k1 Y6 _: E: i
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
- \. c6 N( f. z b
pLight->Appear( m_pd3dDevice, TRUE );
! n$ }4 t3 N# f/ X/ G
+ q$ @: K7 f6 w+ l
DWORD dwR, dwG, dwB;
7 O4 E0 D; }: _& H4 b
dwR = (DWORD)( pLight->Ambient.r * 255 );
3 M+ ~2 i+ S! K
dwG = (DWORD)( pLight->Ambient.g * 255 );
- L( I/ }. L2 V$ v& o$ N( T
dwB = (DWORD)( pLight->Ambient.b * 255 );
. r0 R* G4 r6 I
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
, t5 j3 a; u. T% p C/ o% k6 Z
}
6 j0 B7 V( ~4 i+ F& x3 x0 d# @
}
, R7 k" y: n2 j9 \! u/ Q' ~
}
5 w8 q/ X0 e0 o' g$ E+ N- Y4 w
else
1 v6 c/ H8 ]* c1 q0 U7 G
#endif
& n# R6 {9 b: w! T: L2 V
2 y, [; J8 w% T) R/ A y8 }- d7 A" ?
if( m_bIsIndoor )
( H; B0 [8 b& \7 |
{
; G; S# L. @ `: @' r2 Y
if( pLight )
4 ^% u/ p2 y- F2 j O' o
{
8 ?/ s! H( ?8 y* K8 m! Z
// à??μ oˉè*
4 z n ^8 F0 r: |2 x& Y
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
/ h* Z+ c, p0 O
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
$ z+ w7 y" Z: n1 q
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
! z4 x5 a! D% \ }* v
/ I# H! Q2 o) X
// oˉè* ??à?
0 E8 U' {6 L' n2 U( M f
pLight->Specular.r = 1.0f;
6 U$ |1 N- @0 I) t8 |+ U+ l
pLight->Specular.g = 1.0f;
9 e4 c2 p; ^1 K3 }0 a, a$ t1 G
pLight->Specular.b = 1.0f;
* M) ?5 M7 A7 e* H1 l
// àü?? oˉè*
6 V! J* k9 d% n- B4 }
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
8 D- l" T1 W1 ^2 Z/ e
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
) ^* C& u- b: v: T
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
5 R5 a2 [! ?5 v1 a& n
/ L3 [& o& S$ n A$ ?
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
+ ^8 ?/ H& Z& ?
{
4 }2 P* p( F4 _1 {- Z4 w& J
pLight->Diffuse.r *= 0.6f;
2 G: q+ }, Z* B: D8 D2 X+ R6 W
pLight->Diffuse.g *= 0.6f;
: s( P0 e* j/ C" c
pLight->Diffuse.b *= 0.6f;
/ ]- b/ V4 i9 t* y
pLight->Ambient.r *= 0.7f;
0 Z$ _) O w4 C1 \
pLight->Ambient.g *= 0.7f;
5 k* N. M! q5 f% r1 m; E1 @
pLight->Ambient.b *= 0.7f;
6 A8 l2 q# c" V+ D* |' h3 f3 L0 C: Y
}
1 p1 E; g! V( g3 _( i
* ? [1 Z2 n: p' ~, J0 F
#if __VER >= 15 // __BS_CHANGING_ENVIR
A% @2 X& r. k+ t
if( g_pPlayer )
9 j# W4 q+ L& y2 Y5 x& F
HookUpdateLight( pLight );
6 O3 @7 ]0 T5 T& _1 w
#endif
; j* a, ] g7 F+ }
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
0 b: R; h( V7 A/ o9 c1 p
9 T- r' k6 @8 s9 s% e' u. o
pLight->Diffuse.r += 0.1f;
) U3 V/ O5 g6 v) y8 O3 o
pLight->Diffuse.g += 0.1f;
" q5 N' y) s! ]
pLight->Diffuse.b += 0.1f;
& p( d% [1 Y" ^+ W# ?0 v
// oˉè* ??à?
: b. ^! Z% O6 k* N2 J7 x$ K6 B
pLight->Specular.r = 2.0f;
3 h! D8 C: \4 q4 }/ s9 \+ a
pLight->Specular.g = 2.0f;
) B* j# F S, w# j g- ^: U/ J
pLight->Specular.b = 2.0f;
0 d @& v% i* @' ?
// á?oˉ
9 L6 h: |# ?. s
pLight->Ambient.r *= 0.9f;
" ]) P8 g) e9 k' T- v& M
pLight->Ambient.g *= 0.9f;
1 c7 n8 i. g: v" U% Y0 O3 ]
pLight->Ambient.b *= 0.9f;
7 h( `2 d! H+ o' s8 ~& H
) J: [5 j- t0 j! f
memcpy( &m_light, pLight, sizeof( m_light ) );
7 \: u' W/ [/ A
7 T" s1 z7 X0 a
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
/ q) T; ?1 z! D& q" ~
pLight->Appear( m_pd3dDevice, TRUE );
+ i2 v5 u' E2 L% p
0 C/ C1 L3 y8 m
DWORD dwR, dwG, dwB;
: p7 X S6 [2 L& {4 a6 `
dwR = (DWORD)( pLight->Ambient.r * 255 );
; @- ?0 _2 }. J/ V
dwG = (DWORD)( pLight->Ambient.g * 255 );
( b: Y- m' @, b) G& \6 b
dwB = (DWORD)( pLight->Ambient.b * 255 );
6 Z" L ?( h4 u) s7 q' x/ x$ G
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 y' o: L. J8 t
}
w$ O# n; u. q
}
" ~ r: U/ u: U7 \
else
/ O/ F/ g& Y% Y$ [- a
{
. J) k9 j8 V# h9 i4 V
if( pLight )
2 L5 o* \& i+ Q" H" v
{
" A: [( v$ K+ d5 I" T8 R+ x/ d
" V5 Q/ B( W/ S9 @! a7 p$ E( d
int nHour = 8, nMin = 0;
, F( i0 p4 d3 G* @7 G$ T
#ifdef __CLIENT
$ p) L/ B. d9 v; x* k. {
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
4 `; [, N( i2 |2 B" @4 d
nHour = g_GameTimer.m_nHour;
# [/ G0 P! f. _; m; [
nMin = g_GameTimer.m_nMin ;
& u+ j" L/ \5 ^% ]
#else
: ]' G3 f# L' Z7 V
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
6 }- B* R, P( E
if( m_nLightType == 1 )
( }% X; @2 q* M$ ~
nHour = m_nLightHour;
& A0 i1 c/ U0 b
#endif
: C# \1 T' t3 }: Q8 M: c1 |
nHour--;
- d" j& ^. i: \$ w& i
if( nHour < 0 ) nHour = 0;
1 W; O* J' Y1 P: z
if( nHour > 23 ) nHour = 23;
) h7 |3 f4 p5 A9 C
! c }4 v& x) d; M: F2 {
//if( m_bFixedHour )
6 y/ Y% Y; `% I" @) A3 N
// nHour = m_nFixedHour, nMin = 0;
% e/ w3 {3 m: x
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
, S9 s( X3 Q% }: u
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
: g q8 r+ s/ {: f/ q- }
% m+ L% U/ D b. E7 u/ |
//m_lightColor = lightColorPrv;
: g* x/ K+ _' D3 Y f k G& b6 F
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
" {4 E% ?# ]: F
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
. k4 F7 ~; E* a3 \. k
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
% U8 o* v6 f* D4 h% c
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
% A+ g- x- `4 x7 a0 l: j; R
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
8 A* @' f7 {) ~5 z3 F* x- h2 J- O
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
. G8 g4 r Z9 K
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
" C" F- t* f" `, n
9 f/ ?+ ?7 R% u) u' h' a
// à??μ oˉè*
' o9 z# p2 h1 {
pLight->Diffuse.r = lightColorPrv.r1;
. d3 {( N+ W1 a, K& B6 S! y
pLight->Diffuse.g = lightColorPrv.g1;
/ \7 _! [; y7 U4 @9 g
pLight->Diffuse.b = lightColorPrv.b1;
0 l/ r- S! \" `* _2 [" t; ~
// oˉè* ??à?
0 s/ ~0 c$ W2 s9 }% K7 p5 e0 h
pLight->Specular.r = 1.0f;
; V" Y- f' H9 s* }" p
pLight->Specular.g = 1.0f;
% E6 i( @+ Q1 Q! f0 }
pLight->Specular.b = 1.0f;
z3 s/ Q, b6 i: S1 u: Q' @' N" V7 u* Q
// àü?? oˉè*
7 A# a. B3 a& S( @4 v5 F+ \
pLight->Ambient.r = lightColorPrv.r2;
/ w% V9 A" q( n7 H5 `" p1 ]/ a
pLight->Ambient.g = lightColorPrv.g2;
F |. E6 u7 t
pLight->Ambient.b = lightColorPrv.b2;
- X! `8 y" g/ O6 C! ~
& I+ d0 Q- ^" ^7 v; s' O0 Q
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
5 E8 B0 N( [4 a
{
# M7 c4 V! R/ h+ g$ r
pLight->Diffuse.r *= 0.6f;
7 \1 u0 b! ?' e) t9 }! V
pLight->Diffuse.g *= 0.6f;
% k" B K# m3 B' l$ R% ~
pLight->Diffuse.b *= 0.6f;
1 k: ]. w: c8 t' M) h" C# }
pLight->Ambient.r *= 0.7f;
8 n, C" z, @ {. K. U
pLight->Ambient.g *= 0.7f;
6 o* z# V$ [4 J( o4 ~) L4 [$ U
pLight->Ambient.b *= 0.7f;
# c* \+ g; v* u
}
5 L+ {3 v& k: \- j8 {3 T
3 A8 h6 k- E5 f+ h B! W9 b
#if __VER >= 15 // __BS_CHANGING_ENVIR
0 j7 ~9 q1 N5 V
if( g_pPlayer )
2 P' Z0 Y% u* _0 }$ {- v
HookUpdateLight( pLight );
# @0 X' D# {, O+ Z4 P' X
#endif
* i$ X7 G% M3 {8 f4 D
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. G* H4 C# e d& R0 q
0 o& A7 C- K+ r7 R) t; p3 U
#ifdef __YENV
1 c J# Y) }# A% g! j9 L
pLight->Diffuse.r *= 1.1f;
) P( U4 V7 e4 k N! ?8 ~* ~3 l
pLight->Diffuse.g *= 1.1f;
& B9 f' `9 H( `# i# w4 K" v* @
pLight->Diffuse.b *= 1.1f;
/ J0 t! i* w7 A R% k7 e* a
// oˉè* ??à?
* i. e) r! p0 t1 p% q
pLight->Specular.r = 2.0f;
) M) S( ]4 s9 {0 b5 G4 J: t2 {/ m
pLight->Specular.g = 2.0f;
3 d3 \* i' T9 X' G4 S4 X# a
pLight->Specular.b = 2.0f;
. `4 @5 b9 a* R
// á?oˉ
( Z* w8 J; k+ [0 {
pLight->Ambient.r *= 1.0f;
' L" Q3 B2 T# V+ [
pLight->Ambient.g *= 1.0f;
9 `7 n5 G! j* L4 p# L; n
pLight->Ambient.b *= 1.0f;
8 q+ K2 [! \% r$ y
#else //__YENV
3 q2 I* @- f- m8 R! x. p% O/ s
pLight->Diffuse.r *= 1.1f;
5 x4 O% b7 G: t( f% ]. k; G5 h
pLight->Diffuse.g *= 1.1f;
5 R$ w, L1 R* w1 j) L% g3 i
pLight->Diffuse.b *= 1.1f;
4 [" p4 i2 X# J- A# ]6 x C4 h3 U9 S
// oˉè* ??à?
! p$ O& U- `) a- C4 D; p
pLight->Specular.r = 2.0f;
+ ?6 ^5 ^8 N( G0 T. e
pLight->Specular.g = 2.0f;
0 O f9 ?4 Y/ f! _1 D' L0 y$ t! Q4 N
pLight->Specular.b = 2.0f;
1 t; O; L Y' H6 [
// á?oˉ
( ~9 ^# z1 ]$ S
pLight->Ambient.r *= 0.9f;
. t9 a! ^- a7 y
pLight->Ambient.g *= 0.9f;
+ r( V: x) ]- p' O# y+ P( x- N; ^
pLight->Ambient.b *= 0.9f;
- O8 E7 P. d( f1 n
#endif //__YENV
X( k, W9 j% f* M7 a0 V! q6 Z: f
/ [; t/ `# {$ j+ M8 R8 J
memcpy( &m_light, pLight, sizeof( m_light ) );
2 q% x4 s$ r6 g' J; T
$ W/ v, ?0 v3 \
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
, }: p" \4 b: c* m0 l1 R, e
D3DXMATRIX matTemp;
% k, u' [! b+ A, t0 A
static const float CONS_VAL = 3.1415926f / 180.f;
3 |; \) Z8 G9 R) |; [/ I
' ^$ b+ w/ d& `. R
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
5 Z% V2 g6 Y: p7 N0 D8 ~* Z$ S/ q% P
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
?2 i3 }9 }4 l T
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
+ a) D$ c1 S6 P T/ k) u
pLight->Appear( m_pd3dDevice, TRUE );
# ?- s) B2 y; g/ z
3 h. [" ^7 c0 M; I) s
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
. o2 j Q% O. R) ]8 \4 B
// D3DXVec3Normalize(&(vecSun),&(vecSun));
+ ?( p: m3 ~2 o; p4 x
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
; r1 c0 Q' l. M8 y2 {" n/ c
8 L0 N5 ~ f" G
DWORD dwR, dwG, dwB;
3 p6 K3 N. i l6 N
dwR = (DWORD)( pLight->Ambient.r * 255 );
7 _7 o2 j, }$ L2 A! E o0 A& U
dwG = (DWORD)( pLight->Ambient.g * 255 );
/ o# _# w# D- U3 O
dwB = (DWORD)( pLight->Ambient.b * 255 );
: c0 v, r. K$ R: J8 G+ `
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 H1 Y' Z) u5 ^$ T6 [! E
}
3 m( D0 ^% I) N' \* O J6 @8 c
}
+ ~- |3 T6 V, I! H; _. I" t
4 _' |; m; ^4 i0 ~/ [2 [8 m
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
' U* [0 p( W0 h/ p: i1 }; [4 t
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) );
, p0 q2 H, T8 e; J1 w- T
::SetLight( bLight );
Q' D7 k B% P8 j
8 h' R1 ~2 e- m; v% c
// ±ao? ?D?í???ó á¤à?
$ t9 r( N. V& d
m_pd3dDevice->SetMaterial( &m_baseMaterial );
- G# F; L% T* [5 A% ~4 { m6 H4 C
1 |: U9 ?3 Q' |3 f: g+ [& H
#endif // not WORLDSERVER
( f1 S* n9 J0 n. C( _/ Z9 e
}
/ v6 D! Y6 {, v8 S- p& Y$ a
并更换
. H5 r8 P9 k& t5 [7 @5 ?" }9 a
Code:
) a- \5 b/ }- [* P6 C Y) C* a
__FLYFF_INITPAGE_EXT
# b n2 F9 p, z; U( ~
定义
* D; |5 C# N% r# s; P
) l5 V* Y, ~7 a/ T2 |; J, E
' ~+ f$ M! I2 I" d4 F5 O, t
( L" m) l* \. n( G
' q8 g7 d2 R6 h) w9 I3 {
现在终于删除我的狗屁加速...
W9 M, J& D1 o8 W! t! e; ]
e3 X: @& U" t3 l! a
5 W& P7 u) t2 F6 l7 d% c
% A4 D1 V) ]% D2 i
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2