飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
; u0 O+ c9 D" R3 H& `
尾翼:
7 F/ C" U2 ~0 `& _2 @- p; D' i
" D# a4 j9 Y: K: C8 w
代码:
; X5 t# G4 s9 B+ k- n, E
CWndAutoFood::CWndAutoFood()
1 L. Q# S9 M5 M; N! [2 @4 l
{
$ n1 M7 c* \% R* r" O- _1 M
m_pItemElem = NULL;
/ A' d/ q) O+ B. V; { P
m_pTexture = NULL;
" U& A4 L- P! r5 s m+ ]& k' R
bStart = FALSE;
0 O# ^( l0 A8 r7 W& p, H
}
% O& l6 [8 y! W, i' n9 ^
5 g" |; Q, z# h3 S$ Z" n
CWndAutoFood::~CWndAutoFood()
7 F. ?. x0 C- u7 N* |8 _( M
{
) j! O9 r0 ~! Z
AfxMessageBox( "AutoFood ist gestorben
" );
$ P- g; w( u# L9 {+ Q7 B
}
/ ?3 V0 h8 C( i* ?+ B) W! @
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
8 F7 l1 j% ^" B/ ]1 P) h+ d9 Q1 i7 E$ M
{
$ f. B; I: f6 |8 w# O6 J( ~
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
- c2 ]$ W. M" J& e+ [% s4 x
}
m/ j: B8 l( {! R# E2 K
2 U' b) x% e, r4 u4 m* a
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
& `2 H6 L- f0 E2 f
{
" ^- M% W: @+ W4 R: Q, R! [. S: E8 `
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
+ V9 v* U7 w t5 n; U0 | Y
CRect rect = pWndCtrl->rect;
, y6 B1 i8 X# Z2 F
if( rect && rect.PtInRect( point ) )
/ [+ R9 {; Y9 `% O. d
{
: p5 _$ \- |( |# w3 G' b$ P
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
( @- g; `5 e& r7 o# H8 x
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
O. j' i: \$ v( q0 C* e* K
{
3 `$ @+ K6 j( P0 I
if( m_pItemElem )
/ Z" l& R# l& e$ o" @% D) o# C& @: @0 j
{
# U: d- x4 N" H4 ]; Z
m_pItemElem = NULL;
, z9 P* M+ r9 x. \$ g
}
7 L; k6 W( b+ r. R$ n/ j8 G
m_pItemElem = pItemElem;
2 G5 a) g9 c* z1 k/ l+ s0 z
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
, a* m! F; `9 B& |8 c1 [! d
}else{
( J5 G- T* y1 _& Y( Z2 s. i0 g+ d
SetForbid( TRUE );
/ b' T) ^% @5 p, R* C
}
/ V4 k5 b; m: T$ @7 v% H7 h
}else{
- `. C0 h" H* |2 E1 V8 c R
SetForbid( TRUE );
* z/ j; R$ F( r8 @
}
- T3 V) E& T L8 r/ g# B" \$ u
return TRUE;
A$ }" P5 t- G9 g2 ?1 W$ g+ S
}
4 g/ x% p. G: p
- I( c, e# }' \
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
7 T$ H$ z) R! E7 h
{
$ A0 G6 U. [3 I( s& D9 C( x1 W8 L
switch( nID )
* `% V% F: t. E
{
( S. a4 k3 \$ A o: ^5 Q! T C4 O
case WIDC_BUTTON3:
4 f: G, f0 Y. A! }5 \: x8 b7 [
{
2 g3 l2 C- {) V/ r- _* Y }' z
bStart = TRUE;
' ~- }" W! f* x) ]6 I
break;
: b2 [3 l5 c3 f0 N5 V4 V/ W
}
- `9 r* m+ i0 X# F+ A. o5 V
case WIDC_BUTTON4:
7 u5 |8 T8 H" F2 `
{
3 \& ]7 ^, ?9 q2 s* V) z
bStart = FALSE;
5 _+ z$ m$ \4 l- E
break;
: f2 ?% H2 |7 R9 ~
}
1 R$ t2 \* K7 H( j W
}
% N) c2 ^* J ^: s$ ^( _3 U
return CWndNeuz::OnChildNotify( message, nID, pLResult );
/ g1 ~; Q$ \; A+ Y/ j- r+ w
}
+ @; [- \( }& Y$ y# r
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
9 D2 y- ^; f5 ^6 B# x
{
4 n6 H5 {. ~6 t5 I2 j* u! k
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
0 n: v* x9 u J, X; r6 H
if( bStart || !m_pItemElem )
. {+ c0 L5 j) h, U/ ]% E( |
{
4 N9 Z% q# P* n2 G7 G2 n6 E/ b+ |
pBtn->EnableWindow( FALSE );
8 C- b' `( s% W% `+ S9 B
}else
; o6 K o% k. {; u/ i! ?
pBtn->EnableWindow( TRUE );
8 B; f1 x! N; l; P9 r+ | K
if( m_pTexture )
+ L* n& u0 I# Y$ y7 O9 H7 S! d: r
{
- v1 W) U9 Y& m1 H3 }
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
; e2 z5 c) B9 T! L5 X$ s& b+ z
if( wndCtrl && wndCtrl->rect )
9 E- q" [& }& L9 T& i: \
{
& f/ U g) }9 F8 g* ]0 y2 g' y
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
0 ^7 M/ `" }3 `; j* S1 S
}
3 I+ ?' w% G* w# d9 W
}
4 |1 w4 b$ T. z/ O+ P
}
5 V ?: @3 f) g* L* k
: k9 o' w, A. ^
BOOL CWndAutoFood:
rocess()
; C) q% t% `9 J# h
{
& \+ p; r7 L9 B) k3 A
if( bStart )
9 Z3 t) v$ f/ O1 ]8 K0 b. q1 }
{
6 K+ P) d! `% V3 }/ Z# i
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
2 Y$ S$ z ?8 Q
{
. H( P: E- W3 ]% {
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
. {+ ]( i2 W8 q( D" }/ r
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
: R9 H2 P: I' V h. v% S
}else{
" ^3 P5 H" v0 O$ }: P3 d+ J
bStart = FALSE;
X. a6 D4 `% i3 I
m_pItemElem = NULL;
/ a+ ^0 [6 r8 J
}
& L. D' J% P R4 q0 [' y* T
}
% l" J* {% X/ [& y! k
return TRUE;
% f- l! F ~" Y- w* \
}
' ?# P& B6 T5 O% j
, ~8 F5 Q: Z( o4 B X
登录视频废话:
7 T. {! J1 o% G; E# F: v
尾翼:
5 ~2 P8 q D9 W& y" }+ T
. r1 s% P) ]6 K4 o; h" O$ w* ]
代码:
3 \. a5 B/ d0 B
' f6 ]* \) x' k) I2 c8 F. w `
void CWorld::SetLight( BOOL bLight )
% w: L$ e0 Z& P- p
durch
! C1 l9 L" a8 L8 I3 x& v
Code:
V7 |+ D0 D2 ?
void CWorld::SetLight( BOOL bLight )
0 h, j+ w7 M9 @! @3 x; t
{
8 ~3 I" n4 b( Q
//ACE("SetLight %d \n", bLight);
4 |5 R2 N# _% g: b/ w8 f$ ]) |3 u
8 [4 s+ _8 K) M+ Z& R( ^
#ifndef __WORLDSERVER
) y% T' a# I$ X
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
" v, a; ^# {: S# y
CLight* pLight = NULL;
( z* m7 `2 T* i" ~" N1 K
* j2 X$ P0 [/ X! }1 I* k$ y
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
" P+ H& M# z4 a U6 M
# v+ Y S& \# J' e9 ~
pLight = GetLight( "direction" );
B& v- |5 d: V
# o5 T; _9 w- y5 m
#if __VER >= 15 // __BS_CHANGING_ENVIR
4 l4 S* G! I- |7 p: j
if( g_pPlayer ){
& b" s6 O0 j8 k) D4 Z. Y
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
- e8 K* P, i4 \; l
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
/ A% z3 @+ c q) Y) y3 i2 I9 r
{
' q8 C, w( _6 v, r' W
if( pLight )
* e1 E* x4 X, L% J" Z- F
{
5 i' C' K$ l! a* O/ `
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
8 {8 f/ A2 ]" p$ X
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
! X' F, X' |5 n: n1 G, n; R
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
% b. X; v/ y1 M, @1 p2 f& \
$ V) C: I6 Z) `/ P8 {$ j5 o( y
pLight->Specular.r = 2.0f;
; I' h/ Z5 H9 q
pLight->Specular.g = 2.0f;
. j! B$ @3 y$ B
pLight->Specular.b = 2.0f;
* l0 ^. x- } N; V3 L+ [/ ^8 z- r/ m
; t4 X+ H8 g' @! u \7 {7 X6 G- |
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
! M1 P. l; i4 \% \4 A+ |5 i
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
" s2 E2 G5 M* L6 G9 |; y4 D
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
( y# ]* u& C2 t5 x% X
1 Q5 ]& |4 G8 W6 q" w& i/ ^
HookUpdateLight( pLight );
8 I/ u# e E v4 I. s4 w# ?
$ I* f' q$ B0 o5 q; L
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& H0 o% p7 ~7 o: Y8 y6 v
: q! R9 U ^+ ~" l3 t1 i
pLight->Diffuse.r *= 1.2f;
3 \' U& `: P) I/ N
pLight->Diffuse.g *= 1.2f;
; h4 x* `$ A2 m6 A8 H0 u
pLight->Diffuse.b *= 1.2f;
# f* Z8 g- ~2 B
2 p4 t2 ]. x: g, C1 \6 W3 N
pLight->Ambient.r *= 0.8f;
" G" G2 c' o- q+ x. _
pLight->Ambient.g *= 0.8f;
+ L7 k3 M# L+ [' R2 `
pLight->Ambient.b *= 0.8f;
8 w0 F) Y8 W: A9 h) D+ v
/ c6 F/ x7 F# h
memcpy( &m_light, pLight, sizeof( m_light ) );
" C5 P& W+ C7 d3 @4 v6 b. k8 `. I
9 C) @" r4 O! n) |
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 f) K9 o0 H1 t9 x! E" W
D3DXVec3Normalize(&(vecSun),&(vecSun));
- x: L; E' P! g5 i& y! @
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
+ X5 O5 P# c' P
pLight->Appear( m_pd3dDevice, TRUE );
3 m: S2 a: O+ c6 V5 ?( o n
# ^" }( `; j6 Z" u$ a, r5 c/ F
DWORD dwR, dwG, dwB;
0 j2 n( }& p- F7 ^; _7 K: l
dwR = (DWORD)( pLight->Ambient.r * 255 );
( f( ^! R; F, X4 v2 W \
dwG = (DWORD)( pLight->Ambient.g * 255 );
6 V% q8 F/ v' T# ?
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ Q# M( Q7 r% _* m. Y- D: D: v
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# w. b1 [# j s. P# f
}
* ?' D$ m& R/ Y# b& F8 d7 i
}
/ t4 ~( L0 i) d# f- Z
}
m5 ~/ \; C6 H$ D0 Z
else
! a4 \' a/ ^3 r% l
#endif
, ?/ C% U# y/ s& c
! ]# E' Y! f3 t( O1 T9 k* G
if( m_bIsIndoor )
0 [. h; { N2 ]$ J) ?
{
! \2 m% y9 a8 y: O
if( pLight )
$ N, x7 N* W- ~. J- D
{
# J: U/ t5 S' z* C) [+ Q0 ~8 _
// à??μ oˉè*
) C, W. E/ h& e3 p/ ~9 V
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
2 t$ ~' A! u) ]$ p* v; K
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
% d5 j7 l# C I* w
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
2 y! G7 x1 O( l6 |) x# M8 j
# y+ o+ J% t9 Z) B! u
// oˉè* ??à?
( A9 Y+ X& T: P- j: _" q
pLight->Specular.r = 1.0f;
) D0 i( Z P0 i6 j3 ^
pLight->Specular.g = 1.0f;
8 n# H+ x# i) L& V& z0 J( H
pLight->Specular.b = 1.0f;
4 v0 G% C: [. a- m) P4 v" k
// àü?? oˉè*
6 K/ }2 o) D4 W! s% c2 e! U' Y8 X; |8 ?
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
, h" q- e% g. P( h' {9 s. j
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
^, Z" x* t6 G4 R R' G
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
8 E! t J5 b. T0 W9 l
5 r6 e, _6 \3 F4 T, T
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
& U6 x. [* P) d- D
{
6 |: j8 X5 l. w) @" ]( F; P$ l
pLight->Diffuse.r *= 0.6f;
' s& t; r& i# Z" d
pLight->Diffuse.g *= 0.6f;
2 }( R2 Z' t: j2 c4 {/ m
pLight->Diffuse.b *= 0.6f;
4 z5 n; R; Q& w( a. f
pLight->Ambient.r *= 0.7f;
! x4 K% q9 v. O! S% v( @
pLight->Ambient.g *= 0.7f;
) x+ }3 `4 h- L% y
pLight->Ambient.b *= 0.7f;
9 B$ N8 ?! D C: @9 ?' @; b8 o5 p
}
: ~ f/ p+ D) }' I4 u4 U
* R5 D2 q) E! g: m
#if __VER >= 15 // __BS_CHANGING_ENVIR
; G3 x) B, P3 @
if( g_pPlayer )
2 [ V! X: I3 r- W
HookUpdateLight( pLight );
( q& G% z9 Z$ U2 Q7 F
#endif
5 p Y9 P8 R7 |0 r+ o
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. z- R. F. H" [0 D6 B* U3 k( v; A
) j | y9 e8 P& g$ J! K
pLight->Diffuse.r += 0.1f;
4 c2 _+ {# P! q3 M! @
pLight->Diffuse.g += 0.1f;
0 \7 s6 A* i2 L/ G% K4 S
pLight->Diffuse.b += 0.1f;
; \( X$ M( u& R- v
// oˉè* ??à?
' {! v6 a. u! b7 Y1 Y. {" U& r2 V5 V
pLight->Specular.r = 2.0f;
. e+ l J2 ~; O2 X- j$ d' d
pLight->Specular.g = 2.0f;
5 }, M2 w+ H4 t0 K! @9 S- t! L
pLight->Specular.b = 2.0f;
! K; N, P$ a0 C
// á?oˉ
0 s' u+ v$ K0 S, [% `
pLight->Ambient.r *= 0.9f;
! P4 ?. q% X2 |% s" l5 U6 H
pLight->Ambient.g *= 0.9f;
/ p6 F, C: H! ]* U3 R9 y
pLight->Ambient.b *= 0.9f;
* w8 K0 c4 r( _ ~$ H; w
' C$ Z w; W& D0 ^ R
memcpy( &m_light, pLight, sizeof( m_light ) );
/ _. I' i* ?0 w
7 R; [& Y1 N* D. w
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
- I( z3 u1 q0 r6 O
pLight->Appear( m_pd3dDevice, TRUE );
4 a; R e1 G, d
( W+ `7 Q' _4 C7 X0 m3 u( q
DWORD dwR, dwG, dwB;
6 |# O X; {1 Y9 G6 ^' E J
dwR = (DWORD)( pLight->Ambient.r * 255 );
) l% Q$ {( _. i) w
dwG = (DWORD)( pLight->Ambient.g * 255 );
, y& j) j2 S( h: W9 A5 ^
dwB = (DWORD)( pLight->Ambient.b * 255 );
- q; U/ G, p, e) P
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
4 @( \ R; n7 Z7 Y9 k) Q
}
- t8 u3 F2 ], ?( b
}
* D ]4 i `% @$ I& F& u# o
else
. K/ e8 ]3 U8 w2 e4 _8 `
{
+ J$ i/ H0 }2 `, `, ^4 g
if( pLight )
( V h1 j8 p7 P
{
$ z0 O+ u0 T/ U$ H+ r; y. ?
" c6 \6 i w* Q' J, h' R- v! {
int nHour = 8, nMin = 0;
) j# k, d* X& |* e
#ifdef __CLIENT
% m n. k7 K$ _6 K, d+ Y+ m
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
4 K/ N9 z* w$ I, ?, J5 N! ~
nHour = g_GameTimer.m_nHour;
% u, E0 T5 }& j7 R2 f' j0 f
nMin = g_GameTimer.m_nMin ;
9 w& a% C; o( a, r8 \" L) ~
#else
: U% [9 L9 E# i- {, ]6 Z
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
9 M9 V0 S) D7 B. k: m( h) G$ }
if( m_nLightType == 1 )
1 Q0 K# ?5 E3 u$ L0 n
nHour = m_nLightHour;
/ Z! |) s- o& g+ W n
#endif
. U- d7 \5 f+ b. y
nHour--;
$ R9 b4 K- D# r! D3 k9 U6 |
if( nHour < 0 ) nHour = 0;
. t. f& u2 L4 f" I0 o
if( nHour > 23 ) nHour = 23;
" m2 u+ y" c- A7 p. a
% e& M5 ?+ J9 Q! {4 d
//if( m_bFixedHour )
0 s+ {/ c; J+ K4 n: i8 o
// nHour = m_nFixedHour, nMin = 0;
' k: [/ `, D9 \/ O* |
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
* p" o* u: ~$ h# [: a! T1 j. v5 n
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
9 v( l0 v' s6 w" F6 {4 L, S
* }' ?; K4 i# [# q, x8 o9 a% C
//m_lightColor = lightColorPrv;
8 T4 `) a8 d' ?; x
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
+ z! \- z0 S ?. p4 q" P' k
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
. ]$ \& i* h5 `' y) n' d
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
6 `! B! H$ C O J. D
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
/ i$ M' s8 V8 s( z: f6 j
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
# O. c% a x; O1 a
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
6 @2 R o- R- c. K2 B: ?
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
2 c1 m8 D( F! [$ A. X5 o! i; V5 w
! a: l {0 [: A( v
// à??μ oˉè*
7 W/ Q2 m% V$ S' R5 C; p2 t$ U
pLight->Diffuse.r = lightColorPrv.r1;
: `8 I6 n. N% q* I
pLight->Diffuse.g = lightColorPrv.g1;
* s }8 [+ k- W, k# d
pLight->Diffuse.b = lightColorPrv.b1;
4 F/ m; A0 L$ L2 |0 o0 B9 _( r5 M1 g
// oˉè* ??à?
! d" b/ Z5 ~4 p
pLight->Specular.r = 1.0f;
9 ^. A% _. l! f) }
pLight->Specular.g = 1.0f;
6 g" L1 l2 _+ E# ?
pLight->Specular.b = 1.0f;
: j4 W& _+ g& N0 V0 K
// àü?? oˉè*
. W( _0 C3 F) d V( S/ c7 o
pLight->Ambient.r = lightColorPrv.r2;
% F2 n0 L! A6 s' `$ u! y+ G
pLight->Ambient.g = lightColorPrv.g2;
5 }4 F$ W( ^7 B$ m, f2 o# T+ p; r
pLight->Ambient.b = lightColorPrv.b2;
; v+ X' `% k! x; Q) O M
& P I# X5 U0 }% t- m3 O
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
1 }4 c9 n- S' M+ u- h3 e) i
{
# Q* x! r7 [! t2 {
pLight->Diffuse.r *= 0.6f;
5 e5 E2 u6 m' m" B7 @5 }6 L
pLight->Diffuse.g *= 0.6f;
) ^9 ?% @! P: P7 ?# E
pLight->Diffuse.b *= 0.6f;
4 l* |- ]5 N2 E/ w/ }. Z3 `) d( P
pLight->Ambient.r *= 0.7f;
4 n0 u+ x3 K6 U' j6 j
pLight->Ambient.g *= 0.7f;
& |% }% u8 |; }) b7 s
pLight->Ambient.b *= 0.7f;
+ [. B* L. q1 _
}
, ~ K) j) c- S, z& i
- O5 l) ]6 | y- U0 y1 M- M$ w
#if __VER >= 15 // __BS_CHANGING_ENVIR
3 a) J' o! X; A5 M
if( g_pPlayer )
5 M8 t/ i( @ ?% `! n0 S
HookUpdateLight( pLight );
f$ Q7 i1 t( X; L k
#endif
3 Q" h$ o, T3 o' K4 q9 m
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 F; K, |2 X! {# v S
' T+ K6 s3 V" _' J; w6 v
#ifdef __YENV
) ]9 c% G) u: n* T" C
pLight->Diffuse.r *= 1.1f;
- x8 s4 @. l; S, `
pLight->Diffuse.g *= 1.1f;
5 k4 s& A6 @% h9 j! T3 O
pLight->Diffuse.b *= 1.1f;
9 x8 o: q0 U R9 N! v
// oˉè* ??à?
9 y2 W- C9 j% P' q
pLight->Specular.r = 2.0f;
# C# |8 e" k7 a" H- ]1 L
pLight->Specular.g = 2.0f;
+ r/ ?# z5 G* a: }
pLight->Specular.b = 2.0f;
- }7 }9 A. }# R+ i0 p# w2 V
// á?oˉ
5 k( v3 Z6 m& J2 f6 q3 P1 j! O, N
pLight->Ambient.r *= 1.0f;
6 ?5 C. W3 {4 \2 E
pLight->Ambient.g *= 1.0f;
) ^) |( D$ z3 P# F8 K' G) e
pLight->Ambient.b *= 1.0f;
' x V1 T2 t9 {4 o0 c9 `/ ?
#else //__YENV
6 T% p; b8 k. n, d
pLight->Diffuse.r *= 1.1f;
0 s) v; K- e$ F$ x1 H6 M8 p
pLight->Diffuse.g *= 1.1f;
0 r& |8 z: d* K. B% p2 w h; S
pLight->Diffuse.b *= 1.1f;
) e& \5 ^; ~" }' ~ D- W
// oˉè* ??à?
. }0 Q5 ^( W( z) C+ G! l- f
pLight->Specular.r = 2.0f;
9 c, j. T' e/ Y# x$ Y
pLight->Specular.g = 2.0f;
) H) V2 Q- o) s6 K: \4 T& ^8 V
pLight->Specular.b = 2.0f;
, D) A4 h" Y) e2 g8 l8 P3 _/ C
// á?oˉ
U% S& R& r" R. X, R/ d
pLight->Ambient.r *= 0.9f;
: _! ?6 j9 b2 S. b/ G9 H# Q' b
pLight->Ambient.g *= 0.9f;
. X& n& J) f' p ?, t, L2 K- ]
pLight->Ambient.b *= 0.9f;
! G! v. `* y# F8 W
#endif //__YENV
3 G" D" z" Z) j9 Y* N
1 k& T( M: t- }
memcpy( &m_light, pLight, sizeof( m_light ) );
( R9 B, g" t' d1 z/ ]1 P% I! {6 S
+ o! f% T, f9 ]) w3 `9 \
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
m- k+ n; w% V X& R) ` h
D3DXMATRIX matTemp;
: ^9 W% T n" O1 e. Z8 E
static const float CONS_VAL = 3.1415926f / 180.f;
. C# ^ U- z, @, s) s* C- M% s n# i
4 u) P7 `1 o3 H$ Q$ G! M+ {8 L
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
# u5 [, P8 E+ Q
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
- i* c, {' g: l0 w6 [- F
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
) Z5 H' p3 ?" \
pLight->Appear( m_pd3dDevice, TRUE );
9 o7 {: u9 }" K( E( d, G
- ?* e( G" e# y2 o& S: G# X7 Z7 H
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
' Z1 B1 ^( T5 e2 p" W$ A% t6 F+ H# `
// D3DXVec3Normalize(&(vecSun),&(vecSun));
% e j* w& T3 c1 M* n
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
; c, H5 S+ R, t4 z# B
! b3 ]6 `* m2 O& Q2 h
DWORD dwR, dwG, dwB;
( d# X3 ~# W, v: ~/ T- Y! T
dwR = (DWORD)( pLight->Ambient.r * 255 );
# r( g' A$ c& Q8 g) \9 Z7 w3 ~
dwG = (DWORD)( pLight->Ambient.g * 255 );
1 C- Z3 V$ Q1 Z6 G! c
dwB = (DWORD)( pLight->Ambient.b * 255 );
5 f/ R: l$ v5 Q# M
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* U8 f8 Y! p! ]7 K5 W
}
" t% E2 h1 a e! Y
}
% l9 y/ M+ Z" J( C# R1 e
( |4 r4 G# Z; p8 O- e
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
7 w: z7 ]- U3 a5 ~% H
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) );
4 P* @: ?# `3 w# L9 g+ a, F
::SetLight( bLight );
" I0 Z3 ^' ]) W& w& H$ F: p
/ O! w7 Z, ^ s
// ±ao? ?D?í???ó á¤à?
1 N! Z- Y' ]3 z: n6 B& Z1 E o2 X
m_pd3dDevice->SetMaterial( &m_baseMaterial );
. R8 P' K( C2 C
! X/ u1 @7 p* t. N
#endif // not WORLDSERVER
4 o$ ]7 i* d9 R; }* {
}
1 |5 x1 G8 ?! u9 Y
并更换
6 d8 p" h* v/ V7 u9 X
Code:
) K' L- T3 b2 r6 l+ N1 W
__FLYFF_INITPAGE_EXT
n9 s! _" P) E) W. j
定义
1 |/ f9 Z' P: }/ g/ N
& \# c! ~/ q( S# ?
1 R! u, K( e9 n2 N9 H
5 u9 w' }& k `% q* ^7 j
1 r" }+ J4 y8 R7 I' `) R, i
现在终于删除我的狗屁加速...
- r2 h& | c. t) i( _& C @/ v
% H: O- L3 }& x5 f9 C* d
1 Z9 s+ m- K6 ^; ?- P
+ L+ C: ?+ ?$ ~1 n
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2