|
|
食品车:
0 W- D8 J" x6 g8 H) v+ W; M: v# Q尾翼:" T# v& ~- T5 Y1 z- _1 N
, r( ?: Q2 S e1 ]/ z) Q
代码:
; i$ ~8 D: R4 l" p" VCWndAutoFood::CWndAutoFood()# u, T' v' A; U6 _
{: W( i, |9 b! g0 q
m_pItemElem = NULL;" }& Y# s9 E5 N
m_pTexture = NULL;
5 V( G& n6 b Y bStart = FALSE;
! Y2 s, X k: ]+ {" I" e8 P}# B" k I1 I8 t* n" k* O
, V/ m" X: f, j( I, n8 TCWndAutoFood::~CWndAutoFood(). u+ F% \4 Z* }1 }3 m# j
{% Y9 Z$ N6 @4 f6 N2 b
AfxMessageBox( "AutoFood ist gestorben " );) D: D% j. ]5 Q( E) w# B
}
, H# @; G7 R, `9 } aBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType ); X1 A% A( t5 p# {
{* Z' ?: Q) y3 D# i% U& p
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
6 }- T6 J2 w6 g8 i- ~# W( Q}& O; m: v% H% S6 E2 n5 u I
1 U/ {/ N6 R% a5 o+ W( O
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )# r6 w5 ^* D. a3 ~% `9 `! t
{: ^+ u+ f% c" m
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
+ o" R, h" k% h* q6 K8 E n CRect rect = pWndCtrl->rect;
0 F/ l" o2 d" K7 `+ \; o w! ? if( rect && rect.PtInRect( point ) )
4 k" _4 ^9 f6 ~2 j5 n {8 |5 C0 P) }0 V1 L
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
$ t, p" x" O9 k2 r7 G if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
8 g0 n, L% D2 { {
- u0 V9 L0 B! O" y4 x/ _/ O/ { if( m_pItemElem )+ O, ~5 J$ T8 l+ U" X) k2 P
{
# @: d9 T+ `4 ^, W7 q m_pItemElem = NULL;
+ }0 Z. B- H$ i- G$ G" T }
- `3 F! G( @8 \0 X. w m_pItemElem = pItemElem;
" s8 o+ @/ `% I% W' z9 Z1 L' I" H m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
1 [" C1 w. \+ b, ? }else{: d( ?* Z6 Y1 e7 j( z) O
SetForbid( TRUE );( x& e( ^ f" C8 g/ r$ q
}( u) d; G4 O) o, D
}else{
- o. `9 z; t6 |. K0 L9 B7 Q SetForbid( TRUE );/ [$ W- E0 i9 m3 w4 G
}- t( c# W; L! b' p% w& V
return TRUE;( _. x" b# m5 s e0 \9 q0 p
}# ~8 G7 k b$ G8 u
R3 R: m; Z1 tBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ), v+ t6 _8 Z) x
{
2 P$ Q: x% d2 u. ^ switch( nID )
- _( f+ y( s0 U( ^2 s {5 d5 O4 y6 q8 x& P& e' t& G- i
case WIDC_BUTTON3:
$ W8 n0 M& N! H: w e; ?: V) \; w" b {3 A- x% K. @6 H: z: B7 K( P
bStart = TRUE;
- T2 l4 k; k4 v* }/ d0 s break;' R& _7 c5 g6 v* k4 w
}
* A; `. c+ g; ]4 B$ a( O% q/ d% D- q case WIDC_BUTTON4:
, x. L* F2 T! M {7 m K4 _1 u; Q
bStart = FALSE;* d& I3 ~& G- X$ l& F
break;* m$ A7 W/ ]- Z8 O, F
}
$ O6 m6 w8 z% y! t/ Y }
, {& w1 Q1 ~ X; U. g! c8 B return CWndNeuz::OnChildNotify( message, nID, pLResult );( O1 ]" t6 U# n$ |
}
6 m' A( X2 \: m+ ^' P$ z0 O/ \void CWndAutoFood::OnDraw( C2DRender* p2DRender )
+ E6 @: v% q' i; G{
( D; z+ |; o# @; g7 E CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
* g! ^+ f9 j, H$ O5 Z if( bStart || !m_pItemElem )/ Z- \+ V1 u/ J" C
{
& s/ R2 O q- R {- J pBtn->EnableWindow( FALSE );) J- S" \7 q; I0 h! U7 B& j
}else
5 o5 p: f3 ^3 @) y pBtn->EnableWindow( TRUE );3 O$ C0 z$ u) A! Z% J
if( m_pTexture ), j9 D7 z% }5 {5 ~' w
{
5 V) p: V7 H. y. ]) Y LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
U+ Z3 l' [2 A1 s& P if( wndCtrl && wndCtrl->rect )
0 T1 ~4 d0 O0 p8 A$ R# S, Y {3 H* {& }. h) {0 v- _ [( q
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
2 p2 E% d1 v$ w+ M6 o }$ W4 W$ Y0 s- n* Z4 `$ u v
}
3 r8 P' x$ e) V}2 T( @5 ~) w( I- v. U4 r
' E. t' h( d7 l9 R" c9 _1 h* b/ s
BOOL CWndAutoFood: rocess()" }7 c+ C! |/ L* g+ f
{
3 B9 C" P! X; b; k3 Z* z0 c: d if( bStart )" I2 W/ k; K. g7 D! @: R; e1 k: B
{0 F% \: N+ g1 A: V
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
7 P8 [, [% I, A' `4 U# o {
. j. V) h; x* | if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )6 }6 m) `9 F. V$ }1 W k3 g
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );" f0 n2 g, T- i
}else{* f$ N5 y6 ]! b' w
bStart = FALSE;, Y5 }, [/ ^4 U9 D3 m) J
m_pItemElem = NULL;
& a/ M h. j2 ^& a& o' R" B5 Z& V }
& M" I. o6 ~: ]+ O* Z8 G }
% D& W( ?/ A3 ~# Q return TRUE; D7 h4 y, K- @6 n
}6 B8 L6 u& O4 E( C
' @, P& i* F; W
登录视频废话:) t3 h5 j* [( u+ l& B8 V) S% D
尾翼:. @9 n% L1 H. R- T/ L( k- H; b
; a# m) d5 ?6 A* r1 ^代码:. s* a, Z- k1 F9 r" O; S( ^/ M" I
3 ^ {( c. J- e; P$ a1 [
void CWorld::SetLight( BOOL bLight )
' \7 o' ~' K, M; Tdurch6 }2 r9 n0 b+ `5 A ]) l7 [
Code:
; A$ L* H F5 }, M T8 J+ Vvoid CWorld::SetLight( BOOL bLight )
! d/ W" \% P( ]& F( f{. I8 t6 k1 x; F V; `. Y# u" e
//ACE("SetLight %d \n", bLight);$ V& d% Q) l" O, y, j* }
; L* u" d. t' x4 N( t#ifndef __WORLDSERVER
% d9 B0 q: f$ U4 \: V DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
) o0 S- a8 S7 D) @( g: b CLight* pLight = NULL;* m0 d# y5 B: j, C, X8 _" F) N; B
# q, D' C: b7 U; x: W- t
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
! q& i) c. R ]5 ^+ w8 u1 h4 v+ d ?- W
pLight = GetLight( "direction" );
9 ~* V1 c0 a& N. J6 F% r0 E3 [
$ _$ T8 \" C7 b4 c8 U#if __VER >= 15 // __BS_CHANGING_ENVIR8 Z q, h$ Z/ Y& s6 D* q
if( g_pPlayer ){& \. C' d* }8 Y! ?) V
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
" _+ d7 I! Q& X4 Z if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!0 z/ D3 `- M, X0 V) c3 U, d
{0 F- s/ g$ U$ C0 O [7 E" D% l
if( pLight )
3 M1 m! U. X5 W% K: i* T* V. s' q {
+ _2 L7 H" P, T p2 A' C& O$ y pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
6 _4 c K G6 ^" t pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
7 W( L8 y9 C1 I% j4 \2 q pLight->Ambient.b = pInfo->_fAmbient[ 2 ];! h3 w. z9 T' @. j! ^
" Z- H- W- m* V$ _3 q: ^4 | pLight->Specular.r = 2.0f;
& M$ i4 _$ z1 ~. S: n7 ^" W pLight->Specular.g = 2.0f;, k2 V& Q* S1 o( R# ^
pLight->Specular.b = 2.0f;
5 a- ?2 m0 `: a% g! h, t4 J
1 n# G* r- {, c" ? pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
; M7 B9 {, [# Z/ L pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
6 G8 C& f7 Q) D1 W0 x" V2 @ pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
, L2 ~# o: @ ~( a) }/ H & U1 X$ v0 e/ a" e1 A! L' F: K3 ]
HookUpdateLight( pLight ); 7 k! W2 U6 X" e* M( G
' j! j. I5 G/ L0 t memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );0 H) A E% }- u4 _/ \* V. h
' z& O2 E# Y" v) p7 s0 ?# }, H Y
pLight->Diffuse.r *= 1.2f;
/ g0 M- J3 K6 Z% X! U; B/ c pLight->Diffuse.g *= 1.2f;
/ }6 r2 Z3 s2 c! q+ o: D0 d9 [1 x pLight->Diffuse.b *= 1.2f;- F! S+ b3 _- W, o/ @( y; I( B2 v
: u3 R' W% ?0 C; S7 Z e: O, Z pLight->Ambient.r *= 0.8f;# t4 g' Q% ?( j
pLight->Ambient.g *= 0.8f;
$ h, I$ u1 m. ?% J) Q( C pLight->Ambient.b *= 0.8f;# Y4 I4 B. Q& l
% I) q& i6 ], S3 L$ |0 N
memcpy( &m_light, pLight, sizeof( m_light ) );
: ^# i" y& A' [% h% o5 w
2 q- ?3 ^! K2 U Z0 R1 g D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);( D/ |9 `# ?. ]. p* M, v
D3DXVec3Normalize(&(vecSun),&(vecSun));
8 u9 ~% v4 t7 u% x5 ?! A1 B pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
! f8 o& c q& a# p, c pLight->Appear( m_pd3dDevice, TRUE );
. O P% J) A! i4 q% U ! f, B' z D, H- _
DWORD dwR, dwG, dwB;: l2 r3 v+ ]1 I% Z0 C. w
dwR = (DWORD)( pLight->Ambient.r * 255 );$ R$ s( W) j' N# |7 J4 w! r0 S
dwG = (DWORD)( pLight->Ambient.g * 255 );
! d2 f, t* m0 p$ P* x" D i dwB = (DWORD)( pLight->Ambient.b * 255 );
' W h8 s1 ^: L& J# v/ K6 X) q. Y dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
+ Q& d6 O* d! F) x3 f* \& V. M }
! O7 o, F' o9 c }+ q9 G3 N: X4 n& Q
}
9 C/ | g. U' V9 P( q: B else- q; L! i! d' P( M* {7 A. G0 T$ i
#endif
3 }* Z- A8 e! K( A) r
0 w3 G/ u. _! A, P7 c2 X; `0 ^" B if( m_bIsIndoor )5 {% O+ {2 X: C
{2 C, L) h; E6 S& }& H
if( pLight )) O3 g4 g* j$ e+ \6 c A* l8 e- c
{ " f, {% m; z, ]/ k9 s' u. g) H
// à??μ oˉè*
# _) A7 D k R# e; G. g$ M pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
& o; }+ p; p- q4 _ pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
# ~2 Z$ q' l9 ^& J) Q" }" Z! {3 Y pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;- q6 K* T% E7 D8 X, i
; p8 @2 h0 ]9 [" F: x
// oˉè* ??à?
. {1 d. d# c# M8 R- p' d pLight->Specular.r = 1.0f;9 D3 h, D3 V/ L/ \6 V
pLight->Specular.g = 1.0f;
# j x }6 w( X, F/ e pLight->Specular.b = 1.0f;6 O$ L/ ~, \1 {5 d$ W# c
// àü?? oˉè*
& J: a: v/ ]; K( a( }. o7 {# x pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
4 Z& o2 t9 D6 v3 A pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
+ f6 r' `3 w6 a8 ]5 B$ w pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
) U! {) |8 h, T8 m% n
1 e! [4 I! _7 a: L p if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
- ~6 P4 X5 ~! ?* T- I1 X {+ ]% b. v* E5 E, ], g
pLight->Diffuse.r *= 0.6f;
8 L2 B: d( H- b H6 X9 a pLight->Diffuse.g *= 0.6f;# Z! v5 m( k4 w# H8 @
pLight->Diffuse.b *= 0.6f;
$ o( U F" Q s( q pLight->Ambient.r *= 0.7f;5 {& M2 W4 m' b7 a& i+ o
pLight->Ambient.g *= 0.7f;
0 _! k1 q. Y* a, H+ p. o6 { pLight->Ambient.b *= 0.7f;
M/ O& O( g( }9 j; F( R }
# h' x: b4 i% a1 {
) u$ q0 k- H( f' g4 L#if __VER >= 15 // __BS_CHANGING_ENVIR# q _$ P; t3 @: h9 _1 z
if( g_pPlayer )* K' D0 F: O( R' B
HookUpdateLight( pLight );
" V. n$ s" F% O* B c, D6 Y r& o% J#endif6 w# \5 C5 c- m2 z' v$ c
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) ); U1 H- ?4 n2 k! T" G. V( a
9 e7 `: D: ^3 j$ Q5 A/ q) E" K9 F8 | pLight->Diffuse.r += 0.1f;( p( N6 r9 D! R Y8 I$ D; p
pLight->Diffuse.g += 0.1f;- [' K# ~3 } ?( y, e& {
pLight->Diffuse.b += 0.1f;$ C2 I* \" W! V; [! W" I
// oˉè* ??à?
' P& r+ w. _8 G; \5 h pLight->Specular.r = 2.0f;
' t3 c( f3 H' X% W4 i& N pLight->Specular.g = 2.0f;
( m" M+ E" T( u9 h. K I- a pLight->Specular.b = 2.0f;) I! S+ c7 C% h% p1 |# n
// á?oˉ
# Z/ X. Q- X! @; h/ g4 C( G pLight->Ambient.r *= 0.9f;% `" P# N1 l- t+ P u. P! T
pLight->Ambient.g *= 0.9f;# E& g) z3 [$ ~- c! ]
pLight->Ambient.b *= 0.9f;4 \1 u8 T" h6 a+ L6 W
. l K' G& v, u! l! F
memcpy( &m_light, pLight, sizeof( m_light ) );
# p) {+ E0 H2 [0 v$ ~, k ' p- [6 [9 f- ?
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
9 |) P; Y7 x* @( b" B/ L' @ pLight->Appear( m_pd3dDevice, TRUE );
0 f0 F0 i: Y+ } 2 A, Q* p5 @2 U. D
DWORD dwR, dwG, dwB;
0 e. [1 x G. X7 e/ ~ dwR = (DWORD)( pLight->Ambient.r * 255 );
0 e. `% B+ w7 a6 e dwG = (DWORD)( pLight->Ambient.g * 255 );+ K' H o7 O( w8 V, B9 t5 k
dwB = (DWORD)( pLight->Ambient.b * 255 );4 y; _" w, K1 {& z, P0 Z1 T' O4 g
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );+ x! H. m( N0 t& r9 g8 M
}
/ w! |( n, u+ X) O l4 G0 u; } }
3 F) `2 A- @; w) C; B( d8 U6 {" g else! r; [! Y2 a7 ` @7 B* G
{- m* r' Q5 g% v9 ^& y
if( pLight )2 @: e/ q# H" h9 b# }$ ^
{
6 L) k' p- Z/ n) R0 W7 W ` 9 f2 m+ n' j2 W9 ? q: \1 a }
int nHour = 8, nMin = 0;
6 r! V; J; S. w, E #ifdef __CLIENT
6 C/ H4 A# \) F( B- P! v // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 7 P" p! g }4 M! p: O
nHour = g_GameTimer.m_nHour;
9 F' J; f: @8 ]* t3 G5 d9 X nMin = g_GameTimer.m_nMin ;
4 C' Y4 ^6 Z! {( ~9 @! \, H+ w #else
: {/ s" C* v& u- Z8 H7 j // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
- \) W) v; S H if( m_nLightType == 1 )1 b' V8 A, i K& q: D: e2 p0 Z
nHour = m_nLightHour;9 e7 M \0 H- h2 j) g
#endif$ y) \) _+ W* s4 c3 W: q
nHour--;3 R/ m8 V; A8 {$ w: C- g, s
if( nHour < 0 ) nHour = 0;
3 J" ^4 h2 U# i- I$ B6 q1 } if( nHour > 23 ) nHour = 23;) p# Q) d8 M5 p# j3 d$ N
( l* V# O5 f# @- H x
//if( m_bFixedHour )
i* O. j" m; Z/ V( f // nHour = m_nFixedHour, nMin = 0;; n. W3 p- g* ]5 D
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
% \: Y5 y/ j Y1 |/ _4 w+ u5 Q LIGHTCOLOR lightColor = m_k24Light[ nHour ];" Q2 v# G/ @- g M
- \$ q- Q# G' x* u //m_lightColor = lightColorPrv;* r% [ Z/ O& Q
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
. W3 W7 g% d9 T- O2 \ lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;: ]& p5 b! q, k" e4 K3 v; ]2 r
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;" s8 S8 r) |7 z. m3 J# M
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;7 V' c6 @2 B4 q
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;' ^% U* v* a8 j8 ~6 D
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;/ z$ q8 \" b* q- m. d
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)4 f% y% _& j; b& K+ f! h
, G S# [$ k- Q; y% r+ v5 S* w2 @
// à??μ oˉè*
{ u/ }9 j8 j* u3 u pLight->Diffuse.r = lightColorPrv.r1;, r$ A" U K9 H+ M1 |8 E# h2 t
pLight->Diffuse.g = lightColorPrv.g1;1 @' f8 o$ |1 L* a! O" J+ \+ n. A) l# m
pLight->Diffuse.b = lightColorPrv.b1;
' Y# A9 @9 m$ X* f* T // oˉè* ??à? 5 w% D2 f: X1 O4 F1 P7 _2 a
pLight->Specular.r = 1.0f;/ I# g' ~- |5 j! ?2 G
pLight->Specular.g = 1.0f;" k9 i0 Z" \5 H1 w
pLight->Specular.b = 1.0f;
0 `& e# b o r- H1 P* y; W% s. y+ W // àü?? oˉè*
5 g, C+ R: D- G pLight->Ambient.r = lightColorPrv.r2;" A) `" ]- w0 N, ~, v% T4 V
pLight->Ambient.g = lightColorPrv.g2;# Q8 `' x" ], u% l# X* T. s
pLight->Ambient.b = lightColorPrv.b2;
$ `. G/ u+ f6 `2 T. B* j) \0 A- i6 A; ?! c {: |8 Z
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??., [& o. s1 c9 x! k; x& J
{
3 A: p" W/ f8 z pLight->Diffuse.r *= 0.6f;5 V C- F/ @% e4 M+ a( _" i
pLight->Diffuse.g *= 0.6f;
) k7 F# `' f6 t1 l& \2 I pLight->Diffuse.b *= 0.6f;
6 |4 R# c) l6 n6 K5 ~+ y pLight->Ambient.r *= 0.7f;
" w6 f$ a/ l. x5 R; ]- B8 d5 R' ^! ^ pLight->Ambient.g *= 0.7f;
+ p- G5 ?* R6 g* ]3 ^ pLight->Ambient.b *= 0.7f; H( T8 I! g. w
}7 c C/ t: O! E, b. N0 w" G0 R
4 U( e B* \1 o t& E7 `
#if __VER >= 15 // __BS_CHANGING_ENVIR1 a# t" K6 `$ a' Z, o- X
if( g_pPlayer )
# E# O, F9 Q$ ]/ | HookUpdateLight( pLight ); 9 h" y- w+ B2 v" q; w
#endif1 @) o E; R* I, l
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; l4 {; x6 \, k9 k8 M9 |
f6 v4 i. n& F1 r' W. N#ifdef __YENV1 O' ?8 i: i. L' X1 w4 G. P
pLight->Diffuse.r *= 1.1f;
9 X! U& s( V% d9 z0 B1 F' l+ _ pLight->Diffuse.g *= 1.1f;
7 t9 k7 Y9 T' g j4 F: w pLight->Diffuse.b *= 1.1f;
J8 S2 u; V5 d // oˉè* ??à? ; H# f3 q5 u( q% M
pLight->Specular.r = 2.0f;
0 U1 }2 B- r. r9 r4 v pLight->Specular.g = 2.0f;
& X: B H5 B2 Q: K pLight->Specular.b = 2.0f;
3 [( E7 S. ^' ? // á?oˉ
; | |, D/ f' o5 j pLight->Ambient.r *= 1.0f;
0 S" h% A' u7 M" i4 [ pLight->Ambient.g *= 1.0f;
, K' `4 l% D5 b) c pLight->Ambient.b *= 1.0f;3 m* z5 ]7 k+ J9 \6 ?- A
#else //__YENV
! z/ t B7 v: V; P \ pLight->Diffuse.r *= 1.1f;
- _+ n H3 b+ o/ m& V9 n pLight->Diffuse.g *= 1.1f;
2 V' e$ ?3 v4 d+ ` pLight->Diffuse.b *= 1.1f;
5 ?. X% I/ @8 ^) z* M5 Q // oˉè* ??à?
& }& k6 u5 m! Q% c& u pLight->Specular.r = 2.0f;
- `$ I3 b) x) Q$ E pLight->Specular.g = 2.0f;
+ D6 C9 h! ^5 d$ ?, P/ r3 |- }/ B pLight->Specular.b = 2.0f;
5 k+ ^3 Y. P* N B, e // á?oˉ 6 ?& u, w5 s/ _3 `! n Q( v
pLight->Ambient.r *= 0.9f;
6 U- v4 T3 A* V4 _ pLight->Ambient.g *= 0.9f;1 C; B/ A" V# A
pLight->Ambient.b *= 0.9f;# ]* L! Y7 ~2 w7 b. |4 N
#endif //__YENV ) d; H2 g" V$ c
, {5 v4 w' J! X memcpy( &m_light, pLight, sizeof( m_light ) );
! @) h5 k6 {- E7 @: ?" u3 Y# v# X1 a 8 o/ M) n% b9 ]- A r" J( D ^5 F
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
, G8 z" W" @6 J/ h+ u D3DXMATRIX matTemp;2 E* l# P8 D# B
static const float CONS_VAL = 3.1415926f / 180.f;( O1 D8 }( l' ~- |* K+ S% Z" E; }
5 Y6 e# z+ `9 C D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);! y2 v+ h$ t9 ^ h
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);4 R! Z5 b5 J( Z7 n6 z0 J
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 6 N, S3 e; X8 K
pLight->Appear( m_pd3dDevice, TRUE );+ o: q) p7 z1 |1 t; O$ Z- W3 _
) _1 [& X+ q" s
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
' D$ d& r+ {0 r! f' k( U // D3DXVec3Normalize(&(vecSun),&(vecSun));" t. o: F3 ?; m, S
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
, n% X+ M8 U: i" z3 V# h
/ u; V8 f8 B, J% M" W DWORD dwR, dwG, dwB;
% a0 p% N( y% X" ~5 J' W/ E dwR = (DWORD)( pLight->Ambient.r * 255 );' ^. C& h+ T& b" B5 C& x( D
dwG = (DWORD)( pLight->Ambient.g * 255 );
8 d" v0 I2 v$ d6 Z) S) G1 H dwB = (DWORD)( pLight->Ambient.b * 255 );
1 M& a3 s9 T, ]$ n, H( L% E- z dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& }; E0 A, w% h5 |( ~# `. Y) {3 c }9 X' y6 c1 P+ q( U# s
}
* [. \0 j7 F* o( G1 `
/ X6 Y1 j5 ~# U5 ]6 s: N: q% N- k m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );6 i% v$ f2 X( a3 |" S
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) );2 S, f6 F3 d) k2 p
::SetLight( bLight );
4 g( I4 G$ T' y$ G P8 h
4 }5 R9 P7 E1 d6 Y: e0 p- d // ±ao? ?D?í???ó á¤à? + f9 V! M; A2 f) {2 r7 Q
m_pd3dDevice->SetMaterial( &m_baseMaterial );
: ] Q* S3 G, m: H9 Y) ~- G ' q5 K8 o' X- M+ p' V6 q2 ]1 j8 {
#endif // not WORLDSERVER ? v, ?$ r# U' k* C: E
}
# U' I+ i7 f& ]! u% m0 y并更换
4 I. }) l6 H0 {. w* h1 Y2 CCode:
& _- i6 F1 |% G4 j2 x& `5 D4 M* [__FLYFF_INITPAGE_EXT; r/ R9 c4 P+ u- Z, a# k8 r
定义# @' ~/ D0 n6 E% ?( B" r
6 ]$ C3 I! }) J6 y- l" _& v) g F5 W1 @
) _! \; I! i4 o$ Y
; U* C/ Z5 y2 W8 B# ?
) z* D z% C2 {现在终于删除我的狗屁加速...5 k6 ?/ C6 s @- H1 ]' R4 G( e& \
0 G9 S/ a O# t+ h5 K
4 c) C6 u4 b& O9 y3 F2 S# v6 E0 X
|
|