飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
; a% G% ]; M+ \7 J$ c7 R
尾翼:
! e) f- w. g3 w! S" c7 q& w
8 W! m* l/ i; H5 _3 B
代码:
+ I% {1 \2 l; K* r% C0 U
CWndAutoFood::CWndAutoFood()
6 K! e6 W D: ]0 e
{
8 Z+ C- @& H6 ~. V& p1 ^
m_pItemElem = NULL;
- z% V" @/ l; a
m_pTexture = NULL;
* B# h5 n; m" V# l( u' `8 `/ q9 ^
bStart = FALSE;
& D' A, P% y( ]% |3 _+ V
}
/ d) k1 T9 Z3 r% O Y
6 i, V* V6 J3 B! W I3 H+ A2 |
CWndAutoFood::~CWndAutoFood()
4 R j" J0 T* I/ \
{
. }# r, ?) @! D) h# e1 H
AfxMessageBox( "AutoFood ist gestorben
" );
6 c+ V8 d0 }! ~" B
}
+ G1 d! r. M7 S7 V2 m6 y7 e
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
$ |$ L1 g% }' S( z& \
{
3 u* i$ i1 a, H( i
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
. `7 o u0 @; v4 S/ [% w- q
}
" V! \+ _& ?& {7 }( `
" i) J; Z3 w( ~* S8 H
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
/ I3 d# e B5 o0 k
{
- Q+ u8 w5 w/ A# z9 o
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
' R: w0 X! _" q4 e" u& t
CRect rect = pWndCtrl->rect;
- C4 { _# K7 _! i, E- {) V' a
if( rect && rect.PtInRect( point ) )
- ?8 _7 [6 p9 x7 i- t/ ^
{
0 M: W1 w! @# ?* x4 U! D
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
# P, u* S# `" a6 s/ M
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
" h! V; ]- |) y4 |" \' R% i2 O" J0 E. _" P
{
% }" V- V! A& r( U3 o- U- U
if( m_pItemElem )
9 } b x$ j6 l. C
{
1 d9 B& ^% m3 ^ j2 c7 [# Z" W
m_pItemElem = NULL;
; }% v) c4 x9 G2 `0 |
}
- K, ?2 J+ O' {- l3 B* ]
m_pItemElem = pItemElem;
6 R, @, i: [, S3 N8 _
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
& l+ }2 j% D' A6 l( {( O$ L
}else{
$ Q1 n- [, W* S; [5 j
SetForbid( TRUE );
0 M3 @$ {" S: Z7 h0 w# [
}
* a( d* C% C6 x3 S
}else{
" n I+ r# Y5 @# g6 ]$ x
SetForbid( TRUE );
8 H* a9 f# n& r+ ?8 R3 b( a
}
& `, g. E+ u' y A8 l P
return TRUE;
9 u; m& k8 B6 H. ~/ t6 |6 `1 S5 W2 I
}
9 m" X; N" x. `. C; h4 W
* |7 x/ G$ k; f+ R
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
! Z- T& `5 V7 q% ~7 M
{
e9 o" Y- r ^9 y
switch( nID )
* U: T& g# z$ q/ ~
{
3 v# d- e9 P; @: e# G3 ]
case WIDC_BUTTON3:
1 E# o! _( d/ h4 \
{
- S6 v7 R4 G# H, D. k
bStart = TRUE;
; K) ~" Z% H/ j4 h
break;
3 }5 ~9 @' \- J2 X! A+ D
}
+ M# E; }' b4 M0 S' N, V# r* Z
case WIDC_BUTTON4:
! a% t/ Y- {2 D+ g8 c
{
9 R# I4 h8 ~6 t% b7 i# f
bStart = FALSE;
$ P$ F6 K/ F( ]' z; R3 S# C6 d
break;
$ {5 B2 ?* E2 B+ g4 `
}
/ }; C ~/ L0 r: K2 P) |
}
0 T. ~3 v/ V0 i3 R
return CWndNeuz::OnChildNotify( message, nID, pLResult );
" f" v; X& Y( E d# b
}
# B) ]7 g2 `; |0 J7 j
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
1 H" _( D! h! e- S9 w
{
9 q0 L; t& o" f r: ~7 Q" V
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
6 ^8 U1 n! w5 J# y- a+ w) |& F
if( bStart || !m_pItemElem )
) T8 S2 `6 v# X; n0 t, L% R
{
7 ~# f* Y0 j3 D9 W2 K: D! d O
pBtn->EnableWindow( FALSE );
8 S) E4 h7 V$ O
}else
5 L% Y/ e9 U# a
pBtn->EnableWindow( TRUE );
) \, s; h+ A6 k8 Q; H. R( a
if( m_pTexture )
( R. I" l% o6 A9 L: L3 [; J
{
/ ?' j! @0 B* O0 ~
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
3 Q# k$ y% r( H5 f& ?# s% S8 E
if( wndCtrl && wndCtrl->rect )
- ]/ x$ [/ i: ?# g# }4 k
{
' T( b7 K- j) A, B
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
$ {: _, B2 \5 h* R* u8 r
}
5 _+ A* e) [, a9 M5 b6 t: ^
}
; e" v4 B) z2 a+ q; D7 X
}
# t7 q6 {! X7 j, i1 e4 [/ |
. s3 d b& h7 C3 Z( L
BOOL CWndAutoFood:
rocess()
" r* Y& q8 Y" t
{
, s2 x+ _8 s. l$ \2 u* W
if( bStart )
7 L; X8 b* V; Z
{
+ M& B4 B4 y0 e- t" o7 b
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
9 s6 x* h# S9 x! i& z
{
: p* p H( J3 Y+ g5 ?: i, ~
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 @4 i0 v U2 }3 U8 n1 c1 ~$ E
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
}( t$ T6 w# V5 a- \
}else{
# t7 K+ \- H' D2 Z5 L1 c
bStart = FALSE;
8 ]" \# |2 o+ [/ w% U* U0 Y
m_pItemElem = NULL;
2 j. B* X( E' t8 \
}
4 z6 k$ Z7 K0 _5 O
}
a5 U: I% V% O2 B i# X* A
return TRUE;
: f) A! Q- |& G/ k
}
0 }% s3 \( Q( |8 t$ w! m9 Y# p) p
! L/ Z! ^/ U+ o8 c3 k& ]
登录视频废话:
6 R5 F& |/ Q+ `4 v% T
尾翼:
" X# U, e( B' n
- i5 O& ?" U" W) {: `
代码:
6 y8 T8 l) |; O7 R3 d% R
. \) W/ p1 j: P" Y
void CWorld::SetLight( BOOL bLight )
8 N/ ^/ a, p3 I5 }( }' A
durch
0 Y) \0 e" o9 w. ]
Code:
4 U5 b4 k& E2 P D n
void CWorld::SetLight( BOOL bLight )
* E; i) }# A ^8 Q2 D% B
{
( V8 @0 S8 z! X c9 i$ x# y8 ?
//ACE("SetLight %d \n", bLight);
. G" c @4 S) V2 c
0 F3 S6 b3 e) G: |" X! H3 j+ k; p
#ifndef __WORLDSERVER
) O/ t. B7 ]. f& C0 n1 o
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
5 N! j+ [. @5 _8 v1 ?. }# R( [
CLight* pLight = NULL;
t$ f, W9 k( y( j* K( L
' ], d9 Z7 L* B( c8 g
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
6 z* v1 `) ^8 R0 ?$ `) T
& L- @. X2 t' K
pLight = GetLight( "direction" );
0 ~8 W N, u" \9 s- K
& }+ e0 `. L) X; b9 L% g
#if __VER >= 15 // __BS_CHANGING_ENVIR
, @! i- U; f. r
if( g_pPlayer ){
6 A$ t0 [/ O7 ]* z# f: J& F
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
f8 L+ k1 B6 ~
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
! ~( O6 r1 _ N# r! |7 x; ?
{
5 C* ], [3 [5 ]7 u+ O
if( pLight )
: H+ \" V) v8 S+ x$ v% K
{
5 Y; z6 n7 J, V
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
" V; Y, r! z% H
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
0 t% H/ N5 ?; {3 I3 _ D& j
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
8 a/ L$ x+ d, B" ]% |- h
) i4 e" o$ W' _' \: o" T; n
pLight->Specular.r = 2.0f;
. w6 [) b0 A. b/ q o
pLight->Specular.g = 2.0f;
6 x- Z2 H1 c+ w* Z. [' F" r
pLight->Specular.b = 2.0f;
* I* m& L; O) Y' B- W* b" S4 K! E
5 P' ]1 Q4 V7 }
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
& z5 M; q/ `- }) A; w: }
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
5 O1 c8 J8 j$ S1 m6 {2 e6 R: T
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
5 E- o) {9 @3 q& f* |
0 d* y3 t, M, j/ D
HookUpdateLight( pLight );
: M% i" P4 A9 m0 Y: G( ^, q; I
! v. \1 U# q- u* `! O
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
0 \) {) i4 a w
6 G+ g- r) _% A" O. L6 ^
pLight->Diffuse.r *= 1.2f;
( u" ~0 R) E6 d0 o( V2 l; S
pLight->Diffuse.g *= 1.2f;
5 O, m" p! ^" F$ }' ?5 j* c
pLight->Diffuse.b *= 1.2f;
* ~1 f$ x m& t5 p
3 O2 v5 T$ r5 {9 d9 s, q0 j
pLight->Ambient.r *= 0.8f;
, Z |, q) v* S, Q9 }8 _
pLight->Ambient.g *= 0.8f;
! t7 [$ U; y% C4 f; `
pLight->Ambient.b *= 0.8f;
2 Q2 c1 O) j; l- Q) C, h
. B& i; `$ x/ r9 R+ V3 X0 F
memcpy( &m_light, pLight, sizeof( m_light ) );
- _1 k% u! z4 o; N# U
6 F. Z8 V! Z; M3 A& q6 S& c) U
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
: [- ?& \( Z2 Y
D3DXVec3Normalize(&(vecSun),&(vecSun));
0 J* m; u& |6 C3 {& n6 X" Q( p
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
, H0 P7 z4 q. T$ ~
pLight->Appear( m_pd3dDevice, TRUE );
) s( ~; s, @2 J3 J
, g0 X- |, U5 j8 o" @6 u9 H/ w
DWORD dwR, dwG, dwB;
9 g/ E2 e* Q( G' @+ h* Q. m
dwR = (DWORD)( pLight->Ambient.r * 255 );
6 z7 K) p; ~: V7 s4 K" ]
dwG = (DWORD)( pLight->Ambient.g * 255 );
: D% D. b! ^! h! Z7 ?3 N
dwB = (DWORD)( pLight->Ambient.b * 255 );
: b9 i. l6 e( A$ O4 n2 _5 h' K' O9 g
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
K+ M% d8 S0 ^$ F) ? y. N- u: Z
}
) L5 i4 X$ ?4 T5 G7 x
}
/ d+ I7 }3 Q! z6 i' U
}
( u9 a5 H {+ L: J# k. z
else
+ C, f b6 J- l. u+ y
#endif
- I; E ]" V( A1 }% d" e; S
! b9 W8 [& o+ a. `/ O9 Y5 @; Y8 t0 e
if( m_bIsIndoor )
3 K0 F( e( m& b6 X
{
8 k1 K p% M) o6 ?) f
if( pLight )
( I: a; L# A: r. e# |; g; e
{
% e# i3 q0 j: {5 g
// à??μ oˉè*
' u+ V' }5 |& g; b% i( s/ Q. J1 f
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
# ]! c3 W: N: H; X4 h
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
5 p; J- G' k+ \8 W0 {6 b
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
# U8 K. I$ d* Q6 b
9 p1 }! q5 V$ k0 l0 j% X
// oˉè* ??à?
! H+ O" i, n7 N
pLight->Specular.r = 1.0f;
/ D- `6 O: z: _, t* g
pLight->Specular.g = 1.0f;
! k' E, o f1 X: E0 O8 g" L5 j
pLight->Specular.b = 1.0f;
5 s+ T0 J7 I9 d3 s" Q% |; H
// àü?? oˉè*
! A* j. k; W1 M) w* d
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
' c# W1 Q7 j L$ i. l
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
& _$ O, p5 k3 |6 B/ P0 Y
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
! U! V( L( ^5 z) C+ E6 Q
! R6 z0 u4 |0 E/ f: b" u8 g
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
: s9 W" b0 S% p) Z3 |
{
5 g9 R# Q! i+ q% Q) Y- i4 x; ]
pLight->Diffuse.r *= 0.6f;
/ M+ t# E2 B! N- e$ U" K; s/ z
pLight->Diffuse.g *= 0.6f;
" B( Z0 A5 y0 m4 [+ p# d1 _* {
pLight->Diffuse.b *= 0.6f;
8 }# Z+ t9 Q* y0 c& X' o: b* p' r& k
pLight->Ambient.r *= 0.7f;
{" ] Y1 T' o. s3 j. _! ~
pLight->Ambient.g *= 0.7f;
- R4 Y0 S3 c8 ^6 ]* \6 n1 [
pLight->Ambient.b *= 0.7f;
8 ?( M8 Q5 Z1 T! A# s
}
) o1 b' @7 A0 ~; z4 [' f w
/ W% i& N8 z) ?6 \- Q" O
#if __VER >= 15 // __BS_CHANGING_ENVIR
5 |, j7 a: S8 X( f: E( P* [
if( g_pPlayer )
2 t' V+ Z( T- T/ u* F# u2 Y% g
HookUpdateLight( pLight );
% d7 j/ \3 m1 M" q! w- R
#endif
/ t: K" z: d% n! G8 }7 S# \
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 {+ _3 P- ^; \, }. p
' n; t7 r8 \/ I! ^( `
pLight->Diffuse.r += 0.1f;
6 N$ F0 Q( p) T! ?. R( |
pLight->Diffuse.g += 0.1f;
/ D% e$ w4 t: g; n+ O; b3 |! S
pLight->Diffuse.b += 0.1f;
' S4 Y2 a6 N6 a7 O. w/ N' O
// oˉè* ??à?
' i; x9 j" ^$ `8 P4 R7 X4 P& A2 f
pLight->Specular.r = 2.0f;
' o o/ ^/ g# U- `* u: @1 i
pLight->Specular.g = 2.0f;
. M4 l+ h, b& {" _% }
pLight->Specular.b = 2.0f;
+ T% ?# I4 D; Q: U& r6 n1 O1 b
// á?oˉ
+ J3 ]2 I+ O9 ]* |6 Y4 B
pLight->Ambient.r *= 0.9f;
8 c: e/ `1 G4 \" l. b9 B7 O8 f+ U& c8 G
pLight->Ambient.g *= 0.9f;
; K) C w5 ?8 K7 U6 ?9 Y
pLight->Ambient.b *= 0.9f;
7 B; E: J- s) E# s" |0 a8 P
& ?" N6 k. [) K5 D' ^
memcpy( &m_light, pLight, sizeof( m_light ) );
$ h6 X3 K/ E" _
9 q [8 n+ b6 {$ E6 H: r
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
% T! y# a: E- E) w
pLight->Appear( m_pd3dDevice, TRUE );
6 _4 G! j& N i4 g \! X4 N. t
3 v# p" _4 m2 t8 i8 o7 ~7 r7 n8 N% u
DWORD dwR, dwG, dwB;
; G5 Z! w9 X$ n1 p9 _4 y
dwR = (DWORD)( pLight->Ambient.r * 255 );
, _- M! T/ y5 F, S$ w
dwG = (DWORD)( pLight->Ambient.g * 255 );
# E- \: y- l0 i1 [7 k
dwB = (DWORD)( pLight->Ambient.b * 255 );
# p. ]* H' y) i9 [8 P% s
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
( ~4 Y A+ \! ?) o
}
: M- S% w* B, M9 x6 R- o3 _
}
0 m% c$ B7 l6 y N6 W5 I
else
1 M6 B( D2 s" U* f
{
' o* t# h: p" c/ `- ~; R* \
if( pLight )
0 ^7 L& r1 t; A
{
- ?2 `5 d) t: I1 k9 C( ]& N" w
) t: i& {- G; `: C8 ?
int nHour = 8, nMin = 0;
6 x, i3 I/ J( M6 o( e9 }
#ifdef __CLIENT
( u8 F9 h' v3 W
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
& A0 E5 o0 z# `- X& w& y
nHour = g_GameTimer.m_nHour;
7 q5 U l; }1 j. Y& ]6 a
nMin = g_GameTimer.m_nMin ;
, w" ^" P! o' Z: H4 L; ^) V+ w5 h7 }
#else
; H& F1 h+ r. C- g; U1 a" v
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
* ~: C: F2 r# u) Y6 f3 @. M# @
if( m_nLightType == 1 )
* A& m5 f% {4 m3 f. ]8 _1 a' j
nHour = m_nLightHour;
. R; c% y8 O+ G0 t* F' \8 S5 L# n
#endif
$ Y8 [* l- U% X1 @! e* S* z
nHour--;
" e# E& R4 \) M0 ]4 E* L
if( nHour < 0 ) nHour = 0;
6 h( W) v: q& x6 S
if( nHour > 23 ) nHour = 23;
! D0 j6 V K+ l6 ]- W
- i5 [% M9 i+ m3 `2 b
//if( m_bFixedHour )
. d# y# Q) {( O y" G3 }0 ]
// nHour = m_nFixedHour, nMin = 0;
5 i' [- M% {. y# E& @' Z
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
5 f5 s. P" h3 q' H2 J/ Z
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
. n; u# h9 b: V" k) s9 \; d! c
9 Y: Z! c, q8 p8 L+ `! _
//m_lightColor = lightColorPrv;
6 L. v6 M* y4 j& k5 Y: ~
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
/ { u7 y6 d6 {# K4 I! |- \
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
& ~% D1 v* W9 z" Q. N% _
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
& k3 N" C4 }6 a1 t6 |- v2 l. x* X
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
3 r5 O E0 u6 P9 ^) S
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
* n3 y) E1 {' j9 J. g
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
7 N6 O w/ ~$ K5 ^; E
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
1 @/ w* u t' o0 `8 O9 `; V
A H+ u: l( w
// à??μ oˉè*
9 t6 m2 ]. Y0 ~- g! h% h S
pLight->Diffuse.r = lightColorPrv.r1;
( F7 K+ w, j$ } j1 S3 ^
pLight->Diffuse.g = lightColorPrv.g1;
- U/ N3 H% H0 C1 M
pLight->Diffuse.b = lightColorPrv.b1;
! L2 ^9 Y6 p/ q
// oˉè* ??à?
A$ ~; F: u( K* d) K
pLight->Specular.r = 1.0f;
, q: q6 a9 l3 h8 g& ?
pLight->Specular.g = 1.0f;
& r6 p6 q" r, B/ T* a" B7 x6 Q% [( y
pLight->Specular.b = 1.0f;
" u4 g. e' f, l! m! p& k& X: k
// àü?? oˉè*
* W: R* B4 _' g. o: a
pLight->Ambient.r = lightColorPrv.r2;
1 ^. g2 f' `* U; Z5 ~, D
pLight->Ambient.g = lightColorPrv.g2;
3 `9 h' i" `# _/ X$ I- |
pLight->Ambient.b = lightColorPrv.b2;
) g4 R. H2 y2 ~1 ^, ]
! e, c( d& _ f+ c; l+ s6 i; Y l
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
6 c K2 x }& P2 f3 W
{
5 f+ E' p- z3 s( R
pLight->Diffuse.r *= 0.6f;
- P8 {6 B' J0 l7 j% R! D" w2 K
pLight->Diffuse.g *= 0.6f;
1 v) H$ z& F9 v
pLight->Diffuse.b *= 0.6f;
- `+ `) q5 _: O: c# [& |+ X* p9 @( i
pLight->Ambient.r *= 0.7f;
. ~8 O) V5 n$ _
pLight->Ambient.g *= 0.7f;
@9 P7 o& a- y; x
pLight->Ambient.b *= 0.7f;
9 _$ O7 T, [4 b! B; k
}
7 e U+ m4 \) I5 U
* Q L: s. o# K% J6 l" a2 y
#if __VER >= 15 // __BS_CHANGING_ENVIR
* M5 K- X- T' A: b1 W: O- o
if( g_pPlayer )
& `7 T$ l( t8 h, K8 d9 n
HookUpdateLight( pLight );
3 F7 B- l5 w# E- \ h+ x' l& X4 E* v' j
#endif
9 g* F) t- n, E9 U2 [" v
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
8 L7 e) G; w" x
0 A2 d/ Q/ I* d4 E" y$ C
#ifdef __YENV
6 }0 k( j& x# X7 k
pLight->Diffuse.r *= 1.1f;
$ ?: [! g: ~9 n' {# q; R
pLight->Diffuse.g *= 1.1f;
: R% I8 N7 }8 I% a
pLight->Diffuse.b *= 1.1f;
) O! ~, s, G+ ]! }& I. N5 C0 W* z
// oˉè* ??à?
, H$ I* v* ~4 T: u8 O$ _) T8 S
pLight->Specular.r = 2.0f;
# a8 O- P7 k% }
pLight->Specular.g = 2.0f;
9 b2 U0 T; \ l' y3 U
pLight->Specular.b = 2.0f;
3 A$ n& q+ g! t) h6 @
// á?oˉ
1 |3 F: b* h, f9 G1 y4 b+ ^- t& i
pLight->Ambient.r *= 1.0f;
( A: J2 I2 F( y: \$ b G
pLight->Ambient.g *= 1.0f;
4 P! v7 r* B/ {! ]1 o8 s4 f& c. {
pLight->Ambient.b *= 1.0f;
5 O9 h! U7 b$ u! m U1 B
#else //__YENV
# r7 n& m8 S( Z3 v
pLight->Diffuse.r *= 1.1f;
2 w; _) v8 n$ \! R& J
pLight->Diffuse.g *= 1.1f;
+ i6 J9 P' ]& g3 Y
pLight->Diffuse.b *= 1.1f;
1 J+ u% \6 _/ E7 H2 M; @
// oˉè* ??à?
1 Q5 W* M+ N. Y
pLight->Specular.r = 2.0f;
0 ^# r7 G% e( `" k& J% S8 ^' P
pLight->Specular.g = 2.0f;
! O% c5 _3 ~# c7 I
pLight->Specular.b = 2.0f;
( K6 T4 p7 ]/ \$ k- n# u
// á?oˉ
1 O/ v' P# R' z
pLight->Ambient.r *= 0.9f;
5 \1 ~7 A, F1 G: v: l1 u
pLight->Ambient.g *= 0.9f;
. c4 m; m8 X0 C
pLight->Ambient.b *= 0.9f;
( }0 S$ p( d' @0 [# X4 a6 S. S
#endif //__YENV
* v, }+ w; a4 e
+ M- T/ ]! ]/ A3 ^' E
memcpy( &m_light, pLight, sizeof( m_light ) );
& Q) u& S4 P5 k& Q
8 R* ?4 B; M, @, f9 V* d; p
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
) i2 v/ c/ F& [0 L
D3DXMATRIX matTemp;
3 K* J6 \* Z' K* ~9 P9 a
static const float CONS_VAL = 3.1415926f / 180.f;
1 G/ }) B( J8 Y7 ]1 h) G
. @9 s v. H* n( n! {( p, _( M
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
+ ]9 L8 D9 V, J4 V9 k
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
2 y1 L! C) U6 f
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
3 c) k8 S" R* [& y
pLight->Appear( m_pd3dDevice, TRUE );
" P+ I' p8 g& N f& F/ c
* A9 ]+ I$ S* k1 I" }
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
" k) F- K! I8 A& B" {) Y
// D3DXVec3Normalize(&(vecSun),&(vecSun));
8 E6 _2 R" a3 a/ v* W. q
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
% D9 L3 v* p2 B$ @( x
. a, F8 H3 o2 E
DWORD dwR, dwG, dwB;
% `. c; m: o0 q& k' y
dwR = (DWORD)( pLight->Ambient.r * 255 );
/ t; C4 ~+ Y" g% h: `
dwG = (DWORD)( pLight->Ambient.g * 255 );
9 `) ]7 o+ b$ Z3 c
dwB = (DWORD)( pLight->Ambient.b * 255 );
. p6 [0 H" N2 R5 J; _4 x- ~
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 [/ ?8 N1 `$ ^( Z) v9 Z/ I; p8 C
}
+ _ x" S8 T" f3 z8 d$ M/ D P
}
' F! j. T. n# W6 G- s( V- X
2 ^, }7 N& h4 X, Y; G
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
. L3 g% U+ D; w8 t$ l1 f& q8 R& s4 I
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) );
& p8 Y. f# U% r. q6 S- `
::SetLight( bLight );
% S3 a( H$ @, ^/ z' G @
. ?: T. V: O5 c+ }
// ±ao? ?D?í???ó á¤à?
c6 v- f$ s N" a) f
m_pd3dDevice->SetMaterial( &m_baseMaterial );
, y6 Y; |2 T( k4 K1 J
) T1 {& D2 N4 Q
#endif // not WORLDSERVER
( w( v6 \5 I, N' S9 q- Z4 N% @' Q3 D
}
$ o# s8 o2 n. [7 t
并更换
0 ^5 q! G& U9 I7 g$ ~" e- C% c/ p7 p
Code:
1 S* c* z+ `8 S3 K6 L
__FLYFF_INITPAGE_EXT
$ r m: N, w7 Q3 N5 N; R8 b" s
定义
% R h; b6 j% F
' x% M) K- v# P6 c9 f& h @! z
7 O9 [/ n1 _& q1 q( Z# P; L3 W
- A* h2 D5 g* s, @% e1 v
) Z, G3 q- I8 a% O/ a
现在终于删除我的狗屁加速...
/ @ F: g% g7 A& I* u2 ~
* _0 r- Q2 i3 O. v0 j
3 D& x6 K: ?, r; i( q
6 R, p5 K. d N; _+ H) t
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2