飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
& d" \+ Q% _; F0 ^* g) B' M$ M
尾翼:
0 m$ X% T" V6 S* p% {. Y7 }: C" F, g
- p" O$ m7 Y$ x& ?3 M0 d; w
代码:
/ Y! Z+ O* L& @3 m
CWndAutoFood::CWndAutoFood()
! s! G3 E3 B g5 n1 P$ M; c+ c* Q
{
$ J# S V2 @! r
m_pItemElem = NULL;
. p6 P( \$ F( a6 w0 |1 F, e. Y
m_pTexture = NULL;
- _! Z0 X, n4 V: L; D
bStart = FALSE;
4 o( A% l/ B/ J7 X, q) X7 l7 G
}
' H) A3 ]* Z" p7 C8 p) [. q
( U2 ~" x; P$ E& Z
CWndAutoFood::~CWndAutoFood()
) c1 C" ~) O2 p0 v
{
8 F/ h2 M/ k5 L8 B1 q8 y
AfxMessageBox( "AutoFood ist gestorben
" );
" S4 V- e6 ~6 G' U
}
% K$ g% D' h$ y% T
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
3 T+ p4 G( g# i) Q$ r3 N7 V
{
% t; `% `; M1 I: t- ~, C& |
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
( D% W4 Y* ]5 r; r! Y9 S: N _
}
( X6 X$ w9 Y; Z' q0 u9 ?
2 z/ y. q( ]: c9 J; V& L# X% C
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
k( S9 |2 K, k# _9 e
{
: M C* {6 L1 K7 L
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
9 }: [+ [& {9 [1 y) B. q
CRect rect = pWndCtrl->rect;
% j0 O$ m; c( j- u! \' I) \
if( rect && rect.PtInRect( point ) )
( t& u* Q8 j, ^1 ~/ L8 O$ A, O
{
( X/ s8 x5 Q) L5 H
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
, V4 o( J- }1 N" b9 L" O
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
' C$ a# [# y9 I9 o; f' \
{
0 S) C u( V! y( l' Q# t: G
if( m_pItemElem )
" _' N4 j# U1 o
{
5 d) m6 L- A" {5 {1 H9 [6 r
m_pItemElem = NULL;
* w- o& b# H, O- ~, w
}
p1 x' B4 I4 A; ~
m_pItemElem = pItemElem;
: N" w: `/ z' R, K* F, N
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
3 j `' v' ~9 P2 |5 n e |9 e( e
}else{
" c9 k, I' ~& _' o2 F4 x8 F; j
SetForbid( TRUE );
- Y$ r- y2 [7 x# P; O9 P. S
}
: A" H, b0 |& B- Y
}else{
1 ^; c8 d6 @9 `$ G" D, v
SetForbid( TRUE );
0 X1 w* `) U [, t" J! {; |
}
+ S. p" {3 T. U% ?! g
return TRUE;
6 d. E& u. X* @. c8 [9 \
}
8 d; k# O1 |1 F3 H/ O/ \1 e
6 X) G4 k& d, X, D X2 V
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
: D) O& P2 l3 q; l5 `. N L
{
: S1 T( M1 o$ I3 N8 s$ Y/ _
switch( nID )
. _$ A& L6 n& p" t* @
{
' k0 G- D6 t W
case WIDC_BUTTON3:
2 l. r2 `: ?1 n. J- o$ ?
{
# h3 i% U! Z+ m, O: n0 X/ F
bStart = TRUE;
( B" U2 Q* I( K1 O% t
break;
$ S8 _0 r. C) U6 _5 g q
}
; K' N/ b' U) K3 P4 h" B' X
case WIDC_BUTTON4:
# S) r5 {+ [, b/ b
{
\$ M- K* H$ E6 ^8 S
bStart = FALSE;
( f a' p# E2 c4 F
break;
1 p9 N( i, g0 D, W6 P( T* D
}
; O- o( Q6 ]/ b( A* _9 i. p* M
}
! m8 k5 W5 O- d, x
return CWndNeuz::OnChildNotify( message, nID, pLResult );
2 n! z5 [+ m9 `1 u
}
: Y9 h/ M6 D5 M4 T( k, G
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
% Y/ h! c2 d& y/ F; T8 t1 n
{
9 |8 P8 i3 F3 l7 g
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
/ T4 G" y6 G# k
if( bStart || !m_pItemElem )
+ D: x( I$ p! z- }
{
0 S2 { ^* P* m2 o5 n+ t) U- g
pBtn->EnableWindow( FALSE );
+ g' w) {' w: Z7 m
}else
0 F7 b( d5 |) V$ t+ l
pBtn->EnableWindow( TRUE );
3 r2 [; }, u* [( Y0 g- p" b
if( m_pTexture )
. K& I( J# |/ l. H
{
/ H4 k3 @& d) ^" k" m
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
! Z& @0 I, S: k4 `/ f* Y
if( wndCtrl && wndCtrl->rect )
6 z7 a+ c: Y# U$ v" R' k7 C
{
! T8 x$ h' a/ `! q; z- V
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
4 J( I) G2 k7 Z k
}
* Y7 D/ o* E- z4 I
}
: ^2 E0 X* a6 F7 G
}
; N- n/ q* n$ `+ d. Z# F& {
c% y# Y) }# W4 ~
BOOL CWndAutoFood:
rocess()
" l$ @, o" h+ N! p& V2 n
{
5 ?) O/ U* p7 `: \8 Q, `
if( bStart )
; v/ d0 r% c3 D- V; u
{
2 L& a' ~. z: [! c7 Y
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
* y5 W2 V3 g9 J; p! _, d
{
6 {/ h! B. b" H' ?
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
: r2 y# W6 F! c% y- E0 T
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
# g. M5 M% v+ z9 A' E
}else{
7 B" k( n/ v- E
bStart = FALSE;
2 S. E! B% H+ p+ [, z5 T2 l
m_pItemElem = NULL;
# t( p) S9 s0 q, k1 n$ Z
}
( r4 m+ b4 _" f% l+ p8 i
}
2 ?1 T. s/ D7 X4 P+ {) ~
return TRUE;
2 A; s g- c8 F
}
1 ?1 I0 ]9 b4 |* _& F6 d
# ~$ V$ L: |% a$ }* M1 w
登录视频废话:
5 c( D& V0 w+ ^/ M5 J6 k
尾翼:
* f' ]" R' \# |$ O4 ^$ P7 @3 f
( G7 I4 B2 w7 S
代码:
6 g8 i& d; Y: k! Y/ x& c
% B8 {4 x4 \* m- d) } Q
void CWorld::SetLight( BOOL bLight )
/ i6 I0 {* B" [: V, _ J' |3 N
durch
; m+ e6 \2 h4 X$ D5 ^7 g4 K
Code:
, |$ P3 U! B4 S& V+ k
void CWorld::SetLight( BOOL bLight )
# V/ Y# Z. ^/ `6 W: g0 A
{
: o3 m4 h) E. y) S2 E
//ACE("SetLight %d \n", bLight);
; C$ P0 A9 I7 f
; g9 T z9 O/ j' K9 |
#ifndef __WORLDSERVER
: u1 k: Z" i6 T( D
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
$ t' K# K( w/ @7 a& l9 |: A
CLight* pLight = NULL;
' l4 l$ B. R) F8 n
& L( a( r$ V: C. D. K
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
% ~4 @2 q, T9 M) Y, z! F |
F5 S" \. s3 }/ o% s( D3 @; ]3 I9 M
pLight = GetLight( "direction" );
$ l7 M) ^) \) s( f& u4 s
: h! I; a4 ^, w' W- M1 _ E
#if __VER >= 15 // __BS_CHANGING_ENVIR
. M- g+ ^6 s3 J3 O; h6 A
if( g_pPlayer ){
' n2 H! i$ s' n" @8 v
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
! l6 T$ u( C) M/ [% v
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
$ Q" `6 G% M$ K0 z3 y( m! v
{
8 J7 T0 p% ] o5 ^
if( pLight )
5 X& Z1 c- | K* ?
{
) @* I& i* Y& E k* T
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
! a& C! N8 u6 l( U+ z1 G& A' {
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
) Q3 d% S- k4 Y* Q
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
o6 ]9 v, H; g
5 F9 h s* P( W; K
pLight->Specular.r = 2.0f;
) Q. A* O7 m4 i
pLight->Specular.g = 2.0f;
8 S2 q3 l4 }6 X5 t
pLight->Specular.b = 2.0f;
/ h y* Z$ _( _1 G5 ?, T. I% [: N
1 w7 j2 L+ U" M9 _9 s
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
$ N- c) j" c$ j4 I* r7 e2 q" J9 T
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
+ `4 P5 q2 m. M1 s
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
; R3 G: E7 b' ?% ]7 i4 q7 e
. s, I. T; y* Y' \2 X
HookUpdateLight( pLight );
3 h/ L6 D4 ~6 O' A1 y
, A. Y" A# s1 J; c1 h4 L
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
8 a; S9 d% O# S7 [; P7 ?% L
1 y* X- G" T2 K
pLight->Diffuse.r *= 1.2f;
1 ]: A2 N5 T6 h9 n: u
pLight->Diffuse.g *= 1.2f;
/ t7 V3 N6 V4 j6 ]8 X( G9 {
pLight->Diffuse.b *= 1.2f;
- d6 D6 M1 ]/ e7 a: g8 A q
8 V& {1 [! i" D
pLight->Ambient.r *= 0.8f;
; N* s% M4 l" N& m+ n
pLight->Ambient.g *= 0.8f;
$ Q1 u7 |/ A! ]3 y" V
pLight->Ambient.b *= 0.8f;
0 N7 y5 j% f/ X
8 L6 T: a/ K3 {5 S
memcpy( &m_light, pLight, sizeof( m_light ) );
. |- v1 d) k6 G$ u
4 T8 M$ G2 ], [0 V/ n
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
" D4 X% \ P/ L& j' t& t
D3DXVec3Normalize(&(vecSun),&(vecSun));
7 E8 z% ?) m3 w, H0 J
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
, p. H! x4 k8 O7 k: b; q+ Z
pLight->Appear( m_pd3dDevice, TRUE );
! t4 z6 @# w" D
- ~9 o9 k$ U7 C9 c8 J. _) v
DWORD dwR, dwG, dwB;
7 W n9 `* ^% b" z2 o
dwR = (DWORD)( pLight->Ambient.r * 255 );
+ e- f- f2 l1 @0 s9 U% E
dwG = (DWORD)( pLight->Ambient.g * 255 );
+ Y% O# g! _1 P( y
dwB = (DWORD)( pLight->Ambient.b * 255 );
( D A* w. S% R9 b) e
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
1 p5 [ A! r4 {5 U9 y7 @8 m9 F6 t
}
^* e [! h" D& j. c) o8 W% z
}
, k! B M) j/ i; u- Y
}
3 O# Y0 L7 @6 P4 K& F2 y/ g
else
) L7 G3 U( o c
#endif
& X9 Q/ j" `, e
$ l9 A6 S8 |6 B O8 ]6 H3 O
if( m_bIsIndoor )
8 E4 X# {2 v7 L
{
* g1 ~3 E! X; j6 K- n2 d
if( pLight )
9 Q% l* u$ w* k9 G; o8 R, Y
{
7 ?! |4 r- t# c/ v
// à??μ oˉè*
) s9 X' H1 ]5 V, {- {8 i( F
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
' k" g) h9 Q3 M+ J8 O
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
+ h' ~+ k. M* \: t! I/ u8 G7 Q
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
0 n" {; o o0 U1 H) \
" `2 S' q+ r$ }
// oˉè* ??à?
0 ^/ M y: ?& P" u1 P+ v r
pLight->Specular.r = 1.0f;
E. n/ J) R7 w1 k( x
pLight->Specular.g = 1.0f;
" v0 u; ]& B' L! n( i* C
pLight->Specular.b = 1.0f;
2 L @ s) d/ B. `! J
// àü?? oˉè*
6 x8 S1 [# i. W$ F. O$ O
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
7 `1 I- I6 W6 w6 q
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
6 x! f$ u! \& ~! k* N7 m' Y6 k
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
3 f( w1 f& ]) a( \) W
; H2 K1 m: e. _) F. ~2 H
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
3 \. z) \7 }5 ]4 z9 s
{
6 T5 { G' t% [ @7 i$ K5 c
pLight->Diffuse.r *= 0.6f;
# L4 S8 `# h7 s' W
pLight->Diffuse.g *= 0.6f;
: G# Z6 l! y# m$ h6 |
pLight->Diffuse.b *= 0.6f;
9 V% K$ }! K3 X; i o# e7 g( O/ k
pLight->Ambient.r *= 0.7f;
1 k- M9 U7 }% i. a4 a4 V e
pLight->Ambient.g *= 0.7f;
- P2 v0 T( Z* S* R
pLight->Ambient.b *= 0.7f;
; o" _4 k7 e4 A) S& A; q. u
}
+ r( `8 L2 C. F- }/ @$ D# F
+ [- ?7 t2 V% R* _) D
#if __VER >= 15 // __BS_CHANGING_ENVIR
- K7 u4 Q: |$ z0 T: h4 a
if( g_pPlayer )
0 r5 B$ E' K( c9 g- a/ c; j
HookUpdateLight( pLight );
) t. M( A+ d* T% c
#endif
i- ^% d( a- Z# ^
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
: F! \ L3 G {/ B0 d
6 _* C' Q) l& H* w
pLight->Diffuse.r += 0.1f;
. B# i9 R1 Q' @5 ]" u
pLight->Diffuse.g += 0.1f;
5 Y3 t. O' \1 u- j8 s2 E
pLight->Diffuse.b += 0.1f;
6 T! u# ]: H- @6 ]1 i& D: B
// oˉè* ??à?
3 a6 l1 N# q q y) L, x
pLight->Specular.r = 2.0f;
/ Z( ?' p$ Y: S: P( ~) F8 c F
pLight->Specular.g = 2.0f;
|+ {) g) Y/ R! Y
pLight->Specular.b = 2.0f;
+ X+ y# {# j D' [
// á?oˉ
: r) J) f5 s" ]# v9 I8 w
pLight->Ambient.r *= 0.9f;
) Y/ X8 ]: Y- o+ Q/ v ^
pLight->Ambient.g *= 0.9f;
h" k2 I& z H
pLight->Ambient.b *= 0.9f;
4 F: @2 P \% ]( ]' [
2 n! f3 k/ W: \9 H* E
memcpy( &m_light, pLight, sizeof( m_light ) );
$ w9 Z- X# a, G8 t- J
( y( _* }5 a2 i% i5 Q
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
1 H/ B& a; e# S6 g; ^
pLight->Appear( m_pd3dDevice, TRUE );
6 a% D, m, Y1 ^ u7 Y: [- U% t. V
3 G( _; w) }) S: ?2 A* B2 z
DWORD dwR, dwG, dwB;
: P0 W; N% M% A0 B) K. k) }
dwR = (DWORD)( pLight->Ambient.r * 255 );
+ E. L8 A2 F4 C
dwG = (DWORD)( pLight->Ambient.g * 255 );
# O5 a2 r8 f3 @' D1 E) h5 q# `
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ ?; @. g" K# V1 {+ v9 C, a
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& S& z2 Z" [, d
}
" H+ X a! t, K1 f) ?1 m
}
4 C; \* c+ G0 }1 `$ s/ J$ R6 ?
else
: T+ c# x9 L4 v3 @
{
% M" Y; A2 i0 m& d/ y0 y' ]
if( pLight )
U6 @4 M8 k+ C
{
' z3 A) j; I9 h- O7 P `
* c$ t8 n& E3 p' z6 X
int nHour = 8, nMin = 0;
$ R6 a I2 P" q2 L
#ifdef __CLIENT
0 w% C A( s- D8 @7 u
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
* F0 B- ?! c/ J3 }
nHour = g_GameTimer.m_nHour;
% k0 Y( {. W [9 f% k4 r5 y
nMin = g_GameTimer.m_nMin ;
7 P$ ^) f! l3 A$ Y& h8 J
#else
- ~" t+ M8 F" D2 J
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
5 u) H- j& V! b/ o2 L
if( m_nLightType == 1 )
9 K: u) f3 T0 [# V. C' J
nHour = m_nLightHour;
0 m- e5 I3 B. v* q: Q" v$ k8 u
#endif
d/ G: {0 r) @ E* F9 t0 W6 C
nHour--;
6 y+ k: ?' F' o- g$ ?
if( nHour < 0 ) nHour = 0;
) Y( W$ h2 n6 O. H5 L
if( nHour > 23 ) nHour = 23;
9 m. B4 @$ ^, j- [$ T: A
( ~6 J' f1 j' N v
//if( m_bFixedHour )
u! l0 S# o+ w$ p2 H4 u
// nHour = m_nFixedHour, nMin = 0;
; |4 |% l' N0 @' [* k
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
6 E' `9 f$ ^' m8 X( x! N! s9 t! x
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
$ M- ], n c. G3 a* J. v5 ]
8 L8 t' T/ N. {( L! m8 b" _. j7 a
//m_lightColor = lightColorPrv;
" n" ~) V/ J0 v0 T& l
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
/ |* u/ Y+ M; Z. U
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
+ d( m+ T: R. I
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
; @& k4 Z% b0 S; {6 x
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
6 }* I& X- ^! y$ c, c+ K& O
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
; w2 R8 I: N/ |7 Y; Y2 }( z3 @$ l
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
* i# R2 }' w) E, ]5 q# m7 }
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
9 D+ }' N: l! ^& @2 }9 x
6 f, X0 [0 k) q9 Y; b
// à??μ oˉè*
. @( B, K+ N4 ^
pLight->Diffuse.r = lightColorPrv.r1;
_7 n. u3 o5 @( C, B8 \2 {
pLight->Diffuse.g = lightColorPrv.g1;
1 }9 K( {2 T+ m
pLight->Diffuse.b = lightColorPrv.b1;
; |) Z$ i7 e6 }
// oˉè* ??à?
' k' O, X$ d4 i( Q% }5 t3 o6 ~
pLight->Specular.r = 1.0f;
- C9 q+ J3 Q H" T( G6 k2 \
pLight->Specular.g = 1.0f;
4 h* E3 L |" A
pLight->Specular.b = 1.0f;
4 J: q$ J5 D& u1 r
// àü?? oˉè*
% u( z9 t# m" s' l
pLight->Ambient.r = lightColorPrv.r2;
3 d/ q% g+ \6 O& L( s: w
pLight->Ambient.g = lightColorPrv.g2;
6 Z3 |# N: ?3 |& ]0 r
pLight->Ambient.b = lightColorPrv.b2;
/ B7 f0 u0 k# ` ~5 I: G& K; G
$ Y. J3 L Y+ Q0 W' L4 a2 T, V
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
2 }# b) W# ?# J& `! x& z
{
. n* z. a8 P! x$ `/ h8 ?7 F
pLight->Diffuse.r *= 0.6f;
6 [. N; J6 g$ A& V
pLight->Diffuse.g *= 0.6f;
0 ~+ J. U; @6 @% [5 x
pLight->Diffuse.b *= 0.6f;
8 ~, T2 a6 O) @0 ^
pLight->Ambient.r *= 0.7f;
5 }% U4 H: X! i" d
pLight->Ambient.g *= 0.7f;
4 m! n4 R E' G0 g
pLight->Ambient.b *= 0.7f;
! O/ D9 U; W6 p$ T
}
( g4 N. ^* V$ x6 ^# o
% V% X1 y! M7 p5 L' D5 k
#if __VER >= 15 // __BS_CHANGING_ENVIR
3 |6 N% J& \% M, t! _( l# [
if( g_pPlayer )
; K3 A& n4 ?+ T9 q6 U) x
HookUpdateLight( pLight );
" q. `4 k# v! \. q# O( J
#endif
& \7 X8 U. p- ]5 n( |
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
: T u2 I2 R" S5 d1 C. y% g% ]
5 \" | v! z% {) }) x9 O
#ifdef __YENV
$ @% K" b* m( p& ^% C
pLight->Diffuse.r *= 1.1f;
6 \! S# \. w6 a. U% a2 v8 l* W% y
pLight->Diffuse.g *= 1.1f;
, D% _+ y5 |% E+ P! a
pLight->Diffuse.b *= 1.1f;
, _( Z+ l8 ]7 R" V- ?
// oˉè* ??à?
7 A) x G( {6 {( ]5 `2 p, @! o
pLight->Specular.r = 2.0f;
1 U" U% E/ R" f) Z6 }+ w8 R
pLight->Specular.g = 2.0f;
$ l4 X9 ~/ D. x7 _
pLight->Specular.b = 2.0f;
3 {% e x1 g! ?4 F$ E
// á?oˉ
6 m. C$ I. f( k
pLight->Ambient.r *= 1.0f;
( ]" t- \, Z# g E
pLight->Ambient.g *= 1.0f;
7 U9 Y; B6 E$ ^# Y0 b. u7 S" X" D0 h3 _
pLight->Ambient.b *= 1.0f;
8 }- T9 G# @2 o) j u: I' B% j6 b8 Y* Z
#else //__YENV
3 n+ F% D8 } y+ I
pLight->Diffuse.r *= 1.1f;
6 b$ X- l2 m6 I! B% \
pLight->Diffuse.g *= 1.1f;
5 I1 U+ H0 U5 U/ K2 n9 d; s
pLight->Diffuse.b *= 1.1f;
- c# L% {9 o) R* b8 {5 B
// oˉè* ??à?
# k l/ g$ b) z2 c2 o6 _
pLight->Specular.r = 2.0f;
$ Y. T1 y* Q$ v3 k
pLight->Specular.g = 2.0f;
( ?; t' ?# E g3 N" n
pLight->Specular.b = 2.0f;
0 f. K2 K) K5 V! c2 M2 j$ a; G: o
// á?oˉ
0 B" N: C' r/ b4 o9 k( p
pLight->Ambient.r *= 0.9f;
. \- ^8 @, i+ V7 H- w" ]# C$ i# m
pLight->Ambient.g *= 0.9f;
% _( B8 T/ a3 r4 o+ b3 U7 F( f
pLight->Ambient.b *= 0.9f;
* U. a J% |/ S6 e
#endif //__YENV
( x" p6 y4 G0 @ s& N5 \4 }8 V
; I- i* J7 _! Q1 k! e! M9 {# o
memcpy( &m_light, pLight, sizeof( m_light ) );
: ^' W, N1 _7 r# B' _ |4 n# Z
# \+ K* l) V9 Z) v
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
7 d# w6 {, n) `3 k5 X: e
D3DXMATRIX matTemp;
. z$ @+ J8 P$ U
static const float CONS_VAL = 3.1415926f / 180.f;
: \4 l( r G8 S( n) W$ J
) V3 N' r, h% e/ L/ x l
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
8 N) L- u7 q) c/ B, j
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
1 z2 k# V/ x/ N. M
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
F' f s0 @) y. i5 L$ N6 m
pLight->Appear( m_pd3dDevice, TRUE );
) d3 x ^' R* k5 M
! T$ R8 x$ [- s2 Z% h- D4 |& H
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 k# P5 [- Q2 ?: U5 _1 v
// D3DXVec3Normalize(&(vecSun),&(vecSun));
8 V6 k' N L0 J; a
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. @0 f- k7 U: S) A0 y
9 }& \8 M! c. K% E0 `" s
DWORD dwR, dwG, dwB;
$ e5 \3 X! T8 E+ |# }* q: x6 B5 ?
dwR = (DWORD)( pLight->Ambient.r * 255 );
, R* O; Q4 t& _" @* X% F- d g
dwG = (DWORD)( pLight->Ambient.g * 255 );
6 W; S- S: r2 ^- h& v6 [7 T
dwB = (DWORD)( pLight->Ambient.b * 255 );
3 o& W+ ]# @* Q$ j6 r) D
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# w9 ]8 x6 J' c! u2 o; s4 ?
}
" f, a: s# t T0 J }4 P
}
$ b' Y# ~$ S) q& W# `
6 g' a0 R/ W) V7 a
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
2 z \1 ^' X2 K& I! L6 X
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) );
g! C8 h( I7 B) S
::SetLight( bLight );
! z/ _9 H2 u0 d+ ^) x
% }2 N& t/ T) V, ]% W
// ±ao? ?D?í???ó á¤à?
5 }, ^6 Y$ t4 B8 R9 N5 l; U
m_pd3dDevice->SetMaterial( &m_baseMaterial );
; A9 G* L9 q. c$ T# x+ h8 s1 n" A
- w& x6 L z. M
#endif // not WORLDSERVER
" \" L* h4 m) _8 D9 ]# i
}
7 _( M+ K7 j( f
并更换
6 _7 J) e0 K' x! R9 @1 J& }
Code:
: p0 G9 L) M5 {* ?: w; U
__FLYFF_INITPAGE_EXT
. E$ P$ U& g/ X* c2 x/ V" \
定义
% K. F% @" {' u: V
$ Z. W8 x5 L: T# I
4 m% D- l0 Q# d# _3 B' g6 t
+ t8 t, B# G2 K* w$ f# X
# T' g1 Y n! x- z; M! b5 P! T
现在终于删除我的狗屁加速...
, f" {+ T( r, @' z _
) E- w: F- C1 G/ x7 B) H
' D- S1 z% c) E) z, u# d8 f3 K3 ?
7 A' n( C: F& ]2 f5 Q
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2