飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
4 F& O$ |& W/ {: n2 C. E
尾翼:
$ M+ b: H% |* v
2 t5 N: C; \/ \( b
代码:
$ _/ S, c) k( n$ e, ^1 g. D
CWndAutoFood::CWndAutoFood()
; z* z- `: N6 U) r2 m5 A+ ~0 r; o
{
. W5 \: c2 f/ y
m_pItemElem = NULL;
5 l# @0 G% E- F: |
m_pTexture = NULL;
8 z# J: J6 o! E8 z9 D" q
bStart = FALSE;
2 h# i5 k- `4 S! F6 U- z
}
/ F7 O! F" y% n, t
6 n7 i" b6 F& o# I, ]1 g( h
CWndAutoFood::~CWndAutoFood()
" {/ F, h" g: Z( P/ {
{
q8 W9 i$ q/ c. d u4 I- F3 v8 `
AfxMessageBox( "AutoFood ist gestorben
" );
: q8 H8 D4 d1 I) _
}
. q) T t- A9 c, K) t2 X
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
# ?, B9 X% P- D8 M
{
0 p/ ?% s, h& K. t
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
5 i- _- i/ [9 A
}
( S. Z) N- s8 i
2 S4 f; ^4 c( `2 E
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
) O0 f8 P& Z9 f* c, k
{
; _" s4 e' U _! x
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
: E9 ^8 l( P0 s
CRect rect = pWndCtrl->rect;
0 h8 G4 M- j" t
if( rect && rect.PtInRect( point ) )
9 l& O0 o- [- U# G
{
7 K4 h* ], i0 P8 N3 w$ w
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
+ }; f) O5 G1 f2 V1 t+ T
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
* a& X) }5 @" u w7 c& r
{
& q# {- q/ y3 V
if( m_pItemElem )
: w6 O9 g" Y+ `: R7 p
{
0 L( n1 N- |2 w V5 k
m_pItemElem = NULL;
; z2 A8 w) Z) Z
}
2 t5 M* F! M8 T! [: m9 {
m_pItemElem = pItemElem;
. m- f$ r" s+ y" X
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
2 d0 T7 Q* h- |! u. y3 r
}else{
6 Y* S+ {. i D1 E5 H$ z
SetForbid( TRUE );
) g* b+ `% n' z. w% x
}
+ ]; }) F) Z* y# {) h3 L
}else{
! k2 f9 n5 ^5 ]6 c5 |( n
SetForbid( TRUE );
7 F# e% x- @% `/ N) B
}
9 U% T R& `* s& I. o- r+ ]
return TRUE;
+ G0 Y& U8 ]" c3 s
}
$ ?8 X5 W) y1 b* m7 C* X/ z
, h- Z' B# A) b3 K! f* R( J3 F& {8 Q u3 c
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
: M8 n5 h7 n, F; ]$ S
{
& a4 z+ n$ n+ A; I7 |" L9 O$ k: v+ w0 {
switch( nID )
) ^4 u: `: z4 z8 w8 o C, s
{
8 v7 o8 R' {. X: M! \
case WIDC_BUTTON3:
0 o$ O" W5 }8 {* {1 x
{
2 S& z( S- r8 T8 H+ Y
bStart = TRUE;
! _4 ?- Q, B% f D. a
break;
0 j) n; K: H; v/ t& N8 J( R4 E
}
+ e( D# c* ~6 Y
case WIDC_BUTTON4:
7 g) H5 ^' |: n; Q; ?3 @
{
, p# n5 @3 d) r7 |+ K2 G
bStart = FALSE;
, e1 g8 j, C1 f) `
break;
( k) S n9 R9 R% B3 ~; m
}
2 G" o+ F+ D" I, h" d& P
}
: n% F$ k/ f( g+ ^- }8 S/ c
return CWndNeuz::OnChildNotify( message, nID, pLResult );
3 R- z' x. y! f% D- c' ?- q
}
, r2 L% e; e' ?5 j
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
8 Q! [3 r' g \5 Z
{
) r" }. n2 a3 n- @% r1 F
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
# }" E3 P- i4 r, M) v7 w
if( bStart || !m_pItemElem )
: P j) E4 p0 W
{
- ~" Z# ?) q- B, r. _
pBtn->EnableWindow( FALSE );
/ A. J! z9 D' U1 M4 @. h
}else
+ M2 e, h6 R/ F7 ]5 K
pBtn->EnableWindow( TRUE );
2 y H7 B2 Z: V1 B/ D2 y
if( m_pTexture )
. h ~8 e6 R, c: \
{
$ L% h5 z0 _2 ^; A' l4 c
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
; e M6 T/ T5 y% G
if( wndCtrl && wndCtrl->rect )
: h! X, }5 K: f: P0 }# O* [" v
{
% e, A/ b% Z+ d. |+ |
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
+ M8 o; H- z+ c
}
' E; M" d5 O, {! @( l2 E: H. s9 t4 `
}
3 \* L8 d, _) O( W' v. E' U. a
}
; H- j" a; O3 q* t
( H2 b/ R5 i2 u
BOOL CWndAutoFood:
rocess()
6 D! `1 c" ~, ?% j) I
{
( R9 T0 L" P+ e" L+ c4 D, ?8 I p
if( bStart )
! {. [: W+ H. f$ ~* _% r- h
{
1 x: ?' x) `8 f8 t5 r
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
" f w" g7 q5 @0 l: p$ k
{
& I% C4 C" s5 |! L! v: n& 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() )
$ l; n% q* N5 O" [1 m
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
$ [7 l5 D! b3 N& F2 I' e! i
}else{
8 g: g1 s1 q( s6 S5 C+ h U
bStart = FALSE;
9 l5 q/ b3 p4 k: J' F' f/ C
m_pItemElem = NULL;
% M1 i. r7 t: j
}
( F, {3 r! b9 N) t* c+ e, m
}
! i0 |" `9 x- Z" ?* a$ G% P
return TRUE;
5 \ ?2 t' Q+ x& x' H
}
% S2 [. f6 H k
+ S7 V4 e2 ?8 K% h
登录视频废话:
, @7 O \7 ?. P' h% b
尾翼:
2 _! q( F" X9 ^0 F. l; X
. n+ b. G+ s4 Y0 H$ e2 J- C
代码:
* S& w" |7 L8 t. s9 s# D( f
8 z1 X' Y7 ?5 N7 V1 N% r
void CWorld::SetLight( BOOL bLight )
; g: f3 c! |' f; g4 G
durch
" n7 e7 v6 U8 `3 V' E9 p
Code:
0 x! e8 F, m2 X8 d4 d
void CWorld::SetLight( BOOL bLight )
" D, {9 e. F- i# e' |# F8 Y0 w
{
3 b# p- l* d6 }5 l' p, ~; z
//ACE("SetLight %d \n", bLight);
" H% N* L' ^. H. a" k& n
$ q F# ~: ~ Y8 K" m- A
#ifndef __WORLDSERVER
3 m/ k; X+ Q+ s6 ~9 t, A3 N, @8 O
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
8 a( d. B8 _, }% T9 B
CLight* pLight = NULL;
6 \8 }! T5 u t) N7 m
$ U" N- \ ^6 _" r, d0 h: j
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
# K" l" g# d: _5 V# X2 x1 k! G
6 Q! O, d# {6 g- s: y
pLight = GetLight( "direction" );
% C( T. w: ]( F7 S2 c. A; | |1 l' F
& a: \( m m) k# m7 b7 }6 j$ ^" C
#if __VER >= 15 // __BS_CHANGING_ENVIR
8 v q# I7 [! C* _ w, k# v2 G! n
if( g_pPlayer ){
% T9 j% ^+ C; Q0 D
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
4 W6 [7 Q0 G9 ^2 }# A
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
* ~; K9 V+ Z% M; T6 w2 z
{
# J& y* }7 a8 r
if( pLight )
0 ?/ q: u8 I& O: D# ^
{
3 y" D" e9 V/ E6 c* j+ ]
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
7 |9 ^' z' m y; T8 k
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
/ N- \. R2 r) y
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
F# W! ~: x6 H- [4 B2 b" ?1 W" I
! y x1 q- n. |# _8 K, \$ F, X
pLight->Specular.r = 2.0f;
; l. }5 `3 f& o5 |6 [3 }, G" m! a0 N
pLight->Specular.g = 2.0f;
5 m' {9 k" f* j$ P
pLight->Specular.b = 2.0f;
, ^0 j& p+ T( w. p
% g- r, F7 q U" o7 D8 }
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
# B1 g8 C- t0 _
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
$ j1 q: Q8 l! \) r v
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
* ?1 }* k5 _, N6 ^% _* L3 T2 H% J9 I
/ J- @+ L& k$ V4 ~: U3 H
HookUpdateLight( pLight );
6 Z( c; x7 M% E1 u# y8 w6 k* n8 ~
) k x- E2 S# K- L; m# F
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 |4 B, z8 R& J! q
9 _- d6 u" i( X D3 }- p) Z. k
pLight->Diffuse.r *= 1.2f;
0 g1 z* M) y, ?- m2 l6 G8 w( P
pLight->Diffuse.g *= 1.2f;
" U+ h/ K8 w+ K( `6 k
pLight->Diffuse.b *= 1.2f;
7 B$ q5 [* c, L: e
. y% s) h. @6 u: f) g# a$ [
pLight->Ambient.r *= 0.8f;
- T" N* p5 Z+ g6 l3 |
pLight->Ambient.g *= 0.8f;
$ R$ {; ^! }, ` e/ K' X/ d
pLight->Ambient.b *= 0.8f;
; I I* k# u3 t q) P
; ?( [, Z+ v, j9 s& V
memcpy( &m_light, pLight, sizeof( m_light ) );
5 |4 n3 I" X$ F9 i5 G9 ~
( B: Y) P, o! U( i9 w
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
7 i6 q! o. z* B( A# y% X+ M
D3DXVec3Normalize(&(vecSun),&(vecSun));
$ U( n) v! ^: }
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
) n1 y, \0 s. {+ N) y! I& ~
pLight->Appear( m_pd3dDevice, TRUE );
: [0 i+ T1 D$ Q0 |, j
' }+ z! y4 L# P5 [! b% `7 T
DWORD dwR, dwG, dwB;
! c7 [, ~ F" W) \5 k2 [
dwR = (DWORD)( pLight->Ambient.r * 255 );
* D, Y5 A9 C& y8 O
dwG = (DWORD)( pLight->Ambient.g * 255 );
4 U8 ^1 P3 k2 E6 u, v9 B4 m3 ^1 f N
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ \3 o. C& K: t! U8 B) Y9 l7 m
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 c' c, k( W& D& k6 u
}
, t6 e' p) n% s7 W: r5 W1 B* S
}
+ k7 ]0 h! w( p; Y0 X8 {
}
5 q( b8 `! K3 @5 O( f, ^
else
1 c0 j. h7 x# g! W; \( z8 T2 M7 l
#endif
9 Z+ M. h# U8 ?1 |- I
- I/ ~4 v7 k! s& J( D' y( r P; z
if( m_bIsIndoor )
( H8 Y$ ?; F. [# L o
{
7 g3 t% |; O; \/ S- J3 H+ a& w
if( pLight )
3 F3 d1 K6 L3 {) V: I% z: Y
{
% j% p% K8 V8 T3 ^% r$ Q4 j
// à??μ oˉè*
/ n) f7 u3 {, F! T- |, y
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
7 e) `+ M% B; K
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
$ m% z' v3 q' s1 e: E( N- G% g, c
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
! Q, ^+ U1 i6 L/ P' T1 z
/ M \) S1 v/ B) Z' y+ P
// oˉè* ??à?
+ D/ T5 g6 V3 i0 ~5 C2 W
pLight->Specular.r = 1.0f;
+ n& I2 W C3 ?" L6 n
pLight->Specular.g = 1.0f;
5 A0 L+ J& |& j
pLight->Specular.b = 1.0f;
! f- x8 G4 t/ e
// àü?? oˉè*
2 u: z& e5 {. K; C
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
3 D7 S8 p& g8 n& J
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
# H* a z8 ?* w
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
( {! I0 N4 h! n+ g
) A9 [$ [8 ~% Q+ O( [3 j. `4 t8 }
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
1 }3 @9 a) E/ ~
{
5 G* w9 i( E# F# e
pLight->Diffuse.r *= 0.6f;
7 F, G. H. e& @# U" ]# L
pLight->Diffuse.g *= 0.6f;
5 b/ _7 \/ e, E) b- b0 `
pLight->Diffuse.b *= 0.6f;
9 P* a, B2 }( i* u9 A
pLight->Ambient.r *= 0.7f;
$ o! K0 B# j7 v+ ]1 Q
pLight->Ambient.g *= 0.7f;
3 ?# `; j; K0 H7 Q w
pLight->Ambient.b *= 0.7f;
. b8 p, o& Q7 @8 H" `
}
& @: e6 s6 l, [) @. n
/ Z% _/ m/ I% {& \+ f9 @
#if __VER >= 15 // __BS_CHANGING_ENVIR
o; h& ~/ k h4 e/ e
if( g_pPlayer )
8 R2 ~& B+ j O+ k- A+ D
HookUpdateLight( pLight );
`9 k( N- M: ?# L+ l, y
#endif
C, R/ ~9 w5 u9 \2 t. a
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
3 F" b0 c( M1 a: l: V8 h0 q6 p R
) O5 _) D( I0 c# m% m& Q/ c( X
pLight->Diffuse.r += 0.1f;
; K5 D' R* i! u' n+ |: _$ b& L& J
pLight->Diffuse.g += 0.1f;
8 h0 s; c0 |( d/ D
pLight->Diffuse.b += 0.1f;
& }$ |6 }; A9 M& F. F: ^( ?6 ?
// oˉè* ??à?
% W H! N% e- r" Y* t
pLight->Specular.r = 2.0f;
' q) n; k7 F5 o0 w b9 J7 P+ r
pLight->Specular.g = 2.0f;
5 A1 E+ s# ], T6 _# S6 h
pLight->Specular.b = 2.0f;
7 Q3 i0 G. X, I2 |/ C
// á?oˉ
5 [7 H4 j. G1 ^4 R
pLight->Ambient.r *= 0.9f;
! [3 M2 x9 {! G5 ]' X8 Z$ u
pLight->Ambient.g *= 0.9f;
& H/ w; k" z; h5 ?2 H; x3 k9 F Z
pLight->Ambient.b *= 0.9f;
/ g. u! F( |- p' `' ^) P
; F0 w9 l3 N4 u% V% L: |0 i
memcpy( &m_light, pLight, sizeof( m_light ) );
" d# X% D" R8 j( W0 k! V( J
$ e/ w, P$ h# k9 F5 f2 C
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
9 v" R' G' O3 y
pLight->Appear( m_pd3dDevice, TRUE );
! T. e) F* C/ P R" n
: K. L, ?$ V# ]. H/ m3 D$ s- O$ z2 @
DWORD dwR, dwG, dwB;
+ C- R0 ]* l* @" Y
dwR = (DWORD)( pLight->Ambient.r * 255 );
: A2 {* B K+ Q, p" L5 D% }0 `, z+ |
dwG = (DWORD)( pLight->Ambient.g * 255 );
: w! y+ ~! u. J7 e
dwB = (DWORD)( pLight->Ambient.b * 255 );
+ F) I3 Q0 t& K+ u9 q
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% D0 `" t% K8 a( f/ H2 }
}
/ q# a5 b3 ]$ W3 E7 O4 ^
}
0 E% N. U' W$ ?" ]' [0 t
else
3 d8 ^4 X6 c' `- s4 p |5 H8 @
{
0 N, ^; F4 C1 }2 \! _; c
if( pLight )
0 _$ }# D1 | l; c$ D( h" H0 s
{
. G. q4 P/ Q9 b/ y+ J
. ] D2 Y1 a" `( Z0 w+ o, b
int nHour = 8, nMin = 0;
& K5 T% B4 O- | c$ @, j! X) u
#ifdef __CLIENT
X% Z* a2 a; U6 j2 E
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
6 b) w# p e2 a# e
nHour = g_GameTimer.m_nHour;
, b( s. q. f, ^0 t. J f* m
nMin = g_GameTimer.m_nMin ;
$ I: q0 O* t" C+ f# J
#else
- k4 z& d4 y' u2 k6 Z4 y
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
4 C1 v; g- N0 d1 E3 a1 @, n
if( m_nLightType == 1 )
9 f: ]# `/ N1 |* p* o3 Z
nHour = m_nLightHour;
( b/ }, z( |2 R: ?7 c- B
#endif
6 \1 j5 j. T0 T) v+ @* H
nHour--;
. Z9 p/ D- j; z( p/ f3 {
if( nHour < 0 ) nHour = 0;
) x8 S7 r6 B" u; {* f, ]" @
if( nHour > 23 ) nHour = 23;
7 w/ i; |8 u, F# t4 r2 L0 ?. x7 r
( a3 Q. B. w# D! V
//if( m_bFixedHour )
5 K; m# t5 _+ R
// nHour = m_nFixedHour, nMin = 0;
+ J" H6 T- u% }( _% V2 S
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
% i9 G% H3 Y" A. J6 M1 ?3 d8 P
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
' ^! L0 Q$ d$ B" {
' }, U( Y. I. P& j# I+ ~' g3 i
//m_lightColor = lightColorPrv;
0 @; K( `7 `; o# E3 i
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
6 W8 _3 M3 W6 t5 g/ t! e
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
7 C, z* k7 b- a1 {9 V% V& j
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
% O- K2 V: k, p
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
4 {4 R3 {- z* c& [3 R
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
, r. R! U) c- ]* E/ t
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
; X+ K# P3 g0 D" Z, P. Z' s; |
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
5 q6 \$ i2 M6 [ c5 ?
$ U2 e/ e( A$ I' j
// à??μ oˉè*
! f2 T* u( k) ?2 T1 h& y
pLight->Diffuse.r = lightColorPrv.r1;
5 |. J- { n' s4 _; n0 l& D
pLight->Diffuse.g = lightColorPrv.g1;
8 T) p. y \6 O c
pLight->Diffuse.b = lightColorPrv.b1;
7 {% [ s8 c& P) y
// oˉè* ??à?
7 {8 g; a( X6 f, z+ T! e
pLight->Specular.r = 1.0f;
/ x# x# t) A$ S' ]7 y4 u
pLight->Specular.g = 1.0f;
* ]; B3 U0 u/ v
pLight->Specular.b = 1.0f;
$ y4 x( e$ w* }# g, V+ e& F/ B" A
// àü?? oˉè*
$ l% _1 U. m4 A4 |& ]
pLight->Ambient.r = lightColorPrv.r2;
$ o2 u) Z5 ~% U' n
pLight->Ambient.g = lightColorPrv.g2;
, d8 f- A( [$ T( F) H- n
pLight->Ambient.b = lightColorPrv.b2;
8 p3 M/ m/ Y6 n6 r, z6 Y
* E8 S4 B7 D9 g+ r
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
8 p# c$ t8 \4 J2 b
{
3 P. B0 D8 c* X7 d5 {2 e* o
pLight->Diffuse.r *= 0.6f;
' f/ P; G+ I6 e1 [
pLight->Diffuse.g *= 0.6f;
6 o1 d! k- h: R; ^2 s0 w
pLight->Diffuse.b *= 0.6f;
$ a; X# V# D m! ^
pLight->Ambient.r *= 0.7f;
* E" ^) {2 |/ z& D# B+ }4 x9 c- _
pLight->Ambient.g *= 0.7f;
/ G p, I+ j& s) T4 X& i
pLight->Ambient.b *= 0.7f;
: c% V7 o6 V# g. l! T$ S
}
- C/ Y* q% r, w; R# [- P
+ \$ ]- {8 t, `5 d5 M4 f
#if __VER >= 15 // __BS_CHANGING_ENVIR
1 C7 e9 ~2 P7 j. H
if( g_pPlayer )
% }3 s x' b, G/ a' j- z
HookUpdateLight( pLight );
, P! R4 g/ M/ ~! R4 `0 j$ n9 [
#endif
% N5 g W1 f1 P
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ c) ]; G' Y5 n) T& ]! y' E2 Z
1 Y/ j, j& d [* Y
#ifdef __YENV
8 _7 b. {1 |3 O# y$ z1 _
pLight->Diffuse.r *= 1.1f;
# g% Y$ L- E( K* Z# N; S5 ]3 {
pLight->Diffuse.g *= 1.1f;
: e3 R! M. E: E& Q/ ]$ L
pLight->Diffuse.b *= 1.1f;
; M1 d, C7 R# z3 `) K) U
// oˉè* ??à?
6 i: Y- X. d* u0 Z/ C4 I
pLight->Specular.r = 2.0f;
+ c& _8 d. Z/ T7 F
pLight->Specular.g = 2.0f;
& O7 B7 W! v5 ?/ N4 y) j" j
pLight->Specular.b = 2.0f;
! B. x' m6 i4 G, M# t+ g) ]" P' d$ ^) b
// á?oˉ
/ k/ N: z2 }- @ `# a5 L$ w
pLight->Ambient.r *= 1.0f;
/ u- ^0 I, [. z$ e) \4 ~/ W3 u
pLight->Ambient.g *= 1.0f;
7 q- x( F% \6 s9 M' j; k
pLight->Ambient.b *= 1.0f;
4 |: _0 \5 h! l; D+ f+ ?
#else //__YENV
5 e1 S4 S0 d \1 |
pLight->Diffuse.r *= 1.1f;
; Q1 T! i1 a4 R4 g: Y* Z4 o
pLight->Diffuse.g *= 1.1f;
. o7 f, M; ^: I' `# v1 J" O, @
pLight->Diffuse.b *= 1.1f;
+ v$ w& e+ h1 y" n
// oˉè* ??à?
( L% [ Q- W3 h3 ?" x& I8 R
pLight->Specular.r = 2.0f;
$ B( T3 E% s9 q2 f" i+ ^5 V
pLight->Specular.g = 2.0f;
& |! l, C; `- x8 ]* \4 N
pLight->Specular.b = 2.0f;
8 v% h- }% G2 l+ V) L1 k: `
// á?oˉ
* x& G5 u" ?' Z, r8 x8 U; }
pLight->Ambient.r *= 0.9f;
1 I6 C" P D4 k7 x* W. W0 d
pLight->Ambient.g *= 0.9f;
5 ?7 r5 {: {2 J; ^6 l* R1 w( Z
pLight->Ambient.b *= 0.9f;
- A$ u9 h z ^1 c( X
#endif //__YENV
7 c% v& K% W2 W( @ S4 L# s. ]. C
4 x4 `+ R; N! h, J( T
memcpy( &m_light, pLight, sizeof( m_light ) );
2 V' l+ w! i- Q n
' X! J# f+ o$ _: q
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
( g, M& u& A$ j4 Z0 Q [8 F. y2 W: |
D3DXMATRIX matTemp;
9 {6 W- Q% }1 C% T G9 B! x
static const float CONS_VAL = 3.1415926f / 180.f;
/ c1 G4 B/ i- n/ {! o3 m
: F. G8 t* P8 h1 m. ~* R
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
; O& ^3 C$ h6 G4 Q3 \
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
1 S* o8 W c2 ]/ y$ J7 p+ H
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
+ {# L8 G( ~" D8 ^, a# R
pLight->Appear( m_pd3dDevice, TRUE );
; _5 w2 V1 F6 B4 l9 [! ?2 w k* i
, u! V$ X, M) ?, o/ T% i; b# l: V
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
- u2 I! f; t# r$ Z
// D3DXVec3Normalize(&(vecSun),&(vecSun));
, M1 F: P, K, m5 D
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
0 b; ]0 @% M) _, ]& l
) K. c" s) d7 F' E, g( j
DWORD dwR, dwG, dwB;
8 W4 G+ D1 t2 x) ~' E* z- G
dwR = (DWORD)( pLight->Ambient.r * 255 );
; y& p! T* E, Q* \; n% x
dwG = (DWORD)( pLight->Ambient.g * 255 );
/ g5 q0 R( {% j3 v& `9 X0 I
dwB = (DWORD)( pLight->Ambient.b * 255 );
' i; |7 v, j) Y) X$ _
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
4 T' e- D1 s, F5 o& p: o8 y
}
/ y* Q7 R1 z( ?- C& F' Z9 V
}
) l& ^4 h+ t( R: C5 R ~& \: j. |
# S- l! ^: ?" C: \- L2 D$ `. u
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
, B0 u8 p! G+ `( x# j" E
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) );
2 K" ]' m9 ?$ W' z# F' Y/ w9 e
::SetLight( bLight );
% {9 f% Y0 ]6 }1 |
! ]3 `# r; n: N. K+ U0 y8 @
// ±ao? ?D?í???ó á¤à?
+ Q: ?* i0 L }' j# r3 o9 o! e
m_pd3dDevice->SetMaterial( &m_baseMaterial );
, [* I+ |2 n t8 }8 y
& ^4 r! }( m; {. i/ v z
#endif // not WORLDSERVER
9 {7 y4 a/ @/ L1 R; C6 o
}
$ [' q' K7 V( F% @4 ]
并更换
1 \- b1 S0 g8 |& q1 O( A$ k
Code:
' x; k5 u. i( ?9 w5 f
__FLYFF_INITPAGE_EXT
( m G# \# ~9 ^" ]/ H- E
定义
0 J( O9 \- _6 a
- N y' k6 M" O& Q8 n6 I$ w
- D# f' y/ V/ E0 J# _( i# u# s5 N
5 C! Z( B- ^( |1 i+ Z* f
8 X% W/ @; X. O' K
现在终于删除我的狗屁加速...
7 o! P: T4 a; ]2 c' I) p8 S
2 q! h1 p( f) a
# X5 O8 q- W' I4 J
( V; b9 `" E) {% ~
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2