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