飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
# r9 e# a5 u L) f
尾翼:
* n# F- m! }' B( f
6 D5 V* u/ U, K
代码:
3 | }6 k: R6 L- G; f/ r* U/ x5 \( H4 \1 }
CWndAutoFood::CWndAutoFood()
! z8 Z* P" r1 P& v l
{
8 a% E: M$ R! i
m_pItemElem = NULL;
% g0 m ^ i4 g! K2 D
m_pTexture = NULL;
, N! c, { D7 v2 w: G7 ~
bStart = FALSE;
0 z$ T: o; N! m2 P7 i& p
}
' A8 {0 u5 ~/ O, |9 R
: H) p" O1 L. [! D( ^1 c
CWndAutoFood::~CWndAutoFood()
/ w4 S6 ]% d9 ^7 O) h8 @
{
8 k: F' _) s2 G% E: A6 h
AfxMessageBox( "AutoFood ist gestorben
" );
5 W$ a; Y# \# E4 k/ D
}
2 d& Q. A- S9 m( r0 K* z, J
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
; z' Q- J7 q( ~4 O; o: M
{
! f, c; |3 O) L% y
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
/ ^* J! G) e" E+ p x
}
- {3 j! g, q7 x/ Q
+ R2 A: Z1 K/ v- ^2 `7 n" H/ k
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
- S" Y( o/ Q0 u
{
9 y. m3 _0 j1 j6 \! ^5 ~( r
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
( ~8 V [/ Z3 b0 P) w
CRect rect = pWndCtrl->rect;
6 J% q4 `9 @ X3 w [
if( rect && rect.PtInRect( point ) )
6 L7 n x8 t/ K. m: @2 s: x( ?
{
% ]& K" j. y+ K/ T. m, l3 s$ h; g
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
3 z. x3 U1 u3 v7 n: G$ u
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
/ M) V4 o. T- q/ T9 T. c) U
{
; j8 f+ m4 k# }& v- V! Z: W
if( m_pItemElem )
4 M5 [. q# `7 C
{
+ p" O0 W2 q6 D& n/ W; h
m_pItemElem = NULL;
: c- j. o8 K8 s5 C/ \' c' V6 ?
}
2 Z& K+ v- z7 Z; B
m_pItemElem = pItemElem;
J! o2 ~! E* P4 l8 r$ D4 d% r
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
5 o$ Q5 u' P- I0 G; u E$ z
}else{
$ `3 O; a8 y. Z: l8 K, z/ A
SetForbid( TRUE );
0 N' a- u: k( t' q0 Z# o& y
}
7 f& T- N$ i1 X- \: ?6 o
}else{
8 g- Q5 T7 z2 f' N3 R* }3 e
SetForbid( TRUE );
5 C2 | l) [& Z' U
}
4 L5 |; q% w: w8 A- u
return TRUE;
2 c! s) q/ z* m# J& |; I: C
}
% g4 E D* g: [" }
: j o, Z6 |: O: V. b+ i [
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
8 J: _6 b/ j; [6 `+ y% K/ s O3 V/ j
{
. ?& G/ P) o' x& o6 S+ G
switch( nID )
: M* V' U+ q& U. R* E. M8 r
{
( A5 d% B7 A# H/ W8 e0 n4 R/ e
case WIDC_BUTTON3:
2 e' n, B+ l! u+ h
{
/ j* x2 w6 h2 R7 M, o
bStart = TRUE;
; {: l% K, e5 W* ^( f- R. j
break;
1 @4 l5 i, \( a, a6 H- X' V# t# U$ D
}
- `/ [5 O2 [4 v( G* R
case WIDC_BUTTON4:
1 T0 ]% c% q1 y! q# t, k+ y
{
, I3 N2 w- q, C/ Z3 O5 W m
bStart = FALSE;
% g4 j6 K) C0 m, L$ C- D$ Y
break;
/ @' w5 g2 q! [, Y. K8 G9 i
}
+ ~7 W( f5 {: Y. S1 C
}
+ g( m' j5 r# f4 {1 V. H+ O
return CWndNeuz::OnChildNotify( message, nID, pLResult );
- W* g1 r: H7 v
}
/ Z8 {0 o7 f. F& j
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
, ^# y& s4 }; N% V) v* R
{
& d9 z9 \% G2 v$ m, b% n
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
' t5 ~ A" t3 ], H; q
if( bStart || !m_pItemElem )
9 R4 a' |' q" Y& K
{
3 q7 y7 ^% {$ Q0 h
pBtn->EnableWindow( FALSE );
8 c8 `4 N J% I$ g4 J* y
}else
2 ]/ s6 X$ q" P9 [+ H
pBtn->EnableWindow( TRUE );
2 }! {7 K5 J& E6 W0 x( B' R& _
if( m_pTexture )
K/ d% ^1 Y7 v% Q8 R! g3 w1 g
{
8 i% ~, \9 ^& y2 g
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
$ m# ^% }( t2 G P7 O9 s/ W' U5 g4 Q
if( wndCtrl && wndCtrl->rect )
5 p2 K+ w1 Z+ Y8 B2 C7 Q- c
{
" e& w, y& o* M0 N0 L6 I
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
3 H0 r- ]# R" `5 s
}
3 V' Z2 R, B" l3 R3 S; p( O# P% X" `
}
+ Y1 k4 h- D. k
}
2 P* s4 g! L9 ?4 A- B2 S& L
3 B/ l; I; E& b6 w% ^& x+ F
BOOL CWndAutoFood:
rocess()
$ D; m$ u5 f7 H9 M3 ^: s3 I M4 @# X
{
* p5 M, k; _7 O7 q, B+ `
if( bStart )
! f Z8 B8 @! h! ~/ F2 y" u
{
3 ?! s; R% l4 m7 S
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
$ Z# ^9 v* N8 }: M. O3 N
{
- h; |8 x b# R, C' ^. E; t
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 h C; N7 [/ b% f4 Y K2 [8 A
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
8 V. a" _+ ~( E6 g8 Z- f
}else{
! v# | I, B/ ?$ Y3 q4 q
bStart = FALSE;
+ B9 L5 v) s) H, [
m_pItemElem = NULL;
$ ?9 f& W+ C- m( \3 j8 e
}
& m; J# e4 y6 B* G: x2 I
}
: d3 ^* B+ |% A a* g
return TRUE;
0 g: H. F& G6 N7 A' s. O# Q! c [. M
}
) N0 V; Q& |) s- [ `+ i
0 Q! I- v4 a6 E3 j/ q6 p
登录视频废话:
" r8 m9 }( k7 W! v
尾翼:
- E6 n% z3 _5 n; k. u2 `7 b1 E
) m- \. u2 [0 o5 `0 d( J
代码:
, G1 }: J2 B1 o! ~
- n; p- d/ f; C/ q4 @
void CWorld::SetLight( BOOL bLight )
& E9 M' A& M }* e8 a4 M8 [( C
durch
# c$ n7 p4 s' t
Code:
+ @% ~! U" ?- X* C% K) d
void CWorld::SetLight( BOOL bLight )
# Q6 i. l8 n8 K2 {+ a
{
5 O6 E) r/ G3 @% s# |* [ ~5 K
//ACE("SetLight %d \n", bLight);
1 | c$ Y( ^( u1 K* Z8 g
/ [8 b- p6 [7 A% C5 b8 R Q
#ifndef __WORLDSERVER
& k) }3 ^9 d. r. L
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
4 D6 N6 k: G! p# V: W9 v
CLight* pLight = NULL;
3 G; H4 Q; q$ x. E% c j( y
7 T" P$ e" j9 T: ~( I0 g, A3 }
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
" S- T- v, D! C, h
* e& _4 a0 Z/ x$ T" a3 `2 m2 g
pLight = GetLight( "direction" );
0 `. h( ~6 h; J8 ]; [" `* g) X) ?- H5 L
' Q5 [) M, q7 l. J* [
#if __VER >= 15 // __BS_CHANGING_ENVIR
4 t3 G( H7 B+ h+ E6 \& R) E
if( g_pPlayer ){
8 N$ L; d: v. x6 {; `9 P& m
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
! A. p' V; v8 |9 T1 |: V; a
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
/ M: K6 L; E' Q% w( a3 w
{
, n1 x) U3 c _( X8 v& |
if( pLight )
8 F8 ~, _ |: y# S* w9 j* U Q+ C
{
. h- T1 J5 Y7 K+ t5 `
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
8 H+ p6 N8 X* X5 `4 ~; B
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
# q) { r& F! S' {, h# v7 y& ^9 C
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
! V1 T- ?+ H7 F, a2 d8 T
' k2 j/ [' p: V2 J& g7 ]
pLight->Specular.r = 2.0f;
6 z7 J3 g9 L6 B. S1 F
pLight->Specular.g = 2.0f;
+ a) F% E( _( Z; f; A3 i
pLight->Specular.b = 2.0f;
% M" V0 j+ |( S. `2 `$ u
5 `" m" m# h. A
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
: J) I9 G: n3 T" w$ `
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
8 d& m, {. u8 u1 d. b
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
; M' {. B, s& B6 O, [( R
! j4 h. E7 `& \+ Q8 l
HookUpdateLight( pLight );
) t1 m2 `) P/ v8 x0 F
: Z" k4 v) v# Y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( }7 S5 V3 i% i0 @+ p( {
+ b$ H* Z; i( D& U* t& Q2 P4 d: I
pLight->Diffuse.r *= 1.2f;
% V$ Q1 h& d6 G3 k+ ~1 [/ m
pLight->Diffuse.g *= 1.2f;
) c- k( `0 Z1 y) B" M6 B2 X9 i7 w- V
pLight->Diffuse.b *= 1.2f;
; a" ?1 m- ]: o
3 |, z! Q2 B4 F5 Q0 I) t: w' J- \: t& \
pLight->Ambient.r *= 0.8f;
( c0 e, O1 y U* A$ I
pLight->Ambient.g *= 0.8f;
0 p$ ^9 q6 q( l& ~! y* e: k
pLight->Ambient.b *= 0.8f;
) s$ t! T: M2 U5 s3 J4 C
& J. O* @) x9 x$ O5 m
memcpy( &m_light, pLight, sizeof( m_light ) );
4 `1 u+ S. N- S7 R6 P3 D
5 }. S9 Y# W. B C/ U
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
) I4 ?9 p8 G! n( j) C
D3DXVec3Normalize(&(vecSun),&(vecSun));
3 q. w% |/ ?' {6 p
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
! v2 Q& @, ~. n5 g8 \
pLight->Appear( m_pd3dDevice, TRUE );
9 u& }+ W2 P" u
4 k/ |' i9 }- o& S$ _5 G9 c
DWORD dwR, dwG, dwB;
* H/ E# a1 Q! n0 u+ \. M& |
dwR = (DWORD)( pLight->Ambient.r * 255 );
# G$ L, o, N! I8 j4 E# O
dwG = (DWORD)( pLight->Ambient.g * 255 );
5 ^9 J* @2 q, K" s- \
dwB = (DWORD)( pLight->Ambient.b * 255 );
4 F5 O8 ^% s. }% ?
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 ~# K# t ]* r8 j% Q
}
( v' {, B8 s8 e1 z- ]. W
}
# E3 v! Y8 ^9 y; {# v) M2 C
}
0 Y! R( m* P) ? T, }
else
6 y/ B! c+ @ v( |" Y1 ~/ W( c
#endif
& J% U4 p0 J+ C, S
7 ~4 ?! w; |. c# e% e
if( m_bIsIndoor )
+ t/ x8 n6 b# o8 h6 A( |
{
7 [6 U1 j7 e. I, r
if( pLight )
' B/ y' X( G& ^- _# b
{
2 Q9 [# Y' U. f6 Z
// à??μ oˉè*
! ~( M& a) D# |$ B# |
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
" B/ M" s8 `. y) _! o% Y$ M2 u
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
& A, ]2 Z" A% w3 F4 U# _( k
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
0 h2 g' p- I' q7 |' o
# E# r& }0 U+ V8 `
// oˉè* ??à?
^9 u+ E$ w$ W/ Q- b* L7 r9 Y4 Y# _# z
pLight->Specular.r = 1.0f;
$ k$ F( e! D; e' @" p9 I' r* i
pLight->Specular.g = 1.0f;
3 ]' T/ \9 C8 ^ Z2 H9 Z3 k
pLight->Specular.b = 1.0f;
9 s) g. L( e6 d9 a
// àü?? oˉè*
5 E) [ H+ D! R# Z
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
4 K! \( q7 ^) S' W' T
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
: @% I! i( ~) P1 Z9 X* P
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
$ _' |! F3 U2 m9 K
8 ]7 {: c! Z$ E4 F' ?
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
, H! m8 ]4 Z1 z2 g' {7 C7 Q% A: H
{
: ^& [+ g: [4 B3 X v8 c5 |
pLight->Diffuse.r *= 0.6f;
G: n6 x# q1 }/ \+ ^3 r- F4 z
pLight->Diffuse.g *= 0.6f;
% t" d+ a f7 W/ P, {
pLight->Diffuse.b *= 0.6f;
& C; k6 R) u5 ^+ }) o
pLight->Ambient.r *= 0.7f;
0 x7 ~6 B) P0 M+ Z
pLight->Ambient.g *= 0.7f;
9 F( T' [' @4 p$ L
pLight->Ambient.b *= 0.7f;
- q# W2 U: {0 _* X; y
}
2 v' e; G4 j1 }$ X& T6 h
/ C6 m9 G: O/ Y" g) V$ H
#if __VER >= 15 // __BS_CHANGING_ENVIR
2 X7 |1 l/ `/ s/ O2 W3 J! H
if( g_pPlayer )
& y E' Z7 w5 M! _. n7 r
HookUpdateLight( pLight );
G- ~# ~, N; R0 h; ~# J! E* m) F
#endif
2 q/ z# L& C, F" V& q# |
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 Q! U4 X* E- h
" _2 `& P7 Z. I( C+ k. y7 [ Q( G7 d
pLight->Diffuse.r += 0.1f;
$ W7 H- V: p7 i& A6 I9 u! N
pLight->Diffuse.g += 0.1f;
1 }4 T/ L8 l* d8 P) g4 D
pLight->Diffuse.b += 0.1f;
/ c9 K& F3 e3 O: A) C$ W
// oˉè* ??à?
. q9 ]6 J/ A }+ B5 s( d
pLight->Specular.r = 2.0f;
% t8 y% X4 v+ f3 |
pLight->Specular.g = 2.0f;
& o5 j$ P5 u% t' Q& j
pLight->Specular.b = 2.0f;
* X/ R r; }: O( g5 b, t) E- v; z
// á?oˉ
3 O* E( _1 S( I
pLight->Ambient.r *= 0.9f;
1 L% P* E* I) h' j: F
pLight->Ambient.g *= 0.9f;
2 |' N6 F |! o8 K. H* p! w. C
pLight->Ambient.b *= 0.9f;
: H; Q) K( w( T( y8 O0 k) S7 z8 n1 R
; G& |& `+ r) O6 j
memcpy( &m_light, pLight, sizeof( m_light ) );
7 K6 a" t& ~5 o. M+ J" m
, \6 E; T; o! m
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
9 {7 Z; [, t- d# P
pLight->Appear( m_pd3dDevice, TRUE );
5 d! m/ v8 h( k
5 ^0 ]8 H9 V9 \" O) n* Q
DWORD dwR, dwG, dwB;
6 y# a& ?) w- m+ S
dwR = (DWORD)( pLight->Ambient.r * 255 );
5 Y% p& j8 i, N# N5 ?8 p8 I: D, o. g" ~
dwG = (DWORD)( pLight->Ambient.g * 255 );
, E+ {& v1 i" L: ]0 ?, S1 L2 Q$ l
dwB = (DWORD)( pLight->Ambient.b * 255 );
3 M9 Z; T- z6 y m9 u( S9 U
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& e5 S6 L4 U+ n x6 l) I7 g% P
}
5 |6 e A1 t. i' [- j3 a
}
( G: R3 M4 |8 K$ L$ g8 a7 a0 j# A8 e
else
}: r" o4 I; F) O& T& e- n
{
$ p0 V |; o m& Z9 { v. Y
if( pLight )
+ u) z6 k. X/ P( m
{
1 `. {$ w; i1 s: Q
- h4 ~5 S" s u( b) C
int nHour = 8, nMin = 0;
! ?1 h& f/ U- P: b
#ifdef __CLIENT
" I, G2 b; X+ @ Y! _2 d5 _
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
1 C$ \: K! q. H7 k- [/ W% r
nHour = g_GameTimer.m_nHour;
7 T% K' \# _3 l& G
nMin = g_GameTimer.m_nMin ;
! i% b* E3 e7 f4 i$ ]+ N
#else
. A) M) t6 i- J5 W0 Y8 f
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
2 P0 @, i2 B' X2 W! B" `& a) d
if( m_nLightType == 1 )
4 O G0 ^0 ^2 v. \, C
nHour = m_nLightHour;
3 ] d% J8 W. v! f6 E% B' t7 ]
#endif
2 i9 Y+ \, g+ w
nHour--;
* v! O7 k# N% v Y2 J3 O
if( nHour < 0 ) nHour = 0;
- c$ p3 K+ f; f N) S) D* o) b7 m
if( nHour > 23 ) nHour = 23;
3 ?. \$ h% w1 ]( I4 D
4 ~0 ?7 d) U* I' s: t/ G" e, F
//if( m_bFixedHour )
* P! ~" o# z6 H5 [
// nHour = m_nFixedHour, nMin = 0;
- U+ v+ C+ C h1 D5 y' n
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
/ O7 L% w; |5 {1 U U. }' j
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
" x0 i1 Y8 R& J3 r
% T) s3 P6 z, @ M; e- Y$ c: H% s Q
//m_lightColor = lightColorPrv;
# v* J* z! ^6 X4 Y: K6 g, L; _
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
, Y* u1 q- r/ M3 X8 c6 `+ W
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
5 N' J- R7 `- l- e
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
6 A1 t4 h& a; C5 X2 f# A7 G D
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
, P7 I7 Y1 F7 @& u: K0 B: T
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
9 z; W" L9 z% S0 ?- n
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
* N6 N1 Y7 N9 a* O! E
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
# A2 ?- _0 c4 q2 J- E3 c4 r
- h; I3 ] z1 F
// à??μ oˉè*
- c* G' g! C) y: x2 I" }# a) D
pLight->Diffuse.r = lightColorPrv.r1;
& }/ A+ ~# W4 Z- s) |9 r
pLight->Diffuse.g = lightColorPrv.g1;
" @+ b1 j0 V3 J; N- S5 Y
pLight->Diffuse.b = lightColorPrv.b1;
2 s$ @, g" C/ c
// oˉè* ??à?
& b+ j) d; A0 z T# @
pLight->Specular.r = 1.0f;
( M3 H2 Y- K7 {1 ^# k2 x
pLight->Specular.g = 1.0f;
+ L" q4 h3 c# |- _* K
pLight->Specular.b = 1.0f;
- F* j0 b2 X: W% P: ]# M" v
// àü?? oˉè*
; n& n- [' X0 y
pLight->Ambient.r = lightColorPrv.r2;
% z& O, ^$ z" d+ P* Z1 P
pLight->Ambient.g = lightColorPrv.g2;
2 o: z, _, w% ?# L- D! M" e0 w7 f; l" I
pLight->Ambient.b = lightColorPrv.b2;
0 n. N9 h8 K; |* f: p
; x! }1 r& J1 f2 o6 w3 r" { S3 z# o
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
5 L6 a" h3 k+ d5 _0 P+ k
{
' j6 U/ s, g& H3 ]; e6 I! }) A6 S
pLight->Diffuse.r *= 0.6f;
; k) u' e* D, X+ ?# {) j, Q
pLight->Diffuse.g *= 0.6f;
9 [& Q2 Q2 R! F- M+ q
pLight->Diffuse.b *= 0.6f;
- i9 Y; \5 l8 x4 M1 K! |5 i
pLight->Ambient.r *= 0.7f;
8 s6 b. S6 y$ S3 A0 Q6 w
pLight->Ambient.g *= 0.7f;
0 K, O, g# N" z$ |8 O4 z* U. ]& j' W/ n
pLight->Ambient.b *= 0.7f;
9 @9 ^: L8 P% g# m
}
; i, {2 R$ D1 D/ P6 J+ f% S
) k3 V$ D; \8 [: K- `
#if __VER >= 15 // __BS_CHANGING_ENVIR
4 @. Y* z& E* ~5 |; K
if( g_pPlayer )
$ y0 m- t$ u% Q% I/ l: F6 ?8 J
HookUpdateLight( pLight );
6 N+ g5 P7 Z" u& r2 L! U, @
#endif
' J1 J" k. x* N5 W6 i0 ]0 d* S- @
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 Z& X5 i: Z5 Y* c& j. _
9 U9 _! u! W# ~
#ifdef __YENV
0 f: l# R! ?- @% K6 Q
pLight->Diffuse.r *= 1.1f;
6 t' S. A! l: c4 h' o
pLight->Diffuse.g *= 1.1f;
9 f; r W6 c- {# \9 q
pLight->Diffuse.b *= 1.1f;
, p* o* l$ e6 D% h/ N6 ` @
// oˉè* ??à?
5 \8 N6 e* V8 ?1 `3 E
pLight->Specular.r = 2.0f;
( }9 A' [, _# X) L( F$ H( a
pLight->Specular.g = 2.0f;
. q- D5 }/ X6 Q5 r F5 [$ l* ^
pLight->Specular.b = 2.0f;
0 N: A7 k. O, ?2 c q1 b
// á?oˉ
( i. J9 T) b, y0 Q; f; y* i0 `
pLight->Ambient.r *= 1.0f;
2 z5 m5 v9 k5 d$ j; Q. o
pLight->Ambient.g *= 1.0f;
: N1 j8 f- J9 q* @+ Q& v
pLight->Ambient.b *= 1.0f;
* O( D" [& H8 d9 I
#else //__YENV
& Y, ?8 k. `1 {/ u
pLight->Diffuse.r *= 1.1f;
" A; w( X! W2 z0 F! z! V
pLight->Diffuse.g *= 1.1f;
- L5 a; |0 d! Y- d3 c% R7 p1 s
pLight->Diffuse.b *= 1.1f;
/ P& F; N7 W+ b) C! B, v
// oˉè* ??à?
' S3 Q3 j' _$ `2 L$ W# g, \
pLight->Specular.r = 2.0f;
3 H+ I% N0 q6 c) X ^& q
pLight->Specular.g = 2.0f;
7 G- v% a. s# ]. e
pLight->Specular.b = 2.0f;
! _4 M0 g! [& @1 C
// á?oˉ
( E8 Z) ^4 s# w T% Z
pLight->Ambient.r *= 0.9f;
+ z5 H' x: u! W1 j
pLight->Ambient.g *= 0.9f;
: j1 F4 n9 g+ G% G2 J) |
pLight->Ambient.b *= 0.9f;
4 U) g6 F4 z" D% j" y
#endif //__YENV
/ p8 O: g; d7 y X( |, d' Q
% P \+ n) e- m9 Z: u7 l i5 N
memcpy( &m_light, pLight, sizeof( m_light ) );
7 u7 ?' ^. @4 L6 n9 @0 S! ?
C2 a# Z3 \2 v7 }: ~& R% {5 c m
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
; M2 W! T/ W* y' f+ o# N
D3DXMATRIX matTemp;
% w0 G/ l# Y, u8 D3 c2 D
static const float CONS_VAL = 3.1415926f / 180.f;
9 O5 N$ f! ?, B
' r0 X& ]! {* h3 G0 s
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
t! V" A& X- t, A- E# z
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
5 V. T5 l+ ~8 c
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
/ c5 Z" K; {3 P
pLight->Appear( m_pd3dDevice, TRUE );
4 y% p- [6 C) e3 j) v
9 t3 {+ `: I, H2 ^8 L: H
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
* Y8 [+ v1 e7 ~4 _
// D3DXVec3Normalize(&(vecSun),&(vecSun));
, {. K5 K& G0 f- D) ?; _/ K3 `# H
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
4 |9 T) Z: ?- F/ Q! C* ~& Z6 r
2 k! i8 L$ E, Q- n
DWORD dwR, dwG, dwB;
. a, V) ~8 }5 F, V5 Z1 @
dwR = (DWORD)( pLight->Ambient.r * 255 );
! h& c& ]/ f+ B/ f& G
dwG = (DWORD)( pLight->Ambient.g * 255 );
8 m: x, M4 c( b; }$ P: K
dwB = (DWORD)( pLight->Ambient.b * 255 );
! B+ O6 a/ V& o" j }6 |1 d
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
/ ]/ ^( ]6 q7 A) Q
}
/ U) h m% J+ W5 n
}
- T( v# ?: a5 [
5 y" Z7 i5 ^2 k* `/ E7 P. H5 X
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
+ h9 o! V. `3 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) );
& m% K9 N) h; C7 E9 M. `
::SetLight( bLight );
7 f. ]* t. f9 f2 t
+ T* l D! I A* O& i
// ±ao? ?D?í???ó á¤à?
. n- q# K5 a* I$ ?, E2 Q! V8 ~
m_pd3dDevice->SetMaterial( &m_baseMaterial );
7 c& U) {$ c- r6 M* u1 w
/ ~4 m- e" \; v$ ]
#endif // not WORLDSERVER
( e5 F( G# b# ~8 v' t4 o
}
2 ]9 d8 U$ [, G# ]3 ]
并更换
5 R3 a& U" h4 }2 c3 ]) D
Code:
! R' z2 W$ X- I: Y; }& N* j
__FLYFF_INITPAGE_EXT
5 f. e3 v; L+ \" M- A" `4 Q1 M# B2 m
定义
( A( M5 \5 f- e: d) H' V8 {0 G
) e, L3 `3 M$ ?6 g0 ?
) s7 B! i7 P& q( t# |1 W) D( Y" T
* t9 p, m6 _+ q3 o& Y0 F
( P- X- n( d% ?
现在终于删除我的狗屁加速...
: {0 S0 c( X8 b( B$ D Z$ I
1 E# x! V! U9 j. \' _! M$ T# a
" j& i& f& ?4 t6 Q# A; J2 O2 V
; O( M4 o0 {7 V! H% ^9 g
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2