飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
# J( V0 T. z4 s7 Q
尾翼:
# T, i: c- s: d9 r/ L
. j. R0 v- I0 r7 O
代码:
2 N- ?% @- a% s+ U" {
CWndAutoFood::CWndAutoFood()
% k" z: N5 [- S" s
{
W$ _( t' v0 V5 f/ i
m_pItemElem = NULL;
& n& s; I1 v' o7 w, p
m_pTexture = NULL;
) m: @4 `9 T0 R. f
bStart = FALSE;
- x6 T- i z4 h2 _; O
}
/ d0 c& }- |) x8 Q5 i& I* o: X+ O
1 h1 w5 X) x" S
CWndAutoFood::~CWndAutoFood()
8 k+ A$ K2 _4 Q& h/ C: U& C
{
+ c' f( I% C) u# g* m
AfxMessageBox( "AutoFood ist gestorben
" );
6 x1 A* q2 R. c3 d: y3 d' n0 p! Z% ~
}
, m5 N! [" _8 c" s K/ r9 i2 x3 W; r
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
4 [' F* G" a1 H
{
; s3 u( y& y( L# R
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
% _! }$ }& ]) ~, ~" X- l) o& n
}
, c( X. \' o2 H) y+ \ ^2 u7 k5 o
9 N5 K$ ^9 R! {) {6 Q! [, _
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
N& \+ `, t4 Y& K! b# `4 w/ r1 C
{
% B! _5 E2 g$ _* ~3 x3 ?% V
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
( K% v# |2 K1 o6 a) F9 M; w
CRect rect = pWndCtrl->rect;
: i) I8 v3 _' R" i2 x r2 F1 D: M
if( rect && rect.PtInRect( point ) )
& f0 q+ z. w, e5 `8 M" X
{
/ D) e i4 I+ ~
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
8 b% A0 [4 p, ^5 ^# n- B: v; h
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
# A) i9 b% P H' V+ N% A7 u
{
" ~0 h6 v) C; Z, u3 Q$ l" x6 D
if( m_pItemElem )
2 t! B6 O. I0 m# @6 _
{
' b. U8 f. v" U2 b9 W
m_pItemElem = NULL;
l1 S, m8 X2 Q+ o. c
}
( A8 U2 l U8 d1 A. n) f. Y
m_pItemElem = pItemElem;
. ^ I o% ~& m- i. z( l
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
/ O$ a2 p+ S0 O) X4 o
}else{
! c1 R1 L. \5 s5 s6 e
SetForbid( TRUE );
3 d. w) |* q$ W6 Q
}
, a! D% q& c: ]9 j5 W2 b! d
}else{
- K; K# r4 Q' E) v' d( P
SetForbid( TRUE );
6 i* c! ~- d# o; d1 w
}
8 ^5 s& d& X0 p/ z: M3 ?/ ?% Y/ d
return TRUE;
9 l3 J7 w8 ^# O& ~ g/ @( w' s
}
5 E- P7 D2 T! h) S
/ A8 P# J, X3 S! B6 i. r9 M
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
7 a C6 l+ P/ D! C
{
4 m# G0 b2 T2 E! M
switch( nID )
( a8 I+ _* x- z) ]9 ?
{
1 m$ d5 S7 c! w; Y( w. q: W; U- ]' K! z' R
case WIDC_BUTTON3:
1 k! [- e& C3 c2 A v Y
{
3 l" x+ |; i+ k# [3 X
bStart = TRUE;
0 b3 i6 Y- Y$ I
break;
% Y: `/ E4 S. F! X1 \8 x
}
2 r4 Z0 L @1 G/ m9 ^1 H2 p
case WIDC_BUTTON4:
/ }6 D5 f% F7 S
{
5 m. x2 g9 F6 k, X) ^& g
bStart = FALSE;
/ Z! [1 X1 A2 m% e# @4 R
break;
5 n9 e! N C5 W- _9 [
}
) l+ z \4 K% b/ h/ |
}
$ a7 w+ q' v6 K6 S% l5 O
return CWndNeuz::OnChildNotify( message, nID, pLResult );
& H# }) q, F$ d) U* k" K
}
$ [% K; x( b' I+ p# _) v/ p
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
# o3 b" |9 p$ U5 Z" A
{
! X( R2 \5 @/ E" H7 |& @
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
" o7 o; M! I6 w+ h* \# F
if( bStart || !m_pItemElem )
8 Y6 Y3 o3 k; }, _ i* U- C5 z
{
" Y- V+ u- z \0 V5 D% J1 I
pBtn->EnableWindow( FALSE );
; c2 d$ y( R9 X) M% h
}else
8 z# ~" f+ } A4 J/ w* N1 e* Y
pBtn->EnableWindow( TRUE );
5 z# ^0 N7 L9 V1 B
if( m_pTexture )
/ W4 l- Z1 b { v( n0 E( v3 V6 J5 a
{
4 X( a: ~1 A, v( B% s
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
8 h3 F$ {' t) v
if( wndCtrl && wndCtrl->rect )
6 ^' B( s8 ~) }* w4 J' z
{
/ N2 f7 K- e4 V; S
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
7 _, M1 |2 E9 R8 N2 X5 \
}
! T7 I9 B r" k( [+ U' c( i
}
) d/ \+ ~, O, F9 P5 Z z
}
2 {6 `3 a" T/ L
2 B. i1 M$ C3 Z$ c% k2 d% j
BOOL CWndAutoFood:
rocess()
* ~- b% C. w' j- e* Z# ]# Q
{
- Y. C3 U3 w% i! ?
if( bStart )
' P3 |! n% T8 c" \& J. P
{
5 u! b, @7 z. h9 Z8 i8 \
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
; a X2 u0 T4 g4 a5 {: q
{
' e- l2 s8 `9 S
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
. {5 _0 Z k, M1 F8 N
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
" R% ?0 y! d2 s
}else{
9 z$ p( o8 Z0 z% s3 Q' C
bStart = FALSE;
8 L& f# O# x% q b
m_pItemElem = NULL;
% d5 p, p z6 a
}
% Q+ `" y# |4 l7 m R+ v
}
, V# V* b9 @7 [0 _5 D+ ]
return TRUE;
- m( i- L" }# X
}
6 O* G; x+ i' E8 j" \. r
7 H/ C: B* C8 T" |5 a N; n% M
登录视频废话:
) r1 N% T, i, b8 \# O
尾翼:
' F! @$ B9 @: ^1 `! f2 s+ d$ h
; z, g/ k7 E% i8 N T
代码:
: ^) X0 A2 o! ]1 i# F# u2 h
, |5 g/ ]3 P- \! f" q0 q
void CWorld::SetLight( BOOL bLight )
- w* A/ d; S7 i3 {7 _
durch
4 k. n: w" z% ]& t6 o
Code:
& @# g' d: N; X0 G2 |, i
void CWorld::SetLight( BOOL bLight )
. ` }2 L& L3 J. j# r1 o o
{
9 X$ P% I P8 [) x& s' r$ s0 b
//ACE("SetLight %d \n", bLight);
& S+ z, \# A/ X9 P% \
+ E# q2 i9 K! f, } @/ D ^% U& Z2 l1 {
#ifndef __WORLDSERVER
1 D6 W4 v0 ]; F+ i/ K" t4 }
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
8 I3 [2 j6 O9 L( P0 N
CLight* pLight = NULL;
2 b: i9 n7 G9 i" L' H
& f I6 s# U5 E2 ^6 t2 \ G
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
" n/ i& R' I' G
1 ^: r1 A- N$ r$ Q
pLight = GetLight( "direction" );
# A" T5 j/ r* X5 |( E4 T7 P
; @' E i S9 ^9 R, I: }
#if __VER >= 15 // __BS_CHANGING_ENVIR
1 F( H0 h2 a5 f& l( @
if( g_pPlayer ){
; }2 G4 Q3 V7 W9 C
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
! G' S/ D' h! d+ S& F( r6 x
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
0 a* }6 t# p: v
{
$ c7 |4 G1 L3 m1 @* `) n
if( pLight )
2 \- k3 Z. T& A: x
{
9 I! [/ D2 H- V9 v2 O
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
& X! d7 F5 @% P b4 ~9 Q. h P" d
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
& w. t: @+ w' T) X( i
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
4 }: ] T( i' r3 r3 G9 N2 i- B
, t. m) i3 V5 K y3 C$ u+ ]$ O
pLight->Specular.r = 2.0f;
" Z! T+ u, \( t/ e
pLight->Specular.g = 2.0f;
1 ?! F: {" E% @
pLight->Specular.b = 2.0f;
$ L* s; h. K. [+ H, v1 |
) Q2 T+ I6 E" n/ ? @
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
/ b# Q( I% b$ D. O/ v# p
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
/ K( X; h1 R- ? [8 B4 `
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
, s. t2 I; k0 R2 D' k' u
% c9 d4 u: k) Y/ x% i4 L
HookUpdateLight( pLight );
$ t# [/ x' U' V2 v X) s
1 z" N5 w9 Y2 m/ W
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( O. N( M9 h. O' v* G: z3 I
! m3 D* u: I5 H7 w
pLight->Diffuse.r *= 1.2f;
; R$ t2 \& l7 ~8 k. B
pLight->Diffuse.g *= 1.2f;
/ r/ S& ^* l4 \! X& ~
pLight->Diffuse.b *= 1.2f;
- P; P$ t7 ?/ L" D8 _5 M
8 Q$ M5 b& F( ?2 z
pLight->Ambient.r *= 0.8f;
5 T- G6 t4 K- ?/ x! J* l
pLight->Ambient.g *= 0.8f;
& `. F" w" A) W6 Y
pLight->Ambient.b *= 0.8f;
2 v9 v2 {) q8 [2 k3 u6 \
3 n, c! _% K% U0 S
memcpy( &m_light, pLight, sizeof( m_light ) );
. o) J# s$ q9 _3 k# s& X
0 }7 B) Y {* T( C4 v( m
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
; Y! m( w* K5 S+ I
D3DXVec3Normalize(&(vecSun),&(vecSun));
$ h" l2 y2 N; q& e
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
: M$ D0 O; v+ }
pLight->Appear( m_pd3dDevice, TRUE );
( g# y: _2 `- z1 [* }; ~1 x9 _; s
5 l$ g- d* ^& z; K% k- x
DWORD dwR, dwG, dwB;
" k: C3 T X4 B
dwR = (DWORD)( pLight->Ambient.r * 255 );
' B- p: Q7 H% M% H
dwG = (DWORD)( pLight->Ambient.g * 255 );
7 K/ t. G( G( `$ { ~
dwB = (DWORD)( pLight->Ambient.b * 255 );
3 C, K5 R& u. T6 K# a& b
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" _- U, { z+ h$ V
}
r+ U% m" U. G
}
; @. T6 E0 w5 @0 T' {" b
}
5 _2 @3 C3 G/ M3 A- b' i' G6 p: r
else
% F$ V* w! }; t% `
#endif
. _# m7 G* {$ A* b" Q1 N
* O: I& Y% {6 L/ p
if( m_bIsIndoor )
' v* x4 }* w6 \" ]( d9 h9 q
{
8 ^) @* D. {, a: p3 l; J
if( pLight )
, n0 N: Q" x1 A4 f+ }9 S t2 y
{
, V6 [! X! \5 P
// à??μ oˉè*
% Q+ E" h" d" y5 J, O; N
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
4 n' z( @% \1 d6 P5 m. O% k
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
2 z5 M2 e" A% Y+ L6 R) \4 j8 q1 k
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
& E2 ^) o! x$ }! m5 a5 E
6 |9 j8 e; C$ t: Y. f' ?
// oˉè* ??à?
& D- o& \% z5 V; @
pLight->Specular.r = 1.0f;
/ O+ @) K+ `2 G. I( V
pLight->Specular.g = 1.0f;
, X- n. P$ m. ~9 w5 e) s
pLight->Specular.b = 1.0f;
8 O* u+ i4 S4 b% B2 M" ?
// àü?? oˉè*
l3 n' o: G9 h$ V
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
6 f' e. w5 ~' l9 i* U
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
: k' g3 r1 Y9 |' q
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
1 l, r/ M! H$ |* s# `! k. ^2 n
* _0 W5 q/ v9 c, m0 i* [
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
' ~; ^0 {( I' f" C v
{
8 r5 G( v8 z$ w6 z
pLight->Diffuse.r *= 0.6f;
; y* h# s8 g& g" n2 `! f5 w6 }7 r
pLight->Diffuse.g *= 0.6f;
& c* ^8 W" v6 N) c4 S) K
pLight->Diffuse.b *= 0.6f;
) e ?4 g) q( O* V% D- K- h
pLight->Ambient.r *= 0.7f;
' i4 }9 Z9 L2 p# O1 q" l: w9 T3 C
pLight->Ambient.g *= 0.7f;
6 a" q( w/ Q6 z! A# }3 }9 C0 z" q
pLight->Ambient.b *= 0.7f;
# e, M7 b! U+ g" \ d6 j
}
1 I8 `5 h$ d$ u/ ?
; q/ h* h0 o% h
#if __VER >= 15 // __BS_CHANGING_ENVIR
+ _ _: Q2 C. p+ q, p
if( g_pPlayer )
3 T: I- V. h |! S; y/ Z8 A
HookUpdateLight( pLight );
6 k- h3 K4 Y9 D$ Y; X
#endif
+ l" ]# g5 g7 O0 Y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
W$ l2 p+ [6 A: p9 F& z% K8 f4 W
- R5 V4 \+ N g. x5 X
pLight->Diffuse.r += 0.1f;
1 [* [/ k; a9 ~) A3 S& ?
pLight->Diffuse.g += 0.1f;
( I( W! S9 Y2 R( {) _. v0 @
pLight->Diffuse.b += 0.1f;
8 X) e& x/ t4 d" i! R9 N3 A0 A* n
// oˉè* ??à?
2 z: _& W) ]- [7 d0 p4 l
pLight->Specular.r = 2.0f;
3 \# ~! x4 j1 N; c. B$ F
pLight->Specular.g = 2.0f;
9 X5 r# t, _# }9 Q& {
pLight->Specular.b = 2.0f;
T# G8 b1 ?: D- O: e
// á?oˉ
$ [0 n- x$ D& P- }0 e# ~
pLight->Ambient.r *= 0.9f;
7 X+ U6 J) D }# r
pLight->Ambient.g *= 0.9f;
" s* |8 l: _, E2 R( e& [
pLight->Ambient.b *= 0.9f;
1 n7 Y% D: J: w& q" W' k) w
# g( u4 P' F8 t- @9 L! @# E
memcpy( &m_light, pLight, sizeof( m_light ) );
! B5 X# i, o9 A* w7 Y
/ p$ ~! g3 D- q4 Y4 b; x
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
. D$ k% f& q3 i7 Q. A0 D% g$ n
pLight->Appear( m_pd3dDevice, TRUE );
3 k$ h9 E$ D- F+ y% i* R9 e# l
1 I, X4 s8 h% M% g& \3 o
DWORD dwR, dwG, dwB;
, n: K/ J, S( x% `. W1 x
dwR = (DWORD)( pLight->Ambient.r * 255 );
6 ?8 ?" a# d# K# s/ Y
dwG = (DWORD)( pLight->Ambient.g * 255 );
/ ?. {8 U# ]0 i3 _& e3 @0 H
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ Y q! n8 F$ H6 Y
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
8 L9 ]/ @ U1 {4 q2 Q; q" L
}
" b& S7 ?& ^ J
}
; F8 V' H# s# o: z/ ?
else
) n- W* ?0 T3 ^5 F2 c$ b
{
8 |! I& ?" ?2 R
if( pLight )
) D8 E' d" a6 H& W
{
" M, s' y' U6 V1 e4 I3 [
' A' e2 N$ t. X a7 ]8 n- }9 |
int nHour = 8, nMin = 0;
$ T, |' j+ Y$ @. h
#ifdef __CLIENT
4 K# f/ p* Y$ z/ e' _, B
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
9 { ]2 I$ O+ T
nHour = g_GameTimer.m_nHour;
$ r) k& h, n' o' z) V) k
nMin = g_GameTimer.m_nMin ;
; t( `6 X5 Z. I
#else
+ ^# x8 t4 J* C3 d1 D9 L
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
2 L/ `2 P- d/ v3 J+ p- q
if( m_nLightType == 1 )
$ O9 @, B1 ?0 A% t& L
nHour = m_nLightHour;
% ~+ T: O2 O0 C, |
#endif
( ]! p2 o Z# @0 B
nHour--;
1 W+ q/ }2 {2 P) } Q G
if( nHour < 0 ) nHour = 0;
' S; _# w$ F4 F) r
if( nHour > 23 ) nHour = 23;
u# v9 m) L3 Y4 ?& X
' D" I' a1 l2 g# s
//if( m_bFixedHour )
* b4 B# O6 F% W5 p
// nHour = m_nFixedHour, nMin = 0;
# c, Z r1 I2 N4 R1 H* y" V) d
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
+ ]( h! D3 s* b2 m E i$ F
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
; u" o9 o$ G1 a _+ p9 ]1 C- g6 m
' e" M. J9 e/ @# @$ J1 K
//m_lightColor = lightColorPrv;
. P; ^% d# p; V. d$ I0 ?8 w$ i
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
( y' Y3 ~ {: F( Q# A5 {. B
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
6 v! T9 ^. J- {1 l8 M
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
. h7 ?. W( Q; M a: A X- r5 b
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
7 O9 H2 d/ M5 @7 _: T. e0 n
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
/ M3 |- z6 g1 n& f( I$ J' C6 U _
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
- @: ^# q8 B# S% k1 o5 A+ h
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
7 n: ]( P8 d0 b& q
& s9 q: l, C4 |. U5 p+ C8 b9 U
// à??μ oˉè*
: k3 }; Y' A" n: w
pLight->Diffuse.r = lightColorPrv.r1;
8 t9 a; \7 u+ ?- V) j, K9 G* {
pLight->Diffuse.g = lightColorPrv.g1;
$ V0 Z4 |! u* G8 }. d! M$ G
pLight->Diffuse.b = lightColorPrv.b1;
& Q7 x- w7 c3 \! V: P7 J; ~9 O
// oˉè* ??à?
- x# v+ I: I7 x# H+ j' G) d
pLight->Specular.r = 1.0f;
! C' n9 P2 z8 F9 R! A
pLight->Specular.g = 1.0f;
! e. b! Z5 z8 H8 M+ W
pLight->Specular.b = 1.0f;
; t0 W9 W* ~( h7 ^7 p; ~
// àü?? oˉè*
3 m% \$ Z7 A) ?. A$ `8 j+ Y
pLight->Ambient.r = lightColorPrv.r2;
4 R& H3 Y. P: Q: R
pLight->Ambient.g = lightColorPrv.g2;
- ^; t8 }' t4 q
pLight->Ambient.b = lightColorPrv.b2;
+ }2 v. g4 h& g7 L, O) P
- b% \2 j/ Q" w# f! p
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
8 Q! B* K( s" G. [8 p
{
. M T4 n. j0 i' h
pLight->Diffuse.r *= 0.6f;
* U1 z4 q3 O& o. N
pLight->Diffuse.g *= 0.6f;
5 U$ q( y; w% ^
pLight->Diffuse.b *= 0.6f;
* I2 |3 \9 q! K' ~6 J
pLight->Ambient.r *= 0.7f;
( `- m* W! |9 n4 c" {$ w4 c( z6 r; z6 t
pLight->Ambient.g *= 0.7f;
4 S) A5 L/ @" p8 A- q4 a& W
pLight->Ambient.b *= 0.7f;
" f3 M: W. U4 M: b% L+ M
}
/ @; m0 o: w" D# l3 m1 `: Y5 R
5 m) _5 h" I* H7 `" ^
#if __VER >= 15 // __BS_CHANGING_ENVIR
1 ~! B# z7 i$ c
if( g_pPlayer )
) C5 `+ T: V" E& M0 e5 I. I
HookUpdateLight( pLight );
$ \! W @/ T1 X% x$ |
#endif
: |2 l% E( B5 y# z1 W
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 B. U: E5 T$ ?$ |/ T
8 ]% j5 `* `/ i
#ifdef __YENV
7 R& i) j5 ]/ x# H6 w
pLight->Diffuse.r *= 1.1f;
! y# o u% B% l
pLight->Diffuse.g *= 1.1f;
: v9 S6 u. Q/ K6 X$ m( F: G
pLight->Diffuse.b *= 1.1f;
* v& U/ Z. }0 u# o0 r( R) @+ t
// oˉè* ??à?
. I6 y% p4 a& G, @
pLight->Specular.r = 2.0f;
& U1 x) X% s# E9 [2 L/ I
pLight->Specular.g = 2.0f;
% Y0 T. S f6 w) o) _" h
pLight->Specular.b = 2.0f;
2 G: e% [ J% h) c% x
// á?oˉ
9 ^7 `; B f0 Q' h) ]) N
pLight->Ambient.r *= 1.0f;
1 a. Y6 F7 f2 Q& A; ~) v* M1 Y# z
pLight->Ambient.g *= 1.0f;
, m# x5 j% B4 w8 i! ~
pLight->Ambient.b *= 1.0f;
% \. c/ `, J/ R) X5 J6 a4 M
#else //__YENV
- j/ w# t) g4 a6 i# ]
pLight->Diffuse.r *= 1.1f;
( N( M* E7 X5 W
pLight->Diffuse.g *= 1.1f;
( |% j# v' X5 D& i* k' L
pLight->Diffuse.b *= 1.1f;
- Z: e6 ?: `8 I, m$ \! Y
// oˉè* ??à?
; T8 O, V% n7 \5 M0 y& m( g! p
pLight->Specular.r = 2.0f;
8 H8 N. G3 T6 B& u$ N2 j
pLight->Specular.g = 2.0f;
' h1 C' R: h ]
pLight->Specular.b = 2.0f;
+ b' ]0 Y* O0 B8 b) A; M, }
// á?oˉ
5 L) j! P2 b) X7 [" ^2 n/ f
pLight->Ambient.r *= 0.9f;
& P0 v7 u" G. S0 }5 p7 M
pLight->Ambient.g *= 0.9f;
' x; e( @7 c- \9 N
pLight->Ambient.b *= 0.9f;
9 Q0 G) ]' p l1 O8 r4 `8 B% u0 N9 K
#endif //__YENV
; y- b* \ L: I3 S1 g% x
$ j# ~. c& A, o* |
memcpy( &m_light, pLight, sizeof( m_light ) );
! J' A0 }4 J0 T6 X5 \
. \& R. _- _* P8 t6 ] U: S( b
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
# P+ _8 u, ]" i* s" P% W8 |
D3DXMATRIX matTemp;
; Z% v: k) ^! ?) B5 B( x2 l6 _
static const float CONS_VAL = 3.1415926f / 180.f;
$ f( J( c ^( S# Z& B# F5 S
) r( S* G+ `! K/ s% R
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
3 E% X/ ^& i& B) |" F
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
r! A& j+ e/ F, T
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
2 P& b6 H5 G* q# l6 ]
pLight->Appear( m_pd3dDevice, TRUE );
! Q: j& T/ E, `4 e( S
6 r) l. L; U. |
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
: a& V4 L ?7 u
// D3DXVec3Normalize(&(vecSun),&(vecSun));
3 ?5 {- r2 s( W
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
" g" N9 B( r. E- n! `
6 z* i5 p3 g+ i( ?# G4 C
DWORD dwR, dwG, dwB;
" i" l& D4 Y" \" ]/ w& x$ `# U
dwR = (DWORD)( pLight->Ambient.r * 255 );
8 i* L% X3 D$ ]5 V% K4 w
dwG = (DWORD)( pLight->Ambient.g * 255 );
& j, [! ~7 j. g1 V
dwB = (DWORD)( pLight->Ambient.b * 255 );
) q$ O3 L* X$ \5 f2 @
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- |: P( t. C3 m* X% H# s
}
! F+ E E8 K$ x0 m$ F
}
( y% Y9 @: R: v( }+ [
! @ o* {, w4 n5 ~
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
% D- ^+ h5 @, l" e3 o2 w
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) );
- f/ A( c% i# p: R- v
::SetLight( bLight );
; A& R! k* Y' |+ t s9 J
, h# }; q! B7 K1 _. g/ r9 q8 G1 r
// ±ao? ?D?í???ó á¤à?
b6 k Y: k% v! C
m_pd3dDevice->SetMaterial( &m_baseMaterial );
0 s5 D8 e" {" c" U. y
( Q) t1 ]5 _6 V \% ~* W
#endif // not WORLDSERVER
3 \+ q6 I' ~# r- I/ i
}
4 G9 S% }$ |( Z& G" ?7 T* j- F
并更换
( S2 S2 `# j/ s; V' H( T; m4 v
Code:
( q- c i1 R3 h, |9 y
__FLYFF_INITPAGE_EXT
( k! I4 x, V4 W4 s7 V+ s/ l
定义
4 i7 `4 ^1 ^6 ?' T5 q
2 q' R2 V* e, J; \: A# h5 S
$ m+ _& N5 T4 m* C
. { x4 ]% R9 a1 |9 f) j
H4 M; Z, |, Z0 f) V0 k3 u
现在终于删除我的狗屁加速...
$ u) V7 L+ q! W5 s/ Z' [4 J
8 _( h* s5 U! F: n5 J7 P
! Z6 L& w: m: I8 b* u8 K9 Z
8 y0 q- G3 E! k: R9 v9 }9 m( h1 U
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2