飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
7 c3 l# L- B' X& F0 U
尾翼:
( a3 q" u6 @& r- u8 M! x/ j: O
1 ?/ z. |9 s0 ?3 S
代码:
& Y# _3 k9 S& ?5 j! T; D, {
CWndAutoFood::CWndAutoFood()
- x1 m% S3 d* `; B# r' X$ z- l
{
+ X$ _/ G7 x. A( n2 q
m_pItemElem = NULL;
% t% U( R' f( B0 k0 G% @
m_pTexture = NULL;
, z. l% B6 o* k- g
bStart = FALSE;
1 }4 X. I. M2 i1 U# x% B
}
7 \; g2 J. d" ^5 D0 M: |- ]& L E& k
& \6 e7 N2 O) [# g0 b
CWndAutoFood::~CWndAutoFood()
/ y# ~' o3 B" T+ p l$ G% U& N
{
# y! i% C' M: g! m" {
AfxMessageBox( "AutoFood ist gestorben
" );
: Z- Q3 V" d9 i9 P: A- v5 A" c
}
m; b: i! V* _0 [7 f: F: J
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
5 V$ C) ]+ y) F7 @, H6 U, y
{
1 S* f3 R+ N$ i0 F
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
3 e; Q' d; ~. U, W# L( g
}
& g2 p7 F2 l2 d3 r) Z! H) {
+ f8 t( U0 h8 w# @8 R6 G
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
0 g# A- k. s0 a5 I
{
, ^2 G+ G5 |' m9 @1 x- E
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
% L" W. g5 V7 S4 p8 z) X; B
CRect rect = pWndCtrl->rect;
" p& ~# ^& p4 W7 \1 _/ z
if( rect && rect.PtInRect( point ) )
- o8 B3 {; `7 a) ?2 H
{
c" I/ S5 x9 _5 x
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
5 _1 B$ P, K$ I/ D- f
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
% s& U7 o4 m1 z E! X: L
{
6 e7 m6 E! n1 ^! h
if( m_pItemElem )
4 j+ D1 I% {" m
{
$ w1 H/ O! y* b( P( `4 N- p9 }' t; L
m_pItemElem = NULL;
0 b, T& d; L% V8 E/ D) p: K+ J
}
5 {9 h L% j: |; b. y2 c+ W5 Q
m_pItemElem = pItemElem;
2 X; `) h r9 u( ~5 ?
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
4 {+ ^1 O" {0 \4 E! u
}else{
0 m+ O4 @4 S* U$ L4 c$ m/ k2 k
SetForbid( TRUE );
4 K V! v6 z; v( J" [
}
0 H- S) K4 i+ N) a
}else{
. u4 H& X4 h# c" y- d0 p" w* [
SetForbid( TRUE );
/ y, o$ c! T5 H. K8 r. b/ s4 i" ]
}
3 V3 M7 n5 }' C) d7 y- Z
return TRUE;
2 E. E4 x) P! ^9 T: g
}
/ g0 E+ K4 @7 n* }
( Q) Z6 ^" J6 j
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
9 ~/ u) K0 M) a0 ] G
{
& ~" A, g) S5 H% J( G4 D8 c& K6 }
switch( nID )
: L! f1 t3 L, g
{
9 ^1 o& m3 T5 ~. |2 g& D: I
case WIDC_BUTTON3:
& ]6 P1 G5 O: X0 U V
{
2 w1 D& _/ z0 s7 ^- Q' x
bStart = TRUE;
9 ~7 x: ?3 H. r o; n
break;
" v# y* |- ~2 D; k8 v% R+ h/ n
}
& L5 c9 t2 h0 O3 T
case WIDC_BUTTON4:
' U1 l, d3 G. C( N u
{
3 ]. L# \( L% x
bStart = FALSE;
7 x M! o# w0 g6 H8 R6 c7 Z
break;
9 J. m0 s9 F% w z% n+ l* ?
}
7 f* G' U# f& c7 M: Y
}
4 D& k6 {1 q0 e. c5 d& T( w2 M+ K
return CWndNeuz::OnChildNotify( message, nID, pLResult );
/ j4 o+ n8 P/ Y- I
}
0 c9 q* J5 `! I$ V
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
N/ `& Y$ ?/ G: G* V+ J% Z
{
8 ~" A2 Y. K9 N# r0 H
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
$ [( u( L1 k8 B* D3 @9 S
if( bStart || !m_pItemElem )
2 P4 ?( I. A9 k" g/ m
{
3 o* f+ i% A7 y d0 i
pBtn->EnableWindow( FALSE );
; ^$ ?% W. W5 C5 A5 U$ j
}else
) S7 s% [. l4 G+ `3 A$ I
pBtn->EnableWindow( TRUE );
0 T3 R4 ~" j* Y7 r9 \6 f) [
if( m_pTexture )
( E7 a7 ]2 f9 Q
{
! E5 d( G! W9 p
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
2 ^$ z6 W9 h$ V: C6 {' u1 z' B
if( wndCtrl && wndCtrl->rect )
! l7 I9 y! c) n$ {
{
6 S( x: C- z, _0 d; z
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
: ]( _6 A- M, f( W& W
}
( k; R8 t+ {7 I I9 L r' T- R* n7 q
}
; _$ |9 y" { I- `
}
; A q ]5 m- H3 m+ u# _
a2 c3 u/ F% Z* y, X3 o; z
BOOL CWndAutoFood:
rocess()
) |) J% p* E0 ] r5 u* _% j, K
{
: t, F. r' m+ Y; u) x5 P. ]# r
if( bStart )
7 v3 D# {0 W! d9 a1 t
{
1 A- {, }. E$ |" `
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
5 F7 O: E" c# ~3 G
{
9 ~1 b( B6 l5 b% A% H, m' B
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
. ^+ W3 M! v3 [+ @6 `+ @
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
: P) b/ u% v/ X8 d: H* s' \
}else{
8 i N' a y( R8 m3 r R0 B# r8 I
bStart = FALSE;
+ h6 x% }2 e2 C! {7 v
m_pItemElem = NULL;
7 F1 z# M9 m) d- l
}
# n+ ?$ X( a5 V: W8 R
}
, ]6 R# C5 [) M ~9 r
return TRUE;
2 C; o5 u$ E. q) I2 a( m, P
}
* w6 r6 }( m! H, u [( u. T- J, f
+ v/ c+ H' ^+ z- {' z& _! K4 z) K
登录视频废话:
0 i: i2 h! s: C7 x0 G
尾翼:
2 ~2 W8 _ ~% g
; {7 v! X2 h4 k
代码:
& B* W5 r5 `& C9 d9 q
( T5 @* L: q5 _
void CWorld::SetLight( BOOL bLight )
( c9 ~+ s$ S5 D) O" @0 W/ j
durch
6 e) T0 y4 p& J% @+ @' w
Code:
9 R7 X) ?5 ~" G3 B- ~& e0 s
void CWorld::SetLight( BOOL bLight )
& j- E3 X2 ~. Q* B4 r& F9 v9 E
{
5 W; |9 \- p: O7 V
//ACE("SetLight %d \n", bLight);
) c3 m: w R$ G' w8 l5 B% N! p
) |3 r- h& G; x M$ S
#ifndef __WORLDSERVER
& w4 ?( N" l% V: {0 Z6 s
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
! t. p6 a& X6 Q0 H+ l& M
CLight* pLight = NULL;
X0 e" Y/ f' ?2 N7 s( ?
5 g* N- g: G' x. ]8 _% z
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
8 h" B, i8 b6 R! m1 b" g+ `/ Z7 c9 @
1 H, i+ U1 n' t9 Z/ X& t0 f2 q
pLight = GetLight( "direction" );
+ Z3 {% l: {* V9 i K
& Z1 [# S6 J% q0 _/ g! z! V9 ^3 K) \
#if __VER >= 15 // __BS_CHANGING_ENVIR
" W0 S0 R' O! `; F' i+ q4 k
if( g_pPlayer ){
+ v0 T" ^# |2 Q Q* @
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
& a4 l& [) [2 A- z- t/ b9 K
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
' Q3 H# Q% Y a6 n2 ~- Q9 a, M& T
{
$ T9 B1 i- y' F. m2 v @
if( pLight )
# c# A. v6 X- A0 y9 t$ n9 G( }
{
7 q2 j% _& @; [/ g5 p
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
+ i4 ^6 ?- `- a* k2 L/ l9 Z6 j
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
/ h; c' F% M1 F
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
: p+ O. P' t# g" e, {) y
5 Y' X8 i9 n7 P) t$ J* q
pLight->Specular.r = 2.0f;
9 B! i2 P5 M o5 f7 L5 ]
pLight->Specular.g = 2.0f;
0 f$ g2 Q3 ?& r( m! _& G
pLight->Specular.b = 2.0f;
: q- I9 O3 }) ^- P. {) d5 Q# X, f
- M5 W- q/ H5 A2 \, z9 U3 C$ Y) e( ?: [
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
$ _3 o; B$ Y% z1 b9 j* @
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
' y3 D" V1 J" U& }# |
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
! T' J' x" h6 b. @: e, p
/ W( u& w; R7 N* O
HookUpdateLight( pLight );
0 a7 E0 r+ S' H
$ [) f5 l- }* J, _4 l( [: x4 \
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. V x, c# O) J/ h$ x5 r
0 ]2 \+ }" r& K8 |; |, B
pLight->Diffuse.r *= 1.2f;
; J; T% x. ?1 c- z
pLight->Diffuse.g *= 1.2f;
0 _; B# I' s% E: i
pLight->Diffuse.b *= 1.2f;
/ s1 s. {$ Y) d6 @
. w! V5 P* T0 ]3 ~! {: s I5 }
pLight->Ambient.r *= 0.8f;
& W' c, a" D8 d
pLight->Ambient.g *= 0.8f;
) D* g2 V. e6 n& e1 \) h
pLight->Ambient.b *= 0.8f;
$ I6 i( A9 g4 i/ H: E p" M- v
* c' j) p5 q( E$ O
memcpy( &m_light, pLight, sizeof( m_light ) );
6 N: k4 h) w- @5 V* ^3 o/ Y! b' k
; S, N% x, q$ D/ a9 M
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
: F( F D3 f% W2 C# H- P* q
D3DXVec3Normalize(&(vecSun),&(vecSun));
8 b3 f0 C2 E8 x+ T$ V1 p: `, m
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
1 {# }! [! d$ o6 i% w. [$ v
pLight->Appear( m_pd3dDevice, TRUE );
3 I% p- z. l: H( C/ B2 F' s
+ ~ v: I8 D" h2 y6 w, B
DWORD dwR, dwG, dwB;
7 N6 ?; n$ `, V* u1 V" x. n. ~, R
dwR = (DWORD)( pLight->Ambient.r * 255 );
* A c' H6 Q% Z3 h+ R. r; o. g
dwG = (DWORD)( pLight->Ambient.g * 255 );
7 O p7 r, B% @) j8 F) V. J7 I
dwB = (DWORD)( pLight->Ambient.b * 255 );
: I. R1 e, }: v
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
$ F$ N P" D" O0 u& [% h
}
9 N* |$ K; c! K
}
! s. R* }& @4 S5 `$ h. U
}
5 {: b' E0 U# K% U- p
else
; E% e6 i1 W# x3 ~2 P% x- E% x
#endif
! D1 \" t! \3 O4 N0 F
) H! R* M3 ^' I. s2 Q4 K
if( m_bIsIndoor )
$ x s% ?7 m! N. f
{
$ V' d" \$ Q2 b5 L' ^" M6 `* l/ |
if( pLight )
" w6 O3 A" m y% w9 D
{
. p, \- r5 ]. v" s( a4 a2 H/ u1 b1 x
// à??μ oˉè*
* n0 K, s1 U% q
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
8 d- W9 o$ i- n! X, {- {, X0 A+ _& d
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
/ r% u& h- G# E) V4 j% j) t
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
1 Y8 w& I* A/ m
9 S! `" x/ H& _
// oˉè* ??à?
, C; |9 I8 X3 w+ b) m
pLight->Specular.r = 1.0f;
* z# T0 |8 z/ k z2 [9 U
pLight->Specular.g = 1.0f;
, Y1 s$ t% C$ M1 c2 G
pLight->Specular.b = 1.0f;
) w- `) O9 g. }. |
// àü?? oˉè*
5 H, O% k3 h# q; W
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
$ Y1 A5 y: @5 o8 M( W& ]( t
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
. {% y/ Q' f& C4 S
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
) k. a) p c# N0 N3 b
G6 r5 L2 a% C$ C
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
: \, W! F' H9 f* J6 n
{
' j- T! \2 ^1 Y/ g7 f0 b( F
pLight->Diffuse.r *= 0.6f;
! f( b% C1 ^+ G' V. `7 P! |. v+ o4 F
pLight->Diffuse.g *= 0.6f;
& k6 @# h, l( [5 T
pLight->Diffuse.b *= 0.6f;
! a5 d, U2 j* Q Z
pLight->Ambient.r *= 0.7f;
/ S! S, D8 H: m. `6 g) B8 v
pLight->Ambient.g *= 0.7f;
$ r( S( |8 H. S' d0 j `" z
pLight->Ambient.b *= 0.7f;
# Z3 n0 C9 u7 K$ |7 a: T- r0 P
}
/ o- A* l3 ]3 P& [" ~
# D" s# n- ~6 {0 ?
#if __VER >= 15 // __BS_CHANGING_ENVIR
1 r; w: [# g% Z$ c( |
if( g_pPlayer )
9 w% b$ |+ ]: i7 t
HookUpdateLight( pLight );
# `; K) F$ S8 B/ T, J$ Y+ n
#endif
, @! U4 P* }6 i- N" U
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ |: v$ D8 x7 J2 L# l3 r7 F' D# g
- ]2 M6 |: ]" \/ D( Z3 x
pLight->Diffuse.r += 0.1f;
1 Z- Z+ Q ]) ?
pLight->Diffuse.g += 0.1f;
* L& R6 K; I" i. x
pLight->Diffuse.b += 0.1f;
( D- @3 X# I. m5 A1 B- Z- E
// oˉè* ??à?
' y1 g8 n) H0 Z# L6 w
pLight->Specular.r = 2.0f;
% s7 S6 m% e$ k" A+ o3 h8 z" ~
pLight->Specular.g = 2.0f;
& G& W# d/ S( I* z
pLight->Specular.b = 2.0f;
; p5 G9 l% Y0 c% T! z+ R0 c3 g' Q
// á?oˉ
) x; X; e- |. W* I- L
pLight->Ambient.r *= 0.9f;
; X s# j! D1 m' J* h3 w& g
pLight->Ambient.g *= 0.9f;
2 I+ i0 I# W1 O5 J$ _' V) o; ^4 @2 I6 c
pLight->Ambient.b *= 0.9f;
, ~7 X# K" G1 h- e
* O8 D% R+ s, D5 x) w0 A k- m
memcpy( &m_light, pLight, sizeof( m_light ) );
, `0 z; n" k/ {% w. E# r& H! _
( r8 t# u. Q! P6 S9 S
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
7 _) K! L+ L* R2 @% W
pLight->Appear( m_pd3dDevice, TRUE );
+ D$ U6 @1 V6 s4 B& i7 N/ q1 P
5 m5 w \! e% T! g7 y# `* ]
DWORD dwR, dwG, dwB;
/ a0 k% G* S1 _$ V4 X! y; G
dwR = (DWORD)( pLight->Ambient.r * 255 );
" a) l# g# Z/ Y% \: e
dwG = (DWORD)( pLight->Ambient.g * 255 );
% e( {3 Z7 N2 {* s" o+ k
dwB = (DWORD)( pLight->Ambient.b * 255 );
, X7 h* P g- @* T+ G
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
4 H u7 _1 R# q
}
+ D' ~- w! E1 R2 A8 R8 P8 D
}
+ ?1 j. p$ x4 A5 `
else
0 V+ ?( t$ e, b: L/ r
{
% W) d8 G6 G0 [$ A) Z
if( pLight )
7 |& O( u* C* R e
{
1 o% K0 V& j- R7 `1 k7 P
- W% _7 ~" e$ P$ E, a4 C
int nHour = 8, nMin = 0;
! E/ r* Z J; M1 N+ S
#ifdef __CLIENT
! E) t) R+ w7 a( w% V# b3 B* ~0 p4 H
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
) e1 h. W$ A( _, {0 m+ E
nHour = g_GameTimer.m_nHour;
; Z9 U, t7 {9 W- V
nMin = g_GameTimer.m_nMin ;
8 H$ g( P# l2 D6 p8 x. _; T# T
#else
' g9 E; I4 S9 s: C( K1 v
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
. V7 y- O- i& a6 P1 U; |$ X0 [
if( m_nLightType == 1 )
% b# _3 F0 P2 c" P% p, j9 t! C
nHour = m_nLightHour;
: S K" F9 k* n$ c" f$ T
#endif
/ k' K& {6 x5 C$ a4 l; i0 d' _# g
nHour--;
& j F8 u. d5 g d4 N( {( T
if( nHour < 0 ) nHour = 0;
! A2 O2 }: E# U
if( nHour > 23 ) nHour = 23;
" Y- F5 R0 `$ r, x0 U7 a
( I% d& H, f+ l) @ s
//if( m_bFixedHour )
- Y n8 j. k5 r/ i. W) k
// nHour = m_nFixedHour, nMin = 0;
6 M$ o h7 g1 N4 ?
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
# v; V* P1 ]- i/ u+ l- H, G
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
% ^& }# e* y- m2 [8 Z
& Z! Q' `2 P) N9 X4 s7 q3 A% ^
//m_lightColor = lightColorPrv;
1 A1 V6 k! G) m7 j
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
# l. y( q; B. t: U/ ?; ^
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
4 o! r6 x8 |. v5 F
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
# `3 _# l: p, b0 U
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
4 L- T- M; F2 K( F; J/ i' a
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
) f! U; K, F( y5 u! r) E
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
7 x: X( ?+ C& i( x8 n
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
- t2 ~# j& Q' C6 f) F! v
; P- J8 x9 V6 `0 _' ?1 n5 n0 S
// à??μ oˉè*
9 `( g4 ]' V- U: C
pLight->Diffuse.r = lightColorPrv.r1;
6 z' p# h( K9 j* p* L
pLight->Diffuse.g = lightColorPrv.g1;
3 ^2 f8 X: A5 s5 i: U1 E4 P
pLight->Diffuse.b = lightColorPrv.b1;
: A, M+ Z. ~2 z, I
// oˉè* ??à?
. R2 V! M$ t$ ?
pLight->Specular.r = 1.0f;
& D, d0 p; `: d# K& S: O K1 P
pLight->Specular.g = 1.0f;
% r" C+ e* t! m z- u" ]
pLight->Specular.b = 1.0f;
0 A, l) ~3 H5 n7 k6 ?. C2 Q8 N) ~
// àü?? oˉè*
3 ]+ H" a \9 @+ m E8 {
pLight->Ambient.r = lightColorPrv.r2;
p+ Q& g( k4 W9 w' b9 U
pLight->Ambient.g = lightColorPrv.g2;
; w9 ?3 }% Q5 r9 _; r2 Y1 X# c$ y2 Z
pLight->Ambient.b = lightColorPrv.b2;
& u" z% C! ]+ T4 R* R6 J
# m' ^) Z/ t2 Z. r' [
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
, V8 X) x2 @6 @7 s
{
3 V# Q+ t. E& Q6 R8 P
pLight->Diffuse.r *= 0.6f;
% F* q9 y. g8 c: [/ w- H
pLight->Diffuse.g *= 0.6f;
6 O9 \8 g% f& ?! O2 b( D
pLight->Diffuse.b *= 0.6f;
- w9 A s1 L0 ?& e
pLight->Ambient.r *= 0.7f;
( [: V& B8 C" c# z* Q
pLight->Ambient.g *= 0.7f;
' I1 {" h [" B) Y6 c9 `/ X& n
pLight->Ambient.b *= 0.7f;
4 b0 N( X) E7 ]3 I
}
* \) K" j% B% M) g2 ~, r
4 a/ N; c+ e) b" A
#if __VER >= 15 // __BS_CHANGING_ENVIR
O- Q& y2 }$ c7 f$ J& l6 g" @
if( g_pPlayer )
7 i/ u$ B* @' O$ |9 V2 s" h* Q
HookUpdateLight( pLight );
3 p8 o+ S2 h5 G
#endif
" E- f ~' A( u$ p# E, z& X
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 p9 ^8 j+ S6 K2 O, \' D
- J2 ?6 j# s/ c7 @: U6 n7 x" Z2 g
#ifdef __YENV
3 v: A; I- f, ]
pLight->Diffuse.r *= 1.1f;
& W- y% @, x" {' h) F! f
pLight->Diffuse.g *= 1.1f;
+ P8 Q+ M0 h% m/ w
pLight->Diffuse.b *= 1.1f;
9 r8 {4 ]9 {" C v
// oˉè* ??à?
) Q1 P) V: @" d; e" Q
pLight->Specular.r = 2.0f;
9 {6 T6 x! F9 B5 W3 `8 o0 Q
pLight->Specular.g = 2.0f;
2 N' H; | i- ~" X* q. R6 L2 }/ N
pLight->Specular.b = 2.0f;
( t( o1 a4 `. q& }1 ~2 N9 l
// á?oˉ
) n/ j" ~' A/ E- g+ W
pLight->Ambient.r *= 1.0f;
I4 e) i8 R! _ T1 z1 _
pLight->Ambient.g *= 1.0f;
0 h; h2 a0 t8 ~9 }8 i
pLight->Ambient.b *= 1.0f;
+ M: {! y& X4 N7 s
#else //__YENV
" I' n _8 A8 t; J/ J2 P
pLight->Diffuse.r *= 1.1f;
9 C" H! P/ w8 s+ [5 J
pLight->Diffuse.g *= 1.1f;
7 _8 z7 l: O. A/ _% ?( A; c
pLight->Diffuse.b *= 1.1f;
- J$ Q3 ~& D+ n: J/ Z8 l* W8 T2 H
// oˉè* ??à?
# e$ K6 u. S/ O: b& t; J
pLight->Specular.r = 2.0f;
# W$ n, ]3 {+ O
pLight->Specular.g = 2.0f;
6 s4 h$ J! ?/ O: c' |3 [2 c1 X2 C. [
pLight->Specular.b = 2.0f;
# r2 T9 K* I+ a7 h
// á?oˉ
( {& k4 Q0 B0 T8 C0 w& t
pLight->Ambient.r *= 0.9f;
/ K4 Z7 d. I# [7 ~0 f6 S" _
pLight->Ambient.g *= 0.9f;
# W$ @1 B# v% L% D) K
pLight->Ambient.b *= 0.9f;
) X1 h% g& ]. b
#endif //__YENV
% p3 F8 g7 z$ o+ i2 [( P0 |
, \% x& P$ F# j% t$ v$ C
memcpy( &m_light, pLight, sizeof( m_light ) );
, t+ ~- V/ e! V9 P
# B3 G. {: P" h
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
0 J; _6 x2 W2 Y: Q4 S" I
D3DXMATRIX matTemp;
3 b; m- W z* m) y
static const float CONS_VAL = 3.1415926f / 180.f;
1 U4 O+ J0 y1 S/ _6 V& G
, B' N7 {) y8 `) V! q% l$ @1 F% P; t
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
6 p, t& u4 q9 ~9 t) z
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
* V: ~6 i8 E7 D% d" Q
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
: p6 ~8 _1 F, u* f* R
pLight->Appear( m_pd3dDevice, TRUE );
% p& n3 f7 w- K6 B+ x% {
. O3 Y) u) O. m0 k" d+ C) D
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
9 H; x3 ^9 d* J& ]6 ?
// D3DXVec3Normalize(&(vecSun),&(vecSun));
! W% `( U4 d; M0 Z) X# @% |. H
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
' V) [- f k- \, z& O8 r8 W
, `+ i3 \, a6 z& T
DWORD dwR, dwG, dwB;
0 s. o+ ^; B0 U* P1 v ?. e
dwR = (DWORD)( pLight->Ambient.r * 255 );
) e" {! K7 L2 u! J
dwG = (DWORD)( pLight->Ambient.g * 255 );
" _. g2 m1 R" q9 e8 j/ [+ S
dwB = (DWORD)( pLight->Ambient.b * 255 );
5 B# B( C) x$ R
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# m5 {8 V6 g# m% ?3 I9 ^( D1 X& N
}
' j6 e& g8 p& W) i# U2 F5 D! R
}
: }3 V! ~. v/ x
3 H& v4 n9 p. Z, ~; V1 h) K! k
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
9 F! _: X* a; 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) );
6 a& t7 h* Q6 b Z( ^7 f8 N
::SetLight( bLight );
; x$ n3 k/ f: |- I2 f% [# q X+ \- s
X$ ]1 W) s2 s& P8 @5 W
// ±ao? ?D?í???ó á¤à?
% L4 ^+ u$ w( k' f8 o, q
m_pd3dDevice->SetMaterial( &m_baseMaterial );
; A/ z j, P9 I6 |, J
. S+ K4 ^6 P0 m2 L6 {
#endif // not WORLDSERVER
Z" {8 [9 X0 [; n: w }
}
5 ^( ]2 n2 j* `; R: _: n! V
并更换
+ e, [5 P& U. u4 B) ]
Code:
. w: ?; x1 o1 `/ @& t
__FLYFF_INITPAGE_EXT
% Z( T+ v, O* M1 n, B+ P
定义
; X# o" R8 o. d- Q- x2 X
+ M, _1 H9 _7 ^+ R5 m5 {3 h
8 l% \. R0 g/ n1 o6 c( V! i
6 b. d8 a& R+ L# m
% I4 m( G: `+ R5 q% p( Q- O
现在终于删除我的狗屁加速...
! `$ V3 F* Z/ F1 r- j: g
# r8 h$ E" a4 u* s* R
+ n- S! }- U0 g, o
. B& m7 D! V3 H4 h' k6 @3 h
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2