飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
) F1 x# o1 a3 W
尾翼:
0 P, i' M$ a) O( w
& z' {/ J6 w) l/ n* y# `
代码:
& n. j" ?5 D2 C- }( X! p
CWndAutoFood::CWndAutoFood()
" Y& V' t8 O* a$ H: W
{
7 [8 |, p; g) u* E! G1 C
m_pItemElem = NULL;
3 C3 c4 D. {; ?( {
m_pTexture = NULL;
9 n% w9 a: x4 C2 e6 t2 B/ I
bStart = FALSE;
$ Z! U, v5 {& B8 ]; P
}
. Z. W) h a3 o/ n
" B9 S% A4 M6 |: m0 E9 O
CWndAutoFood::~CWndAutoFood()
; t( g6 x% w/ Q. W0 X" G* V- k
{
" x4 m% |) t& y( L- M% t
AfxMessageBox( "AutoFood ist gestorben
" );
9 n: {# e+ k3 o6 \6 X" h
}
( k7 c; p& y2 J9 X% D
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
3 `. u. n7 u9 ^4 g, }* z O4 h
{
1 @( k. {% i# l3 I) L C
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
/ b9 C/ O3 d; h. n
}
% f* V Y: _' @
( j; c1 y0 G4 s
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
8 y) I: C" |; I* a# h. x+ ]
{
) V4 l1 o+ V6 l
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
5 d: C* T+ x* X7 B$ P# O
CRect rect = pWndCtrl->rect;
7 u% w, @; M; V; m, v- q1 S
if( rect && rect.PtInRect( point ) )
) \! `/ b, x: j R" C
{
, V( H; N/ S7 R0 j& Z) L2 W
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
! V5 U" G7 ], y7 V/ _4 }! P
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
; N0 G2 W1 G7 O3 U
{
' S F9 P2 c* l" }9 V2 D7 w3 O1 X6 a$ c
if( m_pItemElem )
, @2 e9 z6 q% a& m- I0 s
{
9 `, A6 B5 h t1 t4 ]1 _
m_pItemElem = NULL;
P7 {2 G6 P6 g3 f' B% V
}
( v* g1 F" V4 }7 p% o( M
m_pItemElem = pItemElem;
\, k7 O( }. h) ?" f
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
- S( P6 B% K8 u" }
}else{
0 S$ L2 A7 Z: d* O, k" W
SetForbid( TRUE );
) c) R3 ]9 n$ M
}
6 [' ~5 ]4 ?: C: ^8 |1 j
}else{
5 X/ K- \$ t' l( c! q
SetForbid( TRUE );
0 i. K5 X$ J8 Y+ U& F; \2 v2 X
}
( ]$ b- ^8 z* S1 e
return TRUE;
+ s! b4 g$ w2 [7 w
}
# P2 N( ?/ ^; ]8 q3 }% f
' G$ E' y3 ]7 ^' J5 C' Y1 m) x
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
5 h2 s8 E# I. O. D; {+ b9 P
{
) Y2 I/ l$ ~; c, m
switch( nID )
2 s. a$ e2 G4 T8 a X1 |: y7 O* G& ?% w
{
; z/ d1 [' Z; R$ Z) s" ^
case WIDC_BUTTON3:
5 Q A' w" k: W% I e; n
{
0 w( F5 l3 G7 S' _1 n8 ]$ h+ N
bStart = TRUE;
f4 b- j# x7 G0 Z# |
break;
U) _2 j/ ~* y2 f" a
}
; U- k1 @9 `6 `* U6 u% y" ~
case WIDC_BUTTON4:
, ~0 K6 H( ~$ b) x( R# k9 _9 s/ w
{
" f8 A- F3 j5 e% e
bStart = FALSE;
! P# S# }# F+ T" v, h
break;
/ E: r- Q: k" w; l, o) m3 ~
}
6 H+ o/ B' `, |$ O
}
, i0 X. n/ I: y& E; N1 X
return CWndNeuz::OnChildNotify( message, nID, pLResult );
1 ^7 E4 ?6 j7 W" G' Y; T- t6 [
}
8 J) n( O" p8 k2 j
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
: I [, l) W6 {+ X
{
( ~/ Y! T3 v9 I
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
! x- ]4 @, o5 t( ~; L
if( bStart || !m_pItemElem )
* A h. t& Q* h
{
# r0 `3 v0 V& k) ]
pBtn->EnableWindow( FALSE );
+ i$ X( n I' r: X
}else
. t3 _3 s( k. z. f$ v, R
pBtn->EnableWindow( TRUE );
$ u1 A0 z1 p* E3 B( Q1 u4 q
if( m_pTexture )
3 e% p7 ]1 W% o' p* j) G
{
; ?" c+ P' t2 y" v2 x
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
/ O+ F7 X" l8 q/ F
if( wndCtrl && wndCtrl->rect )
+ j: d( C& ~0 @! H$ h
{
# o6 D4 |; N( I4 ]) u
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
4 _$ `" g: Y+ b3 @/ N
}
$ K* ]- O2 I! Z8 p( ~+ D
}
3 ?9 s" A0 v! [
}
& r0 q' J/ W0 ~. u) h8 U' [! W/ }
7 d5 s7 H$ ^" G5 X2 `8 o
BOOL CWndAutoFood:
rocess()
" R9 D; A* f) I8 b' x& k
{
( q' a' V( a- b
if( bStart )
) }$ z9 p' q6 w* C9 @
{
9 G5 |6 x$ M* M. _; m
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
* ]! D# k' E! @* S' m) J
{
, P3 m6 E9 @8 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() )
- k' M' D2 D( k6 M& |
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
3 b3 [/ }, Y0 p& X" W$ o9 ?+ v
}else{
9 i. `& H# o4 T9 N
bStart = FALSE;
5 W9 m* {8 F4 x6 ~
m_pItemElem = NULL;
( d6 w! `; \1 p' A2 M9 H
}
" H" M) C8 @$ ?1 d) [
}
s6 [, \- m* g$ R8 l8 y
return TRUE;
7 ?* r4 `' }! G! R y. I; s
}
$ _/ l2 o; w. h% U; `
5 u. r8 a- Y2 W$ O* F( n i7 ?
登录视频废话:
- `, S8 g4 _5 ~. \+ c
尾翼:
7 s! }( O/ ?- Q* f% R: w
0 [. s& J: u0 z- U$ A+ [) U# ~% s: r
代码:
( N9 S% `: [5 j% v0 R+ ~+ q% Y
, ?; s& m3 s1 s6 }/ `% j
void CWorld::SetLight( BOOL bLight )
8 H- ?7 i. N5 N
durch
1 d" T$ e3 r! }. I9 c+ J
Code:
5 i8 Q# ^2 ~! I4 |
void CWorld::SetLight( BOOL bLight )
6 C/ c& T; O1 ]& X. Q
{
% c! U' b6 \, x6 x9 g6 h- W
//ACE("SetLight %d \n", bLight);
k& K# G" b# Y
; Z4 X0 b: ?: E$ N
#ifndef __WORLDSERVER
8 i& H w" l8 j3 R; e7 W
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
0 G6 P; \! c$ P
CLight* pLight = NULL;
, Z, K9 h: p( s; g% t# Y" g% L
# z+ T! J+ |7 D& b* h
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
2 q0 h7 l. D: I& E- l+ R
$ l4 K3 M4 q& R' f* V
pLight = GetLight( "direction" );
$ z( E E% ~7 s. g, @
7 r* A7 X4 u9 t( l
#if __VER >= 15 // __BS_CHANGING_ENVIR
7 E8 N3 W9 t1 F) T7 U! {* h s
if( g_pPlayer ){
, O. N) x3 \! Z% C+ b- k
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
1 Z5 P4 \% Y( Z! ~/ k( f
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
' d* v, ^9 Z6 D9 U
{
L5 C" o6 P) L' w
if( pLight )
2 {* P* _9 `" V7 D
{
# c9 U* n7 d( M: ?5 Q$ t( d
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
1 N% ?3 w- {1 R( t' l# d$ {
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
' ^, x0 _" F5 b) _* F( S' @
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
6 D& z0 ^7 x, P1 l/ f
, j3 W1 `. p! C9 u& I/ \
pLight->Specular.r = 2.0f;
$ S3 A" v' d* W2 m
pLight->Specular.g = 2.0f;
4 ^1 ]6 u5 C8 n: `1 H
pLight->Specular.b = 2.0f;
2 w3 g8 `) k- f( X' n
! X9 ~/ z( z6 k. \- u5 E, q
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
3 u& P% P* K3 r8 f1 n+ ^( w
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
T# t9 k# L2 h7 d: T, }: J
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
3 q7 {3 L3 R3 i) r' M$ C: b
5 L3 S/ }5 s% a6 H- @
HookUpdateLight( pLight );
) p* `" {' d8 j- c; T
8 k* i+ ]* p& [- W% E1 U2 ~) E+ G
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( Y; P# T5 e( B9 }. e
6 D4 F, [# m$ Y: g0 h
pLight->Diffuse.r *= 1.2f;
3 u% m+ R" @/ Y
pLight->Diffuse.g *= 1.2f;
; A4 N& ^# z# N, w
pLight->Diffuse.b *= 1.2f;
* k: p; H4 q- _9 V
2 t5 C' k4 l, d# K* k
pLight->Ambient.r *= 0.8f;
( a' |9 |# K7 ]( Q2 j
pLight->Ambient.g *= 0.8f;
0 G/ s6 Q, W9 t1 n. s
pLight->Ambient.b *= 0.8f;
& F3 V1 v/ ~, r( K
1 a5 R; B0 ]8 u
memcpy( &m_light, pLight, sizeof( m_light ) );
3 R9 i' K& D5 m$ j) F
2 L% Y8 \$ n. a
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
: f* S* Z0 l+ n2 {2 k$ p- Z$ z
D3DXVec3Normalize(&(vecSun),&(vecSun));
) [+ j1 v" @: R8 |' k7 j8 M
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
/ u7 y+ {/ A7 H3 ?$ z9 s
pLight->Appear( m_pd3dDevice, TRUE );
* W! z M8 H( b1 y
/ B: w2 d/ ?4 Q, g
DWORD dwR, dwG, dwB;
: G w' h0 f! \) u6 ?) Q$ i2 f9 z% S
dwR = (DWORD)( pLight->Ambient.r * 255 );
2 Y+ X, i9 o) Q
dwG = (DWORD)( pLight->Ambient.g * 255 );
% o, D$ e8 l) C6 [# J% L% X
dwB = (DWORD)( pLight->Ambient.b * 255 );
6 w/ G. \7 l$ f% z8 S
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
' i7 c1 Q1 Z* q4 `
}
7 N9 O$ s+ m, I0 R
}
5 ?4 ]) o; ^, m2 A
}
) M1 M! Z! I! e6 B/ u# d
else
1 O0 p' B# L4 E4 p2 x+ ^
#endif
5 X+ d- v9 G9 t. e: ^
W# G+ h: i( C& p. b) I
if( m_bIsIndoor )
* B$ S* G) n& W
{
* k# c# v% E/ e" Y: H
if( pLight )
% t, x% |/ Z$ {, ?: F1 q
{
8 d. c4 d% g( f F- U1 ^
// à??μ oˉè*
' b. s, r) |( r; [, j1 `) H7 c
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
9 ^% D& G* Z! Z
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
+ [2 M' c& {; T
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
0 @: e8 j& i5 \4 m: o
n7 D8 d8 y) X& S$ y, ^
// oˉè* ??à?
; @4 l7 B; Z) Q4 b
pLight->Specular.r = 1.0f;
% d& c: Z( H: C! T9 E/ g: l) Z
pLight->Specular.g = 1.0f;
+ O" `1 F" M6 U9 o2 o+ N
pLight->Specular.b = 1.0f;
- w" i4 z- R& v7 H2 W
// àü?? oˉè*
* C' W1 X; D3 ~7 @
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
4 d5 P* ^; P7 p, i: P
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
" v0 s; J; c) N& A! H
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
) b; C( s0 V1 G
0 C4 x. D+ L: W% g
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
$ X6 Z+ C) W2 j! k2 [
{
. S1 W7 N, Z; J1 o4 Q. C
pLight->Diffuse.r *= 0.6f;
# o# `! ~! e( _: N+ }- G
pLight->Diffuse.g *= 0.6f;
8 e1 Q1 B/ R1 T& a
pLight->Diffuse.b *= 0.6f;
* ?6 K9 h$ e) @3 Z2 Y
pLight->Ambient.r *= 0.7f;
4 {" Y {7 W* [7 K
pLight->Ambient.g *= 0.7f;
, [& }$ b2 E( l$ r |7 x
pLight->Ambient.b *= 0.7f;
# {; z; e- ]$ |
}
0 `4 f: q1 _% O) _" `
3 W- E3 D+ {2 F3 \8 z
#if __VER >= 15 // __BS_CHANGING_ENVIR
( t) _ T: E4 l3 D, m# f) t( I
if( g_pPlayer )
1 B/ g; C3 S8 z$ O* E7 a
HookUpdateLight( pLight );
" S, l; a0 {4 H. |
#endif
- _# Y6 C4 B0 ~7 z6 F! g! N
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; ?# Y( X" N1 s3 P& F1 t
. Z( _* n7 S3 L/ o3 W. E8 D
pLight->Diffuse.r += 0.1f;
% Z# g0 G1 |5 r/ i) V
pLight->Diffuse.g += 0.1f;
* a" p, ^" S' O# c
pLight->Diffuse.b += 0.1f;
[1 t( Q0 N. @- @ i
// oˉè* ??à?
' P1 u4 R1 P; i: W1 b" L
pLight->Specular.r = 2.0f;
! @, }5 [0 `! u* X# s+ ]( m
pLight->Specular.g = 2.0f;
' ^" a$ S' |1 L% B; ^$ E
pLight->Specular.b = 2.0f;
, a# M2 ~7 _4 T) y6 `$ x8 S" Z5 q
// á?oˉ
+ z7 ?$ L6 m8 o% _) Y
pLight->Ambient.r *= 0.9f;
* T9 t% b5 B; t' ^( g" T9 P
pLight->Ambient.g *= 0.9f;
; m( ?+ g/ u- z4 D& i1 {
pLight->Ambient.b *= 0.9f;
5 _6 q+ C2 b3 h& [
& l% B3 Q; N# A" w4 q
memcpy( &m_light, pLight, sizeof( m_light ) );
) A( P; @ H$ k+ m" T. f" b
' f( X8 f7 U; e; Y6 c+ l
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
$ W, q) C' n( z( }5 A- Y
pLight->Appear( m_pd3dDevice, TRUE );
& H! p5 k5 v, D- F
2 V, |6 }/ o- v# J$ N6 H0 Q
DWORD dwR, dwG, dwB;
\+ L4 {6 N9 Z: X9 n8 a
dwR = (DWORD)( pLight->Ambient.r * 255 );
! i0 N4 ]% e3 T5 g0 J
dwG = (DWORD)( pLight->Ambient.g * 255 );
4 ?( {- F, P/ H: A) ]/ Q# l
dwB = (DWORD)( pLight->Ambient.b * 255 );
+ r, U c, I% j3 K; O9 k
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
/ F( l `6 r; ^0 c
}
' I. ~( M$ u' H+ }, [
}
: c7 n0 r+ Q1 @) m+ x* [! c
else
; t7 [1 Q2 z6 {% e) C
{
, g7 p1 C" V! T e# G6 x. B8 v
if( pLight )
0 t8 h/ d/ o* n) M5 e0 }
{
. y6 |% p5 C+ a w5 M
- U% l; ]0 y1 v8 L! d$ c
int nHour = 8, nMin = 0;
) E P7 k- Z. |, b
#ifdef __CLIENT
! U5 B N# m" e# J
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
- E) y4 k1 n+ z& P q+ a, h
nHour = g_GameTimer.m_nHour;
; f5 C h* _7 ?
nMin = g_GameTimer.m_nMin ;
" B2 T! B: [5 o$ M( {1 c# R1 {
#else
+ o, ^) \1 }# E. c; y* e! b5 F4 F! D
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
0 a& [8 m3 J+ ~7 k1 i' ^
if( m_nLightType == 1 )
5 y: a! ^3 t3 z8 C. t
nHour = m_nLightHour;
/ v0 e3 O) A; {+ b$ G3 e' G/ w
#endif
7 ~' ?, `4 U1 {
nHour--;
' ]* I' n3 y z3 m9 Q$ b8 H$ R& O
if( nHour < 0 ) nHour = 0;
! t O' m2 E2 y! S" z
if( nHour > 23 ) nHour = 23;
2 u- q/ s& l+ J8 P
- y1 P+ u' \ T* _+ m M
//if( m_bFixedHour )
" w* v- S, k- i% v- V
// nHour = m_nFixedHour, nMin = 0;
% U, p+ G) D. v$ T
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
6 p3 v0 j1 O7 o9 u
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
3 M0 V5 n0 ~) N; `8 i
& e/ q4 b: V5 o4 w' j
//m_lightColor = lightColorPrv;
6 T$ m) j. M, d! J" ?5 j
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
, _1 N1 J& x1 G! B
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
2 R+ \* z+ N y1 h
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
9 l: v% I) ?$ v! x, h
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
" G) w/ ?+ R! e. v
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
1 ]- d, k+ E% H1 k
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
, L* ?. S# F/ M7 R
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
0 c& x$ V4 g; H) u3 v. \ e
4 y+ h. d! {- _
// à??μ oˉè*
( F8 ^" B$ `) h. H. h' [( ~8 ]( j) x
pLight->Diffuse.r = lightColorPrv.r1;
/ R% _. ]1 q" T( ?/ `+ \
pLight->Diffuse.g = lightColorPrv.g1;
t0 p7 t0 ?4 N3 y- A! U' t
pLight->Diffuse.b = lightColorPrv.b1;
0 B0 D4 P: Y$ `, d0 T8 c2 |
// oˉè* ??à?
7 z* ^: p3 d& T! r8 v1 P. k
pLight->Specular.r = 1.0f;
& T7 L* g9 I. o9 X( B
pLight->Specular.g = 1.0f;
* e' y3 S3 ]+ T" E* Y
pLight->Specular.b = 1.0f;
' Z- ]: e* u& H; q- d% E
// àü?? oˉè*
/ |8 ] H; F& x" X5 [. v
pLight->Ambient.r = lightColorPrv.r2;
# o" B( y8 ?. B% w0 c+ |7 Y9 P
pLight->Ambient.g = lightColorPrv.g2;
- i$ X9 N6 z+ o3 H+ [
pLight->Ambient.b = lightColorPrv.b2;
* M; m% @/ Z' m8 N5 A$ [
# O' G5 ]% l( F6 {
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
0 `5 j9 {5 i5 r" C5 z" g. g
{
3 Q: Y( ~. X8 e1 E
pLight->Diffuse.r *= 0.6f;
4 q; o. s7 e7 Q. o6 [
pLight->Diffuse.g *= 0.6f;
0 O8 f! ^4 w0 I8 J. `
pLight->Diffuse.b *= 0.6f;
$ x" E ]5 i9 V* N5 W; @
pLight->Ambient.r *= 0.7f;
! d/ `3 T- Y4 b# ^- q7 C
pLight->Ambient.g *= 0.7f;
( J A: ^8 T- i8 O9 ]5 q5 x6 w
pLight->Ambient.b *= 0.7f;
% T! d# \. o1 H1 }: X
}
. h: G1 X4 u" I' `9 g' f
" W, A( s9 o) U! I; z
#if __VER >= 15 // __BS_CHANGING_ENVIR
& g4 ~. } p6 q0 L
if( g_pPlayer )
& y3 L" e3 E! Y- v0 s" A1 z% p9 N8 h
HookUpdateLight( pLight );
1 }0 {/ j8 Z1 A* W- F
#endif
% S4 m$ V8 T+ W* E0 M: C8 r% k
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( G$ \0 K3 Z" L7 O N
2 k! b; w) o5 ^, p! e5 W, Y
#ifdef __YENV
: w8 w6 \. U5 z4 Z
pLight->Diffuse.r *= 1.1f;
: t) j! B! ~) A$ K0 w7 S
pLight->Diffuse.g *= 1.1f;
' y0 g$ I+ b$ u# p$ I, L: w$ c0 r
pLight->Diffuse.b *= 1.1f;
2 s" L1 _) m: y, Z7 _
// oˉè* ??à?
9 ?# P( ~$ q; f" M5 j
pLight->Specular.r = 2.0f;
. B+ D C* Z# h- P& B1 V
pLight->Specular.g = 2.0f;
1 s# ~: X" n& q$ a% v5 d
pLight->Specular.b = 2.0f;
/ m% ?$ n4 h+ }6 t9 R
// á?oˉ
5 @- X: O( s1 j6 m4 x( \
pLight->Ambient.r *= 1.0f;
5 C) f" R/ l/ E" H' o
pLight->Ambient.g *= 1.0f;
) B3 |, ^9 l# n9 g
pLight->Ambient.b *= 1.0f;
/ L, Y+ m1 K1 I$ q8 ]; `- c: T
#else //__YENV
: F2 u% C8 q6 S2 D- Q
pLight->Diffuse.r *= 1.1f;
+ L' u0 u% g+ X* |
pLight->Diffuse.g *= 1.1f;
: D0 y$ Y8 U2 x/ r9 L( I7 e
pLight->Diffuse.b *= 1.1f;
( ~+ T \; J/ x u* G
// oˉè* ??à?
' l+ ]4 R6 Y! U2 o8 _
pLight->Specular.r = 2.0f;
/ z3 p1 E8 c1 M$ J4 u
pLight->Specular.g = 2.0f;
% x* `5 H7 Q3 Z, c9 U
pLight->Specular.b = 2.0f;
/ W$ E l8 h2 A7 L+ a* l
// á?oˉ
; x2 H0 a* p' `0 ?7 ^
pLight->Ambient.r *= 0.9f;
X( K B& P! f
pLight->Ambient.g *= 0.9f;
. `5 h8 K$ x( k% t/ _0 D- J2 F
pLight->Ambient.b *= 0.9f;
8 V$ f1 d6 }; y, R& B+ e
#endif //__YENV
- I) {2 E/ X- v: _; r8 ?+ e
) P6 s$ L6 q# S* H: J' V" w
memcpy( &m_light, pLight, sizeof( m_light ) );
+ [) C9 E/ Y/ O& t$ g) r$ v
% u% L u/ F' S( Q
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
( z E; M9 F6 B/ ~' B/ M- C
D3DXMATRIX matTemp;
; s# P- f, J9 m! \" X3 h
static const float CONS_VAL = 3.1415926f / 180.f;
, |9 q* ~& H% }6 E9 i; ] z' |) q, ?
" ]8 u$ l8 \8 X+ `& b% Z( z% _
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
! h& W: m% [% B6 ~$ ]2 `0 N. Y
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
0 Q# n, J$ F* u" x" j' y
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
0 u% w& S$ }( J8 r* F
pLight->Appear( m_pd3dDevice, TRUE );
4 E; X7 ?1 G( g8 [1 d# z
5 V. a$ J G- e4 Y
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
$ X. F4 B# y( G! i9 o& s
// D3DXVec3Normalize(&(vecSun),&(vecSun));
) ]1 O& Z, r+ T- w6 x+ n9 Y5 m/ A/ ~
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
/ X, A6 E) @2 U# n w; U
+ _0 ?6 s% s, H
DWORD dwR, dwG, dwB;
9 d! H; Z5 H1 V% B+ y- y
dwR = (DWORD)( pLight->Ambient.r * 255 );
. y/ Y+ Y! S$ X5 H+ m. j6 ?. o
dwG = (DWORD)( pLight->Ambient.g * 255 );
4 [ l+ J- D/ _" G0 y
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 Q7 E3 l$ ?) l7 A
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; j9 T: y. r) h' D8 L& [
}
. {7 H/ z: L# f) X
}
/ V; L. ~/ E( Y& ^! q% ^
: d# ?8 R* b S# K) R- U# O" U# B
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
2 g1 ^$ o; g+ h6 |7 Q
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) );
" Y; y! H/ U( y6 a( M
::SetLight( bLight );
' a7 p' ?+ T8 ^& p& p* O$ s
5 _5 R6 j$ s' C7 U( V! f
// ±ao? ?D?í???ó á¤à?
1 k8 [8 t* X5 g6 W+ b( B+ G9 m
m_pd3dDevice->SetMaterial( &m_baseMaterial );
' H0 u, L* [6 o/ x" @. h
0 O$ i& p& }( ^. w' D7 n' j
#endif // not WORLDSERVER
* e2 J M" Y, j/ t0 R
}
4 U9 D* b9 A6 c& ]( [4 W" [6 ]
并更换
; d0 Q0 B5 p% y( v5 Q+ _' b7 n
Code:
* g2 K8 m6 Z4 D M) h% M
__FLYFF_INITPAGE_EXT
4 v6 W6 @) | E, S/ p
定义
8 e k; N# e5 i+ H' |- g3 K# q
U) ]; `6 ?/ m y' r
4 Y# t! V- O. b# I/ u
6 @5 Z7 y9 G: p
8 d/ K8 q W/ p) X' ?7 P8 m
现在终于删除我的狗屁加速...
. U$ x6 X) w a3 g5 m
0 p2 ^/ l5 u# f' ?! ^8 s
5 F8 d: j" i! R) q( D; m
! N% l. r( V. w p
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2