|
|
食品车:& K- S2 H5 v1 S; Y9 Z
尾翼:
; Z* u# x6 c: D$ H
5 ~! W' @1 l: W% C. O' G代码: T5 L$ \) V) w
CWndAutoFood::CWndAutoFood()
J7 J. ~* s1 t" c$ D{+ n% ]8 { O+ L1 {7 d
m_pItemElem = NULL;0 k/ `/ G T/ U8 S, H
m_pTexture = NULL;$ l" M# _4 z% f$ g
bStart = FALSE;6 S/ w n& E4 f$ B
}
, J! C& X. [! ~) F+ d. Y. U
# {. H4 ]& z& h% R8 Q4 O! gCWndAutoFood::~CWndAutoFood()8 |& f* z6 E1 T5 ^
{ _8 E1 f) e# `) \$ B! b- X
AfxMessageBox( "AutoFood ist gestorben " );
- M3 ~( k1 d- {}2 ~1 ^! u; d$ o! f
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )6 K8 K6 O) N/ `5 c$ y
{' F" U$ }9 r/ F, [' L; M
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
/ |2 a8 h- a9 @; `+ d( y! ^" g3 J}
5 W9 Z- {1 y$ s" ?4 G3 [, {7 Q# O2 A9 Q- ^' u
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
: D% ^( P5 I4 Y7 Z! ?4 `$ k{7 G# |$ c- v3 l
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
5 E) ^- O( E1 V( ^4 u& D CRect rect = pWndCtrl->rect;
; u$ T5 h* K7 @8 x; f% F7 I if( rect && rect.PtInRect( point ) )6 b% _# p$ {. O1 c* h+ U' U
{
: J4 \; }2 ]8 \0 y0 j CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );; z+ S- L- X/ j' d- j7 z
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
* H( q0 v0 x: h1 G! z) ]; J {
2 q" V4 N+ o0 }! w if( m_pItemElem )7 \5 v m3 C- i" w9 I! Y/ X
{
2 e: z) Q. }# _# L m_pItemElem = NULL;7 x' @* h2 ?0 L% Q5 o
}7 w8 }$ m9 `% B- f+ c) o
m_pItemElem = pItemElem;
1 w5 }, q- D# ^- ~6 _3 j7 ]- l m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );: N) A+ J+ H; y# p& {& ]
}else{) ]9 Z, }0 z3 H8 S
SetForbid( TRUE );
4 e4 d# L' k& F, o- E }# u7 u0 U9 `* b
}else{" x6 h) k a) H
SetForbid( TRUE );! v* z& c4 R8 q2 [# D1 g% o
}$ }2 l! O# l* P7 g8 \
return TRUE;
0 ^- p0 |$ y, P; M3 k* X}
$ g' p8 M( o: i5 ]$ f
* N' Y8 J2 b. L1 u8 M J" wBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ) M4 H, P+ ^4 E" Y5 @, z4 k! z2 f9 R- a
{; r, l5 _0 o) _8 t6 H( h! |+ y% l. V
switch( nID )9 k# y5 J( w5 G8 c9 j' D0 M
{
: l4 N5 r2 w9 x5 ~0 U; ~% Y& h case WIDC_BUTTON3:
. W- A* f* w& Q/ a/ u% z! ~$ D {
0 _# v' G9 u* K& L) z bStart = TRUE;
( |+ j7 @! [% g. t break;6 i) M. `2 M2 P# Z$ d
}& s0 k2 r" q" n, M9 f! d
case WIDC_BUTTON4:& f7 }8 e2 [ V1 g) H* c
{
, o1 ] b Z% M, u bStart = FALSE;
0 @* |' R: u' \7 T8 h5 h break;
5 f' C4 d( h; `6 U0 \ }
; O' H F; s. y: Q; F! \ }2 g8 }0 L0 y9 k) {- r! k& J2 M* D
return CWndNeuz::OnChildNotify( message, nID, pLResult );, @8 T Y6 J u: c2 O8 w) Y5 l
}
1 c2 ?1 X& v, S2 i/ evoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
: c N( g$ M2 Z6 \{( ~& _7 q/ I- e$ o
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );. U8 ]( m7 h( i4 M F. j0 A' Z
if( bStart || !m_pItemElem ): [+ E- @2 M9 W; t& G9 ~2 T
{
# E* l2 U- f* `6 d$ I pBtn->EnableWindow( FALSE );
- N/ ?2 u. B( w3 { }else0 E+ U, |5 V& a% M1 J% B" ]
pBtn->EnableWindow( TRUE );
- L( n+ N8 Y1 W* J if( m_pTexture ), O: i6 R( T" u \* L
{
. m" A% o4 Z& O: h# Q: s. h LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );4 t9 e2 V2 Q8 G
if( wndCtrl && wndCtrl->rect )% C5 R! Y% i; @* w, y
{
Q) l+ [8 `# r' @# B; F m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );/ m, y3 }" C% B M1 z7 U& P+ G
}" C: z6 C3 H" _6 X8 c' `
}" l( |" \5 @( k4 q9 Q/ x. O1 t
}8 I: K7 F* u( u: s# `
# N% S6 T9 E2 {; }# S: N/ s4 zBOOL CWndAutoFood: rocess()
0 D1 ^$ C5 b' ]) M4 A{
: ~1 I, n6 f. L2 O if( bStart )
: _ p E/ A& F* a; r {: ~0 F! a: e T1 w- T$ o Z
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )8 L# U8 B& r K% g$ P* ^# u1 [2 C
{# F' [# q! g, T+ V. I7 i$ Y, V w
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
& I% \( S( @5 C0 Z+ c- k g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
: I: _; G) [" T; ]+ y: r }else{
4 y0 m6 Q1 {+ I9 O" F+ F bStart = FALSE;+ v$ B# L% I5 y2 [5 R. T
m_pItemElem = NULL;( Y; P p" Q0 _
}6 }8 m2 v% U8 v" D6 w6 B8 E3 g
}/ s9 }- g* g+ O$ r5 A R
return TRUE;' p" A. Z0 |% C6 t. w6 K. I
}
[4 F# ^$ H3 Y) m+ `9 N
- Q2 N4 y" P) ~. G% m登录视频废话:
' l& p4 B* \) d% g4 k8 }; |尾翼:* L# a9 u, J4 ?$ ^
2 }- e5 z# `# t& f' A' U
代码: A I5 C3 D. |3 }9 t5 e4 u
5 f n" c2 H2 }+ t4 B
void CWorld::SetLight( BOOL bLight )
) {! b) n6 t4 G/ ]9 D; B, Kdurch; ?% m9 E9 d& w4 P& |
Code:! H0 d2 r ` ?6 h; @- S
void CWorld::SetLight( BOOL bLight )2 F3 Y4 F3 b! @( H& o( q
{
& v0 l% C* q7 E7 m& x' @ //ACE("SetLight %d \n", bLight);( ]4 V$ p6 q- n+ ~7 M( T: c1 C0 [9 i
, r% ]: k$ N, _; d( l5 f3 g
#ifndef __WORLDSERVER 1 a; c- \: {8 f: [- M$ c
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);1 _% P+ ]# d6 ]% j _% A
CLight* pLight = NULL;
4 I4 b# Z- ^7 P" Q) Y; W( S3 }2 f0 g$ s; d3 }
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
. p; p1 { b8 F& t5 B
. {, N7 Q! S$ P8 s9 I0 _, X pLight = GetLight( "direction" );* ~/ Y2 C# w+ b( L* i( j7 r" Y" f* b
2 |% o: k6 |) v# T: y E
#if __VER >= 15 // __BS_CHANGING_ENVIR
; `; b8 c1 b2 i% X if( g_pPlayer ){
) f5 w! q9 F# }) z ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );" `% f, |2 `& B, Y6 l. }0 R( m
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!# m& u/ g2 D/ ]% l+ M/ {. S
{
6 X5 `! k8 N6 G1 n& p1 W8 Z if( pLight )
: G+ g6 Q( |+ k {$ c6 }) |7 `2 @. K; @
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
/ \; X* d5 \" V$ g) c pLight->Ambient.g = pInfo->_fAmbient[ 1 ];% @$ I+ S5 t4 |! D% L! }
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
6 P; w Q( m6 W4 `" W
9 |) e" n, L. }: P, `/ Q3 L' t- b' _ pLight->Specular.r = 2.0f;* I/ \3 I$ C8 Z( Q- C+ R) m
pLight->Specular.g = 2.0f;% a1 l: x2 @/ L
pLight->Specular.b = 2.0f;
9 q" i- _+ h$ h1 F
$ e5 w/ \9 {2 ^! Y( j pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
0 h' Z: y5 D P. D9 P/ { pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];% b$ {% U+ B9 W+ ~
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
& [: {6 t( H# @* @& W
2 @% A/ {& J, e d& E HookUpdateLight( pLight );
/ I4 O# ]0 U% x4 P0 Y! G( `! @% N3 P! q, ~% ^* g6 D$ D
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );0 b5 A. N( P, O ~. f7 W/ t' Q
7 Q9 d; @" f; U- q pLight->Diffuse.r *= 1.2f;* d& K( z4 A2 ?* ]1 Y
pLight->Diffuse.g *= 1.2f;
/ M! i, l% J. G- I pLight->Diffuse.b *= 1.2f;( \, f0 X8 [, |) I6 V
& p' a% o3 `! R3 M0 h. f% y2 e pLight->Ambient.r *= 0.8f;
1 G( L% k; B0 N) p( p pLight->Ambient.g *= 0.8f;
7 P6 k" R \% f. c pLight->Ambient.b *= 0.8f;* W. Z h2 g4 Y* B+ Y
# R5 o+ K+ S3 Q memcpy( &m_light, pLight, sizeof( m_light ) );5 ?8 v1 |1 r4 k) e) B5 h* |
S& b* i. i% Y; z) x
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);, \& |1 F a8 D1 A0 i$ \) V
D3DXVec3Normalize(&(vecSun),&(vecSun));9 U' v% q+ ~& b1 Q" F6 @9 g& m
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 9 _, S k1 a4 Q0 ~5 Y$ z ?$ o. t
pLight->Appear( m_pd3dDevice, TRUE );) D/ _& O$ o3 W$ s3 G: x
( w" V5 S) s6 A9 M
DWORD dwR, dwG, dwB;( H$ {. Q. \1 v4 d6 t$ P9 {8 B
dwR = (DWORD)( pLight->Ambient.r * 255 );
; D; i, @' ?: s& s, l6 G: k0 Z/ } dwG = (DWORD)( pLight->Ambient.g * 255 );
8 }( M' K% u' g2 T dwB = (DWORD)( pLight->Ambient.b * 255 );
& J( B8 E% E5 s- E# G dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. B g0 v. [# i% v; _9 C! M. U; g }9 h$ w$ Q7 P* u; j
}. g$ {4 c q- s$ `) J+ t1 I
}: y3 G0 `3 p9 }+ o: ]
else
) Y M' c& n+ r#endif 8 D3 s. U: R7 Z: b( E( o7 P
& q# V' ?9 [. E6 f9 c. b0 L if( m_bIsIndoor )& s5 d& E! ^: k6 v3 L3 l2 o, g
{2 J% l0 K* z: T" Q, V1 e6 _" P
if( pLight )
2 `) L; f; p1 ]# [0 Z5 {* f# i7 s { 5 g$ r: l* s6 n& U" P9 g! s5 }
// à??μ oˉè* $ V" x$ E% Z. M2 D) L) w7 j: |; }
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
. t L+ N S7 y( v8 I pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
& c4 h# B9 c z5 \: { pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;* m; y' X- q, }
; E# ^" W7 J& [6 ?
// oˉè* ??à?
% b5 \; @' i' U! f ~ pLight->Specular.r = 1.0f;9 d {. M% b1 c, E7 X
pLight->Specular.g = 1.0f;
' {) z8 R" U! h3 ] pLight->Specular.b = 1.0f;
8 p. c+ {' j( ^3 g& e# ?0 Z // àü?? oˉè*
, \0 F$ `. G: m pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
. {8 F" v d" Y1 E# e pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;+ F `1 z- J2 c8 a# |; }
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;5 ~. l( {% ~; ]0 e. W5 C
, g4 l% }+ z4 W2 P4 n$ u. K
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.* f6 H# F% c* _1 x f; X2 c+ I
{* Q3 {! O! @. ]8 H
pLight->Diffuse.r *= 0.6f;
+ O/ H* e/ K7 W8 J7 j8 N6 M pLight->Diffuse.g *= 0.6f;
& {. i/ o# A8 x8 } pLight->Diffuse.b *= 0.6f;
/ l( C0 H; _( z: b8 H; b2 E& x9 f, a: H pLight->Ambient.r *= 0.7f;
* D& j, t4 z: t y$ D3 D pLight->Ambient.g *= 0.7f;1 w6 c; w" e/ w. o
pLight->Ambient.b *= 0.7f;
% C) }! f9 K3 q+ b1 i5 r }
: ?; b9 k8 p: |5 C) d0 P4 |8 C( w; i8 q3 D
#if __VER >= 15 // __BS_CHANGING_ENVIR
7 {' e. B/ B: M$ R if( g_pPlayer )4 k4 p4 [# J0 a
HookUpdateLight( pLight );
/ [6 K# z. o0 d1 p( p#endif, _, a2 c! p `/ O, N0 ^% `
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 h9 s) Q3 F: r$ S2 h4 y
! C% m- X7 S' c- S2 N pLight->Diffuse.r += 0.1f;
( A7 f0 Y1 c! l$ A( o pLight->Diffuse.g += 0.1f;7 V* e/ { G" S$ V8 V; l; y
pLight->Diffuse.b += 0.1f;" N# G% G" ?8 l- L; _" l) }; f0 _
// oˉè* ??à?
8 _# O9 h2 z, a0 ]* x- M pLight->Specular.r = 2.0f;5 K" i# {+ [& u6 b
pLight->Specular.g = 2.0f;
& F1 x& S0 J. r9 n0 I pLight->Specular.b = 2.0f;! z" Q* U! E- F6 e9 S
// á?oˉ
! z* ]' Y. W5 j8 q& j0 B5 S3 q% g pLight->Ambient.r *= 0.9f;, `: Z6 J) f5 ~; B0 a; G0 ]
pLight->Ambient.g *= 0.9f;
/ l F$ J. d3 x pLight->Ambient.b *= 0.9f;/ b* Z, F$ ]( i- B) X
+ z9 g2 A9 c& t; y) c
memcpy( &m_light, pLight, sizeof( m_light ) );# y; c R. _1 D
# y& w' F9 t0 B a# W/ ~% L" ]
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
! O6 [' b5 u. d9 Q; W pLight->Appear( m_pd3dDevice, TRUE );
$ I- D7 p! m- F- H
X+ E: K- y1 p3 w( B2 [ DWORD dwR, dwG, dwB;$ i7 n Y' O1 B9 ^/ T
dwR = (DWORD)( pLight->Ambient.r * 255 );' }% P! ^/ x, k. K) o8 D
dwG = (DWORD)( pLight->Ambient.g * 255 );
?9 l# |6 O8 i! A1 U8 c( P dwB = (DWORD)( pLight->Ambient.b * 255 );
6 ^% J2 a0 b' I% e, k. ?( f/ A' J dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
6 [1 c9 b/ r7 B }
* v. L& m/ i) _/ y+ x7 P0 ?0 ` }' Q) a9 M& C. U) |6 E; u0 o
else
8 y/ q0 L4 y1 C* ]% W {
* s' }2 @7 ^- x' r8 q9 g if( pLight )
! e& `9 l7 C) E& {2 W& a' n {7 ~7 @* f U9 n/ C7 W9 n9 s% f* g% a9 j
7 j7 X9 c4 I: h int nHour = 8, nMin = 0;% l4 @) i! `+ Y R8 `
#ifdef __CLIENT, A! e; K6 g: a: D, m" o9 B' L& A8 u
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
: u( C3 |5 N7 c+ {4 r nHour = g_GameTimer.m_nHour;
* s6 u$ ?* J8 ]( ^ nMin = g_GameTimer.m_nMin ;
0 g9 w4 Q& X; n; a: H/ |( G #else, D. y% g- x/ A' U. I# |
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
+ I( P3 D ^# F+ g8 I/ z5 M: O6 j if( m_nLightType == 1 )9 U" l7 I& e' i1 U, p! C: n
nHour = m_nLightHour;& j) o3 F& X4 b' S A }
#endif! W _5 d+ w/ [" a: l
nHour--;4 c$ d) _3 B% R, T4 X$ A8 S7 m
if( nHour < 0 ) nHour = 0;
a- e- t, v- C T0 M if( nHour > 23 ) nHour = 23;
, p" V4 B+ n1 o0 t" I9 Z# F# f7 a+ W# n
//if( m_bFixedHour )( Q/ f% K' V1 q
// nHour = m_nFixedHour, nMin = 0;2 b4 _4 L1 Z& E# r1 ?
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];. u0 x6 T; [. f7 W4 {; N2 Y) ~! ~
LIGHTCOLOR lightColor = m_k24Light[ nHour ];$ n( \/ c4 y9 r6 \
8 m" H$ Q6 M; p+ A' k //m_lightColor = lightColorPrv;4 T" `) @/ T5 C
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;+ V* p7 g( n6 H9 ~
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
6 `6 \7 Y/ J6 B! M x lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
$ L+ F* M& f6 O( @. _, z lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;- x- o$ z* _! b
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
9 S1 ~' }6 O- E S _ t% f lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
6 A1 u" l& O! P: j! h // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
4 o8 S$ ]' E/ [1 U$ _- d3 d, n" ~9 V: p0 S( B, W, Y: ^0 ^
// à??μ oˉè* 8 E6 a6 [+ w8 X" V k
pLight->Diffuse.r = lightColorPrv.r1;
' j( Q6 `" W+ M/ R pLight->Diffuse.g = lightColorPrv.g1;9 {+ }# s/ i* {4 M3 I$ A; J
pLight->Diffuse.b = lightColorPrv.b1;: Y7 k* k% i7 j- p' l' E
// oˉè* ??à? : J+ a! N g7 j- `
pLight->Specular.r = 1.0f;
7 c8 x# ?/ Y0 G7 X2 c$ y pLight->Specular.g = 1.0f;; y" q5 s0 i2 g7 t. K
pLight->Specular.b = 1.0f;+ N0 h* @. O1 M1 ~$ _% O$ ?* |
// àü?? oˉè*
0 z% ~1 A: {1 C" T: o pLight->Ambient.r = lightColorPrv.r2;
m# V, {8 o9 O2 K* ] pLight->Ambient.g = lightColorPrv.g2;/ J: S* |0 X( C
pLight->Ambient.b = lightColorPrv.b2;
9 f; q5 t8 v* d4 V$ R# s; j' c, X5 ?4 j* ~. A
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# j& a4 ?6 Y" g. K; a" X {
6 O/ o( \2 Q9 d# n1 z$ F; F7 l7 y pLight->Diffuse.r *= 0.6f;3 h* N7 Y$ d% m: g9 c4 f
pLight->Diffuse.g *= 0.6f;+ h) C& F) N4 s8 {' f, v
pLight->Diffuse.b *= 0.6f;2 E6 C# P+ E6 I2 J/ e- O; C" c
pLight->Ambient.r *= 0.7f;
! G' e6 F/ K) m$ q7 z: r pLight->Ambient.g *= 0.7f;& S+ u, {9 a4 c; {& h
pLight->Ambient.b *= 0.7f;4 ]8 x; s. R" G. d0 q9 \! p
}
% n4 P- Z- W$ O) I7 l" | 1 X4 @ ^8 U5 Y1 X! d+ U
#if __VER >= 15 // __BS_CHANGING_ENVIR3 g: J4 p2 m4 f9 T! [" t
if( g_pPlayer )
3 N5 j% r' p3 {1 r0 t3 @+ W" \( c HookUpdateLight( pLight );
0 _9 l3 F3 s% G: C#endif8 S9 z8 D. F( B& E. l/ h: Z% m
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) ); E" u# @* A' R; f. {3 T
# t) B* W( D" W( P z/ J#ifdef __YENV
n5 n$ y) I( i pLight->Diffuse.r *= 1.1f;& M! v% @/ Y7 S# x
pLight->Diffuse.g *= 1.1f;7 k3 L5 M' F7 V/ h$ r/ L
pLight->Diffuse.b *= 1.1f;( M& \- }4 A$ [# Y
// oˉè* ??à?
% }" X+ ^; k y5 A) C pLight->Specular.r = 2.0f;5 y2 ~8 g0 O$ l7 V3 f9 M. N: i
pLight->Specular.g = 2.0f;: m; K2 S. e: a: M8 {
pLight->Specular.b = 2.0f;. c$ `" f3 S& n* \# N; I
// á?oˉ
, j' ` x* h2 k4 R5 C, u pLight->Ambient.r *= 1.0f;
" v# u/ N) d- v7 Y$ M* j3 b1 f pLight->Ambient.g *= 1.0f;/ M9 ^6 n6 u; O' F, D
pLight->Ambient.b *= 1.0f;- |6 B1 c3 f2 e+ D A1 b
#else //__YENV
( Y0 z: J1 I3 S7 y9 {1 R pLight->Diffuse.r *= 1.1f;
/ V# x# c, }7 `+ {( Q! `/ F6 \$ n C pLight->Diffuse.g *= 1.1f;
2 m& p8 O y! ~/ z3 u' o, Y! s pLight->Diffuse.b *= 1.1f;% {7 I! u- O0 n% M
// oˉè* ??à?
, W0 { v0 S8 K6 x. ^ pLight->Specular.r = 2.0f;- |- t3 m0 S# D; M6 R( t1 l
pLight->Specular.g = 2.0f;3 K; O4 M' ]; e: G
pLight->Specular.b = 2.0f;
6 \* l/ b( W. {1 q/ }( c# I! j( n // á?oˉ 4 a, f. R; }9 i: q6 u; s0 [
pLight->Ambient.r *= 0.9f;0 b4 a0 ] i" w
pLight->Ambient.g *= 0.9f;
( ^4 f3 I+ o1 b% J pLight->Ambient.b *= 0.9f;+ `$ ]# m7 p! X! M
#endif //__YENV $ A" W2 s& Y4 u' U2 u R/ Y% E. ~
. v1 ^3 ]7 `2 w' S8 i r memcpy( &m_light, pLight, sizeof( m_light ) );
% Z& {1 L8 U0 Z5 ?& f / J2 F/ @9 k5 s3 ]8 Q' n F/ ?, s' A8 Y
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
4 B# }; x) ^4 ~8 Z: |0 h" f D3DXMATRIX matTemp;- H! @& P7 f5 o/ ]
static const float CONS_VAL = 3.1415926f / 180.f;7 e( f: N: T( W% L: n; C
9 T9 }. Z! `2 ]/ f. s D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);4 V% t5 ] i8 r* c7 a6 X8 |3 X* ], t, n
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
( l. H& E( \0 S pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
L$ F9 ?% v& l3 `' [ pLight->Appear( m_pd3dDevice, TRUE );
9 h+ M* b2 e& U$ M& H9 Y K5 g" |/ a: @6 d
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
; o9 T a( X2 ^! o, \4 k- D // D3DXVec3Normalize(&(vecSun),&(vecSun));
9 T* U) p1 L% N' n$ _, e // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 0 o- V r0 g! ^3 t( z/ f% i
. M1 C2 u- \, ^- N* o% @
DWORD dwR, dwG, dwB;4 |8 S8 r8 h8 k0 f( T
dwR = (DWORD)( pLight->Ambient.r * 255 );
$ U0 N. v# u6 o7 \& U dwG = (DWORD)( pLight->Ambient.g * 255 );
" a) S3 G& N2 _ dwB = (DWORD)( pLight->Ambient.b * 255 );/ \8 e5 q6 ^# j& V' f [7 l: h
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
4 v4 V# c; t$ b }# z P$ s" @, u1 b0 z% _* z
}2 x) V2 F; m7 @0 V9 v/ N- G- Z
: @- g$ c. i [' z& [ m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
, D! q. S. l/ E" |4 X% {7 ` 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) );8 O+ @5 s/ `( _9 w" M' S( d
::SetLight( bLight );
M' M' L, ^1 P4 d n9 V' Y' o4 L8 v- h; H
// ±ao? ?D?í???ó á¤à?
/ k' i. o' L7 B, b: s# b2 i) ?' j m_pd3dDevice->SetMaterial( &m_baseMaterial );
# u* y, p+ P3 E- j* n1 t ' N" ~- L! G" `
#endif // not WORLDSERVER
# d b! \4 P( w3 z5 x6 [}
4 ^1 O! u2 z" q4 `, M并更换1 q+ \# u; C9 k G: c8 \$ x' ]
Code:
) `1 j1 n2 K' q$ T6 ]. d/ `__FLYFF_INITPAGE_EXT
7 Q! r3 a1 r& G定义
' w* a+ Q a! b+ X: b
3 o( @: {9 i- Z2 Y" e5 x2 E: H8 I$ X/ ` k- C) X
- C( }3 W) e. i X3 s4 A& \9 n
+ S8 a* l# ?+ `5 Z3 t现在终于删除我的狗屁加速...
) b2 i4 |( X' ]- P# k" s, a2 _2 e; |/ W: m7 d
) O9 C# E6 M& u1 U5 E# w: n# y3 F9 C# g# `; i* ^; L- w
|
|