飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
4 s# ?5 v; j: Z/ c f+ P2 v
尾翼:
" ~3 S1 \( @2 q/ {
1 j+ D# t" t6 v; ^6 _5 E+ T2 h, c
代码:
2 J$ N: R* u- W8 Y0 U( e
CWndAutoFood::CWndAutoFood()
! Y' ~1 b! z/ o( I, l2 c# e6 I
{
6 p2 C7 c% `" f8 C) ?
m_pItemElem = NULL;
/ H8 X% I2 g, x( e: t
m_pTexture = NULL;
8 r- _8 Q0 j' [# z2 c* y
bStart = FALSE;
9 i q% Z8 M* }6 X/ C* X
}
* [; L6 n0 x& b- L
% g" Y, [$ [3 E9 r# u* _3 Y
CWndAutoFood::~CWndAutoFood()
) n1 Q' Q! ` ^
{
8 ~, G. ~: K% G: @' w6 V( B# o: T
AfxMessageBox( "AutoFood ist gestorben
" );
- T$ V# ^4 D. c! s
}
$ j4 B7 }' _' K+ B+ ]# [+ `9 R5 ~
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
7 z. x' \' h- H
{
0 V' i% N+ z* ^) p- h) e
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
8 p3 I+ J, F" ~0 r
}
; {3 k: {. u" z7 D& ^
% p9 d0 ?5 w2 B8 J( F7 ^3 B9 p3 h G; N
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
# H- U. O G7 w9 l" m1 l' y$ |9 _
{
8 a$ g' u! N7 C B
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
1 i* Z* z* t0 ]9 V
CRect rect = pWndCtrl->rect;
+ ^# w' v/ a( L8 L* [9 l5 B6 t/ v4 m- o
if( rect && rect.PtInRect( point ) )
/ {) T! u' p% @- b
{
9 W. t/ u7 q9 d; @. O
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
7 S5 r* F$ F5 D7 _1 b; a
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
# ?7 s& [. x2 r: J" Z
{
4 ]6 p( ~ @6 q) `4 l& v' F) |7 q- g
if( m_pItemElem )
7 C7 ? i) I, L; W1 h6 f! ~$ S: Y# w
{
' M5 E3 n; E* g& O+ [% `
m_pItemElem = NULL;
% |0 P; j' n: k
}
# @* e' @+ Z s
m_pItemElem = pItemElem;
' \2 s+ o" D+ I5 p
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
4 o- l0 q6 Y) X; V# `
}else{
, g- S; |. ^# C9 w4 B
SetForbid( TRUE );
0 s6 r% S! M- G; e' d& g1 }; u7 U% N
}
3 g' [$ {4 m8 \& R/ e
}else{
! M9 m9 `9 C I% T8 u# n
SetForbid( TRUE );
$ e5 f$ r, T9 I9 e3 m4 Z
}
% O& Z* @( o$ a0 J) Q) l9 e
return TRUE;
# A. j$ M; _$ l. w, D% W
}
6 ~ `5 j7 h! c5 f
# g" |/ g+ w/ Y
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
9 |# C' L0 U: t# N: q) D
{
8 H1 X, _6 U" n% |0 A
switch( nID )
' X, k* e9 F2 m5 R, \' X
{
: \9 [6 J% ?' n% N
case WIDC_BUTTON3:
$ w+ v [& g, d/ C/ G/ t6 T
{
1 U0 p( [4 G' q; ?6 s
bStart = TRUE;
- n7 Z3 r, }3 T
break;
6 U( H3 [* W/ y" E
}
- }& O6 c4 Y9 |$ }( z
case WIDC_BUTTON4:
& x! h/ n1 l% O! H& \, B0 l2 k8 y
{
, T! I' W! a1 O9 m
bStart = FALSE;
+ F$ w1 ] D/ l$ ]
break;
% y* I9 c' c$ I( }4 u( F0 [
}
+ [! `+ k: N" W8 J( s2 ?
}
* o2 I4 }+ B- u, g
return CWndNeuz::OnChildNotify( message, nID, pLResult );
% H+ a% L4 g# L
}
* J4 D: q+ G; H+ @3 _9 y6 U
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
$ ?& y& \2 U5 @+ u7 u, L
{
4 F' F5 F3 j: E9 D
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
- Z, J; x+ N) P+ g m! Q% [1 K- F
if( bStart || !m_pItemElem )
5 Q$ P; x- V/ S* Z6 |8 y v9 F
{
8 r5 T1 ]. M( Q( e
pBtn->EnableWindow( FALSE );
1 d$ @8 S. V+ [0 H+ I
}else
; q1 V% B, x/ {7 a6 M% S$ X O2 }
pBtn->EnableWindow( TRUE );
: @. u. i/ h7 \' c( x$ X
if( m_pTexture )
, j% N+ w. e" _" I/ p' `( C
{
+ s$ z$ \) ~, l: ]
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
) b8 ?2 o1 Z0 h% f, n) E- {/ T9 Y
if( wndCtrl && wndCtrl->rect )
6 y H' r! [5 y! M8 ]8 Z
{
! I! i# q+ q) x6 W$ Y! v* z4 d
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
- E. L1 K2 ^: R4 J8 J6 h
}
$ D* v# v: V0 C# Q) A
}
! X% F6 j% i) h1 S
}
$ O0 T7 F+ b4 ]: I, ]
) m* E4 z/ f, L2 y$ l
BOOL CWndAutoFood:
rocess()
2 _5 X9 Y0 J9 n1 P$ a- Q
{
# E: C# R0 M- o
if( bStart )
3 _, Z1 q3 n( g
{
. x0 l" x8 I/ B' u! o; R4 o5 q
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
: B0 M' r; P2 \
{
5 t& l. T( Y( w4 \' Q. E
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
& ^8 c0 q7 o/ k. N( ^
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
9 K4 |, K9 o! J; x& h
}else{
; V" H2 v0 b0 v5 J
bStart = FALSE;
+ s+ K9 Q4 d" c2 L7 r" [0 u
m_pItemElem = NULL;
- z9 ]7 w4 o# W( D
}
$ j, B( _5 h' g' x# \% M4 j
}
& y0 q) o' N( O6 V% ?3 m6 v* ~
return TRUE;
0 j# ]. z6 j4 N1 V
}
a6 }/ O% b7 u6 x. p3 x
! a- h" k- G6 n+ Z/ v$ y
登录视频废话:
* s4 v' |3 H+ E9 N
尾翼:
2 j# L9 {8 \6 t& E8 U
9 ^: s6 u3 t8 p1 s0 e$ i/ s& z8 J
代码:
. e; y h7 Y5 X0 {* k3 b
5 q" L1 H: G2 X/ Z' B) p8 ?- x
void CWorld::SetLight( BOOL bLight )
8 [+ y- o! B/ B* f) i
durch
- S+ M- L# w& d
Code:
2 w4 I, {: l8 {1 X) z- O7 J' \
void CWorld::SetLight( BOOL bLight )
0 d6 t# k( S+ r
{
/ ]# v* Q7 M) Y3 h8 c
//ACE("SetLight %d \n", bLight);
$ l! V& g' O4 y3 k$ U) D
' {: W5 U0 ?- S6 t9 S% o! w
#ifndef __WORLDSERVER
0 g, H* d8 q1 ~# Y9 f1 u
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
& x5 M$ n! s$ G4 X# l0 M/ C- N
CLight* pLight = NULL;
' I; P7 w% i8 y1 Y7 @- M
6 C6 n N$ H- Y% r4 A
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
9 i( O4 r- @" n0 V" w
w' C6 c7 }7 K6 P5 E
pLight = GetLight( "direction" );
( k& c% T3 H7 P/ X9 U0 e g4 M$ z
5 [% N, \% j( Q1 ]
#if __VER >= 15 // __BS_CHANGING_ENVIR
W# k+ z$ x3 r% D9 N
if( g_pPlayer ){
s' j! C( c0 _( H
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
8 {$ M9 ~* y' K7 E" s5 V6 _. m
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
% P0 q- g; [0 e2 X% Z
{
# F. j/ V: ]( P! t4 r8 l: [
if( pLight )
2 Q* K8 x8 |, A7 p2 e- K2 z& R& j
{
3 A. o) ^+ m+ z2 M0 m% F. E
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
7 B1 u" b) I3 t C9 j2 D: D( f4 o
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
% Y$ \0 c7 m: L* G( Z& E' ^/ L
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
, w# E& A; C' K% Q3 z: I$ A! n* u; G
/ ~" U7 V$ ^( Y, k- a
pLight->Specular.r = 2.0f;
6 b) W0 K9 l& ^; ^& f, x' }
pLight->Specular.g = 2.0f;
9 I1 E) h0 g$ L7 F1 i) W
pLight->Specular.b = 2.0f;
4 Z( Q6 n# Y2 L$ ?( G( H2 M6 G8 J: a
+ Y0 Y" m1 |( ]( D
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
9 P( Z z5 o* S. t" J# B, \
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
; ]8 z: ?+ O: b* `
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
* m+ x9 Z9 @0 {! N3 s% J2 s5 r
; B! a1 C+ x) P; ^7 c) }! ?
HookUpdateLight( pLight );
# |/ U. @2 f3 b2 y
& i3 f; c$ n9 ~% Y/ p- H. Q6 B
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
" n) a& l& f G+ I. y. t2 l0 Y
9 Y: e/ _. Q+ O# G% x) g( \
pLight->Diffuse.r *= 1.2f;
8 N/ z# S) Y& \9 s
pLight->Diffuse.g *= 1.2f;
8 h# r W9 W6 m
pLight->Diffuse.b *= 1.2f;
0 A8 a5 p7 ?# y1 j
! p+ g% ]1 T! w) z+ v/ `6 w# Q
pLight->Ambient.r *= 0.8f;
$ v4 _% v S, g+ t, b, w$ V. x
pLight->Ambient.g *= 0.8f;
|# q* K2 l$ j, P9 E2 I0 ^
pLight->Ambient.b *= 0.8f;
2 n, G0 j! R, h: e0 z, s% x3 |: c( ~
8 S% T+ c7 Q4 K5 m
memcpy( &m_light, pLight, sizeof( m_light ) );
s4 i" F& N# M( x" \: s- D Y
' _ z* b9 B4 |8 b% ^
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
" I+ k# q- ]9 _9 e7 M, ?1 Q" k) f: V3 ]
D3DXVec3Normalize(&(vecSun),&(vecSun));
, v5 F" H/ |+ c
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
3 A+ r/ N9 p5 c/ c
pLight->Appear( m_pd3dDevice, TRUE );
0 ?, ?1 q2 r$ s4 v5 O- A9 o) m
r4 [; q: `1 k$ x- X2 Q9 T s
DWORD dwR, dwG, dwB;
* S- Z( |1 g% C u7 o" w: K, W
dwR = (DWORD)( pLight->Ambient.r * 255 );
; [& F# u* v' ~$ E2 v }# @4 O
dwG = (DWORD)( pLight->Ambient.g * 255 );
/ o7 Z* r, g1 b& q3 H# L
dwB = (DWORD)( pLight->Ambient.b * 255 );
7 X+ W3 z: x$ m. C4 p
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) n& o2 e" o: D+ t' V ^6 P2 }
}
J6 J: y" z2 F" \
}
/ f3 U$ j& c) Q7 ]
}
$ X, X1 }: s- m6 M# S
else
" g8 L+ H9 C9 g0 p8 W( d( S
#endif
; W1 R8 b Q- o! g( P8 J% q
! ^1 L' n/ \8 e# b: y, _
if( m_bIsIndoor )
' l4 W) F9 Q" R6 M' L4 _, Z7 B
{
3 M3 z5 K6 {1 ^- ~- d6 Q' l
if( pLight )
m+ T( `* z5 E+ {# Y
{
' N. R6 j1 j; o6 O3 n
// à??μ oˉè*
- e' Z4 f4 U: c5 [" \
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
& _- C0 z- h0 c0 t
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
, C2 M' I* W3 P3 x
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
+ @" p4 E' m( `1 Q5 y
2 e% S9 w: U* ~* D2 U8 S% x
// oˉè* ??à?
" k; b( g1 J( G; W0 y# S1 k9 S
pLight->Specular.r = 1.0f;
2 J0 O" o% r& x, |
pLight->Specular.g = 1.0f;
) ^$ f0 S; n7 r4 f, B8 U, b6 S
pLight->Specular.b = 1.0f;
g9 g8 ~; y1 H
// àü?? oˉè*
) V0 q0 B X) ^8 j `! l# U
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
& ]1 e! f; H! C q9 B6 `
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
9 S8 i; X6 ^; a2 H4 V: J
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
" K, s M0 o4 ]* o* a( |
* A1 Q5 _, u6 U; a; a" C% d
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
) m% Z, C. b- P3 O1 `# Y' |
{
% h; _: Y* h. u0 a( [- B' a
pLight->Diffuse.r *= 0.6f;
/ {* @* i* P* M2 b
pLight->Diffuse.g *= 0.6f;
& m& `* |0 I6 A' ^# C! ]6 ]
pLight->Diffuse.b *= 0.6f;
9 n: l# k8 Z s6 _/ f5 O
pLight->Ambient.r *= 0.7f;
2 n- n' t4 K _3 t% b
pLight->Ambient.g *= 0.7f;
: x/ P, K7 ^# N5 ^
pLight->Ambient.b *= 0.7f;
2 O7 w( r6 N( w- }- h1 p
}
* y( d8 k8 L F4 m' C: v7 w
: s1 b- t0 w1 [; p1 x# R9 U
#if __VER >= 15 // __BS_CHANGING_ENVIR
. F6 x9 R; l. O4 r( L! f' o
if( g_pPlayer )
* S" z; _' M! Y4 ?: _
HookUpdateLight( pLight );
$ r, G4 e( v; ?8 c$ | Z
#endif
5 V6 R4 j$ f: N) R
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
, C& X1 l1 Y/ _( \* @: a) q% O
9 ^5 m. N$ P$ P
pLight->Diffuse.r += 0.1f;
' }$ ^7 w9 v& A4 y# e3 u
pLight->Diffuse.g += 0.1f;
1 w" c6 u% \9 p8 q) g4 _, K$ _
pLight->Diffuse.b += 0.1f;
, s7 C7 ?- @' r4 j5 I: p( l
// oˉè* ??à?
- q. ^* M: g* Q3 M- c0 e/ V( m4 h
pLight->Specular.r = 2.0f;
8 b% w+ d6 ~% J5 }
pLight->Specular.g = 2.0f;
0 \, g# k9 c0 B0 t- \; K
pLight->Specular.b = 2.0f;
2 ?. i# @8 Q. b+ q$ N$ A0 X
// á?oˉ
/ w$ z6 O+ U( Q# z
pLight->Ambient.r *= 0.9f;
3 s& r+ B5 {+ O5 s
pLight->Ambient.g *= 0.9f;
1 O* p; M' S5 }' q; _) X9 |* m# Q
pLight->Ambient.b *= 0.9f;
5 X/ [. @& F: k- [1 a% }/ p- W
1 B/ P1 s' S( g) f- `" o' @
memcpy( &m_light, pLight, sizeof( m_light ) );
5 d4 h+ X( y3 @
7 n4 Z7 M! V' e6 d0 Y% `2 T
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
1 B- f8 r, l3 s/ `6 I. c- J5 g
pLight->Appear( m_pd3dDevice, TRUE );
- T% i: V) D; F ] g' D; T V
+ m" N3 O4 @% ]
DWORD dwR, dwG, dwB;
" ]8 V$ x5 |0 E6 D8 ~
dwR = (DWORD)( pLight->Ambient.r * 255 );
9 f6 @ N Y# X2 E0 j
dwG = (DWORD)( pLight->Ambient.g * 255 );
. v+ X- X, u- R1 S, l9 y
dwB = (DWORD)( pLight->Ambient.b * 255 );
7 @$ D$ j7 V+ |- F+ \
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
6 ]; F+ @0 z* j% u/ ~6 M* A$ y
}
1 N. t0 g0 d# Q
}
( w" Q. }$ M+ p# [ ~
else
8 Q6 Y0 f: ?8 t2 d
{
! L l4 z" R8 _/ x
if( pLight )
8 d6 ^- S2 f: k9 \
{
% z0 c# U+ @4 P+ {. I# C
6 S* M) z& [$ ~* b
int nHour = 8, nMin = 0;
z4 W) E& l; s2 k6 ? f
#ifdef __CLIENT
5 [. x, X# G2 V2 [8 h+ X
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
$ R/ d7 s$ ?) Q2 a. X5 h" A/ _
nHour = g_GameTimer.m_nHour;
5 P( [, r1 b2 ~
nMin = g_GameTimer.m_nMin ;
$ _7 L/ ^8 h! L. G; K& `& d# A; F, s
#else
6 m4 x9 Q" h. F8 R* a! a
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
g5 I% z2 Z/ ~5 f0 l1 c0 \
if( m_nLightType == 1 )
" K/ X4 c% r6 C+ u: S
nHour = m_nLightHour;
4 e+ Z/ Q D6 s; V5 P i: A
#endif
* i! f g; ? C# ~
nHour--;
1 f2 U* s- j2 R. @. I. b* }$ b& V
if( nHour < 0 ) nHour = 0;
+ t! F% _8 \5 u2 ~5 a) M0 |
if( nHour > 23 ) nHour = 23;
8 c4 P; r* q2 n& y% r# k5 I3 [/ l
@- A; S9 P0 v9 ]
//if( m_bFixedHour )
O" ^+ t% K: z z. }
// nHour = m_nFixedHour, nMin = 0;
- T( C/ Z8 y( A1 p+ O. c
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
9 {: `7 K+ ^5 w1 Y/ y( ?# J
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
' m& A! R: |6 e; u% V2 a
" x0 b& q+ S/ F8 ~5 h, {9 }& _
//m_lightColor = lightColorPrv;
( R+ c2 b' W; V! R, E) c+ j- [
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
+ a) r* _/ V$ ]( C
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
8 ?! H4 A; u/ O$ O2 ~
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
T3 b5 L# f; ^
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
% p- e% A+ A8 R0 h4 ~
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
! B: T: O/ N4 f( g
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
1 A9 K* f( ]+ U ?5 E4 o
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
1 M, `5 c8 I* v/ O
' _# F! v4 |3 x4 S$ b( }
// à??μ oˉè*
; w' N* M; {# ^* X s I* ]
pLight->Diffuse.r = lightColorPrv.r1;
% A% d$ }1 \: |# a
pLight->Diffuse.g = lightColorPrv.g1;
( t) H1 p' i/ ~ U9 Y1 ^ ?
pLight->Diffuse.b = lightColorPrv.b1;
9 ]% `' ^9 A2 e; {
// oˉè* ??à?
7 F. V O- B9 W a3 I
pLight->Specular.r = 1.0f;
$ H/ l! h/ n6 n; F
pLight->Specular.g = 1.0f;
( `% z. r0 f3 S/ u, U- k6 [- q4 }
pLight->Specular.b = 1.0f;
% x N3 S- ~( Q, [
// àü?? oˉè*
$ N0 w- K* Z# V
pLight->Ambient.r = lightColorPrv.r2;
, g8 T& k N) v; Z( L
pLight->Ambient.g = lightColorPrv.g2;
! ?( I! a6 g$ [5 j) q9 [
pLight->Ambient.b = lightColorPrv.b2;
' E$ d- B. I; W; ~' U
1 b! P: u& h. [0 {
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
2 j+ l% {4 B7 s ~7 ^
{
5 E8 A; n" B& m; p
pLight->Diffuse.r *= 0.6f;
6 ~" H7 _+ u, ~% z- |7 [# W
pLight->Diffuse.g *= 0.6f;
0 k. M/ L/ Z' \4 ] B7 [
pLight->Diffuse.b *= 0.6f;
/ a7 {& o0 C2 |! W2 X
pLight->Ambient.r *= 0.7f;
! I" h2 s3 C- V j& ^% x
pLight->Ambient.g *= 0.7f;
" E2 s& I s3 [4 b$ w2 a# w+ d& m4 o
pLight->Ambient.b *= 0.7f;
* D9 A# X! T: v( T
}
* N2 r" L" `" p
! w% A" `! _4 [+ @. H
#if __VER >= 15 // __BS_CHANGING_ENVIR
( V5 T" f9 ?2 S& e/ }" D" U4 B
if( g_pPlayer )
; v- T2 X T! ^& j' J1 l/ |
HookUpdateLight( pLight );
" S4 ?# d3 h/ U+ P# d, s1 a
#endif
' q& N3 h2 F; G3 r: R
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
3 z' M' t6 K/ S! U9 F( b" t, x
4 E- x/ b( Y! W8 G/ w8 K B/ {$ Y6 E9 p; I
#ifdef __YENV
8 w7 t {% W! ]% |
pLight->Diffuse.r *= 1.1f;
! n7 L; r1 g" S) V' V
pLight->Diffuse.g *= 1.1f;
6 t1 u; d$ m# C% \6 ~( {
pLight->Diffuse.b *= 1.1f;
( X; ` b+ N& N5 t: M- l
// oˉè* ??à?
. a+ B$ ?2 e4 ^ G, x+ t
pLight->Specular.r = 2.0f;
: |, E* q+ I- ~; g
pLight->Specular.g = 2.0f;
; z: |: I& {$ w+ N7 G' c2 `8 c2 R1 m
pLight->Specular.b = 2.0f;
7 y, i( x' B, W C9 B) Z# {
// á?oˉ
/ ^& |( C- U2 U
pLight->Ambient.r *= 1.0f;
7 x( Q, o/ R, z4 W' v5 Y3 ~
pLight->Ambient.g *= 1.0f;
# \! x* v# @8 @0 M1 o- {
pLight->Ambient.b *= 1.0f;
4 L! Y1 P3 g( A
#else //__YENV
8 g) Z$ {3 O* f5 F1 d* U ], J* V
pLight->Diffuse.r *= 1.1f;
, _: D* y3 r- g* A& C
pLight->Diffuse.g *= 1.1f;
5 h* e& ?9 {* a Y" _
pLight->Diffuse.b *= 1.1f;
( u' y4 ~- i8 u6 T1 ]# ^
// oˉè* ??à?
, k' Z0 i" S0 P! J9 ^9 c7 y X/ e" W
pLight->Specular.r = 2.0f;
9 u; K5 g, q6 M9 [" M1 f& |7 b
pLight->Specular.g = 2.0f;
# b, q. a+ h1 b4 ]' D7 B
pLight->Specular.b = 2.0f;
* a$ R K; h+ Q0 J, {# ]$ R
// á?oˉ
V* @$ m! o1 G* N. N* C% H* N: H
pLight->Ambient.r *= 0.9f;
% o7 {9 \1 z8 H. A
pLight->Ambient.g *= 0.9f;
) E: t0 p' K: d1 ?8 |5 Y
pLight->Ambient.b *= 0.9f;
6 t2 m k/ b1 a. A/ K' C
#endif //__YENV
0 K; Z! _$ g, D3 W: `! V4 \
% G3 {( F& G4 i( B6 F: \0 A& q
memcpy( &m_light, pLight, sizeof( m_light ) );
- c! O5 l9 ^0 h+ W
+ @/ J' d' o# ~; o
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
3 D8 v$ X5 O$ \; @4 b
D3DXMATRIX matTemp;
" Z9 u3 b) E; d- B' j
static const float CONS_VAL = 3.1415926f / 180.f;
9 E9 C: i- V5 H+ @; z+ b
X9 [$ B, t* I; c( k
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
% b1 `- U, v3 a o; z$ T2 N: D
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
j& F X4 n% p% \0 u6 |8 A/ f* X% s
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
2 s4 ^ q$ x( v8 p( J
pLight->Appear( m_pd3dDevice, TRUE );
: f" v2 W" h, E4 w0 v
' M: E. w- W4 U
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
7 p. Q2 y- L% a1 z; _
// D3DXVec3Normalize(&(vecSun),&(vecSun));
0 w' ?) f( D9 N9 w+ T" G& F
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
V& {( W5 @9 @ ]
0 W) }1 Q% l' s o/ l3 @
DWORD dwR, dwG, dwB;
& g2 ~2 a% u, H9 ]) k$ O" H. \. |
dwR = (DWORD)( pLight->Ambient.r * 255 );
" }/ G) q/ S7 r/ u" L& O$ ^7 t
dwG = (DWORD)( pLight->Ambient.g * 255 );
+ E. z" i$ ], Z# l: m
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 D, C: K3 O! V$ Q/ z! z, V
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
7 g, u F" w0 t" n" n" B$ a9 [
}
. M" U" l" A* U, I' I" K$ ^6 k
}
# q& @$ U" o' p8 `4 h* F9 Y! [
5 o% j& q! t+ R
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
+ d5 Z; C: o# R! A
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) );
. Z% d5 P1 t" u1 h3 t5 c3 R- J$ \
::SetLight( bLight );
. J" L& p2 R+ }+ Z5 Y4 L
' q* S4 Y0 \5 U; K$ `
// ±ao? ?D?í???ó á¤à?
. O6 R$ T+ g) R* \& P
m_pd3dDevice->SetMaterial( &m_baseMaterial );
6 S W8 L8 f' p) W
' M. W! ?( _! T, C( E
#endif // not WORLDSERVER
; R" A+ n$ i0 U' c& X
}
6 d4 P8 ~+ J7 v1 \1 X% V
并更换
8 P- l* R) k, s. G( K7 y
Code:
5 y0 q1 F5 \% ^' ~8 g( S" |
__FLYFF_INITPAGE_EXT
- A. z" T. N; T$ L' ]
定义
& V$ } Q8 G- l0 {
( c, D* {$ N9 |* a
' S" y9 f% H5 n: N% ]9 x f( q5 G& p
8 b" [. N5 U# L" R. [0 G% C! Q
1 U. A( V: {5 c6 p! V" U
现在终于删除我的狗屁加速...
& G) S2 q! N; }5 G9 V- G! G
+ K- g. ]1 m$ g, ^
0 \: n F- d9 Z3 C2 C* U/ K8 Y( @& V
- A; h7 J0 s y# o" {+ Y
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2