飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
6 Y. o) X& R w8 z- y# f) o. G& j' l: N! K
尾翼:
. N U2 A8 W. _5 f. u
$ l. @1 Z0 M! f; H2 S3 z
代码:
" z/ ?$ w3 k' P) w4 r- K' g
CWndAutoFood::CWndAutoFood()
: z( M+ ?, Y$ M x: e u
{
( O9 [, A6 U/ z0 I9 D" ?
m_pItemElem = NULL;
; B5 R. n4 A U9 V- c2 K7 ]5 v. r
m_pTexture = NULL;
% {/ O# E% H$ b$ S1 e o
bStart = FALSE;
, |- z3 H4 S& n P$ H1 Q
}
) P; {3 z! T u7 L7 @
; t$ U4 ~2 W+ \( N* X
CWndAutoFood::~CWndAutoFood()
7 I W0 F; ` [) x2 [% Q m
{
% v# b( h- n1 |1 c v# a
AfxMessageBox( "AutoFood ist gestorben
" );
6 }4 f+ N7 r+ R+ I
}
; w$ t; q1 H( ^$ y
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
4 z- K% x3 t5 r1 N& k: p9 R/ i! L% v
{
* X: C* t4 Y% f5 C u/ u
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
% C* l1 K" P0 {! o
}
+ k7 n2 G9 U+ w3 S0 z
- u7 C( |0 Z- M! v+ N) U
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
q$ Q# W" P0 K) a- i' n7 k- @" v
{
' T9 B( O3 I z# b0 Y+ v
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
- a' b1 i3 _. u9 V2 N# x4 |
CRect rect = pWndCtrl->rect;
6 I) y: q e/ r# ~3 G! n- l" n
if( rect && rect.PtInRect( point ) )
6 Z o/ i, v% x! U& @* ~' E
{
8 V0 @0 \ L9 K5 v7 B
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
) b X6 b; N& ]
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
: y8 k/ G) ]) x* ^6 S/ d n3 p
{
8 u) Q* z8 h5 M$ ?* c
if( m_pItemElem )
* o" b# T2 e7 O9 Y2 Y* q
{
4 F- b5 u' Y/ o3 O8 \9 Z- r
m_pItemElem = NULL;
; z9 C. G ^& r5 T s2 ]2 G
}
. m0 }, o5 D" E5 s# s! {( i
m_pItemElem = pItemElem;
k; F9 N9 r. f6 J$ \# V8 {
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
* b5 U1 n& X. k! M5 v2 F$ f, V
}else{
! C+ s/ e/ ]7 c/ Y) ]8 z7 M
SetForbid( TRUE );
+ W: k$ a1 g9 J9 r% {6 \8 L3 u! _
}
; }1 {" z0 i8 t& j
}else{
' L+ \8 Z2 T1 y( q5 Y, {, }; }* T
SetForbid( TRUE );
, b( V% [$ I& M5 f7 j3 j3 u
}
" ?! F& \# b8 O: a( y4 Q
return TRUE;
: h3 g9 N1 x, L- W/ @
}
# s4 n1 f8 Z$ z% B0 {# S! R
2 Q* R1 Y1 J6 _2 p
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
: K9 f# V- a- S5 v
{
h9 J* V" A& X5 f/ \
switch( nID )
8 L4 V4 W& g3 r, |9 F) C3 }
{
/ G! H7 \9 @3 p, d
case WIDC_BUTTON3:
0 c+ H0 U3 _8 h7 ~$ o$ W7 i3 U! i
{
% _! J. u6 G& D) b8 w) G% ^
bStart = TRUE;
# q B) {& B; ^: Q' ^
break;
/ s+ `9 r0 I1 E/ ]6 a
}
9 e9 i. u* i; L1 h( w% @( o+ G
case WIDC_BUTTON4:
# j( @2 M, u2 L9 Z' x
{
7 }4 r m$ J( T! r7 N6 n+ a
bStart = FALSE;
# {, u' D2 R/ `; E( H. h1 J, A
break;
% Y( V2 k( D, i! I8 I& ~) r
}
. y& N; R2 [0 Z5 `6 g, w; i- n! q
}
5 i! u- U" v8 q/ N
return CWndNeuz::OnChildNotify( message, nID, pLResult );
2 ^( j, i* Q7 c5 g7 u& h7 W
}
- @/ f6 z0 ?5 p6 m a# k* L
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
8 U* a8 @' {& b3 G; V; E
{
4 Y5 {9 S6 V; O! ?5 d
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
6 P5 X8 v# K0 E7 n8 L' M6 l2 z
if( bStart || !m_pItemElem )
4 {: l/ |% U) Z9 t, k( k$ W
{
2 W8 p9 [3 k6 [0 M, `7 ~9 P
pBtn->EnableWindow( FALSE );
- \% G j( l5 j+ z) }! K
}else
& ]! d" Z3 S$ y/ ]$ ]
pBtn->EnableWindow( TRUE );
* {7 M- C% E9 _: ?' f
if( m_pTexture )
. X) H% H4 Q/ Y6 V+ L3 @% {! I0 f
{
( V8 ?+ ~7 W W5 v: G/ f
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
3 l% d y# L& Q! n3 x
if( wndCtrl && wndCtrl->rect )
W. h' p" I* p+ l" P0 J8 J! C
{
0 u9 @8 |) t1 ~0 B* G& K h
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
' [3 V) N; x/ u, H+ ~; x5 @; {
}
6 ]. W% }* \' E/ P
}
2 k" u. u7 \3 h0 G, s
}
2 Z, B5 y# Z' }, l
4 f7 `1 S; d& f2 x p' V9 v A; C
BOOL CWndAutoFood:
rocess()
5 ^6 [" \4 b. l" \# C9 H3 C5 F% D
{
9 ~ I1 d! v9 q1 ~5 q: B
if( bStart )
$ }8 i& L( @0 Y: ?' z5 p6 u, Z) s
{
, J' m6 @) Z% Q: S q* o2 }
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
2 a% ^5 i# K# }) Z: t b) Q
{
8 {; l5 u% `; ]# N
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 P- u+ g3 N
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
% {1 v4 [, q' x7 b
}else{
8 L2 j/ G) `5 F; r9 c* R% e0 x+ I" j
bStart = FALSE;
: b) R0 z% `* H, h( I/ Z( ^
m_pItemElem = NULL;
4 }+ M, @! A5 j& y2 r; n
}
3 Z4 Z! ?2 T8 g1 y
}
5 m8 w! ?( b9 y' O% O j4 M5 `
return TRUE;
- m( {3 m4 E3 B4 f3 z
}
2 T w, s7 O7 ]
+ O, M) y9 Y, I9 q+ K* w
登录视频废话:
% p9 E( `( I8 L) P6 Z. [1 m
尾翼:
0 O1 K0 m2 y& z% F. C; d1 r& m' Z
i) S. _ O8 v% t3 [- A/ c0 w
代码:
4 j6 S: M8 \0 R* h& j+ ~# h
/ {. G2 v5 l5 K! z) v+ s, Q2 R
void CWorld::SetLight( BOOL bLight )
, N4 ~$ t. g {" p0 |9 I
durch
* {/ N9 L" N( l" n2 |/ U5 |
Code:
3 c$ w/ _& E, n8 N J5 {) v
void CWorld::SetLight( BOOL bLight )
n' a6 e8 w& ~: e: p, L# S9 t
{
' d% @5 e/ B h) k) e1 g
//ACE("SetLight %d \n", bLight);
/ c. g- X' J, p0 e. K: S
/ X2 [) }0 n2 ?( P* a
#ifndef __WORLDSERVER
7 i+ d) M# x; L# K* Y
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
$ y5 {9 s# @. t( i1 _( }1 F4 M
CLight* pLight = NULL;
" P" f( T4 S4 [: {5 e
0 R: s* R1 G; K% w7 B
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
" S7 x0 T5 b) ^7 Z' t6 o# x: O
# X7 X0 s/ I! ?8 e
pLight = GetLight( "direction" );
( q& @* [% y% d2 Z9 `4 O# v- p& ]
! z5 h; M- G* m& X1 w4 R3 D
#if __VER >= 15 // __BS_CHANGING_ENVIR
" q5 r4 G H+ z4 \0 W) H" t
if( g_pPlayer ){
5 G# B2 |4 O! G" x" E% S- ^) w) H
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
' V9 [7 Q8 [8 ^# B$ m
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
* ?) e0 b/ H2 H" s, ? H
{
, A' T/ `1 }3 Z5 B
if( pLight )
8 E5 j( D8 u' c! q H6 f
{
/ L; [( B/ [3 K* m' Q
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
+ J5 G3 j4 U# c, A' Y! t" p& X
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
- [4 g' P/ T1 k9 F7 r, }7 v
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
+ O B7 K% j; E2 i
`4 H2 m& k# K( T0 T
pLight->Specular.r = 2.0f;
% j; t+ o( B" a+ f" `* H4 a5 h7 K: B
pLight->Specular.g = 2.0f;
5 X& ~. B8 O' P! E2 T/ [( R5 t
pLight->Specular.b = 2.0f;
8 i/ D' g% H, P( q& M7 y- n
S) C% U$ V, Z/ n: Q; c9 r1 Q
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
- n6 y' P% C* O3 ^- q0 A. y# L
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
' L4 x$ x+ Q d. @( D
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
- y6 F y, r: K8 x
' z* s4 b* Z H3 W* D
HookUpdateLight( pLight );
( U. ?3 ?/ b& g+ b
5 h: i, P( }5 M
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# ^7 Q% O$ R" v# ~
, E, r/ R7 K: `: w2 r' w$ u9 q
pLight->Diffuse.r *= 1.2f;
0 q+ ?: m; p% f" b* Y& }9 @
pLight->Diffuse.g *= 1.2f;
: J+ j; J' H% @0 r6 M2 D% j9 [$ [
pLight->Diffuse.b *= 1.2f;
& W( Y! R" o, g+ \( b9 b$ @
! {% i3 |+ u! o% ]3 N
pLight->Ambient.r *= 0.8f;
% L4 R _; H& t+ h
pLight->Ambient.g *= 0.8f;
' P- N1 z$ \6 b; k7 ?' y/ j4 {$ C- L
pLight->Ambient.b *= 0.8f;
& \. t( b. {* B2 _; O6 L- F0 P+ G
, p# A) t% | Y) ]8 s, K2 p
memcpy( &m_light, pLight, sizeof( m_light ) );
, Y- d$ [, `7 c4 e
3 v* o: y5 H/ v
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
+ K% A' _' i q9 u
D3DXVec3Normalize(&(vecSun),&(vecSun));
/ D' h7 a3 h7 R* {( r$ i
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
8 ~6 d4 j& e0 D2 |# | c. i
pLight->Appear( m_pd3dDevice, TRUE );
# q3 ^. ~5 N3 k e7 r) v
# S' W% S/ J( `5 Q) L
DWORD dwR, dwG, dwB;
; J; X7 o3 R& ?; ^
dwR = (DWORD)( pLight->Ambient.r * 255 );
% [4 S; \1 B7 @* a: x8 D+ O& o
dwG = (DWORD)( pLight->Ambient.g * 255 );
2 ]- G! g1 m0 V! {$ P3 u
dwB = (DWORD)( pLight->Ambient.b * 255 );
3 R, N% R* H7 P; o
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 U3 T- w4 d9 N9 S8 z
}
( R* n! M0 k2 k; n- \- [% B
}
5 n% `: [+ n+ |
}
+ H0 i( ]" b% X4 z8 p: P; J" J$ F
else
+ p& L1 e, k0 X. a
#endif
0 H; a- H. p# V! h) f. n+ ^
9 S$ Z1 C0 W6 o& A
if( m_bIsIndoor )
: T9 i) X/ ~, L1 l
{
5 L# B9 M0 i) |7 B
if( pLight )
1 r. A8 C, N) t
{
, ?) }* I5 i) Y1 Y
// à??μ oˉè*
, b" j) o$ z9 `8 ^' V
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
% I+ o/ |% R0 H9 N. c
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
9 x2 H u5 {% v+ _ N5 \
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
3 D ]/ B7 \0 V: l+ C
7 @. @1 m. F% ?7 ~+ P# a" k
// oˉè* ??à?
5 l7 P3 J% Q; P" M0 @8 I+ P! ~
pLight->Specular.r = 1.0f;
" `( O! o9 |5 ~! ~$ a* q, d
pLight->Specular.g = 1.0f;
8 e6 h B1 w6 R9 k; q0 H' T
pLight->Specular.b = 1.0f;
2 j' l$ z+ e3 R4 C7 N
// àü?? oˉè*
1 t" W. a4 ~$ X+ e4 d) G6 v4 q$ y2 n
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
! p7 F! Y; _7 |: V6 J3 ]$ k
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
; @5 g3 z: g' G, D1 q7 T
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
- W q- q; m; M6 G0 h
5 k6 ]0 l: y4 {6 t, {% { g
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
' p" I7 Q" M' R9 }
{
# z j% y- i- m2 ?5 S) Q# ?
pLight->Diffuse.r *= 0.6f;
9 X; u7 ]- g3 E" g7 L
pLight->Diffuse.g *= 0.6f;
/ V* t; @+ S8 J
pLight->Diffuse.b *= 0.6f;
0 ~$ A) F& n# |6 \7 Z) p$ }0 F7 P! h
pLight->Ambient.r *= 0.7f;
/ W5 n6 O4 b. |" r$ L* z- r5 t0 }
pLight->Ambient.g *= 0.7f;
' Q/ I3 }- o9 e# U
pLight->Ambient.b *= 0.7f;
* ~3 U7 V$ I) T3 q& S$ U
}
+ G' D& X# p$ `6 h7 R
5 D* ~2 j0 j3 ]! A6 i
#if __VER >= 15 // __BS_CHANGING_ENVIR
9 L& c0 h, o' G9 N+ W
if( g_pPlayer )
! d* Z, ?, W8 c" W' B
HookUpdateLight( pLight );
2 R I$ z; f4 ]. C9 B5 @9 Y
#endif
# F$ s: l' F5 p& u8 o% Y5 q% D4 M1 ]. F
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
8 l# K# \6 o- ~& Q7 Y! g+ J
9 a% U6 e6 `% h# o, I
pLight->Diffuse.r += 0.1f;
: S' F4 w7 l5 T' N i! e& g; o# X
pLight->Diffuse.g += 0.1f;
# x* X$ k5 E a- ]9 J. P& V
pLight->Diffuse.b += 0.1f;
5 G2 x3 P4 ]! y! {8 n( p0 R
// oˉè* ??à?
7 R* u& s1 ^; i
pLight->Specular.r = 2.0f;
9 B4 @3 q5 F1 d+ w: t
pLight->Specular.g = 2.0f;
* f1 t% b' o# y# \
pLight->Specular.b = 2.0f;
4 g5 e* e0 |9 \1 ~. ^3 w
// á?oˉ
n# A4 q+ s7 r. T3 b9 L
pLight->Ambient.r *= 0.9f;
: W: ^( l6 a* X
pLight->Ambient.g *= 0.9f;
! v' H Z: r0 C$ b# p7 C/ M
pLight->Ambient.b *= 0.9f;
2 U9 ~7 i# n9 n& F
; }; l# |) ]2 N, d
memcpy( &m_light, pLight, sizeof( m_light ) );
( d8 I7 w5 B8 @1 R
% T8 v9 |+ H! O9 h! s
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
1 ~0 ?/ E0 k% U
pLight->Appear( m_pd3dDevice, TRUE );
% v* K; [# x6 t/ X; D' W
9 U$ l% o' x5 b8 i9 ?' X
DWORD dwR, dwG, dwB;
- F- ~; ^2 `/ C' w( G# I, ]/ H8 P
dwR = (DWORD)( pLight->Ambient.r * 255 );
8 \4 H$ m% x# x1 Y" x
dwG = (DWORD)( pLight->Ambient.g * 255 );
% Z+ ]0 F2 K5 b' a7 {! o. B+ F
dwB = (DWORD)( pLight->Ambient.b * 255 );
' c5 ~/ @4 X# n z6 F7 a, M
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 w7 m3 R$ {% A7 y6 C- ?
}
/ }' O' O: T4 @4 b& B0 j
}
- r" r) a! i' p0 C+ s8 W. K
else
' d# }. l( _" o
{
* x% D* s6 Y2 \
if( pLight )
" a) I9 S3 x! J/ v( R4 [
{
& j7 O8 b: ^& |9 }. I
, W: I9 u' a& u2 J/ n
int nHour = 8, nMin = 0;
% k' s9 Y$ x; X% a0 I
#ifdef __CLIENT
7 e. w3 e( [) U- T8 h; w( D
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
/ C! {. k# e* M+ I
nHour = g_GameTimer.m_nHour;
Q& v3 f: T& R. l
nMin = g_GameTimer.m_nMin ;
6 j/ }) b; A0 n# y; J
#else
. s9 P {! J; a' j7 W [: h
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
- k9 u- q3 f/ D, h1 a
if( m_nLightType == 1 )
, ?) ^* ?8 ^! p$ b& e# V) e
nHour = m_nLightHour;
: X' N V5 ?# z' z% ~, T. U
#endif
; S+ e) N. F+ Q1 n( X0 o
nHour--;
* C5 i, i7 x; z, O$ P
if( nHour < 0 ) nHour = 0;
+ Q# i5 T" D; f" k9 @
if( nHour > 23 ) nHour = 23;
4 ?$ ^) O+ j! A- j. w2 O }* [
" c( N' {) i$ v: x
//if( m_bFixedHour )
: c: ^ \- l* y3 z
// nHour = m_nFixedHour, nMin = 0;
* D( x1 y7 Z$ Z8 k# Y G( I p
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
; e% q$ c7 f4 M( V
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
) ~# n4 V b2 u# }4 \7 J9 h
' j1 [( S2 I0 i7 H
//m_lightColor = lightColorPrv;
! L: B. ~1 A A# G! W& ~7 s, P
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
! H0 b6 k) p! `; h# @9 H
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
& O# |/ ]' k1 m4 n
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
. P) v9 c' n6 a6 ~
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
8 q e/ X* [3 Z* N7 I( @! v1 S' c
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
& I* a3 L( c, B0 Q
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
/ i& T: D$ J" s; t7 Y
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
9 q7 V/ M8 N" X# y0 v8 o
1 [8 Q2 I2 U; [
// à??μ oˉè*
3 V; Q4 ~( O9 b1 s2 o
pLight->Diffuse.r = lightColorPrv.r1;
& `: V! k7 }2 P8 ~" o4 ?
pLight->Diffuse.g = lightColorPrv.g1;
d7 z K% V% j4 ?0 V& @. n
pLight->Diffuse.b = lightColorPrv.b1;
5 k1 G+ c. X- i' u
// oˉè* ??à?
! ]- ?0 O5 \! o* [4 K! \
pLight->Specular.r = 1.0f;
) S& X$ H0 z( J0 p+ Q5 v( y; n
pLight->Specular.g = 1.0f;
4 c0 ?+ @2 J; s, w Y6 {6 Q
pLight->Specular.b = 1.0f;
% L5 A+ t) d6 O3 D, ?2 Y6 Y3 c
// àü?? oˉè*
' T+ t. P5 L; u- V/ l
pLight->Ambient.r = lightColorPrv.r2;
) u, \! @8 ^$ x4 o' _; v
pLight->Ambient.g = lightColorPrv.g2;
2 _. A$ h. }: k; |' {4 t# e
pLight->Ambient.b = lightColorPrv.b2;
' o6 U/ p( I8 p! w
$ Z; j, s2 q8 e' @% \8 t O* w
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
, }/ n( n% D5 k- B4 k; f0 D
{
& U3 {; [; r6 ^( ]8 V' b& O9 H5 D6 b
pLight->Diffuse.r *= 0.6f;
6 s! _ q, R+ \* J6 Z
pLight->Diffuse.g *= 0.6f;
& o* }5 ~0 Y0 c* x
pLight->Diffuse.b *= 0.6f;
& s- f0 e0 m3 w. r
pLight->Ambient.r *= 0.7f;
5 n1 \; e, L6 {! M# h& l5 Z, [
pLight->Ambient.g *= 0.7f;
; v O4 W$ {% u/ G0 p' P2 X
pLight->Ambient.b *= 0.7f;
2 J: j, [' g3 S t/ _& U! G
}
$ x2 P6 ~6 T( }( K/ Q
3 J7 F- Q1 `9 E% ^) f
#if __VER >= 15 // __BS_CHANGING_ENVIR
" y8 ~0 \$ F' C; c2 p- C2 `
if( g_pPlayer )
: ?; ]4 `% P8 d& |
HookUpdateLight( pLight );
8 A# _! M& H2 z( G4 }. Z1 W1 [6 h7 G4 b
#endif
1 {, F, [3 f& u9 S! l
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
/ m( D" O3 H9 C- E
1 ~2 _, A. h2 _% v) F
#ifdef __YENV
) L- R! _- | R; q5 K1 U" D
pLight->Diffuse.r *= 1.1f;
0 U- e5 w2 c: @6 }
pLight->Diffuse.g *= 1.1f;
: ^% K1 F2 E/ x8 ?$ D
pLight->Diffuse.b *= 1.1f;
8 z/ H7 ?, s+ Q: c* e6 z
// oˉè* ??à?
/ m0 h' B) D* S6 n1 y! t
pLight->Specular.r = 2.0f;
) ?( D2 J- ^1 L H, {. w
pLight->Specular.g = 2.0f;
# @ p0 C, s. h4 s. m( ?" }
pLight->Specular.b = 2.0f;
, X+ X1 `3 ]5 t6 a9 D
// á?oˉ
# b5 T2 V2 W T* N5 k8 \: p1 [
pLight->Ambient.r *= 1.0f;
/ G0 N I( h" B0 {1 {6 E# G6 _, a5 f
pLight->Ambient.g *= 1.0f;
2 X& U! Q3 A( d8 m2 y: X0 [$ u
pLight->Ambient.b *= 1.0f;
' e# u, E& c& Q( q f2 h
#else //__YENV
! s. M8 D5 R! N; L5 C
pLight->Diffuse.r *= 1.1f;
$ v9 |. K0 T! U: O3 {6 _
pLight->Diffuse.g *= 1.1f;
. `) M* J% R+ a/ I! ]( W
pLight->Diffuse.b *= 1.1f;
k; M& ~$ k6 K8 O) [7 u( W) d; t$ K
// oˉè* ??à?
A! P4 X8 g% R6 J$ U8 d9 u
pLight->Specular.r = 2.0f;
0 l. r7 N! m0 c! v# U1 I
pLight->Specular.g = 2.0f;
$ {" _- O5 @' F4 B7 t
pLight->Specular.b = 2.0f;
1 y, z$ B! g% t$ f) q3 }% D
// á?oˉ
" y* H/ I9 s4 A+ `
pLight->Ambient.r *= 0.9f;
! E$ j9 _4 |; z$ H/ p& j
pLight->Ambient.g *= 0.9f;
2 t' |9 r" f. J! f1 ?1 _
pLight->Ambient.b *= 0.9f;
o3 l6 J( S3 m; T' q4 m
#endif //__YENV
: t6 B8 v9 f( W, B8 X+ V
" s! C0 F1 }" L
memcpy( &m_light, pLight, sizeof( m_light ) );
. t" [( R; f0 @
; Z$ O5 P, H: F" h7 \2 P- D
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
& |' B( q* q/ q! d8 j) H& s% p! X
D3DXMATRIX matTemp;
, _( w& F: f; W% R6 @) u- ~ i" {
static const float CONS_VAL = 3.1415926f / 180.f;
! {: p p( @% h( x% U I8 G5 g* H. o
# i; R$ |0 H7 U' a
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
# t8 K0 E, \$ Y2 |) j
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
2 _0 w) x: C3 \ C; ~8 ]- f
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
" Y4 X4 \1 \: X2 ^! T5 k# ?
pLight->Appear( m_pd3dDevice, TRUE );
# ?7 z7 r" C6 ~; \: N
9 T: J$ r2 g7 O1 I7 G1 r* E# e# J
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
% @ g2 D/ ^$ p M/ P2 T9 O# R
// D3DXVec3Normalize(&(vecSun),&(vecSun));
h- ]8 d: l* ~; ?9 n [ K8 P$ X
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
7 S9 Z7 F2 o2 J1 z5 Q! d. ?0 A
% J5 Y1 T: _' n
DWORD dwR, dwG, dwB;
9 y% C% Q: i5 \- {0 W
dwR = (DWORD)( pLight->Ambient.r * 255 );
) s% F6 N8 c4 |' B4 ?7 s; J9 G8 {
dwG = (DWORD)( pLight->Ambient.g * 255 );
0 X3 d; L" Q" v+ ?& Z% c/ V0 p& D5 J
dwB = (DWORD)( pLight->Ambient.b * 255 );
: Q8 i8 b8 ?: n- E$ N) V
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: B, G, b) V ?; q
}
4 l5 D5 L3 \, X/ z3 v
}
, X* K0 G3 k: J/ J4 k- p
. T) V; _! U0 W0 h9 i2 p
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
! i0 L3 d: l2 @5 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) );
, V, D* Z6 z( ~- g& b% T, y
::SetLight( bLight );
* _; q) o3 n: j+ I* G. e
+ }% b. v2 i" O& C
// ±ao? ?D?í???ó á¤à?
% S9 K- ~6 s% n9 s# C, G- L
m_pd3dDevice->SetMaterial( &m_baseMaterial );
+ ]$ }5 I7 M4 U
% F$ U; r* v6 Q4 m. M% @$ ~; o
#endif // not WORLDSERVER
0 a0 L, L8 u$ n8 c2 P+ M% k7 |. T' y
}
) p) f! P: b, m) ]8 Q' y! b
并更换
8 X$ _& o2 \5 B K, L
Code:
, K" O" L- U& |* B2 m8 ?
__FLYFF_INITPAGE_EXT
9 j% P& W8 w+ F$ Q- e" T2 d
定义
: X; S; x# A9 C1 y# P) V9 Z
+ m8 {2 W8 o" V& [& _6 \
& ~3 s( }/ s) t- |$ e- A
- h( p) [, N; J& F' `
' z6 i9 y" T* w ^0 B/ Y
现在终于删除我的狗屁加速...
# |3 Y1 Z8 y. o3 b
0 r4 ^$ J! e# d! o
* p& z, }" d# `9 a+ \1 B ?" }2 U- t
' I; S. a8 D8 J* R4 W( _5 s
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2