飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
0 E: g; r8 _ ?: y: D/ U% E4 i
尾翼:
1 r# ~% u( E Z$ L
- u" [2 v! V9 e# C8 v7 @: U- H9 {
代码:
6 O$ T! [: O1 O' N) W5 W" y/ H# K% R1 @
CWndAutoFood::CWndAutoFood()
3 }+ j D$ A) y# p/ }, ~
{
. t m- p' ^7 n6 p% A3 h+ k5 K
m_pItemElem = NULL;
( z4 a9 r8 P! {) V! E1 H: s; f
m_pTexture = NULL;
# Z% L: ]7 X. H
bStart = FALSE;
/ P6 H& R2 d2 F W: ?( l
}
$ C+ P- ^0 H) p0 u
2 f$ C/ B7 @* {* u! p; g
CWndAutoFood::~CWndAutoFood()
+ p( W/ t' D+ ^- `% v
{
! q( [: H3 M& e
AfxMessageBox( "AutoFood ist gestorben
" );
( F3 K5 T3 @% U2 p4 Y$ `
}
1 H5 ^6 S V1 m: k, Z
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
3 o3 q0 m0 w0 w5 e0 e% S
{
/ y6 k) {0 _# X2 E/ r
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
5 [; \6 B: n0 g, ]! A! _
}
: x8 F0 k: g! B3 n0 F0 c l
* H2 Q* _% E8 M* e) U' C
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
% {; r# Q* f5 o/ P, W' u
{
$ j. _# }* S+ f9 V) L
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
4 ]6 p2 ?$ i: k; G8 n* N
CRect rect = pWndCtrl->rect;
1 R* N( }3 N, \- }+ P$ ]
if( rect && rect.PtInRect( point ) )
0 c7 N; ]: e8 R6 U
{
$ ~+ l# |& V' l. o7 _! P
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
8 |2 Q+ U- N& A/ V2 }
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
+ d% m1 n$ g0 z$ I$ c- M: I4 `0 f
{
* G6 L; y% r$ j' q9 E, a U
if( m_pItemElem )
* s- I& j/ V9 H/ B* B
{
3 z: k8 I4 ~8 L" F; R+ }! D
m_pItemElem = NULL;
* s( t$ c7 b; |2 k# n: e: `1 m# v
}
0 X* z' k9 o' e k9 Q+ ?7 S; y
m_pItemElem = pItemElem;
! U. J* B0 g( I, M% F9 o7 K% T
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
4 `2 ~5 m! H1 Z% Y8 r
}else{
" a, b9 I# A0 S0 i" I
SetForbid( TRUE );
" X5 m+ r0 C0 P$ Y5 ^! e2 j
}
9 }. X; ]" \/ x8 q u& h. O
}else{
. E1 T$ x) J( F& _! z2 v: K/ F
SetForbid( TRUE );
0 V4 w' ~+ F: F+ v2 U6 l
}
7 U4 }6 n" L$ d6 y6 x/ A
return TRUE;
" [/ s+ @# l P3 Z( y% w
}
, l5 ^; W- k3 z0 }! Q$ \0 t% p
3 K/ V( a1 Y6 e# p) B* N
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
, j4 M5 X9 h0 Z% C' i6 w5 I2 q) ~
{
! e/ F2 z0 p0 S1 [& I% s2 G
switch( nID )
- }$ L( c$ U' ]' [ w6 y) D
{
% T( b# E% ?# }, p9 c/ k0 Y
case WIDC_BUTTON3:
" _4 B) i! p/ S- z2 B4 \
{
- C* a0 A% k O4 s+ I7 n% I8 D
bStart = TRUE;
; e. C3 l, E8 y& Q
break;
S) \ N0 Y. C
}
5 A7 D: l& {3 i) t' ~
case WIDC_BUTTON4:
N& f* b; Q$ q U& |- B/ w
{
+ n9 X: X6 A. w. H6 j
bStart = FALSE;
( A. I! c/ S1 K9 [
break;
* O S0 J5 |, K
}
3 C2 t: V) w1 \7 L6 K1 P+ ]
}
X0 f, t i, Y6 |% O
return CWndNeuz::OnChildNotify( message, nID, pLResult );
) X6 [& k; j: x- k% m
}
3 h5 _2 O g9 _
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
" J- T( l3 t! O9 p
{
/ G8 A/ k4 L3 [5 l
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
% l4 [- W$ s: a% y# }+ f
if( bStart || !m_pItemElem )
: t9 F/ B' X7 `. s U" [8 H4 C4 W
{
# F0 J* A& |% x% C
pBtn->EnableWindow( FALSE );
9 ~$ m% @3 p& V7 M, z( O# t) P
}else
# o: A* q0 _5 n v& U0 D
pBtn->EnableWindow( TRUE );
% _" U8 c! z$ U" C9 X" x9 u
if( m_pTexture )
$ l0 p* Z7 ? f) i/ W$ N( n2 A2 w
{
) l2 F; y$ |# [( Y8 Y
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
r' B0 T) p1 l6 E' e, W
if( wndCtrl && wndCtrl->rect )
5 c8 X7 c+ }# i; z6 Q
{
$ |: n2 k% Y& m Z. p
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
4 G3 p0 H( e# H! f* y. o, j
}
5 C1 w7 X H: V9 g1 |( O6 e
}
1 F K2 `% K7 g/ h
}
7 L/ E& x, y) b/ |& l, J
! [9 B- p. `0 g" U) @! B: ^5 T
BOOL CWndAutoFood:
rocess()
e' q5 t; e3 O3 V
{
8 z9 y' F& ^5 t4 h, N: }) l5 }
if( bStart )
^4 G+ g- I! G! P" R
{
1 Q) ]0 T. X) z2 G
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
. N, C% |8 X9 n+ R
{
! M1 R2 y% s5 G8 _1 E# d
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
8 A) b* Y# A4 y6 [
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
6 K3 s# q# ^5 S- R$ P5 f) T7 a
}else{
& Q: `& R) E) J! B9 U4 @# G' |
bStart = FALSE;
; C* t+ \/ a- `- b% n+ s
m_pItemElem = NULL;
6 v( @0 }( W# S2 p8 L7 M. m
}
4 M p) T$ D0 \0 V2 d& i
}
+ ~7 Z1 O1 \/ N( j
return TRUE;
2 E. x$ s! l& v# S& k$ v* J4 ^ I; S
}
9 n) S5 {( l. h% Z& s
; P# Z: o; o4 R, }: F; R( t
登录视频废话:
8 C, u6 T; l% n- q8 q8 _; Q: T+ m
尾翼:
5 C+ |/ B! A# g1 S* _8 g) m
% q2 n0 N9 D+ I/ j& q
代码:
; j( Z: p2 b _, I
) K" R n5 B2 D; s8 o
void CWorld::SetLight( BOOL bLight )
; _' c& V' J9 N5 n/ ?/ Q. E" [
durch
: Z: o) \0 w' e. K7 Z0 U+ L+ ~
Code:
+ e) f% R9 `2 G/ F- h1 ]+ R
void CWorld::SetLight( BOOL bLight )
4 {* L) _+ E. _6 K
{
) _% K& v0 }( ` O
//ACE("SetLight %d \n", bLight);
; [* |, U4 S7 c8 H
1 A+ N# U/ B$ f# d' y% t% I
#ifndef __WORLDSERVER
7 F2 b8 {9 q4 V9 X
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
2 ]% J8 p4 |* j- s
CLight* pLight = NULL;
% E: u" V; A5 V+ ]0 Y
1 X& M7 l9 k( U1 ]7 Y
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
8 ~0 H6 \$ X% _5 ]. r4 x
- @$ d5 [& @+ D1 }: }1 C& |# o4 G
pLight = GetLight( "direction" );
' u* ]- A% c4 f' A/ b% h8 ^
2 }7 s) M8 |* W( q# Q! U8 y0 q
#if __VER >= 15 // __BS_CHANGING_ENVIR
! t5 P! O$ b5 c9 f
if( g_pPlayer ){
+ Q1 Y" S' d8 z$ R% q2 e
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
0 U) ~7 R1 `6 ^( D1 u
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
* R# y1 F3 C* Q1 ?8 B ~: b
{
2 i9 f- t* R" ]- M
if( pLight )
% E7 c8 v0 c9 ^
{
# y/ D I$ `" i- b$ r3 B, i6 ]3 v
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
C* d7 j6 R# S1 i' k. K
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
; B% M! v" G$ X8 g/ Z: n9 n! p
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
. u$ n0 v+ D6 x5 D; j
; k. I" I7 r$ }; E: L N
pLight->Specular.r = 2.0f;
% ?- b1 s a" P+ P+ z. T5 p1 t
pLight->Specular.g = 2.0f;
- q! D4 p% R4 z: Q: M
pLight->Specular.b = 2.0f;
. ]4 n; A$ {' e; e
, K; X1 p' r" {3 c- M
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
. Z6 U6 p/ W) ^5 e# u/ x9 b
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
! }; y0 _8 X5 k) u; J9 ]
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
& f: F: q4 W v
( ?0 g4 X0 H0 l9 j" w- B( m3 z
HookUpdateLight( pLight );
0 e. n k7 ?$ k# }
! u" M* {: Q7 F1 C
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ x B. T; {; e: e' ^+ U
- R# N3 D5 w4 X6 J9 h/ |, ^# r
pLight->Diffuse.r *= 1.2f;
% n2 l' b9 S; a- o9 @ _
pLight->Diffuse.g *= 1.2f;
! c/ Q. P& w1 m4 X2 I, T9 v
pLight->Diffuse.b *= 1.2f;
8 v4 x. e3 N( w* S* p2 k; Y7 A- s
; V5 A M; B8 f6 x, W' k) }
pLight->Ambient.r *= 0.8f;
6 X: }7 A+ N5 F- ~
pLight->Ambient.g *= 0.8f;
! [+ u8 r/ Z) z$ P. S
pLight->Ambient.b *= 0.8f;
/ d0 N5 G, S, E* C
1 k2 _* n9 X' `' `# J3 {' o, a, |
memcpy( &m_light, pLight, sizeof( m_light ) );
1 _7 {7 @/ \7 M7 z
2 h: s- M! C1 {
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
; r/ `+ e6 c$ M3 ~' I1 ~0 q
D3DXVec3Normalize(&(vecSun),&(vecSun));
+ u9 G, e) h7 B
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
% p6 `. N. v% r5 U w" H- ?4 K( T
pLight->Appear( m_pd3dDevice, TRUE );
5 Y* r/ ?" I4 F6 \% S& E9 a1 B. ?
9 L7 e4 @* D5 {3 t& ?8 e
DWORD dwR, dwG, dwB;
$ m- z7 C. C" G5 ]+ W
dwR = (DWORD)( pLight->Ambient.r * 255 );
1 Q% t7 `4 c5 q3 `
dwG = (DWORD)( pLight->Ambient.g * 255 );
( b; z5 R6 X: Y
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ \$ Q; o1 _1 U% A7 n; t; G
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 B7 I: f* w& ~* ~
}
- g8 k# j' q( ] l/ b6 N" d
}
. K6 r1 J' J0 Z+ p8 F/ i
}
; I7 n' g6 A. |. q
else
9 R. ?* {+ f- p' o* P7 s6 }. O1 p2 x
#endif
8 @$ z) S& C& g' k% M0 ?# E
! b9 m2 B/ o$ y, A f0 C1 n% [
if( m_bIsIndoor )
3 y( m: i& a- ?. e/ \# g2 L
{
' N f/ F. r0 T! o z- ?
if( pLight )
4 r5 [& p9 P8 j+ P- j2 b) ~
{
& t+ a: y3 N& I- T# B
// à??μ oˉè*
- b; w5 ?1 K% u$ v) v
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
+ F- |# ^' |7 }: I- v7 S
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
7 z P& C( F7 ~. @" S8 l
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
! x0 n# o; T* }' |
& P R: f4 y/ i) ^3 q' {# o
// oˉè* ??à?
) d* a. M. G. [
pLight->Specular.r = 1.0f;
R ?* t+ u9 @# C/ O' F9 B( n3 E
pLight->Specular.g = 1.0f;
5 K9 p/ W% Q9 \- b# C
pLight->Specular.b = 1.0f;
- g; u3 l# Z8 S* M+ k/ ]
// àü?? oˉè*
% F( F4 A3 }$ ~" q/ _* i# W( s
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
/ Y$ B1 K; j" \; J- r2 N) B$ C }
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
, r6 j* V4 W9 i# U8 o6 j
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
; f, [' ]4 N' `5 }, ]# k9 F8 L
; F- c% y- b* t- [$ f. X
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
3 W( x6 h A% }/ t. h
{
+ k( k! s v9 h6 k
pLight->Diffuse.r *= 0.6f;
. w- Q! P7 b. H/ t+ C$ V/ l' Z
pLight->Diffuse.g *= 0.6f;
9 I# V1 S/ h/ o* m& r: @; B
pLight->Diffuse.b *= 0.6f;
$ q% l2 O, C8 g0 R# _
pLight->Ambient.r *= 0.7f;
! F2 E* W0 \0 r
pLight->Ambient.g *= 0.7f;
5 R( p" N9 l) Y; |
pLight->Ambient.b *= 0.7f;
z0 w+ P) m; l* I) I- [- c! r
}
# x' ]8 d8 ?0 G5 f
/ X& J4 a* q& ~ I5 A
#if __VER >= 15 // __BS_CHANGING_ENVIR
' m: \, s! ?7 Z1 Y) C
if( g_pPlayer )
7 x8 Q1 h, {- _
HookUpdateLight( pLight );
2 J1 m% G- }! F. ^% `6 J7 a
#endif
3 n. B' ?1 P4 ^
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
M- }5 P0 M% Y0 z
. |4 M1 [) @) C; z [+ z
pLight->Diffuse.r += 0.1f;
6 }* I9 y) x. i- ^7 `* {
pLight->Diffuse.g += 0.1f;
* \! ~1 S% f) Y
pLight->Diffuse.b += 0.1f;
/ B9 I. g$ z* R4 ?
// oˉè* ??à?
! R: k- V4 N. @' V! y3 b E( v
pLight->Specular.r = 2.0f;
j& r7 t" K+ ^# `5 q
pLight->Specular.g = 2.0f;
. f2 J# I8 q! a( }) V% j
pLight->Specular.b = 2.0f;
$ Z4 b2 c3 s5 Y( h5 r+ l) t- m/ S
// á?oˉ
% c9 d" k5 {4 f/ k9 _3 t
pLight->Ambient.r *= 0.9f;
- Z! R# N/ h" P2 N
pLight->Ambient.g *= 0.9f;
# T& w1 X, r& l- N K4 y
pLight->Ambient.b *= 0.9f;
9 z/ k- {! }' Y, ^6 H
# k+ q0 a3 J0 s: X+ Q$ n# d. e
memcpy( &m_light, pLight, sizeof( m_light ) );
: r* z; Q1 t# G9 W9 h! H: u2 J
* Z2 s! g2 V' [) v9 d/ M4 H
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
/ T" k8 ]. f" [/ I9 l, i. ?# \+ u
pLight->Appear( m_pd3dDevice, TRUE );
" P9 F4 T$ e5 X. |4 `* }
) h! r; W. s7 C, A/ r' v
DWORD dwR, dwG, dwB;
% ?$ }* P2 r6 U
dwR = (DWORD)( pLight->Ambient.r * 255 );
" y& h$ U( V" d( _5 g8 l
dwG = (DWORD)( pLight->Ambient.g * 255 );
; c1 f2 \) y) N( W
dwB = (DWORD)( pLight->Ambient.b * 255 );
" d- L. a" ?6 w' S. t- `4 O
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
j4 V9 l( \$ B, s( b$ G
}
% r6 W8 E# D5 h7 H
}
5 d% X- W/ K$ u d0 C, k
else
0 @% N9 k$ J8 ?9 j0 d; @5 Z
{
' U: E: w) o. I, S3 y6 o4 U# y
if( pLight )
3 T! v0 @( F P# e- U0 q
{
5 J% Z- s$ f* f4 w4 `5 J! z
: a8 n% s. @2 c2 s
int nHour = 8, nMin = 0;
# ^& L' S/ z* W! }1 e( t
#ifdef __CLIENT
9 `& Z! V: F5 c. N
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
8 K2 n$ \: D w! V; Q
nHour = g_GameTimer.m_nHour;
( k* W3 d$ O" y, r: u& w
nMin = g_GameTimer.m_nMin ;
3 C+ }% [; c# O- m/ C# i* H5 c) [
#else
) Q7 q! A# p( e( K. j% t5 ^6 S) {
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
2 v: N( X1 Q3 t/ B
if( m_nLightType == 1 )
, \5 W$ d5 `: q1 h0 x4 A
nHour = m_nLightHour;
+ v" w. j: A4 i7 \+ Y2 S+ O
#endif
" |7 ]+ [+ U0 L8 ?* T
nHour--;
5 K. |) W$ r* X9 F. x" i( j
if( nHour < 0 ) nHour = 0;
7 B4 r) C! V1 ?; @7 t5 U
if( nHour > 23 ) nHour = 23;
; g2 S4 N3 h/ M" p
; ^2 P5 m/ D2 M$ M
//if( m_bFixedHour )
7 l7 Q4 ^( g3 g2 k: M# ?1 g h7 f" g
// nHour = m_nFixedHour, nMin = 0;
& o( Y3 u+ g8 ]" T% {4 b
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
) @. M* h- B2 I) O( I
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
6 z/ X6 O# N/ c5 y- e- Z. {
, t0 Q* r: P: r+ b6 ]" [4 v
//m_lightColor = lightColorPrv;
8 n- @% ~8 s" @
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
/ y' w5 I3 S; k5 E1 c' ]
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
" @# P0 s9 u/ s f
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
( V# C+ m( u L+ y( B6 L( k, X5 p: }
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
D5 a8 H j2 s. j& R" D
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
! U# x' m( w2 C u& i
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
: h4 Z: H1 U8 m8 n8 D8 _
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
7 _; w: ]& e8 o$ m( ~
; Z: _4 p' w4 Z+ c8 E% }. q
// à??μ oˉè*
1 h$ ^! U2 x& J" ~3 Y
pLight->Diffuse.r = lightColorPrv.r1;
; x- x1 k$ E" V6 j9 M
pLight->Diffuse.g = lightColorPrv.g1;
8 r" X! `) O$ x& O% m+ w
pLight->Diffuse.b = lightColorPrv.b1;
' o$ k/ R2 @3 G% j! j% Z9 c8 U
// oˉè* ??à?
: U5 g. a& C1 U, M1 J' G
pLight->Specular.r = 1.0f;
3 F* E+ i3 X6 X; m
pLight->Specular.g = 1.0f;
2 I9 g6 Q$ Z8 X& x! |. L) y1 P5 s4 E
pLight->Specular.b = 1.0f;
6 f( G! G- L& B
// àü?? oˉè*
, @ I: {, h; Q0 H" L$ h
pLight->Ambient.r = lightColorPrv.r2;
# c( n1 t4 }7 Q( K6 O
pLight->Ambient.g = lightColorPrv.g2;
* ?4 a4 p5 ?0 T
pLight->Ambient.b = lightColorPrv.b2;
) T' d8 |# w- c3 A, Y0 x
& p% y7 A ~ a' P
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
; A% ~* d; A/ ~1 ?' V
{
; f1 a G' ? \& X- f
pLight->Diffuse.r *= 0.6f;
! |7 l" }# Q# I4 H! k2 I
pLight->Diffuse.g *= 0.6f;
: A% y; u, [# `' D
pLight->Diffuse.b *= 0.6f;
1 \* r7 y9 M& \) r* ?
pLight->Ambient.r *= 0.7f;
% t; z6 r7 ?, z& O8 w
pLight->Ambient.g *= 0.7f;
S' ?- {& A% M. D+ L' d
pLight->Ambient.b *= 0.7f;
1 D9 E* P9 F4 }2 ^
}
& `! W4 h3 g6 K3 d4 m. u5 g3 \* J: S2 T
" \9 g. f) t( o% I, h
#if __VER >= 15 // __BS_CHANGING_ENVIR
( z( F; U! F9 U3 l" h
if( g_pPlayer )
( {3 O, m5 ]3 e/ a' d
HookUpdateLight( pLight );
7 I. M+ u, [" M3 r
#endif
5 j& R; U3 e; ?0 t/ o
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
9 z' |" }1 t" z: p0 ?+ V3 E
3 s. n: P1 [: k5 b
#ifdef __YENV
1 f) s0 `. L$ R X, B
pLight->Diffuse.r *= 1.1f;
% z1 m+ w) c1 P$ K
pLight->Diffuse.g *= 1.1f;
: j9 r/ J+ `+ C& d3 ]0 n. `
pLight->Diffuse.b *= 1.1f;
5 Q. [0 X1 Y5 X! l& k# X
// oˉè* ??à?
+ w k+ a$ m* T# Y6 g
pLight->Specular.r = 2.0f;
6 n1 W9 G/ R% D- r. o+ m
pLight->Specular.g = 2.0f;
: b7 u# J! W- W$ F, U# p: ?
pLight->Specular.b = 2.0f;
0 N4 ?0 @9 g [' Q3 b
// á?oˉ
' b/ Z# K3 b; U% ]
pLight->Ambient.r *= 1.0f;
% T! P( U4 B v; _; R/ H3 F
pLight->Ambient.g *= 1.0f;
f* n. u! z3 l' K
pLight->Ambient.b *= 1.0f;
& C4 h' }7 Z% o& _
#else //__YENV
|6 r& l- \5 g5 p5 ~8 t
pLight->Diffuse.r *= 1.1f;
7 T( b! A* Y3 D( W+ z5 Y
pLight->Diffuse.g *= 1.1f;
- E" H, N: }2 @4 K3 P0 K
pLight->Diffuse.b *= 1.1f;
2 l2 X. G& J* N
// oˉè* ??à?
$ t4 Y& h- d) w" Z/ f* Q. o
pLight->Specular.r = 2.0f;
% f& Y8 P% p' y/ ^ M2 h+ q
pLight->Specular.g = 2.0f;
0 c: O& S) z" Z9 l, r
pLight->Specular.b = 2.0f;
, a2 G( j% _# I4 o& Y: F" Y
// á?oˉ
2 U; X% E1 Q0 H9 q
pLight->Ambient.r *= 0.9f;
6 Y7 B, L+ ]$ i f# s( A9 j# U
pLight->Ambient.g *= 0.9f;
7 x8 m! M; a3 g. u! [6 N+ g; f
pLight->Ambient.b *= 0.9f;
" D" Q& g+ l" q# C4 u1 r
#endif //__YENV
7 X0 e* ?& b# A$ i: Q- G6 y: G6 r- ?
9 o/ a# E7 J1 I2 D
memcpy( &m_light, pLight, sizeof( m_light ) );
8 e" W; l8 ]2 r9 v
8 w1 W( j2 E0 s+ t1 b! z
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
1 W! U1 B9 |8 X1 d) [) J3 D
D3DXMATRIX matTemp;
$ T1 g( A2 a6 h0 M# X, _
static const float CONS_VAL = 3.1415926f / 180.f;
/ U" N( A/ ]! Y9 N! N1 g8 z8 k
2 r$ d W( u4 Z; k. Y
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
9 {2 [3 `" Z1 ~, P* h7 \
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
0 o+ v) o# g. X$ _1 s- G
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
: @4 @" j# y7 n
pLight->Appear( m_pd3dDevice, TRUE );
, q7 `( n( M. h$ x4 A
: d1 {/ c2 ^1 z: L
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
+ e2 E; u6 `# ?- F) Y
// D3DXVec3Normalize(&(vecSun),&(vecSun));
. a D* A- _0 C' {" i8 r+ ?: f5 m
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
% `) `8 ?8 K1 o
5 F% E9 L `! t3 r4 d
DWORD dwR, dwG, dwB;
: |& p; Y0 p! g: \" S2 ?/ w" m r
dwR = (DWORD)( pLight->Ambient.r * 255 );
9 y; s9 O, z! D2 v2 O
dwG = (DWORD)( pLight->Ambient.g * 255 );
+ v4 R; L/ a; b- o
dwB = (DWORD)( pLight->Ambient.b * 255 );
3 l0 {: w9 k' y0 n) g" V: Z
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 j r2 j% a2 u- D5 ^3 J: h
}
! Q, o8 U( J1 x) j6 W3 B3 T
}
/ C, j% o# l" K+ \2 y8 r
3 n; J" i9 `8 T u% U
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
- K4 |! i2 X* A! |+ h; g
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) );
* A h4 N+ O: \* L. ]
::SetLight( bLight );
9 C4 h( v2 x3 s; Z
3 [% Q5 V7 L" ?
// ±ao? ?D?í???ó á¤à?
: v; F* l. N% D7 f- d i. Q
m_pd3dDevice->SetMaterial( &m_baseMaterial );
8 L& ^* d0 A* K* P" A' W; v' ?1 X- }" q
% E0 ^- S* v& w3 ^/ V+ {+ v
#endif // not WORLDSERVER
+ Q( j: e9 M! {
}
; G3 ~7 W5 q6 Q
并更换
( S1 J" C5 f, ?" t2 K! B
Code:
Q0 @$ L/ p2 a
__FLYFF_INITPAGE_EXT
3 e$ N: w* ?1 q* e) V
定义
1 t7 k/ R- }& D. o, M l
! M; y3 b6 p1 R: [! Z$ S! A3 _8 r
5 r1 `- _" |: S: J9 Q
+ R: r$ F3 m/ b5 l
0 W+ \7 z G) ?$ K+ X
现在终于删除我的狗屁加速...
6 \ n* m6 z% X
4 o# P# m6 C- `
3 m" m! f) y+ D; ~/ R: D0 W# X
6 Y% \3 a0 @/ ^5 F4 R: f0 Q& f" D
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2