|
食品车:
/ K5 V# T7 S# X! _尾翼:& j$ E7 G# A1 N% o' \9 \8 L$ k. p+ ]5 F
$ f* }/ `' \( ]* M- j" r代码:
5 h+ n1 W1 `, T- m# @1 C) m/ n6 mCWndAutoFood::CWndAutoFood()& [2 u2 ~2 P" X; d' r" @
{
) }+ Z& A2 H- x* G+ ? m_pItemElem = NULL;3 n- P" N# L9 K. C; s6 v
m_pTexture = NULL;) W% v2 C3 D$ ^
bStart = FALSE;
- Y6 u, w4 w* \}4 M9 V6 V% ~, [
# I7 N) L+ u' ACWndAutoFood::~CWndAutoFood()
! v; _6 `8 r; l3 G; F: f2 X/ J{
# |3 O" Z% H4 o. R AfxMessageBox( "AutoFood ist gestorben " );
4 c9 W' x# d7 T: u4 n$ c6 b}
7 m. d, E6 [" U" m% t/ {BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )6 x% R% m3 ^1 i4 c+ H, X+ o- e
{+ ~3 s1 b/ u3 A6 Q+ ?" d3 J
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );' j0 n8 l* U- C+ ]& V% M
}
* P7 w$ b: r( ~% i1 N# ?
$ }' U7 X* e5 c/ oBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )+ l" |2 P6 _: w3 ~1 |7 u" ?3 p
{
* Y6 r0 ?/ ]) g LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
# t& Y& G; _* [, u Y1 Z CRect rect = pWndCtrl->rect;
, f' W4 {1 K" |: a8 Z if( rect && rect.PtInRect( point ) )4 d# }, W7 A9 {, U" R
{
- q, L( M% N/ u- Y CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
7 B ]' Z4 G+ [ if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD ), p9 a# ]) p0 D4 e1 s4 c
{( x+ K4 C7 ?# z5 D
if( m_pItemElem )
: t4 s3 @+ w" `% D( X& m {9 c3 V C; N. \$ r4 o; {
m_pItemElem = NULL;
% s% O2 F* J+ P8 o# h8 I- e }
7 ^( P+ |6 q4 }) |# H. i4 o m_pItemElem = pItemElem;
, q- ~7 U" D. E8 m* v+ Z" c m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );: P. ^/ S5 @+ S9 e
}else{
" N! f' A; x3 M {" ?" ~4 r$ U SetForbid( TRUE );
9 q3 P& z' m* [# ?5 w( K }+ b# q+ ~0 l g# w* c2 T
}else{
1 P, P6 A2 Z' Q& ^ SetForbid( TRUE );9 @1 \# p9 r( E5 w8 N: o
}
! w% K7 q$ Y U1 e return TRUE;
7 k' e+ _+ d# y' ^6 A! h}- A, F4 O1 ~5 A& c
9 w1 n. x5 e* J4 Y1 C7 w/ M% g1 p6 M
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )& H0 n, C* I( g u9 c |
{
' X" |: C4 ^) g7 p4 z switch( nID )
6 r" S) q1 _! M8 v3 L3 Z2 C' m {
8 M. |' X8 E8 X- m6 b case WIDC_BUTTON3:) @3 W; F2 U' H3 m# _: ]( o+ a8 b
{
6 L4 m7 t5 Y3 ]9 y \& T* |8 z bStart = TRUE;
! O# z) C, a. x" B& F5 {3 L break;: X& r& P* e+ q& |& K r) k1 l
}* U6 |- X* {3 N+ }) k
case WIDC_BUTTON4:/ C. ^. j0 T7 r9 x3 C0 [2 P
{+ L' t( R- O2 b+ `, R
bStart = FALSE;
' J& Y( ^2 `4 h: c( B break;
; [6 r( I/ O- X5 O' C }
j; ^4 b' K! X }
" q3 ^. }9 R C8 |; k return CWndNeuz::OnChildNotify( message, nID, pLResult );+ L$ h: W# I6 ]" Q3 G7 n
}
1 \) @6 W8 | H3 z; O, Tvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )/ M' s% }0 [* n- Q/ h7 ^4 ^
{
0 s' i) t% e; F5 K6 j4 K CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );& U! H% O* Q+ F
if( bStart || !m_pItemElem )5 |+ J- u( q6 U6 ]7 s5 b$ ~* p
{- ^+ ~6 ] }/ W6 o& c
pBtn->EnableWindow( FALSE );& R, ^ K% ~0 E
}else
7 Y) D) u9 R3 @' @. ?1 O- b pBtn->EnableWindow( TRUE );
8 h; B; `$ j5 F/ Z( o if( m_pTexture )
/ B1 L+ m1 C- H: ?+ [3 M {1 O1 \3 p1 ?" s: k) g
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
' x7 F+ |; m! B9 ~+ T if( wndCtrl && wndCtrl->rect )2 R" I& a+ I, M V% k
{
$ P) }+ K R# B; e) s! X m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
. u. W" x+ v$ c: e7 A5 k }
$ w5 C9 v( s+ o5 X3 O' C }
! ]" i/ X9 V+ O# x2 { u% Z7 x}
. N A! g/ Q8 E/ s' s9 K1 H1 @/ `( z1 D- P" f" \
BOOL CWndAutoFood: rocess()
! V5 B' L9 _0 R% K N{9 ?. V# y: c/ e& K" Z% v
if( bStart )
# F* `; t# L3 U! N) u4 Y {% I3 n. ^9 T0 _% D2 d4 Y4 F) Q! j3 H
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
5 d- r/ W& `8 ?3 w5 J1 O* I6 @# S' [ {
; w. n; n5 J: R2 k8 X- c2 p* k if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )$ G4 a8 I9 Z% C7 m( s0 N
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
" O- v4 M" O8 l }else{' C9 w" z- |% E/ i
bStart = FALSE;
6 n6 x! v( P7 J M2 K m_pItemElem = NULL;7 j, M) T5 a6 k- S \! i
}
1 W; X# B/ ^, u# C7 u% ~" K. J }
! {0 g2 |" } |" I0 b return TRUE;
/ Y/ [4 l( G1 u1 p- k}
3 I+ H. X1 B* k# M
( z) `+ m# h% y9 M! Y$ P4 n2 ?登录视频废话:
( s4 z$ l4 E4 T; ~# k尾翼:; R, {+ C# r, j2 A( u' H
/ I K' x J' b0 }6 I& b( U& U代码:
! R/ ^) V) k9 o
3 O* q' k' F' m0 g; Q9 v8 |void CWorld::SetLight( BOOL bLight )
- u4 G6 o( E4 N& a! a x o! B3 Hdurch7 T* Y ^- [/ i/ z
Code: v$ D# c9 A. a
void CWorld::SetLight( BOOL bLight ): Z; q" c* a& B! ]/ x
{
. X; R+ V4 `0 M7 q( D% T //ACE("SetLight %d \n", bLight);0 j& S# t8 N( q2 I: l. K
( y& v5 w& h1 H) m
#ifndef __WORLDSERVER & L! R; b7 ?: e' j* d! r9 p
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
2 ]- W9 f2 H. K6 p: W8 |3 ` CLight* pLight = NULL;
7 r9 X: I+ h( N" A" }
7 K! v# z% z- ? D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );3 I$ C4 Z7 w# K# }
' W( p; Y' w; U# {) A b pLight = GetLight( "direction" );. r$ G \" D2 E& S; _3 c1 q: U
z- l5 M' H! @7 I#if __VER >= 15 // __BS_CHANGING_ENVIR
/ a* V4 Q" G* j8 M7 i if( g_pPlayer ){
@; _) I, ?/ ]- e+ a# R! K1 Y2 H ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
, T7 Z4 V- T+ z; q4 r, G" B if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!+ L) u* Y9 d5 }- A
{6 Q9 g5 f; R. }/ N1 [4 {* v: q% B
if( pLight )
) P) B5 F" \+ M" ], _ {
$ e. F' }- d* O* x2 I5 ]& Y pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
3 ~3 _9 m# G) G$ e f) C; }% S pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
! M4 d/ Y* j; l5 `! r$ C6 L( n pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
8 g+ M, t7 R9 B! r! j
( c( E" z' S" D# j" F0 K& E pLight->Specular.r = 2.0f;) _9 W2 z6 ~; I7 a
pLight->Specular.g = 2.0f;
! o0 p9 X0 ^6 [ pLight->Specular.b = 2.0f;
5 U7 Z* B& j0 I) n2 i/ i) u3 v$ F" ^ g" E1 m6 V5 M* `: z/ T
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
" S0 k% Z7 O! m- U$ I9 C pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];4 ^' v: F$ Y# Y3 y
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
8 v: a; y3 T2 s+ r2 W7 Y ! s/ U* r0 `5 l" O
HookUpdateLight( pLight ); 3 |* Y, o' ~9 U1 j* K
. x$ E3 l8 H( V4 u+ T
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 V7 E1 z) `- @, ]
4 E1 H: Y. {2 `: \/ k8 M9 L pLight->Diffuse.r *= 1.2f;
5 F& C( W% R0 I9 H1 Q pLight->Diffuse.g *= 1.2f;
: b# R' [& u: X$ H, ?, C pLight->Diffuse.b *= 1.2f;" z* |+ J' |7 T( _) C5 w- B0 R( o. n
0 {2 E9 ~3 Y( E' ^) B$ M
pLight->Ambient.r *= 0.8f;
4 m4 O( T; [. R9 b3 D; x# g pLight->Ambient.g *= 0.8f;3 b2 X9 M! G$ y: n0 D2 U
pLight->Ambient.b *= 0.8f;( l% t# H9 G& M
" c) m5 s* z _. J
memcpy( &m_light, pLight, sizeof( m_light ) );& [+ ~; j+ u6 j( V7 Y: m
8 H# T% @: z% y+ y8 T
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);' N( n5 B9 ^: |- J% A/ H. z- u
D3DXVec3Normalize(&(vecSun),&(vecSun));9 E( A7 B" h+ ]* }4 u7 J
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
% m* U" ]: R) W' h0 d" q8 w pLight->Appear( m_pd3dDevice, TRUE );
8 K3 Z6 I5 M# `) p' c J+ z ' i$ C8 H& p) X1 i
DWORD dwR, dwG, dwB;
8 { w2 h" y' m' U4 T0 `5 ^! e+ h! ~ dwR = (DWORD)( pLight->Ambient.r * 255 );
5 y) N& @8 C: A! k% f; U dwG = (DWORD)( pLight->Ambient.g * 255 );; l8 `2 ?% V) p1 f: {9 E. l
dwB = (DWORD)( pLight->Ambient.b * 255 );
8 p4 ~! i% ?' ~ dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; S P( X2 B) j }- K) I. x% h2 `5 F2 e4 X
}0 B2 m& A4 R8 Z4 @$ j9 p0 z
}
/ a6 d7 t9 I# ? else
0 ` z4 x w' }; O1 C# C#endif ( i. h. x. [ c) A% x
' U& \& R7 {3 ^) i
if( m_bIsIndoor )2 _& e3 x2 j1 V D* V
{
! v6 X3 `& M' x* V& _. K3 {$ k. Z if( pLight )8 \ X3 c; I$ f3 `
{
& P4 s4 `8 m* x% K8 ^ // à??μ oˉè*
& y6 e- Q6 I2 M% V) t pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;! g5 k2 |1 g) A# a8 v3 V. E
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
. z9 R8 X3 b: ]) G) w pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f; C7 q7 r. Q& ]
9 u2 i8 M6 p) p! S5 a
// oˉè* ??à?
) O& N& r3 ]" }( W1 G( W pLight->Specular.r = 1.0f;
3 l; Q2 k. l$ n2 J b1 s pLight->Specular.g = 1.0f;
' w% U( M+ U+ e W pLight->Specular.b = 1.0f;0 Q# l+ k2 a9 ^$ Y6 t2 \
// àü?? oˉè* 5 ?, S7 K" n) y
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
! n$ f) g- ]: M- i8 z; X, P6 A pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;; I3 x# Q+ b4 Q/ H9 I
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;' B& B4 ~& T6 `' X
' h- a8 h% ? b# o& H0 M, Q. U
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
' O. g; K1 \; V7 h2 U {% ~* p, {/ q0 D
pLight->Diffuse.r *= 0.6f;- l+ j. N' V0 |' r, z. b/ o
pLight->Diffuse.g *= 0.6f;2 t$ E+ k# m" ~' r4 r Q
pLight->Diffuse.b *= 0.6f;% a3 @/ | E1 ^/ v* l7 M/ K8 L. m
pLight->Ambient.r *= 0.7f;
; @; D4 k% l) h- y5 Q/ x: j0 z pLight->Ambient.g *= 0.7f;
; g" F# y/ V$ a" S pLight->Ambient.b *= 0.7f;
1 i4 a a' }/ x4 f2 _ }
- [, }6 i2 Z- E: b4 n" {, A3 t. n% x% m: d. F
#if __VER >= 15 // __BS_CHANGING_ENVIR P9 x* y; k5 E( Z0 ]
if( g_pPlayer )
' E5 W' C# E; z0 F* N1 ? HookUpdateLight( pLight );
5 X, N! f+ a" w) ^) Z0 W8 T2 V#endif
2 } o. f+ p7 X) G- k memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );, _. v, ^6 D. B/ j# ^! @9 A7 G
& m3 i) M. ?5 c# @# T" j7 q4 h pLight->Diffuse.r += 0.1f;+ t. V+ X; @. P2 b' w* o+ ?
pLight->Diffuse.g += 0.1f;: ^8 d! N5 D$ h9 }2 T5 ]1 z/ |
pLight->Diffuse.b += 0.1f;
" S$ L1 x( Q" H, ?/ [ // oˉè* ??à?
$ y+ M4 d6 W% M& E pLight->Specular.r = 2.0f;% I! e0 Q d# h. J) j- c
pLight->Specular.g = 2.0f;( M, W* {8 P: V% l
pLight->Specular.b = 2.0f;/ a" r3 K1 R6 o+ ]; G5 M8 A" R0 C
// á?oˉ - Q& Q0 @. ~2 A# c8 }
pLight->Ambient.r *= 0.9f;! A" s+ r! V& j3 n
pLight->Ambient.g *= 0.9f;) D2 m4 D1 [3 `% w
pLight->Ambient.b *= 0.9f;
, Q& b: J1 M$ D3 _, f( c% _1 ^2 r) a+ L, G0 ^0 C
memcpy( &m_light, pLight, sizeof( m_light ) );
$ t5 g( J' ]3 P4 N
i. m6 }# p4 P, {7 Q% ?: H# s% n pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
% M$ P+ U$ J& C& _# ]$ m pLight->Appear( m_pd3dDevice, TRUE );9 t6 M( k1 d3 e' G% r; r
) T7 }+ ^ o' w6 n1 n) i x
DWORD dwR, dwG, dwB;
5 G+ l# _3 B+ {9 T0 T; d& x9 |0 \ dwR = (DWORD)( pLight->Ambient.r * 255 );
* ^+ c( I% U! i5 a9 H, J# H dwG = (DWORD)( pLight->Ambient.g * 255 );4 @2 q9 u2 {( }3 T; w$ O. ~
dwB = (DWORD)( pLight->Ambient.b * 255 );" J& h) m; Z- c
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
( c, f" K7 Q. j% U* Q- F7 e4 y }7 s- E* g$ |& r2 b4 A; g) ^
}' g/ k- B, p% x) E, b
else
0 K: a8 k9 y8 @/ t9 i* M {
5 y& \% { C% D% s0 s if( pLight ): e% C1 K' `4 i2 F4 B' ~5 T
{5 `2 Z$ \$ }& B, ]! ]2 Y% L
. Z' A. g& @2 i/ i
int nHour = 8, nMin = 0;! x" x- g, W( c& T! Z% K- j
#ifdef __CLIENT
( J7 A" |3 a% s( W* w: p // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 5 h8 `: w% ], Y) ?* Y7 ]# E
nHour = g_GameTimer.m_nHour;, `6 l% S# T: C/ \; k9 d
nMin = g_GameTimer.m_nMin ;7 w( r& g7 c5 [3 M
#else
6 ]' M7 _6 ^( t$ N // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
. t7 U! v0 q/ c/ j1 r! g5 g if( m_nLightType == 1 )
5 a3 V1 w0 B0 d# U nHour = m_nLightHour;; a$ r! ?! t' z$ P* U t! A
#endif4 f3 ?" }5 a6 n5 h; k" ^6 Q% h4 f
nHour--;# @0 F8 @8 ^6 q+ E! X- P
if( nHour < 0 ) nHour = 0;9 L* H4 N4 d x& B4 [3 o# d
if( nHour > 23 ) nHour = 23;. P6 _- B4 t' a r
$ G9 B1 O( g5 I! I N# a8 C i+ @ //if( m_bFixedHour )4 k( o* @: V3 G/ z9 F
// nHour = m_nFixedHour, nMin = 0;
) j; @% i4 D" W X LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
. `5 N) ~( W. O1 [: Z3 d LIGHTCOLOR lightColor = m_k24Light[ nHour ];% a! l# t4 K6 E% E1 {
3 {' e' P% F& F0 ] ?5 a
//m_lightColor = lightColorPrv;% R$ U$ b7 t9 o! r, t
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;* V4 S) B. b" x9 P: s4 W1 V0 E
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;1 A$ p! Y7 I2 ^% z1 ?+ h
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
' o0 d& i. ?. X2 D" S4 j$ {5 E lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
7 c% z" H# ^9 K( r- r lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;: u4 e ~6 Q, Q( O) G
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;0 _, j( @ y: i6 z' d( |/ q
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)7 b2 I/ s3 q- A* K2 t" a' A( y
5 l* I9 o3 J3 |1 O
// à??μ oˉè* 0 e# d, F; ~' f' ^, m
pLight->Diffuse.r = lightColorPrv.r1;3 K, m. X. y ~) v
pLight->Diffuse.g = lightColorPrv.g1;0 I2 R. M" T8 l8 [- T
pLight->Diffuse.b = lightColorPrv.b1;
, L5 K5 E( }1 n! ~" G+ z+ r7 w // oˉè* ??à? * d1 e2 v" r8 U1 W4 U" W
pLight->Specular.r = 1.0f;/ j: p `" U, s$ J! J7 ^& e
pLight->Specular.g = 1.0f;
; X8 y$ ?% Q" [ ` pLight->Specular.b = 1.0f;6 W( u% ^0 ^2 e2 ~
// àü?? oˉè* ' q; n- w4 c! u) b3 Y$ f+ @2 g4 }
pLight->Ambient.r = lightColorPrv.r2;1 v3 F e! T/ u0 \7 l' u/ O
pLight->Ambient.g = lightColorPrv.g2;0 J' N# g$ _/ o* q6 f8 a
pLight->Ambient.b = lightColorPrv.b2;
9 _0 N i3 ]2 |' {1 M4 i; k# ~2 `& p, l
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
; p6 c+ z+ }, }5 I/ v X' V {3 Z/ q- y7 n$ r# M! g$ L
pLight->Diffuse.r *= 0.6f; ?- U. Y7 A& A; n; \
pLight->Diffuse.g *= 0.6f;
0 J! E9 n1 Z% b& s pLight->Diffuse.b *= 0.6f;5 n4 C+ f* H2 d8 {
pLight->Ambient.r *= 0.7f;8 I1 a( H6 K% i7 T# a( l5 h
pLight->Ambient.g *= 0.7f;% C9 p6 M8 R8 A5 _- g
pLight->Ambient.b *= 0.7f;
t. A+ \; Z. e* x& r3 e }. z6 U7 ]# D5 h- g% F; Y
( }( l4 H, x. K9 F: I
#if __VER >= 15 // __BS_CHANGING_ENVIR
) I7 K8 [3 s3 U$ y if( g_pPlayer ) T7 W2 Z' S' K p
HookUpdateLight( pLight ); ! G) L$ d3 ^7 n8 Z8 g% Q
#endif
+ W- s2 m0 O% c( V2 s( A H memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
* s6 o! l, p3 f9 H2 n2 l8 q3 n4 ~
#ifdef __YENV
k! J; m U, \* S7 N pLight->Diffuse.r *= 1.1f;
0 y" j& W: s3 Z pLight->Diffuse.g *= 1.1f;$ A o' j3 a: q& \( |
pLight->Diffuse.b *= 1.1f;
- Z7 Z5 W3 y7 i: o // oˉè* ??à?
1 b3 m6 }; q1 w: f9 P pLight->Specular.r = 2.0f;
* X0 Q" r: I# T K2 h3 i0 g6 q' N pLight->Specular.g = 2.0f;; a2 U/ [1 X. R/ n0 ?+ J9 A; u
pLight->Specular.b = 2.0f;7 R$ P* O' `. M
// á?oˉ ; f% y, Z5 N t5 u& m- a f
pLight->Ambient.r *= 1.0f;* ^, y! |0 J- q
pLight->Ambient.g *= 1.0f;# x) r/ q1 D( N+ G
pLight->Ambient.b *= 1.0f;5 Q& p n* l# u5 C, F5 d. M, `
#else //__YENV
" w) W$ n0 s) { L6 k" I4 w pLight->Diffuse.r *= 1.1f;
' x; n, G" n, p' J6 }# Y) L- _/ A pLight->Diffuse.g *= 1.1f;% Y7 b2 Y6 O$ X9 i9 m
pLight->Diffuse.b *= 1.1f;
) [) l' @0 ?/ M5 b; U // oˉè* ??à?
3 E' u! m# D) S: @$ k pLight->Specular.r = 2.0f;+ o4 m, f% [+ L/ ?6 }" H& A
pLight->Specular.g = 2.0f;
6 [+ i/ C+ y% R% H. Z D u pLight->Specular.b = 2.0f;& S$ N3 ]% T z7 K) u9 d
// á?oˉ
/ m' _. J+ |* g; e, ~ pLight->Ambient.r *= 0.9f;/ H7 [! x5 J$ _0 R( U
pLight->Ambient.g *= 0.9f; h4 N& n# ^) } o6 ?4 D8 [5 N
pLight->Ambient.b *= 0.9f;
$ i( u! i2 F9 O( \" J#endif //__YENV 1 k+ u# Y4 x8 n0 u- t
) k& e6 c/ e; P C* ~8 B memcpy( &m_light, pLight, sizeof( m_light ) );2 ` ?9 ?- T/ ?4 s5 N4 K
9 v0 s, X8 D/ Z( X$ s D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);6 {2 ?& r. o: j3 ]/ ^. Q
D3DXMATRIX matTemp;/ L$ q8 b X/ V* S
static const float CONS_VAL = 3.1415926f / 180.f;
. q4 M1 y. O% ]3 J+ X) G* Q4 j" \6 ~0 `
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);6 S( Y2 m1 }% A- ^; f2 J. I2 [
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
8 J; ?. u7 `% r6 g$ ` pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
$ F2 C- N. F9 I. [7 E5 G* H pLight->Appear( m_pd3dDevice, TRUE );( h2 w( r- S* x: p# Q
4 Q0 K0 v% z3 F // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);! |5 X/ |% O6 c% O" y
// D3DXVec3Normalize(&(vecSun),&(vecSun));: ?7 I0 `4 z8 e; a; L
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
0 p& |2 k& I `& z% p0 J! Y
& U- G. _7 |8 E DWORD dwR, dwG, dwB;& b% {0 v! X: s/ P. u7 M4 s
dwR = (DWORD)( pLight->Ambient.r * 255 );2 Y7 v3 O- u* R; G
dwG = (DWORD)( pLight->Ambient.g * 255 );1 h! g( B$ R2 t3 t w5 {; j
dwB = (DWORD)( pLight->Ambient.b * 255 );# G* g7 }6 s3 ~0 i. P6 C; s! `
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
/ f3 j( @/ q4 R+ H; l }5 @; v4 P( D) D' |4 I; Z$ n
}' w/ l8 A3 d! y o
6 P: @- D1 T8 w w m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
9 Y' u1 [. y b. H. W 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) );
% |+ ~; g/ B/ Y0 D ::SetLight( bLight );9 y9 z* t3 u) {. W
) H( Y6 L3 q: t4 S) b( ~ // ±ao? ?D?í???ó á¤à? 5 v& O8 B- r+ Y: i7 @6 C' T- ]# ^7 v
m_pd3dDevice->SetMaterial( &m_baseMaterial );2 I/ V6 u6 }8 q' I& u& u
M+ S& r6 m4 d0 }6 w#endif // not WORLDSERVER
/ f" N i8 r' u}
0 b2 s4 j+ y% n并更换
# [# F& n: O+ p: o! `9 P$ mCode:
3 R: h/ o1 ~- T__FLYFF_INITPAGE_EXT
7 E! n# i+ T- u5 f定义
" L1 w0 m; y5 m9 z8 ]! ?
9 g( e! I6 j. T$ y- s" |5 P# x& }1 F3 [ B; E5 _
0 Q6 X/ Q& }3 e# b2 {0 d7 q% b( Y' U% E# @4 n: }3 ~8 ^0 K
现在终于删除我的狗屁加速...
( E r: V ~8 X. M: H
" p/ l% \: r9 } e; ]
6 F, z9 ?$ g# j- N% o5 a9 b: s) D$ S- G* a/ ]5 q
|
|