|
|
食品车:! }/ `. W. l2 C( d( ?$ a" }/ ~
尾翼:6 J+ E1 q- o% Y% `8 v
5 y& O9 q( V/ ^代码:/ \( R7 ~5 n3 M: b3 w
CWndAutoFood::CWndAutoFood()% }+ V' w, U( k
{
8 \! b0 A0 { @) V. ` m_pItemElem = NULL;
# Q7 w4 H1 F. l m_pTexture = NULL;/ ]- q9 Y2 k- K0 c7 I
bStart = FALSE;$ h9 }8 i+ @2 `: _
}
6 S# ` @/ q% f; [
/ d- d# v4 T$ O/ r/ O' vCWndAutoFood::~CWndAutoFood()9 {3 ~/ ^0 j- {# U7 F$ @
{
, \3 r& i D, c5 m6 ?: c1 i' I- d A AfxMessageBox( "AutoFood ist gestorben " );
! A1 q. A/ n, n; M' H+ y9 ^}
$ N. `1 V6 {2 b3 sBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
0 F, K# D. a. [6 d) ], K( _{
* N* {8 t. ~. k" f3 \5 |4 W% K( c return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );; D6 i: v( J$ |
}% K6 G7 |: f( n! i/ @, ~$ R
8 A; {3 J: J, {. B% G3 [! W. [* e
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )3 k9 }- Y: ?! ]4 S
{% Y. X/ w- l' Q' A" o
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );3 m* |7 Z( M* O
CRect rect = pWndCtrl->rect;
: s+ k! m' c8 ? if( rect && rect.PtInRect( point ) )3 n! H7 V; O o2 H; m- c) g
{0 M; F( e/ O/ m$ j! O
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );) L; c( Y9 ?; x8 o
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )" v; w* x9 l b2 o5 X o( `
{. k/ c' s8 T1 B3 p0 |* g! a
if( m_pItemElem ) k8 M1 Y" x" b5 F& G: k
{ \! i* X0 |3 k" x) F+ z: b/ k
m_pItemElem = NULL;+ h& z* ]3 k& D/ R# J
}* b) K8 S3 s6 Y- o# @( m
m_pItemElem = pItemElem;
6 e2 b7 _7 t: l m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
2 [( [, G3 c6 b; P2 L: ? }else{4 M! J% X! T. h. T- Q
SetForbid( TRUE );
# B g9 \( @- x1 k% [8 C7 I* ^ }. @( R& S* O+ _" r
}else{
4 Y- M) I' B* n- ^" f2 T1 i" i SetForbid( TRUE );3 f$ E0 B- W$ `9 }7 _$ c! l: j1 ~
}
) X* P8 \: F% H$ J return TRUE;
8 K# M/ R8 \) X- p: M ?4 i}6 p1 X7 M+ H; C# ^2 F
1 U; s0 C; w! h3 F$ yBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
- q; D( w1 }: I3 [# S" C. {{+ g7 X2 n' _9 r# s, I& v5 z d+ U
switch( nID )
' w3 T! Q" L' q* q; i) b g {# j+ d5 p1 C3 W" @, z0 Z
case WIDC_BUTTON3:
+ R* j* `, T& s0 x- i1 `: i {
}* D1 ^$ d8 f- z& n3 {% Z bStart = TRUE;( f/ K% ?: H/ k- b5 l8 O
break;" H) Z; ~9 \6 a K. P8 c4 \
}) g, N' ~5 p4 x& S b+ j" L& h; |
case WIDC_BUTTON4:$ i1 ] X) r% G! ~; O% i1 J2 p7 D
{
: Z5 _7 {3 C1 u1 O$ n4 f1 n bStart = FALSE;! ]; `. [3 z) r& Q/ ? _
break;6 ?3 f) ?. K5 o" L/ C
}
5 X' {( b! T0 z" C: F }
1 s$ e5 [' B# J3 n: ]2 e/ d, L" f return CWndNeuz::OnChildNotify( message, nID, pLResult );
/ B; _9 S, [1 j h+ ]: Z$ d} 3 X8 B/ F/ u( f9 g! L
void CWndAutoFood::OnDraw( C2DRender* p2DRender )/ C( x5 W4 e$ ~( m
{
" [/ x) F! z( ?+ k( h CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
- g1 T5 f& T6 f, n% ?7 C) a- c if( bStart || !m_pItemElem )
% M8 W* j) W, s9 f9 b! ] {: o( j1 j" V8 {. v; x( K
pBtn->EnableWindow( FALSE );, z* G) D, l) {" F# e- v
}else0 d% j0 G- V" D+ c; ^$ r
pBtn->EnableWindow( TRUE );
_6 S ~/ ]7 X4 D# u if( m_pTexture )$ [# J" \3 T# F3 ?' r! [
{
7 F, O- b9 n3 G7 Z& d! \$ | LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
! P4 F# n V! k- {% S7 L if( wndCtrl && wndCtrl->rect ), D! p3 h+ [& V, W+ L' k2 p
{
7 i/ o( `! \ j) D8 Y. F/ M m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) ); }6 `1 \, [' ~/ ]+ G
}
; Q$ O$ s- u1 ~, S }% Z6 R0 A- t2 J$ V2 s
}2 {5 r7 v! |3 ~
! q& B s0 V; O6 M
BOOL CWndAutoFood: rocess()8 s# U5 Q6 ]7 o$ L: y7 ^
{
7 ]8 J' b) r, }: P O9 T if( bStart )2 G2 d) c5 T y$ _2 v9 X
{# ]+ y8 u# R3 R. {+ W( j
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ). {5 q- K7 I& w# a& Y8 ^7 V8 V" W
{
5 ~4 Q; \! f$ t6 j# u9 Y: O7 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() )+ I0 O1 K, E& Y" D9 |! p
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
# L6 E, `5 L% {) ^( m" m }else{8 K. n! c# }8 R2 _+ y/ J
bStart = FALSE;5 R& f" d! S- }; d) b
m_pItemElem = NULL;# `* X4 c) c4 h7 Q" }" Z
}, F: ^. A4 K2 r$ H0 r$ l7 n% _
}
: M D# a! v( [+ u/ R return TRUE;" O7 [ \' I# g7 d
}1 g$ m' v: s+ r& J
. Q2 v: j2 N' ^登录视频废话:4 I* k$ o% E$ a# i1 c
尾翼:! A, F, e+ u0 M# I7 ^
# s) d% p% H+ p4 P0 n* T1 [* x& A代码:
& v& X# B8 F& h: U6 j5 k" y4 g6 }3 v- l
void CWorld::SetLight( BOOL bLight ), ]- ]9 s" S& G* y9 M9 M
durch
" ?/ P# e, i2 F/ h/ K" S i- |3 xCode:
& N, d4 X& y1 gvoid CWorld::SetLight( BOOL bLight )
6 a/ y! R1 f8 z1 P% H# s8 S n{& O* e Q# x6 _3 m* V" E/ L8 g% |
//ACE("SetLight %d \n", bLight);! c* g! g4 S7 i# r. k
: f3 G9 k5 u- I/ T: s
#ifndef __WORLDSERVER
# i* c! N8 J; a8 \ DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);6 N4 G9 v8 q- \+ l$ W& `
CLight* pLight = NULL;2 {& f% ~9 k: t% n7 f' Y' l
7 O+ H9 Q' u+ | D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
. D3 e8 T: o4 c& K! a# t
6 \/ T/ }: i' |; ]0 {7 P7 D pLight = GetLight( "direction" );
) A$ k# e6 j( _) ^: b* i1 u6 k$ y& i' V6 [, W9 g
#if __VER >= 15 // __BS_CHANGING_ENVIR7 N" {. h/ t( M4 l, ?: u
if( g_pPlayer ){
+ _3 h! e* H! v& T( a2 { ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
# f; z2 A. @# E, u% I- V1 d" ^+ `7 q3 O if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!3 Z+ s( @, o( G" A n6 B* i, e
{- V7 Q) O: M% z. a
if( pLight )
, f y" Z% `/ J$ y8 S {
% N3 a R6 b2 U2 m pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
- N1 ?8 Z, Q. Q7 u) B M pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
4 H- O, ]' @! p2 H4 ^: C* i; [/ J- k& `( l pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
) B8 U3 ^" n, V) L
/ z0 |, H z) ^7 g: i5 V9 E pLight->Specular.r = 2.0f;
: m2 T6 |9 I5 T6 V pLight->Specular.g = 2.0f;8 c6 s/ q' O, @* m t* {" k
pLight->Specular.b = 2.0f;
+ j; w$ B- y7 X* y; e : u4 a& u+ L: ]; B+ n. H6 h
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
- K, m3 ]+ J7 b2 o. |1 s pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
7 b; _8 C+ v% N" _ pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
: ?# C, B0 n8 `0 {; ^, Z0 M
# ^0 {8 _) {& i# I3 p& C. {+ y HookUpdateLight( pLight ); + j9 X% F. ~" }# C2 h% n
& j1 J0 I& `- S2 ~, g3 L memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );7 ^6 l5 Q9 K7 E0 q( X* Q
; g3 P: d4 P0 V+ _) e! N
pLight->Diffuse.r *= 1.2f;. V& S1 Q4 I+ g" P! l/ w
pLight->Diffuse.g *= 1.2f;
6 g$ B( L" }4 s pLight->Diffuse.b *= 1.2f;# e/ B! S3 A1 J/ Y
( t$ N; G- [. t8 I# |) `) p! F* A pLight->Ambient.r *= 0.8f;! Q, D9 N9 X# R f1 a C/ C2 r
pLight->Ambient.g *= 0.8f;! z; i# B, C3 m: N8 p+ {' x0 T
pLight->Ambient.b *= 0.8f;; B4 V5 y& S ~! Q/ T
' X! G) W1 q* {: A4 { memcpy( &m_light, pLight, sizeof( m_light ) );
5 x- M( h& p& ]% H7 Q, Y. F2 o- R2 G4 ]/ \, z& Z
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);) T( V) [8 o( g6 }( ?5 G: I0 E
D3DXVec3Normalize(&(vecSun),&(vecSun));
: F. T* }7 B& C* Z! f& K pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
7 {' q1 ]) c- U; W" p8 D$ ]- K pLight->Appear( m_pd3dDevice, TRUE );
# @: W2 m+ ]0 L4 b( \- B+ h( P
5 Z9 g3 q0 b5 p+ `& a! r DWORD dwR, dwG, dwB;% Z, n& a$ g1 @ F3 `& H: Q! c' h" I
dwR = (DWORD)( pLight->Ambient.r * 255 );
3 c& L8 R) M1 |9 { dwG = (DWORD)( pLight->Ambient.g * 255 );
8 C7 }: W M" j$ S" a' }; i8 @; w0 Y dwB = (DWORD)( pLight->Ambient.b * 255 );; Q* J; `0 z$ D7 y0 B+ }
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
! V, T! z6 f+ c }! F9 O" K' D/ l6 y5 Q
}
! j* j# T/ P. }( [ }" W: Q' j0 e9 J# B i0 A7 ^7 f, h
else2 X5 E9 g8 A+ s* m4 Y( ?: e
#endif
4 \, r4 y; w4 i* q9 f2 i3 j# N# ^- }! [: \! ?& u
if( m_bIsIndoor )
3 M& q( t2 ?6 m6 P {
4 D, f4 j. u; \& { if( pLight )$ [+ \# N% |3 ^! X, H' r
{ , d' c6 ~; p( x3 k6 D8 I7 r
// à??μ oˉè* $ N9 g! C- M1 F
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
. _8 g" |. y; o pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
9 c& C# @" }- N! B" ] n pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
$ L& r: B" Y5 M- x/ b4 t9 r; m% ?* W3 v
// oˉè* ??à? * [: b1 F; g: ^. u9 i* ?
pLight->Specular.r = 1.0f;
* l* r) h& ]( q/ p pLight->Specular.g = 1.0f;
0 a3 C" y4 m: `6 ^: n2 t+ s pLight->Specular.b = 1.0f;! u6 L# |( K- Y+ p6 U
// àü?? oˉè*
/ |" w8 |. {7 E) r- X6 w" c- a pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
: _( \' [0 p. d* w! d3 k6 \( Q pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
# a1 ~- h5 l& {' s) ~% r, t7 b ~ pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;$ D B9 A- L# e. y
8 l" r7 W6 t2 p2 u5 B) f% L if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.2 W7 X2 a3 g) H& u2 [4 i# R5 ]
{
1 H; x/ P' q$ t pLight->Diffuse.r *= 0.6f;
6 _6 z9 Y* v# \, U pLight->Diffuse.g *= 0.6f;4 N( |6 d5 a& E; i8 ]6 k
pLight->Diffuse.b *= 0.6f;
( o( o% n' E) r* P( J2 H8 [1 V pLight->Ambient.r *= 0.7f;
5 B8 ~5 |* S& z5 q+ i5 m2 m9 r pLight->Ambient.g *= 0.7f;
; P/ O& m7 Q+ P' |* w7 X1 S pLight->Ambient.b *= 0.7f;
2 w! M8 f |, r) Q }. U* ?( [, R6 M# T% E$ ^
- h2 E, `4 F. i3 ]$ e: F#if __VER >= 15 // __BS_CHANGING_ENVIR+ W: k. H: n- a- ^
if( g_pPlayer )5 A$ {+ e/ U5 z% ~6 |2 j
HookUpdateLight( pLight );
l$ _8 Z( j; y$ m#endif9 N( q5 v! Y9 X' E+ m) S
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );% `: F1 j, L0 J" h7 Q
/ b6 I" \( s1 e# n' q3 b* l
pLight->Diffuse.r += 0.1f;
, D+ t9 r3 b0 c7 ?7 I' x/ p( L pLight->Diffuse.g += 0.1f;0 E3 |/ M2 A! A% L) N9 r
pLight->Diffuse.b += 0.1f;0 S* r! A& a) D
// oˉè* ??à? 6 [/ B6 W& f7 ~' V1 N
pLight->Specular.r = 2.0f;
8 _- ]- a- n3 M( x9 `. r5 e1 [% n2 F pLight->Specular.g = 2.0f;) m4 ^' g5 U* C) [# ?6 r/ b
pLight->Specular.b = 2.0f;! n# L/ `, Q6 ?
// á?oˉ
7 p9 w1 g' @5 Z9 q+ o pLight->Ambient.r *= 0.9f;' {% f5 r2 e Q! l/ Q3 u
pLight->Ambient.g *= 0.9f;( c4 D: ?- b, X5 `1 I
pLight->Ambient.b *= 0.9f;
* w# `% j. X% A; |6 y. o6 z9 B& d: M; O2 r
memcpy( &m_light, pLight, sizeof( m_light ) );9 j( k9 p' n7 A" {5 k% I! H
, a7 d z8 q& h w; q. c3 ] pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
3 w4 j! U/ ~. b pLight->Appear( m_pd3dDevice, TRUE );2 g5 b2 ?" S# v
/ s" z6 D+ G1 o2 C2 [
DWORD dwR, dwG, dwB;1 _1 c w1 A* h$ @0 k1 X7 L) d
dwR = (DWORD)( pLight->Ambient.r * 255 );: ]' q) c# R: |: @; a+ _3 ~
dwG = (DWORD)( pLight->Ambient.g * 255 );8 T* v: `3 r B' L* f" u
dwB = (DWORD)( pLight->Ambient.b * 255 );
% e! I% U- |* d6 A9 y dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );$ ^# _ U; e9 s1 A
}
2 Y) H3 z9 R. O& D5 u3 e4 ^+ J4 ~7 [$ C }
/ c- t5 n; O4 o+ Z$ L8 C( K+ S else
5 U+ l. v9 q; ^ {
' k0 V0 d4 R2 y8 d) \ if( pLight )6 E6 l+ Z4 d) k# \+ [
{2 c r+ s' Q) P' S g3 N; h, i
* p5 h! F: I2 X; _8 j3 Z
int nHour = 8, nMin = 0;/ r. h+ }$ K3 R: }4 ^/ }
#ifdef __CLIENT
5 R) W" s; f" d x // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. @/ {( F2 J k) V0 T* s
nHour = g_GameTimer.m_nHour;- k$ \8 `5 W- J
nMin = g_GameTimer.m_nMin ;: j4 p% U. D2 { \) ^/ Y5 r: ?7 e
#else
* l4 k9 M! i* l& t1 _3 C6 x& w // o??o??′? ??°£à? m_nLightHour???* °?á???′ù. x4 O6 f0 [" `; B, }5 g. ^
if( m_nLightType == 1 )7 b$ ~' o2 i0 \, _
nHour = m_nLightHour;
1 Y0 H& f, Y j! ]0 w Z! x #endif
8 V6 b# O/ u, S. j nHour--;
& d, s; [0 f z" u) c! a if( nHour < 0 ) nHour = 0;. y1 s. L1 X" `* l' l! b; C
if( nHour > 23 ) nHour = 23;: A# z+ I4 y3 G# v& F: r1 r
% C. ^: [ l f- R! z
//if( m_bFixedHour )
7 O8 m" E# U, T. g2 w' v3 ]5 S! ` // nHour = m_nFixedHour, nMin = 0;
. B4 {# b5 s, A. s. j, T7 G. T6 O- i LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];7 T6 a# C* U$ [8 k9 }6 y p
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
6 S9 U1 W1 T+ d2 D. T+ ^4 o$ H) c$ [
//m_lightColor = lightColorPrv;( e+ p; x! A1 M3 r" d7 g
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
3 G& v0 y# r) J) y2 d/ E. k lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
( s$ A* Y1 @1 o4 A1 G. q lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
* d1 r& a; z. \/ Z7 _ lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;: z% W4 ] N$ h: L, \
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60; x) x" F- b$ C4 T F, K! p- Y
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;: B e$ `+ c$ m! d
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)4 I6 I, G5 |0 Z* R
- C1 Y6 P6 l$ k/ ?* h. e/ ]$ ^ // à??μ oˉè*
$ A4 Q8 y+ D7 W3 C, B pLight->Diffuse.r = lightColorPrv.r1; F1 A$ B% M b0 F
pLight->Diffuse.g = lightColorPrv.g1;* O) N# J9 M' y3 \( y4 f ]/ }8 _3 ?
pLight->Diffuse.b = lightColorPrv.b1;
6 \' f! I" Q: W6 j0 Q // oˉè* ??à?
/ w$ f6 {( E/ U pLight->Specular.r = 1.0f;
. Q9 ]* z* i. v' i0 C* X$ N, k ?2 N9 S pLight->Specular.g = 1.0f;
( t' g$ t; W6 O) l {, | pLight->Specular.b = 1.0f;
9 k9 m$ X1 k) n) L) G- v, F2 ` // àü?? oˉè*
- t% j" b( i) {, g3 j pLight->Ambient.r = lightColorPrv.r2;9 r& s& V& X$ {1 |# _4 K; R
pLight->Ambient.g = lightColorPrv.g2;
" a2 B$ l6 A5 v' W pLight->Ambient.b = lightColorPrv.b2;
0 j: O6 d! s! {( P5 @% u! r% M9 r; g+ ]* {, K2 k9 i: u
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.! i& g. H3 k; U
{9 R/ F8 P) i9 U4 T
pLight->Diffuse.r *= 0.6f;" o, d) `3 k6 W& C. g" e3 J( Z' h
pLight->Diffuse.g *= 0.6f;$ L+ Y8 a. j: `1 V ]8 w- }8 B2 t
pLight->Diffuse.b *= 0.6f;. }7 A" i( Q6 `& Y! f
pLight->Ambient.r *= 0.7f;
3 `$ B/ g" x3 g! h pLight->Ambient.g *= 0.7f;3 m. D" |8 W! s* n/ }9 }7 G0 i7 g7 C
pLight->Ambient.b *= 0.7f;9 F! W2 g( I" i" e
}
' ^- u* h; k4 j! u) n , i, }% M1 b# v$ D. j0 g, j
#if __VER >= 15 // __BS_CHANGING_ENVIR) j6 h6 J5 \0 S3 q* K2 Q( Q
if( g_pPlayer )% o+ A, ` O$ e3 y! B( n/ o! z! u
HookUpdateLight( pLight ); * h; p1 j# j4 `. b) a, W
#endif
) A% c/ |# w7 |3 _6 C& n. o memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
- T- \+ U1 x7 h# @# I' W' y! y, ]/ r* ]$ e% }& D9 {
#ifdef __YENV' i3 f" h" b" k
pLight->Diffuse.r *= 1.1f;1 w) O$ E6 [- Q
pLight->Diffuse.g *= 1.1f;& n: g/ a2 n7 j0 g
pLight->Diffuse.b *= 1.1f;2 n4 p: O# l% f0 i
// oˉè* ??à? & J R: q% M- V$ U! R' v- A
pLight->Specular.r = 2.0f;
: b" \# r* ~9 K. z. L pLight->Specular.g = 2.0f;- V! y/ {4 ]0 g
pLight->Specular.b = 2.0f; \: Z Q: z* N8 L2 z, S2 d# V e
// á?oˉ 1 \) [, _7 ?8 }4 `8 \) V
pLight->Ambient.r *= 1.0f;: D/ O' ]9 z7 U; ~: b
pLight->Ambient.g *= 1.0f;
/ S1 n! k& p% m pLight->Ambient.b *= 1.0f;. [( [: M) \6 Z M9 G# m; g, S( e
#else //__YENV
0 S0 O; ~: q6 \/ Y# x6 }0 u pLight->Diffuse.r *= 1.1f;
+ T* V. u& v j8 ~+ h3 C1 }' i pLight->Diffuse.g *= 1.1f;5 ?% n7 s( o; c' f" L5 `
pLight->Diffuse.b *= 1.1f;
- R. U) x* T4 T2 L! h8 O0 M7 T // oˉè* ??à?
2 X8 Y, ~& u( q7 N* ?) O pLight->Specular.r = 2.0f;
; D7 d' N& W3 N8 _ pLight->Specular.g = 2.0f;. H7 j" [$ Z; _" r% G$ M
pLight->Specular.b = 2.0f;5 w9 u, E9 p& v7 q
// á?oˉ , j7 `8 h m/ |& K% Z( V) I
pLight->Ambient.r *= 0.9f;" o+ A7 `" C) d9 ^2 Q
pLight->Ambient.g *= 0.9f;; L) K; Q: t( K+ p( }/ T
pLight->Ambient.b *= 0.9f;
( \) e9 F* R D* D& P7 A#endif //__YENV + x) K6 E6 `/ R1 X" P0 j
+ r3 X9 _; [, G0 m memcpy( &m_light, pLight, sizeof( m_light ) );
# O+ Q! b. k8 k+ ?- X* r 4 F8 {) o% Z6 ^2 m
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);* q7 W" J) C! L$ y3 ~: j
D3DXMATRIX matTemp;
( o5 P" x' ~9 P4 F static const float CONS_VAL = 3.1415926f / 180.f;% U3 Q# r$ I4 I) g) f
9 j; g$ F3 n4 K8 s8 w, \ D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
' J C* k. v# d. z8 M D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
* B/ a2 Z" k/ D) v9 S pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); : j3 L. d) L0 m5 l' Q) K
pLight->Appear( m_pd3dDevice, TRUE );2 h/ q( I& U, F
" @5 P. u) ^6 H" t1 K( C3 s
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 Z) @4 x6 u1 O3 l+ I& W! m // D3DXVec3Normalize(&(vecSun),&(vecSun));
8 s- e8 |% Q! q6 b // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
5 e: q1 o" A+ F2 q/ [3 Z+ [6 k8 k4 |8 u$ R; Y! e( c- m: F, G
DWORD dwR, dwG, dwB;
: P' F* k2 z2 T s9 z dwR = (DWORD)( pLight->Ambient.r * 255 );
% p7 o; I9 c$ M" U) O* e& _ dwG = (DWORD)( pLight->Ambient.g * 255 );
/ I# M: [. F" L3 |* Q% k0 U dwB = (DWORD)( pLight->Ambient.b * 255 );
6 e* ?5 R, c4 _# O dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) o: N7 n4 {6 k, }2 B }
D* i$ m* W/ ?7 y6 L+ r2 ? }- o @2 U3 b# _9 L% A# }. `8 p: `
/ p6 V; u/ B$ |2 w+ s& @ m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
, j" h5 a9 I M2 j( C1 h 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) );* z+ M5 O1 v, ~5 ?; {+ v
::SetLight( bLight );
- Z* @$ n: Z1 N
1 n0 I4 z; D; \. e // ±ao? ?D?í???ó á¤à?
5 r4 A8 |& S+ } m_pd3dDevice->SetMaterial( &m_baseMaterial );
* W6 O# D, L) [& M7 g) r, m2 ?) h( s T
9 u/ a3 {+ l' ]- M. k& j#endif // not WORLDSERVER
$ M' a+ n5 E* A# H- G9 J} l3 o- ^2 v; x& T5 V
并更换: u. B- o( s, F% o" G2 N8 o
Code:( E% S9 C _5 }( f
__FLYFF_INITPAGE_EXT5 g5 c: Z: s; N ]4 f2 a! s
定义
' `8 n3 Z4 F A( s) I, I% P/ b$ D* r% j; D( u/ k
# C% U8 J! I' G# s6 c: c
f9 h9 e1 C2 U; [0 l2 a9 N5 C) o
现在终于删除我的狗屁加速...2 j( |. K9 m" ]" T7 h- e% K
. w& L+ [9 w& x
$ }( e2 Y! C; }; o$ {5 U
0 p! g+ l/ e p2 }+ e
|
|