飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
& G3 b' f5 S& Y
尾翼:
; t" V1 R ?) [8 Z
/ u1 ?( K g/ N4 F! b2 `) Y
代码:
; T( G* K+ g, S6 U3 v- E
CWndAutoFood::CWndAutoFood()
# H4 z# o; ~8 T
{
) I0 K& U3 \+ K. I( d
m_pItemElem = NULL;
1 [. x2 f8 E0 o0 o% g
m_pTexture = NULL;
: T$ v0 K/ V" e8 X" O/ F# I
bStart = FALSE;
& j) n {5 M; u% c& C; Q4 y
}
" o3 \- Q! l Z0 G0 s
2 |: E- r7 ]( ^: ]9 p* ]
CWndAutoFood::~CWndAutoFood()
& g6 U7 z$ D8 `9 X" _0 M r7 n
{
* N4 Y# `, D& L1 t
AfxMessageBox( "AutoFood ist gestorben
" );
8 `; ^6 V$ E/ B6 H" r6 J+ ]3 x
}
# \5 ^, L- `4 m9 }! ~$ h
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
. R6 N) {* D; t
{
% [! z2 r* ?/ k! m4 X
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
( j& a9 @$ A( e) j) [- t. x6 ]
}
$ ~9 [5 C c) Y6 _
1 o* }8 Q" d5 X" `
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
- t: P G8 ~' [) [& v# h
{
7 v) Z( E* h# C# K; P
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
7 F2 j0 B1 @# d. N% u8 e$ c
CRect rect = pWndCtrl->rect;
' z, b" D5 X$ e- q4 s3 \/ y
if( rect && rect.PtInRect( point ) )
. C% ?3 e4 r- ] B( X
{
, [0 S- s/ ^3 c
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
3 O2 c- i! u& i$ ?" x( J( R
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
% _9 K& ^' W6 f
{
# s5 P& E; r- t4 H
if( m_pItemElem )
' {% O- L0 ]+ O0 o- g
{
6 c/ u# g1 D; q/ C* { b6 `- t/ q
m_pItemElem = NULL;
; N: Q+ f# d- p4 G2 T( a
}
+ K/ H( U$ L* h: E2 j/ r
m_pItemElem = pItemElem;
+ N( }$ F( K: H H( B) E; M- v
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
% Q( z. J- I8 p
}else{
) c# Z/ C8 n3 m" O- H
SetForbid( TRUE );
- f' t. w3 I0 s& N `
}
) Y2 j {' z% I( g1 k5 y7 a4 Q7 c
}else{
N" B. `/ m# C0 x" ~
SetForbid( TRUE );
+ T" }2 ~( ^3 w, O9 D
}
$ p$ t. K& \( {3 V" G
return TRUE;
; Q T( b1 l0 X/ i
}
( @/ R# H6 b- e# K6 J3 T" b
, t8 V7 R L( n0 _: |
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
) x7 t4 w- b3 I2 d
{
5 Q$ L5 }1 w$ I2 o0 r
switch( nID )
$ N: F) [6 l& U* E' y* A+ Z
{
' {. ]3 d( R8 A( q; N# m/ {3 n
case WIDC_BUTTON3:
9 |' w8 m% @0 G6 `7 j, V) [. i
{
2 D) \: t5 e4 ?; r# h" R
bStart = TRUE;
8 t" o0 l1 E+ j1 l' ]2 }- X6 `* d
break;
: m2 y3 ~" a: v7 M# t
}
- v8 h. k0 z, g; V
case WIDC_BUTTON4:
8 x( C0 P8 d8 m, r& `( M8 _* J
{
u3 _* l- x+ ^4 t* |
bStart = FALSE;
& i, `9 ]; \# s
break;
$ }! T5 \( P! m- z( g+ X
}
* r# M, r! @0 S# O5 c7 O
}
2 {/ }1 J' ^6 g5 [* k! X0 A
return CWndNeuz::OnChildNotify( message, nID, pLResult );
' |/ e3 o9 ]* X1 W8 h: t
}
/ R6 D7 g7 E1 Y' n) g( j' Y
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
I0 ~% {$ ?3 e. N
{
: c0 D6 S7 f# J1 V2 X, d
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
" [* x. P" {; g; G
if( bStart || !m_pItemElem )
+ |2 D& i4 }) u. O
{
2 h: r e8 o/ M# }: M& \0 D
pBtn->EnableWindow( FALSE );
* { d* u+ K+ H
}else
3 e, f* h9 M% I- _( V: F
pBtn->EnableWindow( TRUE );
. b1 r+ J$ z2 w: q4 u9 e' w1 Y
if( m_pTexture )
# y7 T, L8 l* a. C/ n
{
+ N6 @$ f" E6 v
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
) X+ Z$ @( R, F0 }% ^5 T A
if( wndCtrl && wndCtrl->rect )
" A5 q! L5 Q) `
{
% f* v! S5 }0 s' v1 l; {
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
G5 f' a0 N0 t2 i6 {
}
% ^4 ]- A1 m9 b8 M
}
# s5 z5 K2 ~# _2 q6 C
}
7 n: Z4 L: y2 \( x/ F
C/ l1 k0 V; s0 d: l0 d0 [7 S8 u9 X2 N
BOOL CWndAutoFood:
rocess()
( r$ P/ m% m8 Q& t) O& v1 T, A4 T0 J
{
' G4 m* s* f: U
if( bStart )
i# v$ v, x- ?/ [; L! `
{
+ b% a; J) C+ ^4 l) f4 d1 w4 `4 r/ S
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
) m& i5 q7 f& K8 A B& ~: }
{
& O! U- i( m$ x r' M9 G
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
; J/ D9 G. Z* N( n9 r: e
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
( N8 M9 X- ]1 c
}else{
0 U" q% Y9 V6 e/ Q4 @9 H
bStart = FALSE;
5 P7 |7 B% G! X
m_pItemElem = NULL;
& J( Q" S5 q' O: W/ G8 r" s
}
1 B! z* k" r W+ R1 d
}
& |) E3 T3 H, f4 @5 h: o; h
return TRUE;
6 N0 Y; e F% N. V7 u8 E1 F4 @& E# \
}
! u K' N% S. P4 r# k/ K
, g1 D, l' l. `( j" W% h
登录视频废话:
. N s+ y$ P$ F% s: [$ W
尾翼:
9 j D; A) f- }
# |9 }; @, c. z# J7 c% z$ ?
代码:
: o1 [% e3 X% ^$ o' `& b3 |/ P
/ t' r- S5 M" z$ O/ g0 ]
void CWorld::SetLight( BOOL bLight )
6 l9 ? x. O2 v4 t! _0 w2 T
durch
9 t( |% k8 e% P7 n% I: \6 P
Code:
. A! @/ j3 H+ v$ s2 P; z2 R3 j4 c
void CWorld::SetLight( BOOL bLight )
4 @1 E* s8 ~& Z5 y6 n
{
; S( W; w/ i4 t& s$ n A
//ACE("SetLight %d \n", bLight);
% J# k% d: g+ K+ @
! R/ D! i& n5 {) ]5 i7 S
#ifndef __WORLDSERVER
7 s2 E# `) W: b
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
( X1 U5 F: @1 g2 W7 S
CLight* pLight = NULL;
/ s6 f% w6 M) K. c1 L% P
" C( ?7 @, Z6 G3 M
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
) |" F, U9 B! f- t$ I$ e' u
; v7 Q/ T- w: z
pLight = GetLight( "direction" );
$ u9 V9 I: r( D: ^. R' m# k0 z8 w
" e4 d9 O& S" p5 G
#if __VER >= 15 // __BS_CHANGING_ENVIR
8 [1 H1 L1 n3 `3 i. [8 r4 \+ C
if( g_pPlayer ){
# P, c8 v2 U+ K! ?8 a
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
* n( v; c$ k& H
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
8 k6 p: ? S4 ]3 W5 @9 l
{
. E) R& Q# n6 t0 Y, |
if( pLight )
3 q2 N5 |! ]) _) e8 A7 X2 ~* f0 w
{
: k. f1 Y# y7 q* J, T* F9 p
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
8 c, v& r( z& Q" x! b; |' n
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
4 y! }" `% u! n% b- y% C& J+ P# P
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
8 J, p' K, z0 z4 j6 {
" k; e- Z0 x1 g- Z2 t. M
pLight->Specular.r = 2.0f;
& W o# y& H7 f+ h- {0 H
pLight->Specular.g = 2.0f;
' ^! K; i2 k7 P( r; {& r( i+ g
pLight->Specular.b = 2.0f;
8 A! e* ?2 s* I3 @1 q ^5 l
% ]# p1 q& C& g% D
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
6 x9 ]1 ]1 m8 I! R, D( {8 t
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
; _( _/ i, L0 G' P/ V" ]; _& W
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
" d$ x9 H5 T6 ?9 ^
$ m+ p% |! I' a1 Z
HookUpdateLight( pLight );
: F; N5 \, x. D% [. \
* ?; s# e# v% S. @1 o7 {$ S
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( e8 M2 R5 Q- E1 q5 o: t
0 ?3 ^ P3 P: `4 i8 O, S
pLight->Diffuse.r *= 1.2f;
) x: m9 R; F/ h/ v- l* V8 \8 [
pLight->Diffuse.g *= 1.2f;
" K8 D J0 E7 d) W; V& \0 u
pLight->Diffuse.b *= 1.2f;
6 i, e- D" U5 P, c
- ]$ \7 k& Z1 x+ P& B* K' v
pLight->Ambient.r *= 0.8f;
: X$ p: g6 ]5 i% T# {, j: f0 ^
pLight->Ambient.g *= 0.8f;
) }2 H6 m9 n- J5 ^: b8 N% o p {
pLight->Ambient.b *= 0.8f;
$ ?0 |5 C1 a$ e7 o Q
, h# t$ n5 V/ V& `
memcpy( &m_light, pLight, sizeof( m_light ) );
. ~' ~9 O& S4 C% Q
7 Z( H$ w+ J3 m% M1 c& w# }
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
7 ^5 F, d3 D. c4 M" g7 u. [0 q* G
D3DXVec3Normalize(&(vecSun),&(vecSun));
3 n8 m- R: j6 }% i% u
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
- d- z7 H/ m/ }
pLight->Appear( m_pd3dDevice, TRUE );
% o( c) }% O, ~6 p
% F2 j1 h) ~' c
DWORD dwR, dwG, dwB;
7 l# ]8 p1 V! t. [/ U
dwR = (DWORD)( pLight->Ambient.r * 255 );
! t* z$ K) ?; C# g
dwG = (DWORD)( pLight->Ambient.g * 255 );
/ Q# m7 A3 j; |* L) l' g; c7 _/ \7 L G
dwB = (DWORD)( pLight->Ambient.b * 255 );
6 L8 r6 g0 F k0 Y# R' v6 L
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) g1 a* [4 [* D. M9 V" K0 `
}
F$ v, N( Q, T" `
}
' S; u, ?! C( H( ]
}
6 w1 f0 S. W6 k6 S' `- v. H3 t
else
5 {3 f& ?. m: V3 _0 y' N+ G
#endif
3 v% O5 ~9 l5 r9 M- z8 k1 B% v
; J4 I& s, j2 J+ Z( n7 _
if( m_bIsIndoor )
, U# W! g; u& q( `6 }
{
8 q! D- a# E! \3 j7 K# Z
if( pLight )
2 e+ u' E4 o- {; r9 n/ d7 |
{
0 U2 k7 @1 ]# Z
// à??μ oˉè*
4 A( `: F' l4 j& l. r) L
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
' h. e1 a. m) a) b
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
7 m" Z/ @. M6 g5 `; ?) ^
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
* z' l3 q2 _! F, `
. C& x1 U0 V) @! M2 U
// oˉè* ??à?
6 x( v) V' }# t+ O7 W' P
pLight->Specular.r = 1.0f;
6 m& l3 [% ~, w/ E& V/ @8 ]+ x
pLight->Specular.g = 1.0f;
! p% c8 v6 r& x9 Q' L
pLight->Specular.b = 1.0f;
: N5 u! n* u+ K7 @
// àü?? oˉè*
0 c4 c0 ]( A1 k- Z: _' X
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
$ c. _! D& ~, ?9 M5 @; R* N
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
8 e; w4 V& p( W4 s9 B5 a4 {
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
/ V" x. J( D4 a" x4 `" y* D" `
& z+ n4 p6 H* g% p3 ?1 O' {, p6 q
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
, \6 u( k1 V/ I$ x: f/ V8 y2 L
{
5 l- |; J6 R8 y% t. \+ k3 _3 d' V
pLight->Diffuse.r *= 0.6f;
5 F( q/ J+ C/ G: ?& @9 ]5 W, D1 O
pLight->Diffuse.g *= 0.6f;
+ K. ?' ~/ z$ z" l1 T& [
pLight->Diffuse.b *= 0.6f;
2 P: T% b! O. n' F& b
pLight->Ambient.r *= 0.7f;
5 E) g( p; K5 v' P$ p3 m. J
pLight->Ambient.g *= 0.7f;
a# \ _) _2 E" h+ t" e
pLight->Ambient.b *= 0.7f;
9 z& z( a4 B! p& w
}
E c% |- G4 r4 k
9 I# m& L# F9 \9 q& \
#if __VER >= 15 // __BS_CHANGING_ENVIR
2 `5 r4 H" i2 Z. `. E6 F
if( g_pPlayer )
Y' @5 ~) G1 ^+ E. [ M4 m' e
HookUpdateLight( pLight );
3 u/ m# H. g3 @! n+ d2 E/ m8 m
#endif
1 ~- t. l& v8 o, H# W% _
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# ]/ y1 d1 F! H; Y- p( o4 _9 ]
8 R% M8 p7 ]8 z& D8 \
pLight->Diffuse.r += 0.1f;
: q$ s% V8 {/ v! x. S0 }
pLight->Diffuse.g += 0.1f;
: w/ @, q9 i) V$ Z( N2 K
pLight->Diffuse.b += 0.1f;
0 W3 [9 @ X2 f3 W7 T0 ?& o
// oˉè* ??à?
; J7 w3 ?! N8 A, \* o
pLight->Specular.r = 2.0f;
( l: ~/ q" ]' ^& G" x$ H
pLight->Specular.g = 2.0f;
) M& X) e- B; u* _
pLight->Specular.b = 2.0f;
# E U s/ @7 @
// á?oˉ
" T/ Q. h8 L2 e6 l0 _3 h! r, c
pLight->Ambient.r *= 0.9f;
8 g+ i4 [0 J# Q
pLight->Ambient.g *= 0.9f;
' k, d' F% m+ v0 |; V" E
pLight->Ambient.b *= 0.9f;
1 p3 i( K( x! J. X1 Q
1 P4 k; s2 y' V" w# G" e; B& D: j' t
memcpy( &m_light, pLight, sizeof( m_light ) );
8 Y* ]' `+ k/ V/ w/ O, {
/ A! [" \) E6 x8 K+ j& t( m) d' u
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
" D0 H+ O' O. o' k+ j) r
pLight->Appear( m_pd3dDevice, TRUE );
2 l$ K* g) B; A, [$ ~0 P
% a, Q2 U7 R$ e9 Z1 \6 f, y8 P
DWORD dwR, dwG, dwB;
p; D$ Q* f0 y2 G% q
dwR = (DWORD)( pLight->Ambient.r * 255 );
1 e" Y3 V: K& o2 f
dwG = (DWORD)( pLight->Ambient.g * 255 );
8 ^) ]) }0 ~- D! C1 T
dwB = (DWORD)( pLight->Ambient.b * 255 );
, P9 {' Y7 @5 X* s/ I$ n: `
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 H0 Z& c' H0 C% g
}
: I( P" L ]$ R
}
: X4 [$ |4 }1 r
else
4 [( R$ m- K; V8 e
{
/ H8 \9 q7 N: I! i/ R3 B
if( pLight )
# H3 Z7 {; W% E5 K
{
! s }: ^8 M; P: ~7 I; l
" j$ B2 l* M6 q& k; R9 d
int nHour = 8, nMin = 0;
; {: }; k- g t7 t- D f" l2 E
#ifdef __CLIENT
5 t1 T0 u2 w3 w* w2 Q3 \
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
$ e, n0 ?6 H: I; N3 r* ^& g
nHour = g_GameTimer.m_nHour;
+ q- B2 x; o w8 T4 a
nMin = g_GameTimer.m_nMin ;
+ _# a, ?3 v# V+ a+ x3 T1 I9 X
#else
8 R" R$ i6 E9 P+ v& N% ?
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
6 ~# y! h6 d0 ]5 [
if( m_nLightType == 1 )
" h4 v- } c% @: b9 i& V! c
nHour = m_nLightHour;
* S/ J2 J% B/ @: d1 {
#endif
4 J. R6 t2 F% f& h4 B
nHour--;
/ \8 t/ Z9 {4 j. Y0 v
if( nHour < 0 ) nHour = 0;
: p S% p, S" c5 ^
if( nHour > 23 ) nHour = 23;
3 l- k8 ]/ n! \3 E4 p8 s5 F
# }$ ?! h' ]8 d5 c3 P, G6 h
//if( m_bFixedHour )
: }/ B: d! R; A" b$ `5 G
// nHour = m_nFixedHour, nMin = 0;
, ]$ {' v: i1 L1 e" u
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
' P1 v8 T" B ^% ]: S- h
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
) h! Y; _# b# K+ K4 X
4 k* d, J$ [$ u5 N8 W6 H
//m_lightColor = lightColorPrv;
' E4 A$ z# w8 I2 Y- J, w
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
' K3 Y/ v$ @2 p, f$ o7 V
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
; x, b2 X9 q. k$ }
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
+ t9 Y3 I# L6 y% ~
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
+ Z% Y! O8 f% g+ z" q9 X. F& p* T
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
( ]9 d* w8 N. j% z+ X
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
+ b) e$ j8 @5 f3 b% w5 z# V
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
0 u% T1 H( |/ \9 ~: O
( C& b9 }: K6 A% l b7 c* V
// à??μ oˉè*
9 @( N: k/ v4 P; s1 ^$ v) B
pLight->Diffuse.r = lightColorPrv.r1;
( \* o2 B& q0 x$ b) U
pLight->Diffuse.g = lightColorPrv.g1;
" P/ s! N$ P; b' c7 B" R: D4 |
pLight->Diffuse.b = lightColorPrv.b1;
3 u. e; S# P5 f$ ~
// oˉè* ??à?
( d H! {0 }8 E- F; U4 }1 c
pLight->Specular.r = 1.0f;
7 Y! C! v( F$ _+ r7 _4 m, w, A# n
pLight->Specular.g = 1.0f;
$ E: l4 G: \1 P6 N1 c6 n8 P
pLight->Specular.b = 1.0f;
9 h8 U% |4 ?& J4 f7 ~
// àü?? oˉè*
4 |9 c$ B- i6 s" ]6 E5 N, K
pLight->Ambient.r = lightColorPrv.r2;
3 r* D5 v$ W& z( b
pLight->Ambient.g = lightColorPrv.g2;
0 |( L7 f8 k1 R) ]; y
pLight->Ambient.b = lightColorPrv.b2;
3 G( a( }2 z' U2 _7 C% u
7 M. o: u, F* }" U" M7 K
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
0 Q: q) n- b+ ?: K* N$ L" @
{
* \+ w7 {: N* Z
pLight->Diffuse.r *= 0.6f;
) X4 U9 K6 ?4 Y; \+ U1 G4 l4 Q% ?- ^
pLight->Diffuse.g *= 0.6f;
" R+ L; f8 ^7 o, ~+ j, c2 \( t
pLight->Diffuse.b *= 0.6f;
$ T5 w5 I: Y2 ~9 _0 W1 a$ C$ @5 w/ @
pLight->Ambient.r *= 0.7f;
" Y3 [0 V; T& ~ L
pLight->Ambient.g *= 0.7f;
M/ V9 P2 r C0 F7 B! ]5 F( Q) D5 p P
pLight->Ambient.b *= 0.7f;
+ W& j L/ t' @2 t# M$ ~
}
# X1 P0 \/ [. I& `: j
U4 \8 B, d8 A; M6 E6 s" G5 ?+ k
#if __VER >= 15 // __BS_CHANGING_ENVIR
4 P; {4 o- U- H
if( g_pPlayer )
- b, A/ c, p% m
HookUpdateLight( pLight );
# I% Y0 B# G% f* B. t
#endif
# q8 Q d' a: ] l# R4 I& R
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
/ ^* s& k; e6 o ~ O
. b' `5 N; \/ y! v
#ifdef __YENV
. l" l3 |5 W* h) y8 u! o7 l5 b7 C; N
pLight->Diffuse.r *= 1.1f;
5 l( d6 i: L1 l7 A$ z
pLight->Diffuse.g *= 1.1f;
' F. K9 | x3 t8 n2 c
pLight->Diffuse.b *= 1.1f;
: \* l3 p9 V* C( _
// oˉè* ??à?
2 T% e3 L! e5 b' b
pLight->Specular.r = 2.0f;
% r) {+ S9 r8 q6 ~8 H
pLight->Specular.g = 2.0f;
, j* A" f4 k& G
pLight->Specular.b = 2.0f;
4 X o% E0 W2 p' f$ k! s% {* M
// á?oˉ
9 W7 Q, S2 R" D7 h3 `6 I
pLight->Ambient.r *= 1.0f;
; A, J( M0 u% L! h
pLight->Ambient.g *= 1.0f;
+ h3 B2 J3 O: i
pLight->Ambient.b *= 1.0f;
- M- x) F: ?! w$ M* W3 M
#else //__YENV
* c' s6 ^8 T( i% F9 P( V6 Q' q$ M
pLight->Diffuse.r *= 1.1f;
; I. O3 u" Q8 z! O3 M/ _
pLight->Diffuse.g *= 1.1f;
+ I7 d7 Y0 k* j1 [/ T
pLight->Diffuse.b *= 1.1f;
/ g" g8 Q/ E6 j6 l4 r0 Z9 y* b- T
// oˉè* ??à?
: c9 P4 T1 F d# ]
pLight->Specular.r = 2.0f;
) ]) V5 L( d3 J$ Y; O: s
pLight->Specular.g = 2.0f;
$ g' {9 c+ G6 R/ [4 r. p: N% d
pLight->Specular.b = 2.0f;
: w+ ~* o* V$ z# b5 k5 h9 X
// á?oˉ
7 s' s: p3 }, x8 s& r
pLight->Ambient.r *= 0.9f;
- E( \' h; k2 o$ p
pLight->Ambient.g *= 0.9f;
g& b, N: s6 Y: V$ C
pLight->Ambient.b *= 0.9f;
* t q! m" I, t* b7 m8 M0 z0 q
#endif //__YENV
- {3 ~0 {1 o: F! |" F
( |! c9 J# O) L. g+ J5 I7 e0 A% C. q
memcpy( &m_light, pLight, sizeof( m_light ) );
% @# l. g. v( }/ y+ y+ g
/ u' J8 d: B5 Z: n$ B4 U0 u
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
& \, a+ _* ~% F T7 ^+ z
D3DXMATRIX matTemp;
4 B3 V, O; I/ j$ d& Q2 U
static const float CONS_VAL = 3.1415926f / 180.f;
2 P" k9 k) Z4 m! o9 r; o
) |; e. d/ e. Q3 v
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
( p4 f# Y9 V+ _5 J; G4 P
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
6 H, }$ e' j2 f9 X* M: r
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
5 ?3 V. \5 _# r [, l) O% h
pLight->Appear( m_pd3dDevice, TRUE );
' O2 i& n8 j; I9 ?! p
$ j# s4 y! x1 O: d
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
4 i1 M# @ u, K. Z- K6 d' |0 U
// D3DXVec3Normalize(&(vecSun),&(vecSun));
4 f% F' R' ?& v4 h7 ] n$ m, h7 j
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
! C% J1 W/ i1 w# Y' @* _- }- V
+ E1 t! `5 {% i$ x; |3 w
DWORD dwR, dwG, dwB;
! V8 J- C. U9 t; n
dwR = (DWORD)( pLight->Ambient.r * 255 );
# @4 ?5 n( h; v4 A& j/ t$ c) [- I
dwG = (DWORD)( pLight->Ambient.g * 255 );
9 {1 H; f& D, B2 W- w
dwB = (DWORD)( pLight->Ambient.b * 255 );
8 O! A9 x- a+ ]0 ]+ W
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
+ o2 w7 }% a( _+ \& }% k# g$ e1 T
}
4 k5 I; ` G5 j' A1 @ @
}
. B9 A/ t. ~; ^' H0 V2 L% _
* _2 K( \( ?9 H) `8 _% `4 u7 _
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
R- M8 `/ P/ W: r' K" b9 k) 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) );
0 R7 W7 |% F0 N$ F$ k
::SetLight( bLight );
/ t, n$ y: j, @( P8 {* V
* m/ z- r% ]5 l' ^
// ±ao? ?D?í???ó á¤à?
+ L4 v8 E$ T5 M- _# ~, v; \% m
m_pd3dDevice->SetMaterial( &m_baseMaterial );
0 j$ g- W) N0 P6 c8 C/ \
! F: G- [- |/ f$ W' z0 D; T
#endif // not WORLDSERVER
2 h6 o: `& s; S" n- r
}
7 F& G' b8 P: C9 D& ?; E
并更换
5 C, y8 t" R2 [4 i
Code:
) p) `8 \, V3 X1 M# Y: K, y" r
__FLYFF_INITPAGE_EXT
6 V: y% `/ E# T6 z0 G3 s
定义
6 j; ?& i k5 l0 ?2 k ?
+ }9 g. y. f* i3 L" A9 B N6 J
, [+ c3 d4 c' {- C6 P
/ D" w, `( b. R- H
6 V6 I6 \: e7 }. G
现在终于删除我的狗屁加速...
: h1 |6 u: w3 ~. V' P0 D
6 x3 D2 u- R) ]
0 ]9 `/ n( f: ]5 @) Z1 o% E
$ [) ^4 ?& a0 Q" D9 k! s t
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2