飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
+ R7 A8 H* r) x0 C( r1 A
尾翼:
* N" I i+ I% ]) m8 D' m. |# E
: B. n! {& F9 f g' M/ ]* F7 _. L
代码:
2 Z- I! O( x! `& V& ^! L l9 \$ E) n# a
CWndAutoFood::CWndAutoFood()
" D( V5 P& U9 H& C" x0 p5 {
{
9 [% N6 A! D' [$ A+ t
m_pItemElem = NULL;
4 m7 k0 ~( Q" e2 \* `" D/ w5 z
m_pTexture = NULL;
3 F4 E) U; X9 w+ V
bStart = FALSE;
/ O4 Q. i) P/ Z9 E
}
! U7 D$ j/ r6 {9 \0 j' l3 }$ W+ q0 A9 q
0 [& ?; g) c1 `! O4 \2 h- P
CWndAutoFood::~CWndAutoFood()
3 I5 b/ W! Z f8 l- }
{
+ P( r: B: z5 v( O: E5 Y u9 k
AfxMessageBox( "AutoFood ist gestorben
" );
9 e( J( X' I8 V& Y d4 _0 h
}
% O' m9 k9 v. Z' q: h
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
+ a) P( m; S7 F8 a1 W( \# U
{
! @# _4 U7 l2 u- E- z! f3 T
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
: [8 |9 ^! f0 S- J1 u( U
}
1 [2 B3 g, X/ V
* w' [% m7 r- Y
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
! ]) J/ ]- {. O: L+ z' v
{
. a( R; c+ O) r0 o) j' W
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
0 Z& V$ o8 Q0 W/ K' K: n( d
CRect rect = pWndCtrl->rect;
! E1 q" U. l* @
if( rect && rect.PtInRect( point ) )
1 P% P; M9 J) r. G6 q4 Y0 E
{
- ]( c- T& X1 K4 s6 j
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
7 j8 b/ e5 S' }9 O. a3 i. M
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
$ }7 T% D6 l; Z
{
' n2 Z4 C6 y* x- l8 M7 O% e
if( m_pItemElem )
/ i0 w9 l A* d
{
2 V0 u1 a, [; C
m_pItemElem = NULL;
2 n, v! J" A0 Z6 R( V
}
0 `6 m- l* s. e! D* y
m_pItemElem = pItemElem;
+ i) o2 [5 Y' U
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
N O8 i. t8 }6 D6 k. D% {
}else{
; w% V5 H1 {9 j/ Y( f0 j6 @
SetForbid( TRUE );
0 }9 c6 n5 h5 F- ?: k. P+ r
}
2 w; H( ?; B7 p A( ]. Y" H. n
}else{
3 H5 h+ L2 v0 Z4 v m0 v/ D
SetForbid( TRUE );
5 v" a- {/ e8 [& E+ i
}
* \- [4 n" {9 j. [6 d! G+ K5 e
return TRUE;
) t2 Q7 N3 J( w6 [
}
2 Z; z' f6 {$ X& P
" m; K7 z/ r' _* \% w
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
4 P0 ]3 C: Q9 l7 H
{
. x Z4 T# Z* P- W6 s: P
switch( nID )
# \* z- H. L5 P' H) I' H
{
) z: C, h. _( t- s# m% A7 R
case WIDC_BUTTON3:
: n8 H( I. n# K6 ~8 X
{
0 a& W( j4 Z4 G8 y
bStart = TRUE;
" y3 H* F* w) Z3 j/ `
break;
, L9 ~5 z- L# a2 C
}
7 @( h# O6 b2 _
case WIDC_BUTTON4:
% @$ }3 P) m: o2 ~( ]+ L
{
- V# d8 \. h9 e. J: Y; H; c! s, F/ b
bStart = FALSE;
) h5 P& }; D: n4 Q: \. ^. K" d/ [- u
break;
: `3 F* f. Z! L0 B
}
! W( w o4 r0 p% ^( Q4 j1 J
}
" G; l7 u* p, {# u4 |0 G
return CWndNeuz::OnChildNotify( message, nID, pLResult );
, E6 I2 R/ ?) L( x; A
}
% f2 o: J+ C% |* A
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
5 [. z' r+ |3 w; w5 R" E8 U4 ~+ q' O& [
{
( b6 Y/ V/ i7 _) N% b' R8 B
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
, Q- T; {6 O2 H* L: x+ I# k
if( bStart || !m_pItemElem )
9 h& e* m2 X9 {$ n
{
( u3 k h; `8 v, N- g
pBtn->EnableWindow( FALSE );
$ Q' y5 F4 Z" C( M
}else
, b7 [, {! J: ~" Z
pBtn->EnableWindow( TRUE );
; E# P3 \$ c N1 h
if( m_pTexture )
' Y4 P2 L8 w4 U- ^
{
/ _+ s5 {" [8 Y- ?- i, i
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
# a* S- ^5 J7 `, J! b
if( wndCtrl && wndCtrl->rect )
6 i) D1 ?/ c0 a# |5 m& g8 U
{
- D1 }% d% K: I7 _$ \# g
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
" u; h) ?' Q: K9 S+ ]* q3 u. y( K/ B
}
# G+ ^& o% P6 E
}
, s; c5 D3 y4 \7 l4 x: e v! [4 F
}
y7 R5 R& W& G7 P; u+ b3 T
5 e0 f9 L5 W5 N2 L, Z
BOOL CWndAutoFood:
rocess()
% Q: F9 \# C5 P7 x9 ?% t
{
4 _. ?2 ?; Z5 l
if( bStart )
- Q6 c: h* Y) o. ~* H+ C
{
3 [; ]$ Z# A+ {
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
7 X# Q& ?! ?' M7 @4 I- {
{
+ l& w4 }% w: K& @1 U! I! i# J
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
5 }/ N! P- q) ~; F+ E
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
* K7 [2 J6 k- {0 k' L& C4 t
}else{
4 O& n- _9 R: J8 `, l
bStart = FALSE;
7 ~' T* R6 f/ \$ J- F; p: k
m_pItemElem = NULL;
9 {! G/ b, B9 M7 Z2 F3 ]
}
+ }: d( x+ O. a4 r) A; s, n4 @
}
& e2 Z; C/ A, z
return TRUE;
. O* W, C6 g3 o6 Y
}
8 \# i, l$ w2 E
* M9 d) u' E, L
登录视频废话:
+ z/ l5 v7 D* Y2 \3 c3 ]
尾翼:
+ D0 i! \/ K5 @6 `& I# C
( s- i4 _+ ` D, e2 X+ e: P
代码:
9 n$ i& p A# ~& ^1 N: n) U. d6 O
1 \* O% [, n/ L" E* C3 ~, Y( f
void CWorld::SetLight( BOOL bLight )
/ F9 |! V" a+ F8 a; s' y2 j6 d
durch
# `0 w' M$ j5 b9 w3 j) z
Code:
) k* @0 j7 e5 [
void CWorld::SetLight( BOOL bLight )
7 `( [+ h7 I+ _' u* Z
{
% g5 H7 O) a" d1 q7 |
//ACE("SetLight %d \n", bLight);
6 w/ L2 z7 U% ]* v& w0 M
- k& Z- [* N2 N. ?
#ifndef __WORLDSERVER
9 z0 A9 W; m7 G- E" [
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
. l! j1 h! @* r; [5 {
CLight* pLight = NULL;
8 Y1 p$ E# D0 F: I9 Q9 T' ~. n
8 z% Q4 Q7 _* m& s) f7 t# I
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
# ~" T' W8 e& ~* z1 Z4 `
3 j! O6 Z# |' Y4 d8 e' U
pLight = GetLight( "direction" );
5 y5 J! O( S5 g6 v0 n5 m
& K7 Y, O* `, j. d; {1 B' h
#if __VER >= 15 // __BS_CHANGING_ENVIR
) t9 d/ {- b% T4 [2 {
if( g_pPlayer ){
& y9 f% ]7 `0 q$ W* W3 i
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
1 r! U E+ D) S: O" J# O+ M
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
& r t2 O: T F- |1 u5 T
{
' z x- H$ @ H* y
if( pLight )
. P3 d. a! V6 m
{
$ o5 \& _( ~: K, J' B- s; N# `
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
' d, k& O# ]. Y Q
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
& B4 I; f/ l" ]2 L) h
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
4 N M$ m1 d6 ?" Z% m8 N
/ a0 N. g6 F- u# h5 f; D* G6 s: V7 [
pLight->Specular.r = 2.0f;
6 F$ R1 W. w/ o8 Z& `
pLight->Specular.g = 2.0f;
% q6 N/ e6 o- v2 Z3 r$ H
pLight->Specular.b = 2.0f;
h$ [2 [, `( J5 o( [
# K- r7 c& C- A; I! u" U' Y
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
) k- U, T* \; u" D1 Q( J0 @7 M' C4 c2 ]
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
- q6 K/ l7 d% l3 f, f$ `
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
# e' G4 ^3 l# X: ~6 B% p
3 V- F2 ]& T/ C3 b* o+ K; J v
HookUpdateLight( pLight );
/ g1 l/ o6 h+ o- a8 F
# h. c5 G! F6 H& }% o. ~
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# {- \8 ^! i7 Q. F. Z
7 y4 y" t& u8 X( J8 R1 T) ]6 C
pLight->Diffuse.r *= 1.2f;
7 b5 |) }: v9 e1 Z' T7 x) t
pLight->Diffuse.g *= 1.2f;
H: W$ y9 E" c9 X6 \6 w
pLight->Diffuse.b *= 1.2f;
8 q# s6 ]) ~9 t
3 h3 q4 f! N( C
pLight->Ambient.r *= 0.8f;
% u" v5 u8 Y" w7 Y6 ]( s
pLight->Ambient.g *= 0.8f;
Z" A8 e& E1 L$ U% L
pLight->Ambient.b *= 0.8f;
5 g9 L9 P7 e. ]( W, w- v4 _4 Q
$ w7 v7 v0 p; Q6 i A0 o
memcpy( &m_light, pLight, sizeof( m_light ) );
. v- R7 u7 }! p k
o- Y" t( i. I$ Q }9 ~! H8 v
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
3 [) w a& P8 g/ @2 ?
D3DXVec3Normalize(&(vecSun),&(vecSun));
3 e/ c6 v8 X/ @0 O+ Y6 H
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
/ G. E4 A4 e7 @
pLight->Appear( m_pd3dDevice, TRUE );
7 o# g1 M7 L7 X9 r, w a" e1 G$ ~( Q7 x# q
# z2 Y2 W3 p5 s3 ], e
DWORD dwR, dwG, dwB;
: R$ _ y u: @, D F' }7 k% e
dwR = (DWORD)( pLight->Ambient.r * 255 );
' L( Z1 Y F/ [& ^ o% F
dwG = (DWORD)( pLight->Ambient.g * 255 );
- {6 S6 o* c6 d' R5 X) b2 E0 {$ g
dwB = (DWORD)( pLight->Ambient.b * 255 );
& M* | `% k/ a
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. u. t( @+ ^ g" J. A. z+ r3 j+ U
}
; V+ a! |8 p8 Q
}
5 k5 x8 k* V' C5 \# V1 M
}
5 n; `! z; Y- r( t
else
! [8 _ t3 \9 t. q, U
#endif
; ]4 ]- a9 P" _4 k) R
" r: e' @8 E& D7 N. X, ~* p9 A! z# ]
if( m_bIsIndoor )
3 x7 D2 A7 s7 T
{
2 C1 l) L6 @- N& Q, ~
if( pLight )
2 V/ }8 {7 a1 d+ c5 H( v
{
* z: ~, |* B0 k0 D
// à??μ oˉè*
2 d5 m$ s3 t+ V$ k9 ]0 g$ X
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
' r% O. ]3 W; b# {5 f
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
9 A, O& A% g; d" o
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
{2 U+ d7 V6 n# L( E. |9 g3 X4 k
4 i/ \2 q+ n3 R) R
// oˉè* ??à?
, N# a( |6 O) [! K
pLight->Specular.r = 1.0f;
: V: d2 G2 c% r4 U/ O0 i, w& N
pLight->Specular.g = 1.0f;
( y+ b5 O: m' M) d: W X
pLight->Specular.b = 1.0f;
' S' J! u& s4 Z9 ?" u c! M! {
// àü?? oˉè*
. \1 S' K$ o: a2 j2 R- @; S8 n& z
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
: l+ L$ L5 a8 s8 q
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
* _; {$ M' ~/ ~# o0 T& i" y5 e# c
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
4 H: {$ D4 Z0 K& F! h! E
( y7 W' P. n5 M3 \
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
/ m: C0 Q: K/ e5 s9 M A x
{
1 y/ a5 E |( K2 _- i
pLight->Diffuse.r *= 0.6f;
* F1 `0 ^, p7 \) g6 N
pLight->Diffuse.g *= 0.6f;
# L$ ]& a1 a8 N' j2 Y; q+ e
pLight->Diffuse.b *= 0.6f;
6 X) Q Y8 P7 D9 x
pLight->Ambient.r *= 0.7f;
5 M( i! c9 E7 K. m7 {/ h ]
pLight->Ambient.g *= 0.7f;
) X" K. |4 N# U2 ? j6 T6 M/ I' c, _
pLight->Ambient.b *= 0.7f;
$ M+ _, M& @& w% p3 Q
}
8 m) w4 y& m/ r- D
# N% m; W) B6 k& M
#if __VER >= 15 // __BS_CHANGING_ENVIR
/ _: o U7 Y5 u1 A; j s/ w
if( g_pPlayer )
+ T+ b( ]" e1 s& g1 V
HookUpdateLight( pLight );
# i9 D0 v5 ?: I4 g' x4 a/ l* v5 R
#endif
' V/ m, L/ @9 E3 K: S* u0 N) ~# L
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ S9 }7 B1 y% N( }/ B6 g( j( H' m, k) y3 @
8 p9 O' ]% J8 }! ?. ^; d
pLight->Diffuse.r += 0.1f;
' M& {! X* Z0 ^
pLight->Diffuse.g += 0.1f;
. k+ y2 v3 h- T6 g2 z' K) n% R! x
pLight->Diffuse.b += 0.1f;
" Z( y5 c) Z- }! W# ]5 W" R
// oˉè* ??à?
/ c2 r \ A5 k$ e
pLight->Specular.r = 2.0f;
" {0 q5 Y1 O ^
pLight->Specular.g = 2.0f;
( \5 d& B% E& R5 V
pLight->Specular.b = 2.0f;
( ?$ A8 e/ e9 Q- l( c
// á?oˉ
: u/ P; X+ W8 J1 ?: ?) l
pLight->Ambient.r *= 0.9f;
' }( c6 O- F" i4 @, ]+ u! P- |
pLight->Ambient.g *= 0.9f;
5 }! x* ]/ O; ~2 V) I2 D
pLight->Ambient.b *= 0.9f;
6 c- c5 \1 K3 p
! s$ ~, y m4 l4 h
memcpy( &m_light, pLight, sizeof( m_light ) );
/ z& V6 F; P' T z$ ?3 \8 Z7 c
' R6 \- Y$ g1 Y1 ]
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
& l/ ]+ e1 u9 j: {
pLight->Appear( m_pd3dDevice, TRUE );
9 T" e: k, ?4 \" l/ _8 h4 }
9 [' P* I$ U% Y' \% J% @
DWORD dwR, dwG, dwB;
& Y6 L% v8 S( L6 O( Z3 \ I
dwR = (DWORD)( pLight->Ambient.r * 255 );
7 a, T" U% R0 t& j
dwG = (DWORD)( pLight->Ambient.g * 255 );
% ~1 b! C2 z( l7 Y( ?2 \
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ G6 n' t0 l- V9 J7 U# F
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& S2 e* h+ o( p: h( a8 F4 d
}
+ \# z, r) V. Y f
}
! I% C S s: t" H2 i& j
else
, j. d7 V" D9 H' e' y8 E l! U
{
" Z- }: Y+ c2 {5 E4 x
if( pLight )
) t- w- h0 x5 z
{
! `6 |9 N/ E6 I
& j3 g1 q% ?1 Z- o- e; [
int nHour = 8, nMin = 0;
6 W5 V& N D& I; z, R) m7 Z
#ifdef __CLIENT
P! {- [' @9 s
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
" M1 T/ [4 e/ T; \! d! m
nHour = g_GameTimer.m_nHour;
) t+ i" c9 C8 B: t+ X; `0 S
nMin = g_GameTimer.m_nMin ;
/ O! Q3 @3 J& j- C+ g
#else
) x9 Z9 ]' N# q" R; _! V9 r5 t7 I
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
b% n- l; g& h7 q y2 ?9 @
if( m_nLightType == 1 )
" U" J) Z$ J- z8 m: ^6 g
nHour = m_nLightHour;
# v! L: S* r, s: _
#endif
4 c/ G0 f' u( e: z2 n! r
nHour--;
/ p) s) b; K9 I: [8 `: z
if( nHour < 0 ) nHour = 0;
: u1 j: }, r1 A3 M
if( nHour > 23 ) nHour = 23;
* d/ b' u. D1 O% c, G) P
x* x2 [5 h5 ~" h( z4 D4 }: R
//if( m_bFixedHour )
+ M! q! \0 m2 O" u
// nHour = m_nFixedHour, nMin = 0;
; v- w: j, K5 g& h4 f2 ?' A
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
. n5 F/ C3 l# d8 l- i, Y, ~
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
; @% }. E0 W6 y: B$ V: M3 N
! j/ q! G# f6 }
//m_lightColor = lightColorPrv;
' }% J/ a' ~+ r6 _0 y8 ^
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
+ X+ h# p1 f' i% X. w
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
1 U- c& t. H& @! I$ }, |% e7 q# ?
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
+ G* n$ ~. X* B6 d* O+ i
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
7 X1 m* G9 e5 @, T
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
. }* ^% X+ |9 j7 y
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
. y/ H0 I" h$ F2 S/ M1 }5 e
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
) k1 z' O- X+ e6 m; Z' l6 }
1 b7 r6 ~' U0 @' \: l, n8 z* l0 q
// à??μ oˉè*
8 {, ?8 s" n4 s1 n% q" r
pLight->Diffuse.r = lightColorPrv.r1;
$ ]. e, O( F3 f" n, |4 Z
pLight->Diffuse.g = lightColorPrv.g1;
& u& K2 t5 h! G/ F9 C7 A* m
pLight->Diffuse.b = lightColorPrv.b1;
7 O! m2 U( E; B7 @# H4 J
// oˉè* ??à?
" I: w; @7 Q% @# |! t; q6 @# O
pLight->Specular.r = 1.0f;
# U; n; B+ G" C
pLight->Specular.g = 1.0f;
4 f; A8 U# `0 q `0 i
pLight->Specular.b = 1.0f;
3 y- \$ X) A- [ o6 _; Y
// àü?? oˉè*
* c2 `. i* @3 r" j, q( u# h
pLight->Ambient.r = lightColorPrv.r2;
1 L" m+ F7 h( B% L. q4 j
pLight->Ambient.g = lightColorPrv.g2;
# p; M5 p5 A1 o4 R7 u; W& @7 y
pLight->Ambient.b = lightColorPrv.b2;
. V$ y# n3 p+ l3 s
- Y5 ]' @6 e7 s% [% ~2 L7 F
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
) I8 d# ^- ]' d a; ]4 y
{
8 D" V6 ?' n. I" Z/ p
pLight->Diffuse.r *= 0.6f;
2 r6 h& G. @3 R
pLight->Diffuse.g *= 0.6f;
+ G9 Y6 M9 \& B A4 F# k
pLight->Diffuse.b *= 0.6f;
+ m8 p G& ^7 P# W, p: ]
pLight->Ambient.r *= 0.7f;
+ S( n6 I D' [# H% p
pLight->Ambient.g *= 0.7f;
6 ~; ^! f% a' Q6 x7 ?8 s9 g
pLight->Ambient.b *= 0.7f;
6 M9 _8 G5 Z9 j* s4 i' X
}
- z, Y7 O- B$ C# H9 S+ K i
0 d" j. ]: d) Y9 u# p/ M
#if __VER >= 15 // __BS_CHANGING_ENVIR
% \% i) u% L2 k: E
if( g_pPlayer )
5 j4 O$ v/ e" l a3 U1 k4 e
HookUpdateLight( pLight );
7 b! @9 T# K6 H |7 ?" e
#endif
% F4 Y8 L/ Y. h/ d- Y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
_/ P3 P: v- E D2 ]2 W% H
; ~6 o% e1 g( i9 m! C
#ifdef __YENV
3 L; y, B5 z0 q3 M/ ~) o
pLight->Diffuse.r *= 1.1f;
$ W- H! F* v2 Y/ R( A! E! Y) \
pLight->Diffuse.g *= 1.1f;
4 I! R5 p( [9 z8 w( z. L
pLight->Diffuse.b *= 1.1f;
6 S% s# W+ a5 s$ O$ w
// oˉè* ??à?
; ~5 I# U+ F' T& n$ D) }5 X9 ^: Q
pLight->Specular.r = 2.0f;
( I' z2 q+ @3 ~0 w8 F. ^7 A0 f& e
pLight->Specular.g = 2.0f;
8 }) f! q" @9 g* }, ^5 E! b5 ^0 y
pLight->Specular.b = 2.0f;
P4 s7 p, \* H' E; Q$ U5 f( {( R
// á?oˉ
Q" ]+ E0 ^0 p2 E0 z
pLight->Ambient.r *= 1.0f;
0 }2 w: I- ~# |8 t& ?1 ^7 n
pLight->Ambient.g *= 1.0f;
w! |5 ~- [ ~! K: F# Z, F6 N
pLight->Ambient.b *= 1.0f;
8 H- b6 @1 _7 Z) w) ]
#else //__YENV
8 W' T' [4 N' P# L
pLight->Diffuse.r *= 1.1f;
# o+ y( k2 ~/ _- H
pLight->Diffuse.g *= 1.1f;
x$ k+ ?$ B/ j
pLight->Diffuse.b *= 1.1f;
6 J6 T# r$ @" B/ z5 r, r3 {
// oˉè* ??à?
0 [) M' Y; {. s2 T
pLight->Specular.r = 2.0f;
/ O# b7 N( J1 i# u7 v
pLight->Specular.g = 2.0f;
& `# G' n" A' W7 G4 r
pLight->Specular.b = 2.0f;
. f' h8 c ?& N; j+ R/ S
// á?oˉ
( H0 ]1 I3 y& c% \4 t6 B
pLight->Ambient.r *= 0.9f;
( I" |6 m! I1 L* w+ i9 b. S
pLight->Ambient.g *= 0.9f;
# E( ]5 k6 h$ f5 |, t e
pLight->Ambient.b *= 0.9f;
% t# c4 o6 p3 C: v
#endif //__YENV
/ L; [* g: a- v7 ~* E2 [
' e5 _+ B7 g/ Y
memcpy( &m_light, pLight, sizeof( m_light ) );
( L3 @1 ~+ G% J1 { X
& f, w, g% E( w, H
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
# K9 I( p5 _! m; q3 T
D3DXMATRIX matTemp;
# O9 t6 B2 R% W, ]* O
static const float CONS_VAL = 3.1415926f / 180.f;
6 E# ]$ a3 N2 x% g% ~( f/ P
! d" \9 @* X. R
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
. \) O1 {" T, k
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
7 R4 b S2 o3 O9 s: r
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
( C% a; O0 i* @- _8 R- k/ O% Q2 e
pLight->Appear( m_pd3dDevice, TRUE );
# b( n* }7 i7 {( S" p1 g9 z
6 t( r, q( H2 ?* k
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
" {! _" T3 z/ O$ o; R
// D3DXVec3Normalize(&(vecSun),&(vecSun));
! m; D7 h. t. @% m
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
( Z3 S9 v {/ E1 l, Q
$ e. d- Q1 r5 a5 d( R& [
DWORD dwR, dwG, dwB;
- B0 [' K; K- D
dwR = (DWORD)( pLight->Ambient.r * 255 );
7 E: h ^- J5 R1 z- V: {7 z
dwG = (DWORD)( pLight->Ambient.g * 255 );
: m5 z$ u& Z1 w0 h% B/ Q
dwB = (DWORD)( pLight->Ambient.b * 255 );
- v* T* [+ F, O! _8 S
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* x* K3 \& Y2 ~0 P
}
/ L& w/ E) X# Y4 E
}
3 @* g" v: Z1 P! d8 J* ~6 V+ u
% L) m( g& x3 |; B4 q
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
. g% C' Y" q- z$ x1 B
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) );
$ \& M `# i5 A: u. [4 X+ @
::SetLight( bLight );
0 D( \" k( @; R" S1 ~/ P
* ?/ j& u6 X, X, L, l
// ±ao? ?D?í???ó á¤à?
, X' z1 r, I0 N
m_pd3dDevice->SetMaterial( &m_baseMaterial );
' B1 A H7 ]9 @) X: C
0 y8 i1 G R. A
#endif // not WORLDSERVER
" o0 i/ c O$ E3 Q j6 {
}
+ R E1 P. O8 J$ G) `
并更换
5 t' m9 u5 \' E# s3 F/ ^: ]8 G
Code:
8 S% z4 r) ]) a' o3 ?
__FLYFF_INITPAGE_EXT
1 D; g9 v" V8 P% N. [; p
定义
: Z* `8 a: t* ^1 v: Y7 J
3 f* s, _/ A- y, k
8 P# Q$ V' f: `# a8 s
* T6 _0 B3 C) ]' r: B
G, L! T2 m3 x% i
现在终于删除我的狗屁加速...
+ R* `6 v" O0 ?/ z/ M3 s5 @: {
1 I& r0 g+ l, p% P# W& s
, V5 D2 z, o) D1 b2 c# W% X
9 i0 k: J' F6 ~6 d
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2