飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
% ~0 U) A7 U5 |, L/ t: K* I9 P# c
尾翼:
( q2 P& s8 [9 v% ?
7 k: Y7 l4 D. s, O& B: ^3 M! d( Q9 w
代码:
! w- s1 T9 D1 w# ^6 n, U" L0 G+ J: S
CWndAutoFood::CWndAutoFood()
1 W$ R* S/ d6 G9 T2 c1 [; E. I3 u
{
; X1 b5 k! s# g7 K X8 d) z
m_pItemElem = NULL;
$ t* j$ X+ O/ v5 }" g% i
m_pTexture = NULL;
3 T! M! l" V2 z4 r! g7 U
bStart = FALSE;
% {$ Y, Y- \. s. } k) Z
}
8 P2 Q# `7 e# e# z0 X
. N, X' b( w2 m+ p- F' w
CWndAutoFood::~CWndAutoFood()
* j4 u2 N4 z' L$ j& }1 R* i3 x
{
- m, \8 ]3 X9 |1 ?: [9 A* R6 b
AfxMessageBox( "AutoFood ist gestorben
" );
& e: ]9 q1 J$ N6 o
}
: U1 F q- K8 R; R5 V
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
7 L, E& s( p8 J) {
{
( k6 o8 Q* e4 m% F! k$ U9 t, q+ h ]& H
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
. u) l: l; T) ]- l, `* h- k/ f
}
9 a% F8 @! ?, q- _' H" Q
" s3 Y' i3 L5 H) E8 @. `2 Q8 l
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
, R) I& a: X3 J! T X+ a$ Y: e
{
$ j" l9 N' b1 G9 v: I& @
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
& a8 I2 r2 J$ W; t# U
CRect rect = pWndCtrl->rect;
7 m- [6 g9 O( h- Y# H) Q
if( rect && rect.PtInRect( point ) )
/ v M6 M5 E/ h: ?' `( T5 |. z
{
# R! N6 J4 \7 R; k
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
- @7 P, w5 t4 o$ |$ b4 d3 z1 m
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
6 I! Q9 I4 N V' {/ [$ P* M8 g
{
" I$ a/ q; ^6 k1 Y B% g+ x9 n
if( m_pItemElem )
1 ~# O4 r1 P, n' I2 Q, r: G
{
. k s& h4 ?# R% D$ A& ?
m_pItemElem = NULL;
) P$ j' L$ q& q9 O
}
+ J' o, f( I& l' Z$ L8 r3 Y
m_pItemElem = pItemElem;
- Z( c/ M4 q, ]/ G' F6 {# x
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
3 @5 B# L# d% q: C* N; G
}else{
, Q+ q1 W9 K- e, ]1 a$ }
SetForbid( TRUE );
5 @/ q7 l' `5 m" c1 y
}
4 E: ?3 R1 m: I0 \: X4 H9 i. i
}else{
. u3 E- H1 Z! E: M7 w) J' ^
SetForbid( TRUE );
6 V( Q) p, |: [$ d
}
}1 M9 u- r3 t f
return TRUE;
) Z# e! u" J" L' X& E2 N6 U6 X
}
" { Q: i; G4 o9 Z
' `4 J% B# M# t; v3 \7 ^
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
b' |( K# O2 |5 w
{
4 ]( ~* p* G9 d {. Q& k( o- _* H8 H% Z
switch( nID )
+ g4 X7 B$ e) M
{
$ t' L8 e, ~7 t0 Q! \. B5 x
case WIDC_BUTTON3:
8 Q/ a: C" T' }8 w# @
{
' S( q n# q7 M) i+ T
bStart = TRUE;
" c' O! h$ H0 u
break;
6 D! B/ k( w1 B! X% F* h
}
4 x7 Z7 K7 i- Y
case WIDC_BUTTON4:
/ W5 V1 @: X8 E
{
4 _, U7 S" G2 H; B. n8 w% f
bStart = FALSE;
* w( N7 w# }- @$ L# G7 o8 z
break;
+ J- d( P4 |# t1 f
}
% n% h0 }, s( O, ^+ q! l
}
7 `5 \/ P/ _% X, b* q
return CWndNeuz::OnChildNotify( message, nID, pLResult );
6 u/ o; _' X; `. K- L
}
- Q9 m6 e# a9 s" ]" I' t
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
& B7 U' `+ r+ U3 P5 f
{
9 R1 e/ j! C( S2 Z. \( D; ~
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
$ h# a0 |* }8 u* n# P) B; P, S
if( bStart || !m_pItemElem )
1 I" _; p! v5 I! N- M
{
* g8 n+ s( X0 Z7 m! t
pBtn->EnableWindow( FALSE );
8 u/ x* i# M4 N/ @' ]2 O$ q) _2 j
}else
; A) j- S' Z, S& y# b
pBtn->EnableWindow( TRUE );
8 \' G F0 W5 Z% H# [- |
if( m_pTexture )
c$ _; v2 E* n7 T1 W
{
3 F9 t7 D2 e' V/ L7 l8 R; u9 f; ^
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
( T! A( i+ E* j I- E
if( wndCtrl && wndCtrl->rect )
9 A6 F+ t3 J8 R- a- D8 E% Y
{
! w1 V* Q, S" }; N" m/ E' {4 K
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
+ L$ E' A) M- T2 H; B; u
}
0 \: H% r' m+ \1 F9 L9 k
}
2 @" C* [# J! O' c( j6 E! {
}
: D9 B6 Y4 F/ U
3 ~, r1 s7 Q. }: ]+ h; {
BOOL CWndAutoFood:
rocess()
% B: h" v2 U& \; C
{
% h: t) F" p, O9 y
if( bStart )
% R& T/ p% J4 ?! V) m! M/ F U
{
9 |9 G2 q6 C0 _' k
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
$ c1 y# z; N. u# ~
{
9 A* q0 G: v& W/ x- u, o
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
8 P/ o; @1 X: `/ j& h. ~
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
- |9 `+ f7 N! c0 Y& ]4 O
}else{
) I' f& L0 ^# p. z% ]# h y
bStart = FALSE;
( ?/ c" N t0 ~. i
m_pItemElem = NULL;
! j, E# P& B$ h% D
}
/ h3 X- |) ^3 V* ?4 Q
}
3 u' f8 l, A( b. m) Q
return TRUE;
, H& m i! W; `$ @1 X
}
8 n5 q; `+ p( |' R; b3 h/ L) Q: C
1 e: f; C! a7 ~# i5 o9 E
登录视频废话:
2 M$ t% E3 a1 Z" u- r* h, b3 y
尾翼:
3 I) l: Y& Z4 b. U
1 } R# q0 ~4 T, Z `8 g+ s" J
代码:
% n4 v0 _( P% \/ Z5 g4 p2 O$ i
5 i: n0 [0 D; T% ?4 c
void CWorld::SetLight( BOOL bLight )
8 s: v* D4 O5 {: y# ` F# ^2 w
durch
9 _ p. a3 ~/ ^# I: @5 i) [# V* \
Code:
3 J- _" H9 G7 u9 S2 b
void CWorld::SetLight( BOOL bLight )
& q. M; J) F- D: b) X( Q
{
5 X% R a1 q; d5 ]5 S
//ACE("SetLight %d \n", bLight);
6 d" i7 I6 ?" K* [* z r7 C
& j! | O5 P/ y" }* L
#ifndef __WORLDSERVER
) Z; y" U* ~4 R1 |
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
. l# F3 D% |6 n m5 m4 d2 A2 ~
CLight* pLight = NULL;
3 {+ ]7 s2 ~/ l
7 t6 |$ j# Q2 @' z3 j4 t* t
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
% B g w# c7 L3 V6 K
6 E" ]' l b, g5 W. ^
pLight = GetLight( "direction" );
* g4 e$ P) Q( v; M+ Q4 W
1 `# b6 E$ D1 U2 y4 k
#if __VER >= 15 // __BS_CHANGING_ENVIR
& ~1 n: z; \, v4 }2 m
if( g_pPlayer ){
]9 R, }; K1 W7 P
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
4 ?8 H4 {) |: O" t
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
2 H' z, |; A# b4 ?& D; ]+ k) m
{
& y6 _) M* f# v7 B
if( pLight )
" b6 c! `8 o5 P
{
2 s' u) X6 \' t* }! u8 }3 h
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
' C6 J; {( d4 U) Y
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
. J0 M5 r, v, P! Y& i* q
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
2 ~# x0 x9 G/ M4 x4 i) P: J
_# p5 F) c7 A! M- S% [$ \0 i
pLight->Specular.r = 2.0f;
* t6 J/ U7 c: Q* _3 Y
pLight->Specular.g = 2.0f;
; @9 @( E6 H% B; \; Y
pLight->Specular.b = 2.0f;
( M, V- {, W; W# n1 R
- {/ S8 d9 k6 }1 N" F6 G+ ^
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
# e# J; L% V6 S2 V/ y+ j5 d
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
7 b( M: R' I/ o+ D
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
5 ]# T- y5 N# | |
6 _* r: A' |* J
HookUpdateLight( pLight );
0 N6 q( R& G, |
* K0 W6 Q9 v9 N" b" }1 l8 j0 z
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
" F# W" {- h5 z/ A
* E3 U3 p8 u1 ~; N
pLight->Diffuse.r *= 1.2f;
2 s8 Z1 A8 N0 N% k4 n7 x' a
pLight->Diffuse.g *= 1.2f;
* B( a: M- y# Z: s* B( i
pLight->Diffuse.b *= 1.2f;
& n7 V* {: q( t* z- i5 n
9 C# L5 g' @* W7 {/ t D: u
pLight->Ambient.r *= 0.8f;
c6 h7 h8 W6 f3 G. ^. \/ s
pLight->Ambient.g *= 0.8f;
: [" @+ \' S( G5 u! R; w
pLight->Ambient.b *= 0.8f;
- n j: ~7 {/ N$ a- w
/ m. x/ C1 [; Z% U1 }5 Q* Z
memcpy( &m_light, pLight, sizeof( m_light ) );
5 J( x7 |! c2 V
- C6 [5 B' j' _2 H5 x
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
( y6 a9 q9 T! p, d2 z, u
D3DXVec3Normalize(&(vecSun),&(vecSun));
) ?8 k3 x8 s# q7 s; C+ v/ u
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
4 l, g( G) ~ y' j! t- [1 h6 K
pLight->Appear( m_pd3dDevice, TRUE );
. [! C6 O/ {- O% |! \9 R7 h
2 D9 _! a7 o9 h& {) T
DWORD dwR, dwG, dwB;
5 R1 S) J9 E4 x1 @9 x. d/ A$ g4 P
dwR = (DWORD)( pLight->Ambient.r * 255 );
4 Q8 Q% _8 M% b
dwG = (DWORD)( pLight->Ambient.g * 255 );
" t0 ~( | @6 g/ m$ u, i. r
dwB = (DWORD)( pLight->Ambient.b * 255 );
7 h- w$ M. ^! ]* |2 c
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& j$ n# m( d! D2 a2 V& a3 i$ K
}
7 b- u4 C$ n; H* X
}
# @( n$ ^& r' w# R, `
}
) v8 {' e# o" z( K+ u$ N$ \2 _3 i
else
$ x! O+ a, j: t B4 n
#endif
# e4 P6 J$ n( \' R8 J& Y
' s9 v% {, R9 @
if( m_bIsIndoor )
: \( q! l/ b) l M
{
$ R) D3 K1 o. j/ @7 F& ~4 J3 T' H2 s
if( pLight )
+ Z7 _+ f9 d$ _$ o3 c8 |# v
{
7 p6 s3 Z* f3 O8 p: B
// à??μ oˉè*
8 K& t9 I# h& O0 I8 V
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
6 O M! I! q7 ]9 U1 y2 a
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
0 I I- y Q" M8 l3 k& p9 Z
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
) C# Z$ E8 I4 W2 F3 h
4 Z+ z2 H8 { B$ I& f; u
// oˉè* ??à?
3 ?+ M6 C* B6 a4 y2 K8 L
pLight->Specular.r = 1.0f;
1 J+ _: ^; E+ W( u* A
pLight->Specular.g = 1.0f;
+ u2 N* V n. j' @
pLight->Specular.b = 1.0f;
$ O U3 C. |6 m$ O$ z; \& {! f
// àü?? oˉè*
6 L" Q* U; w5 H8 ]; T$ H/ I
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
4 {% p4 X4 w+ j3 x& o o8 @
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
$ w4 s% J3 ~5 \$ u/ V
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
: t- v6 U2 Z8 t+ g) ]; p
% a, W! Y+ E! q+ w+ w
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
0 x" S M. A R y" z) n
{
% K9 g4 q& Z2 Y6 Z( o; r- P
pLight->Diffuse.r *= 0.6f;
& I! k% q" Y0 m0 c _9 f6 s
pLight->Diffuse.g *= 0.6f;
) O$ y9 U# Q2 k7 z) ]
pLight->Diffuse.b *= 0.6f;
6 L2 S4 Y/ E' Z3 w5 V* g
pLight->Ambient.r *= 0.7f;
$ S/ m- Q6 Q5 F0 [3 _6 h E
pLight->Ambient.g *= 0.7f;
) [1 V) J O2 G. j# y9 ]
pLight->Ambient.b *= 0.7f;
. O5 B# m2 y: } o6 Y9 f" f- {
}
( w& d# Y& Q9 a7 D/ }: B0 T
0 f: C6 l( [( @
#if __VER >= 15 // __BS_CHANGING_ENVIR
' u4 ~ o, {6 z5 o1 A
if( g_pPlayer )
0 N9 x! A) R" n8 n0 J% P9 E; j/ w
HookUpdateLight( pLight );
2 E! q! N3 j5 f7 F
#endif
5 Q0 M. f6 F2 f% j
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
' D9 l$ ~. k& L' @: ]+ C
3 ?9 q% z) P9 u6 p/ E8 r
pLight->Diffuse.r += 0.1f;
/ r2 v4 d/ T. u6 W
pLight->Diffuse.g += 0.1f;
% M8 ?9 B& L9 w# r
pLight->Diffuse.b += 0.1f;
# Q* g* m$ s/ [8 `) t
// oˉè* ??à?
5 k/ Y+ o% B# q* L; S( K- H( ~6 c/ S
pLight->Specular.r = 2.0f;
" g: W2 ^$ I7 t, `! }
pLight->Specular.g = 2.0f;
6 J' y2 a* G6 ~2 V {6 r3 Y
pLight->Specular.b = 2.0f;
1 T; v6 R# ^" L/ T. E+ q. F
// á?oˉ
/ Y9 |( L6 t G
pLight->Ambient.r *= 0.9f;
, C' y6 e( [/ N* F: N$ |: Q7 i
pLight->Ambient.g *= 0.9f;
% V- m3 ^& w& i, U$ @
pLight->Ambient.b *= 0.9f;
% F6 }# \0 k- p' P+ w( A
) X3 o/ {3 u* w% M8 W- ?- j+ [
memcpy( &m_light, pLight, sizeof( m_light ) );
~6 Q: P( g+ K! m t+ ~
u( b, B, j4 ^
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
- F! `4 G6 Z, X8 y9 {. v+ p @
pLight->Appear( m_pd3dDevice, TRUE );
. c# j: H; e/ X$ ^0 A
8 ]! x* K$ z V1 T$ s2 }4 f( O; x
DWORD dwR, dwG, dwB;
6 c7 j; a. L# o) a2 H
dwR = (DWORD)( pLight->Ambient.r * 255 );
0 h/ T7 _% y9 [' [/ |
dwG = (DWORD)( pLight->Ambient.g * 255 );
& e- Y& l, V! ?# n
dwB = (DWORD)( pLight->Ambient.b * 255 );
8 [& g, M4 J5 r% C7 g
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
4 E/ H" Z/ S& n0 N. S( u) s6 S/ M
}
6 @0 r% U8 y: U: ?* k
}
! x% f5 K% N. Z ?8 P4 i; a
else
* g1 E9 Z. w& G4 K: Q2 J1 M
{
( [; y: W: N$ q! X w; J
if( pLight )
* ~ N' @* z' r' x
{
2 V9 W& s3 K% K- g9 j) s
% z7 ^, ?% o. Y+ B5 l, X
int nHour = 8, nMin = 0;
6 p, x8 r C9 p. E% l* G
#ifdef __CLIENT
7 ^1 H& y" P$ O/ l g
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
B. R5 `. W7 c! _
nHour = g_GameTimer.m_nHour;
$ U! E0 v% [+ j- H
nMin = g_GameTimer.m_nMin ;
, m. O }3 L2 u0 P5 w
#else
3 W9 _/ ~1 I0 I" E' a4 Y
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
+ V2 E x& m; S# @- I7 B6 f
if( m_nLightType == 1 )
- J6 p: C+ {& y7 m+ |; ~+ E
nHour = m_nLightHour;
/ D8 x2 N# T% n7 w* Z
#endif
" B6 R8 X. @3 n$ a; l7 n/ V
nHour--;
9 p4 r+ m2 Q5 p5 |, h
if( nHour < 0 ) nHour = 0;
; \3 c- u: z. W5 V w
if( nHour > 23 ) nHour = 23;
6 O n* ~& S. `2 P1 L4 j
; K1 U4 S6 u" A/ F( `5 B
//if( m_bFixedHour )
2 E- ~% S6 m* U8 L5 L ~" F
// nHour = m_nFixedHour, nMin = 0;
) _4 r) Z/ S. Z) v8 Y
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
$ S) `' O4 D3 L4 c. O9 u2 C
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
3 v, _0 e' m! m9 i0 l- o) h u
% F0 v8 Z8 a6 ~; ]6 Z
//m_lightColor = lightColorPrv;
8 f1 N) Y$ o4 f1 d7 d/ w
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
' O' q! a8 H9 |: |# z
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
6 k7 B/ F: q) H4 F4 P' W
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
8 w- h F% E( H" w" r' q3 e) G
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
. J T5 x& d! L) G$ w9 R0 z
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
, F" U7 `# @2 w. i" ]/ S
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
- ?( L( I( z ]# G2 u. p8 Q5 B% y
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
+ y# X1 `% Q) _3 K+ ~% [
( m' d8 p! Z) `) I, V( T
// à??μ oˉè*
+ j, c2 j8 [3 M7 W( D9 U
pLight->Diffuse.r = lightColorPrv.r1;
1 t" J. r G/ r! c$ ^8 N
pLight->Diffuse.g = lightColorPrv.g1;
( Q# u+ U* X8 w0 u. ^% U3 p* n
pLight->Diffuse.b = lightColorPrv.b1;
; D$ O8 c3 f% e# L: P- W
// oˉè* ??à?
& |7 v3 h( j% Q' g s9 O
pLight->Specular.r = 1.0f;
: w2 Y# Z+ v' w+ n. P/ x/ @% Z
pLight->Specular.g = 1.0f;
8 R- w' s. [! {& }& _
pLight->Specular.b = 1.0f;
( T- o, t$ h6 t$ j# C+ T
// àü?? oˉè*
! n4 `8 G) H( y( ^
pLight->Ambient.r = lightColorPrv.r2;
& c# U, i. A- o+ p% r5 O
pLight->Ambient.g = lightColorPrv.g2;
+ G6 ]1 Z+ z& A' ]" }3 R
pLight->Ambient.b = lightColorPrv.b2;
; ^( ^& a& _* b, [! ~8 J; @
; v( A6 }& v) L, H. n( K2 e
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# I* j; d. l7 r- v; R7 }% f
{
& e) c* l0 c4 k; h( w4 j
pLight->Diffuse.r *= 0.6f;
- ]/ I' s) {& R9 F0 B+ r( @9 H" ~
pLight->Diffuse.g *= 0.6f;
+ o2 E4 C t) N. O: n E; G/ M5 @
pLight->Diffuse.b *= 0.6f;
# G0 X5 I- R8 J: X0 q. A
pLight->Ambient.r *= 0.7f;
% g1 @) F3 Z5 j. @$ _* a7 K! h7 E% A! k
pLight->Ambient.g *= 0.7f;
/ u+ P1 f8 P8 {- s6 U+ h+ L
pLight->Ambient.b *= 0.7f;
9 k% F. s s/ B% x$ S& u$ C
}
4 V* D5 V" V4 w, ]3 e
& X4 e: k T# T# P I5 E
#if __VER >= 15 // __BS_CHANGING_ENVIR
4 u" |* c. D9 K! ?
if( g_pPlayer )
) O' y! K) U1 e. d) S- f! X
HookUpdateLight( pLight );
. \- N4 y4 }7 V
#endif
: ^# @/ j, o. }5 w+ f
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
* d+ o8 }' l8 D+ g4 `& l% v
- C" \; I& J2 T: Y& J; q
#ifdef __YENV
4 A2 D! `" P+ e$ r. h
pLight->Diffuse.r *= 1.1f;
% Z3 O% [+ `; @
pLight->Diffuse.g *= 1.1f;
: j+ u3 D" @# x! z
pLight->Diffuse.b *= 1.1f;
( K3 U& a+ x- n+ y, ?5 R: S1 R1 f
// oˉè* ??à?
! ^- ?% B5 Y0 F. `6 \
pLight->Specular.r = 2.0f;
1 `! e5 u* m, y
pLight->Specular.g = 2.0f;
9 r R8 _( z* J: m# g+ ^1 M+ m
pLight->Specular.b = 2.0f;
8 r* X6 K5 j- S; w! u3 K7 a
// á?oˉ
7 a( o5 t6 G# x% x w7 p4 L
pLight->Ambient.r *= 1.0f;
, U0 C ~, L* M7 F
pLight->Ambient.g *= 1.0f;
' s' m' } ?* \% j1 H' T# s( h* O: ~$ l
pLight->Ambient.b *= 1.0f;
) [0 \( i* P* Z: t6 p" l+ Y: k
#else //__YENV
0 \4 l% R3 j! ^0 B8 W" O
pLight->Diffuse.r *= 1.1f;
# P& F9 v) |3 x: n4 `* A( t7 e
pLight->Diffuse.g *= 1.1f;
" d( f5 I1 b$ x& S$ Y
pLight->Diffuse.b *= 1.1f;
$ Y- q2 R: W, ~' E
// oˉè* ??à?
8 d! g' I9 S0 b2 _9 n5 k
pLight->Specular.r = 2.0f;
2 p4 C$ M; x. P0 ^. N" B$ `
pLight->Specular.g = 2.0f;
- h! Y4 ?/ N0 s# s; k$ @
pLight->Specular.b = 2.0f;
3 X9 V: R# P: a( M. `
// á?oˉ
# Y" n1 b" ~" V- R% s! _
pLight->Ambient.r *= 0.9f;
! n- a! x" i" I
pLight->Ambient.g *= 0.9f;
) @3 U0 \% \' s: S: e) `6 Y
pLight->Ambient.b *= 0.9f;
8 C. v. p8 ]! a3 h K9 D: g; W
#endif //__YENV
$ P3 P! Q" D1 t8 v$ V
3 @ L( Y2 B2 U% {
memcpy( &m_light, pLight, sizeof( m_light ) );
2 R" N5 k5 j2 L7 h f* M
5 A; \% u9 U: V! A2 v
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
# T& i+ o: C' ? }6 x
D3DXMATRIX matTemp;
" z- {5 q* }9 u7 Q+ T- t& J' @+ ~5 i
static const float CONS_VAL = 3.1415926f / 180.f;
) O' D* E% I- }, v% Y
: b' e! w' \9 z( v0 w
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
, W ?# B3 d2 j$ d' G6 v" {8 I2 b
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
r0 T' p0 e# R2 R
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
( M: t" W5 {3 ^' ^
pLight->Appear( m_pd3dDevice, TRUE );
/ q" W' `$ j1 E4 r2 O, j5 I
5 z! \0 C& z: }' i! p4 j
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
|0 d/ I: ^4 H7 `1 A
// D3DXVec3Normalize(&(vecSun),&(vecSun));
0 }5 k, b1 i3 _; v/ @. J& `
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. P$ S7 Q2 G5 k* J' Y
6 h9 k" t# V- ], Q" ` r
DWORD dwR, dwG, dwB;
0 {1 L) o' R: ]# k
dwR = (DWORD)( pLight->Ambient.r * 255 );
3 s7 V) D) b; s5 K K* o
dwG = (DWORD)( pLight->Ambient.g * 255 );
9 @5 J6 s0 `0 b, R
dwB = (DWORD)( pLight->Ambient.b * 255 );
) V- N, C% B* G1 R+ h* }- v
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
5 V0 d- G* J [ ^4 b3 T
}
$ {4 @: ~) i( V) G7 n
}
M2 {/ N1 d. l# C, h1 G4 ]( x# O
5 Q1 L. M" Z( P2 H k: r; Z
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
) U" S) N+ D, h- [' E) m) b
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) );
, [0 C, N! k4 D# a8 y' \: X
::SetLight( bLight );
5 D0 `8 W! F' N4 H
; M4 Y, ] o, p1 R
// ±ao? ?D?í???ó á¤à?
, t6 g! q, S0 _$ Y& v' ]1 N; x& _0 f; k
m_pd3dDevice->SetMaterial( &m_baseMaterial );
' |: D/ h# w, ~- X
: k7 V8 t% P. Q6 |
#endif // not WORLDSERVER
3 V' U" h9 D! i5 X$ O3 |* k
}
6 w5 N0 n6 v2 _4 j) E
并更换
- M: Y+ |" `, E6 a
Code:
8 G5 z! y* b' S) i, v3 g
__FLYFF_INITPAGE_EXT
`; v) B1 E: i0 o5 F& H
定义
+ ^# X; R" k+ u2 v7 }
$ h& H. G( Q3 ^( D3 |( k
- V, a- j% T* y+ z: D" d! \
2 z& y( c1 O9 o% U8 m
! z* V% b$ P3 [ M$ x. u+ }
现在终于删除我的狗屁加速...
* W4 s6 A5 |9 p) e a0 L, e
' g, E4 w" b: ]' I: x
2 l( |) M* H/ k: V
7 m6 ]. `2 Z2 X, u0 x
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2