飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
k( W! D0 U$ v# P3 D( q' U0 `. u
尾翼:
* H' |4 |0 A4 I
u- C0 y" E4 n# y" c
代码:
8 y; q- ~9 ^& m6 _: g3 b
CWndAutoFood::CWndAutoFood()
; O Z( J2 u7 R0 Z( q
{
8 a( t. m& ~/ ~9 L( S
m_pItemElem = NULL;
1 R8 c+ j1 o* G
m_pTexture = NULL;
6 N k) z6 ?2 m; j( Q
bStart = FALSE;
$ O2 X: J4 ^# m
}
8 k" A: H* P$ V& e
: T m' l; x/ X7 Q$ x
CWndAutoFood::~CWndAutoFood()
A$ |% w' s: Z( x' s! t- G
{
' G. N! A4 {+ t- I
AfxMessageBox( "AutoFood ist gestorben
" );
: y( ~1 V: P' R+ ~5 y5 {
}
N, _3 e4 q5 T7 J+ K5 F: z
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
9 [0 F, J/ c( y& d6 Q8 M
{
- ^. d4 c3 P: u: {: i
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
, N7 `0 g P. r
}
$ m5 K2 C6 f# c u
6 E ?; t6 B) l% h& v
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
, N& \2 `7 @" t+ G& t7 ~
{
& r* z% u+ b. A8 ]1 M
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
- ?9 j' S3 ]: g1 S5 S/ h' W& c1 h
CRect rect = pWndCtrl->rect;
2 y) a3 q' Z1 e2 E/ `
if( rect && rect.PtInRect( point ) )
! ?+ {" F0 `/ A) w
{
; _6 m8 V$ g, D0 R0 d# ] e
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
; [1 P* s7 m- r7 {
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
- ~) _0 `& [+ {: f
{
5 }: D- f) F. N' \: G( N$ @$ K' d
if( m_pItemElem )
9 z; _7 {! Y4 S1 F3 n! m% U
{
4 ?/ t% N' p7 n" V$ W9 Y5 n$ b
m_pItemElem = NULL;
; h4 y8 D" J' }0 D" n) {* T, [ _
}
# ^' G8 Q6 e& t7 _/ p: ]
m_pItemElem = pItemElem;
r: `% f4 ]4 n9 ?. d( ]+ |
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
& C9 d) s" I7 M# c/ g
}else{
1 K6 @4 c1 [9 q: @
SetForbid( TRUE );
, p' b* D( I; p2 P. U# ^
}
# f1 G! ^& a& M2 ~
}else{
9 {, @- z" P7 ], i
SetForbid( TRUE );
2 ~( R4 B# i( w! n7 L% F+ p$ K5 V) o }& G
}
2 R& I8 w6 S# C
return TRUE;
2 u7 ~7 E, t! Q( d0 Y( `
}
, L3 P! {9 ` X
) D9 ^) r/ J$ X7 `0 M' x
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
7 f1 B% j: _# }! ]
{
) h$ l" D1 c$ Z! G2 i! x
switch( nID )
3 w: F y4 M1 z5 Z, k
{
2 x- B. [3 |4 d, C% B
case WIDC_BUTTON3:
4 j& x% P1 b; H6 H0 i
{
* d, G" q( u: t7 c0 J
bStart = TRUE;
& g6 `! [! [5 f" R* W0 x6 M
break;
+ P1 \! \: b0 e; W, O1 b+ c! W
}
6 Q7 Y& {4 H0 x+ t
case WIDC_BUTTON4:
" V0 U) s1 \( B Y; x
{
s- }1 A% {/ n7 J; w
bStart = FALSE;
) @& W* s2 \5 \! V8 l. l! g
break;
6 ~/ v9 F5 m/ u# O* u, m
}
, _$ l3 a+ P/ d( k/ y- }
}
- v2 G: B5 _5 z
return CWndNeuz::OnChildNotify( message, nID, pLResult );
' E/ `8 F8 c" _8 o
}
4 V( G" t: ^3 M5 A) U2 h1 a
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
2 K6 O0 Y0 @% c' z, ]
{
6 `9 K/ `; a6 h2 P
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
9 C. \* U) i; k
if( bStart || !m_pItemElem )
1 L+ Z4 L6 h; l/ t) V" ~
{
+ ~# m, v' g7 h" F
pBtn->EnableWindow( FALSE );
1 V8 @- G | X* B! [
}else
( W6 L! x* O2 |2 E, X, R
pBtn->EnableWindow( TRUE );
- n# i9 v; D, `& a7 j. Q
if( m_pTexture )
# `6 k( V# u- M* ^" j5 {- L W# W/ S
{
$ [% {2 d2 R1 J' K
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
9 z, c" g. s1 |
if( wndCtrl && wndCtrl->rect )
1 F4 G5 o* Y% {* S/ H
{
, A! r! x4 L' V4 U8 r2 A
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
# |; m7 o1 x. }6 Y
}
9 h. X/ t6 a% \5 g6 B& ?
}
+ m& c4 t6 K" a$ e( r" P: ?
}
9 i" e9 a: Z+ u; a- c
" U! B8 `; s8 E+ I/ X, u8 u
BOOL CWndAutoFood:
rocess()
- i" n% h0 V# [6 {( m
{
8 f0 ^4 R+ Z- D0 ~9 ~4 d' q2 B
if( bStart )
0 X& x! v8 A l1 A. ?
{
: w$ O; J7 X8 I/ y4 z5 d
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
& p* y* ?. |# j$ M" x
{
: V& {$ ]& ?5 |# _4 Z3 c, H
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
$ A+ o7 o8 j7 g% E5 W/ X
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
! A0 V. Q% [& W4 u
}else{
1 @- f! W g: ?; W- x7 x: C
bStart = FALSE;
2 l* x. v, V1 { \( B- L+ d& o
m_pItemElem = NULL;
" C) ~$ Q0 \: [
}
# f* K. {& A# Q6 W3 j0 Y
}
3 F' L, s. G: N7 m L
return TRUE;
% `! y2 y4 w- e6 I/ Q1 |# m2 d, ]! P
}
# J) d# F8 L( Q$ A1 T: B+ w
% {3 W2 ?% s$ a* g9 l9 {& @
登录视频废话:
* {5 Y0 }1 R1 j5 b; J% P8 s
尾翼:
2 A5 W/ C' k. ~$ P$ b
- D, G+ ^6 `: r9 `# _
代码:
3 |" A# I. l T3 P
+ p/ a2 B/ h( o' }4 X n, D( A
void CWorld::SetLight( BOOL bLight )
! Z0 W4 r8 m5 N5 }9 u4 F
durch
; j" H) |: B: O
Code:
5 T3 r7 m% A! ~
void CWorld::SetLight( BOOL bLight )
6 e; u/ I6 T% b, _ ?1 I
{
! d0 m/ D" ]$ c. W) ^
//ACE("SetLight %d \n", bLight);
2 O; E7 U! E. d' n
- _- g6 T1 a. R
#ifndef __WORLDSERVER
! |5 e2 j9 W i
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
1 ]/ d% M/ v9 @+ H& h. C! {
CLight* pLight = NULL;
# T \/ ^$ s9 S" Y: h
$ C" g. b5 k9 A8 ?6 D a3 x8 r, a4 _
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
. M) q; [) z5 d" p
5 t7 `5 M: S* T% {7 Q
pLight = GetLight( "direction" );
8 @3 Z4 }: K u0 l
2 @, U: w& Q/ C" K! x/ H
#if __VER >= 15 // __BS_CHANGING_ENVIR
; }" g8 k1 i4 u& G
if( g_pPlayer ){
% h- |/ @$ p9 B
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
1 N B/ g( w* C i! t
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
. M1 o# l3 h9 k! ~* w: p' @
{
) m# w& m! c! v2 D. z# k, I5 c
if( pLight )
4 x- r8 W/ g: s7 m* W/ f6 N5 N
{
' ^, M7 r) m4 K( c
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
# l0 b+ x+ u& C3 c& J
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
4 Y2 i1 e" J8 B+ [, d/ Q o6 \' {
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
7 [$ H1 a! v- r
0 M0 P: l l2 _# K- T* l8 H
pLight->Specular.r = 2.0f;
0 ?, S, J, z. n) x& m
pLight->Specular.g = 2.0f;
/ r7 U' n. f: K0 J3 r
pLight->Specular.b = 2.0f;
$ h. W7 c9 r$ v- x, L
0 n; ~) O6 x( B" [ q3 a9 p& }
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
- t0 ^" y" g, l* t1 X: v8 X1 p
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
2 {1 H( p0 x t$ d* u T6 M( c
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
- ]4 P$ |5 Y, \; z0 N0 B
5 \0 A2 M# x% g( L1 K' _
HookUpdateLight( pLight );
) A" O5 x. R& v& S% @/ o
! y; n3 g+ u3 j+ T
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 t/ D0 C5 T5 I+ A2 Q
6 S9 q6 u/ ]! X& Z; G6 b
pLight->Diffuse.r *= 1.2f;
. i/ @+ d, R( e3 a
pLight->Diffuse.g *= 1.2f;
/ d4 ?4 C$ {) W' e1 u2 J1 P
pLight->Diffuse.b *= 1.2f;
$ r, `. p1 y; T3 X! D5 M
n+ ]) M- F0 j3 C4 o
pLight->Ambient.r *= 0.8f;
$ B9 O( m3 _% z4 U$ ?( x
pLight->Ambient.g *= 0.8f;
2 Y3 I9 q7 e) X% W/ N' T2 N
pLight->Ambient.b *= 0.8f;
4 F: g1 n7 D7 u* B- a
2 V3 a5 C# @3 w/ k7 S0 Y; i8 a C
memcpy( &m_light, pLight, sizeof( m_light ) );
- L6 }- e a/ Q7 a4 Q
" y6 _/ A. }) o0 C$ H
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
* O2 J; |/ {2 G! n
D3DXVec3Normalize(&(vecSun),&(vecSun));
6 B2 Y+ L1 k* Z
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
4 F2 g2 @- ]7 H3 z7 | u
pLight->Appear( m_pd3dDevice, TRUE );
5 N9 s" \' b, S9 { ~7 q# {
$ i, R( W |3 d2 @% M" Z. j1 ^
DWORD dwR, dwG, dwB;
4 q% K4 Z, z/ Y) ?
dwR = (DWORD)( pLight->Ambient.r * 255 );
1 U. P, T) y5 Z# b; p6 P
dwG = (DWORD)( pLight->Ambient.g * 255 );
- [% e, E( o" k
dwB = (DWORD)( pLight->Ambient.b * 255 );
9 s1 X' x$ l5 j0 m) [
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& g7 d: D2 z, L' o, n, `
}
8 ~# c8 H+ c( G) P; c8 ?3 w
}
3 _6 \+ U) B& c/ o
}
5 _, u1 d% A- A7 e) e
else
$ f s6 K/ W$ \9 {$ s
#endif
2 U" K. _. E0 d: a, p
& k8 W. U! a4 h) }" i
if( m_bIsIndoor )
E5 t3 _% {0 A7 ^. u+ a& y6 f
{
2 q* ^: o; B! z) e. [# t: k
if( pLight )
! l8 d) e1 Y3 E D2 e
{
1 B) E" u8 w1 x+ R q; \
// à??μ oˉè*
% Y& w0 \2 }- q0 v
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
) b% M. n' p: I* g
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
E+ q4 F n5 T/ V
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
* K: y' K- w6 g* A) V* X9 d( o
% b1 I; P( r0 L. P
// oˉè* ??à?
6 L. l3 u, R" O( c" i9 r4 S
pLight->Specular.r = 1.0f;
& @- A _% a; O/ _; E5 n
pLight->Specular.g = 1.0f;
- d' O: }9 ]+ U+ x! i7 @
pLight->Specular.b = 1.0f;
% [- z/ ~! c D/ o& K: V
// àü?? oˉè*
" Q0 ~' s8 A2 f5 r2 O) t Q* t$ c7 x
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
% L1 g% }5 ?+ N
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
% I/ a/ o2 P% F: `, c/ `
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
* I8 ]2 q4 K, [; |% A
$ A3 s+ L; \' k! T0 G) v' }* f Y
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
" f. Q9 N% D6 Y/ s
{
! _: ^& Q4 {' z0 V3 Y3 q2 _" H
pLight->Diffuse.r *= 0.6f;
- B/ G: @: Y( z3 e
pLight->Diffuse.g *= 0.6f;
( c6 d ]% ~/ f; o
pLight->Diffuse.b *= 0.6f;
/ I9 G) S# S5 [
pLight->Ambient.r *= 0.7f;
* i: m6 o \8 D/ V" O$ [: t7 L
pLight->Ambient.g *= 0.7f;
' J: p) }. Q3 x* w9 a
pLight->Ambient.b *= 0.7f;
9 p: L9 K$ W: _3 _- `! I
}
& j x/ A$ w& G4 h
; \$ @' [, \/ V$ L% t$ ]/ @) B6 y/ F
#if __VER >= 15 // __BS_CHANGING_ENVIR
5 [: X, _6 Z/ P5 j3 ]
if( g_pPlayer )
0 Q6 b' k) `7 ]7 }; \# e, V
HookUpdateLight( pLight );
3 Q, F$ S! a. {& B& m% \8 q) j- s
#endif
/ j% q4 J) ~- Q- J. h! k: J
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) p) Q+ T; ?: d! R
! z+ h" p3 M* G) k
pLight->Diffuse.r += 0.1f;
& O. u6 U0 P$ M7 m# y' c! P
pLight->Diffuse.g += 0.1f;
3 ~$ r' r ~( b/ L5 m! s9 s* v
pLight->Diffuse.b += 0.1f;
* j8 j |) D# d4 b. M, E* u8 V) R
// oˉè* ??à?
3 w+ j3 W/ g" p' t* ^
pLight->Specular.r = 2.0f;
& s, ?4 i# S, U8 P& J- u
pLight->Specular.g = 2.0f;
- b3 f% @2 f' q4 z
pLight->Specular.b = 2.0f;
7 c$ q6 r) X9 h% B0 @1 d+ Y& W2 ^
// á?oˉ
* t/ X z* a3 ]6 U+ K
pLight->Ambient.r *= 0.9f;
; M/ z% l }' S: ~" ?
pLight->Ambient.g *= 0.9f;
/ P. G7 j( i8 b0 s: P
pLight->Ambient.b *= 0.9f;
3 [; M: T& I& n3 i0 f( H3 r
$ W5 U' P% u6 l! [5 r6 M7 l
memcpy( &m_light, pLight, sizeof( m_light ) );
+ v u( W4 I. n5 B$ i, ]
* K/ Z1 X: p4 O/ W6 _7 x
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
$ N# R& t- b8 S' j2 u% m$ ?% D
pLight->Appear( m_pd3dDevice, TRUE );
8 p8 B* R* b/ q2 N7 v p
; ^; j0 G1 p$ r. i6 U6 J
DWORD dwR, dwG, dwB;
F p& r P1 i- p
dwR = (DWORD)( pLight->Ambient.r * 255 );
4 V5 ^: {4 v4 M1 Z
dwG = (DWORD)( pLight->Ambient.g * 255 );
( u( N& }& g) ]) \1 B5 N
dwB = (DWORD)( pLight->Ambient.b * 255 );
8 R7 O+ T1 v, R- k6 h$ h
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. }3 m, d8 p, O# V
}
" o) [. \' _0 |+ G& B- M% U
}
. C) i& D! Q+ S
else
; M9 z$ b0 P1 A* g N" E8 T
{
8 E) _8 o- @2 I% t: O# H
if( pLight )
$ N A2 R: `! x/ r
{
: V# O# u9 t1 V- i+ T
9 v) S& l) h m8 f6 j1 D# M
int nHour = 8, nMin = 0;
+ i" u+ X) H$ ?
#ifdef __CLIENT
% v$ v) \% C) ~2 n9 \+ y
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
% b: e$ u# N2 H# _, t- k
nHour = g_GameTimer.m_nHour;
2 e( F; ]! j1 g" u
nMin = g_GameTimer.m_nMin ;
1 U" Q, f `2 r9 g% W3 w
#else
/ I3 j6 ?# h$ i# D: ^1 G6 o3 u; h
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
5 O# |4 ^& m" _1 q$ l, B
if( m_nLightType == 1 )
q& A( O3 z/ C+ ?
nHour = m_nLightHour;
! H" ^, t7 m) a0 \5 B, v3 p$ V
#endif
, g& E7 h2 g, `' m3 ^+ B
nHour--;
8 G5 w" D- D+ J" B# ]( k6 z
if( nHour < 0 ) nHour = 0;
7 Y+ f* R$ h& u+ ^
if( nHour > 23 ) nHour = 23;
" M6 E; E9 }$ z
/ f! x: W# E! Z8 V3 q
//if( m_bFixedHour )
$ ]4 ]0 d8 s9 M1 k( T8 B
// nHour = m_nFixedHour, nMin = 0;
8 u. o8 e/ D' O
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
! ^& f$ \8 E2 a
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
* c3 {5 A$ S7 z! W1 m) t: U3 U
$ v; }- C2 S. G. \2 e
//m_lightColor = lightColorPrv;
6 F0 c( P% K" O$ ~* v2 {: x
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
2 [) W$ n4 q0 X0 }0 I- ^: t! ?
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
M2 U! l5 ^, e# _" H( i
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
) V' o+ W# e. i& [3 B1 T8 K
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
, V' o6 D9 W5 Z7 r
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
7 V+ T3 F1 H3 Z1 x+ s$ }
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
* x* _) F! R) x' U: ^: e& H3 m
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
5 P* ?$ }8 D F+ H
% P" \/ m. U# k6 H; \( t
// à??μ oˉè*
5 J: ]3 A0 h# R/ l
pLight->Diffuse.r = lightColorPrv.r1;
0 G# t7 r' ]7 L+ e: g6 F
pLight->Diffuse.g = lightColorPrv.g1;
8 W+ [" S1 Z0 w, I
pLight->Diffuse.b = lightColorPrv.b1;
; c: r$ H% z, h u( g
// oˉè* ??à?
) g2 ~8 p! s5 I$ Z% j+ W1 t
pLight->Specular.r = 1.0f;
: X- x" d/ V* C. H4 U8 C
pLight->Specular.g = 1.0f;
1 f4 D* U0 z* ^8 o/ T) q8 M
pLight->Specular.b = 1.0f;
$ a, N' N) A ?8 l) r( \
// àü?? oˉè*
" O# K3 D2 m0 p# W( Q( L, `! ?. M
pLight->Ambient.r = lightColorPrv.r2;
% E1 O- K3 ~( P, |) }) F
pLight->Ambient.g = lightColorPrv.g2;
! F4 G, W. a7 }. V: A5 y
pLight->Ambient.b = lightColorPrv.b2;
% ~8 k9 x6 y$ k! O7 A- b! Z$ z
! P) |) P. e$ Z6 S! V
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
+ M6 F# Z* B2 e' v1 j: {. J- P- Z
{
2 n- O( l8 ?: l% n$ V) Y7 [' z
pLight->Diffuse.r *= 0.6f;
% D2 D T: g0 D% v
pLight->Diffuse.g *= 0.6f;
$ m: a4 B9 R ?
pLight->Diffuse.b *= 0.6f;
. p# ~$ x' G. B: ^) S- t
pLight->Ambient.r *= 0.7f;
0 q1 C5 F3 m% Q2 b. M5 b+ y$ r
pLight->Ambient.g *= 0.7f;
3 V6 x0 i9 ]+ `# f( V2 ^
pLight->Ambient.b *= 0.7f;
6 Q7 x1 }; e7 I2 q- U
}
8 T& L2 z" W3 u0 N9 V
6 I0 D4 V) i* W$ o0 C; o
#if __VER >= 15 // __BS_CHANGING_ENVIR
# @. Y5 P& G! N/ D) _
if( g_pPlayer )
6 L8 s7 h W; i0 }- n
HookUpdateLight( pLight );
/ p" t4 B' U1 N T
#endif
8 N( n; Q0 e0 m% D6 P- ]1 s4 t
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; X# l2 _' z0 u1 W" W. ?- R# M
7 r9 Q$ n0 e3 z& u. x# a$ q; `
#ifdef __YENV
; j& w, ^1 G) w" b8 O
pLight->Diffuse.r *= 1.1f;
# ] ~0 ?5 ~# P* }
pLight->Diffuse.g *= 1.1f;
F& M7 o& F3 V5 n. Z: G9 O
pLight->Diffuse.b *= 1.1f;
& W# y Z: H$ y! W# o$ _! s( b9 F9 b
// oˉè* ??à?
- `; V& X. b. g6 m" e6 \4 w- u
pLight->Specular.r = 2.0f;
$ l7 _2 ]! y1 G, H5 ~
pLight->Specular.g = 2.0f;
( s4 I; x: l( s3 H
pLight->Specular.b = 2.0f;
4 x! F9 a& X$ X7 \9 s
// á?oˉ
4 Q3 P ?5 C% E! g9 E5 |7 q
pLight->Ambient.r *= 1.0f;
# Y3 r" p, k( Y' R- N7 J
pLight->Ambient.g *= 1.0f;
/ D7 t- g# X5 N; l3 R9 o+ m
pLight->Ambient.b *= 1.0f;
' H+ m. H9 B) F1 Y8 ?. m
#else //__YENV
4 P* G2 ~( W, J) X: J
pLight->Diffuse.r *= 1.1f;
; V% M0 ] O5 k! l
pLight->Diffuse.g *= 1.1f;
; B/ c9 X6 A7 U/ f# i) T$ u
pLight->Diffuse.b *= 1.1f;
" ]- ~, m5 @% ?8 U% y h
// oˉè* ??à?
) w- ~2 r {0 t1 c, ]8 v3 t
pLight->Specular.r = 2.0f;
" _2 y4 s# E+ X, U4 I5 R
pLight->Specular.g = 2.0f;
- v, L& S. C' p) _
pLight->Specular.b = 2.0f;
0 K$ r8 h8 c3 N3 {: Q3 q) s
// á?oˉ
5 W. `# Z3 d4 x0 D7 u/ o
pLight->Ambient.r *= 0.9f;
/ D" C; K! D/ S _ l. ~5 k3 W l
pLight->Ambient.g *= 0.9f;
0 D# m8 N3 W& E, D/ m
pLight->Ambient.b *= 0.9f;
3 B7 `, h+ l* H2 a
#endif //__YENV
* x1 S1 {4 |1 K% G9 `) l* l$ U6 m
9 e' \" V7 c* ]4 p
memcpy( &m_light, pLight, sizeof( m_light ) );
7 j+ n; [- g( `% a' s8 V* C v
, S5 V. |) A$ [1 m b9 V- N
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
9 t4 }' c$ v7 ^9 l
D3DXMATRIX matTemp;
; e& |) I; B ~2 a5 A* e
static const float CONS_VAL = 3.1415926f / 180.f;
7 r* l/ Z, G7 u& a$ N
8 p* l+ E3 C' c( a$ B7 A
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
' f5 @3 e* T' |. f' B* }0 U& K8 T
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
- g9 }7 |( \/ {' f) a
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
, W+ n5 Q4 u/ c. }) [
pLight->Appear( m_pd3dDevice, TRUE );
# Q4 r8 U" Q' o7 n
3 }7 R7 J9 a9 n4 x9 z0 _4 i6 ?
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
9 w& ^& F% D# L8 ~; N
// D3DXVec3Normalize(&(vecSun),&(vecSun));
; A# z& [3 F* T v: e
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. M+ P! c8 B; Y
) T! M) p7 Z! W* G
DWORD dwR, dwG, dwB;
" O- a" h, Y; q; i8 L! i
dwR = (DWORD)( pLight->Ambient.r * 255 );
7 B& N W' R. L; U* J7 q7 \6 ^5 g5 v: `
dwG = (DWORD)( pLight->Ambient.g * 255 );
6 w7 v4 B/ |0 q0 p& Z! N
dwB = (DWORD)( pLight->Ambient.b * 255 );
6 B' \1 Z4 @2 p5 M8 x) L
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 x1 D/ e9 j( |% f& B4 y9 F. T9 p
}
: H/ Z$ l+ F8 ~/ U4 f8 Z
}
3 l- i4 \9 v7 z6 X) `5 ]
) m. x( Y3 Z6 [& S8 J
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
* J/ y: A- |' D0 b" k5 h* I
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) );
+ C! G# _( g% U, l" M9 B2 }
::SetLight( bLight );
, j* L* j% x5 h- O1 N
. {' }* A# H/ N. R
// ±ao? ?D?í???ó á¤à?
3 b8 f: T% V: y9 \! Z3 I/ `
m_pd3dDevice->SetMaterial( &m_baseMaterial );
9 J4 p D- x. Y1 ]
$ Z7 t( c& |) i4 J! m
#endif // not WORLDSERVER
. B7 g% _' B9 d
}
' Y9 Q8 d( ^5 ]
并更换
9 e' b X, x) S( d
Code:
# h" J1 R- Q8 V. a0 q4 P* C
__FLYFF_INITPAGE_EXT
" L9 N. k! s6 g0 }& T
定义
. {9 O' ?) B0 Y+ u
. _* |, ^2 W! o0 w
- \1 m; A! v5 r4 \8 O" r; E, E
8 |# r2 w( x& u
4 x7 y# Z" M1 Z2 O+ ]
现在终于删除我的狗屁加速...
$ P/ n/ \, O2 a" @# B
j, o' Q+ }6 J: R3 f6 i
1 b! @, o" }! s
{3 s' A6 c: g( J1 @
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2