飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
+ ~, p3 Y- J2 G
尾翼:
8 ` |' `$ K2 ?( b
* g, _0 I+ K. Y0 W* T y1 S+ v
代码:
# {' l4 O3 r" e# c. J6 }% F
CWndAutoFood::CWndAutoFood()
# f, S9 v- e& g2 x, n& u
{
7 N/ `1 g1 S- M% ~# ^) n$ k( {
m_pItemElem = NULL;
& M4 H/ p& P! @, N
m_pTexture = NULL;
) h6 @; N+ \- R4 x C5 W( ^; J6 U
bStart = FALSE;
5 W% @5 U$ ]9 w9 f
}
( F2 z+ j* {3 C" H+ ~6 g1 q) h7 Y: o
; W$ V) C* n) c- n& ~# a1 A# [
CWndAutoFood::~CWndAutoFood()
+ O" H0 V4 }! r
{
5 u3 b" w7 f& I0 w: ^/ W; b! F
AfxMessageBox( "AutoFood ist gestorben
" );
* b6 M9 ] m4 F# ?( J4 V, X& B
}
7 E9 J1 q/ W! o0 J+ m* J* z5 W7 Q
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
; o4 j& d' s0 ~
{
: `3 L& ^; n* }/ S6 S! a
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
& G! q6 D) d, g' O
}
" U6 q5 R" {9 I, u
- s% J* h" g! W0 |- q' h
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
( R$ V# z* y' [; `/ m: e# N
{
) O( l" T+ F7 X7 j# t, E
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
0 z/ j1 @, |6 l7 b
CRect rect = pWndCtrl->rect;
" A. Z) F- l& z2 S+ U' k1 {
if( rect && rect.PtInRect( point ) )
K# \" S. q" m8 l1 i0 H7 U2 ], H6 P
{
+ Z- X$ R- }; e( }& F8 R
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
7 F' }+ @* Y! N5 @$ {3 u9 [4 @
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
) w+ b _. j: s
{
+ L8 j6 m! o' R9 v
if( m_pItemElem )
, j7 d; A, X* p
{
6 }) d# B8 c. Q
m_pItemElem = NULL;
- _. K0 {7 U* W1 n2 q! j
}
% [+ m3 c( @% B1 g: [. b! C+ O
m_pItemElem = pItemElem;
0 k8 g! ^% D3 K2 t
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
$ x1 z2 V! s: n/ T
}else{
" V$ E! D8 I) [0 W
SetForbid( TRUE );
/ |7 I5 G' ~, s5 E
}
6 H6 C' P; X. K" N3 Y/ W
}else{
2 B; g& T/ {2 d
SetForbid( TRUE );
) V; `8 t3 ~% i
}
9 d: H: c8 \& [+ Y8 r9 T- F
return TRUE;
& s0 i/ I" I6 f; j+ _
}
" G5 z& ?8 L6 P- A. U4 `9 D
% _8 `( P! f6 w1 q4 Z. C
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
% B/ o0 ` F; z5 L* T
{
; x. d: d7 }8 ]* P" x
switch( nID )
. |/ S- n0 r6 s1 A6 Y1 ^9 c* F
{
0 \- |& x: A) g* }' Y: d
case WIDC_BUTTON3:
" d; `$ ?$ r$ \" [/ f
{
% n' K! a1 E e" f, v
bStart = TRUE;
+ K8 Q' ]" i u- Y( {! k
break;
" y5 O( |3 v5 n' X( i- J O
}
^! V2 ^" G+ A, s- @; {9 i
case WIDC_BUTTON4:
7 q( S- @( O- W
{
& [7 z+ O+ J6 Z( L3 M; T
bStart = FALSE;
9 i1 z. X6 c% N5 g* ?4 N
break;
# \2 x1 d/ n# \2 R* j& H9 A
}
2 m' ?9 W0 y4 e. E- m5 D+ L H9 ]* c! ~
}
3 m1 Y+ F, Q) X6 q1 ^. R: A) {
return CWndNeuz::OnChildNotify( message, nID, pLResult );
9 F; V+ K8 N% k
}
( `' x6 ]7 A1 `' R- g
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
4 a: m0 P3 T7 g
{
- U6 l6 ^( P- a7 M4 ^( t
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
' M3 O- Q$ Z0 G; Q5 g
if( bStart || !m_pItemElem )
9 p$ K- R) t* e; y) L
{
: Y, w1 D7 s2 R8 c' M+ W! ^
pBtn->EnableWindow( FALSE );
/ c/ ^) |' G; c2 d1 V8 k( E3 @
}else
; u0 y$ P7 a5 v
pBtn->EnableWindow( TRUE );
* e# M3 o0 Z) o# [6 Q
if( m_pTexture )
! v% _8 E- q+ a: b
{
- l1 w' e( H" v( w/ w* K
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
$ b3 y! G) [5 w0 M7 G8 b
if( wndCtrl && wndCtrl->rect )
: l, {8 f V& v' U# G* @& Y0 K
{
" P5 q* d& L$ c
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
: S: c8 [+ c4 i& v8 C: c
}
6 ^5 @8 S- @9 f ]( q- v4 k* a# J3 I
}
% Y+ H& \; y; N! Z% [; @& Y6 s" A% A
}
Z) k3 N2 F1 {3 l
. g8 _5 r, h, Q& R: H! P0 `
BOOL CWndAutoFood:
rocess()
' `. S: b, A) W! r/ F, K
{
. U" I, T1 a) t4 a$ f- W. f
if( bStart )
T- t/ |5 `. t9 n+ g
{
% v5 m# n6 p- T# ~
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
6 Q1 P$ L9 l; G2 l) i: J: t
{
9 c8 X8 h- r) q% `4 n( H: {$ y
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
& f; Z1 m6 V* E6 }4 |
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
5 E* e, U) i7 p
}else{
2 G+ n" c3 Z' o8 I) J) ^
bStart = FALSE;
4 _# @% X$ r$ Z' }
m_pItemElem = NULL;
3 [7 I& j: F& o
}
7 V! J- ~1 ?$ o7 v* z/ K% D) `; m( [
}
1 F$ _' O; F. P9 y5 M. V9 f
return TRUE;
) H- i" J; M8 L5 G8 ~: ]
}
# u; |$ ]4 e! w
- n# a3 y. C9 [) [" D
登录视频废话:
6 `7 @; [' I( }4 v+ O$ |0 l
尾翼:
$ B9 l- Y5 i9 N3 o: t$ [, Z
, `9 S% [: x+ _$ g* _
代码:
/ \4 w- b8 t" }) i* M
; X4 o1 S7 W( a; p
void CWorld::SetLight( BOOL bLight )
) G. t' ? f# C. h$ ^" J9 e$ J% S
durch
% Y; q ?$ ?5 P% {0 I( B
Code:
$ q' `" m8 O+ {
void CWorld::SetLight( BOOL bLight )
$ f3 ^$ A, p7 I' g4 f4 |' Y; y
{
: h1 @, d/ i5 A" T" i
//ACE("SetLight %d \n", bLight);
$ d# o) v- C5 b* w7 H
1 U; w6 V$ d! h" i, @
#ifndef __WORLDSERVER
0 i1 S8 H2 G% u# m: ^
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
9 {- D4 W) z% J' p0 l3 ]4 l
CLight* pLight = NULL;
$ a8 S: z: ~9 O# R
2 _0 ~9 z0 r2 l$ k, {. N
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
4 J0 p2 N2 B: ~5 w* V, D
3 |8 `4 L5 \) G1 Y- Q8 i9 Z% A
pLight = GetLight( "direction" );
|2 G. @; M! t( g# B
% O6 E$ B- R8 k; S9 V; W* x" a7 w ^
#if __VER >= 15 // __BS_CHANGING_ENVIR
8 R* ?% U: V) D# J
if( g_pPlayer ){
& O5 F8 [8 L3 v! ~
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
4 i# R" c0 U: H: V' o N. X! }3 ]1 X
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
# e& A6 c* }1 k! ]
{
8 G; `: p+ I Y$ K5 `6 f
if( pLight )
# u1 `/ i' l _* Y! R
{
8 a8 g7 ~" W) [
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
) g0 U. e. o" e B% B5 g
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
, Y* Q% q& W9 Q: J' K
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
8 q* a- [. Q5 g
4 B9 ~% ^6 H( p7 y
pLight->Specular.r = 2.0f;
; S8 e% |! k. K5 A5 \! [/ K* a7 z9 b
pLight->Specular.g = 2.0f;
5 n; {: q+ T: ?
pLight->Specular.b = 2.0f;
; z) x/ N" \' S( f; @8 E$ L
. x2 c, a+ \$ u" c; g
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
7 v1 o- T: T) h
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
9 S; p' f% ?" j) f$ g, J
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
G$ D: N' z- Y3 ?& s
2 P: e: ^2 j2 a, B
HookUpdateLight( pLight );
" K2 |/ J9 U+ c, r7 R, @: Y9 e3 r
. e! g. G- @3 b( _6 C3 R
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 T2 v3 w# g7 E2 Q' \; D
- J% M& b7 P A, r0 d# w
pLight->Diffuse.r *= 1.2f;
7 D7 \% h6 f4 X
pLight->Diffuse.g *= 1.2f;
3 ]5 O' c' G7 b4 T2 y
pLight->Diffuse.b *= 1.2f;
7 t9 l2 j* J, r( t+ i7 l' h
; ^! _- M! F% t: |( Q
pLight->Ambient.r *= 0.8f;
& K" @: m; ?0 a
pLight->Ambient.g *= 0.8f;
/ j3 u% U% S+ m6 T% U2 v
pLight->Ambient.b *= 0.8f;
: J1 I+ R6 b L6 m" S5 f- L
2 `% I v0 N4 r* e" b5 |2 h# k
memcpy( &m_light, pLight, sizeof( m_light ) );
0 i8 n: L& C# w: c. }3 }; j1 i7 B& @
0 J- A; o/ y" I9 q- n5 N
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
* i7 a1 `1 m2 I a. D% d0 m0 j
D3DXVec3Normalize(&(vecSun),&(vecSun));
' l, U( ~5 j8 y2 ?# K( ?8 w
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
/ ?3 b1 [' e: i/ q6 M
pLight->Appear( m_pd3dDevice, TRUE );
% x6 @" {6 ?; w' Y" z$ h* k
( d3 F9 u D5 E" f. s: [
DWORD dwR, dwG, dwB;
% ]3 m; o3 b& q( g) ^
dwR = (DWORD)( pLight->Ambient.r * 255 );
, g9 s: V: N/ X4 A8 }$ @; Y
dwG = (DWORD)( pLight->Ambient.g * 255 );
8 t! z6 y! f4 ^1 W! c
dwB = (DWORD)( pLight->Ambient.b * 255 );
8 R+ e1 t) _2 C8 |! ~4 B& i
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
a. Q- ~. y0 n. U4 |3 U
}
2 W4 w3 a* N c( K
}
8 ?# @" Q- q% T8 ?% E( m
}
Z6 d" Y0 ~! \
else
2 `, i* y% @- x! X; c" p
#endif
% s9 v; K& g" j, h: p! ^7 w
4 O% @) B9 y: j7 U+ @
if( m_bIsIndoor )
. }, Q0 i/ a7 n Z- c
{
[$ I5 R# `% `$ Y! M
if( pLight )
* {5 W+ t( a! e. L) j5 D0 k
{
1 E. V6 ? P/ A8 s+ k4 {
// à??μ oˉè*
0 S) N# `; ]% y- j% K
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
" R# M# u7 g: y2 _
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
" f5 D0 `, ~% s
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
! k& u8 P/ D- g% i/ O; ^! ~; U, p
# k6 L& i) M; h" C1 ?
// oˉè* ??à?
2 z2 W- P6 [! w t8 [! S
pLight->Specular.r = 1.0f;
; i; k" r* R. e$ a6 w- ?
pLight->Specular.g = 1.0f;
& x# Y! c0 W; d
pLight->Specular.b = 1.0f;
3 |! y. O) \3 ^
// àü?? oˉè*
9 Y1 |4 s4 `) r( q, J
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
# C$ M5 A* ^5 l/ H g1 M9 _
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
9 g1 f, \7 G2 ]/ o' c4 Q
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
& q# T7 ^3 w5 H6 g) N+ Q
% l" n3 M' Q, M$ P4 @( Q
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
- w5 K7 B7 M) Y( H) u3 v' \# {8 I* J
{
4 w9 N3 n+ O- L3 d" r0 E. q4 ^. n' \
pLight->Diffuse.r *= 0.6f;
3 V( F+ [& H, }+ C7 O& i6 u
pLight->Diffuse.g *= 0.6f;
% y' ?0 k2 f1 h! T: H. y+ M
pLight->Diffuse.b *= 0.6f;
+ v8 O1 s: Q! x0 S& ^+ e' E* O
pLight->Ambient.r *= 0.7f;
; D, W! i( U# s
pLight->Ambient.g *= 0.7f;
5 Q& b2 E# _9 x
pLight->Ambient.b *= 0.7f;
1 a D0 R( }4 b8 b! q$ T
}
% {: O. j8 R1 q7 _" T
# [& [4 a% A$ B
#if __VER >= 15 // __BS_CHANGING_ENVIR
~! L/ ]$ {' K4 F1 Q% k' Z9 t
if( g_pPlayer )
7 p, z7 t! r* l. S
HookUpdateLight( pLight );
& h$ D' q' Y7 [5 F9 t8 N5 F' C
#endif
& q! L! Y" P/ l% p
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
3 Z" W2 |- D% Y, O/ i
^( _& \% d; w! j9 f
pLight->Diffuse.r += 0.1f;
& `& z \2 b9 y8 L0 s
pLight->Diffuse.g += 0.1f;
0 f& k' x H% k! p. ]$ F8 I' N
pLight->Diffuse.b += 0.1f;
: e d; b$ D- Q* l4 `$ {" I3 h
// oˉè* ??à?
# A1 e! H% {! _, }% T3 W% ^/ w
pLight->Specular.r = 2.0f;
! E; z/ i: V7 j2 F- u& ^. k$ C
pLight->Specular.g = 2.0f;
+ y4 x/ h8 M! o
pLight->Specular.b = 2.0f;
. V0 @/ Z8 ~2 W u z5 Q
// á?oˉ
9 o _! J6 x. ?& J0 H% r
pLight->Ambient.r *= 0.9f;
4 b) Z) [: p0 C. F$ k: t, ]! q
pLight->Ambient.g *= 0.9f;
4 x2 |1 B/ _' k& h, ?" g; E" j
pLight->Ambient.b *= 0.9f;
0 P. a7 c( _) h' o3 p
! c# L4 X; V! a
memcpy( &m_light, pLight, sizeof( m_light ) );
% k/ \. v' I4 q c& \
, ~# q+ _- t) T. U" c# ?; K
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
! V* K" x( [9 Q2 A: v
pLight->Appear( m_pd3dDevice, TRUE );
6 W* ^( g; c7 w, V* t& l
+ y) `% \0 P! e3 Q1 _9 L" J/ V+ F, I
DWORD dwR, dwG, dwB;
: n4 V1 k, l5 H$ T3 s9 v
dwR = (DWORD)( pLight->Ambient.r * 255 );
: R9 @, s0 X4 p* i
dwG = (DWORD)( pLight->Ambient.g * 255 );
- j, ~7 _ }; v# x
dwB = (DWORD)( pLight->Ambient.b * 255 );
* Y, a/ @. k5 K7 u; r9 N
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 P" T8 Y F. z# i
}
. D! k( T* \* [& W
}
( C' U- R- P6 }
else
a/ {% d" S. v& B" t
{
8 k+ \8 W4 n+ n
if( pLight )
2 a( T9 S8 u; C
{
9 i# f& I/ y: e( O+ O% s( {. j" X
9 |8 ~: J2 K a& |( V% m0 J
int nHour = 8, nMin = 0;
& Y0 j; T! K5 e
#ifdef __CLIENT
: ]: M" `& F) a% F) I; R, M5 w* h& E
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
$ b6 Y% w, @ y$ ?6 W/ n
nHour = g_GameTimer.m_nHour;
; }9 ^: k4 W, v0 w9 C1 P! `
nMin = g_GameTimer.m_nMin ;
7 |! c; A8 ^4 `7 w+ L
#else
/ d, L0 |# b8 [ \6 m4 q ^* c
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
% n% o @4 @: P; y
if( m_nLightType == 1 )
; [& Z* S0 u8 |0 A
nHour = m_nLightHour;
$ B1 H$ y, E6 Z: d# }1 z
#endif
0 C+ k: ?' w5 W
nHour--;
7 L/ _, c/ C3 L6 ]
if( nHour < 0 ) nHour = 0;
& s& R# r+ E/ n% i' Q ]) m' v& R
if( nHour > 23 ) nHour = 23;
0 ^1 y* u: C& s
- E2 X% _8 r" _1 Z0 H
//if( m_bFixedHour )
}; Y. k( @ B! {
// nHour = m_nFixedHour, nMin = 0;
8 L" R0 o- Q- f! O7 O
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
F8 ~7 {4 C7 h" B5 v
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
6 p1 U, N; G' R( r* H* k7 G, `
# E6 e$ @- i" Y
//m_lightColor = lightColorPrv;
, D: J9 i. M( I0 n; ]
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
`! Z2 N L( i1 g; Q
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
8 C& n K3 ]2 ]- C9 |4 K
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
( h! m* u; a( Y5 U! P
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
) C l+ r2 m" u' C1 v
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
+ X2 [. L# B* ?
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
0 P0 Z$ O& h2 P* ~. `( M
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
" ?/ y2 n* S' f7 j; e( @5 k9 P6 n
. \4 r o5 o3 x+ E! ^' t
// à??μ oˉè*
* M/ W! c" O* L, V7 b) s; X
pLight->Diffuse.r = lightColorPrv.r1;
. d0 v$ y' W! Z4 L M" A
pLight->Diffuse.g = lightColorPrv.g1;
9 D! Y1 t( a: f: Y `7 e
pLight->Diffuse.b = lightColorPrv.b1;
8 @+ s3 e2 j1 e, y; [" S; K
// oˉè* ??à?
& R0 @. p4 y8 W9 L
pLight->Specular.r = 1.0f;
# E, [3 `) ]' q% e
pLight->Specular.g = 1.0f;
2 H5 w' }0 f! c% F# Z
pLight->Specular.b = 1.0f;
9 l7 p4 V1 I) `' |
// àü?? oˉè*
! v" k! i F3 e1 K3 R
pLight->Ambient.r = lightColorPrv.r2;
) e6 E. ?- N; k) W, U
pLight->Ambient.g = lightColorPrv.g2;
2 @: p( |4 s' j
pLight->Ambient.b = lightColorPrv.b2;
e) x; i6 }: t" q- E6 D
0 j \- M, T9 C
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
* A2 R4 m& ~" v: U- {1 E$ T
{
, E7 N+ b- D, i
pLight->Diffuse.r *= 0.6f;
3 U6 ]9 u' u* w
pLight->Diffuse.g *= 0.6f;
) x$ p& e: V$ T/ x
pLight->Diffuse.b *= 0.6f;
0 M5 ^! M0 V% t; R b1 Q
pLight->Ambient.r *= 0.7f;
0 ^* w) o% t7 U2 r. C2 ~9 |
pLight->Ambient.g *= 0.7f;
6 X. `+ q1 W: a Z/ X& L
pLight->Ambient.b *= 0.7f;
. m- v. {, _: r& n j
}
5 w. [: i* H- F
/ c0 d+ T6 D/ `/ ^1 e+ v1 Q
#if __VER >= 15 // __BS_CHANGING_ENVIR
/ `" f( P: d& \
if( g_pPlayer )
* \. L6 h4 N: v6 T' D: c. |
HookUpdateLight( pLight );
T( [, d- V% r: t
#endif
0 S& A5 c- @1 n8 \( H
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& q! Z* d9 \$ Y% z `2 }& G
# g1 {: c" a9 K/ B+ {( Z0 l
#ifdef __YENV
7 A: o- n, \0 f7 ~0 ~" B
pLight->Diffuse.r *= 1.1f;
2 {* p q* n* s% K
pLight->Diffuse.g *= 1.1f;
4 {5 E5 H9 k- V! V
pLight->Diffuse.b *= 1.1f;
* X9 q# O: `7 p. ] x# K# P
// oˉè* ??à?
& r# M8 A6 b: G( s. @
pLight->Specular.r = 2.0f;
; s7 s. K; {1 d% E, t
pLight->Specular.g = 2.0f;
& Y" t3 m- F4 f7 u# K3 w
pLight->Specular.b = 2.0f;
7 ?6 L" j5 o6 U4 H" S7 Y; [0 [5 E
// á?oˉ
# C, {0 l$ e* ^1 n
pLight->Ambient.r *= 1.0f;
8 p3 a4 n$ z" Y; ]3 G( \
pLight->Ambient.g *= 1.0f;
2 q ] Q% W: _ k% y. e. E
pLight->Ambient.b *= 1.0f;
1 k e- b/ j: x
#else //__YENV
$ A5 P- e3 w) c8 i! O0 Y
pLight->Diffuse.r *= 1.1f;
9 o8 X( V) M' m% d
pLight->Diffuse.g *= 1.1f;
J: j/ T/ x! T6 }6 T
pLight->Diffuse.b *= 1.1f;
9 }+ q4 C% T# r# f/ p. [- @, }
// oˉè* ??à?
! [6 n' h5 D0 e
pLight->Specular.r = 2.0f;
$ \1 ^9 k: d" T, u: K2 T. F
pLight->Specular.g = 2.0f;
% _" y+ S, ~9 K& Z
pLight->Specular.b = 2.0f;
( u: u5 v5 r% _ P
// á?oˉ
) ~" T, ^3 j9 y, m9 L3 q
pLight->Ambient.r *= 0.9f;
, w- d8 J: I. x7 F
pLight->Ambient.g *= 0.9f;
4 }6 H' `; G1 ~2 f* L3 t- e
pLight->Ambient.b *= 0.9f;
3 H* h1 N2 X2 X1 F; k
#endif //__YENV
d8 ~$ E& j4 }% t/ [) a3 O
# O- ~5 z/ I5 x1 H2 Y9 a
memcpy( &m_light, pLight, sizeof( m_light ) );
3 h) Z* p. j( F# k! e$ C) ^
5 D' h, d! r$ S& h) }7 z
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
8 d- H' f# I( T5 `3 _' m$ J! Z
D3DXMATRIX matTemp;
1 c$ u8 t, j, a- ]/ m5 t
static const float CONS_VAL = 3.1415926f / 180.f;
: @$ w7 o6 ?3 L) Q Q7 [
/ g0 O! s$ e6 `% q0 z0 b) O
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
5 {( a$ j8 e& q; a# i7 G7 d
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
0 b4 P3 J2 X7 K! |: M- K3 x
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
8 f+ D$ Z% P$ ~& `$ `5 h
pLight->Appear( m_pd3dDevice, TRUE );
- V+ d1 m) c* e6 f
9 t; d/ M) x8 O; ^0 T3 u8 E6 r
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
( x& c% c% f# l4 ]* |
// D3DXVec3Normalize(&(vecSun),&(vecSun));
# z4 _9 d% |7 E; L5 V
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
% J; o8 |* ?3 D2 W3 T, C
, \# H, h; j. [8 V
DWORD dwR, dwG, dwB;
, {& C8 h* v# V @0 k
dwR = (DWORD)( pLight->Ambient.r * 255 );
* G6 D' C8 s# v+ S$ E2 S9 c
dwG = (DWORD)( pLight->Ambient.g * 255 );
; o- O' [5 z6 u2 F3 @7 _5 h i
dwB = (DWORD)( pLight->Ambient.b * 255 );
4 s* v2 g+ B2 c) q. t& Y1 C2 y
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
+ B5 t3 Y; b' v+ T% ~; F
}
( \ `- ?) F3 u$ B0 m$ P4 w; |
}
& \; F! I4 I0 Z7 f, p" i7 H
/ n5 E1 _( P/ c% ?8 h: w/ G0 \
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
! z- p* L: s" Z4 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) );
: g9 @) G! t7 ]
::SetLight( bLight );
! R3 k$ p1 B1 u& D* o% k
/ f$ R4 V% q5 [' c
// ±ao? ?D?í???ó á¤à?
7 o, U; k9 k1 K2 [- \
m_pd3dDevice->SetMaterial( &m_baseMaterial );
; l- \: N# A" B, g3 D
4 U+ e/ O+ f0 x4 o8 ?4 k
#endif // not WORLDSERVER
0 ]% J6 W; L3 Y+ A. g# S
}
( b T( P7 d! Z1 k: E
并更换
9 e' j+ ^# R7 p$ f) t6 j
Code:
+ ?6 D8 b( z) Y9 R0 J5 b
__FLYFF_INITPAGE_EXT
' K# P- Q$ y5 g/ |. k
定义
. b% F3 g# Y5 U$ n9 y5 y7 Y. f# d7 F
5 A1 r0 s% i( E7 C7 P+ M
; s8 E0 q2 R, G
9 |# [, F l9 J6 n! {
1 P% ]* b, `7 d3 o
现在终于删除我的狗屁加速...
7 ^, m5 Y, P& l$ _: J
% \* B' B! O9 }+ A% ?9 r4 Q
2 b Z, {5 N' M* r( i* v
" S6 H' a- B3 w5 t5 F( p
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2