飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
) ]. N0 y% j3 D, l0 E. P% o
尾翼:
9 e8 e# w' e( R. n7 s+ D5 Y
% b2 c& ^" B9 C/ f: @
代码:
9 a$ K2 v% \1 a
CWndAutoFood::CWndAutoFood()
: }% W1 F( S' [& S# a0 O; X- ?, [
{
# H# o. w: `# F1 u8 E P: t
m_pItemElem = NULL;
$ X" W7 m3 o$ G% Z) r
m_pTexture = NULL;
& f) c. Y& G' S
bStart = FALSE;
7 m( c u1 D* w. D8 |( _# B
}
8 w0 X0 o* h/ z( u: R. ?. P3 p
6 k) M# h2 G7 p6 g
CWndAutoFood::~CWndAutoFood()
% z" L- A3 O4 q: p7 N
{
! h. |( e; }4 _4 A4 W
AfxMessageBox( "AutoFood ist gestorben
" );
$ u: m/ e o" r! u* ^, Y; A
}
2 b7 v6 e) B3 R
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
4 K7 F6 t! ~" ^) d
{
* b) H z, K4 q+ b; T7 d
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
& g9 l6 P, f Y; Q; B9 d
}
& m! F* P4 S3 Z8 t
- r$ F4 x; }" G$ A, n, o% R2 q8 C
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
5 e' h6 H! @* o0 U4 P9 ]* ?
{
. F; B5 [; f* c
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
* ^% N' z5 W3 B( o5 c
CRect rect = pWndCtrl->rect;
+ ]: \& J# w, ~ o
if( rect && rect.PtInRect( point ) )
) e0 D/ F+ W# u: {1 j
{
6 ?4 u8 D& j6 z1 V- U
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
1 ^/ l4 F( d5 w' f# f
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
/ |: ]/ |2 [; t
{
9 I; a' H$ w- L. y4 C' N( D% o
if( m_pItemElem )
: C9 v) M5 y/ D6 p. F7 o+ a
{
6 X! n1 q" |/ _2 n
m_pItemElem = NULL;
& j j- ?% R6 R
}
$ V/ M2 p! w1 }
m_pItemElem = pItemElem;
- m+ A& g2 T8 c0 G
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
5 |0 V, Y3 {* q+ D. k
}else{
H$ _" @* V% C/ t( [5 t H
SetForbid( TRUE );
x4 w" j. h1 v3 P' v5 {3 n3 O
}
8 }, `; M$ Z! T% w
}else{
( S4 e9 O; {/ o
SetForbid( TRUE );
( `, v. h! i" O( g3 [) N
}
/ [ r" U& s3 V3 y
return TRUE;
L. {9 I) T1 M7 E
}
% n% L) o+ F/ c. D# l' T* L
* A7 t. f Z0 C5 ^
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
7 P& s: h9 i. ?! T, P
{
5 @. [& Q+ ^$ _ W& Y
switch( nID )
4 o3 C z+ N! N, D9 i6 ~* E% A
{
8 d/ F6 b d. G4 W: L- Q% S
case WIDC_BUTTON3:
: U7 u( l' i; c1 \% J6 O+ C
{
; v) h# b1 s: V! R
bStart = TRUE;
{4 N9 @& k& Q! L8 _
break;
% ?' `6 T8 {# b3 |4 C% Y b1 m
}
3 T7 L+ P* ~+ K8 t
case WIDC_BUTTON4:
: e# T; o$ n0 ]4 c2 P
{
L; U8 D; f$ {/ b$ s0 c/ ]
bStart = FALSE;
G8 z& w9 M/ h) L2 j' B. P7 A
break;
" i% o* _0 E! O
}
3 ]* K6 _! o4 t( ~$ n3 t7 |5 n
}
' D- p& M% S% [5 N" H
return CWndNeuz::OnChildNotify( message, nID, pLResult );
/ Z5 F6 A+ z( m% z0 p
}
4 A+ |8 ^! C. _
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
& q8 X* \( }* O3 A
{
5 n* M7 L+ X4 Q1 R+ o& A" S# [5 W
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
5 |+ F/ Y+ ^0 }6 ^ S
if( bStart || !m_pItemElem )
$ \7 R3 v. w; S/ L6 u5 s. z
{
/ _& T) C' _" i- d7 v# b
pBtn->EnableWindow( FALSE );
( o6 C5 Q+ D9 o, H7 O, f6 I
}else
+ S! s: @ ^" F) l' \+ B
pBtn->EnableWindow( TRUE );
+ u7 y9 K4 |" m( l
if( m_pTexture )
( I: k: }6 H8 F5 h7 x3 A+ V
{
) d3 Q, O- w1 n# Y c
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
8 o b8 }: X7 `, w
if( wndCtrl && wndCtrl->rect )
, g8 X4 w/ l( @% u6 u
{
8 b' k. l8 e; {' b
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
. T4 R: B, n0 l% L; c9 b* l0 a
}
4 D' B j, P: S1 x' h1 A
}
+ s, l) c3 F) L# D
}
1 A( q& r; h" L" p* B' A/ U
H5 O1 n1 a: F0 w
BOOL CWndAutoFood:
rocess()
: l# w0 k% c* u
{
6 f0 ^% g: s2 J: G/ j
if( bStart )
% Y: Q- U/ Y. a/ h: T N
{
; I! o0 I) H; J9 O- _% r* U9 J# [
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
' B4 j/ d3 G$ O3 {9 B2 j
{
. k! i5 R* M X$ p1 W8 q* f
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 E8 M$ P2 x& p3 `/ K) F; c" w
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
( s5 f4 h8 j9 i6 I, R; u! O
}else{
% L7 L" @1 H+ O, I* S
bStart = FALSE;
. p1 ~; T2 M" c: I% P- {
m_pItemElem = NULL;
/ `9 J8 m# `% g
}
8 ?# C6 x; d( z$ N% H' g; t
}
# Q# I+ x" D! q! i% y% ~
return TRUE;
, h' b" [6 P' s' H9 T ~* D
}
: x3 A4 ?# X1 M. ^
1 L+ [- X) E! `; \3 w6 s: U) I: t' M
登录视频废话:
, i$ J, g% t5 B+ I' ]4 u* J
尾翼:
0 H1 c+ q2 e0 _. |+ ~3 x/ |
& d# s6 M" y7 J. r" {5 X$ ]
代码:
6 l$ e; t, E$ Q5 |) y. c8 ^
. g) G4 Y/ w$ z- E% D* {
void CWorld::SetLight( BOOL bLight )
5 D- {7 p$ `9 z% `: j/ }2 v
durch
5 y. v( @7 B) |9 q' y: }5 G
Code:
; H/ W! q3 ^: G/ g5 c
void CWorld::SetLight( BOOL bLight )
0 K! Z/ A. e. _. F
{
/ \5 m3 P2 u1 y- x; O. g1 W
//ACE("SetLight %d \n", bLight);
, b0 E5 y t, o7 P: u% }# j
* P& l( F$ w. [% ?2 _4 m
#ifndef __WORLDSERVER
5 v/ ]- Q$ m! R0 B( q$ ~' y
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
1 I' K; e9 g: p+ {+ [% v' z' Y
CLight* pLight = NULL;
( t3 s1 M# v1 k3 o! l% H. I7 i& L- ~* F
. a% E) S& t0 B5 C4 j
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
4 p+ h1 Q1 Q2 X4 q, q! W& @
' \! R# H- D4 y
pLight = GetLight( "direction" );
: ]" {7 }1 V! f2 D7 B) [: D! U; O
3 [8 \$ B; _/ m M& O6 t5 ^' v
#if __VER >= 15 // __BS_CHANGING_ENVIR
7 a' _4 ^3 z l
if( g_pPlayer ){
- P$ q/ V9 s3 j& Y5 d) {
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
9 Q2 Q$ t( A+ y# Q% c5 C2 I
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
) J5 S3 y* T( o0 t" v
{
) ? F0 B8 Z/ o; q+ x( W3 ]0 n
if( pLight )
+ X( I q' [( h3 d+ [. a
{
$ \# R, j6 e! g7 i) P8 m
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
: c7 b1 \7 q8 _0 o
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
# ~* ?, v% v+ k u3 R4 z3 N
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
" A- B# o' G, l% A* n) {
7 ^ K* |0 o; J
pLight->Specular.r = 2.0f;
5 Z7 ^' H/ p" \0 N# {
pLight->Specular.g = 2.0f;
) y) R2 A# ~) O0 p/ Y* K
pLight->Specular.b = 2.0f;
, M, s6 |' ~- j2 \6 [8 R
. o9 o# i+ @- B) v' h+ g) E, l8 G
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
x. @( b% A8 o
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
* @ e& U+ [8 ]3 b- c& ]" V
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
( k2 Z! @( @" b' W4 l
! G7 L! {. u6 H/ y
HookUpdateLight( pLight );
) l0 f4 E: ^. G- v; O S- W7 u y* Y
: l* K( E Y" L5 L, Y+ s
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# q; o5 ?3 ~2 ]1 p. ~- ~7 B$ b
" F) Y" K# r- U3 V8 h% _
pLight->Diffuse.r *= 1.2f;
5 m5 k* V# w9 b; a& l
pLight->Diffuse.g *= 1.2f;
7 w k% W4 B+ T. Q5 f
pLight->Diffuse.b *= 1.2f;
@* W+ q* F4 B& W. W9 F
7 m, g. i( x1 C4 q0 S; h: m6 W: P
pLight->Ambient.r *= 0.8f;
: o) h- c9 n9 Z
pLight->Ambient.g *= 0.8f;
7 a+ k! w* }4 q$ E. |9 O
pLight->Ambient.b *= 0.8f;
2 ^ ^! r* F E6 [4 q. P( |
: L- y) z f6 ?
memcpy( &m_light, pLight, sizeof( m_light ) );
* Y! [ t( P8 r0 @
7 ^1 o3 t2 D$ w2 O+ @7 R# |) k0 R
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
8 j# k* }5 p" S5 B
D3DXVec3Normalize(&(vecSun),&(vecSun));
5 V4 S% J% @5 |. D Z7 s3 x/ G; ]
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
8 x1 U9 ?6 {+ B; v! Y
pLight->Appear( m_pd3dDevice, TRUE );
! O) D* U2 A5 d- P: o. s
( E6 |7 m0 G5 x; L
DWORD dwR, dwG, dwB;
- k9 B- V0 s) a" F
dwR = (DWORD)( pLight->Ambient.r * 255 );
2 F" e) O, P% Z( w3 p; W/ ^( w
dwG = (DWORD)( pLight->Ambient.g * 255 );
- g. B) m8 N: ?; U5 f
dwB = (DWORD)( pLight->Ambient.b * 255 );
1 `) ^8 F& n% \
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 P) }+ R |% U
}
5 k: _' C7 r5 w+ n2 i: J
}
. L) e1 Y) w( P m7 s
}
6 ?7 k# e, t: V/ _ B
else
1 i/ O# Z& @) b1 X
#endif
9 s4 n5 r9 x$ M6 P
- f6 S5 R1 X( y7 B5 A" X8 J) C
if( m_bIsIndoor )
2 Q R0 x2 V4 {9 S0 @+ c/ d
{
- p- g1 ?$ ]" m( `4 I |
if( pLight )
9 j x, \7 |+ p# p' f c* F( K
{
; q: S8 n6 |: T% U+ H. ]* F/ P" U- f
// à??μ oˉè*
8 ~' ]9 ~7 z. W1 J6 U
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
( b% m, _7 x2 Z+ {4 H/ j
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
4 P! L" i% _4 Y) |1 D% t: a
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
; E, q) @( }. P6 m$ [ |/ \
0 u% N! J- t4 m
// oˉè* ??à?
7 p) D8 {! k5 |' [% d0 E) a
pLight->Specular.r = 1.0f;
7 E8 i' I! o- \" H
pLight->Specular.g = 1.0f;
1 h0 E u* Z& V! ~! W
pLight->Specular.b = 1.0f;
% L9 }, z( y( r5 C
// àü?? oˉè*
1 n8 j+ p0 @( A, c8 F
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
- c+ p* O" a" G9 v
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
$ }; @$ ^2 x; y4 r
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
: s. l! {' T' A6 k5 H
9 \ g. I! n0 e: O9 O
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
^: Q$ @2 y7 c$ `; t& ]0 S& D
{
1 k: r9 H- J0 T# J
pLight->Diffuse.r *= 0.6f;
+ m; Z5 `, b' v; s: H w# Y/ P
pLight->Diffuse.g *= 0.6f;
9 o/ Z5 ~2 O6 j! q; n/ V; P# |* c
pLight->Diffuse.b *= 0.6f;
- a' g" y7 s5 A# l' l' O# R; R" ~
pLight->Ambient.r *= 0.7f;
0 M3 ]8 z- J2 K$ y: e& `2 H% Q
pLight->Ambient.g *= 0.7f;
' C3 E8 O" |7 @4 B
pLight->Ambient.b *= 0.7f;
$ j; L' N: ]9 ^3 Y
}
) \* B8 x9 t) c3 ?
6 _5 _, m: P4 l5 W
#if __VER >= 15 // __BS_CHANGING_ENVIR
! V, J' B& \! P) l( g: n
if( g_pPlayer )
* J# j8 n# V: h$ V& G
HookUpdateLight( pLight );
1 ~9 C+ D/ r+ x2 _1 J
#endif
' D3 @5 G2 K- H
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 Q9 r: M: c4 J& A& Q, o6 w1 K+ i
" Q+ i0 k, z6 j1 g7 ?
pLight->Diffuse.r += 0.1f;
- P. V+ H! }1 v# X
pLight->Diffuse.g += 0.1f;
5 b' G2 t8 g. Q: R6 @
pLight->Diffuse.b += 0.1f;
# T3 L5 H3 R+ {# d* k2 E& d3 i
// oˉè* ??à?
1 \/ A( t) a$ E! h3 b3 ?$ X) v
pLight->Specular.r = 2.0f;
# v' j' U- N- {5 O
pLight->Specular.g = 2.0f;
0 a1 M, ^ |2 }
pLight->Specular.b = 2.0f;
" L2 Z/ G. |, N& C1 m' {2 w
// á?oˉ
5 ]! [ N! A* g- O
pLight->Ambient.r *= 0.9f;
, o! u) O0 V a6 O% J
pLight->Ambient.g *= 0.9f;
7 z/ K& K/ I# k) G% w: y+ D9 {
pLight->Ambient.b *= 0.9f;
( Y: q$ Z" T9 {! U# B( B! u
5 j# O# I6 F- n0 ?3 C
memcpy( &m_light, pLight, sizeof( m_light ) );
& k! w, g. m1 r# c! n0 @/ I
! |* G8 b! v. M" I' y; V
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
7 Z/ n+ b; ^8 T/ x
pLight->Appear( m_pd3dDevice, TRUE );
+ P1 ~' z1 H* x
4 \. G8 Q4 K- }1 z2 g
DWORD dwR, dwG, dwB;
( \* _% k5 |/ k& ~, m6 p' K
dwR = (DWORD)( pLight->Ambient.r * 255 );
' R. q, A7 k' y! w
dwG = (DWORD)( pLight->Ambient.g * 255 );
8 o6 H* Y) ?1 N! x* ~
dwB = (DWORD)( pLight->Ambient.b * 255 );
8 k4 [, M, l, x/ ~0 S8 E: @
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
, U0 T/ G4 U1 D9 P
}
' A- h# T* C, K! M! V0 }$ c
}
, g. W1 X) a7 u% |
else
( k! s. p: G/ ~% W$ a9 ?5 F
{
8 N$ V' k# _7 e! u- m
if( pLight )
7 G0 q! x2 z3 V6 V
{
9 T' R) j% K3 N, R2 h# \4 z2 q
4 c, K! K9 L+ A% U T, H
int nHour = 8, nMin = 0;
$ i+ ~' K! s. q9 p# u; `$ @
#ifdef __CLIENT
' f& O8 w) k$ u1 G, L
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
% A9 l9 I- q. J2 Z$ U. g: S/ `+ [
nHour = g_GameTimer.m_nHour;
6 D( m: u# }/ ]* {! @$ ~3 `5 e# |7 q% |
nMin = g_GameTimer.m_nMin ;
* q" u4 [ x D( R8 c& Y
#else
' I/ u: X5 x$ ^
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
9 l$ `) \: f$ O5 C- S
if( m_nLightType == 1 )
1 E( Y2 ^2 [. p+ }: I
nHour = m_nLightHour;
3 q( ]7 X7 h/ Y! e A
#endif
% v) D5 r# ^5 T: A4 j" w
nHour--;
* w$ a7 l. q2 w2 p
if( nHour < 0 ) nHour = 0;
* w9 x& Q- o! o# f' \
if( nHour > 23 ) nHour = 23;
" i: K4 O; A. R" O& L# ]& S
2 o1 g# v4 |/ U6 v2 L8 k' d5 A
//if( m_bFixedHour )
" U* m- m) q% _2 d1 {
// nHour = m_nFixedHour, nMin = 0;
* y3 Z2 Y/ S4 ^( o6 e
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
7 g- N! z0 k- c8 ?0 X
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
4 J7 e) Y6 O& R a- Q
7 e- Z$ o" ^9 N
//m_lightColor = lightColorPrv;
; P& ? u r2 r+ c
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
* S$ \7 K8 d* |4 _
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
. R) g, K9 E0 l% A* s, Z) Y
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
: c* P; M5 S6 @. m* @8 o
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
8 G- @/ M3 F4 N; V& `' R) n
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
- D, f/ Q# J$ V) g* T" h. W
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
1 l, y k0 _, d+ ^; I, w
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
, b [( D+ Q3 `/ f
1 q/ N6 T% P O) L
// à??μ oˉè*
! b; |0 I; N9 D1 Y" K
pLight->Diffuse.r = lightColorPrv.r1;
( z& @+ \: x3 b4 K$ v% E8 M# @- U2 m% H: _
pLight->Diffuse.g = lightColorPrv.g1;
" k5 K8 a5 T: n' y( C
pLight->Diffuse.b = lightColorPrv.b1;
' z* F/ t5 K! U, |3 B
// oˉè* ??à?
. p* T! S R$ l& h
pLight->Specular.r = 1.0f;
- \* S( {8 D, }+ c
pLight->Specular.g = 1.0f;
# ~- Q5 b2 K5 Z# t7 ]
pLight->Specular.b = 1.0f;
6 l1 w5 j: Z: T/ M' s
// àü?? oˉè*
) ^! v3 i7 F8 p4 _% k. l
pLight->Ambient.r = lightColorPrv.r2;
1 t5 I. O% l. u. u& N7 P
pLight->Ambient.g = lightColorPrv.g2;
6 T$ A) s/ ?$ @% ]" i' T
pLight->Ambient.b = lightColorPrv.b2;
5 Z- B) Z- F! O* ^3 O. a7 }# c* b
b, |4 {/ N. @6 O8 h# z
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
9 D/ \! Q) ~6 r4 l. R" d
{
% ~; l$ _: X( u# U
pLight->Diffuse.r *= 0.6f;
& [6 s7 p/ I. o5 `7 u P
pLight->Diffuse.g *= 0.6f;
. U% f6 M9 x* a3 f* U( E$ K( g
pLight->Diffuse.b *= 0.6f;
5 h9 Y3 a% a& H, P) C
pLight->Ambient.r *= 0.7f;
8 }5 g y. D5 G& @2 L
pLight->Ambient.g *= 0.7f;
6 c& D' M# M% N* E
pLight->Ambient.b *= 0.7f;
: g. r& K) t# E% x' L+ v
}
4 a* F, }: ]9 Y9 t5 }
1 H: Z& I6 q5 `3 R+ Y
#if __VER >= 15 // __BS_CHANGING_ENVIR
6 g6 W8 W8 t& H7 Z
if( g_pPlayer )
' ^+ S8 P* E* `0 h3 f/ z1 M
HookUpdateLight( pLight );
# d9 D* X0 a+ O% c3 B: q5 b! H
#endif
9 n+ o/ y% d9 Y8 k1 k6 I) ]: L2 Y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
: {: F, f; C# H1 S0 u2 Y2 I
( H) t! t5 w' a, b
#ifdef __YENV
1 ~6 w( L3 J3 N3 n* Z9 S' y) {3 E
pLight->Diffuse.r *= 1.1f;
a. A' Z3 L8 ^3 g
pLight->Diffuse.g *= 1.1f;
( Q8 ?8 |4 e V3 T( b1 [# X2 J
pLight->Diffuse.b *= 1.1f;
4 |7 b2 C. e6 Y6 R9 j
// oˉè* ??à?
( P3 f' F+ g9 X, b+ m
pLight->Specular.r = 2.0f;
5 l3 A6 C7 `2 g3 ]
pLight->Specular.g = 2.0f;
, @" v7 V3 n2 u4 _6 {
pLight->Specular.b = 2.0f;
% D. a0 T/ m; }8 t$ R8 z( r7 [+ k9 t
// á?oˉ
, S4 c6 k" Q8 F9 g8 R1 `
pLight->Ambient.r *= 1.0f;
' `5 s, q( z/ L( M x
pLight->Ambient.g *= 1.0f;
3 P2 p% H5 K3 G5 H ]9 `0 S
pLight->Ambient.b *= 1.0f;
: P9 Y" ]& l8 L1 ]6 h
#else //__YENV
3 n6 J& @6 K5 L1 m$ W
pLight->Diffuse.r *= 1.1f;
. H$ [* V* c2 g9 I+ G; t7 [
pLight->Diffuse.g *= 1.1f;
2 q9 k! E/ t" S4 ~- W; L
pLight->Diffuse.b *= 1.1f;
+ r- k$ X4 r+ r5 f! [2 k7 K, ?$ \% F
// oˉè* ??à?
9 F6 w) x. ~) d4 @" \
pLight->Specular.r = 2.0f;
# }3 S$ T( U9 h" }: W
pLight->Specular.g = 2.0f;
+ L7 l/ C: g5 J) P. x
pLight->Specular.b = 2.0f;
( q0 Y& Z* \& a! \8 s: k
// á?oˉ
1 }& {; h1 ~2 \% P+ ~6 l6 m9 |
pLight->Ambient.r *= 0.9f;
% f @% P' E' x, p
pLight->Ambient.g *= 0.9f;
0 I9 B" d% V, Q
pLight->Ambient.b *= 0.9f;
& Y' K# r* A9 R7 W( ]5 U& g
#endif //__YENV
6 P9 t# s& O: H. B, j; ?: v0 \+ k+ z
0 e, w4 O. D$ K% _- @
memcpy( &m_light, pLight, sizeof( m_light ) );
0 w. P6 s9 l/ m: W5 a
6 F; d' R- O8 n1 q! B" e9 T
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
0 y5 d" j* d0 m1 b4 o8 n3 N7 i
D3DXMATRIX matTemp;
+ S9 i6 }% r" ]
static const float CONS_VAL = 3.1415926f / 180.f;
8 ]& u8 L8 S3 k5 C! A" t1 ?, F
; A* n6 m7 M( U- ?% i4 K
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
) r0 l6 G/ a3 l# b+ Y7 k# c
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
% z6 K' @& u* M6 b
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
8 {2 p) g/ G+ o$ c1 }0 v$ v
pLight->Appear( m_pd3dDevice, TRUE );
; u- @9 _* Q0 @0 Q5 K* y
0 L. L# e) R- x
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
1 e) W' {* F8 Q4 D7 A- ^& Y4 e
// D3DXVec3Normalize(&(vecSun),&(vecSun));
1 T d( L' v1 n9 u1 v
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
- `+ b0 z) H3 `& z. e
+ G9 L+ u2 d5 Z8 @4 }* j$ U+ X. r
DWORD dwR, dwG, dwB;
2 ]/ W/ G, H8 E# j' H( N+ S
dwR = (DWORD)( pLight->Ambient.r * 255 );
( o: W! C; R+ f$ `. V8 [
dwG = (DWORD)( pLight->Ambient.g * 255 );
2 m J" g6 @# E- j% D* y4 s
dwB = (DWORD)( pLight->Ambient.b * 255 );
& R: t1 s6 b8 w4 F/ @) @
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* ?# r: z7 r# W4 G
}
0 [5 R9 j, F' O2 L1 N9 h
}
/ o) h* j% j: M% C2 T# I
/ ?. o) c% @1 u8 ?
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
5 t+ ]) B4 x. c6 K. T
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) );
$ S) Z. A: a/ I. w9 \6 C
::SetLight( bLight );
2 V! M3 s1 I) [) `% A
0 s& _4 ?& H$ i, q5 j5 d) ^! u
// ±ao? ?D?í???ó á¤à?
/ j% N6 d) ` v* S
m_pd3dDevice->SetMaterial( &m_baseMaterial );
3 z6 }0 Z- V6 t8 a) u# q
2 S/ E7 S4 x6 L! M7 s+ E
#endif // not WORLDSERVER
& x- L) O! [8 t6 w
}
\" x2 S9 E: g( I
并更换
* p- C, E2 o% U5 b. N2 p& u
Code:
+ q1 j+ u6 V6 b9 w; c# e# R/ A7 F
__FLYFF_INITPAGE_EXT
2 g T( O9 @, h# q M
定义
h8 e0 g+ U. Q
7 ~! q0 U5 T- |' _# e) n1 n& ^
3 z5 ?2 I/ m; }) J) V* j
& `; b5 r( p: `9 e) |
, u' ?' v; L+ Z& ?5 V! {
现在终于删除我的狗屁加速...
1 k, ?( K4 K8 o5 S% E4 R1 a
0 j: h. I, m4 T- `; J* ~
" ~0 x5 Q& w! {5 ?4 ~! B, B/ |
+ {& K; i5 f* h: e# Y* H
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2