飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
5 M" L5 d( \4 P+ o2 z: X: ]
尾翼:
6 F6 z; l) x5 _) E K x4 ^
8 x+ C% b& p- V
代码:
& g: C+ ]3 C, G# b/ j! G* |
CWndAutoFood::CWndAutoFood()
6 a/ ~! M& ?* d6 L5 o3 v& c
{
5 _3 M/ ?0 h: ^1 \
m_pItemElem = NULL;
* A1 @9 Y6 u5 P- q9 u+ e
m_pTexture = NULL;
' f# x8 A- a7 R8 `, u
bStart = FALSE;
8 O# x+ |$ F: D) ^: H
}
3 }# u+ v- ? M
( k! A: z' G0 k( S& e
CWndAutoFood::~CWndAutoFood()
7 I1 O: K" y- w5 I
{
, x7 ]( r/ E$ t0 X% a2 A/ c
AfxMessageBox( "AutoFood ist gestorben
" );
2 Q5 v6 R( g6 X3 M5 S. O" u
}
$ Q( D, H' t, ], _: |
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
5 {7 B! r7 X& ~3 h# V8 Z. y
{
* {' }! k5 F6 o3 l
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
- x* y- G5 y* l7 M
}
; `8 Y. N/ ~' b- l; [, b' n
( Y) M2 q& c- v' f
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
/ l9 N" |, f4 v4 j1 k2 \5 D
{
$ Z+ H: W% V3 p% s
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
- _8 `( c8 X7 b) s4 H, q& D
CRect rect = pWndCtrl->rect;
* U+ N! w" \ ^; U( [
if( rect && rect.PtInRect( point ) )
% L" ]( f$ B; K: t$ o. e
{
" D. X. W0 s! h$ o; u U
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
# n9 X4 k5 i5 c1 r" @$ z
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
T$ {8 _5 j- }% R0 `
{
4 J8 X3 A0 g" b+ V
if( m_pItemElem )
! w9 e& G- b) e3 ^; Q
{
/ d) y6 i+ g6 E' ?7 N
m_pItemElem = NULL;
0 `% D" X" c2 V8 n3 L, H5 \: W, N
}
. ?9 G% h& K: A( V
m_pItemElem = pItemElem;
! S2 R1 g& K3 i0 E6 U* O: V
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
& Y7 K) O2 |+ c A* s
}else{
R5 `& Q4 G. r3 b" Q4 x
SetForbid( TRUE );
7 c* r4 ?. J! j1 C% }6 _+ l. q
}
* j5 b6 O( ~/ w* A& J3 M" }
}else{
5 w6 J4 }8 M& |* Z9 p. X
SetForbid( TRUE );
: d/ W: L% f/ K! r3 j
}
; V) ^( r. m+ u# w5 I5 h
return TRUE;
+ U" I( D n. m% f# k6 n0 d# ], H
}
* e% J- m* q) S: z* b; @
3 e" o' m/ _/ z( b+ Y
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
& s/ _8 _, k' ]+ P0 d
{
" d+ c2 g0 F+ P, Z
switch( nID )
+ E& L4 Q: _. s7 T
{
6 {$ a, v N$ g+ M2 N, P
case WIDC_BUTTON3:
$ d9 C- C2 j# `' @3 X% z9 `
{
% N- P3 K" ?) E+ W
bStart = TRUE;
* f% L# k! L5 E/ d6 p& x8 ^
break;
$ L# g! g6 I0 u! b! @9 y1 l
}
* `2 q K- p$ a% M- e' `
case WIDC_BUTTON4:
: {* i5 m; |" B1 I" p& f! R- ?
{
& H4 K4 J' [. f% Z$ u
bStart = FALSE;
7 i+ {5 W7 V( g+ ]& ^/ p: I" O
break;
8 p+ b5 m/ L2 X
}
% o" A1 e4 A) `, d& ]' A
}
' c+ z8 `" m6 [- z; @9 P- `
return CWndNeuz::OnChildNotify( message, nID, pLResult );
0 `+ g3 R9 Q/ b7 }
}
: W1 ~# b1 o$ k8 T3 {/ \
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
! X3 ]2 W# L4 W- \: H u+ g) _/ S
{
* Q8 i( f* i; k9 C5 h: B
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
" }& F7 b5 |$ X& |) h& _# d
if( bStart || !m_pItemElem )
$ Z" M/ n/ r% g3 k) R4 X* q& Q
{
. I5 h j8 B) _# Z7 `5 ~
pBtn->EnableWindow( FALSE );
* B' J7 ~" \* F. B# B6 x7 j
}else
5 h$ D# {6 g' A5 G5 m( w7 ~0 v) ]
pBtn->EnableWindow( TRUE );
8 \1 `: H2 z" v8 P3 C: Y( U' P( A7 |
if( m_pTexture )
p/ q. @7 m5 ~. j* k
{
7 c7 M8 ~5 o# U0 h9 ^$ {9 u) r% Y
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
0 M, |! y. r4 X6 |" x/ ]
if( wndCtrl && wndCtrl->rect )
6 F5 {( B9 h% ]' ?. Z3 a( c
{
( I. R2 r0 Z- u% p0 J
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
+ v9 W- m% p$ a. c
}
3 Q8 ?3 e# z Y; E/ u
}
3 n+ m' ?: H, G+ r# G
}
9 x, b" {% ?0 ?1 y
[& ] f; r7 r, O" Z
BOOL CWndAutoFood:
rocess()
& s; g9 ~ a* u/ _+ n9 P
{
( O) @% i! G! p; A0 p) G
if( bStart )
6 m* y5 A" e2 N
{
, Y9 A% ^2 O/ [* q' K
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
- T% _6 g$ i* J: D& G
{
8 z( L3 Z' \( c0 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() )
) p8 h& g, D4 P* x6 t) S& _+ ^
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
( a$ v5 r8 t5 q+ W3 c
}else{
1 H$ y" v2 Q. J0 _8 \0 Z& v3 k y
bStart = FALSE;
3 f) s( J; }5 h8 J5 T1 ?
m_pItemElem = NULL;
, A2 ^. |( d; M+ J& Z" g% z
}
6 Z9 o/ R0 k: S5 D+ @) D
}
2 p! B7 O& _; g4 O8 t- v
return TRUE;
0 J8 i# x! N4 g$ n" D
}
2 f# G" L2 h) P, `/ T) R
, f; m$ Q7 ]2 l1 ~" F' G: f2 W0 b" H
登录视频废话:
/ S+ S" S4 u0 ^, w% ?8 ?
尾翼:
4 K2 Y6 m/ j7 |
4 P/ S/ P9 P+ ^+ e7 _2 T& L5 N
代码:
- V3 h. l& o$ \6 }+ o/ E
+ r" g% j; z. r, d
void CWorld::SetLight( BOOL bLight )
) @. r, J5 ^, |: ~
durch
- \; w& k: p4 y
Code:
* o6 ^$ N. i. |& h9 x3 r0 ]8 c
void CWorld::SetLight( BOOL bLight )
0 P6 v! v/ y6 H# ?
{
7 J2 X2 R$ O" s9 @
//ACE("SetLight %d \n", bLight);
/ b. ?, i3 L# f3 ]
9 y! M; G9 m8 u& l, d2 V
#ifndef __WORLDSERVER
# P' C( e% |6 c
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
8 _9 `! j% y- ]! I0 ~
CLight* pLight = NULL;
" N4 s+ o' _+ T
x* S1 U& J* t% ~: ?2 Z+ V
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
% ^$ M: F: U+ g( E8 _$ a! Q. f+ u/ {' o
/ K4 R, M/ F) q
pLight = GetLight( "direction" );
) h/ Q$ L+ y. U
) G G( a% Z2 K" o; k. d
#if __VER >= 15 // __BS_CHANGING_ENVIR
& C; g3 U+ W l6 F4 ]
if( g_pPlayer ){
) u$ A! D& G: @% d. {) S6 W+ j; T
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
/ j3 p& _! l% s% e/ E
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
/ a, U. f2 W, ]8 O
{
X" R" K* x/ \) Q7 [8 F
if( pLight )
' `( K# l2 W: `" g& ?
{
" i& ?$ s6 A7 d( g+ U
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
+ J0 ~+ p& w4 s- D
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
8 Q- ~9 y! y/ m; `3 _! j
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
5 R8 J( o: n8 z! a
Y# [ X; _& l& ^
pLight->Specular.r = 2.0f;
& o# F8 L& U; E8 [2 \% I* D+ v
pLight->Specular.g = 2.0f;
0 t$ }' i2 A8 T4 E' g! q
pLight->Specular.b = 2.0f;
- c% P# o% h) K
B; V% R& y5 D. E2 H5 _( p
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
4 E- y3 g( d2 C( |' a% e7 p
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
' B, L+ L1 I& X. W" `
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
+ Y. a$ ?; K5 R" I
1 {7 m$ V& A9 q& j0 W1 B6 n* E* \
HookUpdateLight( pLight );
8 R1 J# r; P1 H6 U3 l; N- p
i' F# }* R3 R' A1 u, }2 J8 O1 f
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
, @, k& f: N/ D* Q
$ e# `2 k% @; r) t
pLight->Diffuse.r *= 1.2f;
+ Y" o7 X$ O5 A3 J. o
pLight->Diffuse.g *= 1.2f;
: I6 x( O- G% \4 d
pLight->Diffuse.b *= 1.2f;
" w) z; H S) `
) C& f# ~8 |2 Y' v
pLight->Ambient.r *= 0.8f;
+ U9 y$ M0 e/ y$ t4 L5 P0 P. Y
pLight->Ambient.g *= 0.8f;
& D, w( t2 n1 |; b! B) _
pLight->Ambient.b *= 0.8f;
% c; f+ ^; o+ q
, D, d; n4 ^- v7 L6 M7 V/ o3 }
memcpy( &m_light, pLight, sizeof( m_light ) );
: K- P1 I, O) Q Y! [& @# @
. \+ q$ I. H3 I' `6 k
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
4 n, f3 Q& q9 V2 [! r. ]# t5 o
D3DXVec3Normalize(&(vecSun),&(vecSun));
, J q. _9 @5 U8 M5 c
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
' d6 R' e; Q2 M: D
pLight->Appear( m_pd3dDevice, TRUE );
/ K- M$ z! [+ p( f
4 Z) r8 L" G+ f' R
DWORD dwR, dwG, dwB;
* h( f. \3 b8 h
dwR = (DWORD)( pLight->Ambient.r * 255 );
" l$ o- A; @- o% m
dwG = (DWORD)( pLight->Ambient.g * 255 );
8 d2 h- y9 B$ V
dwB = (DWORD)( pLight->Ambient.b * 255 );
7 ?" Z9 Q+ p: R# ~# e
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 J( N8 Z U# o# b1 r7 L* ?2 C5 X) k
}
/ J3 J% i9 n* _& t/ y
}
4 \2 m+ X$ h# a3 Z) I
}
; x; a. O+ I9 W: Q% t2 I
else
2 e9 `* f: W" z# P" Q
#endif
1 U6 |8 }4 }& B! m) S8 H
4 G* C* j8 P: P4 X& K0 Q
if( m_bIsIndoor )
- j7 u' M" K- J$ G2 d; Q) W% p
{
7 D+ x$ _, c9 _
if( pLight )
* M" q0 x% `/ k; M- }0 M
{
4 l4 s3 T8 i- A. S
// à??μ oˉè*
7 s1 _( b7 ?1 q" g
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
# m( N% ?1 i% `$ d0 q# u
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
3 N- N' o; N2 c- Q. G2 G6 c! K! T! x
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
' M+ `, ?( X& p+ g2 k" t
: l2 D {6 t% h6 \" P, Q
// oˉè* ??à?
- k4 m8 T& B- p' g/ G2 O' m, |
pLight->Specular.r = 1.0f;
' x0 X$ y9 P: @
pLight->Specular.g = 1.0f;
: b# A" Y% [, g' o A
pLight->Specular.b = 1.0f;
4 y0 @# ?- M$ f2 ?! ]7 \
// àü?? oˉè*
' d) v! ]; d5 F- W5 e
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
) p% g6 d6 S& g! ~% y& s* ^
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
8 F$ ^7 _3 k( M+ b5 S( j
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
+ u( C. q- v. W
, F2 y6 S3 S& I* Z& C
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
& @4 N) A2 n$ }
{
5 \" e6 O7 V; i) q' Z5 L; u
pLight->Diffuse.r *= 0.6f;
# n9 s& `* A. D
pLight->Diffuse.g *= 0.6f;
+ z" Y) M* v J! L1 Q
pLight->Diffuse.b *= 0.6f;
9 g5 j! P; ~1 l
pLight->Ambient.r *= 0.7f;
: Q! l' A, u4 ^- }" \& G# c
pLight->Ambient.g *= 0.7f;
$ l4 X9 e* x7 L# Q9 j5 f3 J
pLight->Ambient.b *= 0.7f;
6 z, e6 I: y9 L8 G$ C6 q
}
5 i# |# r `# p8 U9 i6 ?* u
+ A2 a4 o. [/ R) D; a1 f5 J* y; R
#if __VER >= 15 // __BS_CHANGING_ENVIR
( `* N' @4 v2 C2 g) F, R3 M4 k
if( g_pPlayer )
7 L, U( S4 ^" {& N* ~8 k1 @2 H& a
HookUpdateLight( pLight );
+ i; I5 ?0 n; e. O# |
#endif
& |! u, t. C8 ]* n+ F T! Q: a& L9 S& r
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. {: R' m2 u5 ?& w
3 I% w5 f/ P h; o6 r
pLight->Diffuse.r += 0.1f;
2 k5 Y1 x+ s: f2 g4 z; m' m
pLight->Diffuse.g += 0.1f;
, e6 \$ c. r4 S0 Y
pLight->Diffuse.b += 0.1f;
5 x1 x0 \5 I/ S7 U( U2 C
// oˉè* ??à?
& x( Q) X& w4 s# \1 f4 q9 b
pLight->Specular.r = 2.0f;
8 ^5 D# w4 h h7 |9 ^( }; ]/ C
pLight->Specular.g = 2.0f;
/ Y/ |6 R7 `6 u! ]7 |) t2 ~
pLight->Specular.b = 2.0f;
! m* ~3 k4 m* g) i* A" `
// á?oˉ
% p+ p8 d/ D2 Y! ?+ @: `
pLight->Ambient.r *= 0.9f;
. o. `/ R9 G5 Z- ]! s
pLight->Ambient.g *= 0.9f;
; n' D3 E; V& x7 p/ @
pLight->Ambient.b *= 0.9f;
/ F5 q4 U2 ` T
1 |5 a+ G8 F9 x& i1 Q' u* e
memcpy( &m_light, pLight, sizeof( m_light ) );
+ ?' j. M( ~, k2 ]) H* T6 P
( X& b! N; A6 O7 N2 ^ h q; u
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
% {) `5 y% d1 X* ]! J. R* V& L
pLight->Appear( m_pd3dDevice, TRUE );
4 ~4 W3 D" Z- n- j1 q& H
, h/ c) E, g4 F4 m$ t y
DWORD dwR, dwG, dwB;
2 t, s$ H( L% r
dwR = (DWORD)( pLight->Ambient.r * 255 );
! H* Z/ O3 E# s
dwG = (DWORD)( pLight->Ambient.g * 255 );
8 ?6 Y- w/ ]* F
dwB = (DWORD)( pLight->Ambient.b * 255 );
# i. Y6 @7 w2 {" P9 x3 U* ?" `% u- y3 q
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# i3 B$ R/ k; O0 C
}
9 _' g& x0 S4 F! q8 h( S+ M
}
4 e& t6 S6 i6 q4 G4 D
else
' c4 p4 g7 J5 S5 C3 s( g
{
" z1 G- f9 P. e u/ y
if( pLight )
6 E( @5 h8 t* v/ A
{
) z8 p4 g7 Q6 _1 R: l8 ~
3 S+ L! ?2 ?; `5 {
int nHour = 8, nMin = 0;
% Q: g W; K1 r
#ifdef __CLIENT
3 p: q/ n4 O" F2 v& _5 ?% m
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
4 [5 {$ \# ], q7 p0 `6 U
nHour = g_GameTimer.m_nHour;
0 _- T6 g: \6 T# H3 I* ?! c! w
nMin = g_GameTimer.m_nMin ;
) c0 R# K4 _" l# h8 s4 u/ o& s
#else
$ [- h- x2 v$ N0 `! {
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
; D7 a C( F! A$ y. ^
if( m_nLightType == 1 )
1 o, k' Z# g& ?, a7 L' v4 D! ]
nHour = m_nLightHour;
2 o1 N" B" Z, n5 Y
#endif
2 K7 y. `3 s6 j2 u
nHour--;
4 p8 t5 l8 [$ F6 {# `
if( nHour < 0 ) nHour = 0;
1 y5 G' ]$ `, ~7 ]3 L4 c! p" A
if( nHour > 23 ) nHour = 23;
% F* `6 X* m6 G; c1 z
# X: g& I/ w) l3 s
//if( m_bFixedHour )
7 P5 K, T" c% V B- w! s9 A0 x% g
// nHour = m_nFixedHour, nMin = 0;
3 m9 v: ~9 _6 Z0 O0 c$ v, T1 e
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
& C1 i5 t4 M3 }0 h: Z
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
6 U# P, B* ^8 m/ C
5 J1 ~# R1 v/ C z% g% \) q
//m_lightColor = lightColorPrv;
1 T3 g! W/ |- w6 j& {4 B) ~. S
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
2 y4 b- [/ C: t% B
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
3 H! _: p8 D4 Q- A% |
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
. o+ J4 C* P4 O, |3 b
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
' u1 M: P; D4 p$ X3 r
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
+ i, f, z: `9 _& {& e1 f
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
: l* m- _* P- |, q" ?# |
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
1 t( X8 K! y* {7 s
/ A0 Q' {5 C( S/ R$ H) {
// à??μ oˉè*
5 t; s0 I3 W. j M8 `
pLight->Diffuse.r = lightColorPrv.r1;
! X. m* d; u# u9 ?% r- S& i& l
pLight->Diffuse.g = lightColorPrv.g1;
6 m* `, N" L5 M3 S/ d1 m. E
pLight->Diffuse.b = lightColorPrv.b1;
/ M, p, B3 X j2 ^5 _) Q8 n. v& C
// oˉè* ??à?
: Q: f& B; }" k
pLight->Specular.r = 1.0f;
$ {8 Z/ U' b) L4 o, l+ R& y3 y
pLight->Specular.g = 1.0f;
c6 t% p! @* }
pLight->Specular.b = 1.0f;
4 E( ~5 J1 z$ R6 v5 ?7 m
// àü?? oˉè*
, }( Y, E: ^0 i: K. t1 B/ E, B7 `2 s
pLight->Ambient.r = lightColorPrv.r2;
& e. j x. N+ A4 i' G; b
pLight->Ambient.g = lightColorPrv.g2;
! |: Y @- q& {* a# x" z
pLight->Ambient.b = lightColorPrv.b2;
4 s* d# D I+ a9 z9 ~& {% S6 W
: t$ i( c$ K. j
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# V' O/ i- J) D$ m, M1 ]4 O+ {
{
2 T( ]6 V% S N8 ]; c; `
pLight->Diffuse.r *= 0.6f;
Q9 w O$ @4 x O0 j
pLight->Diffuse.g *= 0.6f;
+ x! x9 F$ E. T" v4 M) k5 W5 L" N
pLight->Diffuse.b *= 0.6f;
+ P, |- H: C" U6 T9 \, W0 S
pLight->Ambient.r *= 0.7f;
* t" J" G$ u1 j2 Q* i
pLight->Ambient.g *= 0.7f;
; g2 U% ~1 n/ c1 B5 A% u5 _+ A
pLight->Ambient.b *= 0.7f;
) T E9 [9 S- u* s3 ?: r& M
}
; X7 h& y0 d2 H8 H
7 [: U* y+ i( Z, v
#if __VER >= 15 // __BS_CHANGING_ENVIR
- O3 ]* F8 Q8 X
if( g_pPlayer )
* R" [4 y" X' J- a2 `% F9 E
HookUpdateLight( pLight );
: p2 J$ H, p% g" I/ f- U
#endif
1 f- x$ a7 J" @6 \
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# [/ W V7 s/ R1 [+ O; T5 e: [
! A9 |6 T' l$ D7 b
#ifdef __YENV
1 B( {" H8 V8 E4 n$ e3 p9 _
pLight->Diffuse.r *= 1.1f;
% Y7 u; U0 t8 t" s8 ^+ {
pLight->Diffuse.g *= 1.1f;
9 Y% Q+ X6 @) b7 g6 F. I ~9 B6 y
pLight->Diffuse.b *= 1.1f;
' G- U2 J% ~% h0 l1 b
// oˉè* ??à?
( U) R, y$ k3 d1 x6 M* n
pLight->Specular.r = 2.0f;
* _/ Y2 q3 j5 T2 a" R9 ]
pLight->Specular.g = 2.0f;
( n9 \2 h* k3 r' L( ^
pLight->Specular.b = 2.0f;
) O- r6 w0 h7 N$ q( w' l1 t- t
// á?oˉ
. m; Y$ H7 t- u" ~) s- c
pLight->Ambient.r *= 1.0f;
! D; n0 F% q* m5 V+ [ w
pLight->Ambient.g *= 1.0f;
; j: ?6 I0 q( t( D6 Z+ b- z* a
pLight->Ambient.b *= 1.0f;
, c$ K% K8 c7 m& n
#else //__YENV
- }1 i- _0 D% J- }
pLight->Diffuse.r *= 1.1f;
/ L; B& _ t. ?5 H% ~2 b' x7 {: ], e
pLight->Diffuse.g *= 1.1f;
0 G+ C) J# o2 j5 T5 P4 ~
pLight->Diffuse.b *= 1.1f;
3 w/ x) V# f+ A/ a1 L
// oˉè* ??à?
4 ~; }' g) @. |. R/ }: ^: x
pLight->Specular.r = 2.0f;
: ]8 [& \! o0 `8 M9 k
pLight->Specular.g = 2.0f;
+ D+ ?7 N+ _5 N% {% ^
pLight->Specular.b = 2.0f;
2 i+ u( @( U0 ]1 @6 ?
// á?oˉ
: G9 U7 I( |: e- d
pLight->Ambient.r *= 0.9f;
" g; X+ Z+ q1 z9 B
pLight->Ambient.g *= 0.9f;
# v4 F1 ?. |* X0 h/ {. {" B
pLight->Ambient.b *= 0.9f;
$ b( ?6 a0 A5 S. w, U4 j, C
#endif //__YENV
7 z9 ^6 s) T6 j9 W. j# V. e. v
3 m1 g B G) y7 q/ Z3 x6 G& y
memcpy( &m_light, pLight, sizeof( m_light ) );
6 Y2 l9 g B0 A0 v! \+ o, v
/ b# C4 K" i7 [' E. R5 E+ W
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
$ r+ J a. r; y" \- ?
D3DXMATRIX matTemp;
/ O( }2 d. q) M% Q
static const float CONS_VAL = 3.1415926f / 180.f;
' C2 F8 r, e& ]: ?
6 G& Q' _) S, t" m; t: T
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
. _2 i; z# X" u
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
; R. r+ p: F& P5 {9 w
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
0 l/ h5 z) P2 o' \
pLight->Appear( m_pd3dDevice, TRUE );
. \' b& e, O- a* L
' |5 H+ {# N/ K, v
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
2 f/ a5 {% q4 p4 ?1 B0 D
// D3DXVec3Normalize(&(vecSun),&(vecSun));
/ P5 d9 c) `1 X- O. Z% m
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. e' D+ C! _" k& l6 W
; L& V& w6 L# ]4 y% u% T+ ]+ `
DWORD dwR, dwG, dwB;
; _7 H! V. {4 Y5 @3 P2 r# h, s" |
dwR = (DWORD)( pLight->Ambient.r * 255 );
M# L1 ~- n' J; c( J4 b
dwG = (DWORD)( pLight->Ambient.g * 255 );
! b3 ?5 N) ]) K
dwB = (DWORD)( pLight->Ambient.b * 255 );
! q9 j# J: D6 T% Y8 z
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 h7 A l% e& G6 Y( v
}
8 p7 Z2 H3 D, `1 B. R
}
6 E6 D( X1 L% m6 H( [ Y
* c5 d' z+ o0 H1 r8 D
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
: W' M `! `2 G: y+ B
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) );
3 j: j" O. R( z, Z7 n
::SetLight( bLight );
; z! e! {: D2 i4 v( N" s
, c5 H" u1 E9 c
// ±ao? ?D?í???ó á¤à?
4 k1 n% Y( Z3 | L
m_pd3dDevice->SetMaterial( &m_baseMaterial );
' X2 b6 o5 n& N" b/ c$ K3 E
7 z3 t1 b h7 O4 K7 l, Z: ~
#endif // not WORLDSERVER
7 e; ^" A6 x' w0 Y+ @% j; X
}
! Q) H0 k, D9 E( u
并更换
% h2 w) H/ {! D. O# K2 R) K
Code:
1 i9 _- r7 V% ?3 E% W/ D
__FLYFF_INITPAGE_EXT
* w5 B9 ?& D6 p+ [2 N' {# @; X
定义
4 X& l, A& j: `5 ]" p% R/ f) ~! T: ~2 t
5 T3 }& `# G& q" D. F+ R6 W! Y
% S7 c; H; J2 D z8 b0 h1 o
1 c; F! C6 Y5 {) K
" A A( X0 L" a3 ?! y; V# j/ b
现在终于删除我的狗屁加速...
: x# }' p5 W' f0 G$ e! U4 C
' O1 Z9 v3 Q5 s( Y8 ^* p
# X9 `+ ^0 W- w9 E% ]' L) W+ P
! h4 ?, e4 R% M5 Z
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2