飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
$ f, G& s, U6 |0 I2 x
尾翼:
) i/ d& P4 H3 J: E _! T
% I! l9 R- c" s+ o
代码:
7 G; w1 |1 h `
CWndAutoFood::CWndAutoFood()
. A: k& _; _* Z O) f
{
1 @% k7 v2 C* c7 t0 W. W
m_pItemElem = NULL;
- F7 \+ r& K9 J
m_pTexture = NULL;
8 i3 i: _3 [" d" z
bStart = FALSE;
( p# O) w6 n8 u% m& ^% z! i2 |8 O
}
6 c! `$ h* z/ L. S6 O% Z8 m
% Z' v* m: B+ z% w; E @0 H+ d
CWndAutoFood::~CWndAutoFood()
A$ R6 Y2 q* f+ ~
{
% T5 X+ z- H1 k
AfxMessageBox( "AutoFood ist gestorben
" );
0 ~ H& H$ T6 S' q6 L7 i8 e
}
, r7 Q9 b! x. i$ @8 D+ Z: y
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
4 p3 _2 W3 Z. U9 \! b. K; b
{
5 ^* \& J- m% U1 R2 i2 W
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
7 I; ~/ t" T: c2 y- o
}
5 m; u; k- q' h- ?
$ @ x2 J- ~/ i' ]( k! u; n
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
9 d) l0 o& {' C- g4 S( Z
{
; k) H8 V! I; K e
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
/ h2 x; O( h+ p% N( p) T3 p% O0 J) e
CRect rect = pWndCtrl->rect;
( `5 g: U# v! U# m5 C
if( rect && rect.PtInRect( point ) )
" r7 Q/ a4 @, ?) D
{
9 ?1 F) b& c5 C& m
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
/ [$ e/ O/ o" o j
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
% y1 }; R x2 b g# |0 l' V, o% x
{
) I. L9 T$ k2 |, M
if( m_pItemElem )
+ x9 P/ L0 A0 z. a6 [* K
{
$ W3 K0 N$ z8 K2 Q" @, ]
m_pItemElem = NULL;
+ a/ `8 Y5 N1 I. {/ s
}
: |3 a! v( H( _" A- o6 \
m_pItemElem = pItemElem;
: X7 s/ E+ j w3 h& l) C% s9 _( Y1 D
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
1 Z, X' e' Y* S6 d
}else{
0 b! i" ?7 A7 k0 q! Z) {
SetForbid( TRUE );
# G; S9 R# X. n# c# T
}
: D# _( m2 v7 p0 ?8 s$ M
}else{
2 u# w* l: P( I B5 s( u/ ]% D+ W' [
SetForbid( TRUE );
& P! J! p1 P9 z0 H
}
+ v0 | Y6 m' L0 W
return TRUE;
' W1 @4 e( ^# }# z2 U7 X
}
( {) N4 U6 h! C8 B
4 `1 V: w, C3 A- K
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
; o5 I4 Z5 A2 ~- u$ r Q7 z+ `
{
- q! j$ c4 _1 |/ p1 t" U. B: V
switch( nID )
4 a' \& C# B* G/ G' L# ?
{
& W% `( t! J# X) }2 j
case WIDC_BUTTON3:
3 _( t+ d1 `3 f- i
{
3 D- `: g* w8 k8 r7 T* O7 D, F
bStart = TRUE;
" c0 H0 r0 ?9 \! N( _
break;
; x1 A! x( E! t# s2 D
}
8 [0 A; D! p. q& u! b9 e& H
case WIDC_BUTTON4:
, j! s8 |0 @8 u4 l+ V- M" Q
{
* u$ }% ~' `6 D4 ?' L( T ]
bStart = FALSE;
- E2 c) T; N5 T* Y
break;
% z& N( S% h$ F5 c. F
}
, c, P# z7 F6 }* F/ ?' M" h' @! N( E
}
`5 `) ~" y4 F$ M+ u( v
return CWndNeuz::OnChildNotify( message, nID, pLResult );
$ G F9 w4 v Z. z, A/ F
}
" p5 q- I8 v, G ~4 i
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
^8 T7 {! r; z7 k- w
{
4 |" ]) ^: s* b
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
6 g+ E' l1 {$ D3 e" W& j1 f- V
if( bStart || !m_pItemElem )
7 V# m+ H5 A K$ B! I$ |) p0 x
{
$ @- N; }- T2 ~0 z! u
pBtn->EnableWindow( FALSE );
7 `% L8 G5 i) ~. G6 T; N2 a d
}else
; U$ Y/ X% O5 j$ B, ?
pBtn->EnableWindow( TRUE );
5 e- m& j+ b7 d& r
if( m_pTexture )
" K9 e# h) U5 d8 x* }$ m
{
4 z9 ^1 x8 K4 W* M- z# i u
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
0 D7 n; x/ K% T" H9 o: A
if( wndCtrl && wndCtrl->rect )
X. I8 S2 s/ w! A& ]
{
; Q; B3 D4 d2 R' n7 k" B1 \* L
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
" Z2 U1 ^" a% Y. b
}
3 L# _$ u0 |# a
}
j, _" \& @+ n3 @
}
, q0 g, V8 H+ H6 s
2 j1 f" h, Q; S; t% e' e5 y
BOOL CWndAutoFood:
rocess()
: z$ ]2 F: P( o9 D: l
{
' R' @! h, [0 {
if( bStart )
" X3 T9 W$ q2 |9 B: g* Y
{
6 S4 @5 h* @5 J1 c
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
% V- i% _0 p0 l: L
{
, e4 V6 q, u1 O' k0 N2 V
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
5 G1 D Q+ G7 E; f6 w
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
5 M5 m1 @" ~& ?$ n3 r
}else{
% Z; |, {! Y) n
bStart = FALSE;
. r+ }$ v3 p1 r* l# C: Z. Y, q: X
m_pItemElem = NULL;
2 X% I- S3 t: I; Y
}
1 E) O3 G: @. v
}
1 i% P6 A) h2 s4 _5 @, w
return TRUE;
( n0 ?: x' m- g
}
7 G5 q+ J1 D, a( J* [. J) L
# e* E& ^. U# H& j. i2 F+ a
登录视频废话:
4 F& ]* h: f$ ~- I l1 v
尾翼:
- o. T2 C+ K( |8 L4 R) N$ z
" S% {: [/ q6 J1 U! L. C6 ~/ y
代码:
4 Y: r: t) K5 W$ h! f: ^
+ ?: n+ U8 [. z6 l
void CWorld::SetLight( BOOL bLight )
# |% E/ n' X) W
durch
7 g. w" Q6 c( X" b8 O" ?' j
Code:
8 P! l* @. y$ x5 K0 C
void CWorld::SetLight( BOOL bLight )
/ K# ~7 @4 @' j4 h! b; x( K
{
3 }3 g8 a' G( G# I
//ACE("SetLight %d \n", bLight);
, K* D3 t, ]4 ?- \' U$ h
0 H: h- d- T9 Y+ m7 {: Y" k
#ifndef __WORLDSERVER
6 \" C! |' Q S" X. d- J
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
- y+ r: D N, ~3 _, o
CLight* pLight = NULL;
& `3 J9 N8 u1 k/ c
' f, z$ v$ V% p& H/ N
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
# q6 b6 e& d$ o5 |# J
5 Z5 p4 ^* O4 P* `. V# B2 E
pLight = GetLight( "direction" );
) P" R/ @5 L: J x$ ?2 I7 \2 c; f" s
( B7 z* t# g1 J0 J
#if __VER >= 15 // __BS_CHANGING_ENVIR
7 M/ T) d) @! J' F
if( g_pPlayer ){
* z5 b' j" O+ [
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
; s5 ~5 v1 y( v9 F* m; E
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
2 ?( s$ F8 r, o/ E5 h3 h: @8 V
{
9 j! @) S: W$ P! T& l+ J2 Z: f
if( pLight )
$ j' T+ ?' D- ]8 X# x5 d. f
{
7 @2 ]4 X; g" v2 Y
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
$ v, l1 C8 h1 P3 C* O
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
2 C' c+ q) m9 U3 i# F
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
; Q1 `4 Y: G ~3 Y9 d2 w
8 r' _; {# [8 C9 h) B& K3 F
pLight->Specular.r = 2.0f;
5 m2 O' N* n( R. g% z
pLight->Specular.g = 2.0f;
! \ |4 i, D Z" c" I; H; \8 f; }) f. N
pLight->Specular.b = 2.0f;
- ^9 O" B' ]/ r+ v& A
' O6 r" e6 a- Z5 B0 ]
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
% h) I1 T) Z3 \# r2 x
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
/ Z3 b# G e+ q7 D# ^5 ~& I
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
7 P2 C. F" U8 r( t$ L% @4 G1 o
0 S6 I& A9 D$ L( Z! I! @; ?$ V
HookUpdateLight( pLight );
5 }& U4 p8 y/ |0 h1 D
* g" }" z' |, t+ Q
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
* ]) b4 T" j7 w
6 V5 y' _5 S) ?, y7 h* w
pLight->Diffuse.r *= 1.2f;
I! f2 O5 T% D% q E T
pLight->Diffuse.g *= 1.2f;
8 i n+ p" _3 e( i7 O7 `- ~
pLight->Diffuse.b *= 1.2f;
& n6 ~! i0 ?- q4 W; `
( o. ~7 k% l4 f H G/ [
pLight->Ambient.r *= 0.8f;
5 r$ V* f& B! Z: j' w0 k
pLight->Ambient.g *= 0.8f;
~& j k; ]/ \$ [
pLight->Ambient.b *= 0.8f;
% z8 A9 a+ I$ W- J7 d& p i
# F. @3 {, v/ G5 R5 J# i% O
memcpy( &m_light, pLight, sizeof( m_light ) );
4 U$ `: `6 J$ q6 R6 P s
& y5 d& I' I% ] {0 Q( W1 D
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
7 i! w2 m2 z% b. \+ h( e D
D3DXVec3Normalize(&(vecSun),&(vecSun));
8 U. k7 L4 L6 H1 Z& f. i) s
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
" b* p: B# T! ^' v
pLight->Appear( m_pd3dDevice, TRUE );
3 n q6 _$ C; o0 o
9 q" D) e9 k% W; o! Z& b$ l/ L
DWORD dwR, dwG, dwB;
5 V& i% {( D% n! x2 A7 M
dwR = (DWORD)( pLight->Ambient.r * 255 );
# t8 Z- E( n% O" x9 Y
dwG = (DWORD)( pLight->Ambient.g * 255 );
2 U; E) p7 }' V8 D$ [) P
dwB = (DWORD)( pLight->Ambient.b * 255 );
4 \8 ~ t8 z' j, T/ R1 O/ T# b, D
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. g/ t$ D& H5 D
}
0 _5 @7 g1 O2 z' d
}
( P* s1 K& b/ W( C
}
6 c0 U3 ?, u' F: O
else
" ^( D; W ?0 @# @2 v5 M5 L
#endif
; A6 v7 C5 d+ R8 S3 ~
8 @+ r) a, o9 X$ p- Q; X3 x
if( m_bIsIndoor )
2 @2 M" O. o' i) P8 c& x
{
* A" }) @4 B0 Q/ B
if( pLight )
! F B# g# V- b, s) h
{
2 E; q8 `! r1 F8 {( N
// à??μ oˉè*
' i' p, ]3 ]5 ~8 r
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
& c9 c* Y: \; @' q5 j+ L$ A
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
- H% x( b' O8 S( d* a. W
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
9 _; x1 X5 t& l6 X% B
& N/ H) Y0 E! A; _+ U
// oˉè* ??à?
3 b% Y3 j/ K: m/ U
pLight->Specular.r = 1.0f;
' n/ { Q( X9 Q4 i
pLight->Specular.g = 1.0f;
( K g: o: l; N7 Q. m; j
pLight->Specular.b = 1.0f;
, o/ G* ]0 P M F- d
// àü?? oˉè*
% {) i. [8 x# @' H, b5 f
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
! Y$ B8 s7 t7 l7 `0 z4 x; [/ G
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
6 K2 h( g2 t2 v! _& _
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
0 x8 X; Q" i; j2 [
+ J; m3 R7 p+ U2 m" r0 S/ F0 u; @
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# {5 h# `8 l% A l* y
{
' n/ Y3 f$ u8 Q( W, X: Q- I
pLight->Diffuse.r *= 0.6f;
3 o" G" N4 \% Y1 d
pLight->Diffuse.g *= 0.6f;
& q( K. P, {( ^7 r- E# z
pLight->Diffuse.b *= 0.6f;
2 \: a- J! `- J( K2 d
pLight->Ambient.r *= 0.7f;
% q0 R9 n0 B* A) E
pLight->Ambient.g *= 0.7f;
; O, J+ |6 ?! u9 T( t9 c, _+ B
pLight->Ambient.b *= 0.7f;
/ j5 J! E% s$ I
}
: \2 ~( k" F+ S# w1 @
6 X$ l# s" \) o8 E
#if __VER >= 15 // __BS_CHANGING_ENVIR
, E5 W. ?- a+ r# p5 { s6 ?
if( g_pPlayer )
' {6 q" f n8 B. R
HookUpdateLight( pLight );
6 M3 g/ a' d4 Z' a# ?* p( t- P
#endif
. j8 \: a5 P% o6 A2 L$ K
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 ^2 Q% J: e: D* K; N2 {$ k1 u
/ J" M! g, T, x v
pLight->Diffuse.r += 0.1f;
% d) ^2 o& A J* K+ o2 Z/ A
pLight->Diffuse.g += 0.1f;
: l! c- ~$ H3 J. C0 X
pLight->Diffuse.b += 0.1f;
+ J8 c. _: H0 X$ ^
// oˉè* ??à?
/ e" Q m5 I8 N, u
pLight->Specular.r = 2.0f;
6 O# o$ ?) _2 b5 ^
pLight->Specular.g = 2.0f;
. Q0 J. a( W+ h$ |3 t& G
pLight->Specular.b = 2.0f;
8 H( }, T$ {7 E" W" Y' o
// á?oˉ
% }8 t/ b- h8 v# u+ p. g) d
pLight->Ambient.r *= 0.9f;
+ p# j) Q5 [6 H7 |( \
pLight->Ambient.g *= 0.9f;
! a- z( }6 k% j
pLight->Ambient.b *= 0.9f;
# k- Y% m; m w% Y4 a) o
( S9 {0 J2 p1 l6 F3 _6 D" N
memcpy( &m_light, pLight, sizeof( m_light ) );
7 G2 p2 v5 `" F9 X
: ^5 K6 L8 D8 y/ B, Z. U
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
9 n {1 t/ W* b$ v
pLight->Appear( m_pd3dDevice, TRUE );
( I) g- g9 d) {: V+ A7 w% V0 m
7 @7 m9 W& ?1 G
DWORD dwR, dwG, dwB;
. g- u! @4 x( m
dwR = (DWORD)( pLight->Ambient.r * 255 );
% j1 u( n% R8 K9 d, ^9 D, ~0 _% H
dwG = (DWORD)( pLight->Ambient.g * 255 );
4 J* s, w! ~( J& J7 Z
dwB = (DWORD)( pLight->Ambient.b * 255 );
" _) m/ H# t: }" z5 j. R- A
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
E8 {& s+ R. H
}
: y% Z/ {; ^; Y7 A$ G, K* O. Z
}
: h' c9 Z5 H( b1 g+ N! N% k
else
@" q6 L5 j7 I$ w! t& |/ k' f
{
8 ~# w% n E* R4 ^5 F) S$ h
if( pLight )
1 ?. m% o Y Z5 k( t4 V7 J. E
{
" C9 v' G! k9 |8 p
* ?/ Y$ i6 [) C- V( D f
int nHour = 8, nMin = 0;
/ C; @& q, E. u+ @
#ifdef __CLIENT
8 D, ~3 J1 R7 n0 q: p# R8 L- ^
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
8 _0 o$ ^/ x) W% M* N/ ?
nHour = g_GameTimer.m_nHour;
# I% U% w9 G/ q+ l1 z8 Y) T: u7 ^
nMin = g_GameTimer.m_nMin ;
# P0 Z* t& D: Z0 b3 J5 q8 M7 s
#else
5 Q8 T8 s4 o8 y/ _
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
w! S6 T1 l3 O }
if( m_nLightType == 1 )
# `$ y$ f4 Y* o% o
nHour = m_nLightHour;
2 I o; c' S, o- B
#endif
- R( U6 H+ r7 P$ _- S4 p$ b- n
nHour--;
% d' k6 o1 k( _0 N
if( nHour < 0 ) nHour = 0;
5 e" C! L* L2 J, O; d
if( nHour > 23 ) nHour = 23;
0 S; v* ], L6 U# H+ Z, D
) ]3 h9 l% ]' L2 c& T9 C3 b
//if( m_bFixedHour )
4 G; [+ j% I( j, f& U. A; X3 V+ E
// nHour = m_nFixedHour, nMin = 0;
# V( {* X5 O3 Q X: o( n' U
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
3 Y4 j' P* D8 J* F( O: M/ j4 S- R
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
8 C% B; u* P$ T, n: o& i
) {; Q/ L, h. A' g
//m_lightColor = lightColorPrv;
" p0 j( C. {! l, j
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
8 e8 u0 D8 V$ t2 b3 Z, `. z
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
1 `3 n) F9 J, q
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
8 J4 N9 W2 h9 I0 c8 ?
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
4 n3 @; P8 o7 }6 j8 N$ [' ^
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
, H+ r" a- I5 f, k
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
. p# {4 a0 | z+ c9 f
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
4 N0 R. W k" \) _( D
2 W2 d' ~: p" I7 N* F5 ]1 ^
// à??μ oˉè*
+ H2 \! _) A' b0 G( \
pLight->Diffuse.r = lightColorPrv.r1;
: R2 b) V' j& w
pLight->Diffuse.g = lightColorPrv.g1;
$ j' O$ o) l. e) z8 P0 m
pLight->Diffuse.b = lightColorPrv.b1;
: o! G" v. J1 J& P+ t, P
// oˉè* ??à?
2 u1 I! h: T& B- ~1 s
pLight->Specular.r = 1.0f;
$ U0 A, z* q- J
pLight->Specular.g = 1.0f;
2 k2 Q% w, u/ a" s h, X q' I: {
pLight->Specular.b = 1.0f;
8 i1 j8 S! Q% j
// àü?? oˉè*
( \( o5 J, o: }4 a# n
pLight->Ambient.r = lightColorPrv.r2;
- X+ W' M, V8 w5 ?! r
pLight->Ambient.g = lightColorPrv.g2;
; V7 m. d/ e$ F. v8 k
pLight->Ambient.b = lightColorPrv.b2;
: J; w6 [% p2 l, F' z
8 b3 z' A X$ O z' u- [
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
4 T& V# j4 Z, T& S+ }
{
f6 Z0 p/ I) m% F: N# |+ Q
pLight->Diffuse.r *= 0.6f;
' |' u) ?) n% b; R
pLight->Diffuse.g *= 0.6f;
" M/ t7 b, c8 {+ ^
pLight->Diffuse.b *= 0.6f;
8 D. ?: y* Q9 `; _; I8 ~2 L: u/ I
pLight->Ambient.r *= 0.7f;
. j2 ?4 \+ U( l3 ~' V4 X
pLight->Ambient.g *= 0.7f;
" B" i4 e/ [" G
pLight->Ambient.b *= 0.7f;
& m) w- g: G- ?
}
# v# Q, [) d' P/ u: ]
4 E: J. n8 m" V$ c g
#if __VER >= 15 // __BS_CHANGING_ENVIR
: x& x, e0 p: x, i: @
if( g_pPlayer )
% l/ q) N9 w) j8 Q* j+ y) G
HookUpdateLight( pLight );
; n! A& ]: z$ o" b: ? ]/ K/ _
#endif
Z# D1 L( p0 q" n/ V# P6 N
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 Q# H% v: \1 i% r- w- d
4 F( G ?. P" e
#ifdef __YENV
, p! }! @% v, M d4 e7 J r. Q+ V1 }
pLight->Diffuse.r *= 1.1f;
6 S" y/ O5 T% G2 R
pLight->Diffuse.g *= 1.1f;
5 C) v/ J6 d+ J2 j
pLight->Diffuse.b *= 1.1f;
/ m2 [5 l2 ?" i) L" ?' M; P ~( o
// oˉè* ??à?
3 h( o# v m( \. y2 @
pLight->Specular.r = 2.0f;
; y6 e' K+ _4 [
pLight->Specular.g = 2.0f;
6 ~# |. M' L: u G: L) m* n" h
pLight->Specular.b = 2.0f;
) f+ Z6 D8 n2 v4 I7 K4 F! i% ^
// á?oˉ
$ f% z5 d! D4 G2 Y( |6 B/ E
pLight->Ambient.r *= 1.0f;
1 `4 j# T6 d5 |0 O) f/ v. Y7 H
pLight->Ambient.g *= 1.0f;
0 G) A- Q! r" F/ p. |
pLight->Ambient.b *= 1.0f;
+ O6 N: v6 p! p7 e% {
#else //__YENV
+ L+ ~0 L, I- x' a" _ P0 ~
pLight->Diffuse.r *= 1.1f;
( Q: _/ N7 {+ G1 N, [
pLight->Diffuse.g *= 1.1f;
7 \1 V3 A0 s! p, f% o2 @; o4 ]
pLight->Diffuse.b *= 1.1f;
1 e2 S* U; [0 L6 |! M: W
// oˉè* ??à?
P8 a3 T: ^7 G5 D: c$ L* B% ^
pLight->Specular.r = 2.0f;
) P+ [' O O/ e Z
pLight->Specular.g = 2.0f;
+ {: w* [5 B. R' O& b9 [! D' O
pLight->Specular.b = 2.0f;
! w% T7 j% F7 O
// á?oˉ
' S: W) m/ E9 x5 m) C
pLight->Ambient.r *= 0.9f;
8 q9 N7 }& N7 g! H+ q4 Z
pLight->Ambient.g *= 0.9f;
" H6 q0 Q5 E0 @/ e8 @
pLight->Ambient.b *= 0.9f;
! H* z5 t( G- G+ p
#endif //__YENV
! e0 o0 d8 e' n* ?
+ e) n" ]1 S9 x( H
memcpy( &m_light, pLight, sizeof( m_light ) );
: D f4 U* J1 d* z- j0 \
3 K/ a% V6 o' J' N7 {
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
6 l; B* F! A# z
D3DXMATRIX matTemp;
8 Z6 l$ ^2 ^ ?9 e( N$ ]; t/ i
static const float CONS_VAL = 3.1415926f / 180.f;
/ s# H& D8 E" `+ b; I
, B0 b* n3 @4 _4 \) h) X2 m
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
/ }$ P9 ^( y ]+ C
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
' ]% m. `- I( H$ {; @. z
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
/ R* h3 [3 \! x$ d
pLight->Appear( m_pd3dDevice, TRUE );
3 t5 Z6 o5 y: M" Z
; ?9 }, A7 ~- p4 ]8 @
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
N8 p3 ^, ?- c! }: K0 P
// D3DXVec3Normalize(&(vecSun),&(vecSun));
5 h5 j. ?- Q% d: u
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
8 ^) f- t- c5 N+ n) Z7 c
. T5 z. s3 F* K. L3 \7 _$ u2 V
DWORD dwR, dwG, dwB;
1 m4 a$ w, U2 U* Z5 r9 s9 U
dwR = (DWORD)( pLight->Ambient.r * 255 );
$ [1 S/ B* O* O- c' m/ h q5 q% p: Z
dwG = (DWORD)( pLight->Ambient.g * 255 );
4 l& a6 o9 K7 {' Z0 w
dwB = (DWORD)( pLight->Ambient.b * 255 );
6 j; i' m# [* q6 Q/ l5 O
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 s, c7 e- V1 }: J) I2 b& h
}
, Y5 s+ I: A# Y5 f
}
/ w" _+ @) }% G7 Y) _ J
- F* ~+ y/ [& H/ r4 q5 c! n
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
4 ~2 X" e% ~( |
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) );
/ ]2 W8 m8 S% G; T
::SetLight( bLight );
+ _8 r+ N! n/ d# k- t
# P( v* w' a/ y* w) v$ h6 j
// ±ao? ?D?í???ó á¤à?
, \1 X" S2 ?1 F9 B# A
m_pd3dDevice->SetMaterial( &m_baseMaterial );
' g1 {3 t) t: j' e+ Q9 r( C
. A8 }# O1 L+ p4 _7 ?
#endif // not WORLDSERVER
5 \" E8 w G: v
}
( s6 M2 M2 ^/ O( `/ T! ]
并更换
; Y# L" B I M. d, `
Code:
3 u: ~- E$ x/ }8 f! I$ @
__FLYFF_INITPAGE_EXT
3 C4 t3 Y- g/ q& u
定义
1 u a4 \ \- s& W
1 A4 e, S7 z5 _4 P( m! W; s' A
, M5 {9 f6 z" v
+ u+ d0 B/ ]' C% ]0 J
/ m- u& _. z. i' [9 i5 O1 }
现在终于删除我的狗屁加速...
3 g! l3 C. J% s! c) ~
8 H6 Q% v' S- t/ u/ m
! N, K0 [+ }. K, ^
# c! e1 W% S8 N- y3 A, D9 K9 U
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2