飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
& a% E& z6 ^+ C0 ?6 `/ K
尾翼:
/ E9 G: h+ e. P
: `5 a5 s& Q' e: t* D
代码:
k* R3 ]# _ Q. X
CWndAutoFood::CWndAutoFood()
& u5 N! r- L4 r$ S; K# {. g
{
. s% K& l0 K% }9 }5 n6 c
m_pItemElem = NULL;
; [, r# p3 c% i, q% X: u. E
m_pTexture = NULL;
0 X/ [ x) Z& R5 c2 ^7 I
bStart = FALSE;
5 j! D( w! s8 d( j
}
9 c% i# P2 `: ?5 Q3 K0 i9 h3 ^, \
- v7 C" Y* a* i, @+ G5 s5 p
CWndAutoFood::~CWndAutoFood()
2 W% K! @7 s+ }9 `
{
, f6 x" V3 o" x! T) @% G, Z
AfxMessageBox( "AutoFood ist gestorben
" );
# W; _! N1 _+ ^$ [7 [" j# S2 O2 j
}
% E W1 P. }) O! x
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
L* ]2 n6 D3 }7 E" T! L* r
{
: f+ h N6 b7 @
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
0 a# w6 o2 s( g
}
8 z d6 H. H' V+ C3 s) v
- V% U5 a7 @0 E
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
1 F/ w2 s" {* Y
{
/ }. _- u! Y* {5 y, E: y4 J' y
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
* ^; x0 ?% n% {, _2 T+ V
CRect rect = pWndCtrl->rect;
9 \" X" o1 x# Z# p! Z, b* p
if( rect && rect.PtInRect( point ) )
; u+ J/ S3 G1 p p4 s
{
" y4 g7 T* D- |9 K1 ?
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
' G4 e. p( ^5 V# ~# G( ~7 O4 j
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
% }2 e# F1 e% F* C4 g/ C
{
6 o/ @! }) {, X3 u) S" @; c
if( m_pItemElem )
9 S% t8 O( A4 O
{
( S) D; T$ r* [$ r) K! d7 l* D) S% {
m_pItemElem = NULL;
/ p2 d; ?. l( {9 @
}
5 N e( z7 n7 r7 h7 X
m_pItemElem = pItemElem;
, A$ K; ~; [/ k6 M! n8 L% I: E
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
+ H" Q1 k% `. q* E; m8 a6 n N
}else{
) z/ t# u, E' j0 H3 N$ p
SetForbid( TRUE );
; x' d: r& V8 D9 I- R
}
4 I! }* `0 u9 X6 b7 O; r
}else{
1 f0 a0 K) [4 k$ n3 U! k( q
SetForbid( TRUE );
% Q- Q, m" z9 n/ b& h
}
! t/ n& N0 s3 v) ~
return TRUE;
$ |' E. T2 H( ^# o) w( d
}
& G6 G% v/ w, Q z% K
) @6 f+ S k+ {2 Z
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
: X" |! d" D0 j' x- ?) w' S5 Z
{
, |1 F+ W& ~# A. \; Z- X
switch( nID )
2 f. Y# b' {6 s4 J: h* ~) G( o
{
7 I4 S' ^, { \& `
case WIDC_BUTTON3:
( N: b! r7 @ r d
{
- ^, u& m- W7 C7 z6 o( H
bStart = TRUE;
0 _% S9 \% G6 z: @( ~( C
break;
. F2 c3 S) e) g! u
}
3 o: H: L) }% k, G
case WIDC_BUTTON4:
5 ~2 k# p% F: f& Q" w" D5 ?3 j
{
: K' [7 n) Q) K \* _/ N
bStart = FALSE;
# T' H9 F+ U3 ] R
break;
( l8 @9 j* K4 q; F' P9 E6 n
}
# ]% u/ Q4 n+ f) b( h
}
/ e9 ~% J! y( M' v2 x$ `
return CWndNeuz::OnChildNotify( message, nID, pLResult );
5 P. `8 e5 F: O5 s
}
. [( I% X. m; v
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
9 d% I& R! A3 X- I5 i( ]+ G; J+ O
{
& n5 Z( j8 b3 a: n3 r8 u
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
5 N* r1 n$ n/ Z$ R) Q- S) T" k
if( bStart || !m_pItemElem )
7 ~7 G! J A- l0 Q# p( E9 z* ^
{
* e3 m' O+ T$ j5 N
pBtn->EnableWindow( FALSE );
3 Y* V, i7 r2 _" a- O7 q
}else
4 x: |9 r3 C9 Y0 H/ Q
pBtn->EnableWindow( TRUE );
+ m; ~; I5 z6 W" a" B
if( m_pTexture )
! {. j6 M) \) n6 ^8 q& v2 k
{
?/ t$ \ |1 L6 T# p5 E
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
/ ~7 I, B! {5 I: l0 _& Z8 L; Y2 b
if( wndCtrl && wndCtrl->rect )
$ o) e+ `( L0 v+ j) H
{
+ J0 f1 }" t& Q, G
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
+ e; x) u0 v% K6 I: c% m
}
) O% @2 r3 _" r# ^- N
}
' d& e; m& n4 o8 [4 x
}
% ]! C( q) f+ |& ?2 w
5 g8 Y; @' W9 q6 Z
BOOL CWndAutoFood:
rocess()
1 ^) ~: d) ?8 {2 c' f9 S* M, U* r
{
% \3 Z3 S9 O3 Q' V
if( bStart )
" u; ?7 L& ~% T+ p+ m0 A7 }
{
) C( K5 V1 s* c/ V( p
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
* U( [% @* f# Z
{
. g6 @- E5 C# K. i
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
$ g: J) b# j; n$ K. M/ B
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
1 L7 u8 ~; ]. N) i" A- C( q [* ?
}else{
2 f. p' L) [8 D$ u
bStart = FALSE;
6 e& o& P0 K& }$ ]
m_pItemElem = NULL;
! u$ B4 V" N* L! X
}
1 q7 o9 d3 R& C" C j
}
S( Q4 ?1 e Z& T) H9 o4 h
return TRUE;
; O$ N! c) \+ s9 d
}
, W$ a0 G8 S' F" [
6 K7 X9 X @1 P2 G
登录视频废话:
5 B1 u) T) s1 r; ]: T( T- I
尾翼:
1 c5 n0 ` t2 ^- r
. x8 b( M3 x4 p4 h3 }! d! `
代码:
- q6 z8 B7 `" P' y; d
( o' M- S" |& V6 z3 C& r- ]8 N4 ]
void CWorld::SetLight( BOOL bLight )
& C) ]6 ~; |- `" p6 ]2 c( c
durch
1 }9 Q* v1 y* {/ K$ x( _* p( y
Code:
5 G( Z) V' a/ Q `, A& O
void CWorld::SetLight( BOOL bLight )
. G) A6 ^# [" d9 Z' W. A, c! w
{
$ w: ^9 |% Q, _* E. ?- L. c5 j7 ~
//ACE("SetLight %d \n", bLight);
6 l# Q( H$ c' M/ m$ O+ {3 ^
3 M. L! h! t* B
#ifndef __WORLDSERVER
' s/ ?0 T: w# i( S; e% W
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
4 v- U0 n) n6 V) _
CLight* pLight = NULL;
, z6 A5 ^6 g- V6 v& v. P9 \
/ G% }1 j0 R+ Z4 [) e2 ?; e
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
$ Y* v# X- ?+ B/ c0 G
R9 W8 j# s, o6 \- i3 c; u
pLight = GetLight( "direction" );
+ q$ }+ p7 c2 F4 s/ R7 U
; U! u8 u1 X: h/ v. v6 b! y, L
#if __VER >= 15 // __BS_CHANGING_ENVIR
! E' B+ s" _ n2 E7 M5 s
if( g_pPlayer ){
( _3 D& l# l$ g) g* g
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
: [" }" F# m8 B1 b
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
; x2 ^/ U, R$ ^7 N1 c" |2 o& e
{
+ Z6 o U: M" C
if( pLight )
) L' N/ b4 J! v* X# h0 |+ Q
{
5 p. W. q; b. X
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
0 n: C& g4 m% i% e2 @; u: a% `
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
3 ~0 _6 V- |& g6 R1 p7 G' B
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
0 x) C; {3 B4 @3 l
/ G4 c; h1 M w9 W6 k5 p2 D
pLight->Specular.r = 2.0f;
! v3 i& O# K2 X O ^
pLight->Specular.g = 2.0f;
( g+ ?4 n0 B( d# f$ s( G
pLight->Specular.b = 2.0f;
6 W# @3 T* c. b# ^0 k
( @) I8 W i$ O! F' i6 _/ t# ~& B
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
; T- y3 d% e4 l, ~& b, u4 h$ J' b
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
- J. p: r; s) @* X1 ~% h
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
6 E4 U/ t6 H; \2 `2 d* e$ [
# ]& ^* R2 [) D
HookUpdateLight( pLight );
3 u/ q: | {) h W# A; H% [# D, Q
: G# j" [) ~! l) ~% Z6 D
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
_: q/ `1 b, K
# n2 [. [0 I: F
pLight->Diffuse.r *= 1.2f;
; b1 e! q! ^/ k! |& X
pLight->Diffuse.g *= 1.2f;
c0 D5 m6 f2 v
pLight->Diffuse.b *= 1.2f;
0 O6 o2 q& d& ^ \; G* A+ [3 A
2 o$ Y3 M% u" C$ b. x
pLight->Ambient.r *= 0.8f;
, g6 }9 K+ d0 t- E
pLight->Ambient.g *= 0.8f;
: z, v0 z; Q& P7 v1 X/ O
pLight->Ambient.b *= 0.8f;
4 t. N( r# k" D: k* v
6 g7 e+ i2 m; n L" Q- e9 k
memcpy( &m_light, pLight, sizeof( m_light ) );
( {. z. @( X9 x- n
/ T, B4 b: A; U6 s C4 G/ s; \
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 x- t ~/ k0 l& e4 o* t
D3DXVec3Normalize(&(vecSun),&(vecSun));
( O I/ p) s: x8 Y
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
4 {' e/ @3 F8 Z
pLight->Appear( m_pd3dDevice, TRUE );
( A- X, n: ]9 O* Z; p
) ~; L. w$ J5 G$ W
DWORD dwR, dwG, dwB;
- I* X( p0 g% K* _6 c6 t) S$ M
dwR = (DWORD)( pLight->Ambient.r * 255 );
. B. X" R% P" H
dwG = (DWORD)( pLight->Ambient.g * 255 );
! j% k% U0 K3 L- w' Y
dwB = (DWORD)( pLight->Ambient.b * 255 );
6 Y9 e' f4 J: `/ \: c9 V! S& P
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
, r3 i7 r2 t3 d
}
& L+ f# w) g3 u2 x3 f; d$ @& l- r9 k5 H
}
: R F C% s* a# T- H' } B9 ?
}
) v$ G0 B5 e7 o; e0 a, W5 k: ]2 i
else
: |0 @# y: T- F) U/ }0 L
#endif
3 q1 g7 V# o( S& x3 d* V
5 l% Y. F- }. l5 g- I+ d0 v: D f
if( m_bIsIndoor )
5 X/ I$ \! j) b
{
, A5 \- _. d0 D, j6 T
if( pLight )
* A2 M+ v/ F" H2 I
{
6 V q6 C- C3 U- }& F4 l, ?/ \. B
// à??μ oˉè*
5 ^9 K: V z0 i3 o! m1 d( D
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
7 _" @$ g9 r% C/ K! U
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
$ W, s+ r! D3 l0 Z9 b
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
4 Q C4 m, L i; w3 U
' R# k- {0 I8 {( X) N
// oˉè* ??à?
) F. J, v( }/ u5 l0 m ^
pLight->Specular.r = 1.0f;
1 [, |) U# _; p! L0 s. `$ k
pLight->Specular.g = 1.0f;
: p# b: x: e: P' U4 C% S- |& a4 r$ J
pLight->Specular.b = 1.0f;
2 G1 w* p2 D# I! l. i; i
// àü?? oˉè*
7 r x: S5 l- J: H6 C
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
4 E( @( z4 D+ \9 K0 w3 `
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
* i" e' K) F* v
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
' s$ Z1 I+ b- W. _ ]7 {
" f+ J8 W( U; L [0 A5 s& m
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
/ A# X% h* `" B
{
- r% S- o: [8 Z9 a/ d+ s/ K
pLight->Diffuse.r *= 0.6f;
, z2 e. j; Z9 B1 H/ q
pLight->Diffuse.g *= 0.6f;
* \7 r( Q6 r; H4 x- b
pLight->Diffuse.b *= 0.6f;
1 S, j/ H$ H" Y3 A
pLight->Ambient.r *= 0.7f;
! J' o8 t- g/ z1 D. e' A
pLight->Ambient.g *= 0.7f;
8 B* a' _& l! x" w* }3 B. J) T% m
pLight->Ambient.b *= 0.7f;
r/ G& G. L" W) O: v
}
/ L# `/ W9 h/ |. B) b; h. K& q% n
* {/ B* [ \! o! U% f2 Q
#if __VER >= 15 // __BS_CHANGING_ENVIR
2 W# R& e3 @4 W
if( g_pPlayer )
, c: d& x. a7 ^0 l
HookUpdateLight( pLight );
/ ~* I* H" `. h" M
#endif
4 z* j* Y4 Y- z$ w a: N
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
0 e: g" c: t' J1 ]6 u r/ j
9 z$ c% w r# a8 S3 p$ r
pLight->Diffuse.r += 0.1f;
- n+ k3 U6 i* b8 E/ T P
pLight->Diffuse.g += 0.1f;
! _' u. z3 ~3 i6 T4 @) h6 c- B7 a
pLight->Diffuse.b += 0.1f;
/ j/ s+ [" Z* D3 x; F8 B
// oˉè* ??à?
; @$ u1 y$ c1 e: F
pLight->Specular.r = 2.0f;
; X. E" ]# h! B$ n3 m5 g
pLight->Specular.g = 2.0f;
2 F3 g( f3 z. P( {+ I& D9 t* U
pLight->Specular.b = 2.0f;
) c. A& D! @4 r
// á?oˉ
+ ^/ M$ O) l* D. f. o8 M' }
pLight->Ambient.r *= 0.9f;
: N! R+ v, j* V1 u c
pLight->Ambient.g *= 0.9f;
( X! C7 p, I$ Z- @9 n6 u# D- l
pLight->Ambient.b *= 0.9f;
/ k* r& L. _/ T8 F6 u0 ~( k( H
8 @7 T7 C8 p4 h0 w4 y
memcpy( &m_light, pLight, sizeof( m_light ) );
8 l e9 w9 ^3 ^" V1 U+ p: m4 f" @* `
) d3 Z$ M8 l+ \
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
" l l7 U4 `, |4 I
pLight->Appear( m_pd3dDevice, TRUE );
, Q- O) C: \: E3 f/ s% G& u
' b6 ^$ U V# ~& U4 C1 ?
DWORD dwR, dwG, dwB;
& [" M( H3 j, W' d S, h" i8 @
dwR = (DWORD)( pLight->Ambient.r * 255 );
% C8 F9 C# J) j+ c% h
dwG = (DWORD)( pLight->Ambient.g * 255 );
" u/ f% c0 E) L( U
dwB = (DWORD)( pLight->Ambient.b * 255 );
! G7 [' C! Q' [7 Q7 d
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: g; ~% }0 ^% |
}
7 R' [. b- {5 Q/ U
}
$ v9 j; C. j% u; G" Y9 b6 J8 P
else
. x* K# h0 S: c# D* R+ } h: m
{
5 o& J I' q# R0 N: `
if( pLight )
) @8 Y! e W* p3 g4 ?. p
{
9 t/ x/ s) u7 k% [+ S; y: S/ x6 w
% z! b& h; f1 E3 N
int nHour = 8, nMin = 0;
9 _# ?; @; k' M
#ifdef __CLIENT
, f0 K6 ^. Y+ n5 M$ s$ z3 a8 Z
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
: `' v% K7 F4 d9 W
nHour = g_GameTimer.m_nHour;
7 M/ L* J6 h5 l/ c
nMin = g_GameTimer.m_nMin ;
& \, i s9 b5 D6 _0 s
#else
$ W( [+ `1 l6 v- Y: T1 T
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
7 i+ P8 R6 W0 Q
if( m_nLightType == 1 )
" |' w8 I6 t. Y) H+ u
nHour = m_nLightHour;
2 \- A7 u' H# b- [/ r/ K8 i
#endif
& D# S5 [6 D0 F9 x1 d0 z
nHour--;
7 K/ S2 j2 f: p a, @6 S( [
if( nHour < 0 ) nHour = 0;
5 ?0 b; o$ f1 Q1 q! C1 v
if( nHour > 23 ) nHour = 23;
) L2 t. G: \4 _. v' n# O: S h" t- j
! N. j' N4 g$ {8 D4 ~
//if( m_bFixedHour )
- J! N3 `( f, R6 [6 J, X
// nHour = m_nFixedHour, nMin = 0;
( t# T- _" P' k6 h8 n, y4 {( q8 K: ]
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
3 u% M6 Z" k# c1 c8 h( u% V
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
M) o) B% N" n$ b! D/ C& C
" O- ]! x6 w, ~. i" B
//m_lightColor = lightColorPrv;
. v8 a: @7 a+ |7 |+ D1 W; N0 \/ L
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
% E$ i9 ^# Q9 T! b: ~* S
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
% ~, Y9 R) r7 K1 }( Q
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
- ^5 R1 v5 R4 K
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
! N! \) P4 q& m- O: Z0 y0 ` _. N$ {
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
" n6 F- N+ y0 e1 H; c$ x4 [
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
" k" \: \/ u( h3 ^7 C
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
" V% K& P. k( T" p9 m
( @# l. T: H0 L% [0 |' c
// à??μ oˉè*
/ ?, e# C, m# w8 N
pLight->Diffuse.r = lightColorPrv.r1;
1 E. |0 j* e$ E) d+ F- g- y' m. E# O0 i
pLight->Diffuse.g = lightColorPrv.g1;
2 r A3 i1 l, W
pLight->Diffuse.b = lightColorPrv.b1;
& \/ o& e+ q: P W
// oˉè* ??à?
: _8 p& S3 Y1 v
pLight->Specular.r = 1.0f;
8 G5 ^7 l/ t; o
pLight->Specular.g = 1.0f;
( j( W6 [. c3 l/ M2 s. |( D3 K+ U
pLight->Specular.b = 1.0f;
7 b2 f% Y5 s4 \, v+ p
// àü?? oˉè*
8 s5 d/ f; s8 y" u$ }
pLight->Ambient.r = lightColorPrv.r2;
: U: v V+ p- \4 f2 h4 `+ V' t( J
pLight->Ambient.g = lightColorPrv.g2;
/ H5 ~1 M( O) \9 ]* h P9 K" g
pLight->Ambient.b = lightColorPrv.b2;
0 c3 `4 \$ h3 \" z0 V U+ T s
8 H$ N7 d6 l S& _' W X6 I
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
0 q$ ] |! ~; S1 H
{
2 c; H" E4 [6 _" Z+ K8 x
pLight->Diffuse.r *= 0.6f;
( v9 J1 i/ f t, x
pLight->Diffuse.g *= 0.6f;
6 i e7 S: P6 u. q- ?/ S9 V8 L
pLight->Diffuse.b *= 0.6f;
K, X6 A: v' Y8 m! v! k. k
pLight->Ambient.r *= 0.7f;
" N7 E- W. i+ }; J7 t! w
pLight->Ambient.g *= 0.7f;
: l1 Q$ X! {( ?8 i$ o, J' k
pLight->Ambient.b *= 0.7f;
0 \/ c n% Y- @- M
}
4 ]; j1 T/ b$ l; z' R
9 J/ Z E- N/ H
#if __VER >= 15 // __BS_CHANGING_ENVIR
( ~) t# p, T+ S% E( P
if( g_pPlayer )
3 U* V$ ~8 m4 [1 b& G) X2 q
HookUpdateLight( pLight );
! }) Q! r: I0 ~8 u) `
#endif
2 ?7 i0 R4 [! g! K2 b7 `
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. }4 k+ q, j" Y
6 d1 r% N* w& @1 S& ]3 X- u
#ifdef __YENV
4 u# k+ _9 _" @1 C9 u/ ^
pLight->Diffuse.r *= 1.1f;
( ]# J4 G: N: h
pLight->Diffuse.g *= 1.1f;
% j7 S$ I6 v5 Q0 L/ T0 Z
pLight->Diffuse.b *= 1.1f;
; H+ \0 }: y; y# c/ M
// oˉè* ??à?
/ v% U! k2 |/ C* h, {% P
pLight->Specular.r = 2.0f;
% Y9 E) J' O2 _( \* [6 ^( q
pLight->Specular.g = 2.0f;
. a0 \: E. j) y1 M
pLight->Specular.b = 2.0f;
1 Y4 M! I: Y# ]+ s+ y2 ~# K9 G
// á?oˉ
& W$ [8 Y: L7 u) l' w, f
pLight->Ambient.r *= 1.0f;
! i0 k8 b5 |/ M* [$ v
pLight->Ambient.g *= 1.0f;
. D* Q( R% d' [) \) r A; H' m
pLight->Ambient.b *= 1.0f;
9 ~( L4 |6 [- C; i, |; F8 O6 t6 `
#else //__YENV
) U8 E$ Y* Z. w3 I0 U+ d
pLight->Diffuse.r *= 1.1f;
- c+ `9 ~2 \3 o
pLight->Diffuse.g *= 1.1f;
0 N( Z) K" a$ c/ K9 H% j! _
pLight->Diffuse.b *= 1.1f;
5 G- S& w; [; V9 N) Y+ y. Y
// oˉè* ??à?
+ E( e. E8 w6 s! W" n
pLight->Specular.r = 2.0f;
7 `+ S0 X& S: _7 h( j1 G
pLight->Specular.g = 2.0f;
2 Z; S+ P4 k6 B$ S* p
pLight->Specular.b = 2.0f;
+ s7 l* C3 a6 ^$ c% |3 w
// á?oˉ
' q0 C* E5 p, Z& C* ]* h1 f
pLight->Ambient.r *= 0.9f;
8 F7 `3 T" f/ \. ~% S" x: Q2 Y
pLight->Ambient.g *= 0.9f;
( C; _# Q0 U' }* Y+ f2 Q
pLight->Ambient.b *= 0.9f;
- a! r# T$ T$ x9 g. |
#endif //__YENV
: o; W+ _5 o' y5 u4 }" r5 w
& b& b9 C3 F: g$ I" X; n
memcpy( &m_light, pLight, sizeof( m_light ) );
k/ K# y* P+ k" n
& H, g# l C( o! t' g( L0 J" X
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
3 n: i8 y8 E& m$ h! L
D3DXMATRIX matTemp;
# n9 ?( C* q3 ]5 @% p2 [) W5 B2 R
static const float CONS_VAL = 3.1415926f / 180.f;
7 r$ K# y6 A9 t7 g5 e5 ~* q
4 t0 Z- A: x- [2 R
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
: }6 ^1 }* C# y5 f: q
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
( V: T' {$ H4 R5 D4 B' S& }- [5 k
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
_7 E/ Y3 C) T3 ^5 K
pLight->Appear( m_pd3dDevice, TRUE );
$ M- ~2 M$ E- F, `$ `
1 j) { S9 K) f) O( P
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
+ ?; } D: d4 f6 [9 [. `0 G8 H
// D3DXVec3Normalize(&(vecSun),&(vecSun));
% W( R7 F2 P4 L/ m' z* p
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
3 V( r( `$ P4 T9 U0 `/ B
1 t! r5 K' ?6 K; p5 p
DWORD dwR, dwG, dwB;
2 O; k% Y8 I: m0 ?# {
dwR = (DWORD)( pLight->Ambient.r * 255 );
, Y( W7 t- h3 g
dwG = (DWORD)( pLight->Ambient.g * 255 );
. V y$ v0 C: U( f( f
dwB = (DWORD)( pLight->Ambient.b * 255 );
: b" q% W' [5 z* l+ X3 Z& e
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
! T2 e- n/ e! O& K# Y
}
! m- y9 `* W+ _2 w2 ~/ Q8 Q8 n2 k
}
1 _, i# s" ~. R7 h3 K5 c( M
, Z2 b3 l! g* Y. O6 I5 o+ k0 }
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
( t v" p: p: y9 T3 N
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) );
( D; P# U" D' g( @+ A
::SetLight( bLight );
: m3 H9 K3 f! N- r; q
. J4 O4 {0 O( n n$ P+ _
// ±ao? ?D?í???ó á¤à?
7 P' E% l& p! {' }7 Q: d9 f! X
m_pd3dDevice->SetMaterial( &m_baseMaterial );
% Q. b: U5 S# j: a. L# L! e" x4 d
# i( B0 M) U( I# ^$ a0 Z
#endif // not WORLDSERVER
; V" V; A) c/ j& a) ?
}
9 E. b8 }! z8 s- ~: J
并更换
4 \1 `/ G2 n- U0 N, z/ G
Code:
5 u3 W9 F: S+ N9 N
__FLYFF_INITPAGE_EXT
! q) ~- C- a0 ~$ E9 o6 o
定义
3 O- B$ B' G/ `5 x+ m
3 m0 I- z. g! n( {! _8 N: K
& ^; K* _. Z* q/ M" r
J1 ~/ a. ^* `, ~6 i* w
5 a) k- o$ L- z! D$ b9 w* Z- K+ X
现在终于删除我的狗屁加速...
& ~0 n5 O6 y8 m `' C; U
* \3 b( {0 J( a
; z; J: Y4 {- O9 ?& Y
3 R. u! d. h! _! U2 v, o
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2