飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
, f7 O7 Z* D9 E" A' @; y% O$ X2 P
尾翼:
7 e. k9 M) I( C2 n6 U2 L8 }, z
! a+ _8 _& \- E' }* h" ~
代码:
* _8 |& f% y, j' G, {
CWndAutoFood::CWndAutoFood()
1 D4 G3 @% h3 F" {! K% b8 t
{
# }# p( B" ~/ t4 [! `
m_pItemElem = NULL;
# p8 Y/ e1 n& O3 j; [6 H9 Q
m_pTexture = NULL;
9 ^8 f6 n/ o# X* Y/ g) [
bStart = FALSE;
9 P( C4 S; @' \" J$ I! Z, W
}
, A9 a7 Q+ J6 }0 u
& Y, K8 Q- a% o( T3 A: h: h3 C
CWndAutoFood::~CWndAutoFood()
( N+ T$ A0 s" C8 V( u3 w4 L
{
' @& U4 N4 s, F6 G7 V7 Y
AfxMessageBox( "AutoFood ist gestorben
" );
3 s# v6 G% r3 I5 ?! F; _- n
}
9 W$ o( Z% E! z7 ^6 p
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
a0 i0 S. o i& D) X0 S
{
) o% f( {6 @" P" `4 w) G
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
2 R F. M2 m- X. v
}
2 E$ N- k' e9 S: Q, g0 r% u
2 z- E" V( ?* `5 ?3 }! v+ [% E9 d; e
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
6 T ^6 c0 Z* n( ~, O3 c
{
% `0 Z" i6 O# F; w" P
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
% f; b0 `3 y6 t6 p# t0 g9 k
CRect rect = pWndCtrl->rect;
0 I* K/ d7 l+ E3 q, G0 s' @0 s
if( rect && rect.PtInRect( point ) )
% p5 D1 x3 i- [& L% H9 v5 W
{
" J V$ G- U: `& G3 G5 ]
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
- T- D2 D. V3 y: C8 g
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
' i6 Y; z6 D5 y1 }3 m! ^
{
% m/ G# M( Q8 D( ?# W
if( m_pItemElem )
; d; Y* j; ]* x1 A9 N
{
) e5 T w0 u, w) N& f
m_pItemElem = NULL;
8 _: J) }$ a ^4 E! g1 c" k
}
6 J& e5 e, L8 J" U/ j
m_pItemElem = pItemElem;
$ x" M( d) f) J) X3 N
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
" q4 E2 t: n% [6 L- j. k! O/ w& J' Y
}else{
* Q6 C, A/ X/ e+ w/ m3 L/ f' ?% T
SetForbid( TRUE );
. W: S8 T: J- ^* Q. x
}
3 Z/ P8 }$ v" G( u0 I
}else{
2 H0 X5 m& H; B) f. S
SetForbid( TRUE );
$ J$ l% B# L: p. w( x
}
5 n3 A2 B) _+ Q1 s8 q
return TRUE;
; j. q% `. _" w
}
6 d: Z/ b1 v% a5 B; V2 I1 P
- ~3 b& F+ [7 T. u D& C% R! e( ?/ q: c
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
" _/ g" y# z Z, J- `
{
5 Q% J" G! u5 v/ ?: `5 [* Y* f
switch( nID )
* V" U. x2 }" ?# R6 M$ g+ E
{
. |4 [! B8 M) |1 W
case WIDC_BUTTON3:
8 ?2 e: j) u0 l T0 o* _
{
8 m4 I+ C* Q: H
bStart = TRUE;
" d/ Q2 n- O$ ?- {7 {1 [$ l0 N
break;
7 e; t/ e9 T- x/ S$ D
}
5 K9 F, j4 |2 b! G, [- A
case WIDC_BUTTON4:
1 l' {* y. I2 `: Q: N: V
{
) [( _0 j, k; _" w5 G9 }: l% S
bStart = FALSE;
" F; ~2 A7 J1 l) M5 J$ e
break;
+ Z' J. N: w: y7 f
}
F; l0 K5 J e c/ ?
}
) @ p. B3 Q; J6 y! f8 z* g
return CWndNeuz::OnChildNotify( message, nID, pLResult );
- g( m; [% b2 C; D) ~2 a
}
4 Y7 ^9 V$ h6 X8 D
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
6 x0 E& |, u" X
{
% I% O0 I& f" t9 M
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
9 p+ O. }4 f/ c/ }" ]
if( bStart || !m_pItemElem )
# ]* G c& [, a' w: s+ _
{
4 q) P+ U+ O T! ^0 M* \' j* R
pBtn->EnableWindow( FALSE );
/ B3 T; s% N1 U6 u2 s
}else
[# ]# E' W; ?% b3 T* p
pBtn->EnableWindow( TRUE );
3 q/ [; I1 d: o& i# B, @6 h
if( m_pTexture )
8 w5 m, @; @3 _! T% J) ~9 M
{
. J5 a/ B1 x+ W) F
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
. M8 L- c# a6 ]4 t r0 ~ G
if( wndCtrl && wndCtrl->rect )
/ h0 l& V0 H% U" }0 P: n
{
8 Z2 p. \: @8 D! c0 q* h% {- W
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
5 K& C. I, f. T( W j
}
/ @! b2 t7 U2 B, d1 i5 Z) g
}
8 n. f) Y P- v- q6 X X
}
1 g d: P$ k. m1 F; Y$ D3 H1 Q
. h$ p& {' ]4 V! z5 k' M7 a& Q
BOOL CWndAutoFood:
rocess()
7 C6 X) O$ E: w& F/ w7 c4 ?
{
$ @( _! b$ d7 F& s& t2 {
if( bStart )
?) A C; r K
{
6 P* Y& G' F! G* T; J: z" q
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
& Y# J$ q; ]" K
{
" o) ~3 R. }3 A, g, i% z. T
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
# ~* q+ n8 V% b w9 ~4 R
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
# p0 _# [' G f H+ D5 m
}else{
4 y9 P& h# v9 [. l1 A* R
bStart = FALSE;
4 d% L _2 E/ H4 o4 H# F% o
m_pItemElem = NULL;
8 j3 q/ F) n! m+ @- \
}
7 F% N% |' b# v% T
}
3 Y0 |1 ]5 g1 T# g8 b
return TRUE;
# W% i6 U- _- Q9 l
}
. ^% X9 k6 L* Q Y3 b/ v
" e. O: _: y" z1 b* ]
登录视频废话:
: e) B3 n; y* _
尾翼:
) f& X2 n4 H/ z+ N$ R8 a
0 n O; E* O# U) {. W6 a
代码:
1 J+ V# f9 x9 z% Y; G, A$ B0 q
, E8 _ g; {/ F
void CWorld::SetLight( BOOL bLight )
& e# T0 _% W; ~3 u; c, c: K1 T
durch
0 X5 t4 r6 I% e
Code:
9 T) @9 Q5 e$ u- a5 }+ i9 m4 J
void CWorld::SetLight( BOOL bLight )
7 [- Y& [' L& V* |% i/ u
{
' T7 g0 |4 _& v f. A, S, D
//ACE("SetLight %d \n", bLight);
1 U4 K6 [& P' ^* l* d% D
* \ Y. z/ G, v8 R2 g9 ?) J
#ifndef __WORLDSERVER
4 V. z. P; [& q" v( e2 r
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
" P8 X* Z7 C- T% o2 _
CLight* pLight = NULL;
! `' b7 f/ O1 h! e
8 d m0 g8 d7 r) e( n
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
# X$ d! g' f: R% q3 A
0 W$ ^2 d5 P) b' Y+ D
pLight = GetLight( "direction" );
6 l( E0 ^3 F9 D& P
5 {. }, ^: O, r9 N$ d
#if __VER >= 15 // __BS_CHANGING_ENVIR
3 ^6 q- B# v1 l ?% `, ?* F' O
if( g_pPlayer ){
5 e6 O# A1 c1 ^3 C u# e
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
9 V7 J* |% I3 M" L* b! j4 r
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
, O# T# g) l& q1 k* i' U
{
5 {/ }2 E) W: L2 [" K; ^
if( pLight )
: F+ J3 O4 d E% Y
{
5 v* p/ L3 }4 Y, m
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
8 t" j8 Y+ t5 K. z
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
6 j% o; \( l* ~. _
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
9 Q& c% ^4 a1 H
8 J& C* j7 w5 v0 f
pLight->Specular.r = 2.0f;
8 b3 e2 C: D/ x# k3 r
pLight->Specular.g = 2.0f;
3 q1 B2 C E8 J7 u# x
pLight->Specular.b = 2.0f;
7 i }2 n& J) T& E2 t4 a- P' `- ^
" v p! ]7 t& O! W
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
0 P @" v4 a/ R) y1 x6 g
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
' ~$ B. A- Q, Z% ^, K
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
, {. r& ]$ f- J7 A7 ~% v$ ~) ?
2 [4 _" ^7 N7 v8 U, B
HookUpdateLight( pLight );
( ~" Q2 Y. `5 z# J
" k% J! H; Z1 d2 M4 ^( o; x
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% O& ]& P$ Q9 x, v0 b
& w* ~; x6 q$ h6 y" I
pLight->Diffuse.r *= 1.2f;
! V- U. X" K* z' l4 e
pLight->Diffuse.g *= 1.2f;
( E8 B! `0 m, ^/ R9 h1 l/ Y
pLight->Diffuse.b *= 1.2f;
; a: y2 S$ x' _7 b3 l) n
: J# f7 I- k6 X [
pLight->Ambient.r *= 0.8f;
6 N& q1 _, }7 N" ]$ Y1 V
pLight->Ambient.g *= 0.8f;
9 r6 Q! I6 P4 _- T |0 A/ I
pLight->Ambient.b *= 0.8f;
3 o7 m6 H c1 W2 {% W
0 j2 A" l9 o. p5 [. i l1 {
memcpy( &m_light, pLight, sizeof( m_light ) );
$ } g7 y" d0 T/ w5 C: T" w1 ?
: ]8 @, U+ F" S8 f8 C
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 x/ B) {1 I8 F1 ?% l, D
D3DXVec3Normalize(&(vecSun),&(vecSun));
( S& N, O, D' ]! t7 z0 q5 ]# d& U
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
+ O; X! @' \. p
pLight->Appear( m_pd3dDevice, TRUE );
b$ ]0 m+ F( q7 _ f$ c
% ^) v6 \: T, s2 z4 D* Y! \# _
DWORD dwR, dwG, dwB;
: @* @8 T7 Z; j: V6 n* v
dwR = (DWORD)( pLight->Ambient.r * 255 );
3 v1 R( `. @ B4 F: V# a6 o8 `2 B0 l3 n6 q
dwG = (DWORD)( pLight->Ambient.g * 255 );
8 ?% `1 v; Q. s/ y/ j/ s
dwB = (DWORD)( pLight->Ambient.b * 255 );
5 k2 V- H6 ]1 O4 a4 ]5 `
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- |7 b% V% k! K6 M$ q! g e
}
7 u- Z# a9 w3 }* [$ Q
}
) @: R: r- z0 ~& _# e6 Q
}
) j$ u' s# q" w7 o
else
* u; k) c6 ^: T- k" x4 b9 k: g
#endif
3 @5 Z. B: ?! C
) n1 O2 S; J1 n2 ?
if( m_bIsIndoor )
; e# p& ~( |6 \5 [5 |! [- m
{
- p% S2 ^* o6 e0 p- S
if( pLight )
* l0 L. t- s' D2 J) J1 D
{
( B. d( N b/ `0 r0 F: a
// à??μ oˉè*
) B3 r8 |5 L' H1 h/ B/ U
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
) ^, U5 n5 K! G, F$ T- Q
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
5 D0 U3 k" S) S1 F* V
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
2 b" b9 k4 q- m
3 W4 ^$ q7 I. ]4 _% r7 c' e" Z
// oˉè* ??à?
# Q# F) o* q8 [1 F8 Q8 C2 H4 m
pLight->Specular.r = 1.0f;
7 [) {9 |8 x" e6 g
pLight->Specular.g = 1.0f;
- S+ X$ k/ v# \* I4 c# D' c
pLight->Specular.b = 1.0f;
3 O/ g( P4 C' w. Q- ?, n
// àü?? oˉè*
, q7 V' A* X* W6 P: B# d/ o
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
7 v0 ? A7 v% P) K Z* o
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
+ w4 \7 h/ V0 `$ h1 T+ g# H
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
. L: Q: n# A$ Y/ y3 P
5 `* B# h2 K s h
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
$ ?% q: J7 o9 W3 t% V: L: h
{
8 n/ P6 r. X$ f$ ]
pLight->Diffuse.r *= 0.6f;
# k+ l S" i+ j5 ^
pLight->Diffuse.g *= 0.6f;
4 c/ h9 K1 o9 ~8 s1 b8 G
pLight->Diffuse.b *= 0.6f;
0 F, B; u' Q( W6 p" a3 x1 R/ |2 \
pLight->Ambient.r *= 0.7f;
) |2 P( s6 c# s- E& ^
pLight->Ambient.g *= 0.7f;
1 m0 l7 G. x" K+ J7 g$ q" c5 I, y- B
pLight->Ambient.b *= 0.7f;
9 f9 t' v: e* h
}
7 k9 A9 S7 U" Q: {! Z p) R7 S! a
: a- q! h I, l
#if __VER >= 15 // __BS_CHANGING_ENVIR
- m2 i1 k2 g5 b$ Y, Y2 s4 B
if( g_pPlayer )
/ ~( M1 [4 e/ V: H9 w# O
HookUpdateLight( pLight );
6 J1 t& f$ B% s
#endif
! J( A8 o& O* } ^
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
8 C5 j$ \, y7 U9 f
4 M4 c& `) ]2 [2 x; o7 v" J( z# K
pLight->Diffuse.r += 0.1f;
9 z8 D0 O0 ~+ s3 h1 Q* ?1 h
pLight->Diffuse.g += 0.1f;
2 N M- V$ \0 Q; R
pLight->Diffuse.b += 0.1f;
$ v/ D5 v& a# }6 \% d6 L5 q6 w6 x
// oˉè* ??à?
( _; f! U( ~: b/ Z2 t
pLight->Specular.r = 2.0f;
R& i: l0 K( m( M
pLight->Specular.g = 2.0f;
) t' V: V5 N; v) t* n
pLight->Specular.b = 2.0f;
8 v: S5 O6 q9 E! L/ s( d6 d+ s
// á?oˉ
$ m8 c' ?1 d5 {8 C: J( Y n* F
pLight->Ambient.r *= 0.9f;
) G" a# z( g) O! `
pLight->Ambient.g *= 0.9f;
/ [- |' K6 x' I
pLight->Ambient.b *= 0.9f;
( N9 E N! B' v; A; T- M; Z
* ^5 I, @% p5 X- M' p' T
memcpy( &m_light, pLight, sizeof( m_light ) );
5 ]' C! Q8 Z1 U
5 S+ v K0 c3 k! a6 ?4 x! D
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
3 M+ \8 O% V+ ^: \. `+ m2 J
pLight->Appear( m_pd3dDevice, TRUE );
! L3 R' @, K- x7 E; z' v) |
7 ?! `+ { L& F/ k5 b) B7 g
DWORD dwR, dwG, dwB;
' v) h5 A+ Y$ N7 ^( K% V" H1 n
dwR = (DWORD)( pLight->Ambient.r * 255 );
4 Z7 w; B3 E( W' Y* u1 E
dwG = (DWORD)( pLight->Ambient.g * 255 );
! }4 M, ]7 d# Y, ?4 A
dwB = (DWORD)( pLight->Ambient.b * 255 );
6 M. e) k* @& F6 L3 p
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
8 I; H e. ]/ H9 i$ Q
}
) |; }$ t. n: r% q1 W
}
% f# b) J* J R; v
else
! O' ^% \* S1 ?+ W1 }. T8 w9 N" o( v
{
2 X- b3 s! Y3 r# n" X0 W
if( pLight )
# K2 |9 o) ? Y: g* }
{
0 Q( c& }* t9 n( i/ I
" i+ i, u5 c+ W/ ]
int nHour = 8, nMin = 0;
$ w3 W U& I' S b
#ifdef __CLIENT
% T1 B+ ]1 m6 f- \( |8 V. N
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
9 t! j0 i: u7 S* ^8 ] k3 ]
nHour = g_GameTimer.m_nHour;
, B$ n+ ]9 R) d+ L. j9 \. W3 o d: h
nMin = g_GameTimer.m_nMin ;
9 u1 |0 S+ e8 _( t4 i
#else
J( g/ x& ^' J# m- r$ ]/ e! u
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
' w$ u5 F" I5 K% O v
if( m_nLightType == 1 )
( }$ H* l$ e8 q: c% G1 m: A
nHour = m_nLightHour;
8 ]3 ]' Z* _0 T7 d. }0 x
#endif
( h1 o& Y8 N+ d" s4 v1 u
nHour--;
- z7 W. ?3 J) o: V
if( nHour < 0 ) nHour = 0;
1 }9 b, j2 S* e2 {% r O3 \
if( nHour > 23 ) nHour = 23;
" }. @6 T# S) X8 O l2 @: X8 g" `
+ X( j' g! t2 L+ u, z/ J6 ^ x
//if( m_bFixedHour )
0 Z& a5 m* ?4 ?$ l& y9 X( o
// nHour = m_nFixedHour, nMin = 0;
1 A$ p# f/ o2 W/ L
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
/ r& t$ A8 ~+ W3 }6 v
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
' `9 A* S& a$ O* B' b& F5 ~
% ?, k. y o# J( H; R; K
//m_lightColor = lightColorPrv;
$ l; Z! s' k* P2 E/ f) l
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
# b. C4 M/ _. h" @0 b
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
8 m4 i& ?' ^# y' w5 E+ u* j
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
* [2 u, G h: J9 h
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
4 T9 I% B9 L+ J& _# w$ o% T# q
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
0 F5 o1 T* P) @6 s, N
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
0 H& E+ ^# Z& }" J
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
5 J: A* {; b7 }! z, M7 n
7 d K m2 A6 H1 f* g4 e. G
// à??μ oˉè*
0 P6 Z5 t9 ]4 g. |
pLight->Diffuse.r = lightColorPrv.r1;
/ O$ `6 F/ W+ \0 ~. I
pLight->Diffuse.g = lightColorPrv.g1;
6 Z2 T) K/ [" C! @
pLight->Diffuse.b = lightColorPrv.b1;
+ [! c- E& v p2 i) I
// oˉè* ??à?
4 ?; J1 [ | n& I! B0 }* @* Y: F
pLight->Specular.r = 1.0f;
& Y( k4 u9 D5 ~8 l' k$ j
pLight->Specular.g = 1.0f;
8 M9 v; |% T9 Y: H; n
pLight->Specular.b = 1.0f;
+ S8 z3 q3 m: _6 F
// àü?? oˉè*
0 q" s3 i* k4 u, B7 ^( V: h: l
pLight->Ambient.r = lightColorPrv.r2;
7 h, h8 S7 {6 D$ W, [3 @3 ^! l
pLight->Ambient.g = lightColorPrv.g2;
5 L' m+ l6 E8 K3 V" E$ H6 J4 r
pLight->Ambient.b = lightColorPrv.b2;
; h- U1 T: R- x* u% ~! g
, f6 Q6 q" A1 v( i# h5 B
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
$ r) f% s, F3 w; c$ a
{
8 z# i8 e6 W6 Q0 T$ `
pLight->Diffuse.r *= 0.6f;
$ e C" }5 x0 O7 M8 s
pLight->Diffuse.g *= 0.6f;
: n6 g7 u$ s1 _, r- F
pLight->Diffuse.b *= 0.6f;
) o# W1 c, K; G$ Y3 f& {) b
pLight->Ambient.r *= 0.7f;
* C" L8 F U- T: V: }# T' I2 w
pLight->Ambient.g *= 0.7f;
1 w3 }+ U' M! l2 @
pLight->Ambient.b *= 0.7f;
. w; S! D2 O6 R6 c: y- Q
}
9 i, O& u/ a. h
1 E' e4 \9 Z# h% E! }8 x, B
#if __VER >= 15 // __BS_CHANGING_ENVIR
5 i( f# S- {% O
if( g_pPlayer )
8 ?1 \1 R/ L+ ?2 j. `& F
HookUpdateLight( pLight );
$ N8 U$ k- h/ C- ?
#endif
; y% K4 \$ i6 E" h# O" A
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 `0 O6 n; W$ I" {6 G! c0 @
# e+ y0 S" h3 W c
#ifdef __YENV
4 W% i7 ^' x1 Z) x0 J
pLight->Diffuse.r *= 1.1f;
! V1 R4 z, r4 l* W) ^3 j& o& I
pLight->Diffuse.g *= 1.1f;
+ A. B! }3 Z. f0 S* L O
pLight->Diffuse.b *= 1.1f;
. \$ `3 g' s' Y: z/ ?9 [8 f
// oˉè* ??à?
# l/ E6 _# Y0 Z' i9 b- k9 h' W
pLight->Specular.r = 2.0f;
) v6 }" m/ @- U0 p
pLight->Specular.g = 2.0f;
3 r' u/ m) i9 M: k8 c% K0 a
pLight->Specular.b = 2.0f;
2 X# T* E! R, F) _+ v7 S2 z5 m, d2 O
// á?oˉ
6 _ ?" V! R u6 z. {' X2 f
pLight->Ambient.r *= 1.0f;
7 F1 f" q O9 l5 M. H1 J% B+ m
pLight->Ambient.g *= 1.0f;
$ r X# d7 D) Y. B. ?, \( J# L3 k
pLight->Ambient.b *= 1.0f;
0 G0 h( G" c6 q/ L
#else //__YENV
' Y/ Y/ H6 P7 D1 X' w/ N& x
pLight->Diffuse.r *= 1.1f;
" m% w7 v0 P/ g: y$ p( ^3 A8 h
pLight->Diffuse.g *= 1.1f;
, w" A+ o7 I$ F% A" L3 Q2 a
pLight->Diffuse.b *= 1.1f;
a# t9 b) `' Q
// oˉè* ??à?
+ ~! V% M7 q# J% J! o K
pLight->Specular.r = 2.0f;
# g" d* d0 s( }
pLight->Specular.g = 2.0f;
' K6 ~5 P0 ^2 E8 v+ L9 r
pLight->Specular.b = 2.0f;
6 s' V4 L B1 J6 p
// á?oˉ
0 N- T! W7 f/ a
pLight->Ambient.r *= 0.9f;
! j% Q/ R+ R* `' b: a) O$ @9 @
pLight->Ambient.g *= 0.9f;
3 ]# e- b/ H% t
pLight->Ambient.b *= 0.9f;
. n6 p8 o, H3 I1 g, L) ?9 C
#endif //__YENV
% t7 }1 c3 e% J2 y+ v' K3 y/ n+ e
" |" }4 J4 i4 v! u+ I9 z$ V
memcpy( &m_light, pLight, sizeof( m_light ) );
- K& q/ G1 Q( \
, H3 p" o2 z4 u) V2 F
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
' g3 B$ R8 q, z0 x- A; s- n8 o. v
D3DXMATRIX matTemp;
& u, S, I2 ]- q. G& t% e; y$ N
static const float CONS_VAL = 3.1415926f / 180.f;
3 @$ x q$ }+ v
: Z# }* d& c" V0 p/ @
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
) Y* e+ c* ^) K, F- W$ [1 A9 r4 q8 I
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
$ ^' s+ ~# g* U+ H
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
. t2 n4 Z, W' E) [; t7 l; j2 s" Y
pLight->Appear( m_pd3dDevice, TRUE );
7 s: J$ s+ O7 s2 }
) j- _; S" C4 u3 Q
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
" B/ _3 z6 W1 x8 y' _" c7 [
// D3DXVec3Normalize(&(vecSun),&(vecSun));
$ @. N" H4 r9 z& A6 a$ l/ ^) f1 D5 B7 A
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
1 H l, b) ]) @. \4 M O
8 m: o1 S& E" {) H5 l# h* W3 L
DWORD dwR, dwG, dwB;
& X$ V# `2 [# d: G
dwR = (DWORD)( pLight->Ambient.r * 255 );
# X6 Z4 f8 z/ \
dwG = (DWORD)( pLight->Ambient.g * 255 );
# p' B% v6 D8 d6 H- T; P
dwB = (DWORD)( pLight->Ambient.b * 255 );
" H# {1 |$ c) u+ {
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 f. v& t# P# R R& ^, B. V1 q) y
}
) x3 d) k7 U2 c8 R+ C
}
5 B0 b% [* ?% M1 A& f( y
& V8 V, k: y( U+ e' ~
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
, S( A0 Z' r4 p
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) );
( H6 y, u7 ?3 K1 K% Y4 T3 Z; M7 G
::SetLight( bLight );
% w+ ]1 S; H0 s/ w0 u* L; a) L
+ R; X( j( \0 p7 U
// ±ao? ?D?í???ó á¤à?
4 v2 |' k/ x& P. Z' j' N, A, r( m
m_pd3dDevice->SetMaterial( &m_baseMaterial );
0 V' i( c3 r a9 N9 t
- `8 |; G9 n2 c; J
#endif // not WORLDSERVER
4 j- K; k4 E' X3 H2 c
}
: m& q% q9 J M( \
并更换
. z v/ G: ]$ t: B% d1 H& g
Code:
' P7 X2 s2 M+ d' N8 o
__FLYFF_INITPAGE_EXT
4 f# a1 J9 Y3 S3 ?
定义
, b" {( u! }3 g0 |& \% x3 d" u$ i
: u' ^& ^( N2 q% W
7 N2 G* D& n8 u! Y" B
" Q: m; D" i3 s( O; K
2 p4 N7 M- G% F9 O8 g1 P5 T# P# l1 Z
现在终于删除我的狗屁加速...
! k7 Y* [5 x! y6 o' K' w: f/ ^
0 K j8 ~4 m8 h- c6 u# e5 f
5 l. H* E" F+ U0 d5 s' P
2 n- K* C+ C5 \& L% f* b
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2