飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
" u$ U. b* L' N0 ~
尾翼:
" N" e+ @( c: B: }+ d1 u- Y$ i/ s9 {% J
! ~. l# P1 g, W9 \% L
代码:
8 i. V1 L" o7 e9 }$ g
CWndAutoFood::CWndAutoFood()
! A/ H6 v( P% y% A1 F8 f
{
0 b0 _; K5 i0 {* u) f8 f% h4 b* m, w' U
m_pItemElem = NULL;
9 B; @9 p& h1 R. z, v
m_pTexture = NULL;
1 _" t- n: l% K+ `( z
bStart = FALSE;
. b( a# t- p$ ^( Y1 X4 [/ ?
}
) Q) J( o/ E8 j: M$ I6 v
- n6 V% U9 E5 u, M e
CWndAutoFood::~CWndAutoFood()
8 o5 R2 B% I V$ _$ v5 e) q
{
# h0 {; z6 h/ Y" n3 n4 b; O
AfxMessageBox( "AutoFood ist gestorben
" );
% `- z2 @ U/ R
}
$ n- w$ L' T: Q/ X. V: \
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
$ @ \0 D$ T$ O4 g7 W3 r
{
, R4 @- X+ K3 d5 \7 Z
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
2 G: O" m! }/ q1 `8 q; T( G& A
}
; g1 F8 d) E3 \! {" L0 @
7 h7 a+ Z% q1 {: G$ C1 E& m5 R
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
a/ w. M' t* f% r. O
{
s' v( B1 `0 m, |3 A8 L9 a! m
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
* e* S* H; H3 j3 G" Y
CRect rect = pWndCtrl->rect;
6 k5 @9 n f7 ^ ^. J$ S& W: K$ [
if( rect && rect.PtInRect( point ) )
- n6 W* }0 P5 s4 k. q0 ?
{
" Y, f s* G7 P
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
1 p5 _: d, d+ @
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
: z7 u$ w2 W' m6 ]& I- C/ g7 [
{
9 l2 B9 X4 E0 Z. B9 a: T
if( m_pItemElem )
. S( K; F. S. t9 d' x A8 h
{
) r0 j" Z7 K$ P, |3 F
m_pItemElem = NULL;
Z" x, `! r) G4 e7 e$ q
}
+ B. x5 x! w7 D& U C
m_pItemElem = pItemElem;
! X& ^1 O' y7 B: q
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
4 G$ V* M9 K& T% I$ U, l/ U% U S) U
}else{
# N( y+ n, y6 J6 s# H6 M1 ?
SetForbid( TRUE );
, n- O: J; H" i2 O# O/ F
}
$ e! F# A4 Q( \* b) ?+ S0 }
}else{
! H- t7 B. e! A* f$ @* l* F8 Q( w
SetForbid( TRUE );
- d) I% c7 M5 W: t1 N
}
8 r5 L* i1 z" B
return TRUE;
# T% o* c; k/ G( i4 d
}
% W. f4 i( z3 Y3 W F
/ W: X$ G# w y( V( N
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
' E3 G, w1 L" S" J( V0 r
{
h$ V: ~9 J; }3 W
switch( nID )
0 o3 u, B8 K6 t0 ?8 ]1 @6 d
{
! i/ g) \0 {. Y7 V$ s4 J' g& O; m4 }# R
case WIDC_BUTTON3:
2 M- G! B6 f2 W7 T# w# ^5 h6 X
{
1 Y/ T! N! U6 J1 p& g! ]0 O
bStart = TRUE;
' ~. v2 V, i; Q5 e2 C% X" f0 l
break;
) f6 E/ s: q5 k; E5 f. l4 D7 N! P
}
" ^# c/ {9 \5 p7 F3 Q
case WIDC_BUTTON4:
2 F0 P% H5 a+ b: u
{
% J9 k& Z, q4 I# e, C" Z9 g
bStart = FALSE;
2 G: G" O- ^9 M9 ]$ Y5 a6 b/ e7 O5 c
break;
# @ O- Q; X* B6 Y- I
}
' r8 Z: _' [0 b6 H0 f
}
- _; n, }6 `7 d
return CWndNeuz::OnChildNotify( message, nID, pLResult );
# f o, Y, E. R4 A L }" Y+ `7 v
}
2 `" {* {* c! _
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
3 O9 [! M. N0 E) p- E3 ^6 x
{
& j# X0 K# r- I/ H$ }
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
$ q4 G) f" y) B, S/ w2 Z3 s& `
if( bStart || !m_pItemElem )
7 Y6 H8 K7 B" f( @0 w; v
{
* s) D! n# ~& g! {- `
pBtn->EnableWindow( FALSE );
5 {. ?: g# T. A* E
}else
* S* O& [3 M6 G5 _( G
pBtn->EnableWindow( TRUE );
6 C) v2 S4 I# I5 X3 w+ V! i7 K, w- [
if( m_pTexture )
- t$ c0 y- [* e1 |2 @
{
3 B0 s0 m8 Y c2 ~6 P) m
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
P4 n4 g( }( f7 \
if( wndCtrl && wndCtrl->rect )
& P" w2 }! U, ]. Z
{
6 x' U; b% ^! v2 y6 a& H
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
! q" B+ j8 J M# T
}
3 L$ }( H% ~) j
}
# a7 A% l) E6 v& ~3 I
}
5 E. Q: K7 m1 n+ J
; B* J( @9 ?9 T2 x0 [$ N
BOOL CWndAutoFood:
rocess()
* T( @# G8 D& M( O# o, Y% H3 a
{
; S' q, H. o5 g0 X
if( bStart )
! o! X. U( Z. I
{
! B& N' N6 Y3 D+ u) M+ s. f! P
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
8 a& T- y( o" w2 D3 m
{
2 y, c" j( G2 n# P5 v8 h
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
) a5 M2 a A* M$ r h! ^
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
, j* |" r" D) T! J i. ?
}else{
$ O1 Z. q) L& J. T) R
bStart = FALSE;
( P' C. R8 {6 g# h. z6 A
m_pItemElem = NULL;
. \, a/ J+ T( }# x* |
}
$ X$ B+ o5 s) U: a7 v0 l [; x' Y4 N
}
9 b3 Q; \& K# w" Y
return TRUE;
4 l$ c5 Y7 }9 m2 B- k& X5 U9 i+ U X
}
z9 e5 P. W+ H }: S; T- e
, C8 @8 E t$ R ~ i1 T# a7 @
登录视频废话:
7 G3 c; x, i6 s+ |! N: o H' v) ^
尾翼:
! b' }$ O, W- g+ w
5 x5 i# `7 p; K: Z3 i5 q: W
代码:
& a$ v+ [) @% t6 _) L% W
\$ T1 D! k0 I/ \% Z! r1 K
void CWorld::SetLight( BOOL bLight )
8 u V' p# s$ O" {8 z1 t- s
durch
0 O3 p& R ^: e @% }2 E3 l
Code:
0 q# c+ G# K" u. W, C
void CWorld::SetLight( BOOL bLight )
8 T$ S! [7 }* L: G. k! l, E! _
{
2 `9 p# B' I- u0 [
//ACE("SetLight %d \n", bLight);
( X! ^) X& V7 a' n2 P
2 U. T* g p5 X
#ifndef __WORLDSERVER
8 n! v7 L- V3 O, V o
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
/ |* g; @/ @$ [& @2 T
CLight* pLight = NULL;
3 e# w- M, m. m/ f+ m- I
6 J$ {8 f2 `1 i' D! @; E
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
( A: g$ l0 Q) T i- z9 P: o" ]
5 u7 P' |& `% f6 O4 u! @+ i3 |: s$ Z
pLight = GetLight( "direction" );
* M: U7 p; d& W4 ~
8 A4 l3 B, o' ^
#if __VER >= 15 // __BS_CHANGING_ENVIR
8 d# ?# g& x1 \4 |- r
if( g_pPlayer ){
+ Y, p! ^) z1 Q) p8 k( W
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
* [1 ?( G j/ h- f
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
% W7 e7 \$ D' {
{
# E/ ^# Y9 m3 U. K6 X
if( pLight )
1 ]( F7 x' \& ]1 g
{
% Q+ p2 E3 t' I2 v. L5 S
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
! ]: x* H2 D3 ~+ F+ ?2 F
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
5 M4 e/ h9 c- f5 X: H$ T, B* B. K2 O
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
" X! i o5 ^) [
3 m+ B3 q/ v- D. S% O1 s8 L6 s8 w0 a
pLight->Specular.r = 2.0f;
! y! \; A$ o5 |6 y
pLight->Specular.g = 2.0f;
5 ?5 j; Z R7 A
pLight->Specular.b = 2.0f;
, w2 j; V: J- m" l5 u
. i5 z3 ^3 \. g3 H$ f
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
7 c# K' z. [. W" {3 g
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
7 m1 Y2 a1 p( ~9 j
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
6 I+ U3 U/ H0 J! Z( Z C
9 |, @- M3 [/ z# R; x
HookUpdateLight( pLight );
* o0 v; m# l) p9 }: }- o4 l
) `6 d6 Z j5 ] ~+ N7 O. n1 N9 |; S
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
, X5 \& i; ?7 a
* {" @3 ?" e- S9 Z+ j
pLight->Diffuse.r *= 1.2f;
) `3 f# }, V- W/ c4 f
pLight->Diffuse.g *= 1.2f;
* l. v2 f( v3 A1 g4 l5 j4 K
pLight->Diffuse.b *= 1.2f;
2 j% N& X: Z. e% ]: n% B4 ^" P# r. z
* _1 V& ?" c# n; y
pLight->Ambient.r *= 0.8f;
( ?9 `- r7 e, f6 i
pLight->Ambient.g *= 0.8f;
2 o) x2 h% Y9 g7 H2 i- M ?
pLight->Ambient.b *= 0.8f;
7 X: C7 s1 \$ I: G
: G, x4 n# W" h6 l+ {, G) E
memcpy( &m_light, pLight, sizeof( m_light ) );
3 s* E* W3 w( i) p8 } y6 M
) E1 l* g9 ?- U9 a& F2 t
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
$ Y/ \+ [3 }6 x ^
D3DXVec3Normalize(&(vecSun),&(vecSun));
9 y. E/ c5 X ]" v2 O
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
f4 f' [, X; _& \
pLight->Appear( m_pd3dDevice, TRUE );
5 n/ e5 [. d$ n: m' l. S; V: @) R
% l3 b. ^& D! f O- R& q, v
DWORD dwR, dwG, dwB;
! c! ~$ M- F x% }# v
dwR = (DWORD)( pLight->Ambient.r * 255 );
) q; c: l( S8 t0 y
dwG = (DWORD)( pLight->Ambient.g * 255 );
2 e' {( i) r, d5 c! B; I
dwB = (DWORD)( pLight->Ambient.b * 255 );
6 P1 ?( f6 j! C! f, L
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
5 X/ H5 g. Z5 S, |
}
; e7 `/ n7 H( j, |3 U) \1 C+ |
}
0 I( P3 b' @1 f% s1 d$ o [- L
}
. ?: [/ X/ f8 w& ]
else
5 E" w$ E, M9 Z+ ?
#endif
; Z. |& n; h- ]5 j9 O8 [2 {
( j# D- L! Q% [
if( m_bIsIndoor )
3 d0 b& \2 h# z5 d% L4 i) S4 b
{
2 ?: Y3 F; @* c+ z, W& z6 w' C. k# x
if( pLight )
d5 s% M; m, s' [
{
' k7 g7 F* t4 h4 C' P/ u
// à??μ oˉè*
# @# c0 U, p' J5 M! x% H) `' P
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
1 e6 ^' N8 S G+ M2 g c' L) u
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
. L# U* x- x( M) t; A8 ]6 F8 u; {( g$ b
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
' w! }8 V3 Y) ]/ y3 ^7 [" E
7 \/ ]" v6 ~ P( M' E
// oˉè* ??à?
6 `' S' `. m" F. |7 a
pLight->Specular.r = 1.0f;
4 S! V F5 ~9 V% |
pLight->Specular.g = 1.0f;
4 l: I; C& V0 t F, M
pLight->Specular.b = 1.0f;
- p4 r. p# u7 x
// àü?? oˉè*
+ Y4 {, g, s! W' H6 p
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
) H) i0 [- {5 q" h0 B1 J
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
0 U8 `: ^3 z9 I6 L' ~4 K) c5 U
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
6 o2 _$ M G6 N3 S7 i" G
. }1 {7 Z/ n0 l7 u0 A8 z5 n: v
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
& S& T% d9 r' I
{
5 G1 M9 E/ `5 i& `) l' V/ n4 f3 _
pLight->Diffuse.r *= 0.6f;
7 b9 r8 S6 ~4 g4 ?
pLight->Diffuse.g *= 0.6f;
! W. |7 s6 h/ u+ O/ N
pLight->Diffuse.b *= 0.6f;
0 `7 g+ F: \- c# T
pLight->Ambient.r *= 0.7f;
% V* s; h. ]* F1 q) i
pLight->Ambient.g *= 0.7f;
6 O" b+ W: F/ x, ?
pLight->Ambient.b *= 0.7f;
8 d5 o+ C" D9 F+ t d( S4 O
}
+ x& N2 X) C7 F, g
9 S: {8 i' B5 y6 d; U
#if __VER >= 15 // __BS_CHANGING_ENVIR
. h0 q, n# C4 @" h" `
if( g_pPlayer )
6 y& X. X N# n6 P' l2 m' R
HookUpdateLight( pLight );
; e, o4 p5 y, o$ C6 ~% A
#endif
3 ]% F& n* H* X- |
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
- e& i0 Y1 z' G) B
6 I/ I4 x; j6 {' B4 ^! A
pLight->Diffuse.r += 0.1f;
; e) C4 w& N8 L# M
pLight->Diffuse.g += 0.1f;
2 S" ~1 M! {- V
pLight->Diffuse.b += 0.1f;
1 O! n- _( N; ]! j2 b$ a
// oˉè* ??à?
4 L8 K; F" I+ n" b, T
pLight->Specular.r = 2.0f;
. Y; w9 B& P! S0 [6 t5 x/ |2 ^
pLight->Specular.g = 2.0f;
& \& U; I6 T$ g9 [4 i+ B
pLight->Specular.b = 2.0f;
, \7 O) B- s* j
// á?oˉ
1 k6 O3 n6 q0 a) Y0 k! f, Q
pLight->Ambient.r *= 0.9f;
v* O: I) w8 l' r' n3 H
pLight->Ambient.g *= 0.9f;
. @4 r6 V8 J8 ]0 W! e
pLight->Ambient.b *= 0.9f;
4 y0 \7 l' G/ {' Q: l2 p9 ~
3 V. ~, M# _ m( J: j9 V
memcpy( &m_light, pLight, sizeof( m_light ) );
! ?2 k# _$ ]+ q9 z
' J3 F+ _8 ^$ |! s0 l. n
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
. X, |/ @& N" b* f
pLight->Appear( m_pd3dDevice, TRUE );
2 v; i/ X4 y* a0 m
; ]5 s/ o, V8 v1 h
DWORD dwR, dwG, dwB;
& C2 [" _9 P' [% |% `# R1 I
dwR = (DWORD)( pLight->Ambient.r * 255 );
: j2 y( H* w- J
dwG = (DWORD)( pLight->Ambient.g * 255 );
* Z2 S! c& V' S4 U
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 { b8 e9 r# j3 G
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. t2 B8 X' F1 o) g2 o0 m
}
( m% ?$ `! |" ^& f& R
}
& c. G S7 [+ h7 B* f: T
else
7 Q9 F/ w, X& Q3 A
{
" v/ U0 P6 N7 F3 Z- `- e
if( pLight )
( W$ \) J: Q" i6 w( Y
{
( g( R* j) o4 V1 k6 ^' Y9 C
6 F3 o# D% X1 D* e {$ K/ j) |
int nHour = 8, nMin = 0;
X/ J. z+ e: L" ]4 t
#ifdef __CLIENT
: e) _9 r2 g0 s: k8 A" f7 Q
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
F9 _7 z: b3 S8 v( O2 {% ]
nHour = g_GameTimer.m_nHour;
- F. S7 ]* v! e/ p5 ~" T
nMin = g_GameTimer.m_nMin ;
# v. M1 B3 Q; V+ B$ ~+ d2 {
#else
8 v- E$ L9 u% i1 s! A; d6 G
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
& j! ~* T2 Z' u
if( m_nLightType == 1 )
" [8 y0 e9 O" X/ g7 J) j
nHour = m_nLightHour;
2 H, f( v2 [) \. f' y+ J
#endif
: g( i/ S- A% ]) S3 f& j
nHour--;
m/ m. {4 b! X T4 T6 N1 R, }
if( nHour < 0 ) nHour = 0;
$ z& D A$ M/ B1 P
if( nHour > 23 ) nHour = 23;
3 ]) b' v. d7 o/ H& [+ V% _- Z
; d3 B/ U3 c. Q" |
//if( m_bFixedHour )
; y. x5 R6 \* k0 W, L
// nHour = m_nFixedHour, nMin = 0;
2 \# B0 [/ _7 d h% C6 ?
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
5 ?4 \1 Z, n( n% r/ y
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
9 K1 A- s/ h! a2 @9 ?6 R2 `7 i
4 `+ c I) c4 r
//m_lightColor = lightColorPrv;
# P- S, v1 @! o0 @, f
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
0 d, R' a7 s5 A0 l' b
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
6 S1 x; g h4 C1 I2 Z
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
2 l) V' U+ V+ q9 ]
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
3 i/ |( F$ O e4 P: l
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
# q* C& d: ?- G* q2 w
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
: ]" E& a6 i# u' ?4 S/ M5 }
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
; h( c5 m4 I9 {1 J, s+ s* V
6 z# K6 Q5 K1 X' v9 D% A
// à??μ oˉè*
3 q' d6 w9 _) \: w6 v
pLight->Diffuse.r = lightColorPrv.r1;
. x- S6 B. [! P& ~0 \
pLight->Diffuse.g = lightColorPrv.g1;
9 L, N! N3 o& T7 {8 `9 V
pLight->Diffuse.b = lightColorPrv.b1;
* n' J# h2 Z; J- h; {; w0 ?
// oˉè* ??à?
0 d2 w: Q8 I7 W% Z
pLight->Specular.r = 1.0f;
. k9 f$ h- D$ @
pLight->Specular.g = 1.0f;
0 w, `0 W& e. s9 }
pLight->Specular.b = 1.0f;
+ d# R! l9 V( }* e
// àü?? oˉè*
) B- p2 l9 K, ~# o& O. S( ~" m
pLight->Ambient.r = lightColorPrv.r2;
1 j& Y2 V, C. M2 Y# `
pLight->Ambient.g = lightColorPrv.g2;
* Y8 a$ e; C; V, W; f2 i
pLight->Ambient.b = lightColorPrv.b2;
' {9 R6 v2 ?" i2 T
. f; O3 Y5 o* b7 A/ f
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
7 o. P9 {& _9 C
{
* D; {1 ^( ?9 d$ d; e
pLight->Diffuse.r *= 0.6f;
* t$ g1 Z! Q) {3 X0 P9 v1 t
pLight->Diffuse.g *= 0.6f;
& N5 f- M3 [) ?4 X
pLight->Diffuse.b *= 0.6f;
; N2 P: s9 @/ c( ^; H9 R' O! D
pLight->Ambient.r *= 0.7f;
% A' G* x1 i! r- V
pLight->Ambient.g *= 0.7f;
- a* p# H2 n0 E' I2 g6 A# I
pLight->Ambient.b *= 0.7f;
x( U' f. Z/ a' N, y
}
( _& F- p, r+ j. u' m* ^0 n
# X, X8 |: _: y+ @
#if __VER >= 15 // __BS_CHANGING_ENVIR
) d0 I" q) Y1 K+ j
if( g_pPlayer )
6 }9 u- S, x% D( I
HookUpdateLight( pLight );
/ F) O0 X+ e5 o: I. V$ z( \
#endif
; B, I! X1 Q6 e2 ^3 b( Y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
W1 D* J" e' r+ P1 y7 z# d# s
( V* J7 S2 w% e2 |7 w' \ K
#ifdef __YENV
- _$ h$ i1 d# o
pLight->Diffuse.r *= 1.1f;
% j% z1 h# F2 C0 L
pLight->Diffuse.g *= 1.1f;
- g% K: M Y! m
pLight->Diffuse.b *= 1.1f;
" u( y3 v/ t5 C+ K% I
// oˉè* ??à?
1 o$ W' {' \. P) z$ ?6 ?! Z7 u
pLight->Specular.r = 2.0f;
4 Y, D9 j+ X/ {+ k; f( p, I
pLight->Specular.g = 2.0f;
% I% Q0 }$ a8 i; W& I
pLight->Specular.b = 2.0f;
5 P" g) R0 h& G5 G! ~
// á?oˉ
7 }+ p7 R0 Q1 Q( p
pLight->Ambient.r *= 1.0f;
- [( ~4 G6 U- b e6 q2 D
pLight->Ambient.g *= 1.0f;
0 \4 w9 {, |! n* F; l* G: q: N
pLight->Ambient.b *= 1.0f;
( V! [- x, [' \- v4 m
#else //__YENV
# U) s% ?) i% ?/ z( \$ w
pLight->Diffuse.r *= 1.1f;
( j% J1 h$ D& }
pLight->Diffuse.g *= 1.1f;
' e) ]8 Q3 H w- o. m
pLight->Diffuse.b *= 1.1f;
( u: r( ]6 m% }/ R
// oˉè* ??à?
0 S! g& A$ s% d
pLight->Specular.r = 2.0f;
+ |6 [; T3 d4 m; F9 e( ~
pLight->Specular.g = 2.0f;
1 S7 P& p$ S n3 ^
pLight->Specular.b = 2.0f;
# i( ~# b8 ?# T$ W
// á?oˉ
: Q/ ?0 N' o# |% ^' F% W0 u% v
pLight->Ambient.r *= 0.9f;
# M% ]& {) X5 y
pLight->Ambient.g *= 0.9f;
- ^* A$ g3 |0 v+ V
pLight->Ambient.b *= 0.9f;
" z) A' I1 N1 g4 C$ T. `" |
#endif //__YENV
3 C. |. |* U \( Q5 ^7 u
# |/ g7 ~' @. _4 n+ q8 \5 ]+ T
memcpy( &m_light, pLight, sizeof( m_light ) );
4 d: M( o! P8 W5 J
) X' G1 W. W- ^
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
4 W2 S2 H4 [. V( D& ~: {! _
D3DXMATRIX matTemp;
# p* t0 T4 C! ~# `& u
static const float CONS_VAL = 3.1415926f / 180.f;
$ y" q2 U% ~: ^; Q' P) s& y
" H! @! G( J6 u" y
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
- q* Q% B/ q- J1 V
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
& W4 P" K% D8 z
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
, T- Z0 ^% S1 E/ P1 X
pLight->Appear( m_pd3dDevice, TRUE );
z3 h8 q( ] b5 R2 n
" r: U/ W9 C( v+ f
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
' @$ j8 D' |/ F, g& J
// D3DXVec3Normalize(&(vecSun),&(vecSun));
" x# m. [8 n. D: ^/ B0 v
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
8 u: m4 E( V. f6 M% h' K7 Y; P3 b
6 a9 O7 O8 q/ L( c
DWORD dwR, dwG, dwB;
/ E ^+ I8 j1 z5 ~& q
dwR = (DWORD)( pLight->Ambient.r * 255 );
% `3 M* N/ b& G5 O4 \
dwG = (DWORD)( pLight->Ambient.g * 255 );
5 g# l& p& u, B/ @7 y
dwB = (DWORD)( pLight->Ambient.b * 255 );
3 P1 G9 R3 V( |; S
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: M2 R* R2 m9 R, A* B
}
; B& s0 @" {- e: v9 Y
}
+ Z8 u7 V1 i7 R5 h1 ~% c$ T
& F: ^# \6 z2 m7 O
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
9 s4 c* Q8 z0 e0 Q" b. v8 i
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) );
( b! L9 [/ [" z! p( y6 H# l% U
::SetLight( bLight );
# J& u# ~0 Q9 v0 |9 S
; t& K) X) M$ e4 H* }* K
// ±ao? ?D?í???ó á¤à?
; v' t& v8 k& ^% Z& O
m_pd3dDevice->SetMaterial( &m_baseMaterial );
; X* U2 L7 F( U8 A2 I0 U
9 K+ S$ K1 w2 S: O; @
#endif // not WORLDSERVER
& i V1 _6 J! ^. ]
}
$ z! o) b U. {2 U/ h5 V
并更换
! ] ~3 ]0 M4 I! Q! m1 D! _
Code:
" B0 |& [ }9 Y, M% [" w
__FLYFF_INITPAGE_EXT
) o6 S/ }; j9 c& L
定义
) F, H8 i6 {8 x
$ u' Q+ n6 @3 K% L6 S t1 [7 o* A# D
) Y9 p* w. q d* M7 p0 l; P
: L7 y0 c8 M+ _. w0 s
' i( ?, i3 j1 h! q% F$ m4 Q% F) m
现在终于删除我的狗屁加速...
$ i6 C9 f0 M3 m6 R4 e3 B) v$ {
& I* t- S! Y/ s* q
# z Z+ ]$ t% S& M% I
/ Z8 J% Q5 E9 ]8 u# w- d7 w9 m. B
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2