飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
$ W% m. y% a! y( u+ N5 K
尾翼:
- h8 ]; }% S# l/ s3 @. M0 V
) }+ f+ _2 i3 E6 z9 }# ^. l( p
代码:
; a6 W# x b$ Y8 G; C% i; A
CWndAutoFood::CWndAutoFood()
M+ a& c* P$ E
{
Q0 n& A. ?4 F# H, \. c
m_pItemElem = NULL;
# U; C$ }% h$ m ]
m_pTexture = NULL;
( P. Z5 ?/ K+ F' {9 F2 J/ A
bStart = FALSE;
8 \) }1 F, q- `5 d1 L( S
}
3 I, A1 q& j9 Q+ X5 l+ f$ i# T. }( M
/ j$ x) W) } z [: z" e
CWndAutoFood::~CWndAutoFood()
# D; E5 C- ~. R# f
{
$ n1 k! D7 _& U0 W% q
AfxMessageBox( "AutoFood ist gestorben
" );
0 U/ C# F- Y0 M n* x
}
( f: P( O3 W9 Y; ]( s/ p8 S
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
% L4 U( x" I' P) I+ E9 Q
{
8 }+ c, q: Z1 s
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
6 ?6 a% q: F- [# {2 ^$ c
}
1 j B! Q) U) B0 t, q* u
2 u) ]* S5 H$ c/ ]" z/ y% c
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
6 v0 @. p2 X N# i8 s' R' t( l
{
0 c, I. p! n4 ?! Z
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
/ J7 w7 ?' K N7 I! C; }/ L0 n
CRect rect = pWndCtrl->rect;
. A# Y4 x# k/ n! w- j, o, f* R
if( rect && rect.PtInRect( point ) )
; C, H( u8 W# i- d X3 Z+ V& B
{
9 `2 a2 H* [- \3 @ R1 ]; y
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
/ E0 H5 A+ t+ `- a5 J7 q/ _
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
. }6 }2 c/ V& G$ O
{
9 Q; g% B8 u1 ~$ ]) j7 E3 k
if( m_pItemElem )
. ]; d' K7 O1 S) B" X* E7 c T
{
4 L! l1 I( K* [& B4 \
m_pItemElem = NULL;
8 e, G. e( t+ z `4 O/ G
}
4 {3 a1 j0 @8 E3 H& R! Y4 R
m_pItemElem = pItemElem;
/ q9 X- S9 Z$ @9 a. v1 E# E
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
( x) B7 H' X2 r6 j2 A7 ~2 X
}else{
. c5 ]0 u. o% G
SetForbid( TRUE );
, @8 y& Z; u0 ~4 U
}
% J! C8 o6 A( C& \" Z) y
}else{
" i6 k# L: |: F, f* Q1 p
SetForbid( TRUE );
# G$ m" a( |/ N$ ~ G; V: m
}
# [6 ]! x! D( G. _
return TRUE;
: s7 ` _7 C$ a \4 ]/ z: T" l# i5 x
}
* W& r4 B1 d4 D, k
+ a6 M, M" q3 p, p% N" u0 e
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
0 G, c; N0 K* s- K
{
( C/ a5 C0 e0 \! f% h
switch( nID )
% I) K7 `1 U; [4 t7 j& f
{
; g( I% Z& l* ^+ t2 z9 Q; C
case WIDC_BUTTON3:
# D2 Z2 l. a( G7 {
{
5 u2 V; R6 m6 y/ A7 Y9 G3 y
bStart = TRUE;
$ W% N; } x" n( c
break;
+ s( r0 l# b' E5 g1 r& [' {
}
# c- a( |5 a- z7 H( k$ Q ?* i) w
case WIDC_BUTTON4:
4 y& M# K$ }! F L" d. Z
{
9 M2 M) r( E5 n: e5 I
bStart = FALSE;
7 _) V+ L& I3 h& V$ X. d9 n9 {" E
break;
4 k2 r2 V( I: O( O/ z* W- e
}
S2 ~9 s* f9 k$ R
}
% J6 B2 M& X( ?( Q
return CWndNeuz::OnChildNotify( message, nID, pLResult );
5 W+ H* K6 c3 H7 A+ q$ A
}
v' z4 B$ [) x8 r( n
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
]# F5 p% i1 b8 `' g' B
{
! l0 b m6 [" ~- ^1 i
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
* I, G/ z d& k/ a& M0 T; G& Y8 R
if( bStart || !m_pItemElem )
. {+ R4 C& A4 S" |, O8 G
{
6 e0 G8 P6 v' |1 k8 P: b
pBtn->EnableWindow( FALSE );
* R9 f/ l: `5 W; x
}else
4 Y1 s2 y# ~& r' ^3 s1 G
pBtn->EnableWindow( TRUE );
& ]" u% x o# U
if( m_pTexture )
4 M# u: _ k. s: N
{
: O& }5 F; v8 n8 g1 S* s& L8 Y
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
, }9 |9 A( N% y* L, w- _
if( wndCtrl && wndCtrl->rect )
- z. }1 x8 L) X: a9 X
{
' H+ C. l4 r; r$ `/ G
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
: |$ X( ~7 Y1 Y) ` b4 A
}
6 ~: l' o; o9 a8 g) V1 U0 D1 \
}
5 l+ r( s2 T& n: Y/ U
}
! @0 Y5 h% _1 X) L: ]/ K4 a0 g: |! ?
6 k* \( K* M+ m0 D
BOOL CWndAutoFood:
rocess()
4 J% D- w( C! C6 [' X: ]
{
/ K: \. H4 @/ q, E9 O
if( bStart )
) Y t4 O- A1 u4 p. C4 T& D- g
{
* O9 F- V9 |2 G9 P0 A- }% t
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
5 z5 e; H% g4 T, Q& ]
{
2 p6 m& k+ @! M
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 @# s l# v8 N5 O+ z
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
; g0 E& ~( U; E+ w9 @$ V
}else{
8 J% ]' R, ?0 A; R1 l
bStart = FALSE;
7 F. {. d# i- X; t3 B) h! p2 e
m_pItemElem = NULL;
. D0 m8 }) U1 h4 H6 Z' V
}
8 b' X( V4 x7 S7 k2 @/ i$ ?) C" }
}
2 V' `: P2 O' X9 ^! V X" o
return TRUE;
: q& z$ R( P, i& B
}
! {8 u* s9 a" F- I' T7 i( Z- B4 W
1 h* m Z. x# M
登录视频废话:
" s' u( ` h2 D6 I% ^$ m
尾翼:
( d M& D, c. j* s3 }& A. P
9 @; i8 e9 Y! F' T
代码:
2 R) t4 A# N3 f3 R
9 U9 Y1 b! k6 e; d
void CWorld::SetLight( BOOL bLight )
; {; M' t p& F
durch
, j$ Q% N* Y9 @ O0 x
Code:
( n" e/ }0 G! i+ u+ J0 Q: U
void CWorld::SetLight( BOOL bLight )
2 J f7 W6 N1 l/ O" t; z' Y
{
c5 ^3 a: E" _8 a+ _6 y
//ACE("SetLight %d \n", bLight);
U: U# ^2 A1 T5 P+ E
+ e- h( L( N/ V! N. v
#ifndef __WORLDSERVER
. K- }0 G& I2 y3 h# F8 C' U5 m3 l3 a
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
3 v# ^1 E6 a P5 Z |- ~
CLight* pLight = NULL;
F5 d# F& l$ ? T# V6 D
, M# C- f. N3 `% b) R& \+ }) Y
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
" O6 e8 l6 d+ V# }: L- j* ?; b
( W4 H1 j- e% R
pLight = GetLight( "direction" );
* V) p& V' W0 t) `/ o6 h) Z: ^
& Y7 h9 l2 X( ~9 Z8 F5 O) \ c$ k- q
#if __VER >= 15 // __BS_CHANGING_ENVIR
7 r+ C" C% B M- c! p& D* P
if( g_pPlayer ){
( s! |/ l8 C1 P9 [. S5 v
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
5 V: z2 A- t2 Q
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
4 W2 O+ s* _( Z3 Y9 C
{
' h" T! Y$ t( j: {; P, B, R
if( pLight )
8 g r- F/ P7 X$ x0 [ M9 i2 b+ Y
{
2 T% B X9 `2 p% x
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
- S- ]8 X1 L, v5 t
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
% Q" n" B" r; ~, N3 B, X5 W
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
! z3 H- P; _. c' C% ]
4 z* p0 ^: m8 a! `
pLight->Specular.r = 2.0f;
5 H6 `0 @" T/ O6 _2 X2 R; }
pLight->Specular.g = 2.0f;
1 q9 X/ `6 S) [' X3 _
pLight->Specular.b = 2.0f;
9 _& y( [1 }+ v- M8 @$ B4 \0 L
, O) L6 w6 S' G
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
- k' [6 c9 I; C! y4 f" l
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
! k+ ?/ B( b7 I; ^# }
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
, t* v( M3 ^ A$ C4 D4 Z. B7 a
6 I8 O$ T' @0 _% s8 R) _
HookUpdateLight( pLight );
* u$ X e* x1 O# ^) F
. x5 t+ v( ~( h
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
- N! m& g: p" w; g9 m' _8 ~
' \' M J3 U. l5 D1 {
pLight->Diffuse.r *= 1.2f;
D# b4 j) o9 F9 Q- I$ S8 Q
pLight->Diffuse.g *= 1.2f;
; p( h$ C) W- O0 M
pLight->Diffuse.b *= 1.2f;
* D8 [2 R" x! Q! j
( o' b8 n k7 I( I+ A5 T* G4 A& R
pLight->Ambient.r *= 0.8f;
7 E. D) J4 P+ U' `- n
pLight->Ambient.g *= 0.8f;
+ ^7 j8 |! u9 Q7 t. G+ a9 O
pLight->Ambient.b *= 0.8f;
: o2 _/ l; j7 |1 Q0 f5 G; ]
( ~- Y! B$ R! _, K4 ~
memcpy( &m_light, pLight, sizeof( m_light ) );
1 U1 H' s: o' y! j! M+ K. J
# K" g/ X+ v7 b! k; j- E2 p0 }
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
3 A# A* N1 {) k2 X* f6 R3 \4 P( P
D3DXVec3Normalize(&(vecSun),&(vecSun));
* D$ A4 J' x9 `; p
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
1 V: i( }5 v& J0 b6 n& Q+ x! ] D/ Y
pLight->Appear( m_pd3dDevice, TRUE );
3 \& R' P# }7 Y8 o
' \% }' i) J) W) P: V
DWORD dwR, dwG, dwB;
7 } Z/ m7 u3 @# N3 S( g+ Q
dwR = (DWORD)( pLight->Ambient.r * 255 );
% a/ i6 Q5 @9 ~/ ?2 X5 B) S
dwG = (DWORD)( pLight->Ambient.g * 255 );
+ H+ q! t0 C! ~) |
dwB = (DWORD)( pLight->Ambient.b * 255 );
+ g; S+ G3 G& v& [8 O. q
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 m: _# j5 `% o0 N& D4 p
}
2 t* Y% M( Y4 X- e+ R% ~3 b8 n
}
. ]" a8 c' [- F8 r
}
6 Y0 I$ j9 D3 I' m# W( u' E
else
$ N& B- D8 C- s/ J8 Q% q) d8 Q" v
#endif
% k" Z* ?/ ]' S( z/ l
& j5 p G) C, S6 m( |, k5 N
if( m_bIsIndoor )
- Y8 b7 r2 O e8 s* B& Q
{
5 A4 i1 ^) x2 Q! e% V
if( pLight )
1 C. C. o. u% Y3 z
{
2 Z8 X5 A3 j$ ^, i/ t# o; n) N5 n
// à??μ oˉè*
i. U% i9 P e1 Q6 T
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
$ M- `$ k, O1 m) j9 g0 M
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
+ L- Q; \2 r3 X* i/ S
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
9 l- q+ M! k/ }2 i* q, P
2 Q! z/ T( F* I5 Z6 U" C
// oˉè* ??à?
8 o2 K) {6 n4 I8 {* b+ P" u4 ]1 }& H
pLight->Specular.r = 1.0f;
, _# s t( z2 z
pLight->Specular.g = 1.0f;
5 ~2 f9 m3 L9 B0 A' V: Y+ l
pLight->Specular.b = 1.0f;
* [- [1 z9 \5 F* N
// àü?? oˉè*
/ J; ^, u' g3 F- F
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
3 o4 N! y5 o$ T" \3 E. F
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
( z: I$ e& c' t9 z( [+ V/ q- G
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
& m. \' h: `3 c6 _! T& U& c* W
1 E' a" l' R5 J2 s) N' e' z h/ G
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
6 a A( a2 Z* Z% u$ V' T& z# _, L
{
+ Q- k7 G% ^ q0 c
pLight->Diffuse.r *= 0.6f;
0 x ?% F. ]4 n# L
pLight->Diffuse.g *= 0.6f;
4 X: M1 g! J1 ^
pLight->Diffuse.b *= 0.6f;
5 n4 Y, G; I' [6 a( B) g
pLight->Ambient.r *= 0.7f;
8 Z5 G9 ^4 i3 e, n/ c
pLight->Ambient.g *= 0.7f;
# a: l+ u, k; T0 z& ?: ?
pLight->Ambient.b *= 0.7f;
5 s+ Q- B7 H- w
}
% F: H* H( C% Y j5 Z3 v
( k. ^% O0 ]$ I: X# K% I* b1 j$ P
#if __VER >= 15 // __BS_CHANGING_ENVIR
2 p1 [1 g1 n, A+ W
if( g_pPlayer )
/ u' }* p6 Q% P, E; I; K! E, ?
HookUpdateLight( pLight );
* Y; @/ [2 r7 A. N! d
#endif
( f. ~5 j( d9 f- ]& T/ Y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
, g9 E* ?' J$ C1 }; u
3 s( }$ ]+ k3 e& O1 U+ C
pLight->Diffuse.r += 0.1f;
! Y6 z' }2 H8 F0 B% x: A4 V, M! Y
pLight->Diffuse.g += 0.1f;
0 u3 i: a( w9 P6 U& A5 O& R: J
pLight->Diffuse.b += 0.1f;
% F* t, q& x* o* P
// oˉè* ??à?
% `' w) _5 Z8 L% [6 Z3 u
pLight->Specular.r = 2.0f;
/ q! M+ R$ z; S3 x7 h4 a1 }
pLight->Specular.g = 2.0f;
6 g2 m9 u: b: ^! p% ^
pLight->Specular.b = 2.0f;
! ]. f! d: s3 p
// á?oˉ
- P' h: d. M" o9 d" b
pLight->Ambient.r *= 0.9f;
q) P* _" H1 n+ v3 L
pLight->Ambient.g *= 0.9f;
4 K4 y8 p$ n- ]7 k# a$ Z7 s3 [9 h1 K" n
pLight->Ambient.b *= 0.9f;
2 b1 N9 |( c1 |7 V
* F1 t1 d3 z, c6 t
memcpy( &m_light, pLight, sizeof( m_light ) );
6 P# ^0 g2 T2 ^# G& x% W7 s- k$ Q" h
% ]: c7 e- N2 P) P9 T4 w7 M
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
6 i; y" I6 W1 U! w! m8 S
pLight->Appear( m_pd3dDevice, TRUE );
6 b- } u+ e$ y% b" w
3 @0 N0 } |. p5 |+ p$ n: h& W
DWORD dwR, dwG, dwB;
) w2 n7 N0 S6 ~. n! f6 \
dwR = (DWORD)( pLight->Ambient.r * 255 );
0 Z! ^* [) s6 c/ B
dwG = (DWORD)( pLight->Ambient.g * 255 );
$ `2 n( b, \; P" b( C
dwB = (DWORD)( pLight->Ambient.b * 255 );
1 _: g. F) r% j1 ^- R: S
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
6 h$ F, s) \' A" l, c8 P9 v7 r5 M y
}
2 j$ F& Y* K& a
}
4 J6 Z8 A* w" W/ t+ m) F
else
/ M! _% a, M2 O- n0 w/ p- X
{
! d# s8 @* C; u, `1 n4 R
if( pLight )
/ e8 y0 }5 k* n4 l
{
8 x; r: \8 n& T! {; {/ F/ Y/ |
/ G$ v# @3 M8 `. r
int nHour = 8, nMin = 0;
. d+ b4 {6 @4 k; T; D
#ifdef __CLIENT
$ o8 V. Z% X9 T7 ~! n
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
" |1 [; `7 h( J7 ~. f
nHour = g_GameTimer.m_nHour;
/ m/ N$ K2 z+ t: e6 A, l
nMin = g_GameTimer.m_nMin ;
1 f, ]9 X% f( J& b
#else
& g: V7 i% d7 E2 q. l& F
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
- a! [7 k# o5 B: n# B. ]5 N2 n! G
if( m_nLightType == 1 )
/ t) Z# b* s6 K; V% T* C R+ T
nHour = m_nLightHour;
& H) Q! |$ k) V
#endif
/ M' r! w; u3 O$ F0 {1 S
nHour--;
4 e c6 r2 w, S; \% _0 u
if( nHour < 0 ) nHour = 0;
1 q# q2 z7 m+ n
if( nHour > 23 ) nHour = 23;
& U# g" r8 i# T) B
: N& N% {% y- P. R6 C4 _
//if( m_bFixedHour )
! t( x2 c) Z1 k! m$ e
// nHour = m_nFixedHour, nMin = 0;
& [& f2 c5 f% {) \# P0 V2 E
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
5 g" ~! s8 N5 }; L4 T' h
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
) V: a% i. N k: O
: b; ?2 o, O. E9 @. ~: X! P
//m_lightColor = lightColorPrv;
9 M7 u' V' o: v/ U
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
0 w, Q5 ^+ u8 R. c7 L+ A4 G8 I* S
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
- ^7 y% Q( k1 z: Q
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
4 n) h5 ?! C4 P' v. e' u
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
" E. A9 i& D0 O( B5 M
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
8 E- z8 Q8 `) I8 G
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
! T4 x2 Y; F: c- n( u
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
6 s Y, F! K+ X1 J. P/ a
) a7 J* C( L O* E* E9 ]
// à??μ oˉè*
7 e) U+ Q, Y( J
pLight->Diffuse.r = lightColorPrv.r1;
0 a. U/ g9 e3 ^) U9 u7 U; a9 e
pLight->Diffuse.g = lightColorPrv.g1;
6 I' ?! j& {/ I! f) m
pLight->Diffuse.b = lightColorPrv.b1;
4 C$ l$ W& i2 [( @( q
// oˉè* ??à?
: E( h0 F, n3 M I- t$ F' D
pLight->Specular.r = 1.0f;
- a; \; Y0 s3 j/ L+ ]# S" Z
pLight->Specular.g = 1.0f;
! N1 r; @& v5 I
pLight->Specular.b = 1.0f;
% j. D' n' R1 I( h1 S4 N- q
// àü?? oˉè*
# q, \, a2 `& Z
pLight->Ambient.r = lightColorPrv.r2;
& H: L) H+ n& v9 X' |+ ?
pLight->Ambient.g = lightColorPrv.g2;
, v/ N( ~3 E, J8 z1 t
pLight->Ambient.b = lightColorPrv.b2;
9 h2 c# A. n1 O
. b& q0 r, n, G, A5 v9 F/ }2 B
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
) b2 G& K+ g6 M
{
" Q9 f% y* b; w( [4 j
pLight->Diffuse.r *= 0.6f;
6 J9 C! k4 N3 e2 s; j$ Q3 H0 a) L% p
pLight->Diffuse.g *= 0.6f;
# S) g7 w5 ~, }0 w5 J1 n$ D* j
pLight->Diffuse.b *= 0.6f;
+ S- W- s1 Y! r$ H
pLight->Ambient.r *= 0.7f;
, ?- ]9 Y7 u6 m+ T1 @& F
pLight->Ambient.g *= 0.7f;
" U+ V! x: p3 E& ^7 Y
pLight->Ambient.b *= 0.7f;
- |$ m7 E" j8 j# g7 t& K6 v6 a
}
3 i, x- }; ?# A! e% L
( A# {- k$ n! `, K, e0 ]1 m
#if __VER >= 15 // __BS_CHANGING_ENVIR
7 u" [3 J, W. ^; ~8 ^) {5 z
if( g_pPlayer )
* r7 o/ |- b' d
HookUpdateLight( pLight );
+ B0 j9 h, B. d& y. } Y
#endif
3 w7 n8 C3 M, A0 i1 f/ I" T
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) ]8 Q$ ?9 Y6 C2 l; C" y" D
0 x2 L6 Z) @5 K9 X7 Y
#ifdef __YENV
6 a+ q0 K6 u+ @6 v
pLight->Diffuse.r *= 1.1f;
! B U) j& b8 x8 O
pLight->Diffuse.g *= 1.1f;
0 x; @) A7 g$ ~7 e) |
pLight->Diffuse.b *= 1.1f;
" y! R6 g0 v# {% C! a. O* |: R
// oˉè* ??à?
9 P0 {. N* W+ r. C+ S9 U) G
pLight->Specular.r = 2.0f;
$ N2 a( S5 W# z5 @# n# y
pLight->Specular.g = 2.0f;
. O, j. I% m& @- F
pLight->Specular.b = 2.0f;
O% P8 r2 ~7 {6 `
// á?oˉ
, [5 o+ V8 U M5 r8 Z
pLight->Ambient.r *= 1.0f;
) Y4 t/ y% c2 E' E5 w+ D9 Q- z. |
pLight->Ambient.g *= 1.0f;
% ], L6 I, Q' ]9 B% I, R. h- C
pLight->Ambient.b *= 1.0f;
; E5 ?. j: t( g, K9 [; ^
#else //__YENV
r0 g" `5 D# d& b& X
pLight->Diffuse.r *= 1.1f;
0 i3 `' y; O# Q4 _6 M' E0 E3 D; Q
pLight->Diffuse.g *= 1.1f;
3 b+ C& G* R3 k @1 f! |/ A
pLight->Diffuse.b *= 1.1f;
! f2 y* f2 [$ }0 _6 L
// oˉè* ??à?
6 m$ u! X U A6 l+ @2 i
pLight->Specular.r = 2.0f;
# ]9 w7 {9 z! K& E2 o7 G
pLight->Specular.g = 2.0f;
9 N6 r, C+ p/ n9 n9 P% O+ z+ X( L
pLight->Specular.b = 2.0f;
3 Q4 v' x7 e( F) q4 o0 l
// á?oˉ
1 n9 _( X4 D* p9 E7 t/ t0 f9 I, S$ ?
pLight->Ambient.r *= 0.9f;
: H9 t/ M+ H4 f: a
pLight->Ambient.g *= 0.9f;
: d5 z6 D2 v: }) S* T+ g
pLight->Ambient.b *= 0.9f;
9 i1 r; B, r% E, ]/ H
#endif //__YENV
9 |# J& ]3 z# A9 w% w9 i
( b- N. N) \$ E. L7 v" ]5 U8 v: Q
memcpy( &m_light, pLight, sizeof( m_light ) );
$ Y8 Q" C( W& y& H
8 o5 X/ N1 ]" n
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
( S, t3 }$ b& V: f+ |8 T' Q
D3DXMATRIX matTemp;
: @! A6 s3 u0 [
static const float CONS_VAL = 3.1415926f / 180.f;
1 Z: S8 C% C$ F+ \
7 ~% P6 [) d4 E& [+ S. v* M
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
0 g2 V6 `! Z9 P4 c; Y
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
$ y2 ~6 v) J- Z0 r
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
" }0 T& a6 m3 x, o
pLight->Appear( m_pd3dDevice, TRUE );
* ]0 i0 g. v1 P! Y. e
( r' L0 m/ S3 Q8 g7 _( }# z' e6 F
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
+ B/ `+ C' }. P) e
// D3DXVec3Normalize(&(vecSun),&(vecSun));
) J2 ~3 T. z6 |! q& Q* R- S7 x
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
/ B% _! }: W4 _6 F" d/ r
4 L; g% a1 x7 H* Z+ V0 ?: C" W
DWORD dwR, dwG, dwB;
5 n0 ~8 q# X$ X$ _0 i
dwR = (DWORD)( pLight->Ambient.r * 255 );
& q+ ~0 ?' P0 _- ]5 j
dwG = (DWORD)( pLight->Ambient.g * 255 );
$ i+ S: l8 }5 D. N" Q
dwB = (DWORD)( pLight->Ambient.b * 255 );
# G& |4 ?% I# |% Y) ^$ B% J- A
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) b8 V& i- Y: R, v. ?
}
1 o' X: E" _/ M* q* x, @
}
% Q: s2 V/ E5 G# L7 Y3 e7 x4 b5 s
0 M- L& y6 H* ^1 W, ^* P7 e- R( G
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
, i, k/ b1 S( G# S9 n0 V9 z) 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) );
3 U5 u7 W6 _. O
::SetLight( bLight );
% x5 f. [, F8 S0 P) y
$ E) `2 i- Y a% t2 m* s6 c V
// ±ao? ?D?í???ó á¤à?
* q' P" K ]# y) x- d
m_pd3dDevice->SetMaterial( &m_baseMaterial );
- a. T8 q' z2 w# I; |0 v
5 C" |4 e# g+ X' S. g
#endif // not WORLDSERVER
( q4 C# x4 O$ G) I `' e% ~
}
; W. m9 B6 |# y; i
并更换
1 t' I% Y! f1 |: t9 m+ ^* b6 Q$ E
Code:
3 C0 D/ D9 Z) Y ?
__FLYFF_INITPAGE_EXT
: @# u5 l0 t$ D* _4 t
定义
+ f( l& Q/ ?8 D3 X+ I
' u/ L1 O0 I) t! A+ [. }& ~# W7 M
% L, \1 X* d+ E5 ^7 e2 z( p! M
' ] s. V: {- Z% D/ W6 t
/ f, p. A% q. I" \, U4 v
现在终于删除我的狗屁加速...
1 D! V3 t! X4 x) r8 v) v! {
' M5 q2 y6 t) b0 ]$ S, G
! M' o z% z: d8 u% Y6 C
% w* S# |, j8 d5 v7 i. q3 r
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2