|
|
食品车:+ i% x6 t1 z0 |# L1 z% f
尾翼:
6 R) k6 x! j5 O. u7 x6 `4 [, v+ S
9 s( s% u) q! Y7 l2 M; N/ Y; |代码:
3 i" S5 N, y/ t% M* o& E# O% `; qCWndAutoFood::CWndAutoFood()
8 `6 e4 M6 R# u9 e$ G# b{
- \: q: t6 m% A- _ m_pItemElem = NULL;, b7 j- h9 x3 i
m_pTexture = NULL;
4 B7 s# ?$ x9 j$ m bStart = FALSE;
6 L3 T) j0 l( o9 ^) c}7 V9 m5 i2 w6 R4 S
9 o! w! O" i1 T0 |2 g' J+ d5 O
CWndAutoFood::~CWndAutoFood()
9 I+ j9 b1 j4 T5 I8 ^{8 @& ]' A) j8 g+ o& H
AfxMessageBox( "AutoFood ist gestorben " );
3 Y2 L& o5 J. W b$ k}6 J: h+ o+ m- y' E4 B! z- d' U7 U6 _
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
- @) s) j: n2 D{
- S2 P( I) F7 k" ]. Z5 q& w return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
. |# C* g/ i% z; ^4 g}: Z1 w& C Z) T; }9 u% Q( Y
/ d) W/ z; \' G7 D7 n+ m2 Z
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )# s0 r" D( N; d7 m& t5 u
{
, m, k6 }: Q9 k6 |! u LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );7 d& O8 j3 D; R s3 @
CRect rect = pWndCtrl->rect;
6 m1 c: O" Y! Z' z if( rect && rect.PtInRect( point ) )* G$ {8 U$ U7 f* \8 o, D8 E
{
6 w! |% B2 ]! n CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
7 J' p7 X! f8 P! p: j if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )% v8 ^5 J' N& G, i' z5 K2 D& h
{& M. ~& [ H: ~' w
if( m_pItemElem )+ Y! q: S$ h# s
{
; A$ D% _- Q# u m_pItemElem = NULL;
# S% D- C0 b/ w- D }
. y) r+ c8 l- h* g" G m_pItemElem = pItemElem;
7 e3 ^/ u$ O: g! ]3 u m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );& [ r n; E! @8 ~
}else{+ h6 i o" X- ^6 }" r( P& ^
SetForbid( TRUE );2 D/ S9 f9 `) B* H) X! u$ _
}# |; G0 g7 t! w2 I: b- p
}else{, G1 i9 j( _) P3 A; L, [
SetForbid( TRUE );
Z* _; a' m' H1 F# H& m! S* ^: Q }
* V1 Y$ m' l q% h return TRUE;
% ~/ g& r5 [$ v3 }0 U2 y}
. M8 Q# n B( I( V! K' I V+ j P- e7 s+ h
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
! t; B7 ]8 A, G! S: N& p! s{
% l. j) Z4 v9 l( X2 t3 n7 \ switch( nID )
% w' K0 j; M1 M# I4 _3 ?* W4 D: d {' a, I+ h9 a* A) n
case WIDC_BUTTON3:) X9 z. b6 Y% c' q, b6 i
{* n5 R& @4 n3 T$ b7 \/ t
bStart = TRUE;) H# d8 b+ a3 W# _- }, R; b4 E
break;
$ s# @1 }1 N# i }0 e: U: N$ D+ ?: ` {+ N
case WIDC_BUTTON4:
1 m7 }! y+ A4 G4 S {8 Z% @. F5 q9 w" Y
bStart = FALSE;, D2 H) K7 Z! Q7 `2 G+ T
break;/ c9 g$ p2 ]: C3 ?2 Z. X0 \
}. G/ g# }9 `+ s2 |( [: ^
}
* n1 w( @* n5 O: U# F return CWndNeuz::OnChildNotify( message, nID, pLResult );! R; @$ ~ @. _* ?6 I9 z
} ( L c7 m7 K3 r, t" W
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
0 `3 X& W3 @% C/ e8 y4 g{
6 i# ]! o( {' ~# K3 B5 a% w CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
& k4 {$ T; O2 a+ S6 J) { if( bStart || !m_pItemElem )/ {5 L# N! @. E5 W$ E& J: g+ @
{$ \( ?0 r7 H. ]1 D
pBtn->EnableWindow( FALSE );; o: T* j s3 I3 o7 B+ K
}else
0 f- `5 k9 l* C3 }6 y5 J$ i" E pBtn->EnableWindow( TRUE );
8 C& ^9 N% ~) e if( m_pTexture )
q- Y* J2 S4 k- |1 l/ J {# C; P3 Q2 u6 `( |& d; h
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );2 \6 s& o0 u& B+ K, z I0 ?2 r
if( wndCtrl && wndCtrl->rect )) d( @+ U0 h0 n7 Q8 u. v' B" N# z
{) c' E$ `* J* a/ i6 ?3 Q6 J
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );9 N4 `( c4 x0 U) a8 ^( H9 x7 x/ Y
}& K* ^) F' F g; T/ C" q# x) W
}
; r- [3 N4 }! s/ }: ?- K, I}6 |/ K e6 t/ w8 u! t, W
4 w, h; Z! U( @% O* tBOOL CWndAutoFood: rocess()6 I* i. P' L+ Q9 s, b
{, ~; ~/ g, a, A/ }9 m+ \6 l' \3 _
if( bStart )
$ ~9 |1 \* l" K# v8 } j {
/ {$ `% s' x/ |, Z if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )8 z& L8 s* n5 Q; G' D" _! u
{
1 `5 A* I' F5 ~3 ]7 G7 H3 G if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
8 X/ P7 V8 a v g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
* E T: \% o/ I) Z% x! T2 k5 _/ C5 c }else{
( G5 Y( f7 I3 B% g* A bStart = FALSE;' N9 o( l4 r j4 R" o: r
m_pItemElem = NULL;# e) F( k% s A" C# K
}
, {3 c$ z- k0 s+ v3 P }
! w8 b" R" I1 C2 K( A return TRUE;
" H5 ^5 S7 l- W+ h}% T2 B$ b; H0 a- I _2 K4 a
2 E) x' W6 ~7 \4 A1 ~& P0 K登录视频废话:. x! d1 e" X; s% ?" V( ^
尾翼:
6 K% `# ~7 T" G0 h- |# r* m; S1 k7 k0 d' B" g [
代码:
' u/ I5 o2 t. T( q% B
( T, m2 \4 S8 l9 x' m% p5 Jvoid CWorld::SetLight( BOOL bLight )
# r+ D* l( \3 \& t* G8 U( v V4 ^2 hdurch
H3 t2 A: `$ ]3 HCode:1 R+ o4 I8 {, I: n
void CWorld::SetLight( BOOL bLight )
$ k, f9 s$ v; ?7 S3 g# W& a# O{" _. D" |4 R2 x4 n2 ]' @# T
//ACE("SetLight %d \n", bLight);5 k- Q+ X! |+ i- Z! q
# A% H7 Q: |3 M, {#ifndef __WORLDSERVER ' {# V: N5 c' J2 M
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);0 x4 R" }; a+ e9 k. @8 H" W+ u
CLight* pLight = NULL;3 q5 L p8 t6 b! X+ |- h" G
7 ~3 V8 r# L: K! W+ P9 \* n& n% m- T D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) ); s; P' z' h7 n$ p* t) r! |
" Y9 q6 \' Q6 T, Z, p: |3 X, y5 Y
pLight = GetLight( "direction" );
" m2 Z4 x7 E6 h$ R# ^: F5 V
; x2 X# l4 D% R) U6 X* i#if __VER >= 15 // __BS_CHANGING_ENVIR' Z) e1 L" V- u4 N8 R
if( g_pPlayer ){
9 L- _6 ^5 o, s5 e6 R ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );/ a# @8 [& N( g- D1 r/ C& w
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!: M' j6 e* c$ K" ]
{" K) R) q0 H& R' d' N& f
if( pLight )
8 ]' Y' n7 J1 y# U' G7 |2 k5 | {; i% X1 b, X8 N
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];+ H; m6 m" b8 A% j' H# I Y3 d
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];2 B/ J5 A- m# E+ u/ Q: W
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];9 C6 @7 G1 R% I, h' f; |
5 d8 K" _6 z2 l' b/ B pLight->Specular.r = 2.0f;$ K. G# t. X0 r8 N
pLight->Specular.g = 2.0f;2 U$ n! ~; D" } [3 a9 G2 m
pLight->Specular.b = 2.0f;( @3 d1 @; l* R$ I
1 N3 f* p+ {; C# z$ ]* _* {8 M% i } pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
) @, F2 R" T# R4 s# x pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
) ]# G; S9 u+ z( D pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
4 r' y8 t4 ^6 ^# K
9 X2 I p4 Z# r7 Q$ q) ^8 t' e HookUpdateLight( pLight ); - c( [% J' D# s% L
7 q: F% F) q3 A ?* c% _" y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
* @8 h( h& }0 b+ ?8 p7 j/ D
1 g: P- n t" @ pLight->Diffuse.r *= 1.2f;
) A% r2 N- t: @' ~& C( f: F2 l pLight->Diffuse.g *= 1.2f;
5 N( @6 A: g3 J. R1 y: m p9 \! i pLight->Diffuse.b *= 1.2f;! |1 _, I6 B- S6 |8 Q8 h
) a0 [9 t# W4 }% E. [* A9 @- N pLight->Ambient.r *= 0.8f;, k; [: A' z' {5 ?% l4 }
pLight->Ambient.g *= 0.8f;
* ~4 ^; r& ^/ ~6 _ pLight->Ambient.b *= 0.8f;1 e" F, x1 y, G) Z @3 U6 C/ l0 _
3 q" P$ L- F9 o
memcpy( &m_light, pLight, sizeof( m_light ) );4 |/ P9 m" J# Q+ W! {) r7 M4 g
, l4 M4 {9 b/ M( M8 O D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
9 j- \! _1 o3 u, [+ T6 _ D3DXVec3Normalize(&(vecSun),&(vecSun));5 U0 V0 k1 A `2 T1 t% W6 N
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
' [" a0 a6 N; E& e, J. k4 `( k4 u pLight->Appear( m_pd3dDevice, TRUE );7 A0 F" `$ F4 T. V1 m- Q7 R
* E5 `+ W" O4 C' @4 ~2 R$ E2 r
DWORD dwR, dwG, dwB;
- `5 u4 \& ]; Z( h: x dwR = (DWORD)( pLight->Ambient.r * 255 );5 a3 V0 d+ c: V% v' t. q g
dwG = (DWORD)( pLight->Ambient.g * 255 );
4 k# A; q) y8 v. j" }( S6 N# z. J dwB = (DWORD)( pLight->Ambient.b * 255 );
, A: m+ P( {6 d6 i5 E4 J dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );, T+ F4 t7 _+ S& ~, {
}$ c* J$ }; z/ g: q
}% j& S% d' M" \( a; {, `
}% e# ^- V! p; z
else
( t' I9 o* W7 }6 n' O#endif
8 ~( ~6 E. V u$ X" m+ {
/ o8 {, O/ C% L* d3 V if( m_bIsIndoor )
2 A2 [" C# a5 r( A {
+ U; T+ l- |. U+ I7 O! j7 I if( pLight )# b4 e% U8 S2 q- p: G9 B; u
{ ) K+ }/ ^! }1 @6 n" {
// à??μ oˉè*
8 Q3 O+ [# E- h/ S# H pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
, `0 L6 o+ M, [5 u pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;2 j6 |& A3 l1 r& P9 Z; c
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
S* b# n) Y3 [3 t1 c
$ y+ h5 w$ n2 m3 ^' Q: M) n; N7 g // oˉè* ??à? % l- m0 `- [: t/ Z# N
pLight->Specular.r = 1.0f;, I! a5 U8 K, N3 ^
pLight->Specular.g = 1.0f;4 ^( W+ f$ d- @2 ~
pLight->Specular.b = 1.0f;* Y) B3 k+ l6 ~2 U& F# L* f9 z
// àü?? oˉè*
( A9 A" X4 |5 k. f& I6 | pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
9 l. b2 [) g: p {& K; [7 F pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;* F( \" j' O* }
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;0 h5 d( a' t) T% x
7 O( g2 u& i/ d3 A A, e, z# q if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.5 q$ t6 t& t5 G9 Z- H& B
{
6 z: B- ^3 _% k4 {2 z pLight->Diffuse.r *= 0.6f;& j0 k& W* z/ }: _5 B6 X; K2 j
pLight->Diffuse.g *= 0.6f;, {- r" J2 d5 F t0 b* k" k
pLight->Diffuse.b *= 0.6f;) h" ]- G3 }; o: _2 F
pLight->Ambient.r *= 0.7f;
) C# `- P- p# ^$ B- r$ ~9 R' Y pLight->Ambient.g *= 0.7f;- @4 W' ?' a. Q2 n Z
pLight->Ambient.b *= 0.7f;7 p$ g6 d9 q9 t7 Q( w
}2 G C: e! f9 E7 A
, X& B G+ |* z0 K1 x3 v0 A#if __VER >= 15 // __BS_CHANGING_ENVIR
. j d# y" i* g2 q; H if( g_pPlayer )7 d3 x/ D1 } g! ^( {; b( X
HookUpdateLight( pLight );4 n/ N' [7 U, T% D9 t
#endif
: h4 N6 s+ X2 H memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 }# t( I+ [4 L& D) n* {5 S4 N5 }# b
$ J# [. `9 g% s w1 k" W. @ pLight->Diffuse.r += 0.1f;
@: X2 ]& m% ]* @0 z% D" d pLight->Diffuse.g += 0.1f;5 }7 L0 A, Y, z' X
pLight->Diffuse.b += 0.1f;
4 J, r7 }! i1 J$ k; n$ ^+ C5 }( N) K // oˉè* ??à? 1 o& A# J+ k- F" |; }$ @, ^% G. Q/ \
pLight->Specular.r = 2.0f;( s. H9 g/ |% q* T k, R/ _, q7 c/ g
pLight->Specular.g = 2.0f;. E; K8 f5 E9 H$ f0 y( l- ^
pLight->Specular.b = 2.0f;
7 Y! L5 s9 |' b$ K g // á?oˉ . O7 F( W+ ~& O: h6 ` ^+ h& d# C
pLight->Ambient.r *= 0.9f;
4 ~. c% L! ?. Q7 R, v pLight->Ambient.g *= 0.9f;4 o) S$ \0 ]/ B( M( A: I, \( H3 h
pLight->Ambient.b *= 0.9f;. p+ c: M3 T" Y- k8 V+ S
9 p b" E! M7 [2 n, a+ g" s( }0 d4 { { memcpy( &m_light, pLight, sizeof( m_light ) );1 A! X4 l$ ~$ T! M$ x5 M# Z
) }: g! t& a& [& A- l( P( @ pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );! h, I# A2 W# f
pLight->Appear( m_pd3dDevice, TRUE );
8 ^: w1 [1 A0 \) o1 h
4 ]" k# X/ Y1 y& l2 c/ ]) W DWORD dwR, dwG, dwB;
& y8 V% h3 `! Y, [ dwR = (DWORD)( pLight->Ambient.r * 255 );
/ `$ t+ C6 ?/ Z7 G/ B/ g dwG = (DWORD)( pLight->Ambient.g * 255 );
" W* P8 X/ ^9 f- Q- B5 h* Y dwB = (DWORD)( pLight->Ambient.b * 255 );
7 I B# i& c8 t dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
7 G6 w7 ?7 m7 e }
! g2 T. f0 B1 | }
% i( s/ Q3 m) m8 \* s else3 ?6 `- M2 }) _' D/ L! E+ {
{
0 O O' q# W# q: N* f8 d8 \ if( pLight )# \6 h+ D3 l' L5 i! A
{
9 U' C3 R5 ?- E G, q% l 7 T) Q" S# E# u: c( D
int nHour = 8, nMin = 0;
% ^, R. z1 Q4 w: M# d* m #ifdef __CLIENT; n A9 U3 m. Z' u& w
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
" U6 ?# p; }, ~2 m8 Q& u. R nHour = g_GameTimer.m_nHour;8 Z' i2 z+ U& U- E4 K5 ?
nMin = g_GameTimer.m_nMin ;
* A. ]# \" d5 @ d$ M #else
: s: t2 j; h5 ^6 W% J // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
5 d4 i, Y5 [0 E0 V& j if( m_nLightType == 1 )
1 ]7 Z6 b$ I4 a' a nHour = m_nLightHour;
. K4 G8 |0 ~+ b #endif
, z; ?; C" {% y6 d0 q6 V nHour--;) H0 [$ O9 [. f* D3 I
if( nHour < 0 ) nHour = 0;
% z9 s$ H3 p% _- k( K if( nHour > 23 ) nHour = 23;
1 F9 l' F4 g2 n& F
$ {; \ ^4 M- A% D //if( m_bFixedHour )! I( U3 y/ M/ R! _, f# M1 Y; X$ l* R
// nHour = m_nFixedHour, nMin = 0;1 x& [# W1 y% \( S) O
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
: g; t, i' U. V* L2 g% T$ I- } LIGHTCOLOR lightColor = m_k24Light[ nHour ];
0 r6 D( m/ \3 |; m) p6 N; ]! K) F6 ^5 \: Z4 [& J' F$ A! p V
//m_lightColor = lightColorPrv;
7 R+ ?1 i0 e# G; z lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;- Z1 Y7 B5 ?" D. t( ]- T7 A& q
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
! e4 B) {: _* a/ ] lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
3 L$ b! j6 |% i2 k+ @! a3 B' c lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;* _3 M# U5 i3 Q# k! g l
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
+ P! G9 S/ a+ e6 ~! k8 [* r lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
% b$ K6 ]1 b( N3 O" F* S // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol); Y3 J2 D3 s2 o8 K+ I) Z
$ B. k& c: R' M2 r3 a
// à??μ oˉè*
* K. b, d; a6 g$ ` pLight->Diffuse.r = lightColorPrv.r1;
6 M, C6 h/ b& ^8 a/ P3 q: y pLight->Diffuse.g = lightColorPrv.g1;
^* w: `/ r, Z6 a( K- p pLight->Diffuse.b = lightColorPrv.b1;' R+ w$ c( u6 v4 U8 z, j, c7 [
// oˉè* ??à?
. g! Z5 a4 ] m. n% r o4 T pLight->Specular.r = 1.0f;
( R4 p& ^' C0 g9 w D' a+ Y pLight->Specular.g = 1.0f;+ L9 L3 {3 y2 S! {% v0 G' v
pLight->Specular.b = 1.0f;
: D: Z2 b4 O% K) z% r" i; f4 u% p // àü?? oˉè* * h! L' C$ H3 r' s3 i
pLight->Ambient.r = lightColorPrv.r2;
: B$ m' `8 M/ G% n# t F pLight->Ambient.g = lightColorPrv.g2;
' Q/ e" V. [/ E$ E pLight->Ambient.b = lightColorPrv.b2;
6 i X/ G( l1 D+ g% Q, c* E& a3 ~' ^* O
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.0 n0 S' M, ]$ `" S
{
# A/ ]! R1 w% h% @: ^ pLight->Diffuse.r *= 0.6f;
' L! I& L: e6 u2 A& y9 @7 c pLight->Diffuse.g *= 0.6f;
+ [$ i$ k- L O pLight->Diffuse.b *= 0.6f;' {0 _. K& K" |
pLight->Ambient.r *= 0.7f;4 I2 Z8 U7 ]/ B
pLight->Ambient.g *= 0.7f;! s; a' e: O% ^! S" R# V
pLight->Ambient.b *= 0.7f;
) R: ]. z. s% L }' E7 M) r' ?" ~' C% a! ]- }
: Z9 n. {) N5 Q
#if __VER >= 15 // __BS_CHANGING_ENVIR7 W+ _! F, b! J& m
if( g_pPlayer ) i# S b* `, w, w6 Z
HookUpdateLight( pLight );
r: K# N$ Q+ s( ~& S#endif
4 B4 |3 ?9 T! [# X$ | memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );. z' l" z8 y# V" \ Q& p
, L# f$ _0 o' D
#ifdef __YENV
% m2 e7 e2 O9 E pLight->Diffuse.r *= 1.1f;+ `) Z Y j2 n: |0 a) r9 @6 N
pLight->Diffuse.g *= 1.1f;
8 O0 O7 W( d. C9 {5 f3 r pLight->Diffuse.b *= 1.1f;3 [& D: q8 m* ^4 R
// oˉè* ??à?
2 |4 g* j2 q" _ y pLight->Specular.r = 2.0f;
9 }2 q4 D# y0 b pLight->Specular.g = 2.0f;, B! j4 S9 S# I) E
pLight->Specular.b = 2.0f;/ f& @1 N1 E; \9 F
// á?oˉ * ?3 v: S, u* m
pLight->Ambient.r *= 1.0f;1 R2 V5 e/ v( Z: r$ f5 t% a
pLight->Ambient.g *= 1.0f;
& V& m* T* X9 B pLight->Ambient.b *= 1.0f;* s/ w* L4 u7 c, b
#else //__YENV
5 Z' t- }% G4 s: v- t pLight->Diffuse.r *= 1.1f;
8 S- T* o G3 w9 X" H/ @ pLight->Diffuse.g *= 1.1f;! p q: U/ h- r( x3 n! A( ^
pLight->Diffuse.b *= 1.1f;
4 q. W/ t/ j- A* p) g // oˉè* ??à? * J7 w8 `: t; E `* y1 @
pLight->Specular.r = 2.0f;
+ Z }$ B# e3 G pLight->Specular.g = 2.0f;
m$ [. u' b; a. } j0 I0 i pLight->Specular.b = 2.0f;
' b4 s; V6 \9 q; O4 A // á?oˉ / u6 a* v- K. N' n# _
pLight->Ambient.r *= 0.9f; s1 y3 ^) n W3 q
pLight->Ambient.g *= 0.9f;& ?- u( p I$ r% Y7 c4 q
pLight->Ambient.b *= 0.9f;, k5 w. L8 B5 j" H& H4 m* U
#endif //__YENV % ]$ n! a) ^2 Z) }4 T# H, Y" s
' b; ^3 Q, s# v6 M! L4 f
memcpy( &m_light, pLight, sizeof( m_light ) );
1 d. o$ U" m* O ( t; C' N6 a$ l
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
7 N6 C' \) f: O D3DXMATRIX matTemp;
3 i. H4 ]2 V6 `8 | static const float CONS_VAL = 3.1415926f / 180.f; D% \; B; V: W, O! `
: ~ [( M" D2 j, ~4 x7 f: y( Q# E
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);+ i3 H* |, p+ T/ }1 q
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
y/ i0 ~0 M5 [! ] pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); # v i6 h; s; D) k. j) [
pLight->Appear( m_pd3dDevice, TRUE );" c9 @% K; u, F& z6 h, K
# s0 V0 W5 x9 z- M' t# r
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);! E. b. H) x8 t
// D3DXVec3Normalize(&(vecSun),&(vecSun));
* v" \" R# I; ~( b# e$ H // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
& k$ ^" | W+ o
" O* b/ u; Z, u* { DWORD dwR, dwG, dwB;
* ^' s% J4 @, K9 {* L7 @+ g dwR = (DWORD)( pLight->Ambient.r * 255 );
6 a( t( S2 c3 t- f" @ dwG = (DWORD)( pLight->Ambient.g * 255 );* P7 k3 C2 b! f. q! g
dwB = (DWORD)( pLight->Ambient.b * 255 );
" Y; p, T2 s" f* `( ^' e: f: M dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
8 F. J, B) D/ Z2 W4 E$ d }
3 K, W5 \* i' w }" Q. I, D% D# b( p# M5 I
6 H* j: O, A; y& S0 Z8 W% X# {, _
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
8 n# y3 c% ?* g6 {4 \) q 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) );1 L4 R: Z4 {9 K
::SetLight( bLight );: c t& s) A7 B; S4 ^; A9 b4 H
8 f. r/ v! S+ p+ J) N3 v4 L
// ±ao? ?D?í???ó á¤à?
$ D9 L' E4 M; r5 }1 x( Q7 s# h m_pd3dDevice->SetMaterial( &m_baseMaterial );
; D* c- w7 m d: k9 s. P6 [
7 e: \1 G( w$ ~* D! B#endif // not WORLDSERVER
6 I! j0 T; |- V# V}
* s/ C6 l& e. e/ A ^" Y并更换
6 `0 ^' q3 c% m1 N) u P: } \Code:+ H7 y8 E8 e* V
__FLYFF_INITPAGE_EXT. W. y2 c6 B1 ^/ `
定义0 k& [1 P, r, k. A+ D' l' ^* E
3 G* E; f4 y, r: t- ]# @
4 |- g% e9 B. }& |! T0 K) J$ {5 t
; z2 d, D0 n7 N$ j6 B% Y
4 l! o' M, W4 d: |: r! S4 j现在终于删除我的狗屁加速...
. D8 [/ c- h3 R+ b4 t% _
- o3 B, v0 i1 x1 V2 ~9 k) B0 u4 W8 L, T6 u" Y# K" D- u/ ~3 X
& a% b0 @" B0 O) }6 J: m' n
|
|