飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
# V% H: X8 b) K
尾翼:
1 ]5 E$ G( d; w
; u3 j* t4 @/ D1 n
代码:
+ W$ Z# G3 s- G4 |- |: _' Y
CWndAutoFood::CWndAutoFood()
% d+ H5 }) H2 }: Z7 r
{
$ V$ L" V' B4 m1 n
m_pItemElem = NULL;
& {. A# q+ r: Z& b+ G% W
m_pTexture = NULL;
" @5 _7 X8 R$ H
bStart = FALSE;
) C. X" y* q% ]; n
}
. e% o$ F# @, Y. I
: k9 r; r* f; g7 }
CWndAutoFood::~CWndAutoFood()
+ ~' c, U4 J* u$ H! o$ t
{
* E' e: h! \- g
AfxMessageBox( "AutoFood ist gestorben
" );
, | x, ~4 f$ S) M5 I( a
}
# o3 L! @+ G& {" g' z6 p1 U% W
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
' C4 |: P- u" i7 V) S9 S
{
% W$ c# S0 \) J2 e) n3 O
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
* B4 k, G9 @' @$ p1 g7 u
}
; t) f6 l, t( j" p" z" Z' ~
0 ^! j r. \4 f# k! ?6 Z
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
; b' O. Z8 ?7 t h$ B6 s
{
% d3 Q1 I% U0 I5 j) p& |: b, w
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
( W5 f6 [/ Z$ ^* R& Z' G/ S
CRect rect = pWndCtrl->rect;
, y, C5 B4 {; ^) k- Q
if( rect && rect.PtInRect( point ) )
* y3 K1 K. t* Y- B
{
+ Q) q0 o \/ x
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
" X& q# a, G) Z- _+ X
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
9 n# B+ m N( @; S2 D8 a) e3 |
{
2 [5 C. r/ D: M# P
if( m_pItemElem )
! U3 e, B8 d3 e' q
{
9 h7 [% O/ a! K. ]
m_pItemElem = NULL;
. F& l' _( s: r) l5 R
}
: Y! K! G% s+ Q: f! n1 [2 v+ |
m_pItemElem = pItemElem;
# g. Q' o8 \2 [- T
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
" A1 u6 Y5 p+ o: I2 E! E' _. b" O
}else{
1 G1 U- B9 R; h+ y% y+ ^
SetForbid( TRUE );
- Q9 x2 d y5 e8 O+ Z
}
. f4 o+ e, _$ P1 J; n
}else{
2 B! e. e; W y9 s0 S$ m
SetForbid( TRUE );
* z9 c+ [7 t8 i' W
}
! i% F3 X' r. J; {
return TRUE;
+ n" D+ r0 b, l
}
. B, W% e1 v( }2 o7 {
7 [% D8 y7 k4 z4 S u
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
' E. v; T' w5 r/ [9 {% I2 O l
{
7 {/ p4 Z+ i# ?* Q1 v
switch( nID )
8 y6 J; q/ P. s: A# j( a
{
1 I4 q8 E) S& u* m2 x* V
case WIDC_BUTTON3:
8 ~- v) O6 q- M; a- o
{
$ |( `3 t0 y& g6 @
bStart = TRUE;
. [( V- T& P* v, W) T6 [
break;
1 Q, z6 Z( ~$ G4 i* S
}
5 I. w2 G4 M3 \3 }& l
case WIDC_BUTTON4:
( A( v' T& I# e: t
{
S) D7 u3 T4 h
bStart = FALSE;
1 ?7 E: V/ D( g' ]# ], k2 l. `; M
break;
! H3 {4 Y, W8 A. I# K) o
}
# q6 f2 Q( F! J4 Q- W4 ~$ ]
}
4 z% T5 e1 T8 v, `
return CWndNeuz::OnChildNotify( message, nID, pLResult );
! f2 e {# G- l8 W& _+ [3 y
}
- |8 ?8 l8 k2 n9 {$ X# q
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
& e- x( L( K- H3 k. `7 G
{
1 g# E) w6 L5 ~! R0 r5 G+ s) C
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
8 k& O" {" `' N) F( G. Q: Y
if( bStart || !m_pItemElem )
3 k: r; \7 Q: w$ W3 @
{
; p" A$ S Y# [. z- k0 I; _
pBtn->EnableWindow( FALSE );
# `7 P% o4 [+ A) [
}else
& q+ [$ M/ C3 h4 [: j. N
pBtn->EnableWindow( TRUE );
; K' ~% B3 S( ^. S
if( m_pTexture )
) f' Q* b6 P+ y/ g1 `/ b# G( x' [
{
. j1 i' d; d% n/ e
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
9 z) U8 p2 y; s& x
if( wndCtrl && wndCtrl->rect )
7 e# G1 I/ P- z/ b6 y2 L
{
) D9 }) _- O0 @" i
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
- u; c+ p" U5 v& ~ q- M! h5 K
}
* |4 g3 B% q: \) j1 M" ?
}
$ I& O4 [$ y0 T' r
}
4 W G( Z5 B; c; }0 ^) P H
# M. _. Q. _+ {8 M
BOOL CWndAutoFood:
rocess()
7 L3 w; I3 e: ?- N& f$ l
{
. Z, N2 B- B: { F2 W' k* P3 k
if( bStart )
4 T$ |/ b- I% U
{
4 ]2 e, z$ ?$ j; O5 q) |, D+ L1 H4 S: P
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
3 H' U/ E' i+ b& x; |, M
{
4 \1 T ^( Z; n2 R2 k0 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() )
" b8 M8 ?! w3 A3 ]1 S
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
2 C: L0 W% F5 G m+ p. B4 N9 D2 R2 \
}else{
- g3 q7 \1 y" d
bStart = FALSE;
8 v0 u6 e' e, u8 Y7 k1 b# b
m_pItemElem = NULL;
2 i$ u) y6 z+ @' {/ `8 `: u
}
5 z u) ?$ P% R- J& e7 W5 _
}
% G2 v+ D8 q1 k# Z
return TRUE;
2 T0 i3 o$ G7 P& x2 X# J1 c( p% ^
}
' x1 |' G- T; f' W! B
5 ?" L" S) a5 |' R
登录视频废话:
5 `5 h6 `; q* D7 o( Q
尾翼:
, N) R0 B) T0 W5 s/ f( p ^
- R- T) Y5 _6 j d9 p% ~
代码:
; `) p9 m$ _7 \' i
W% Q' t4 K. [3 k
void CWorld::SetLight( BOOL bLight )
1 U% V! c3 y; h, w/ _. g+ [5 [
durch
/ h( w" e {' S; |
Code:
7 i9 O( l5 ]9 s
void CWorld::SetLight( BOOL bLight )
4 c5 E2 `9 u& J
{
: a4 k$ b2 r5 c4 h6 \5 W# g
//ACE("SetLight %d \n", bLight);
% l. L) u3 z `) z% V
& @) p. ^+ m, a4 r0 V# j! T
#ifndef __WORLDSERVER
# t, c- L7 k/ y# ]
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
$ ~; {) R2 U3 p* y8 g1 o' w. [0 l
CLight* pLight = NULL;
' T- j$ [, O' A1 Z! z; D9 B2 t3 o
^6 F& C5 |, b. m9 K# U. L
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
8 t; h4 w# {% _" h0 c8 V
1 m9 Y& D, L$ P4 O g% D
pLight = GetLight( "direction" );
+ }2 q6 N* B: u" N) D( U! y I
3 a6 h7 W; |0 \8 ]. \# \
#if __VER >= 15 // __BS_CHANGING_ENVIR
; @& b+ _( h9 E8 o
if( g_pPlayer ){
' s/ B7 G/ D" {. o" }. T
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
6 u$ w8 ^; H0 l5 H4 B
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
' n: g! J7 V) j+ T2 c' ~, H
{
* Y% x* l8 z# i6 F
if( pLight )
# j$ L0 V5 v% s: {4 b% Q3 Z, t" P
{
8 L, l, ~3 q) O7 k
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
" \9 J- u. t$ K$ [9 |+ [
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
r: K9 G! B' @
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
) @; j; J0 b6 ^+ A9 {8 M) }3 a6 {
0 f/ S6 `' K. c! R
pLight->Specular.r = 2.0f;
2 |. x* _& i* ^. G5 j
pLight->Specular.g = 2.0f;
- d# R# d l. e( p
pLight->Specular.b = 2.0f;
& [6 n+ p; N, V- m# y$ y
# ^0 A/ d3 I& B7 D- [& Q' g, Z
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
7 ~0 f4 N& d1 W$ R# }) n
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
! d4 {. d# o3 O$ J1 Q1 b
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
% y% F3 D& f4 M4 ^2 i+ A, O
! N L5 p3 j% q5 b5 k
HookUpdateLight( pLight );
/ u7 O1 E5 V; m; e
# y" P3 H8 _; i2 O7 K' H/ c
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
/ j* k* H; E3 _$ ^; O: E$ Z
6 ?5 q+ Z7 U5 \1 c
pLight->Diffuse.r *= 1.2f;
- ~9 d) s2 V% v
pLight->Diffuse.g *= 1.2f;
+ t" v! X2 m. g: j8 T
pLight->Diffuse.b *= 1.2f;
: M) ^2 m) e, l0 o* c
) d8 q% [, g1 n0 s/ m
pLight->Ambient.r *= 0.8f;
& B4 G7 v1 u* u0 K" e1 M
pLight->Ambient.g *= 0.8f;
5 I9 _2 D( p3 A% V
pLight->Ambient.b *= 0.8f;
) d+ d" [ j2 A* ^( k* t
9 ~; l3 w( K$ H4 Z2 j7 R
memcpy( &m_light, pLight, sizeof( m_light ) );
. a8 W6 v3 n" q
4 ?" i7 u9 \1 D! E, g( m. Q
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
9 Z* k0 W4 @/ S6 N, b
D3DXVec3Normalize(&(vecSun),&(vecSun));
0 t" R7 E( _: ^
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
R' Q% ?$ u! J' x1 z9 G/ `. C
pLight->Appear( m_pd3dDevice, TRUE );
- p- R+ ]1 I d8 a$ R$ ]0 n
9 e) O0 U Q* m$ p- l Q
DWORD dwR, dwG, dwB;
+ G& U1 d- ]( S7 x
dwR = (DWORD)( pLight->Ambient.r * 255 );
2 [3 a6 \7 k' j- U2 P: L
dwG = (DWORD)( pLight->Ambient.g * 255 );
E T- ^9 T) X b6 L9 U" O
dwB = (DWORD)( pLight->Ambient.b * 255 );
! f, E1 {! p6 A4 I' N
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 y3 D' w( e0 L4 v* A6 x. O- g
}
+ i, A- Q0 I6 n* s+ A! d. E
}
8 F/ ? s( ^: S. i
}
8 D" f4 u# G3 n
else
* p7 z4 i& s( ?* }+ m- d- c2 h
#endif
1 R, e$ c" u) F% T- Y! ]
; [1 ` [. n; T
if( m_bIsIndoor )
8 k6 {/ [! O; n9 F0 l$ Z
{
2 l- n% _% z. I+ ^" A8 @5 M
if( pLight )
3 \" y2 N; D: ?' M1 J
{
& f X- V0 r$ J$ a! x' B
// à??μ oˉè*
. i, t9 u8 ^* W# C% a
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
1 Y% p \& u' m2 n+ J
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
+ S0 u7 ?% j# x* J" m& g
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
& @3 }4 P0 y/ }7 B
- x" f6 [/ r/ k% a t& h. e
// oˉè* ??à?
3 ~# C n L) h9 C- Q
pLight->Specular.r = 1.0f;
& \8 {5 b* m+ Q' ~& G. Z8 W
pLight->Specular.g = 1.0f;
* R; z; e. U% I7 z
pLight->Specular.b = 1.0f;
, Y* Z9 t+ t" U
// àü?? oˉè*
3 n& i7 K0 t' ?+ P1 e4 g) T
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
6 k& q: N! }+ j- m5 G6 M5 a% K
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
4 q3 E. W3 z# d: e9 f/ ]' Y; S
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
4 _) D @/ `4 t# q
) G, {! E0 U6 F5 ^* u
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
6 t- e0 l$ `# x5 }+ j
{
: m! U' s; u8 G) f# ?
pLight->Diffuse.r *= 0.6f;
+ V( n0 k; w3 ^5 W1 x9 F- M; n$ R. M
pLight->Diffuse.g *= 0.6f;
; a+ t# p( [6 o% B6 K
pLight->Diffuse.b *= 0.6f;
' X! U) p6 V9 x- V1 H6 @
pLight->Ambient.r *= 0.7f;
, L- j. {1 g0 q b5 j" d
pLight->Ambient.g *= 0.7f;
& P- C! j. O. M# ?8 V) }! J
pLight->Ambient.b *= 0.7f;
8 b/ ]. }- u) P
}
; G& e4 |2 b1 t D9 l- g
2 C8 F" ~ Z! k3 a2 k# I
#if __VER >= 15 // __BS_CHANGING_ENVIR
8 i1 H# E$ Z# d& C0 S, g8 {% X% o
if( g_pPlayer )
# L/ x: B& _7 L, }/ P, w! ~
HookUpdateLight( pLight );
$ i& ^# Z# {# X1 U4 P
#endif
; x- p$ h) s# s: \# W4 w. g
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# A8 w! {# b- u3 f% ?, f5 |
4 M0 x& V* Q* `: P
pLight->Diffuse.r += 0.1f;
% e$ U& H. t0 A$ F5 h4 e
pLight->Diffuse.g += 0.1f;
' r" I* l1 k& C) c$ _$ E
pLight->Diffuse.b += 0.1f;
5 d. d- d- P7 M) ? L4 X% f
// oˉè* ??à?
! x, t1 g) G9 ^5 g: o1 G( G& z3 \9 K
pLight->Specular.r = 2.0f;
6 |6 p" P; ~! ~
pLight->Specular.g = 2.0f;
/ |7 Q; P5 k8 o" U
pLight->Specular.b = 2.0f;
; B0 G5 h! _9 q$ }1 r
// á?oˉ
( p' k8 s t9 e8 Y
pLight->Ambient.r *= 0.9f;
! H6 L0 ?& h P
pLight->Ambient.g *= 0.9f;
' j( V1 w$ m4 K$ ]; |0 Z2 c- M; F
pLight->Ambient.b *= 0.9f;
2 I# B( {: \9 X
6 h7 k' x G3 s2 L
memcpy( &m_light, pLight, sizeof( m_light ) );
6 A* q2 ?4 e& _1 Y5 G* Q9 f
3 E% z, [1 W3 ?6 n1 }
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
$ T! I1 q$ I/ T' K4 m* _6 N5 X& W
pLight->Appear( m_pd3dDevice, TRUE );
& o5 R: B1 k2 O" }- U0 ^
8 \* I+ ?* G4 k' R' {2 B
DWORD dwR, dwG, dwB;
8 D; f" P! g. N- A$ _! y/ O( i
dwR = (DWORD)( pLight->Ambient.r * 255 );
) k$ p4 A- o9 k p+ b: q, y' R+ S
dwG = (DWORD)( pLight->Ambient.g * 255 );
2 w! ]- ~+ b- w0 k" J
dwB = (DWORD)( pLight->Ambient.b * 255 );
* ]) |! g) P5 s5 w
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 ~* h6 t; i/ l7 v$ t; b# ~' h
}
9 X, u8 o [( Q' q# r% V" G
}
0 j/ Y% u; [* i# {
else
. t5 F- m+ u5 [/ f2 g7 j
{
) B5 D9 \1 c0 D! h& C% l
if( pLight )
2 | |0 B, M" _. v$ X
{
3 l4 v( K' ^0 j9 S
( q7 `: C7 g( ?& e0 n+ B5 p6 p
int nHour = 8, nMin = 0;
/ r3 C* @+ z5 ^1 ~4 z
#ifdef __CLIENT
+ ]3 {6 ~! g; J! I2 n9 U3 t/ l, }
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
: B7 D* A; V2 O" j2 w1 \
nHour = g_GameTimer.m_nHour;
8 Q. S+ X/ f8 l+ K, W9 l$ s
nMin = g_GameTimer.m_nMin ;
, _8 K8 |$ Q5 q/ D _/ {5 F$ I
#else
- F5 n$ f# E3 G4 ~$ m0 W& a
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
D4 N8 v" A ~0 n8 c# o' f
if( m_nLightType == 1 )
- G* T7 p0 V$ T+ H, q
nHour = m_nLightHour;
% L' A8 u4 }1 d. Q, Y
#endif
6 {6 H/ {5 |8 ?
nHour--;
4 \6 U1 f" [, R
if( nHour < 0 ) nHour = 0;
8 h4 y' @3 s5 E4 ~. s! P1 F
if( nHour > 23 ) nHour = 23;
/ q' p% N+ s9 `, B) i0 L2 w
$ z; h) V9 _/ L/ W7 S9 T
//if( m_bFixedHour )
+ a7 p0 n0 r0 P! t5 o5 J- g- G
// nHour = m_nFixedHour, nMin = 0;
+ r: p. t- ?4 p/ A
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
* |$ u+ S$ z/ b1 b
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
" W. e' S: N6 t) a% D
' K: b6 R! d9 H* s) y
//m_lightColor = lightColorPrv;
4 d: V! u1 J, X$ E% O, e4 ]) G- j- J
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
: a6 j o! r* [4 o; P0 |
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
, p2 t1 E I( U6 I" z' H: q9 Q% n
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
, y. N: K$ ^8 g) Q4 E3 V
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
& {" \5 M$ s0 P% L% a
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
F5 S( I4 n: Y# w7 l6 J2 q& s& e, _$ H5 t
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
: y* V S: S. I+ L
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
( H+ O v1 f D3 S& S% _" z
' Y1 _! G( L; r1 }0 i) l
// à??μ oˉè*
8 f5 |/ Y& f9 D9 U' a9 E
pLight->Diffuse.r = lightColorPrv.r1;
+ Y, |7 N* R6 W
pLight->Diffuse.g = lightColorPrv.g1;
" @. D$ @" {: Y
pLight->Diffuse.b = lightColorPrv.b1;
& f! u! l# E2 t$ p+ W
// oˉè* ??à?
( k1 I+ r8 T' e; q# {+ |
pLight->Specular.r = 1.0f;
$ x: u) P2 i) G: W
pLight->Specular.g = 1.0f;
# F9 O; y" ^2 _
pLight->Specular.b = 1.0f;
: [3 X& l6 l( m9 L5 w+ v
// àü?? oˉè*
. }- @' q8 l! D# ?2 ?
pLight->Ambient.r = lightColorPrv.r2;
* s( z& ?0 D5 a) E) S+ @
pLight->Ambient.g = lightColorPrv.g2;
& U, v: q7 R# I5 j2 b' T4 ^8 E
pLight->Ambient.b = lightColorPrv.b2;
8 N0 e) o6 Z8 G! a: V
5 k/ R x. ]: v+ \
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
! F; H1 |' u* A5 p
{
* ]+ y: b/ ?( h% X0 I& U; v7 [! O# u
pLight->Diffuse.r *= 0.6f;
( N. a, ~3 M# R$ x8 ~9 z' E
pLight->Diffuse.g *= 0.6f;
: |; b8 x- o$ P' a! I3 i
pLight->Diffuse.b *= 0.6f;
; E# i, x9 |4 K& B$ G& \
pLight->Ambient.r *= 0.7f;
4 q3 B; ~# K9 Q( N: m
pLight->Ambient.g *= 0.7f;
0 u! q3 q; ~ w+ Y. X* D
pLight->Ambient.b *= 0.7f;
' a3 Y: J9 M4 v6 ]" B+ O8 C
}
- e6 e y: }2 I* _, r
+ e4 ^/ x# T3 b9 h# A7 u9 X
#if __VER >= 15 // __BS_CHANGING_ENVIR
* R4 f' U( J* p4 I; I, q
if( g_pPlayer )
, X; @6 b8 `. P9 p
HookUpdateLight( pLight );
8 X \0 X$ E5 o' j
#endif
, Y- e: y. }/ y6 x
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. K) T2 Z7 c& E* i9 A9 F
8 I5 w3 `+ Y5 [( a
#ifdef __YENV
/ T8 V6 u* d0 k- |; o& [4 m
pLight->Diffuse.r *= 1.1f;
/ v8 _+ J: }8 r6 x' u" ^
pLight->Diffuse.g *= 1.1f;
. R+ T3 S9 I" A* p* _
pLight->Diffuse.b *= 1.1f;
; f' G- r6 W2 J2 h# ?7 q4 n
// oˉè* ??à?
" r1 h2 m# a* |$ d
pLight->Specular.r = 2.0f;
2 h: z( Q$ }' [( y1 P8 r
pLight->Specular.g = 2.0f;
* u1 @- c3 f" @& K
pLight->Specular.b = 2.0f;
; `3 n% U; ^$ N* H0 v; V; m0 c% H# B
// á?oˉ
' L9 l0 T( z7 [1 d, b x+ w
pLight->Ambient.r *= 1.0f;
4 k+ p8 d8 R9 r$ j
pLight->Ambient.g *= 1.0f;
3 i, z- V& O7 C( e0 y! ]
pLight->Ambient.b *= 1.0f;
' T( z& T, Z+ e, g
#else //__YENV
, D0 ]; v# b% T
pLight->Diffuse.r *= 1.1f;
+ }8 K2 z0 c j. g/ V1 C/ }
pLight->Diffuse.g *= 1.1f;
7 }$ b1 z( S9 ]
pLight->Diffuse.b *= 1.1f;
0 ?& V# z: n. `0 A4 o
// oˉè* ??à?
4 D/ ^; [8 J8 o$ D1 {0 L2 x. Y. N, t
pLight->Specular.r = 2.0f;
6 e% ]4 {# L% O; a( f0 ^
pLight->Specular.g = 2.0f;
1 D9 w6 c! A1 W- j. a3 \& J( F6 b" f
pLight->Specular.b = 2.0f;
" k6 t$ Y* l! R s0 [7 |
// á?oˉ
/ {3 G7 W7 W) `0 i
pLight->Ambient.r *= 0.9f;
* v8 e$ l! j: H$ |0 e3 }
pLight->Ambient.g *= 0.9f;
" A$ I1 K, i$ @ f" {
pLight->Ambient.b *= 0.9f;
4 _# R; b3 S2 N2 {
#endif //__YENV
( m! i. Y3 n2 b
/ o/ c! p' z7 r6 ~$ }
memcpy( &m_light, pLight, sizeof( m_light ) );
/ {0 ^0 ~/ E& M# G ~
' b3 I* [; k7 Q* k( H, _3 w) E8 g
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
9 u2 Z( y4 U o" B5 d8 I
D3DXMATRIX matTemp;
( i0 J2 Z' F2 m# v& N
static const float CONS_VAL = 3.1415926f / 180.f;
1 j" ?9 \& N8 p& O
6 m+ t8 w4 [0 G: Z& ^
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
* B @! z W q$ j# N$ |3 E3 X1 ~3 R
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
; T# B* l2 a, P/ B7 b5 s
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
" D( J, Z$ T# m! `! C
pLight->Appear( m_pd3dDevice, TRUE );
! |9 n7 X& d+ E& Y4 Y, `% l
& n# P& t3 B; ~ [* v; T& J
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
; t' p3 a! f) \: r8 |
// D3DXVec3Normalize(&(vecSun),&(vecSun));
$ Z4 q( ^+ H4 I; Y* k. d) V
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
, w3 X/ T6 w; n) }9 ?9 T
' G$ V6 p7 b! {2 z
DWORD dwR, dwG, dwB;
2 E5 c: |! L. x6 `' |
dwR = (DWORD)( pLight->Ambient.r * 255 );
) ~& z% D3 {4 E0 f8 D1 V
dwG = (DWORD)( pLight->Ambient.g * 255 );
A8 z& n" J' J+ H' H( ]
dwB = (DWORD)( pLight->Ambient.b * 255 );
8 s# L& p# E) ^7 [( k4 V8 N
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& A1 P3 o0 O% Q5 y/ _. Y
}
" g, F7 W( f% y& J/ l0 k1 U/ i
}
* M6 E- E' f' P
- E7 C- e' y9 V$ k0 E* @; {
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
: |9 b3 M6 ]+ V8 f( R( U x
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) );
/ G" }1 H/ d; b. g0 \/ Y
::SetLight( bLight );
' a) v6 U& d& _% k$ [+ W" ?
Z4 `: P- Q. `: P
// ±ao? ?D?í???ó á¤à?
4 Y4 F% D7 h/ e9 P) S d
m_pd3dDevice->SetMaterial( &m_baseMaterial );
$ a8 U2 |$ ~0 r5 I- O
2 h0 ?# h/ ?+ s4 P3 H( i
#endif // not WORLDSERVER
' C- p# n7 ?) m3 B
}
& y* b% d9 J# G6 M8 U
并更换
3 y$ Y( }! q! K# ~
Code:
8 u; X) r3 t- Q) f7 x5 p
__FLYFF_INITPAGE_EXT
8 l8 f, B; N: o, O& t1 f0 {
定义
; g, k( }+ @2 r+ L' Z+ |% B2 ?3 d9 ^
) T; S, H0 k* e3 M8 J; d
% }: g! n, d: G/ x1 k8 x- z, R4 n
# \1 W5 i% _; u
1 j. t8 r5 I; s& p$ H- M2 z2 ^
现在终于删除我的狗屁加速...
- a6 }# R! m$ E( t3 |
+ a1 z" a; Z% Q9 B( Q: W
. C( W7 h r& s' P5 z6 f
1 p" N! O$ i5 u4 ^% ]6 u& `
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2