飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
5 S3 |0 P; |7 X4 ~
尾翼:
1 C# K. h3 X; k7 [
) ^% o+ J: m6 Z/ s# Y- ]
代码:
1 E9 l; W, P. q
CWndAutoFood::CWndAutoFood()
9 F- M; [, G2 x
{
( H- m$ W$ d! B; p: l: s& A
m_pItemElem = NULL;
* f# a/ E/ i! E
m_pTexture = NULL;
; O( S' i5 |9 ~; w% Y7 G/ \
bStart = FALSE;
, u' w3 L4 n2 u* u9 k
}
9 D% B1 s7 J6 J- _3 L ?8 C
5 O& e( ]. B/ ^* B1 p, J
CWndAutoFood::~CWndAutoFood()
/ E. R4 @9 m1 f% u2 m; K9 B
{
9 f6 H, ]8 j* q7 ]2 J
AfxMessageBox( "AutoFood ist gestorben
" );
0 w, s( z2 Q5 [' z
}
6 J5 {8 e, B! ] q7 d) P# i
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
# F( T8 ?0 r ]1 {- H
{
: y, \, z9 u0 k& R( H2 G
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
. c) o8 Q3 R# f' N$ q
}
1 Q2 F- y4 q) w ]+ u6 U
* H# B3 R2 N$ m5 _' o
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
* a1 \5 V# a, }. G" w
{
, L8 t y. m3 Q
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
_9 h6 ]2 |6 D# g1 R/ G+ k
CRect rect = pWndCtrl->rect;
. ~/ D# |8 F. U, g+ j
if( rect && rect.PtInRect( point ) )
. _3 _6 c* e! ?3 k
{
0 ] O2 L" Z5 d9 k% z5 `
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
! P4 ?4 [: x; s) ^: |; E; `
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
& A/ N9 f+ m6 n7 [. n" A
{
& ?3 v B8 ?) {
if( m_pItemElem )
( l/ @ |. x- J7 f- L9 |
{
: [+ i3 s( A& I
m_pItemElem = NULL;
. f* p3 l9 B) v; F# [! ~6 q
}
( x3 T: P! _6 _$ F" }. k
m_pItemElem = pItemElem;
! S; Q8 E6 S, O4 `, _8 ~' C3 ^, P
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
3 t# C r4 F! D9 U" W# {8 q( B: q
}else{
6 {/ n5 m2 v) B/ Z' ]
SetForbid( TRUE );
7 w0 a; V8 [' X/ L1 x2 m$ R: {
}
3 { O: q! W, v" I5 d5 ^1 M
}else{
- Z# P, n. q3 {# P+ E9 I# A
SetForbid( TRUE );
2 |1 r7 [; k' v% C: S; e
}
+ D- c; P8 ]* y+ G; c, g2 L# W
return TRUE;
) b& O( e* v9 m8 y2 r
}
- Z q& M2 g. M
1 Q7 m* ^( g! J. \
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
, l6 u( Y& {' N4 r7 x: V
{
. g) f5 ~5 O# M( o2 Z
switch( nID )
9 p. d$ c4 @# R& w, W- [) G0 J
{
0 q7 k/ ^/ c9 p- E
case WIDC_BUTTON3:
6 q |5 d% T! R, c) G/ v
{
2 p6 U* y" V) G7 S: s
bStart = TRUE;
+ q1 ] j: d. I# P
break;
* |! x/ {3 K0 |& |
}
0 k' L4 ]; M) y R4 a; H4 J
case WIDC_BUTTON4:
& \4 D( j; ~% ^: {! W
{
0 e6 Y6 c9 u; ]* ]
bStart = FALSE;
* t6 T! j0 k& x3 H% y* T: H
break;
$ z0 C0 y$ |' f" g5 {/ a7 T4 G
}
5 H# F H) o- m- t# d$ U$ p
}
7 T" H' X8 B$ H0 Z2 r4 b
return CWndNeuz::OnChildNotify( message, nID, pLResult );
3 |6 S& J y: z# o: G4 s; @
}
* g# [- A5 ^2 {' D5 j% D7 \/ a
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
$ d9 l5 c5 X D4 H% `; B& I
{
+ ^& K- P. G5 G; x8 v
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
' i: z5 @: p, {% D2 A
if( bStart || !m_pItemElem )
+ |* Z: S. n w6 j3 {" G4 Y, x
{
+ a9 g! B* P: Q2 n3 }* a
pBtn->EnableWindow( FALSE );
" H" }7 j, h7 M) H9 T9 b
}else
. h* s ?: P2 [8 W5 w
pBtn->EnableWindow( TRUE );
4 n# Q1 F/ {% ]$ Q/ E
if( m_pTexture )
& H: }3 |) b: H% @0 @/ Q4 {% X
{
. C# F( u, Y5 d5 @
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
# d; o6 y6 C; }! D i. D3 P/ p
if( wndCtrl && wndCtrl->rect )
, v7 L+ p+ Q5 ]7 L4 a. B
{
* L8 H. G! ?5 g: J$ g& d1 j# y
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
, R# E0 v4 w7 e7 m% V) L
}
" {- I+ G8 }: _6 F) }. h1 O$ k+ n
}
% |- h2 q0 c y1 I
}
9 e6 c2 |! u7 g3 p& M6 s) B/ a
9 k, s& h( X3 G4 L9 W* A3 Z
BOOL CWndAutoFood:
rocess()
. F0 N4 t ?5 C5 t- J. B
{
& x! ^' g4 u# Y7 j" n" R; x* P p
if( bStart )
g' H3 f* Q1 i& G1 N! v8 b8 b
{
/ Q& `# y' o! r, @* |& O5 n- ^
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
) |1 H" v6 L5 H8 d6 {7 o' \
{
/ \' D. e8 [0 @5 P% }( {
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
: h0 k1 l& ^4 H) d: A+ E. B
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
# j! N+ k' O0 L( J. t9 H" i
}else{
6 d. F% A% S4 F: I
bStart = FALSE;
& a" p; L% f/ Z# @
m_pItemElem = NULL;
2 s( D7 _; {. f' P+ {& \
}
, `9 M9 O/ L( W+ C# E9 ]
}
) b" Z0 g8 O1 S( a+ a3 W
return TRUE;
; c* t) t! w1 U8 i, l0 `
}
5 S" h' Z6 m6 F; Q; n& {# ^
& P! p, m( C6 o. K- k# q0 H5 j2 y# X
登录视频废话:
3 a7 ?* | U) x& @ J
尾翼:
) \/ u$ g" W* c: v+ U
+ Z& q6 T! [0 k
代码:
: S' @' r7 g0 k( N: @" u- @* v) \
, X" X- t9 j4 i1 |
void CWorld::SetLight( BOOL bLight )
. F2 m7 I) b! Z9 U# d- [
durch
* g: T3 P8 V: _2 `3 A8 t# ^- z( P
Code:
, d5 @7 `/ O/ i5 g- r) S
void CWorld::SetLight( BOOL bLight )
G8 f) J: Z$ J5 w
{
6 k8 y4 \$ l/ ]/ O' ?
//ACE("SetLight %d \n", bLight);
9 z' g" }9 E. h' q0 t
( Z& M* D7 O. t/ a
#ifndef __WORLDSERVER
5 S; ], w& D% p" O. ~ \% S0 ^+ b
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
) N; t. q2 o; f# U
CLight* pLight = NULL;
" n8 J* G/ w: R0 R# L! y
) I8 [( S# c/ i/ Q2 R
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
% Z6 y6 x, |5 T: j; T8 }
" g5 ?$ }% r0 B7 B0 g' Y) t. U
pLight = GetLight( "direction" );
o/ @: J0 ~* E3 s) B, t! b
/ `# a# h9 b/ H% f
#if __VER >= 15 // __BS_CHANGING_ENVIR
: m" p9 T7 R( G8 i0 l. t9 l
if( g_pPlayer ){
: v% }! F, r3 t1 A5 X$ ~" N4 a
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
+ v" ?) X$ v( f* `) B. Q
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
' {9 @1 W. W( R% Y# `+ s( \
{
2 S/ I1 y+ A6 W6 k1 v+ q) y; C0 t
if( pLight )
' u+ G! B% c4 Z4 t. _
{
: a7 a% X3 Q* s% P1 v
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
! q2 g( @, a# B# A
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
- T/ e$ K5 w2 [. l* \+ h
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
7 s4 S q. W. y2 m
* Y1 V8 G* O% k( f, f; s2 R. J
pLight->Specular.r = 2.0f;
2 p- y/ p3 m5 z% q
pLight->Specular.g = 2.0f;
/ a1 A6 v: L! M6 q" o! i
pLight->Specular.b = 2.0f;
1 v$ r4 T, X! @0 C! h
) q- P( y2 S4 V9 J9 s9 p
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
( }7 Q* N9 y0 g" X$ \" Y( }$ T
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
V. D9 R* ]/ A, X* \
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
$ y7 I+ j# ~, o
- n6 r) ]& j# A$ J
HookUpdateLight( pLight );
- A! y, \! j- ~4 D2 W/ H2 g$ Y8 f
a; k/ p: ?5 M P) [# T$ \
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 X# r! W1 X2 r1 p2 u& E& y+ N, i, b
, K" v( d3 S) q8 m i: ~/ o
pLight->Diffuse.r *= 1.2f;
4 B: \& s; s9 b! |. n; b
pLight->Diffuse.g *= 1.2f;
: ^" _6 L3 f$ L u2 `2 D$ j U
pLight->Diffuse.b *= 1.2f;
4 H1 ^: ]0 u, N: e" K& K" D$ D
, H D/ h2 ~/ W4 X- p! I& S
pLight->Ambient.r *= 0.8f;
" u6 C, O" ~: j4 r
pLight->Ambient.g *= 0.8f;
- E3 t( r- i; w3 p3 \! m
pLight->Ambient.b *= 0.8f;
) \0 L: C, i" W) m, o
; @; F/ Z$ J' M; z
memcpy( &m_light, pLight, sizeof( m_light ) );
- L: p+ s$ D& k0 `7 G
& f& t! K& }1 X
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
; \! J& \! m$ J- V
D3DXVec3Normalize(&(vecSun),&(vecSun));
* C, e8 i: t6 X
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
$ x" N1 j5 G$ _% j ^( I& O
pLight->Appear( m_pd3dDevice, TRUE );
, @$ x/ e8 W/ L( W
; F" Q1 }1 f. ~( ^+ R7 Z/ s, w% B
DWORD dwR, dwG, dwB;
: v* `9 S, M, c( w S9 d2 W
dwR = (DWORD)( pLight->Ambient.r * 255 );
1 {* X$ u v% P! ]/ \/ U8 L
dwG = (DWORD)( pLight->Ambient.g * 255 );
' v% Y( p+ c' \8 l( A* a* t' M$ [4 r. _
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 R* K1 ^% U" ^4 M" } I# K" v
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) v) d% A) z& v$ P3 s4 m. Z9 Q
}
; ~3 X5 z/ c* A4 ~4 D' q9 A) }2 H7 T
}
% x+ f0 K$ V% G, l( K
}
% L; G! U* Y8 b# y0 r0 i
else
# z* f* k5 z- d* @* W
#endif
' Z! v1 s6 u( U8 H. |+ r
# ^0 I/ M) J1 }# u
if( m_bIsIndoor )
; s& d' B& e) K9 E
{
" \% p) r" z5 p7 b# K
if( pLight )
! W. ~. y# d' y F% s$ x
{
# h& L# }) O4 r7 p5 b) {
// à??μ oˉè*
# m9 P, ~6 u+ [# U5 z8 b
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
" _4 O& p, ?2 U2 I. G! Z8 D# l, l
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
5 x' R/ P e# P( f
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
/ Y% r# K+ |9 D7 [
5 {5 v( X: [/ _) I
// oˉè* ??à?
6 s) ^% R) b) _- \
pLight->Specular.r = 1.0f;
# U& V% p5 T' z- O1 M$ F$ O: J) x7 R
pLight->Specular.g = 1.0f;
2 l- l. w& @9 Q) H6 N
pLight->Specular.b = 1.0f;
' |8 r. J2 {0 `7 ?
// àü?? oˉè*
& Z) M9 ^$ ~( y! Z
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
: \8 n1 t: k5 c
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
$ E/ H9 ]3 s$ P1 _- `+ I1 ^" t, x i
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
% n0 }0 v& h, ~! F' J ~6 C) P: ~# d
8 q+ c' V& H* m2 h; a* c4 d3 S3 d
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# s- @$ f2 h7 A
{
) g/ z8 L1 `* Z) y& U7 u1 r
pLight->Diffuse.r *= 0.6f;
. M1 h0 n- U5 k5 x7 X: W* B
pLight->Diffuse.g *= 0.6f;
: S9 E' U) D- i" f9 C
pLight->Diffuse.b *= 0.6f;
/ D6 e1 g. A# W* J0 l, ~ t* V
pLight->Ambient.r *= 0.7f;
* Q) e/ R+ J- K/ X% F
pLight->Ambient.g *= 0.7f;
. O2 I6 M/ u$ G
pLight->Ambient.b *= 0.7f;
: w( B+ f2 o: C. k
}
1 l5 I% e: D" B2 b& |5 k5 b# E
- V% Z0 V( r- j5 `& b P6 D! j$ [
#if __VER >= 15 // __BS_CHANGING_ENVIR
% _) E) I, Y) q+ \1 e% x7 i y$ b
if( g_pPlayer )
8 M4 Q0 N, e( ]& b5 A& w+ l6 y' |& f! Q
HookUpdateLight( pLight );
. \' l2 {* c1 p
#endif
. A2 k! |4 F/ r# M I% ?/ k6 t
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( E% z+ n. a: U7 R( ]& I4 r
! @; [4 R' `' K. c
pLight->Diffuse.r += 0.1f;
: Z4 h: p' J, e8 Y1 c
pLight->Diffuse.g += 0.1f;
- P6 u" J# r& f# I4 s+ I/ W
pLight->Diffuse.b += 0.1f;
( W) D) X& A" ~1 O
// oˉè* ??à?
" N4 f, C0 y0 S$ C5 H- s- |
pLight->Specular.r = 2.0f;
a7 e1 y2 r! R% T& \0 U
pLight->Specular.g = 2.0f;
0 ]0 `5 F! V" S! I- S0 v2 q3 G5 F3 I
pLight->Specular.b = 2.0f;
# Z g: ]: u8 }5 p( V
// á?oˉ
! @1 ?4 b# H& W( B1 T8 c
pLight->Ambient.r *= 0.9f;
* V% G" {. A0 z$ w W% ~8 t
pLight->Ambient.g *= 0.9f;
5 k$ f6 Q+ \* d" D
pLight->Ambient.b *= 0.9f;
) Q. I. s4 A, k' K* _8 H
' s% C- B8 J2 N! _/ B
memcpy( &m_light, pLight, sizeof( m_light ) );
% Z& q# w M7 x# R
+ D& S. T; W7 k
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
9 u/ V4 X" P4 s8 Q \ X8 k
pLight->Appear( m_pd3dDevice, TRUE );
0 U* w7 i0 L f7 r4 f
; ` f. p5 W# y. P
DWORD dwR, dwG, dwB;
Q! U' f9 p0 D) ], ~$ h
dwR = (DWORD)( pLight->Ambient.r * 255 );
& ~0 ?$ u: s) b2 u9 N% H& T( {
dwG = (DWORD)( pLight->Ambient.g * 255 );
6 F: |3 k" x: S+ `4 F
dwB = (DWORD)( pLight->Ambient.b * 255 );
* g! L; i7 W# Z5 o- F
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
F5 o5 R" ?2 K7 C
}
/ a: W2 P$ r0 r1 p' {- d( g
}
: v/ E! w0 M9 T
else
" M4 { l) m6 ^9 W$ l$ w
{
8 o$ m, X; S- F5 j O, C( \
if( pLight )
' A8 z& I4 s! J8 `& s/ f7 X8 ?1 j
{
* A! P! y# M9 o* J- }9 A
8 p/ u6 h2 S" q$ `' ]' \0 z" v/ g
int nHour = 8, nMin = 0;
S+ S# D' x- {5 E1 w# q
#ifdef __CLIENT
) z8 P- \+ K; r' {- q$ t3 }
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
+ U/ ?4 w5 ]7 P3 a1 ?; s; q
nHour = g_GameTimer.m_nHour;
2 r# w- x/ n5 N+ |8 @8 n) T5 n
nMin = g_GameTimer.m_nMin ;
* D+ P, n0 O5 B& B1 c' w
#else
! C1 f8 ?% F: F, Q2 Q: g$ P: y6 e, S
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
* f/ H7 o5 \5 N5 l+ X8 m. n
if( m_nLightType == 1 )
! w$ D4 Q9 s' L" T: v
nHour = m_nLightHour;
- f6 y4 e1 l/ |! g1 f: S5 R
#endif
! q5 L2 r% f% J
nHour--;
( K( X8 i- g! g. f
if( nHour < 0 ) nHour = 0;
+ L' {$ c6 q; a. y9 w
if( nHour > 23 ) nHour = 23;
, A8 g" A: A S P8 y; z
' O+ n$ |7 ]" t0 f$ M
//if( m_bFixedHour )
. \. X8 E( Y7 D% r1 a3 R. b' d
// nHour = m_nFixedHour, nMin = 0;
( S$ c8 {( E) ~" E- \ r: ]
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
, r4 ~4 m3 ]5 M$ R( C
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
0 M5 M9 X' J. i
: \( y# j; d( z, i0 @
//m_lightColor = lightColorPrv;
6 I/ |7 N$ F: N" z
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
5 `2 S6 b& J/ f! x+ S" K' ?
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
: `7 Q( T7 C/ o/ d& y
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
6 z' O9 O! w$ H) u( X# e
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
* L7 V4 ^7 T4 I& @+ J. J4 v
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
8 ]5 b9 C7 l* g$ s! D1 L1 ?
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
' r7 R1 A0 ?) k. n
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
9 M8 H* O; P/ v$ J6 \
) _" p3 H7 T$ t) ^- _& e) D/ X( y
// à??μ oˉè*
0 K6 \6 I- E5 U/ B7 w& I
pLight->Diffuse.r = lightColorPrv.r1;
: x/ |+ r. q7 V; J8 d/ l2 C
pLight->Diffuse.g = lightColorPrv.g1;
' P \' x6 g+ M- l+ l% {/ x
pLight->Diffuse.b = lightColorPrv.b1;
$ g# i! m2 C7 U* `; f
// oˉè* ??à?
9 |) ?5 M3 a7 \: [) P
pLight->Specular.r = 1.0f;
v+ O S4 j$ r" i) ]/ U* S' F
pLight->Specular.g = 1.0f;
" D9 l) s& e. m* F
pLight->Specular.b = 1.0f;
& }. g2 g3 @/ j
// àü?? oˉè*
$ I( t, }7 i& m$ @- {
pLight->Ambient.r = lightColorPrv.r2;
- z6 O! h0 K) a) D
pLight->Ambient.g = lightColorPrv.g2;
& G0 J0 V2 D$ p
pLight->Ambient.b = lightColorPrv.b2;
2 W0 X) t; K' Z# F4 Y/ V
. j9 Z U# e9 Z* l5 c+ U- O! B
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
' [4 j4 K6 o+ Z
{
) H, b* x! d% p' \2 A: x2 L% O! F
pLight->Diffuse.r *= 0.6f;
. D' r% W% B, z; M% v; F8 [% m& j0 r
pLight->Diffuse.g *= 0.6f;
9 R" ~' u0 m# a3 e
pLight->Diffuse.b *= 0.6f;
: [' M( w1 D+ f: e
pLight->Ambient.r *= 0.7f;
9 B" f' i, L \5 e
pLight->Ambient.g *= 0.7f;
5 u7 d7 M- E0 T% o4 i. ^% @2 ?
pLight->Ambient.b *= 0.7f;
. q2 B6 Q( k- _ ^8 b
}
0 U: q% Y- }' ?9 ~& s( d
6 \9 `% S" T# S B9 o
#if __VER >= 15 // __BS_CHANGING_ENVIR
0 J" R$ x. U0 J0 T% \5 n
if( g_pPlayer )
+ E+ f$ T z2 t' b
HookUpdateLight( pLight );
5 [$ w" Q; `. ~" D( l: c
#endif
* s9 Q* ]2 R% b. u
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
, A: q5 q+ k8 u$ c- O; v
) f& q) _$ c, [
#ifdef __YENV
q3 R' @' ?7 ]1 ~" g2 S5 z
pLight->Diffuse.r *= 1.1f;
2 c. a2 M3 Y6 N* S( C5 y
pLight->Diffuse.g *= 1.1f;
; g& _1 m5 D! o6 @0 O" _' } P" b; V
pLight->Diffuse.b *= 1.1f;
+ Q4 J: r0 F) m; \
// oˉè* ??à?
& E$ z/ A- ^0 A0 \8 t# e
pLight->Specular.r = 2.0f;
( B4 h3 n4 E: w! d& d# e
pLight->Specular.g = 2.0f;
8 Q2 q4 j2 j/ p2 w4 e3 S
pLight->Specular.b = 2.0f;
2 q# L4 m! Z' [
// á?oˉ
6 _1 b! M3 p0 N3 {3 e
pLight->Ambient.r *= 1.0f;
: C' r. E, g" x
pLight->Ambient.g *= 1.0f;
# t0 o6 f# U1 F# a5 S
pLight->Ambient.b *= 1.0f;
, g7 k8 `- T- B+ d" z
#else //__YENV
% I! X7 h, Z% E& e; Z# g
pLight->Diffuse.r *= 1.1f;
C8 W% w4 s! q. `
pLight->Diffuse.g *= 1.1f;
' w/ t/ C) f6 m' p; W3 D5 r5 ]) p
pLight->Diffuse.b *= 1.1f;
& i0 X: p! Z5 }/ E9 }
// oˉè* ??à?
& T8 H& Y- [0 _( `" [; T
pLight->Specular.r = 2.0f;
* _8 D4 K2 c7 l2 |( a0 J/ i, r
pLight->Specular.g = 2.0f;
) N; W6 \, v' d( s4 E
pLight->Specular.b = 2.0f;
- T4 ]6 U7 r0 N, @3 i; h4 N- b/ l
// á?oˉ
0 h8 t! T0 f+ M" Z# b
pLight->Ambient.r *= 0.9f;
% R# E7 o8 r/ E' E" [
pLight->Ambient.g *= 0.9f;
9 w, F) K% B7 Z- ]- d, t
pLight->Ambient.b *= 0.9f;
" ]0 k; M; D' O
#endif //__YENV
) d! j$ ~, b/ }# e0 d
# c* {8 a! ?) q2 v7 x. i
memcpy( &m_light, pLight, sizeof( m_light ) );
c1 q( F' P$ X8 E) q+ T
- @8 k, Y2 S9 i8 u
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
( ?; j+ w3 i5 M. u9 E$ I- {
D3DXMATRIX matTemp;
6 U7 A$ \; X, z: i- @* t' \
static const float CONS_VAL = 3.1415926f / 180.f;
. x* J& X1 M+ p8 U u
, w: r+ C+ z$ Q% D; ^: w0 H/ F1 k! ?
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
: | j: S$ b7 m/ D7 L
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
- G9 H" n: X% k$ I- |: _+ f0 M
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
9 [! z# a# }3 \7 r% D# H. F
pLight->Appear( m_pd3dDevice, TRUE );
& k& a( U/ c8 v+ J! c; a z1 P! m8 s
7 o1 `, ^: P, A
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
4 n! p" X M0 W( X
// D3DXVec3Normalize(&(vecSun),&(vecSun));
* o' L' E# \0 _" F
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
) O9 x+ I1 J7 f- S) t5 b, |
) K- v$ S$ }4 Z# z- b
DWORD dwR, dwG, dwB;
( Q+ o( O& t+ o; n5 [# g
dwR = (DWORD)( pLight->Ambient.r * 255 );
. u2 A) F1 Z, R) }/ s5 I* I( v; X! Z x
dwG = (DWORD)( pLight->Ambient.g * 255 );
& {3 L6 t: n, B3 I1 r, S
dwB = (DWORD)( pLight->Ambient.b * 255 );
- k( Q" e& V; m$ c, \& k
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
1 B9 K& z- K5 y7 z* @; D3 E4 N
}
U- d' d5 h0 M) i. |' b0 W
}
( @% `: Q' u- H
5 z" E8 [% T4 j
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
' d, M5 C( ], r3 E: l/ X
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) );
/ b" c8 |. W6 z
::SetLight( bLight );
5 p7 G& s+ T! q, z
2 s P+ F. s# w
// ±ao? ?D?í???ó á¤à?
) {. O' F6 k, a9 T1 [3 n
m_pd3dDevice->SetMaterial( &m_baseMaterial );
0 S) b k; c: Y9 X( Q4 V& H! @
" }8 j a/ G/ L8 C( F5 \! r
#endif // not WORLDSERVER
- d: y2 { T9 i! |& X
}
! Y0 I1 j* \, `8 M6 W% |: }5 T$ q
并更换
% W0 \, u0 p3 n9 g& T
Code:
5 d/ F* k6 j( r+ ~6 z
__FLYFF_INITPAGE_EXT
q* |( v2 m- q. q
定义
1 f" y5 }. n# }2 ~! A
1 @$ K: }$ F% s9 S9 V& `9 `0 H; u7 Z
0 W7 \! r9 W. I* ^7 i" S
( b+ Q7 f; r' E N9 q2 O
Q6 C" R* o1 p, v& w
现在终于删除我的狗屁加速...
9 m5 s6 J' e8 T+ o; h0 x# R
/ n* @% } v1 H; B
' ?6 B* |9 t' X! L7 o8 F5 R
; U+ ?5 M: w) y& v0 x+ X% q
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2