|
|
食品车:* \! h: k* W+ g' |8 N9 i8 h
尾翼:
1 f3 I9 H: j2 _) m. E( W+ H6 m1 |7 [" ] g9 B4 W$ o
代码:
% d# X; l U6 R/ S2 L# xCWndAutoFood::CWndAutoFood()! ^( f' n' ^! U. j' F( v
{
" p! l9 K; m4 Y6 x' E* S5 G5 O: k m_pItemElem = NULL;/ J. j8 a- k& b, ~9 F s
m_pTexture = NULL;
! B4 {5 S" y% T9 U: T, | bStart = FALSE;# i5 J5 s# u& O; A
}
* p5 b, Q4 Z9 w+ U4 d. b
7 z( w Z7 {, jCWndAutoFood::~CWndAutoFood()
2 e8 t* q8 N$ [3 K+ h{
' i0 |7 j5 q2 i AfxMessageBox( "AutoFood ist gestorben " );
3 s9 L8 g3 U, g( |}
; z- Z7 n. T8 b" t. d# SBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
8 M1 I+ b/ a/ p* ~8 C1 q* V: k{- F8 \+ f* i3 n. I
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
) t2 O2 Y6 G7 T) b}
: r+ M, c9 j g8 u
( P1 o% d d+ a9 MBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )) p0 |$ N! ?7 z2 t7 r$ [# a4 E
{
6 U: ?3 L" T1 w. U$ C, p; L LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
& f) A& ]/ F3 I0 q CRect rect = pWndCtrl->rect;
6 _& X$ t8 ^. K1 y* r if( rect && rect.PtInRect( point ) )+ M( P5 a1 b" G
{
2 ]2 n, N6 v! I% Q0 c y' w CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
9 A( g. d# E. e/ Y5 a if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )0 C$ g& s* J( k0 _% L
{4 Q" y% R. F6 u* [3 d4 f
if( m_pItemElem )( u- t' a( O2 r6 f _0 F6 n6 o
{$ o# r5 v* ?* W8 @5 c
m_pItemElem = NULL;
) R+ a B0 k& T, T) v }
4 d# |. E2 y: _9 ^ m_pItemElem = pItemElem;
4 O- Q1 p" K4 H. o8 u m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
$ \: R7 x' a! |! E1 ] }else{
; a) ?0 ]' ?9 [' p( `& Z& h2 q# V SetForbid( TRUE );
+ b( N1 `" I3 q$ k" g, r4 _8 X }
/ ~4 v) C7 ]1 ^3 c' [) s5 O }else{3 Z6 j2 [# X2 |
SetForbid( TRUE );
0 ?' R& i9 Z7 X0 y2 i+ U+ ? }
, Y& Y0 T N ] return TRUE;
3 l4 i( p3 ]4 N9 R( K1 f7 @}2 l0 ?0 q- n; {" v4 D5 q
; {6 M- z! `8 q- |6 ^: f
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )8 s" i& M! y z$ f8 S' Y7 w, [
{
* ]3 N, [( X2 W. b switch( nID )
! d5 c# _# a2 R( u( Y {% J- b( `) L, w$ h1 o' f
case WIDC_BUTTON3:
- ]0 H- @ m3 [( ]0 ^9 m2 C {6 w9 R* O3 m; @3 q0 w( P
bStart = TRUE;, L; I Q- s3 [
break;
4 X1 h% e4 i' I$ m }: }, b% R4 O! R, ?% K
case WIDC_BUTTON4:
) j" R4 h7 l! t- Y7 T {2 n' e5 ?) Y) `) ]: `0 l: d
bStart = FALSE;* F' v# k: ^5 C
break;. D. R1 x0 I+ ]- o3 |+ P
}
! \8 w+ J u7 B6 p8 ^; H }
; t, i7 ^1 \. r+ I8 ^/ c. @ ^9 Q return CWndNeuz::OnChildNotify( message, nID, pLResult );( h3 i o( A* _0 g6 g% j6 {. T
} # a1 y) w4 |& t
void CWndAutoFood::OnDraw( C2DRender* p2DRender ). H8 U: G9 G' P* n
{
h# i. X2 w1 B. K7 V CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );) I4 Z7 M/ K% G
if( bStart || !m_pItemElem )
4 e* _% S" v2 ~% \$ B {5 P- R! a9 r% F; j- ^3 `# O
pBtn->EnableWindow( FALSE );
0 c$ Q2 F9 M. P B! \: | }else
$ {" w$ n% \, U& p) b pBtn->EnableWindow( TRUE );4 }7 y/ ]8 w6 e
if( m_pTexture )
* O. |# P& |' J {
7 X; w$ B c% O+ J0 _) d3 Q3 ]' q LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );+ T3 @$ o* q6 j, f% E
if( wndCtrl && wndCtrl->rect )
) C& k9 v2 T7 i' t, V { @/ A- ?6 h3 `
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );9 S" g. ]% V7 ~. E* e, m' c
}0 u% q9 _3 H9 q$ B
}
$ c: ^* H; n, W( V}( }% A# J, X3 L+ F2 z' N2 ]
, J& a# l, R! UBOOL CWndAutoFood: rocess()
5 U; `- W7 t/ m1 Y' P/ }- J{
: `* |1 j' C) B" n" R$ C# u if( bStart )+ d. t$ |: _0 U
{
- j9 E2 n5 s6 x- Y, q! B4 Q if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
% e' v3 j7 {) `& d+ `& a+ P q* [ {
/ M6 F+ ^1 T. }2 {. p if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
& W+ n% F0 d. l; b O/ |2 b g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
+ o% |, `9 p" ^$ {* T }else{
: T6 Y: I, ^! ~6 U bStart = FALSE;
7 q" Y& A' u" U" U I; Q m_pItemElem = NULL;. M- H' J% Y5 V1 M
}
N' }7 }- f0 I8 |% J/ q }6 k- ^6 ?8 T6 b- Z
return TRUE;
& `! ^: z9 R6 H* a& e}
6 l* |7 G6 U( ~3 o, C4 N+ p/ O! `, i1 y$ ^
登录视频废话:( m# b1 v* @: O9 ]
尾翼:
( R2 Q+ }! b7 H1 L- L$ F2 m# w6 n$ A) r; e" c
代码:
/ L" l4 d8 l& _& t8 O. R: R& b6 r1 G: p/ B
void CWorld::SetLight( BOOL bLight )" V% I4 @; \4 h1 _ U# x
durch+ e: c0 e& D. w) x3 g+ D
Code:. X2 N( D. ?6 l# g
void CWorld::SetLight( BOOL bLight )
+ ~. E; k! I9 E9 D+ q/ u B0 i{
( i5 W' \) c8 [# U- K) ]. _# [: n //ACE("SetLight %d \n", bLight);
, M6 L: g8 Q3 x" }2 o: } 9 L' |, Y G2 h; ^2 R _
#ifndef __WORLDSERVER
$ J' f8 D: ?9 ] DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);& `# U2 \" f% ]0 F
CLight* pLight = NULL;+ @: t, b. c( ]" A8 N
4 ^# y4 U! H( T# ]& i+ u D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );9 C; p3 L8 R7 p }$ u$ F1 _4 M
% \( L$ v& b4 g- J pLight = GetLight( "direction" );
, \; _+ D: ?1 F- z( @
9 D# X* r, l6 H4 N: w#if __VER >= 15 // __BS_CHANGING_ENVIR0 u# P8 l$ i+ r7 J3 ?& ~
if( g_pPlayer ){+ S* N" Y) P: D2 Z1 p5 [+ h: G
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );& ?3 w& E( Y6 v4 A/ L
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
& I# ^' A6 o! ~' Y* m0 a% r& B* ] {
4 X$ u2 I; h7 z if( pLight )
8 ?! H8 r$ ^ X( R2 o% Y {2 @7 x) ~6 E% A. R: C, G1 x
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];% F }, M- f t" L' g1 `2 E7 e
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
; d9 N- @- E( t pLight->Ambient.b = pInfo->_fAmbient[ 2 ];! l/ g0 G ]( M5 [# M
6 M6 M R* T. j$ D4 {
pLight->Specular.r = 2.0f;
5 `! I1 C5 z2 R# ^7 L# D pLight->Specular.g = 2.0f;$ y( c4 i$ _; ?. _
pLight->Specular.b = 2.0f;6 @# q$ i: K- k2 j
* E1 ^! Z; J; [+ ^0 { pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
, N4 g* |4 e1 ]/ o pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];7 Q* K8 b; t0 u* j/ g$ L( @
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
: z: N, k, W/ H! g Z8 I0 `+ h* B
6 j) e v: ]" d HookUpdateLight( pLight ); 2 h+ R% C% g; T! u% P
; b) t+ ]: u8 r5 J: V5 q" @& n. N memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
0 m3 n: i; w& n$ B
! l0 }' j. G6 r, b. L& w pLight->Diffuse.r *= 1.2f;
2 Q) B' i) E% M: N- `0 S pLight->Diffuse.g *= 1.2f;
5 {- l4 x! }! J& Y6 d# W1 V pLight->Diffuse.b *= 1.2f;# P7 y8 \. H* ^
+ Y, N4 O' |# }% p
pLight->Ambient.r *= 0.8f;" h" `7 x- S2 v% J8 d g' d
pLight->Ambient.g *= 0.8f;
4 P' |: J/ ~- f7 T! i& Q pLight->Ambient.b *= 0.8f;% B- A$ f# x( v$ ?( A5 H
/ G9 d0 x$ j1 c; I memcpy( &m_light, pLight, sizeof( m_light ) );
+ m" R' G* G$ X" N+ H$ J7 [6 n! X% q7 C1 ^, {6 Q+ y8 s/ p+ P1 w" M
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);6 m3 l a# E$ I" c
D3DXVec3Normalize(&(vecSun),&(vecSun));; X2 h. L: I3 Y& Z
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
) H9 |2 R; y5 N& T pLight->Appear( m_pd3dDevice, TRUE );
. P, u$ T2 j! U% e3 A9 ]
/ v: n) `; x; h DWORD dwR, dwG, dwB;+ N- f% w2 n' v4 V% }5 | B2 ~
dwR = (DWORD)( pLight->Ambient.r * 255 );
" |4 p* y% [! F0 o( g, s4 Z1 A dwG = (DWORD)( pLight->Ambient.g * 255 );* u# J: {: T! a! H5 a" ]9 f; H
dwB = (DWORD)( pLight->Ambient.b * 255 );
& E: L! P( {0 a8 z* q/ r# U dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
4 X% {1 \+ Q7 T2 w }
9 k8 F d. S. K) T1 k9 r$ } }
) n3 h9 o Z9 y7 ^) U0 e0 }6 o3 k }
/ q* M- a, K" V/ g" \+ L/ ?+ q else
+ q4 P" k$ N9 L9 x, f) Z6 n#endif \/ M8 i/ d% _" X& P
n" T- b$ j' t* C
if( m_bIsIndoor )
# u$ k, t, C4 }& O) z6 X {
$ p5 b1 x' V0 o8 P& V5 T5 a if( pLight )7 C) K5 u/ |& h& }
{ ' C! M+ [8 q2 T" H/ M/ P3 Q& V. Z
// à??μ oˉè*
% C" p' U; y- |9 U& i, y) R% @ pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
3 G) r8 F; r7 o5 Y E pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;0 ]7 {- M- @7 Y! T, ^
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
2 _; J9 m, O$ O4 v6 _9 {, {' f: Q
// oˉè* ??à? 1 a* J- w# T6 S" W- r
pLight->Specular.r = 1.0f;- z: S; M% C' \
pLight->Specular.g = 1.0f;6 n4 G' _# Y, O9 k( [) B
pLight->Specular.b = 1.0f;
0 I$ A4 O9 @/ u // àü?? oˉè*
+ ]3 U0 V* k% Q pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;) Z+ }4 k8 \; \, `
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
- E7 e, w$ ]1 U) o* |& c pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;0 S7 d8 V8 f, {/ ^ y$ x7 ]
- t/ b j& g3 }
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.2 x$ y% H( L" o3 L" Y$ J
{
) w+ ^* ~ Y( G% x( l pLight->Diffuse.r *= 0.6f;
' R! E: S b$ @ pLight->Diffuse.g *= 0.6f;" t0 Y* O. D* _5 L
pLight->Diffuse.b *= 0.6f;
+ a7 q1 ?% |' H. o Y pLight->Ambient.r *= 0.7f;! @* S& F+ } s. Q
pLight->Ambient.g *= 0.7f;5 t/ N' j7 U+ |1 Z2 A* J% p3 o
pLight->Ambient.b *= 0.7f;0 i6 ^4 o, Q2 z: Z& B8 S
}
) Z& s5 H/ N f. i' \2 e1 M: i5 t5 U9 h
#if __VER >= 15 // __BS_CHANGING_ENVIR
+ U+ t# H% c4 ~+ K2 T+ G if( g_pPlayer )" E, a8 y* I& r# Q; n# L( F
HookUpdateLight( pLight );
3 R! S8 v/ c- I- p8 y. m#endif* I" p d3 e+ V7 T
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% b8 p0 C+ b4 e' J4 r: T3 J" O0 {" K5 s B( }: Q4 d* Y, Y o& D
pLight->Diffuse.r += 0.1f;4 P0 v& k8 k0 R5 q
pLight->Diffuse.g += 0.1f;
5 ]7 ]/ f3 m6 W& `& V4 Y" _; W pLight->Diffuse.b += 0.1f;
+ J% y; P, g t9 ^2 O, y" E // oˉè* ??à? * @) M$ c5 a' {: S `- ~% D, @8 ]
pLight->Specular.r = 2.0f;0 p& v9 n; h, d8 C6 f5 i3 [- [6 W
pLight->Specular.g = 2.0f;
8 y) S1 f) [4 t8 z+ F& I! R1 X pLight->Specular.b = 2.0f;8 k8 f: u, B) i, E
// á?oˉ 0 c$ M. c X+ a2 _* p
pLight->Ambient.r *= 0.9f;
; p0 P6 i1 d% D4 J: Q pLight->Ambient.g *= 0.9f;1 C1 R! _- C2 f6 ]
pLight->Ambient.b *= 0.9f;
3 U) H% t# p/ W# R( L) Q1 z/ l9 W" q
memcpy( &m_light, pLight, sizeof( m_light ) );- t/ W- |, K# W7 Z
M. j" W' t) u& ^6 P% s& v pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
0 i2 O+ ]4 W& p& a7 l7 y. A7 f pLight->Appear( m_pd3dDevice, TRUE );
! q3 J. I7 f; S5 I% M. g' B0 a3 d
7 x6 M* U4 C e; y; X$ Y DWORD dwR, dwG, dwB;9 V0 R. x+ c3 Y
dwR = (DWORD)( pLight->Ambient.r * 255 );
. L6 Q; y& m% W( o1 r2 V dwG = (DWORD)( pLight->Ambient.g * 255 );* Y3 n7 o* h* ?5 ~
dwB = (DWORD)( pLight->Ambient.b * 255 );
" K3 C: u' j' X- j* b) e, X dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
1 I6 Y# d* o, K/ F2 m- c2 n }# ]( U+ k2 r4 }
}6 T9 N2 x5 O4 \: ]6 e1 p
else
3 c% t7 {- R5 c8 @* e9 K) ` {. I- @4 x9 j3 }1 ^' H+ I: r
if( pLight )
( Z5 o# K' s% j {" X+ M! s4 r8 r2 l" V* R
- p$ Z& J+ P+ Q! o4 Z
int nHour = 8, nMin = 0;
, b! R$ v5 S- k) l% R n3 V #ifdef __CLIENT! J7 p# D( e" u3 O- p ~0 R/ u
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. / v1 J6 H' ~; m+ U
nHour = g_GameTimer.m_nHour;
( y0 F- M' I9 ]4 g2 \5 A nMin = g_GameTimer.m_nMin ;
& g, o+ @/ C0 I. _% D } #else
/ W2 F. x1 W7 g8 @$ E: l // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.- w7 X# G+ [' T
if( m_nLightType == 1 )
7 \3 Z2 L, g1 v) Q5 i6 k1 x nHour = m_nLightHour;$ d: @: t9 V, k" V7 N' S
#endif
- y1 q- C. o+ n3 d" W, K1 o nHour--;/ g# `3 s p1 n% @. g/ ]; x1 y2 ^
if( nHour < 0 ) nHour = 0;
$ _. x7 ^: }6 {: h4 x9 n if( nHour > 23 ) nHour = 23;9 o+ W% Y- [- C7 @
/ H7 k' c. f' T) N
//if( m_bFixedHour )# i' B5 c- r# C3 s! \
// nHour = m_nFixedHour, nMin = 0;
/ ~) ^# X. P, R$ w LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
* }: I5 C$ q$ q5 I% ]# J) \/ u' {6 h- Q LIGHTCOLOR lightColor = m_k24Light[ nHour ];
4 M5 L; ]2 R2 u* ]) c% j, Y* h5 y* F3 \
//m_lightColor = lightColorPrv;! {! R/ N4 e$ S7 {7 Y- N6 L
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;2 c& X+ k2 w! A& V% x6 x9 [/ G
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
0 Y+ z. `9 s* t6 Z( e9 R lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
* G3 J5 v7 ^$ @$ A) |- L lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
& O' u" E- a, n* |# c lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;4 Q9 K1 r" [6 p. v
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;- S+ m; s- a+ N v% p
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)& B0 X: V2 O* M: u4 s8 j* g
! s2 B a1 r% H! ~. |
// à??μ oˉè*
: i7 r; @% s* H" M$ { pLight->Diffuse.r = lightColorPrv.r1;
( D% p- ]5 ? A/ n+ C3 m5 U9 C pLight->Diffuse.g = lightColorPrv.g1;
3 F4 C& e( U& ?9 e5 H pLight->Diffuse.b = lightColorPrv.b1;: i. ^" u: G: ]4 i" i
// oˉè* ??à?
# s+ q K( ]; V# D! f( T9 J pLight->Specular.r = 1.0f;2 |7 t) }$ d* K- I3 w) D8 E5 k' X) W
pLight->Specular.g = 1.0f;
7 u- d2 E1 k" N" ]; Z! L pLight->Specular.b = 1.0f;( L- Q/ ~4 u% }* B5 J7 L
// àü?? oˉè* 7 S4 E. b' @) o! t
pLight->Ambient.r = lightColorPrv.r2;+ A+ S( y' L0 _8 } P. B: T/ ~
pLight->Ambient.g = lightColorPrv.g2;2 u7 x0 J* a6 l
pLight->Ambient.b = lightColorPrv.b2;
& l0 r5 K; u- Z$ T4 k1 q$ h! L: `
2 D) r2 e& e3 X% K" N$ l) D" ] if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.) m, B! J0 e& @5 i
{
* D; ~- w7 t* X0 L8 M+ g# b: j pLight->Diffuse.r *= 0.6f;" s! Q1 r+ J, Q2 g5 N3 s8 N
pLight->Diffuse.g *= 0.6f;+ p! _. u: |' y3 N2 U
pLight->Diffuse.b *= 0.6f;# w# s: \8 q5 v5 O2 d6 e5 j4 N3 A2 g
pLight->Ambient.r *= 0.7f;5 T, w" R q! ~3 w
pLight->Ambient.g *= 0.7f;
, r `* {3 @# _: o, _; ` pLight->Ambient.b *= 0.7f;; A0 U c; F0 g
}
5 R) I. h& Z9 l7 e1 s
1 [3 y% g3 f6 v9 P5 Q#if __VER >= 15 // __BS_CHANGING_ENVIR
! l- r+ ~9 V- e: B8 p8 l; k if( g_pPlayer )0 s" p" C9 w4 d' e- I0 s
HookUpdateLight( pLight ); ( f$ e: k* W- Y' J" e: Y% f o4 i
#endif! I! e8 Y2 N4 F: n3 E9 k: W
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );1 Q1 M, H" u L- ?9 @" A
4 l# e3 x' k" f+ C0 V#ifdef __YENV `% L( D7 f+ B
pLight->Diffuse.r *= 1.1f;5 u/ V7 L2 [; ^) W& J$ R* t
pLight->Diffuse.g *= 1.1f;
' C" a# c; k, }2 d; G pLight->Diffuse.b *= 1.1f;
$ A4 x$ w+ U- N; K7 {4 ` // oˉè* ??à? # O' C! K: O/ F$ @
pLight->Specular.r = 2.0f;
+ Y# B# L9 I( ^( [( @ pLight->Specular.g = 2.0f;
' `9 h6 i$ d- j6 u4 S% { pLight->Specular.b = 2.0f;
( [( u' `, d; g // á?oˉ 8 N7 p3 ~* y# p3 e2 g. c t
pLight->Ambient.r *= 1.0f; w* }' U* m- s; ]$ B. a. m. v
pLight->Ambient.g *= 1.0f;/ Z' q, Z2 e! A \1 X& D2 p
pLight->Ambient.b *= 1.0f;' N% e( y" V4 b3 h! n
#else //__YENV
U6 C8 A8 [! q/ T7 Z+ t$ ? pLight->Diffuse.r *= 1.1f;0 E- I! L- _9 o) L- W' F- x
pLight->Diffuse.g *= 1.1f;
1 t7 j5 _$ |0 M3 s v0 q3 W' C- J pLight->Diffuse.b *= 1.1f;" ~( O. [& |! K; u; ?
// oˉè* ??à?
. e& B) _3 t7 ? pLight->Specular.r = 2.0f;* s5 x1 W( M& \6 j5 ]7 q. @
pLight->Specular.g = 2.0f;* M0 p" a9 z7 \" k
pLight->Specular.b = 2.0f;! O; \. D% U( v* {9 V! w+ h% k
// á?oˉ 9 c5 J7 W6 M- g. q2 ^ N1 g
pLight->Ambient.r *= 0.9f;$ r+ m( r4 Y1 p
pLight->Ambient.g *= 0.9f;9 ^/ w0 }8 A. H5 x! R
pLight->Ambient.b *= 0.9f;
4 Y L/ h A7 U' L#endif //__YENV
# ~ C+ A4 [ `- L/ G ) ?# Q3 Q0 Y/ B* ?% {5 ~
memcpy( &m_light, pLight, sizeof( m_light ) );
3 J' j' d* P$ o& R& G 0 F. _) B" L A) t6 E- J4 {
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);& I9 h) F( ]( E6 B \: S
D3DXMATRIX matTemp;
9 b' N/ ^3 R* A static const float CONS_VAL = 3.1415926f / 180.f;! ~- P3 Q: i' x
% w$ \3 `0 G- I: o
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);9 [$ K6 F0 S1 J0 Z
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
% S, A; L$ K$ o' Y pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); + _, I) n. s! m- N a" Y
pLight->Appear( m_pd3dDevice, TRUE );
2 v- _7 c4 }7 D9 V% a' S$ @; \% E+ D: G$ i
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
" C; K) _( u) P) A# j0 F // D3DXVec3Normalize(&(vecSun),&(vecSun));* M0 {" R# E( b0 o6 F0 G8 ]
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); & H- S5 p5 G$ C0 C, `8 F X
, `8 ]* Z8 ?1 d, G3 n3 Q DWORD dwR, dwG, dwB;/ D3 _" u- f' @' R. K
dwR = (DWORD)( pLight->Ambient.r * 255 );
+ W& J$ \' c. u" ?& U$ H9 o% ~ dwG = (DWORD)( pLight->Ambient.g * 255 );
, `! H& i0 M' ? dwB = (DWORD)( pLight->Ambient.b * 255 );
. ]" s- ~7 a; c8 a' A! F dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); " Q1 I5 g5 M3 o' i4 U( d6 F
}. k E! R, g; v' Q3 ^0 G
}
& e8 e) I0 Q; `- M, b; a# }7 D7 h% N+ @. N6 w
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
4 C; C% [ Z7 O' ~ 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) );! n9 z7 b; c% y Y, r, n( W+ ?3 K: [4 S
::SetLight( bLight );
- A3 m5 d/ s( z4 [5 l0 H! \
a; D! E9 @- v% F4 S& U // ±ao? ?D?í???ó á¤à? + a* ], Y" d% r' ?' N1 S
m_pd3dDevice->SetMaterial( &m_baseMaterial );
' `/ K3 s: `9 j& ] 0 ]( c. a2 x% T9 Y0 Q2 a, ^
#endif // not WORLDSERVER
, ]8 ?, K! } ?: D}! }$ ~1 R/ ?9 h0 S% H# f
并更换! J* d6 D* S% W
Code:
% p" s0 i9 T% n__FLYFF_INITPAGE_EXT
% M- h/ a' T* S! P4 ~定义. e: e! T2 B% h( A2 Q e
7 `4 |" W9 r. S+ L
% t9 e: n; J) Q
! Y! M1 ]6 _2 C' M
; N, V1 @$ [* G5 e* K" }/ O
现在终于删除我的狗屁加速...
0 j5 M) s7 a- r" Z2 k8 M
( ~: |- t$ g/ y6 ^2 b# A) z4 r! [4 C
' F: d- E% Q P$ M* ]4 Z- x& ]' m* _& Q0 l% p9 C) Q K
|
|