飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
$ ~" @ V* n" L% g1 U$ i! E
尾翼:
+ [8 C6 g) I; M1 @! h
& U# Y: ~- I3 {6 Z
代码:
, q* P0 w, {* A G! V
CWndAutoFood::CWndAutoFood()
% c7 u& a" D! z3 ?& R# u' `0 Z4 ^. b
{
) V$ f! ~6 h) y9 ]2 M
m_pItemElem = NULL;
# y, @+ @1 m5 L+ {% Q! I
m_pTexture = NULL;
2 t0 ^# K7 m7 j5 I9 o
bStart = FALSE;
E/ p9 J, y1 d3 I, p6 U" a
}
5 [; {: n8 U( g! v9 {
# [! Y* g3 K. j) L
CWndAutoFood::~CWndAutoFood()
7 L& I7 _3 L8 V6 W* r7 w1 u' S
{
! t) R! S4 b3 _) e5 f7 }$ |
AfxMessageBox( "AutoFood ist gestorben
" );
) c3 e* F6 K, C# M0 z- b+ u
}
: o7 I! r3 D; J$ R4 L
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
! n) m C% U Z; v
{
7 ~3 q* Y5 B2 x$ ?8 _
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
: r) M) ? l( j9 S0 q
}
. P; w8 Q2 a6 r& }! Q0 M$ \8 g7 Y
5 ?9 f! ~' O' E+ v1 N' }: X" X+ p& k
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
" @8 U$ @9 f) l
{
0 S1 J/ T: e/ c4 k {
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
" P! p5 ^) y7 s( z
CRect rect = pWndCtrl->rect;
' C; a$ C! C7 b! T, I1 A9 O9 X
if( rect && rect.PtInRect( point ) )
2 O/ @( Y1 p2 P5 u1 C
{
- J# a x6 l7 J' Q0 e2 J1 ^
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
* A5 s9 _9 ?9 l
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
& x4 k/ \- U" I6 V" {
{
4 w+ H: o, Q% o7 {
if( m_pItemElem )
/ X9 i9 I1 Z3 L& ~. q4 R
{
* ~: R) q1 B: r1 Z3 g$ `- [
m_pItemElem = NULL;
. Q( g3 E% i+ t* t5 S, b9 l8 S7 Z
}
# N+ k2 _* D5 ^0 _- n
m_pItemElem = pItemElem;
' _1 \) P4 v) L8 K% h! z3 H
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
$ b5 E0 q# `9 F6 y
}else{
' j" B* \( F: a! |; m! u! c
SetForbid( TRUE );
' h6 j! O y( T
}
& G$ v8 \- K) ]1 B, ]
}else{
# y ~9 p! A' v! V! K
SetForbid( TRUE );
8 |* Q/ o8 T% l+ O! X, n& J# r
}
+ _- J+ x" e- y
return TRUE;
3 K( o8 w) R j _+ n* T* y
}
. t( h& m D+ E& {4 I
: Z% P5 c1 W% q2 |
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
3 l; `( \! s- i( \4 w# t
{
# x* Z3 b l# U! V
switch( nID )
F/ h4 {8 }+ C" L `9 q9 @
{
" h: H# R6 j* z
case WIDC_BUTTON3:
$ ^1 A- O/ ^/ ^+ D. S& ^
{
4 s4 a. j5 Y6 U! _! b: ?& v" i9 f9 n
bStart = TRUE;
, t' E! w4 h; {3 {! b* s9 m
break;
) e% @$ r7 ]8 b' i9 W
}
0 C/ U" O) ~8 I1 N* }
case WIDC_BUTTON4:
3 p9 C K/ G$ k5 r7 ?6 v6 q0 ?# @
{
f( @9 y3 c$ l$ y0 A
bStart = FALSE;
# ?9 |7 v, ~3 P/ c5 g: @* M
break;
1 C' c& K$ h! R; X8 J/ L/ n) ^
}
0 I8 g' G* K1 x- A" ^" P# a' i
}
3 H! u& g# I$ H3 V0 ?3 ]
return CWndNeuz::OnChildNotify( message, nID, pLResult );
: b+ ]7 M1 K1 v1 ~
}
9 E# I# D5 ]3 g7 h
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
. X! b* P+ w' v( ]% m
{
. L7 y% J% G0 X, A2 p% ]: E
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
) P" c1 S7 ?' v3 n% S$ G
if( bStart || !m_pItemElem )
- E: R! w% l; z3 y z/ E: b7 S
{
& S: Z1 x: u% z/ ^: i
pBtn->EnableWindow( FALSE );
% n' M1 v* R; u; t8 q& n
}else
! f- c" }& k' M
pBtn->EnableWindow( TRUE );
/ X2 z8 d `$ d# Z6 m9 f' C. z, q
if( m_pTexture )
% y d3 j0 a# s; w7 `
{
2 g6 w3 A6 M! d- |$ {
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
, P+ |+ ?- Q1 W( @* a' ~
if( wndCtrl && wndCtrl->rect )
# ?$ U2 ^- L3 Q9 k2 M' g" ~
{
4 m8 ~3 e/ \2 z& e' u
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
( p. C4 \; X8 r3 }3 m$ D
}
2 b: |( a0 C+ E; R3 L$ n: l5 T
}
* C% b# g5 t! X% S' D; {" q
}
7 v9 P! z6 g. i9 J) |6 g; B6 ~, o
+ t' |6 U" m1 Z! i0 o" r/ t+ `
BOOL CWndAutoFood:
rocess()
* [5 U1 l- u* D; v/ B
{
& x! b* i) B# t$ A
if( bStart )
, F* B, e1 r( o1 ~
{
/ t- v4 x. ~3 P# z! d: x4 @: @
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
9 }3 A3 {) U6 e ^! J
{
6 r+ s) U$ K" c: G+ @6 B- a- G4 a
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
& K# D. n$ p% x% E/ g) ~
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
# d* e; t' S/ P2 Y
}else{
3 A( G5 a: _* e0 f) ~
bStart = FALSE;
. X% z* M6 F: R# F' O
m_pItemElem = NULL;
" b- f& `+ k8 G t
}
$ X$ ~: l) c/ h C5 M
}
: h1 e1 ^1 [/ Q5 r8 U
return TRUE;
( H6 I0 j0 |4 H. v( h' b
}
8 d4 e( r T6 x8 y+ H( S5 }) g
- d7 N3 w6 h" r, |
登录视频废话:
- ^/ |& n3 ~( e* ]; J9 _
尾翼:
8 Y- _" X! f; l/ s' @' @! V% L- f
* V( ^% M2 k/ } H: U4 r4 Q" K* _
代码:
- o% F) `( F! Y) u9 \ H
, a! } h& R; c) r
void CWorld::SetLight( BOOL bLight )
O9 l% U) `% Q; p( v
durch
8 g5 {/ c# L7 p7 x9 c. u
Code:
. T0 x' z; T0 V$ k$ j. ~
void CWorld::SetLight( BOOL bLight )
9 q& ?8 N" ^# |( e9 m. J8 |) y
{
, c. x. d# r/ w3 t& D
//ACE("SetLight %d \n", bLight);
$ S+ y3 q% U0 ?# v5 `
. `. v9 R. y; M2 r# C6 X9 m
#ifndef __WORLDSERVER
6 \" E5 }+ A0 x8 B& R
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
/ u$ d! O9 x6 q
CLight* pLight = NULL;
0 J! r- { \1 [; n4 Z
) ]3 ?4 }; R) r' r
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
1 k/ D$ m8 B4 X+ i
; t) P6 C& D p6 X
pLight = GetLight( "direction" );
: L5 k% `2 D: U9 w8 V c3 X' L
$ o) U6 i$ P7 W( f E( k- I9 \
#if __VER >= 15 // __BS_CHANGING_ENVIR
5 A$ E) m' m1 }5 ^0 x. W% ^4 p: A/ a
if( g_pPlayer ){
& n I! u, r" k# _8 h: G$ J, G
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
9 T8 w. G: W, b9 F2 e
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
7 K/ F4 E+ L, `+ R9 w/ k
{
% D& a+ J& M0 n( w2 R, g3 {
if( pLight )
; L+ F& f1 {1 ?- p! K/ l, F2 |3 x
{
1 P1 s6 }& u6 d- v8 D# N1 r0 r
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
# h( K5 N! ?) E" ~/ q( p. F
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
& H' H+ q/ N& D! T; r
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
, d2 B1 z! J* @# ~
3 M7 T& t2 }/ B2 E7 j" q/ h
pLight->Specular.r = 2.0f;
) T( Y6 n$ \( W4 b8 o3 a6 e* k
pLight->Specular.g = 2.0f;
$ Z/ O% y9 g$ |3 k5 C
pLight->Specular.b = 2.0f;
1 }# G0 k/ g# X# R6 c3 b
( \) i2 e* G3 d7 \3 P6 t
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
2 M; @/ n8 u+ c
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
* Y4 `) I7 s& R- d/ X
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
. t T: k2 U5 {
# n2 s1 F% @2 b& a# J$ I% l
HookUpdateLight( pLight );
% h2 Z1 }2 o; D, ^1 r
$ ?& m1 y p7 B7 ^
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
! d- H' \ M7 F
0 t, v- I( A: _8 {9 j' z+ U+ M
pLight->Diffuse.r *= 1.2f;
: W/ a0 i4 B3 x9 ~! ^6 {: Z" a
pLight->Diffuse.g *= 1.2f;
# ^5 Q9 A2 V1 G" ^ V* ^# q1 u: ]* `$ ]
pLight->Diffuse.b *= 1.2f;
* G0 e1 [% d6 g8 X# t, f- V
* h4 S/ o0 V) C* c* E6 R
pLight->Ambient.r *= 0.8f;
( u: ?# o# B9 U4 t( I* s. e
pLight->Ambient.g *= 0.8f;
% E) i' b! k& `- r$ l7 J7 h
pLight->Ambient.b *= 0.8f;
: x2 r/ B! t/ t1 ~9 {% o7 w( [& @2 R
8 K9 P+ B- d( r
memcpy( &m_light, pLight, sizeof( m_light ) );
' V; x" _: i4 G ` K' k: K* _: D
}0 @2 x% K" z& [
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
. s8 A; O) G) U/ f$ @. K
D3DXVec3Normalize(&(vecSun),&(vecSun));
# d ~9 g; i, I. P+ J0 {
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
( B) |8 @7 l# x
pLight->Appear( m_pd3dDevice, TRUE );
- l+ R4 |0 E V! d. E2 O% n9 u
1 D( b" l* q+ z- g" H% z% ]3 g
DWORD dwR, dwG, dwB;
1 o4 x9 o2 c$ l) q% ?: ^
dwR = (DWORD)( pLight->Ambient.r * 255 );
1 S) c! \5 k) R, o
dwG = (DWORD)( pLight->Ambient.g * 255 );
- b' Z& i' k5 K" T7 I. g$ G- _
dwB = (DWORD)( pLight->Ambient.b * 255 );
( c8 [6 e3 k$ m9 C
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; Y1 X4 C6 o# v" e6 m
}
9 x3 V- {+ o8 w, ?# F! l* s/ _
}
/ x% ]" \) {/ F! {+ Q; i: s' Y
}
1 U( y" k% Z9 p% N/ m _( r
else
' j1 B( @* A& ~9 L* _
#endif
^/ u [ Z# u( Y5 B
( G6 M+ q! W8 ?3 s
if( m_bIsIndoor )
- ~0 M+ ~( W2 `0 x
{
0 }9 O+ O* D! t# ?- [& M
if( pLight )
0 h. K& \6 G. N; t0 n: V
{
( `! X, O" ^/ F& _1 G: ^
// à??μ oˉè*
' O$ r' F! s: R9 W" c1 Z. |
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
- D2 U. `5 Y. o( f! t
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
N7 @. W* k2 A$ }; v
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
. g1 W, {# _8 w% g* y4 o) Z/ ]( L
) T! W# D* f+ N
// oˉè* ??à?
* Z+ J q4 c3 i* A# N' R
pLight->Specular.r = 1.0f;
: {$ q# T4 |) @( o) R: w" C' i7 _* _
pLight->Specular.g = 1.0f;
2 t/ e. e9 [: g: W1 t' i
pLight->Specular.b = 1.0f;
8 `8 G6 n) a5 p- U0 v! X
// àü?? oˉè*
' |" y" L. ^8 m, }& F! _5 l4 F
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
/ X# k& Z4 _0 s, K I6 U( L
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
, S6 c; v; d: Z4 l! m2 [
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
1 ]- J. W1 x1 B. l
7 x. Q! W2 Q* V; L8 Y- G
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
1 x1 l% n5 ?0 F- q, u, P; w
{
7 N$ p" H a, M7 ]0 q* R0 h' V* J- O
pLight->Diffuse.r *= 0.6f;
( s+ k- G( R: l5 @7 R: w' V5 G1 G
pLight->Diffuse.g *= 0.6f;
) ^$ ^! B6 l# {* }1 R8 V$ E) L
pLight->Diffuse.b *= 0.6f;
/ J) O2 M7 O k$ O$ R6 M* @
pLight->Ambient.r *= 0.7f;
9 {' ?/ h0 o7 W) o
pLight->Ambient.g *= 0.7f;
& G6 Y N& L5 n, J
pLight->Ambient.b *= 0.7f;
4 k& q- j% m2 m6 C
}
, ]6 G5 j3 Q: b+ N
+ W$ G r2 E. a6 G3 W7 y. v2 k$ k
#if __VER >= 15 // __BS_CHANGING_ENVIR
) u5 A# n7 |9 e' B4 q
if( g_pPlayer )
/ Y( n/ f5 ]/ `% E
HookUpdateLight( pLight );
9 M- o1 x B5 t
#endif
0 o) n/ D" e/ W# r! Y9 N
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
' G; w8 }& D& Z) l& y
; U: i3 c& a9 G' c
pLight->Diffuse.r += 0.1f;
3 o" B4 R' k- @% e6 X
pLight->Diffuse.g += 0.1f;
: Z5 r+ ]- n; x6 P
pLight->Diffuse.b += 0.1f;
# ]7 J+ }6 A2 U, j, z9 G
// oˉè* ??à?
3 {( ~) j9 z8 I1 E
pLight->Specular.r = 2.0f;
6 m2 M4 T9 R" C1 m. S
pLight->Specular.g = 2.0f;
! Q% [7 a- p6 S; _ i5 N% _
pLight->Specular.b = 2.0f;
, E8 Y6 O6 q! n# G+ s
// á?oˉ
! O. e2 { E8 R' i; j9 m
pLight->Ambient.r *= 0.9f;
3 [# e8 Q8 Q! T1 G" s
pLight->Ambient.g *= 0.9f;
; T7 L9 y$ {/ e
pLight->Ambient.b *= 0.9f;
5 u1 D3 L) ^4 |1 S5 H
$ K% P) n4 ?( B# p/ F! F3 W
memcpy( &m_light, pLight, sizeof( m_light ) );
* Z; ^/ }8 o5 m! k6 z3 h
4 d$ ~$ r# D) R6 @/ q1 ~
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
) Q P& A# {* x: H% T E5 U9 g" ]* A
pLight->Appear( m_pd3dDevice, TRUE );
' a+ o/ B) H3 D$ b
' R0 C( a( d: s7 H6 j# Z; M
DWORD dwR, dwG, dwB;
, @' b# {% c1 T# D; Y* }
dwR = (DWORD)( pLight->Ambient.r * 255 );
; E0 [& Z9 @" i
dwG = (DWORD)( pLight->Ambient.g * 255 );
& K9 y- z1 t+ z8 A: |
dwB = (DWORD)( pLight->Ambient.b * 255 );
) I4 ~9 y2 d! q$ e4 R
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 B- p3 s& n2 a B; ]* S
}
- l8 i) q$ J3 r$ c5 [" r( _8 W$ P
}
' p# d+ f% A7 Z% w; T
else
, Y8 G: E+ ^4 S& k
{
5 O! O9 T8 _$ h- ^' Q
if( pLight )
) p) c( o" ?" R( H/ Y) Y! Z
{
~9 C9 p7 t+ A: B& D1 q2 h. y% k
0 N' h Z! K7 F; {
int nHour = 8, nMin = 0;
0 h2 q! Y- v' v- ?( ]
#ifdef __CLIENT
" ~. R0 D3 ~! h% Q" W
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
1 W* F/ N, Z7 X8 r& P
nHour = g_GameTimer.m_nHour;
3 C/ k4 _7 K& |+ S- q4 `
nMin = g_GameTimer.m_nMin ;
/ k' I1 \. `/ I; Q
#else
) Y1 v3 i1 Q' ?" z
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
: D6 ~% u9 {+ O3 i2 p
if( m_nLightType == 1 )
, J! Y( I2 L0 Q5 t! e0 y& W! _
nHour = m_nLightHour;
' m, w# ^& P7 |9 a- c5 h$ j
#endif
" J' U) z |. T h5 s4 J8 R
nHour--;
Y, v9 B5 a" f& G
if( nHour < 0 ) nHour = 0;
K" ]: p$ w( i8 z1 y4 N4 y
if( nHour > 23 ) nHour = 23;
' l2 o, ?3 z9 i+ c) C
% F5 n" w8 I* r# w7 B# {0 p5 s
//if( m_bFixedHour )
# ]3 N) f1 A$ G" H2 D8 `5 @% }
// nHour = m_nFixedHour, nMin = 0;
4 v7 y2 I2 L% Y1 V0 [; g
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
/ O6 P4 [) b( H) ~! C# `# ]
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
; l% V4 {1 E# E$ z+ K
3 l8 o3 Q8 G9 W1 |$ B& m8 {9 k
//m_lightColor = lightColorPrv;
# A8 Z; }. T. H E
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
/ h0 M3 h2 q& j2 y' ^
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
+ p8 A' g0 A& h K6 R
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
; R6 _3 K' _& r% b( j
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
- }; C% q; @% d& H
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
; P5 S' u* D7 @$ _$ N
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
$ x- G) J- d0 x% a+ B8 K& t8 _
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
/ ~, ~' P" N- H# p4 C
2 R; W/ L7 w4 ]& L& P7 t. [
// à??μ oˉè*
8 e( J! c; r, K* h. X7 m
pLight->Diffuse.r = lightColorPrv.r1;
! r$ A$ {5 m4 w+ O) ~+ q3 e
pLight->Diffuse.g = lightColorPrv.g1;
* _7 q+ e; M3 P
pLight->Diffuse.b = lightColorPrv.b1;
8 o1 q5 I* u6 \' Q
// oˉè* ??à?
3 ~8 P" J3 z9 W$ C. Z3 q p
pLight->Specular.r = 1.0f;
9 g, x4 s3 u: t
pLight->Specular.g = 1.0f;
+ e9 E! m$ P5 `
pLight->Specular.b = 1.0f;
+ h7 \9 k* C) E" J1 k
// àü?? oˉè*
* P) E2 O% h3 L% M" N4 [) d9 P2 v3 G
pLight->Ambient.r = lightColorPrv.r2;
) X7 |: a3 R9 k4 D3 Y: ~
pLight->Ambient.g = lightColorPrv.g2;
/ f2 R1 s h5 A6 R6 \
pLight->Ambient.b = lightColorPrv.b2;
9 R" | Y$ _: X9 S: n$ B- n
- j: ?* w5 l9 w/ ~" G( f
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
$ m& _2 h/ _9 k/ Q: t
{
, l j8 e4 H2 U6 v( Q8 z
pLight->Diffuse.r *= 0.6f;
/ o) D% n) d3 G/ G. v
pLight->Diffuse.g *= 0.6f;
$ S+ W z; C5 h8 G
pLight->Diffuse.b *= 0.6f;
9 m- o9 U7 i8 F9 J/ l' h
pLight->Ambient.r *= 0.7f;
1 Y0 D6 S& j4 E" l' ~
pLight->Ambient.g *= 0.7f;
# L& E5 t8 }/ ]! h$ _! \' X
pLight->Ambient.b *= 0.7f;
1 C4 q6 Q1 G# b
}
' y( V1 T- h8 h& `( q- W: b
# ?: v5 l& e, D0 a0 C! [
#if __VER >= 15 // __BS_CHANGING_ENVIR
( A: O; L0 u' h% D& ^" W
if( g_pPlayer )
* K7 M6 L* T" n' q
HookUpdateLight( pLight );
# T \4 _1 W4 I9 L" c
#endif
' Z1 z) n% k6 T5 e- x5 ~ \# e
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
* r! U& m/ |- v+ ?8 C6 I1 j/ y/ W
8 A# k {9 K% P2 t, b' S/ ?
#ifdef __YENV
6 P5 M _0 C% W% \9 Y6 G$ B; o. t
pLight->Diffuse.r *= 1.1f;
$ r4 f; c/ @; p D9 H" M6 _
pLight->Diffuse.g *= 1.1f;
; E! t T! h4 Z' u: D" o% B( N$ ~
pLight->Diffuse.b *= 1.1f;
% T1 {6 V T- Y k# x/ @
// oˉè* ??à?
5 ^9 b# G1 i' I, W( H% n
pLight->Specular.r = 2.0f;
3 l1 q' Y7 D& M1 _& U6 b
pLight->Specular.g = 2.0f;
2 z+ x' k1 r7 f; M' F& {8 l* p$ k7 B
pLight->Specular.b = 2.0f;
4 q6 l2 f6 P$ M& e Q. l- _" F; s
// á?oˉ
' v2 g( G! k/ \0 h& W
pLight->Ambient.r *= 1.0f;
* E+ v. C* h" D8 u& n9 ?) u* l
pLight->Ambient.g *= 1.0f;
. S5 R: d8 f3 w
pLight->Ambient.b *= 1.0f;
# N$ I) O7 o5 z; M% z D9 D
#else //__YENV
7 W5 J- [- J; q# b) y( G' {
pLight->Diffuse.r *= 1.1f;
" ^& ~. p$ s8 {9 J7 K
pLight->Diffuse.g *= 1.1f;
5 D8 y7 \$ Y6 f
pLight->Diffuse.b *= 1.1f;
1 E8 J' o6 H, N3 D9 ~1 ?6 ^( t. x
// oˉè* ??à?
" z4 j" i J& e" j
pLight->Specular.r = 2.0f;
. N$ E% e% `8 A( T. @7 ~( T7 c8 J
pLight->Specular.g = 2.0f;
' \, X0 S E6 O+ O) {
pLight->Specular.b = 2.0f;
) y5 l# K- f) v7 P4 ?5 t
// á?oˉ
8 o% h& k, v; A: O4 O
pLight->Ambient.r *= 0.9f;
; u$ R% C" v/ I* t) ]
pLight->Ambient.g *= 0.9f;
: O, a* }4 N' e
pLight->Ambient.b *= 0.9f;
. g0 l" ]& L h$ Y6 x9 o, I
#endif //__YENV
[+ Y! v; ?. G" O; X
# }- Y4 \3 ]3 o: B
memcpy( &m_light, pLight, sizeof( m_light ) );
% t; M7 T+ c* z8 s+ y0 v7 Q; o$ n
$ N7 i; }. W( g& W9 P" ?' p
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
% s) _* C7 \+ Z- c4 h- ?* b2 m
D3DXMATRIX matTemp;
$ C8 \0 E, T7 G9 h1 `0 o7 E8 D
static const float CONS_VAL = 3.1415926f / 180.f;
3 ~. i4 C; U6 S1 k
6 U" P4 F, R* _+ e5 x7 q
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
D7 @ ?9 @ z( e
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
. k+ b, q: Y h
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
b( d: U# d9 P( d; p
pLight->Appear( m_pd3dDevice, TRUE );
6 a: ?) ~; i# L- C- a
: M/ v+ Y5 e, @! I
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
0 m5 l8 t3 n9 L* ~7 K
// D3DXVec3Normalize(&(vecSun),&(vecSun));
+ Q+ u( w/ L" z- e+ h$ r
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
! [: j. r- `. _3 H: @
5 v$ }6 }, l0 t; [
DWORD dwR, dwG, dwB;
r3 O6 D$ K& z8 Z
dwR = (DWORD)( pLight->Ambient.r * 255 );
) Y# b2 a7 H7 T5 o2 [
dwG = (DWORD)( pLight->Ambient.g * 255 );
3 |( B r- |- ^4 T, {1 f
dwB = (DWORD)( pLight->Ambient.b * 255 );
6 ^& T$ W& b5 r7 i) R
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% B& K' x" D5 ~2 |. \
}
6 P) p4 Z! \8 P# U8 h' G( [" f
}
" X5 `$ i% @* X) z r! o, `2 z- P& e
' F4 g& K, P9 k- c3 \" O4 u9 w0 o
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
# R. i- X( K- R8 c# f9 M7 ?
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) );
6 i$ U% a7 \0 X M- C
::SetLight( bLight );
8 {6 U8 G* D. x0 F R
2 d& c& Z+ A+ j+ i- }- B! J
// ±ao? ?D?í???ó á¤à?
+ q9 f. M+ Q2 z8 n" G
m_pd3dDevice->SetMaterial( &m_baseMaterial );
6 d @. V" w0 w" X
$ Q9 U( I3 s% V8 I% O
#endif // not WORLDSERVER
^: _) P3 l) l) Z1 y' [
}
+ c+ q: H. m; d) I' U' W
并更换
) K& g# U. J9 W/ j5 `
Code:
& J- k. q; r: [
__FLYFF_INITPAGE_EXT
3 I! B0 U3 {0 V n8 ? F; g
定义
3 `3 W, ^! l7 l$ |+ y
4 U9 @7 N4 t" r& _! F' S; `0 t1 R
9 m3 H, S/ w. C/ o' _. u
+ |( v- A9 s6 A2 ]
2 s/ ~" R3 `) s' l0 U: t% y
现在终于删除我的狗屁加速...
( G) u* W9 Q! S: B
; E$ ^! c; \' r7 g
& j! f4 A: Z; R# I8 U: G
7 \; i" Y8 T' _6 j: n- S" {% N6 m
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2