飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
, d v4 k% n, U! T3 r8 s
尾翼:
. C8 }# ]6 X* S, _, Z. W. K
% A, F( v6 |* T$ P$ w# Y
代码:
4 ^. B/ p+ b5 q& [1 `1 l% [
CWndAutoFood::CWndAutoFood()
' A) O1 Y, g. d" E3 b6 Z
{
( p% H+ Z B; c6 l0 q- p. p; ]' a
m_pItemElem = NULL;
# v, @% H9 J$ J+ }2 H
m_pTexture = NULL;
% x0 F3 q+ z& D# V7 d: K
bStart = FALSE;
0 i! u' A" T- J9 n& ]; U* o
}
5 a! w! m7 p7 @3 N
; [, B; B1 |1 d D7 \
CWndAutoFood::~CWndAutoFood()
2 w: l/ w$ h4 J+ P2 q- G$ L/ ^
{
4 C! K7 A8 Z3 t! }% E
AfxMessageBox( "AutoFood ist gestorben
" );
/ Y% a" l3 Z, a: _! J# J: D6 x
}
- M* @6 K7 b! t+ L7 P0 C
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
: j' h0 R+ ^7 y Y u
{
) K. j9 p/ D* `, W5 W1 `0 z
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
. t# |8 }' E& b# r$ @& S1 }
}
9 x/ V4 [+ A4 ]5 l' Q0 J
+ [7 K7 M; [2 v
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
; M% k) f% ], }; y
{
D8 O& @4 ?/ n% W2 Y r5 R, N
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
8 m4 U. }: b9 i7 G3 h2 ]
CRect rect = pWndCtrl->rect;
: }9 i1 F! Q. V1 ?# W
if( rect && rect.PtInRect( point ) )
1 t1 }9 z0 l( b/ V; w# J
{
! h- l, i" L) L' E
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
1 U' [* I% H+ q
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
% m/ ^% J$ s4 @4 x" ]
{
9 _$ s+ B9 L& X6 |& @
if( m_pItemElem )
" P# O+ T6 A' D' H: `
{
( }0 t" w5 y8 x7 ]( W0 {0 i6 T+ `- f
m_pItemElem = NULL;
+ R- |8 S! _; O5 v
}
a5 v5 a4 | E# Z( l1 A) i7 z( |
m_pItemElem = pItemElem;
0 }- P& w+ v# N, M7 v9 ?
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
2 q: D0 \6 e; l! w% j2 g
}else{
2 {- D9 E( E. y: k% }, x5 ~( d
SetForbid( TRUE );
* x7 y. d, P0 G k0 F" I
}
7 A3 z- M1 z0 P
}else{
5 `( A9 x& X7 @
SetForbid( TRUE );
+ \$ F7 H) k7 d
}
3 p' O3 F% J) M B7 Z$ a0 ?8 U( v7 k
return TRUE;
2 f. w8 t' Q6 g# ^! Q, W) I
}
( J- R2 w& x+ l# b+ x$ Q
& N4 A' U4 m/ h5 C7 X
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
; P% j: ?% p0 f z. u
{
; V7 n, q) Y: f* H3 b W- D0 K
switch( nID )
4 \0 ]5 x) ]- [6 T* c' N
{
8 R# ~9 u- F C4 R- D
case WIDC_BUTTON3:
& I+ S: Y5 i7 m& [- d
{
1 O- q; }, |6 s9 m7 V7 K0 s' ^
bStart = TRUE;
$ _( O9 y& s. ?% g1 N
break;
% G9 K* y) A! H" @
}
! B+ o& d- Q3 ~
case WIDC_BUTTON4:
! S- _/ A6 |/ o# K; K! P: z
{
. p F7 W. @0 Z& n9 V5 c
bStart = FALSE;
# u2 z/ K; z) E+ W
break;
" L( I+ @4 C, |1 @; M, R
}
- f1 S: b+ u4 _. M# @/ b8 R# e! [
}
, W# t& ^: ]0 U1 i @7 D3 \7 x
return CWndNeuz::OnChildNotify( message, nID, pLResult );
+ [5 m! m3 N% O l1 P; j# ?
}
9 [ Y: t( \3 E; C1 d2 l
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
6 ^2 w9 Q" Q/ H. ~, }: `- u
{
% i: w; L$ @7 ^: ~8 w# w4 ]
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
8 q! L1 q, Z6 J0 D
if( bStart || !m_pItemElem )
! y5 m1 ?! g" q" y. n* T
{
* `1 K) u! E8 U/ W2 p ?
pBtn->EnableWindow( FALSE );
" A# J" M7 I* ?2 C8 [
}else
" v7 i( x1 ?, ?0 S/ B- W
pBtn->EnableWindow( TRUE );
& V6 `9 W4 U5 `9 S% c1 `7 s9 ?- h
if( m_pTexture )
- j3 x" l) B z
{
2 H* P$ |! m! |7 p* n3 T( d2 H
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
9 i( q* |/ {' w! y" C& t, Z! Z G& B
if( wndCtrl && wndCtrl->rect )
( m* C H' F1 |2 L8 y) ?
{
0 ?+ a2 c/ V/ q0 }. q; O" {# J
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
6 T' D$ z0 e7 K: Z
}
' X# N$ A; P/ \; n5 I" h1 I& @8 c g
}
6 c1 o7 l, D" d4 r9 E9 ~
}
7 j+ |( P7 c2 Q1 Z& l0 b$ `& E% _
+ m# C. J, {- g' j/ B
BOOL CWndAutoFood:
rocess()
9 o- M4 l. @/ l; c! t) D+ f
{
2 [" N! s6 `6 G: x
if( bStart )
6 |9 D& Q) ?: G [1 _$ D0 Q
{
2 _- z0 u0 \2 T0 M- L* u- r4 B
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
0 T: Y2 R2 Q* G1 d. g
{
- L( Y1 `/ |1 C9 @& d- a9 f
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
! m( C5 z2 J0 z, f4 a% j7 D
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
7 M! o: R0 `) \; Z- b$ o
}else{
" U! A7 q! T9 [$ b l! l
bStart = FALSE;
5 z% z/ [( p8 o5 \. Z% h" ^& x4 M
m_pItemElem = NULL;
3 D( P( X4 W- a0 b" R3 C1 b/ [6 C
}
& t8 ^5 k$ I* w. P* I7 L9 [/ S
}
6 N0 l+ S( k6 v6 P( q6 `+ D. x
return TRUE;
5 X8 t4 G% @& S$ U
}
$ l+ ?/ u; M$ j5 H; F1 L
! P6 e& z' H4 s+ \5 P$ h
登录视频废话:
# t& u+ y! L, B6 r
尾翼:
L7 x: Q+ S" {/ {0 ]) x
& u3 G2 B: ^+ w+ u
代码:
% @" c, Q5 d4 U
2 B1 H! G0 O( T& v/ |( L
void CWorld::SetLight( BOOL bLight )
8 M; v3 f, k y
durch
$ I5 P7 S( ?' A2 J* H: @' a' s
Code:
" F9 t- G' Y" G7 V+ w! P
void CWorld::SetLight( BOOL bLight )
9 Q) D" ^) r2 b9 G" Z
{
/ r8 [. y/ {( _& E4 ]) f
//ACE("SetLight %d \n", bLight);
7 L. w9 u: Q& v* ~
, v/ v9 O" C9 ]% g
#ifndef __WORLDSERVER
3 L/ y% _0 Y) K( w4 w
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
5 {( r+ ]! N" T6 d" U
CLight* pLight = NULL;
* K0 V3 i! Z3 z. p8 j& ?
* A5 v2 q1 J8 {1 y) ~% W; \( K
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
! I7 x* k1 q: ^, W
! C2 P! m7 J v! R9 F
pLight = GetLight( "direction" );
. ]: J; }8 u% W* j9 c; |, Z$ f
; x* n4 S, [' K. e7 i
#if __VER >= 15 // __BS_CHANGING_ENVIR
" x7 G4 k) r5 a4 ^ v3 R! N% x. h$ p
if( g_pPlayer ){
1 k! ]: m+ [7 I9 P% w7 @, F# I" T5 W
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
5 q- C, k! D5 R) J- k
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
: a% g s0 a3 o. S
{
! l! W4 F5 S: ~2 c
if( pLight )
& P0 a/ i) n' U2 h
{
4 z; J$ v% b7 H
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
# h ], n( V% Z: e. V
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
1 s3 s1 K! I/ L% g" v: A
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
# G% ~8 D( W3 s# l! ]" J8 z
i' {' z3 `' F5 W
pLight->Specular.r = 2.0f;
$ N' k/ J4 i* t& r
pLight->Specular.g = 2.0f;
' A$ g5 `7 E3 h1 h+ d1 P
pLight->Specular.b = 2.0f;
+ k3 V3 s; K8 U7 }1 u, z
6 d$ T# I- N# x' b; L
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
$ K- S2 I6 [' k# U! k ?
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
( Q# N' {; m- k* R O
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
4 \$ v2 X; F( R& Y% C* R1 R! J
9 ~7 x( M- l" L4 `
HookUpdateLight( pLight );
+ e0 j6 y9 y$ l8 e7 z, _
& [1 X/ S! R- \7 {9 N1 O
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# j& M- ^0 C! `/ i
" ]5 N" d! u" T
pLight->Diffuse.r *= 1.2f;
; L }; ^7 h* N1 |; K+ M
pLight->Diffuse.g *= 1.2f;
! j8 V" \ C9 O# Q% O
pLight->Diffuse.b *= 1.2f;
5 Z- ~# m% E/ }; q
/ c( ^5 s6 F: }: l" L, y: @
pLight->Ambient.r *= 0.8f;
P( g, M8 L6 l4 x! U
pLight->Ambient.g *= 0.8f;
9 n# Z/ B: \* x* R! k8 I- w
pLight->Ambient.b *= 0.8f;
# t0 B4 f7 X, P2 `7 A. f
! o. Y- _% K# S7 U; o
memcpy( &m_light, pLight, sizeof( m_light ) );
% n. I7 W, ?& A. o4 k
. O, w8 O6 f' U! l! W$ z$ x# {7 H
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
' `3 `0 T% r% k" ] x) k
D3DXVec3Normalize(&(vecSun),&(vecSun));
) ] b- e' s* K. h; A
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
2 ?, b/ y% N# T) B
pLight->Appear( m_pd3dDevice, TRUE );
$ n& ?: q6 W' d# B' ^* k
/ P }+ t+ e1 a2 Q7 Y4 r& [
DWORD dwR, dwG, dwB;
# O4 B. y a9 ]* u9 V& O4 g2 [
dwR = (DWORD)( pLight->Ambient.r * 255 );
( H# d: S1 C x! V; j+ N
dwG = (DWORD)( pLight->Ambient.g * 255 );
5 m6 s8 q( ~$ D- E: G0 x- f) G
dwB = (DWORD)( pLight->Ambient.b * 255 );
# e) [, g6 E6 |' V6 x7 A
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* Q% E! t3 G* M i8 Q2 e
}
" V w0 }) q8 j8 t
}
# z, c, H6 l; P' n, o* h+ U
}
1 G6 H8 Y& ^" p
else
' h! w: P9 x# b
#endif
! I$ b; Z7 T: L
7 M2 G3 S# P* h5 Y
if( m_bIsIndoor )
9 g; r! `+ g: c0 e* a- o$ j }' e5 t+ ]$ N
{
5 t# f& [6 V3 {; u4 r
if( pLight )
* s# N3 i; |3 r" }3 U
{
& c$ \, T: }3 o
// à??μ oˉè*
( P0 J( b& O4 ^' l5 }' X0 W- p
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
! R) ~( U5 p: ^( Q% n3 w. D
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
' b# W; j: F. |2 U9 l$ _( Z
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
4 _$ C0 o7 x6 y0 W
+ U1 [. t+ Y5 t7 C
// oˉè* ??à?
- k9 d/ T5 Z- {9 O
pLight->Specular.r = 1.0f;
" g6 A9 F; E; q4 i* V3 v/ p
pLight->Specular.g = 1.0f;
9 b8 L7 L9 _3 E9 C
pLight->Specular.b = 1.0f;
4 N" P# L& M% n
// àü?? oˉè*
4 ^ U1 C0 q& i) y
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
4 p5 l9 M4 i2 D: R U) u3 X$ e/ B7 C
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
7 I/ a U: l+ @. G- Z
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
3 G( W1 h- W0 J6 ?! k
+ U" Q4 W; e/ [, V
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
! b( I. p0 `+ V. Z, G5 K
{
! v9 }+ {5 e9 Z8 e; ?
pLight->Diffuse.r *= 0.6f;
; H4 e9 g( M: M8 |0 ]* m. A
pLight->Diffuse.g *= 0.6f;
( d V$ a9 U3 T, C$ I. W3 l
pLight->Diffuse.b *= 0.6f;
6 j+ P# C5 F5 g6 V9 \
pLight->Ambient.r *= 0.7f;
0 B0 v1 {; \/ r% V. G4 L
pLight->Ambient.g *= 0.7f;
$ U3 a# p* J6 S
pLight->Ambient.b *= 0.7f;
8 i( X; |! y* ~1 @0 v
}
6 S3 o9 p- ~; E( ~2 x: }! W$ m
0 r0 y) y9 A. e3 w2 Q2 R) [1 A
#if __VER >= 15 // __BS_CHANGING_ENVIR
6 u1 J8 W: T# U; f
if( g_pPlayer )
/ `* R0 P$ U9 q: j. r# Z% A. e
HookUpdateLight( pLight );
) L* [% O7 e/ y
#endif
) R. O: q$ J! J; s. R
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 o0 y" E l. I: M" u1 m( U( X6 a
1 U! Y4 F8 E! k2 r7 f/ l
pLight->Diffuse.r += 0.1f;
0 v4 n' ? j [
pLight->Diffuse.g += 0.1f;
, X+ E9 F& |: O D
pLight->Diffuse.b += 0.1f;
3 v Y) x- W/ O& _# i+ P5 b
// oˉè* ??à?
3 L7 \, Y, x) `# o: s
pLight->Specular.r = 2.0f;
# C, r0 r: {1 T% G9 X6 F2 q
pLight->Specular.g = 2.0f;
# l$ c& ?" \# B) B2 w# Z
pLight->Specular.b = 2.0f;
* ?- I' q: m" v# h& K1 T% H
// á?oˉ
) z: Y( G5 u7 S. n0 ^* j. Z0 g
pLight->Ambient.r *= 0.9f;
. u. A% Y( b" H! x3 W( s2 u
pLight->Ambient.g *= 0.9f;
8 Z( G+ r/ q9 l
pLight->Ambient.b *= 0.9f;
/ {, H# d# b' u5 C8 x
/ V$ |$ y! k1 |. Y8 J& t8 Q, g4 H9 `
memcpy( &m_light, pLight, sizeof( m_light ) );
! P# f' k' v( f8 f5 _/ W3 F
" V$ s4 }' Z+ I& e0 D: W+ }
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
. c8 n9 c& Y. f/ P. X$ A( E9 B
pLight->Appear( m_pd3dDevice, TRUE );
$ j% T+ N. e' U- E+ E
. _/ i4 I3 d0 }" E) r$ A5 {2 t
DWORD dwR, dwG, dwB;
/ w. `( F! h9 h/ q( _
dwR = (DWORD)( pLight->Ambient.r * 255 );
' X& x& }8 N! K2 @0 z8 _( v, d( [
dwG = (DWORD)( pLight->Ambient.g * 255 );
& V. P j) a& s
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 W$ Z7 _: Y) N& q' o( S3 a8 |
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* w0 n6 g- [# q; m; L( p% j2 n
}
9 m) Z- f6 e& z% B% E- k
}
+ V0 Q* I- d4 s. Q# J
else
; W+ a3 Z, ?3 U% a: a+ v
{
3 Y( s! x8 \; s1 C" h& ?
if( pLight )
, W# s2 a3 @0 b* g5 O( p
{
# ^4 i! \' L3 E5 V9 N1 W; k
4 A0 [8 K' E# t B; u
int nHour = 8, nMin = 0;
5 a- ^4 P( z( o. b) A
#ifdef __CLIENT
0 E" G0 i S" K8 X/ ~- }% K5 r0 D
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
; Y9 G9 g, D0 `, d, {
nHour = g_GameTimer.m_nHour;
5 @' f( J" g: @, l% d y8 g
nMin = g_GameTimer.m_nMin ;
/ d0 I; ^' A- Q. j) A0 j9 b% M
#else
1 M5 ?0 ^5 P" y4 I: C
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
$ z+ b. }( O5 y, c2 B" D9 v2 X
if( m_nLightType == 1 )
1 n; ` C' b: C
nHour = m_nLightHour;
# E, P2 @ u! s4 X5 t1 g4 o
#endif
% D7 t* X! Z% U' \- {
nHour--;
3 s6 `/ j; e) ]2 l0 P! V) g
if( nHour < 0 ) nHour = 0;
& _, P6 n: t; B/ D7 w* ^
if( nHour > 23 ) nHour = 23;
# a9 h4 I" H4 a W
" I0 {& O5 T/ L4 |+ ?' M
//if( m_bFixedHour )
7 d; ~4 @- c7 m3 ]
// nHour = m_nFixedHour, nMin = 0;
! K9 r! m7 Y1 U. I1 l4 a0 T) A
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
F7 B1 K) [3 V d
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
& x$ r* E9 S! p/ g
6 p* r: N" Q$ }# q, q P* r5 Y
//m_lightColor = lightColorPrv;
* S; [ W% n0 m
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
& `- p. T2 E- s( C
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
* C% z4 C; Z$ o
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
! u! u. e: [2 H8 Q
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
$ _3 `' q( G! P* I9 ~
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
" x) ]5 o6 w6 s* {3 u
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
; S* }* |3 R; Y8 W) I+ s
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
/ G5 a; P. G `8 p% [) Z# B4 F( a
5 A8 o1 u! W/ [2 H+ D
// à??μ oˉè*
: w: h2 s$ D- |" G8 d' E. N9 w
pLight->Diffuse.r = lightColorPrv.r1;
, I) N* C; H' Y- w
pLight->Diffuse.g = lightColorPrv.g1;
6 f6 ~1 p. U2 V
pLight->Diffuse.b = lightColorPrv.b1;
/ k6 \4 P8 d" l; y1 M3 h
// oˉè* ??à?
6 x8 `( i( w- ?6 x$ P8 A
pLight->Specular.r = 1.0f;
' _- e9 R6 l) p: T' j/ a8 @
pLight->Specular.g = 1.0f;
. D; t: H7 y) r. b7 @) r
pLight->Specular.b = 1.0f;
) E5 r# A- u0 _1 s. ~! a
// àü?? oˉè*
& k2 n8 r+ l8 Z. }: K. ^
pLight->Ambient.r = lightColorPrv.r2;
1 h& N% I- O" R% k
pLight->Ambient.g = lightColorPrv.g2;
+ p, O( [4 J: X2 [; C
pLight->Ambient.b = lightColorPrv.b2;
( L8 i! ^$ O. Q: |( r" E6 h& F
$ A/ i1 H% l. P1 M
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
5 f7 w. J+ Z2 Y* g. B/ B1 A! z8 l
{
0 L9 R- F( {4 U \* J
pLight->Diffuse.r *= 0.6f;
' o' {' z3 C; I6 o
pLight->Diffuse.g *= 0.6f;
9 T" H0 D- K3 a
pLight->Diffuse.b *= 0.6f;
. T. E" T$ N- u) @! `, i
pLight->Ambient.r *= 0.7f;
+ I& V" C# S2 R& V2 s8 H& Y/ L
pLight->Ambient.g *= 0.7f;
) u% Y6 K0 I" k# C: v
pLight->Ambient.b *= 0.7f;
7 y, O9 c6 [: @, @
}
* U) a M% ]+ S* c
' \7 \" u+ U0 N3 p# f
#if __VER >= 15 // __BS_CHANGING_ENVIR
6 B# C# n) @% }5 K' i# I0 L
if( g_pPlayer )
: Z. M" C5 M' F/ f$ c
HookUpdateLight( pLight );
' g/ e% t* I& ]6 F5 k* t5 j
#endif
# [( ^. o \& i- k9 [/ v/ B6 W6 ~
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 ]1 S* O8 i+ c' ?# \
- _( }4 F1 H5 ~; \- \
#ifdef __YENV
6 w8 U: D3 ?+ N
pLight->Diffuse.r *= 1.1f;
6 A- X# g1 y. ]6 K
pLight->Diffuse.g *= 1.1f;
8 d2 ^8 A: }- b' c o; \
pLight->Diffuse.b *= 1.1f;
9 n' H T( ?& q) A1 R7 @& z: X
// oˉè* ??à?
' l7 \' q" a0 c: H+ y; @4 [% g' a
pLight->Specular.r = 2.0f;
/ Q( M. v& ?5 w5 ~5 ?' z( q# Q
pLight->Specular.g = 2.0f;
, Y5 }- N7 z8 g: t/ u( y
pLight->Specular.b = 2.0f;
+ D* ]/ Y$ k$ \# E' v
// á?oˉ
% X7 z+ S' B9 q( ]4 z# A8 ?
pLight->Ambient.r *= 1.0f;
: w8 x! F8 t% L8 t$ M2 q; e
pLight->Ambient.g *= 1.0f;
7 m. S5 g9 ] x5 A9 E& R3 k
pLight->Ambient.b *= 1.0f;
& p4 Y+ H" |) \
#else //__YENV
: v) }7 z& @% |. C8 O0 r
pLight->Diffuse.r *= 1.1f;
5 w9 e2 U+ N H! T# ?" D
pLight->Diffuse.g *= 1.1f;
0 M" t$ d a" [6 u: ^( @# R
pLight->Diffuse.b *= 1.1f;
& R \7 ~1 D( ]. v# p! q
// oˉè* ??à?
& t. N; k! [9 e! a: F7 C! \+ O
pLight->Specular.r = 2.0f;
7 w- W- t1 m+ l
pLight->Specular.g = 2.0f;
2 r# w! _. u0 n* Z; l
pLight->Specular.b = 2.0f;
3 c9 @& P5 a% E9 E0 ^9 t9 s% q9 W. r
// á?oˉ
& {- K5 H7 t6 ~, j* ?9 B q
pLight->Ambient.r *= 0.9f;
1 G1 i4 q- |/ P! P# y% G0 t
pLight->Ambient.g *= 0.9f;
2 t$ |( A f: \# C
pLight->Ambient.b *= 0.9f;
' n1 b E3 a+ l& _7 C
#endif //__YENV
2 y) _' K( U' K/ Y5 D. L
, J3 O. m. c- L T5 L) s, \) c1 K3 F
memcpy( &m_light, pLight, sizeof( m_light ) );
( C1 [# z+ ]7 N
3 f2 \2 [$ t7 _, ?/ y" \) J
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
+ y& v0 s4 s+ s) }7 d8 L4 ]+ C
D3DXMATRIX matTemp;
# U& ^* a9 J" \
static const float CONS_VAL = 3.1415926f / 180.f;
! t, t, x( V* v( t4 o' B8 ?
% A0 z3 H, h* m
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
0 d1 J2 e/ B" q' O2 A' Z" _
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
z4 \* W4 D( m
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
5 Y m$ H9 v. N8 G1 v3 i+ {
pLight->Appear( m_pd3dDevice, TRUE );
) U- ]5 o2 e) ~. [4 N; ?
; J* c8 P9 {4 d9 K# _& i$ m
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
g! D+ h- j0 z; G$ T0 e) C" ~
// D3DXVec3Normalize(&(vecSun),&(vecSun));
. z; {# k; i3 z- w# M$ G: @
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
+ k, A' h( [8 {
( c- n9 ?7 ?0 q0 x# S6 W b
DWORD dwR, dwG, dwB;
( }1 T; _! R' F3 Y2 i+ }8 q
dwR = (DWORD)( pLight->Ambient.r * 255 );
3 E) H( ^( A* S, e' r) h. T
dwG = (DWORD)( pLight->Ambient.g * 255 );
6 p& b* L2 e- r
dwB = (DWORD)( pLight->Ambient.b * 255 );
$ [9 h# @, `; C" S1 I' b( s5 u
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 a' W* L; M: a9 n6 r2 N
}
6 U2 a) `/ D# a' D, w% u
}
/ X, ~ q j) o
0 Y8 K, a4 X3 |0 X8 Z+ n5 v
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
, x, [# f( U2 c2 G# R
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) );
' u2 |7 ?- U# V2 X; \
::SetLight( bLight );
0 J6 m) H% p6 b5 \$ `4 T! M
1 u; a( d: B* [
// ±ao? ?D?í???ó á¤à?
2 B+ O+ b# A2 h; g x9 S
m_pd3dDevice->SetMaterial( &m_baseMaterial );
/ k. n4 `7 E7 L
7 d8 X+ W8 x' {/ \7 d- Y; H: [
#endif // not WORLDSERVER
; z+ V. E3 |9 b; M7 q$ b
}
- P4 ] ^5 j( m/ I# q
并更换
% ?2 H; y6 I2 {5 l: _
Code:
9 u1 d+ s$ b: c
__FLYFF_INITPAGE_EXT
/ _6 `/ X2 a0 f- C/ _3 [8 ~3 o' H1 G4 i) v
定义
+ u L, T0 G2 L( [+ X
" |$ G, S" F, @/ N
9 L `) S9 M: v
: e* l2 u1 e2 |8 z- V: t
6 N a) W6 e6 O6 l: z
现在终于删除我的狗屁加速...
; U: B4 T3 e" O. u1 f# E8 Z
4 c) b# ?' y+ r/ ^& W
8 ]8 _' y; X$ a
! F0 m- v1 o( J5 A1 M7 L
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2