|
|
食品车:
$ y1 {, r! W; _' `1 q; N3 g尾翼:
% K) Z: \6 f9 S) f2 f r J0 d, n' r& p6 g) D( l
代码:
% e( r$ y/ a8 G l" ZCWndAutoFood::CWndAutoFood()
2 V5 \% A j D, n% n. x |{* B$ J0 A& I) ~' w' x
m_pItemElem = NULL;; H% Y9 S7 a$ p0 F: ^
m_pTexture = NULL;
/ Z: d6 u4 [1 C. I. t$ X4 X- S bStart = FALSE;
/ L8 X7 }# c& {( E. G}% d: ]$ T. @0 q
) m& O% n7 g" d* C
CWndAutoFood::~CWndAutoFood()
2 S. ^. w4 n+ b$ l{3 t1 e6 T/ \( |8 u: S
AfxMessageBox( "AutoFood ist gestorben " );
v( i8 N( f$ h$ V/ P9 y& ~9 a0 X}7 \2 l3 u% z5 T; F# l! ?+ g
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )/ g& M, J0 L1 N' M. Z
{
U$ W) t$ b/ ?( K4 g return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
4 ?3 M2 R) w3 D2 A}
C# u5 I3 {) ^) A' F( ?' L: D9 z
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
6 k3 f# W; G; z. j4 N( o{
* S' F. K! k) D2 ]5 r1 k# G LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );7 A4 l1 H5 R6 ]! e4 i: y8 c
CRect rect = pWndCtrl->rect;
2 m% y# D+ H0 T) I1 }- t if( rect && rect.PtInRect( point ) )& Q( ^; F [; K, I
{8 h5 I6 B- D5 Q
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
+ Y1 ]% T) s& u7 o, C7 h% x+ y if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
5 m* r; E) _ N9 z& G$ D {' O( d5 b1 G/ G
if( m_pItemElem )* _' G2 R7 `# a8 g" e
{
( m: ~: S2 d# W! O0 v& G m_pItemElem = NULL;
* x5 J1 T& e* C6 L6 Y, [ }
& t' L8 y' `# A; S# [ m_pItemElem = pItemElem;
" {) I# ~( ^, k" F p8 }/ Q9 } m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
" H, v) C/ P- j }else{8 M$ m& Z5 t% A8 Q! l
SetForbid( TRUE );
% Z! Z2 X& w6 K: P$ d$ y }" l6 o$ C# R7 B; m' x3 }$ k
}else{
8 N, N9 J' J9 p+ S" o SetForbid( TRUE );/ Y3 m8 l. Q, f( `, ?
}$ {- X2 w2 F& J
return TRUE;' u* y5 Y3 G" I5 j( }7 v- E2 |
}0 T0 _3 T' [' ]6 a4 E5 w
$ L9 s) _$ a8 X' y' Y
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
; @1 q2 _5 B' Q3 L- Y{3 I+ m" D9 j1 O4 P( G
switch( nID )
" o- i3 `# E1 G6 G" @ {
* h5 F: W; R/ v, C case WIDC_BUTTON3:
: P |- A# p5 U$ [ {
8 k& `' \1 _, i7 y. S2 A bStart = TRUE;
: ^' C2 N; f( D" O break;8 p" C9 w( B+ e2 m8 h
}
: y0 l8 [1 V/ v case WIDC_BUTTON4:; D5 Y( [9 d+ L% g- @% ?4 V
{6 o( _8 n; [5 J. l! S
bStart = FALSE;
; H, ?5 L$ v) u" U7 ^ break;
8 n) T* f5 S- a/ z2 f { }
" Z; u( @8 C6 z: i$ h. @ }
5 E: O2 S8 b# M return CWndNeuz::OnChildNotify( message, nID, pLResult );, }2 Y! V! t3 r0 h) V' j1 {% t
}
+ ]* ?( X K6 I) ]* F! s& cvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )4 g! Q7 V$ d5 ^ T2 A
{- ^1 m' W. U; e2 p" C
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
9 U+ D' u9 F( L. O; l* I: z. {7 S if( bStart || !m_pItemElem )
F: C9 c4 M0 ?1 N/ G, I {
& {4 j9 z& w, S( i; A3 M4 c( i pBtn->EnableWindow( FALSE );
* W' F* t' E E8 p* } }else
* Y! P( k. i) [6 W pBtn->EnableWindow( TRUE );
6 u8 f( w% {& W1 j3 h/ [2 `7 l if( m_pTexture )
1 A0 }5 K7 Q" ]$ P+ J {$ N5 [; w! Q& @% i9 N6 |
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
: D2 p$ Q: s4 c, z/ \0 v U! y if( wndCtrl && wndCtrl->rect )
$ x, Y- L" P- v {
T) H0 { r6 s" y* I m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );; K) q# m6 c+ R9 o) h! w! i6 x& |4 t
}' ^( `( w0 | u T
}
; H* B# i7 E0 X k9 J: f# N}
' V- ]" x# R" k0 z; Z7 M5 ?+ G) t- Q% b9 E- j* a" d" G
BOOL CWndAutoFood: rocess(): i6 z1 a8 I& _/ D) Z5 [
{; \& n% R! K& K8 [+ u1 S6 ^
if( bStart )2 q5 T* o( @- P m- F( h. J
{& g7 o' W/ k; m3 y3 d
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
% M% D& Y* T4 E1 m {* p5 O# P7 H1 X I/ q
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% U8 Y! T$ d% g# A g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );+ \1 j1 q4 r# H$ L9 s
}else{
( O, `- R5 X- D8 o2 Z3 [" k+ s bStart = FALSE;
9 C% [8 w: Q, B% B$ r* A L k) Q m_pItemElem = NULL;" R$ c0 q4 y% ^: R
}
+ |# ~% |: y { }
1 G& Y( e/ k$ \& O- } return TRUE;
3 ?: z* h2 V9 R/ Z0 X$ y5 j}
6 t- T% P" `4 d# ]- _) Y; N, G% ?& Q
登录视频废话:6 E: w( v4 X$ l; a
尾翼:
6 P- L+ I" J$ o+ f7 M8 g9 i, z( G/ _9 x5 G$ S
代码:
+ |: t) f4 G; w% \% k' M* r4 p$ l6 v: v+ b- F) ?& d) ~
void CWorld::SetLight( BOOL bLight )
9 T- _% J4 W1 F' R1 q" T: a- O0 xdurch9 f1 l2 n6 |: A X% F
Code:1 F( K- I, I) I! c
void CWorld::SetLight( BOOL bLight )7 x3 r% X P2 t
{: }6 Q9 `: L, A: X0 D& l1 O
//ACE("SetLight %d \n", bLight);
7 Q: ~0 t& B$ F* a * z; V* B; B7 i# q/ F' A
#ifndef __WORLDSERVER : v5 \) Z- a! F8 c9 G5 w0 W
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
/ _0 b; q. C' ~. e3 ? CLight* pLight = NULL;; a# ~/ J, C6 S: W0 O" ^
n/ |. U$ z' @ D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
/ D5 n, O. r$ B7 h, x) w$ S5 j) f2 C- g
pLight = GetLight( "direction" );) f, f$ C/ V5 X" Q1 h* k
. X6 \6 q9 O' `! h, E& d#if __VER >= 15 // __BS_CHANGING_ENVIR6 Q) y# ?7 @( p" g5 W' @
if( g_pPlayer ){: ?5 r5 M8 O5 _ x6 {
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );% m6 \; ?$ h, h' I; c4 h
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
8 o5 E" A4 E3 H: {9 [+ d {
d6 @1 |$ y7 ~ if( pLight )7 i1 @4 q2 d7 d q
{; l% F5 K @8 u7 e. ?5 L ^
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];7 e# k6 v5 s0 n+ z" {8 k3 r, ~
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
* q! b& \8 j# P4 a O, D7 a' { pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
- j, r! A D0 Y5 G! n2 u
. b0 [ G% `/ z: G& R pLight->Specular.r = 2.0f;
+ ~. x1 @. A2 F/ u" ` pLight->Specular.g = 2.0f;
( C( c9 T# F5 c pLight->Specular.b = 2.0f;
% E/ Z& ?0 s7 u " o8 K0 o9 d- Y4 B! e* A8 N# ]
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];: S" z3 h6 u, P3 n
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ]; k" f- O4 J* c5 n4 E) ?
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];, f7 F/ z# d2 \3 E3 y0 T8 I3 v
/ D* V7 @ x7 P' i7 l7 Y* _8 T! y HookUpdateLight( pLight ); - W* x( X9 i) m9 k b8 q
% F! @! p6 G1 ~4 \
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
: Q6 E5 |; b4 p7 Y; {7 n2 z
& X8 {. _% }0 K0 t! x pLight->Diffuse.r *= 1.2f;
; b* N$ t- a1 [. x pLight->Diffuse.g *= 1.2f;1 U0 n4 @( ~6 R7 A) [1 J$ B
pLight->Diffuse.b *= 1.2f;
+ x' b D v# q0 f+ m* N* i7 F1 z, {
pLight->Ambient.r *= 0.8f;
. _$ y" }* s- Y2 g) E pLight->Ambient.g *= 0.8f;, W' U4 J+ P- |; s
pLight->Ambient.b *= 0.8f;- l) ~ o& T6 c* i0 d
9 G8 B. Q" l5 r! f: i
memcpy( &m_light, pLight, sizeof( m_light ) );
# b* ^1 X1 `# `7 n: v6 g1 p' l# d# s) |6 I* j1 M3 x
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);* o/ R1 y1 a2 Z- {3 ]
D3DXVec3Normalize(&(vecSun),&(vecSun));" g* o) F- [" F; d( z, b
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); $ N& ~1 P6 l M6 Z4 v
pLight->Appear( m_pd3dDevice, TRUE );2 Q4 i) |% m5 Z! t" f
/ `8 X# ~# U* i, q; p" _ DWORD dwR, dwG, dwB;8 `& \) s5 y0 M$ Q, B
dwR = (DWORD)( pLight->Ambient.r * 255 );
4 N7 s( {0 @- G) o# B! M/ m n dwG = (DWORD)( pLight->Ambient.g * 255 );4 M8 t" ]4 t, H6 K8 a0 k
dwB = (DWORD)( pLight->Ambient.b * 255 );( n* r% j, Z) Q, l3 N/ J
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" n! x1 W, D' _& { }6 o1 D* D+ P# `
}! m/ X! {2 K, j, u# s" b2 A% q2 }
}7 l7 @9 r8 J- e m2 F0 K# s
else
$ o: ~. D5 @3 H n#endif , k2 t# h7 F9 N" I; H3 x
+ R. u, J( w* [$ c/ k! p/ t
if( m_bIsIndoor )
& \( v c8 i! L6 z% e/ E {
8 X4 Y4 l' L% r# z4 ? if( pLight )! j3 X3 {6 u& p: q- [6 P% @
{ 5 n0 F4 ]0 w+ g# Q! s8 x; |2 d
// à??μ oˉè* : d5 V- ?" ]$ D8 l9 \: f
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;7 m/ [( x' c% |8 Q
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
* _) U0 N' {( o( v4 C pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;/ J* |' j2 }, |1 ~+ B
7 j9 V3 ?+ j; R- `* g
// oˉè* ??à? 6 Q. n# T5 Z2 N j5 |' f
pLight->Specular.r = 1.0f;
- u; ^0 s: v) a9 s pLight->Specular.g = 1.0f;& T) ?- C& W% b. ~0 |; m
pLight->Specular.b = 1.0f;/ z1 l' C, D2 V# ^4 H
// àü?? oˉè* 4 w0 w: U9 Y. ?
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
# S6 s' v! O: x' [ pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;1 D+ G7 Z2 E w; ]2 s( a
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;( W' x' q1 u7 j f
: ~" ?" t. e) F( w
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
( D. p5 S/ u4 p# k {8 w2 C8 k4 ]' r3 D2 I5 s
pLight->Diffuse.r *= 0.6f;
5 ]5 p8 O5 s6 }4 c; l6 J2 l# e pLight->Diffuse.g *= 0.6f;: y+ O# g l' K! M
pLight->Diffuse.b *= 0.6f;& e! f, w* ^8 y8 R1 U% K
pLight->Ambient.r *= 0.7f;( X0 i5 y) i# K6 I4 x! T0 U
pLight->Ambient.g *= 0.7f;' Z0 c! k S) S$ B& M
pLight->Ambient.b *= 0.7f;
8 e( H' w) J# m/ m, y; o- r2 g }
i0 X( Q9 @+ {0 x% i5 d! H
1 U, S* N; V! B#if __VER >= 15 // __BS_CHANGING_ENVIR/ y3 k1 @3 d/ W# N
if( g_pPlayer )8 Z6 }# r+ Q* F8 u. Z! W5 f5 o
HookUpdateLight( pLight );
& F6 B2 Y0 v: e, F#endif
: ~8 c4 k3 p4 M( S/ Y( G' ?: s" E memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# @- x. m- ?# }: W1 l. g% l( r. d! \
' r* d% F6 j) V3 P! S6 I& c pLight->Diffuse.r += 0.1f;7 J. O' m8 i9 ~+ \! o; W& Y; z
pLight->Diffuse.g += 0.1f;
2 [ M5 B' J+ | pLight->Diffuse.b += 0.1f;, `) o: e& b. `6 x/ T& j
// oˉè* ??à?
! o) g* R* ^) v2 {7 v8 B1 t pLight->Specular.r = 2.0f;
( N3 c* ]/ U6 r' Q" V pLight->Specular.g = 2.0f; E$ u+ u/ Q. x3 ^
pLight->Specular.b = 2.0f;
1 d2 q* L% H! `' u7 g/ G$ X- i // á?oˉ # h ~6 N, Y% b& W
pLight->Ambient.r *= 0.9f;) G" d# B* X2 I9 ]. i
pLight->Ambient.g *= 0.9f;
6 r0 ~) c# P5 u* B- I2 c2 ~ pLight->Ambient.b *= 0.9f;& { U" {3 c( E9 Q& U
1 I1 E! K) J8 ]5 m; b- Z2 y memcpy( &m_light, pLight, sizeof( m_light ) );. M8 R5 X/ n9 i2 k
; o( ]6 k2 }5 ]" ]; J( B+ k6 R6 | pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );. F; N, N9 E& B1 e; Q# F5 M1 Z& y8 h
pLight->Appear( m_pd3dDevice, TRUE );
- k8 `6 l# j9 j, o! Q 4 O2 Q9 u% a6 L" b& U) _8 {
DWORD dwR, dwG, dwB;
" ?7 y0 F! Q9 \% D- l" h$ m% y" r dwR = (DWORD)( pLight->Ambient.r * 255 );' I4 P" A7 y+ J8 G+ Q' c
dwG = (DWORD)( pLight->Ambient.g * 255 );6 O: C {$ H( I7 U
dwB = (DWORD)( pLight->Ambient.b * 255 );" p4 r; z2 o# p% O" U; S/ m1 G5 M
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );9 G* P# p! @) P- F! P- m0 l
}+ [! ^1 E8 y3 y. k% k: v9 Z0 \
}4 _+ [# a0 v& G# V: }- V. i5 \
else! e* n- Q O ~
{ ]0 a- u; y9 C
if( pLight )3 }- h- J1 s& C" Q
{# s n9 \; f' l \3 F$ w" c& c
/ R' q( w- J) M int nHour = 8, nMin = 0;& H4 J/ C; B/ D0 M% C
#ifdef __CLIENT; g! X9 ~8 F; ], m# D
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. % _* r1 a( P0 y: O
nHour = g_GameTimer.m_nHour;
! X; a2 {: t J/ o% ]2 _ nMin = g_GameTimer.m_nMin ;
. ~5 K! `, r3 f #else
! T( {( a) t F! u2 P. {' b1 p // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
6 Y$ i9 o! {6 h if( m_nLightType == 1 )# e9 M. @7 u- Q& W! w) j
nHour = m_nLightHour;
; b' B* x. Q+ e4 t9 c8 K9 n6 b5 A; c #endif
6 U7 y- o0 j8 l9 T. J: s- H nHour--;0 @( h& @8 a q; J4 \2 R
if( nHour < 0 ) nHour = 0;
4 n; f$ H; F& U if( nHour > 23 ) nHour = 23;$ ^% K* q3 T$ s
, t- m. s% f) n' r" t% M- h //if( m_bFixedHour ); i. B" c& l6 ~! c- p3 A3 A
// nHour = m_nFixedHour, nMin = 0;% c$ V p/ z: F. x$ r5 e( X
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];' G$ `0 s8 i% ~' z( c
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
; L. N' ^6 T$ z4 S A' U3 t( r0 B4 `- ^# m
//m_lightColor = lightColorPrv;
% u F+ m# a' Z/ s3 t. x( l lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
; k% I* @ g7 I2 \, q lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;* O/ w3 H" I8 x' Y3 ^! Q& `9 d
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;8 j; c; ^) s; B
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;- Q! \0 D$ F; i$ {# ]& F
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
: z8 o9 D5 L ]( y! B lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;$ L4 t: w# k8 {! @
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
; _9 d2 W: a8 I8 p2 t: O9 |
# b. j& j' }6 _ // à??μ oˉè*
& o5 E; U G% u! Z0 q/ N# P7 z$ k pLight->Diffuse.r = lightColorPrv.r1;
! a" ^- B1 w" A pLight->Diffuse.g = lightColorPrv.g1;8 ]* i: t7 H4 |' T
pLight->Diffuse.b = lightColorPrv.b1;
& ^- E% b. D( D0 b* g // oˉè* ??à? ! C8 m* W9 P7 i2 N: N0 M6 D
pLight->Specular.r = 1.0f;( o# [* T* t& o& e: z
pLight->Specular.g = 1.0f;* Z7 J- V R& i5 s4 R
pLight->Specular.b = 1.0f;) k6 d; U, A) U2 J* } w
// àü?? oˉè*
0 x0 M6 R) O: [' W+ l$ b6 c pLight->Ambient.r = lightColorPrv.r2;
9 N; j- y: l. s& O* N pLight->Ambient.g = lightColorPrv.g2;
/ H5 y; y r$ j N9 J7 t! V pLight->Ambient.b = lightColorPrv.b2;2 D$ c8 x2 Q! g3 F2 T0 S" ^
$ E8 G. X5 W( _0 f1 R1 P if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
& u, z& A% ^) C) z( ` | {5 A3 V" X% h/ _. l
pLight->Diffuse.r *= 0.6f;
% w0 m# q4 m. Y* E pLight->Diffuse.g *= 0.6f;
* C4 j; p! I3 M$ c/ O pLight->Diffuse.b *= 0.6f;+ S. R+ R4 w8 v1 O9 [
pLight->Ambient.r *= 0.7f;% n% o' K6 d+ P ~7 J, c) J0 {) p
pLight->Ambient.g *= 0.7f;5 O1 r) W' Y" x" A
pLight->Ambient.b *= 0.7f;
8 c0 C$ y7 E# H/ f% G6 P8 J$ _# t* G }) c$ h/ p! W, t5 Z: P- L; P
D6 H$ x; ^: B: E7 x
#if __VER >= 15 // __BS_CHANGING_ENVIR! U5 \$ ]* l% `
if( g_pPlayer )
( V1 c& m' f5 e# z5 g* _ HookUpdateLight( pLight );
& q q4 w$ u2 u5 ]- }#endif4 R+ z: m8 M: ?+ \0 V" k ~
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
" L1 O V& ?: O/ s0 l+ _
# Q( p9 L* n- b" t#ifdef __YENV7 W2 c8 g: P% J) i: y
pLight->Diffuse.r *= 1.1f;
3 Y. K- n' w: E pLight->Diffuse.g *= 1.1f;
8 a- J3 r# @5 y+ t6 N/ W pLight->Diffuse.b *= 1.1f;
( U* c1 c( o; W; {( x: P" _/ e // oˉè* ??à?
! b7 u& `! V7 m9 I/ d7 I pLight->Specular.r = 2.0f;; V2 b- c; p w' v
pLight->Specular.g = 2.0f;/ l7 ~4 X6 x$ m
pLight->Specular.b = 2.0f;
* Q6 L' ~; ^6 E! w0 L" m // á?oˉ 4 J( a0 f5 u; m5 c& N7 n: V
pLight->Ambient.r *= 1.0f;
$ f4 }( V( `" d6 G+ q) D pLight->Ambient.g *= 1.0f;+ \0 V% m- ^' W* @9 \. l9 y
pLight->Ambient.b *= 1.0f; r% I& M( ^8 o" \9 L9 R
#else //__YENV: S7 h% z. u/ W1 k# @
pLight->Diffuse.r *= 1.1f;
0 Q/ h+ o5 b- X y; S; g% s pLight->Diffuse.g *= 1.1f;
3 m. Z* s( K) ^8 J& Y pLight->Diffuse.b *= 1.1f;! |3 |' O, {% ]8 `/ K
// oˉè* ??à? % K. i' w- F, k: L6 S
pLight->Specular.r = 2.0f;8 ?4 J/ L$ u' v. y! z
pLight->Specular.g = 2.0f;
5 I# B7 E* l) D& e pLight->Specular.b = 2.0f;. h% L) m, ~& H* A1 r, |
// á?oˉ * l; h- ?( q- U- r7 t( Q! t8 }" I
pLight->Ambient.r *= 0.9f;
. p: o. `7 D/ }( o0 W$ ` pLight->Ambient.g *= 0.9f;
! t# j B% e. U- n6 Y" P/ K/ l pLight->Ambient.b *= 0.9f;0 c; S7 N5 e' y! L6 `
#endif //__YENV 7 W$ T! r4 }. J* ]* c
; X5 T- ^% E6 X4 X" e y memcpy( &m_light, pLight, sizeof( m_light ) );
" V! X2 v% m' T8 X8 y! I5 F, X 1 l% Y9 h* m- ]
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);; C6 g8 x2 r# K. O4 o) G1 }& Q2 D
D3DXMATRIX matTemp;( g: r1 S9 z5 k$ F% u$ z( A& |- q7 N
static const float CONS_VAL = 3.1415926f / 180.f;
7 T2 D& V+ W& O$ B( x4 B$ f- V- p$ m0 }
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
/ t8 n' |$ I3 ~% m) M" L' R% ] D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
1 M% n% t' M! G( i, {& o pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
* k' f( N4 D/ Z pLight->Appear( m_pd3dDevice, TRUE );" Q. B# n8 S* |$ R) |& Z) e
+ d3 z7 X9 p: ]3 ?& c5 \7 t
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);& {- z, w. M5 u3 X
// D3DXVec3Normalize(&(vecSun),&(vecSun));; n' f' C0 t" e9 D& t
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); . f& V6 [& T2 F( {
# S; a. W9 [+ }) @: e
DWORD dwR, dwG, dwB;
: R$ f* I1 _* A/ x, I. _3 O dwR = (DWORD)( pLight->Ambient.r * 255 );; k2 V& |# O' k% S' c% `5 b' }- _
dwG = (DWORD)( pLight->Ambient.g * 255 );
6 G1 a$ h$ s7 b# R3 w0 ? dwB = (DWORD)( pLight->Ambient.b * 255 );
, }" R3 F' G' M1 ?- E. t dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 9 w' R, E. S* c2 [( x5 `
} p) W( b7 J6 \5 K# `
}7 F! z% G2 n3 I! k
4 j# B/ ~3 L i3 q. {
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );. A0 X0 j# u) i8 c& I* k$ E
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) );
0 P5 [, `1 w% _ I ::SetLight( bLight );- F0 F- ^( k8 d4 q
9 m3 [8 b& ?: H1 h8 b // ±ao? ?D?í???ó á¤à? : c" o$ z$ g s5 V/ v
m_pd3dDevice->SetMaterial( &m_baseMaterial );; R8 q) ]% S" Q( [! p4 l* @6 A
& v g* K1 ~- Q, Q, ~: ^$ R#endif // not WORLDSERVER
5 {8 X8 ~# F. q& g6 c7 |( s7 h1 g. |}' E# Z& L! A8 X5 Q/ O! @
并更换
+ G/ Q3 u' F2 nCode:
/ e0 h' u5 X' Z! r) H__FLYFF_INITPAGE_EXT! M, M: a, b( m% t5 o4 n
定义
* J' m% |6 s/ e5 b+ o u; z" \& t0 f8 }4 S* }( ]
; Y- A" N v. Q9 \, b
/ T! O% F' U5 x1 A( z4 e
0 l7 v% i' b/ ~! `3 p" A现在终于删除我的狗屁加速...
" {; g# K' N2 @: K# _8 K! O' B3 p! P& b0 O, J4 ~9 {
) |4 O+ d7 f9 u+ i
3 w& E/ @* f+ v/ Q+ ~4 T/ M& Z' K |
|