飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
: _" t N* S( ~- s
尾翼:
- H) { E# y% O+ W& w3 F4 g
, ?) k7 \$ h$ S
代码:
6 q- V- E( [! M" o
CWndAutoFood::CWndAutoFood()
! i( _$ x' p9 o) Y* X
{
2 H3 P. {6 Q" o1 o9 K& b, }
m_pItemElem = NULL;
+ K: t1 n/ r F( |9 _; B
m_pTexture = NULL;
+ W/ c1 b# F- X- R% K
bStart = FALSE;
- C9 b+ ]! t/ c: }' D7 j E- X; H
}
& j3 u0 ~" z3 l# X
5 s+ q% J$ P. k2 O
CWndAutoFood::~CWndAutoFood()
+ T8 w% X; k0 r8 c! T' `! y+ k L! K
{
' Q5 z/ l, ?/ P; z! ^$ d6 U
AfxMessageBox( "AutoFood ist gestorben
" );
1 i: Q& i. P1 r; S8 l
}
) ?! e4 S/ u- ?# Q
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
/ h+ w4 ^# k a m4 x
{
9 z4 [; J% Z: i
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
: E; [5 F, ]) n' x( s
}
1 v( w0 M6 s7 _6 c! E
# t, W9 \8 j9 l. }' `) z8 [$ b
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
& P) M/ |! m. u# D3 M R8 o4 t) M
{
" J! T; P3 J U# X4 @; U. P9 b
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
2 b: V8 @! }$ [: Y3 x
CRect rect = pWndCtrl->rect;
" p6 v) w' N: d9 x1 R2 g
if( rect && rect.PtInRect( point ) )
" H) Y3 x3 N7 x3 l2 H( g
{
/ h! U3 o) s/ S \
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
3 K1 A+ O* K1 `0 S! q: A
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
9 X. x/ c, v2 {- U2 Y
{
* c9 p, v, E3 b2 j) V) y
if( m_pItemElem )
9 Q5 x W5 e& ?4 H2 V U" \
{
/ O* f7 `! n# O! z$ x
m_pItemElem = NULL;
$ J2 u, m# H. y* c
}
1 w. v( s. Q K$ r
m_pItemElem = pItemElem;
1 j8 A: I) i4 l* E+ d M& R
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
$ l" Y: T d+ M5 l! C8 _/ [
}else{
* f9 C. w6 n* y: T) t* X, w8 H3 O
SetForbid( TRUE );
! z0 r1 F3 W5 f2 N2 I
}
: ~& ?" I3 \; U3 r
}else{
4 a$ o6 A& w" a8 }* q
SetForbid( TRUE );
" E ~( D! ~: V/ E% X
}
: Q# H; s9 m' ]
return TRUE;
5 D8 l/ q* w% T: A$ L
}
* r* B/ B a; k C( j, D: u5 ?
/ h Z5 ?3 c2 L1 {
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
9 A A+ _( A+ W* [8 P
{
& `( f3 W W% ]1 N
switch( nID )
& n- m2 u. G7 c) W( m
{
( ^" `# P7 J' T
case WIDC_BUTTON3:
" f. P3 M7 A2 P7 z3 w. U H, H1 j; Q% N
{
3 G$ p9 N0 E1 |: O
bStart = TRUE;
8 L$ V% Z2 t9 t+ A
break;
) f% o a6 w- }% G% Q; ]
}
3 R' \- `0 h4 M% H# H
case WIDC_BUTTON4:
# \% ?1 g0 Z' T- Z# f2 `* v
{
8 \% U, Z# U3 C: k: J+ H$ R
bStart = FALSE;
- v! P% Z( `4 i, A3 Y
break;
2 a- p7 \7 Z+ }, s1 \
}
+ P# K; u! y/ N# M: \* v+ |$ v; `
}
# C( `4 d6 \1 Q2 a6 ~" P
return CWndNeuz::OnChildNotify( message, nID, pLResult );
* P# O. a! r( M2 g
}
4 u5 |! A( z* O, W2 ^- }$ f' W. @
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
G: o0 {' Y; z1 P. _4 ~, t
{
: N, d% t3 _( E1 f% r0 h
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
' M2 s3 R F, B+ `( _6 |: [% b
if( bStart || !m_pItemElem )
, @" C2 V. b, \; [2 m# |
{
2 d: q! O$ B: K4 R: o! j
pBtn->EnableWindow( FALSE );
9 v0 X7 Q: q/ p3 {# J) u8 J
}else
+ Q# l% Q1 i) u! P. d) ]
pBtn->EnableWindow( TRUE );
$ z3 Z6 D4 o4 {" v) B
if( m_pTexture )
1 F1 P. \8 E( a, K( a) V5 V
{
- ]& y8 ]1 z9 n) ^* r# l, I
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
3 ]+ f* [$ u5 c1 P6 L0 Q. c5 q
if( wndCtrl && wndCtrl->rect )
. E+ H$ A' Z, F& H- V' _3 O! m
{
( F6 Z5 r6 Q; H0 {' {2 ]+ Y7 {
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
2 t7 ^ k) R, t1 w( ~
}
- i& {3 x" @' l L$ {: q
}
4 P4 X3 k) s) C. D& d# i( M1 d' N
}
8 N8 i4 O/ `+ l9 N" d
* E6 \$ Z5 B/ R* [' \4 q" n
BOOL CWndAutoFood:
rocess()
( S0 X4 s$ y5 S* @; L/ a: R
{
! T$ R8 u3 c% ?7 O4 G1 _
if( bStart )
5 O7 R0 b: B/ J; A8 n/ {
{
& _" @$ F" G _/ m
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
2 q5 ^8 E$ c' T2 w! k! g& k6 U
{
6 C. ^, b' \, I$ b
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
7 D( n, m' z% E+ X U
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
9 E( }2 y5 c7 L0 B" `
}else{
2 f' P) Y( K- y
bStart = FALSE;
$ T. I' j3 s9 c' P \0 q2 j
m_pItemElem = NULL;
0 t2 r9 T4 B3 g4 A# ?' F
}
% j% G7 G' z/ B! I7 Y ], a) X
}
9 n3 c8 N N% M% h
return TRUE;
+ A2 z! g+ E1 q
}
7 M- v# L% f# S' p/ A) M# K; L, ]1 |3 s
+ A) B, S5 D, A2 d' x3 a
登录视频废话:
: X' v4 Q$ S% {
尾翼:
- c2 E0 v+ i: y$ i
$ m4 \. R6 k9 \% B! ?
代码:
2 B/ W4 X/ D( @
/ o0 C/ @1 x8 c8 o* u! c, d: \4 j
void CWorld::SetLight( BOOL bLight )
# y. f; Y" e8 g0 R
durch
; Z4 J1 `/ b0 `3 c! N, l5 b$ c$ @
Code:
1 o) M; [- V$ C2 ^% d
void CWorld::SetLight( BOOL bLight )
: n# ]3 e) G$ m" G3 _8 X/ a
{
/ y' k0 P) C% u; v: s9 K6 |, J9 n
//ACE("SetLight %d \n", bLight);
. d0 ^8 F: c, J0 g9 U& s4 }
" v( O( t- l/ T0 }
#ifndef __WORLDSERVER
1 V' }7 k6 T: K* K# A
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
8 ?; Y1 b) v8 y. a
CLight* pLight = NULL;
2 [$ L! @5 {- l" {3 K& F
$ n# D. k4 P+ o9 O, U4 I2 I6 t
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
- p8 h: x9 K( O% [" a# a0 j
$ y0 T8 S- [9 w: |
pLight = GetLight( "direction" );
% q* ~$ C8 `$ S3 ~/ M+ R6 y" U3 f
X# f M3 ^7 r/ F
#if __VER >= 15 // __BS_CHANGING_ENVIR
8 [/ O! `' _- K2 _, x
if( g_pPlayer ){
: _7 O* h1 p4 n0 n) S% W( P
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
- x9 \3 U/ T$ T4 M3 i% {
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
5 Q9 [: J& b8 J9 o0 j
{
?" A) m' w8 E+ m. F# |( o! W) f
if( pLight )
* w3 a. o, P4 x- f4 \% [% F
{
) D7 A& I( S g7 l. P" | |+ Q: w
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
0 y& ]! [9 M3 h9 m2 Z
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
" v7 L, X2 R9 a2 f0 }* C
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
T# Y0 S7 w* M
* r" B) ]& O4 a$ [! u/ k- f! L
pLight->Specular.r = 2.0f;
. G, d) n- v, R" Q$ z/ t* h
pLight->Specular.g = 2.0f;
- t" } N. F. X1 @# X' l
pLight->Specular.b = 2.0f;
. n9 U7 p1 r8 N: y: L9 K
* t- H4 r1 e5 u' o
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
$ U: D1 S; V3 n. m) \" L
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
. U9 m# ^: Q1 B, w+ Q9 J
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
. [# U4 k5 P: ^' C5 G
2 x1 f) @( D# w: k( u
HookUpdateLight( pLight );
/ L# c# W; s8 ~, D
}7 o* F. G. k' h5 Q8 y: q( s
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
9 }# i- l8 f) Z" b
5 h0 [9 v& H7 H9 l( Y E
pLight->Diffuse.r *= 1.2f;
5 A# C% B+ V4 a+ a I
pLight->Diffuse.g *= 1.2f;
$ f+ I- P3 N0 q/ p. u
pLight->Diffuse.b *= 1.2f;
5 C* v* R ]# t( R
* L I0 \( I6 h
pLight->Ambient.r *= 0.8f;
2 i8 O; ^' m, k# Q
pLight->Ambient.g *= 0.8f;
: @. L% G- v Q
pLight->Ambient.b *= 0.8f;
/ l" f3 r8 n# T3 u% W
8 v, q: h+ S5 c F' F
memcpy( &m_light, pLight, sizeof( m_light ) );
6 W- m5 A, d( y+ l
. M) v$ i$ f# {9 h+ {% P
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
e. B7 [' I$ q! H1 \
D3DXVec3Normalize(&(vecSun),&(vecSun));
/ M4 c1 N" t: l, U( s6 ?4 ?4 v
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
& s) \# i6 |1 [; j6 E' F O; K. x
pLight->Appear( m_pd3dDevice, TRUE );
9 M O4 e; @, m7 ]& J1 @
5 |7 ^1 a _9 e# |0 b7 g
DWORD dwR, dwG, dwB;
& x) W6 N$ o5 T. Y0 s7 }
dwR = (DWORD)( pLight->Ambient.r * 255 );
6 `( `8 A1 R+ U1 G, B- I
dwG = (DWORD)( pLight->Ambient.g * 255 );
8 R5 C+ {/ ~2 F8 p2 i+ l) _- Q" ~
dwB = (DWORD)( pLight->Ambient.b * 255 );
+ l4 U! X0 N; w2 y& ^; x% o
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* R" A* [* k( J& j
}
7 ]' S7 d4 b0 `- e
}
, V P& D1 M s% v6 Y
}
3 S9 d+ T4 b8 K. q& C
else
' B8 `; `- I& I$ T7 L
#endif
# R0 D& f) Z+ H* S( }1 d; P- a4 k# `
- z5 _9 L0 f/ K5 j& {5 F) O
if( m_bIsIndoor )
7 Q% B% ^4 X4 T2 i
{
9 a. K; }) l: U5 V
if( pLight )
) \2 h2 h9 m/ l' X, e9 h
{
h; _5 X* e- t. l' ~- S, K( G
// à??μ oˉè*
8 P( t. l' [' s* e7 O. ?$ E
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
N" [0 _( C/ [: \, z3 } c
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
7 r7 {, Y* J* ~9 \# L
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
, {+ S4 D+ m; x. f1 S: A" x% T
; A+ x6 z) `( E; D) G
// oˉè* ??à?
% E/ d& {* B6 j* A3 E
pLight->Specular.r = 1.0f;
9 U4 U; [/ A" w3 P
pLight->Specular.g = 1.0f;
% e: u. Z& I9 I1 l/ l1 `
pLight->Specular.b = 1.0f;
& T& t+ L$ I- ^
// àü?? oˉè*
$ a W5 q9 z- r/ L' i& ]) o
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
' a" r4 U" O+ H) k# h
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
- N0 K" b8 s( V
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
5 _1 q, r7 q* i& v
, b: O$ A! P9 H
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
5 w$ a0 W( G* y
{
$ X: w! e2 q. e* d+ k3 v) J; M
pLight->Diffuse.r *= 0.6f;
8 m; [8 _; V! w# r# |* {
pLight->Diffuse.g *= 0.6f;
* O: e8 b" ?0 F1 h# f
pLight->Diffuse.b *= 0.6f;
- b+ B. Y3 ]" N$ f+ F' E
pLight->Ambient.r *= 0.7f;
, d8 L" ^. E/ g/ D5 P
pLight->Ambient.g *= 0.7f;
# }" K+ n& X1 M3 K4 }/ O# Z
pLight->Ambient.b *= 0.7f;
8 d* L- u: R& g9 i9 X% _
}
, C! s0 l( Y* l, D A
Z/ k" i# m. R$ l
#if __VER >= 15 // __BS_CHANGING_ENVIR
9 c& A" r* a$ |9 N! U/ E: B
if( g_pPlayer )
- ` x) t% m5 ?3 N! W. U
HookUpdateLight( pLight );
/ O- b& p; N9 h. i
#endif
2 G( ~ _* I$ a% h/ Y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. a. ` n3 U' e+ c
% k2 r0 N2 k& r5 Q% E
pLight->Diffuse.r += 0.1f;
3 H1 S; m6 ?/ ~/ J
pLight->Diffuse.g += 0.1f;
( v6 O7 l) N6 m; }
pLight->Diffuse.b += 0.1f;
. V" c# b( B' j% S8 `
// oˉè* ??à?
& G# e: ?4 j( W5 w- n) L/ e
pLight->Specular.r = 2.0f;
9 J0 |$ }1 `0 m; F/ O
pLight->Specular.g = 2.0f;
. Y$ h& T+ L& m! y# i. w
pLight->Specular.b = 2.0f;
( G# y2 E# i+ ~. j E! p I
// á?oˉ
$ G% T4 O: ~7 ?$ Q
pLight->Ambient.r *= 0.9f;
# ~; |7 N9 y* _# @- O
pLight->Ambient.g *= 0.9f;
) r/ h( s5 O+ V H
pLight->Ambient.b *= 0.9f;
2 I. I2 A* k+ w
) Q) P# V, Y2 J2 S
memcpy( &m_light, pLight, sizeof( m_light ) );
% t9 ?( o6 a6 z% D0 Y( S( A
` b9 ^( ?& i% J$ `) A
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
: S4 n# p |& K+ M
pLight->Appear( m_pd3dDevice, TRUE );
2 n2 P ~0 g( o. Y" D) d; `- |. E
/ g& H( [$ |: u3 Q: }+ V
DWORD dwR, dwG, dwB;
; r3 j6 \2 ?* Q' O, \
dwR = (DWORD)( pLight->Ambient.r * 255 );
- @+ O- ?6 Q7 e$ p' t
dwG = (DWORD)( pLight->Ambient.g * 255 );
; t+ W7 A2 W; u* A6 M
dwB = (DWORD)( pLight->Ambient.b * 255 );
" B/ e d3 H% f' X* G
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
! w, s- f3 l; [3 N9 V4 Y* U& E
}
* K: N# n: m# l6 G; ?
}
7 E9 [- i% I/ D& Y( t* S
else
: V$ c7 P8 c, a+ b/ e
{
+ K' u9 W" T) p8 V% i
if( pLight )
% [. K* @. x8 ~- o$ _" l5 K) D
{
7 s7 W4 b- V( z! R6 ~1 U
- O1 I) O. T' C% D6 m
int nHour = 8, nMin = 0;
. u' Y! H0 W: o$ |
#ifdef __CLIENT
* E. Z* V" J; g/ ^6 u, [7 n# i0 _
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
1 P8 k% o. J& |3 @) Z/ y
nHour = g_GameTimer.m_nHour;
$ p5 t) A8 e8 k5 M/ `) y
nMin = g_GameTimer.m_nMin ;
/ i" f0 \% S: g" i& w4 S" d! G
#else
# j* q) r7 \% d J
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
/ W4 C% {1 T$ t- p
if( m_nLightType == 1 )
' B: ^" Q- Z) _6 M9 z
nHour = m_nLightHour;
v9 m+ q0 T# }
#endif
; c& t& m! g4 Z* y* D+ v- @+ T
nHour--;
! P" c h: o. ]% g
if( nHour < 0 ) nHour = 0;
; Y* |- \6 ^ i d7 c' y
if( nHour > 23 ) nHour = 23;
# }. c; y- H4 w$ e- W2 S" V: }5 Z
$ n9 w" }9 z5 y, p/ `7 j
//if( m_bFixedHour )
4 w; ?; k% W) G
// nHour = m_nFixedHour, nMin = 0;
2 k& W, b/ ^7 B# c2 _* u: f, a
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
, N: R; b) x M; P: Z
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
7 }( Q, ]8 \! {; ~; S
; _3 k5 T# A! S0 \0 Z- ~
//m_lightColor = lightColorPrv;
; a) y! `+ H* Z
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
5 G# W- l9 W! A. ~% t' I
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
/ V5 ~4 H6 t. t5 m/ d0 h
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
9 t$ h) q: }( j5 p6 C
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
8 Y; E7 b* W6 S# `2 i
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
9 U; V4 I* k9 t( i
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
2 @4 m+ a- s. i; z5 C0 m
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
% u) m1 Y/ _: z/ A
% y- n4 ?& d' b% Q% F; E
// à??μ oˉè*
( J7 Q$ x; ~8 a
pLight->Diffuse.r = lightColorPrv.r1;
; `. X4 V6 L- Q2 z$ `- j
pLight->Diffuse.g = lightColorPrv.g1;
7 o& n2 B3 U; _( p( d
pLight->Diffuse.b = lightColorPrv.b1;
% _2 T+ r( C8 {( G& Y/ t7 E
// oˉè* ??à?
' w6 Q: R6 W* m! ^% e
pLight->Specular.r = 1.0f;
9 t4 n: Q1 m3 u& ]
pLight->Specular.g = 1.0f;
$ _7 l f( Y5 L2 y" l/ _, ^# N
pLight->Specular.b = 1.0f;
5 C6 U$ K! @+ }' H
// àü?? oˉè*
! {- y! n2 q5 r1 j; R
pLight->Ambient.r = lightColorPrv.r2;
( Y" |* f+ L/ }8 j5 R0 f8 G+ m
pLight->Ambient.g = lightColorPrv.g2;
% ^, G# m4 v- N4 c$ K& t. x
pLight->Ambient.b = lightColorPrv.b2;
1 T% H, t/ Z5 T8 z( V
. d; q2 h! {" r3 L5 H4 y
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
; ?' ?% C$ `: ?+ n, k y. \
{
# j" c, r$ W$ c. t9 R
pLight->Diffuse.r *= 0.6f;
6 J9 N1 P1 o) O6 O
pLight->Diffuse.g *= 0.6f;
( N' h- [3 f- U
pLight->Diffuse.b *= 0.6f;
* ^# ?: ~ C( l+ \
pLight->Ambient.r *= 0.7f;
; ^1 a8 v3 l, z/ j3 R" d
pLight->Ambient.g *= 0.7f;
& U5 Z6 {& |3 t
pLight->Ambient.b *= 0.7f;
" G* U# S( L r1 H$ c/ a: P" ^
}
" V3 r5 L! h0 s4 p5 S
" Q. C3 d. E) l3 q) B6 \8 l8 |$ |
#if __VER >= 15 // __BS_CHANGING_ENVIR
9 T. z, r# @+ t( n: ]
if( g_pPlayer )
& w7 H& W5 ^2 c O
HookUpdateLight( pLight );
% T/ o: Q' T# A' x8 t9 o
#endif
9 c# j0 b6 G) s! U; E5 q+ G
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ c+ c& o% B/ H! z$ @* O8 f
1 s) q) q! a8 v5 _0 @) e0 B/ _8 x R
#ifdef __YENV
6 O5 U/ ^6 ^ p( T4 b' m6 b5 O
pLight->Diffuse.r *= 1.1f;
' V' F2 _4 X; P) t; a
pLight->Diffuse.g *= 1.1f;
- }0 K+ K3 g% T& e
pLight->Diffuse.b *= 1.1f;
; K( L; g5 A- H
// oˉè* ??à?
) Y N6 B' Y* T7 l: s% k1 e/ ~
pLight->Specular.r = 2.0f;
; v8 }1 u% L4 \
pLight->Specular.g = 2.0f;
; I# y& V6 ?; m+ X D
pLight->Specular.b = 2.0f;
7 ~$ _3 a8 U8 B& G6 C
// á?oˉ
$ ?; s9 \7 z3 X8 G, n
pLight->Ambient.r *= 1.0f;
- o, z( m% ~4 T* T
pLight->Ambient.g *= 1.0f;
3 P: X/ \" Z3 r6 x2 e5 N
pLight->Ambient.b *= 1.0f;
3 O( s G6 I% G0 D9 X# s1 k
#else //__YENV
3 D1 M( t7 K- p) h1 L
pLight->Diffuse.r *= 1.1f;
0 I* [2 u6 h1 y7 o7 `( D
pLight->Diffuse.g *= 1.1f;
0 e+ V2 F+ h* C- t+ l) E" b r
pLight->Diffuse.b *= 1.1f;
* q7 _8 f3 K! x8 U
// oˉè* ??à?
) L& f- v+ ?6 h) w
pLight->Specular.r = 2.0f;
: P3 |* p. q+ \- i4 Z, U6 {. i. \
pLight->Specular.g = 2.0f;
2 N0 B, d5 A7 S: `; O% {' J
pLight->Specular.b = 2.0f;
& X; B+ |+ z" w; {0 D Q# E
// á?oˉ
5 n9 K; ^4 R/ g! d9 s/ r; W* F
pLight->Ambient.r *= 0.9f;
3 p x0 v( H8 \9 r4 T- D( s: N
pLight->Ambient.g *= 0.9f;
3 {$ }$ v5 @3 n+ l9 ^5 Y
pLight->Ambient.b *= 0.9f;
6 w3 D$ x- n5 p4 s) [# W, n
#endif //__YENV
) F `" M) [; c
; i( T1 B2 ]( l8 g8 K o
memcpy( &m_light, pLight, sizeof( m_light ) );
?, T+ G5 T% L+ {, g
8 ]6 t1 Q+ Q; k' @# ]* f! X/ u+ T
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
: w# \1 t' j! Z$ F" Q& G
D3DXMATRIX matTemp;
- V0 s) j3 p" E0 t
static const float CONS_VAL = 3.1415926f / 180.f;
2 l7 B, a& R" t! K5 A# f' t
0 K3 j* [1 P8 |% _5 Z% j
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
: u: ?; R/ l' C' p
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
( M) N* V1 C! e/ Q+ P% a; b
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
/ Y ~% }" N- G$ K$ {7 }
pLight->Appear( m_pd3dDevice, TRUE );
! D, ~6 n% C8 R# P2 Q
% k' Z- V# h5 K1 S" F9 ?
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
$ \& X3 r2 Y1 o+ J$ a
// D3DXVec3Normalize(&(vecSun),&(vecSun));
& s+ e5 g1 [7 c5 B& K, c
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
8 }& Y& J0 |; t
! y$ g; u! C h( J c f# Q
DWORD dwR, dwG, dwB;
9 Y u1 \2 Y- R' F7 H8 D
dwR = (DWORD)( pLight->Ambient.r * 255 );
$ T) J+ ^ c$ C) V- R* f; t
dwG = (DWORD)( pLight->Ambient.g * 255 );
, y8 B! Y4 O4 G$ Q* Z2 }
dwB = (DWORD)( pLight->Ambient.b * 255 );
1 x1 W4 l6 R9 N
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
! I3 m. \+ G- t
}
* q' B/ b* {4 ?! r/ c+ L
}
8 f' x& z" q% I6 ~5 e4 W+ H" Q7 @
% Z D) V# R' z2 \
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
5 x) g, b# r* p7 P, {0 P; q
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) );
$ o" f1 K9 O8 j0 k6 e
::SetLight( bLight );
5 @7 R+ J! }: b+ R: u5 U
, j% f) l5 E, a3 {6 c6 C$ X1 G
// ±ao? ?D?í???ó á¤à?
8 Y: Y1 J% d4 X4 Q3 \6 T
m_pd3dDevice->SetMaterial( &m_baseMaterial );
! C8 f6 ?4 ^8 H1 g7 o
: ?- h I- y; B7 N4 Z3 @4 \
#endif // not WORLDSERVER
- c; q0 z) s8 z& X
}
7 _. E# v0 |8 k, o
并更换
5 |3 l/ l4 Q+ B) f* c3 M
Code:
% i) X2 ~( f9 d7 M9 Q1 k: T# v) Z
__FLYFF_INITPAGE_EXT
( o$ f+ S9 U3 J0 q1 S# B5 L+ A
定义
5 e% X5 ?9 |- N* i
8 z' [7 o3 d/ |
0 J# O6 H: c h
3 y8 n( m5 C4 q$ U
4 T$ U. C9 n- X6 I
现在终于删除我的狗屁加速...
$ r9 B9 v7 r9 i
6 @5 G3 Q; Z8 |* [6 x! [
- ?2 S% n. D, i8 a. v, N7 J# @* f8 M
" n4 @0 a8 u2 h1 x5 ?) k7 F
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2