飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
J' f- P8 t0 Y/ M" {' \
尾翼:
8 b( q, N9 V3 {5 [" r' p
; v1 O! y2 k& c
代码:
9 o& z! V# J: Q! [& v, K1 u& ^
CWndAutoFood::CWndAutoFood()
; M8 c7 W/ @4 P- ^. t
{
( b) N8 C: v1 V
m_pItemElem = NULL;
: }4 f, T5 w! {4 [6 \
m_pTexture = NULL;
C2 ]2 n: y+ I
bStart = FALSE;
# d, w' X, M; b) _* w& l3 k, u
}
( O# E5 \% Z; }1 o2 ^$ Z8 D! j
' m k* S5 P0 \9 h5 d- x
CWndAutoFood::~CWndAutoFood()
* I5 U6 }: g: G5 O) J L
{
& W& T4 l- w' O. u# z
AfxMessageBox( "AutoFood ist gestorben
" );
# x6 w8 a" m8 M1 m. _' @' v
}
( E1 B% Q' S7 s- j7 b
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
# {# {+ | [2 a2 v7 S
{
: L+ C8 M; d+ o1 h: B
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
3 K2 ~$ A6 x( F7 H& Z W# c
}
( V( c* \3 f q8 Z6 _ E7 t# A% H
+ k f: g. M$ q+ P" m5 p7 G
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
7 ?8 l. k5 {+ _3 R9 [ g
{
$ e3 `+ X8 ]( k- r' @' q. S: y( \
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
* s- p. w- W" F; i3 ?1 I& l7 L
CRect rect = pWndCtrl->rect;
( G [4 D8 {- q: r2 h/ |9 y" r
if( rect && rect.PtInRect( point ) )
" D8 Y2 H$ u3 U3 U' {2 ~
{
' ?# y2 { @% U2 E& u* u L% I
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
, w. p& T& z$ M |! [6 A& S
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
6 u7 w; e) c. T2 F- l
{
) y- P o/ V: b- V9 W
if( m_pItemElem )
: |$ u( L' x7 u( t
{
6 e# X1 J9 P# @ q w
m_pItemElem = NULL;
; G0 i7 q) L; v
}
- d% d5 C; {+ B. t& z2 A
m_pItemElem = pItemElem;
7 }, j! i, x5 T/ I& x2 C# K/ S
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
& L) X( @' {5 s% K% S
}else{
6 y) J, p4 }( w0 t7 z. l
SetForbid( TRUE );
) h' r$ n$ ^* Q. }6 |
}
, j% j! l, S7 m8 L8 ~, p% w+ u# l
}else{
2 t# b" ~/ j7 u+ V7 {
SetForbid( TRUE );
' `; u; E A' v
}
5 X, g7 g' z# F6 ~
return TRUE;
8 T5 J; N& E$ z" J5 P
}
8 p1 @5 d9 s! Q# T* O5 a2 X) X0 r
* [. U+ a8 p. s6 T, I
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
5 n; c' K5 u2 L. b( D
{
1 T% Q$ z+ d$ K0 C( A" a# f# @9 d5 K
switch( nID )
/ M. A1 n, a8 S1 x
{
4 ^7 T0 z1 L$ ~4 f1 V$ V
case WIDC_BUTTON3:
2 ~1 K3 F7 p9 z. T6 t+ A
{
; `1 P$ \5 P `0 w" l
bStart = TRUE;
/ w) m: h: _* m4 B% V
break;
; |( |% C8 R% G
}
# _ Q, f) D! a, L3 [; Q
case WIDC_BUTTON4:
( Z9 u1 b+ P* b, {/ p. [
{
3 W# q* f! j) i1 o! y. f' q! V+ K# n
bStart = FALSE;
^- T% @3 o1 i& j. l4 _; ~0 O3 S8 ]" h, G8 \
break;
6 U% w, @- p* r* S: Z
}
& w5 c7 F R2 X+ } |# O1 {( |
}
, V% V& ], M- a& K X
return CWndNeuz::OnChildNotify( message, nID, pLResult );
& t# |1 U6 B, E" G! j( t
}
* I) l( C5 T: s3 F9 `
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
$ ?5 p6 u) W% V6 L* _! w& G
{
3 x; r# i; J' j
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
2 y- Y8 g# V6 c7 k; y) {
if( bStart || !m_pItemElem )
5 [. u6 k5 }7 p
{
. `1 _6 ^ ]! R
pBtn->EnableWindow( FALSE );
. l5 L9 @) R9 t" |
}else
" u: V1 F7 i; y3 |( ?' k) f' n
pBtn->EnableWindow( TRUE );
1 `' Q2 X7 w/ f/ E
if( m_pTexture )
: z& }1 U! k& x6 X5 E3 D
{
9 R4 I" L( w+ ^
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
% J$ B4 x3 l6 `4 ?4 e. y& m$ L
if( wndCtrl && wndCtrl->rect )
0 W$ l; v" W* p. O9 R9 Z6 c2 r/ A
{
1 y+ x" V6 ?2 k9 F
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
m) X4 V. q, K* V& j
}
) ~8 c% i: v# H+ s5 q0 y
}
, O' s0 `3 _2 x2 G
}
5 K4 [! {8 Y5 u: {
5 y2 U4 y7 |' g" K% _
BOOL CWndAutoFood:
rocess()
6 \. B: @9 _! E n
{
0 X1 U5 ?; C9 K3 r) s
if( bStart )
: V+ J) g( M x- v- e0 D8 o( r
{
* c. ~4 J k7 f+ N% g" V; ]( E
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
$ w: a' D/ J) W% N( s1 J! m$ n
{
/ G# V- f7 h* N# ^9 C- C
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
; x q9 p$ h. z/ f2 \- |! Y
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
8 [2 n( v" X0 v* T% e& n% \6 `
}else{
4 d: R( ^! q8 p7 T$ e1 X) f
bStart = FALSE;
7 ]6 Y& M5 a, ]* ?. e+ Y4 ~1 `
m_pItemElem = NULL;
! V2 M& _6 c$ h; w {
}
1 d' |9 n; m8 j
}
- V0 V) O- |! A. M
return TRUE;
- V" Z2 f! A: r$ t: o3 c$ b
}
! ^ ?) D) z- t1 r
3 e8 b( i* H+ z" m
登录视频废话:
& a, q1 h( H- D( o* T$ G! y
尾翼:
$ t6 D+ D9 O# j8 U
$ Y9 Z' `& u' e& w1 l
代码:
& b( G4 j+ r- r* E
# B7 }1 U0 t1 Z3 }5 m( o1 k& T9 j
void CWorld::SetLight( BOOL bLight )
9 b# K( e% e e& Z
durch
$ l" \5 O5 A/ K/ ?- K+ c: Y
Code:
: @$ F- l& g3 x. ~8 u
void CWorld::SetLight( BOOL bLight )
$ j! B' B& |6 k
{
7 y9 [7 L+ J1 s% L( x" [5 \- U2 q
//ACE("SetLight %d \n", bLight);
# M2 F! P$ C' \
R" `2 Z% [* n+ {0 M3 f% W5 f
#ifndef __WORLDSERVER
$ E- ?" y; T$ f. J/ }) u, P
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
" P2 P! r. e- W( n! D
CLight* pLight = NULL;
; C% N2 b7 x: ]8 x
$ Q$ U5 \; D E6 U7 H g
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
0 r/ @# e8 O! |8 T
( _; s3 c! E$ d+ a7 M6 d
pLight = GetLight( "direction" );
% c% X- R7 C; D3 O! z8 @3 U% [$ l" o
) o: Y' o- _' `+ j( t
#if __VER >= 15 // __BS_CHANGING_ENVIR
1 [; S7 g& S4 x: G {3 e
if( g_pPlayer ){
3 c+ F. S0 N* S% W/ s! M: P
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
7 u U. H$ K9 O$ m3 c( \4 e
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
* r- w' i+ y, o
{
5 u4 ^! ?2 H: h3 J' M1 S" ~, V C. s
if( pLight )
/ o5 C- X- e5 Y- e8 E7 l' w8 Z+ o& h
{
9 U8 [; z% h1 h3 Z9 P& H3 z9 k
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
, `* o' X! A) z- \6 m5 y' s
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
4 E( e1 `+ a3 `
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
\! K" o: d& b
2 H% ]* l. c: k; `' l
pLight->Specular.r = 2.0f;
8 w! z7 V1 ~4 P1 P5 q9 y% I( O
pLight->Specular.g = 2.0f;
# G" I( i; q$ B* k/ c) N
pLight->Specular.b = 2.0f;
/ c2 @) F* g% }; c- e
1 J; a& }6 N2 }2 H6 [1 j2 x
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
3 W+ a: ~* ]# H* f* ]) O* M! j
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
0 Z7 t+ |. c* ?: x$ o" `; _
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
9 x" J: i- h/ g. N( B
: o1 S9 e2 L( J0 W" y
HookUpdateLight( pLight );
9 ^- h" v1 ? U9 @
+ `) o, d1 B9 Q" m! B, _' s& k1 V' g
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# k* K$ _. `: {
! s. @& F" P/ n# m; m5 |4 {
pLight->Diffuse.r *= 1.2f;
( D5 d/ ?) Q( Z
pLight->Diffuse.g *= 1.2f;
. [8 M. K z0 T+ u4 e" f
pLight->Diffuse.b *= 1.2f;
$ N$ P+ B! Y/ T; M
f1 j: }9 _9 d3 Z
pLight->Ambient.r *= 0.8f;
1 z3 a" W5 V. _( Q8 j
pLight->Ambient.g *= 0.8f;
: M6 @6 z7 M; {$ t
pLight->Ambient.b *= 0.8f;
7 m& C) e6 `7 C1 K1 Q
+ R# ^ h. T6 g* `9 h/ G* e
memcpy( &m_light, pLight, sizeof( m_light ) );
5 h9 R6 c4 Q5 h3 K5 ]* \5 u* c
3 ~" @# e- f& Q5 D) P
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
0 U+ D4 d) S- J4 u" [
D3DXVec3Normalize(&(vecSun),&(vecSun));
; u, D! w3 h, Y8 Q+ q( I1 d
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. Q7 B7 E" o' `% P
pLight->Appear( m_pd3dDevice, TRUE );
1 ^& [0 o- `: w* m% z
, i0 Y. F' p+ A, v7 f; | {
DWORD dwR, dwG, dwB;
+ k7 q. ~* g+ H: \+ E
dwR = (DWORD)( pLight->Ambient.r * 255 );
) u# @% u4 _% U! y; k9 C1 Q
dwG = (DWORD)( pLight->Ambient.g * 255 );
5 z9 F2 V- M) b1 {
dwB = (DWORD)( pLight->Ambient.b * 255 );
, {. Y p9 g3 \
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- `, j* J. e' j, G. R k
}
7 X2 X W9 t. h0 H; h Z
}
, E: }+ E- S' p- U7 Z! t. P, s
}
K" n o' `. a. Q/ m
else
+ C% y! M& V C6 s& V" G% r6 I6 L
#endif
9 ]5 f8 I- O: } }3 l4 {
8 r1 R5 e5 \ u; {
if( m_bIsIndoor )
1 r, J2 Y, @9 o% V' u( C7 E
{
4 S. `5 a9 m2 f% S: u5 P9 p& I0 {0 i
if( pLight )
% L3 C8 Z1 [$ @
{
, }/ O1 k5 T. B! i3 w! m; V- p6 T
// à??μ oˉè*
2 l2 I% Y+ V6 s3 f. v) L
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
' f+ M8 m8 g! p$ T- c/ h5 f
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
0 ^( \% ?6 w- k/ T2 d
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
; o! d7 x+ k; V. b; t
" |6 d, @3 w; F' C9 \$ L
// oˉè* ??à?
% Y; F0 W4 |7 D: [$ m' q2 Y- i0 d
pLight->Specular.r = 1.0f;
; D W5 ~' m+ a. D1 Z
pLight->Specular.g = 1.0f;
( u1 x8 k7 s1 ^* Y" T8 R
pLight->Specular.b = 1.0f;
( C. q; z5 a- e3 K6 b" x
// àü?? oˉè*
{" T0 p; k8 h
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
. \/ A( d0 U" U! \' e9 ?" K$ `3 m
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
( V. W# R$ j/ O; d7 l5 E. t
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
6 t, q6 ^( X) J* L% c
5 l8 n) G: ~8 c9 S
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
0 k% w( W% o* H$ k
{
1 M" L2 G3 @* I |3 V
pLight->Diffuse.r *= 0.6f;
) U( }; `$ k* Z* I9 {4 W, t7 x: {
pLight->Diffuse.g *= 0.6f;
. ?$ h6 R- {/ [, D4 R6 V) `
pLight->Diffuse.b *= 0.6f;
! E6 P% v& R s' e
pLight->Ambient.r *= 0.7f;
+ J+ w, J" Y& \. a; B$ @
pLight->Ambient.g *= 0.7f;
5 m" }- o/ y/ Y' R/ ?, ?9 g( V' U
pLight->Ambient.b *= 0.7f;
; x! e& m7 e2 D' H9 d# ~
}
. x) j- S, h9 u- M$ i* s' b
1 {- ?/ y/ o! W$ G
#if __VER >= 15 // __BS_CHANGING_ENVIR
: V z( y+ C5 x) ?+ {+ L- ~4 U9 I
if( g_pPlayer )
( O, l" D g) I |
HookUpdateLight( pLight );
, S# e# [$ s! x# Q
#endif
* I$ c2 |8 }) g' N6 j( O
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
S2 H5 ]' X; I0 Q$ M" z' k; D
* j' l) J9 E+ K9 t% A
pLight->Diffuse.r += 0.1f;
6 K$ X! V" m9 T8 v* z
pLight->Diffuse.g += 0.1f;
U7 |7 |) Y" |
pLight->Diffuse.b += 0.1f;
( e, e4 A" l- j, `! x: Z
// oˉè* ??à?
0 ]* P; k( T, c* X* c
pLight->Specular.r = 2.0f;
% F p9 {+ ]3 M% }& U
pLight->Specular.g = 2.0f;
, L n% J* X) @
pLight->Specular.b = 2.0f;
: A( h0 ]1 l, B' @
// á?oˉ
' C- @4 U4 ]: a2 D
pLight->Ambient.r *= 0.9f;
3 H- U5 S, Q! t
pLight->Ambient.g *= 0.9f;
/ t" ]1 [+ Z( ?% C% N$ K
pLight->Ambient.b *= 0.9f;
4 a2 U( ~7 G$ h% o% E7 I k! j
9 O- O: Q8 K' {7 D* m N
memcpy( &m_light, pLight, sizeof( m_light ) );
: F$ g+ E7 U( ]4 M1 P. N' B
0 @3 P! @& b" O, U' F
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
% J0 Y5 H2 x/ y/ n
pLight->Appear( m_pd3dDevice, TRUE );
8 p2 ~. N" D# i! x
0 B% }' F# B, n( P! P" n- q& }
DWORD dwR, dwG, dwB;
- R5 Y- D8 l( @/ S& x
dwR = (DWORD)( pLight->Ambient.r * 255 );
7 e6 c" ^: O: H! h5 O4 `- B
dwG = (DWORD)( pLight->Ambient.g * 255 );
) h9 n# X' f" l8 o0 @. `& C
dwB = (DWORD)( pLight->Ambient.b * 255 );
, M- a+ w/ n( n6 G' E2 Z8 V
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. A. i' N% X% w% v$ y
}
# z7 \. v% M& i( n# K4 ^. G
}
9 z+ j7 e: J6 R
else
0 l& S" n* {7 w( F% i) `* _$ F
{
& s4 j8 D+ @* c" I2 _' c$ ~* }0 z. v
if( pLight )
8 Q. P1 P' v# T( s6 V5 P
{
5 }( H9 A' _+ b' D5 t, N
$ N7 c/ P+ [0 h/ O5 Z
int nHour = 8, nMin = 0;
+ k F4 s8 ^7 R1 ]& {
#ifdef __CLIENT
- j" e* [/ Q# f$ x/ [
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
6 s6 x9 _6 w6 f2 O- k! {, z
nHour = g_GameTimer.m_nHour;
3 Z3 \, Z7 ]1 @- N
nMin = g_GameTimer.m_nMin ;
- }+ I- T$ ]$ ?% g% |1 e! w/ n
#else
% K& R8 d. s$ l# T0 v/ e
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
* P+ ]* A! V: V; h% A; S5 Q
if( m_nLightType == 1 )
7 I9 u, S$ @0 W P+ Y( \) u; ~+ o
nHour = m_nLightHour;
( b- M9 {8 |2 F0 Q
#endif
& F* S+ [0 {6 {, \6 y! e
nHour--;
% U6 F8 @ e$ @* T) E+ J9 V- x; d
if( nHour < 0 ) nHour = 0;
* @* I; d4 G! Q# ~
if( nHour > 23 ) nHour = 23;
P+ O3 ]/ {, [4 O' ]
/ \" Y; P0 E% l. |5 A
//if( m_bFixedHour )
" Q1 e+ W. z) I7 m- P. R% ^
// nHour = m_nFixedHour, nMin = 0;
# C2 d& b0 u/ w! \3 Q; ?, Z l
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
C6 m1 C# d6 z5 t0 t0 e
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
8 B0 x# u! \! ~ f8 U/ \3 `
1 G1 b* i6 Y1 h/ y) ^2 v/ r& Y
//m_lightColor = lightColorPrv;
( E0 c% W% _5 V1 O! Y: `" m
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
2 j% Z9 x j( V
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
1 P1 Z# n, }$ u v [
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
9 J/ p8 p: \+ e) U2 I/ V" F! Z
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
% E( T* Y% k5 H, J1 M2 O
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
# D3 p$ s* V/ A& e7 D
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
0 p& k; K5 o1 f' m/ D% H: X0 M
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
8 w$ o( X' ` f) O; @) Q
1 Z( O* o$ i3 ^2 ?: n" `
// à??μ oˉè*
' V* j1 E* c1 {. C; H' X
pLight->Diffuse.r = lightColorPrv.r1;
6 {+ @% y* `6 {( X# B5 N
pLight->Diffuse.g = lightColorPrv.g1;
0 v( e' \! a8 Q4 R, \% H) ], d, A
pLight->Diffuse.b = lightColorPrv.b1;
: [9 q1 N0 Q! `/ {* G$ @6 E
// oˉè* ??à?
6 {8 D+ \. [4 O( Q! L" Q
pLight->Specular.r = 1.0f;
0 p5 f" w& k/ T& W$ L/ x3 U
pLight->Specular.g = 1.0f;
/ t3 W( R, D9 a; n9 ~" S
pLight->Specular.b = 1.0f;
! ?1 P5 L$ I2 M5 L! L3 K5 {
// àü?? oˉè*
8 ?1 H$ Y8 p, Y4 G+ M: J. @% Z: I
pLight->Ambient.r = lightColorPrv.r2;
! r8 S% q' g; A. F( }
pLight->Ambient.g = lightColorPrv.g2;
2 N& Z5 [' ]' n
pLight->Ambient.b = lightColorPrv.b2;
# ?1 s2 f5 M0 p/ u
, h( u/ V& G+ k0 r: P
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# B; `, |& o9 p
{
! \; A) r8 ?7 c
pLight->Diffuse.r *= 0.6f;
' O2 D+ t) s( B# _; W. ~
pLight->Diffuse.g *= 0.6f;
5 @# h7 \: R8 w7 A: ]
pLight->Diffuse.b *= 0.6f;
7 }3 R6 T( R$ N8 w2 _- S
pLight->Ambient.r *= 0.7f;
9 H7 W0 x/ o" e3 p( d0 q7 S/ h8 K f
pLight->Ambient.g *= 0.7f;
2 T8 ~3 E3 c6 b
pLight->Ambient.b *= 0.7f;
' Y& x8 ~1 I' i2 p2 { B, ~
}
% q- A, p; g* M6 A6 e' d; Y+ E
: u5 y o) y. R
#if __VER >= 15 // __BS_CHANGING_ENVIR
! K3 X R8 T; V: e9 E4 n* O
if( g_pPlayer )
% K- r2 E4 A6 O/ G7 o! E2 h
HookUpdateLight( pLight );
( d+ F5 u7 N5 q
#endif
2 L3 o) g; W# o9 `$ D7 f5 a
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
0 G' F7 j4 Q Q% d2 B
) C3 |' T8 x! j1 i; H6 `! h8 B; ?
#ifdef __YENV
& L3 x: W0 L0 Z9 y5 Z1 J& s, f
pLight->Diffuse.r *= 1.1f;
u( Y) a8 Z3 z! c
pLight->Diffuse.g *= 1.1f;
: v, o5 V" ]+ D9 [, n. _: Y! i
pLight->Diffuse.b *= 1.1f;
4 k+ Z4 p! ~" C! `; C
// oˉè* ??à?
4 ^/ a5 }, }! X, B+ ]0 y
pLight->Specular.r = 2.0f;
# B" @6 q+ @' R: s
pLight->Specular.g = 2.0f;
" f8 f/ G) R- N) n" S5 t g
pLight->Specular.b = 2.0f;
; C$ f1 }0 z3 N5 {/ T. U4 {. d
// á?oˉ
4 @5 M; ~) |8 v1 W9 M/ u
pLight->Ambient.r *= 1.0f;
0 F. t5 l W) q1 `' l, Z
pLight->Ambient.g *= 1.0f;
% y5 N# R) i8 _
pLight->Ambient.b *= 1.0f;
0 y7 U- S. v f" [/ b) T
#else //__YENV
8 K2 P) c! C. I# @. d2 U* G
pLight->Diffuse.r *= 1.1f;
' O: L& M9 Q' I1 q/ ~9 E9 d# s* W( H
pLight->Diffuse.g *= 1.1f;
6 Z1 j' ~$ i' v2 [! W7 Y9 p
pLight->Diffuse.b *= 1.1f;
( O4 i; s7 {% w4 X
// oˉè* ??à?
# K( i) j+ ^( r9 [
pLight->Specular.r = 2.0f;
* b/ p. v4 P3 r$ q6 R1 Q2 F
pLight->Specular.g = 2.0f;
* W& R0 j0 t8 X/ T' |! H
pLight->Specular.b = 2.0f;
6 c0 d, j& ?( Z2 I2 e$ r
// á?oˉ
( C- b4 n5 t$ v* f9 }+ l, V
pLight->Ambient.r *= 0.9f;
7 q* j6 q* P! X+ m1 Q* \
pLight->Ambient.g *= 0.9f;
- `4 z( G6 a; b& O8 s
pLight->Ambient.b *= 0.9f;
1 y4 N9 L/ ~) H# o; i2 O
#endif //__YENV
$ b2 t0 f* S" F$ J7 a" w
4 y2 y/ H" z# h) Z! p3 s& O1 z2 f
memcpy( &m_light, pLight, sizeof( m_light ) );
' f- _1 X9 b# O, z) ^2 i& {
5 p- m+ V& r1 t: `/ n% S
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
$ R; L" N; o) k3 W7 d
D3DXMATRIX matTemp;
; ~3 _" H0 a5 v$ ?+ H
static const float CONS_VAL = 3.1415926f / 180.f;
+ X! p$ r- X8 K( L$ w: Z- [
1 ]( m: e# X& z0 S" w: S8 c
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
! p& B4 _8 ]% u# {0 B5 L v
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
* @% ]# Z) y% H8 Z* p! B2 P
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
2 F1 {4 \9 E* k8 l4 [$ i
pLight->Appear( m_pd3dDevice, TRUE );
4 K/ N# y2 `1 i
& w- A+ W, e* _1 M
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
& D" B( o; c* V" M
// D3DXVec3Normalize(&(vecSun),&(vecSun));
, y3 Z# P" ^0 L( e- d' F
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
1 D. l& N& x5 Q5 T) Z
) T1 L% r5 `7 `9 I/ z5 u X
DWORD dwR, dwG, dwB;
9 I! w! y( M2 \* l9 N% y& t: F
dwR = (DWORD)( pLight->Ambient.r * 255 );
- [( Q1 k0 [$ Z- Z' F. Q
dwG = (DWORD)( pLight->Ambient.g * 255 );
5 t) C$ n# `9 j. M3 `; X
dwB = (DWORD)( pLight->Ambient.b * 255 );
2 Q$ r8 {5 P% k6 }- X: z) F7 ?2 b @# o
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
w1 T% ~/ ^! ~+ }
}
+ _. h2 P5 l3 Y. @# j
}
u3 z2 O6 b3 u" B4 p: }0 ^
6 H/ k ^8 @8 v- m
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
6 `; F$ b, O* F9 X2 K. e! G
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) );
. X# y+ O. Z* |
::SetLight( bLight );
/ V! q8 E4 R& b2 O* C% J5 i6 C) [. W1 e
: o- z6 j2 _; V) |
// ±ao? ?D?í???ó á¤à?
2 T% }: J1 e1 D& X/ E& H
m_pd3dDevice->SetMaterial( &m_baseMaterial );
5 X9 V; [0 ~0 F. T D; Q, G
! I! d# W2 s6 J3 d
#endif // not WORLDSERVER
- I/ [9 S( U* S4 z1 z/ X
}
5 X0 |0 [/ D4 x
并更换
5 t6 h3 s! ^+ H& T4 {
Code:
" W6 L( B# I/ E$ [5 \! l( @
__FLYFF_INITPAGE_EXT
( `# j- @" o: s9 a9 {4 ?7 ~4 ?7 J
定义
4 p; }) b$ V* |2 N" _! d
. h o( g$ z& Y& U# T6 u% K
- w! c$ c; v1 s; M- e
F1 u) i1 b7 I O
; G; H( u# I' H) c6 `* z2 q
现在终于删除我的狗屁加速...
; B5 v: i# j$ c+ G. w L
! N9 m3 Q- R6 k a% L: U
4 ?0 h% [5 r) |- I
+ T1 { |9 D( @- g
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2