|
|
食品车:
: U) k# [0 D* |尾翼:
, \& L: F. |. q0 P
- K6 U1 ?3 W' P2 d代码:
% _' v3 q6 E6 G, q& qCWndAutoFood::CWndAutoFood()4 a: \# A( u! [- c
{
6 \( X& Z7 e3 W7 z1 Z5 _0 g# g m_pItemElem = NULL;
) o2 x M9 w" J# e+ n( v; ], y m_pTexture = NULL;
9 t" {/ T0 m; a$ y! H8 u1 C bStart = FALSE;( Z+ Z! Y u! f& L3 B
}
# k, P. Y8 a) } a
$ \& o: d% G" W" G+ VCWndAutoFood::~CWndAutoFood() ~! `) f/ k5 M/ p6 C/ C
{
2 b1 Z. O- z5 Y& G AfxMessageBox( "AutoFood ist gestorben " );5 E: ^4 d- g, ^ M% W; S/ t
}
' ~9 ~; ~, n" I2 x# H5 S; nBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
8 Y1 n8 }4 B' M. R& `# {{
+ `" H0 T1 [5 R Y" W- t return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
+ p- m& m; n. q7 K- t}
5 o+ w, m6 {* z
1 c! V! y* M% N5 f7 r$ WBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )# z/ ~7 |' N) f7 @! h
{
. Z# J4 x2 d* X5 c" P' c LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );$ w0 d% K' X( z7 j9 R
CRect rect = pWndCtrl->rect;
) I& q! J4 e; l; u. M if( rect && rect.PtInRect( point ) )( I" |+ M J, R& p; o
{
* e; O$ l1 g+ e( O& s0 h9 w CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );2 l2 ^# f$ E+ [, L' V( M/ D1 d, ^
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
0 @6 _ L4 s5 J* B {
9 H. i9 W% n3 s if( m_pItemElem )
+ R; w0 B8 _. w$ F N {* v+ l( c9 Q& j. m. ~
m_pItemElem = NULL;
! e+ ~- m/ q+ ]$ m% h) P7 @& N/ Z }
( r* d( K6 H3 y) g m_pItemElem = pItemElem;3 r( g1 [4 ?0 ?
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );5 b" A3 m" {# N6 Y
}else{
" ]- }6 f J6 ~* z" S4 k SetForbid( TRUE );+ p8 ~3 D |2 a1 Y# s. A y! A
}# W+ ^# x9 d" m- A- }
}else{
& y# t0 E" V' Q+ ` SetForbid( TRUE );
9 @5 l0 |% `& \% d7 Z9 \ }9 n# ]; f E. B2 J
return TRUE;2 m; p3 L' z+ o+ g0 C' ~+ f
}
) a& n. j) i: c- O
+ l/ O- y; [# Y, u3 `' X/ Z% BBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
. e/ p) E$ [* V$ N: E3 D{
- w: O% x P8 y' C7 H switch( nID )
! }1 i5 `) s( P6 Y6 s4 \" Z! O: O+ [3 k {
# Q y& @) F+ m! V+ Y3 ^' j# p& j case WIDC_BUTTON3:
/ O; V4 W; Z) K3 R4 i1 q. u$ o* Y9 q {4 k5 O* F/ w8 J, n
bStart = TRUE;
: M# y! p( q h2 E8 ~! ?! H break;. S7 ^; n8 M8 G( h4 V) a
}
( \1 H" V% D& F4 V7 L case WIDC_BUTTON4:
3 q4 [! F& n- ~! y. V {
1 e5 K X3 x, ?1 M+ E) t bStart = FALSE;
" I4 }( W8 `8 O3 i: W break;' ]4 M, w9 Y7 K$ H
}
, z7 ?- ]+ C4 \3 d' ^0 S }
7 {5 e o. W- K return CWndNeuz::OnChildNotify( message, nID, pLResult );9 f f+ F1 f5 V
} - z9 R8 K; P1 i2 C$ Y, V* h0 H
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
8 \9 y" |: m7 j# k" k8 M' N{
0 [7 w5 {1 |2 D: R& ^$ ~/ i CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );4 N5 [/ u( ?1 T1 A: B
if( bStart || !m_pItemElem )
! w) @' {* ]! x0 u* i1 f( ~2 V, d- a {
* F/ ?+ Z8 b2 e2 N pBtn->EnableWindow( FALSE );; m W# m/ O' I8 U# K5 u! ?3 o3 Q) O0 Q
}else
5 \% {; t- Q4 r# r( d0 B pBtn->EnableWindow( TRUE );
) W6 Q+ B4 L& q, D& x if( m_pTexture )
0 l# V. v! h8 }9 `: h8 w {" z. \2 @8 E7 l
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
& a$ m: V6 v/ R8 E1 `* C: \% D if( wndCtrl && wndCtrl->rect )
5 e9 j: r" [! N1 ` {5 h* L ` W5 D6 C+ |5 G: @
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
1 p9 U* ?3 H8 o; E! B4 v }
- z! o/ `0 e# d5 n& g/ o+ X }
0 R) `" J9 `4 j1 |2 j- N}0 z6 @8 I: @% }9 A+ t. z# I4 n& q
: z% V, K3 @' A( D$ P& Z; @+ ^7 cBOOL CWndAutoFood: rocess()5 Y. n) K5 R/ _1 [
{& u: p, D* }7 g6 j0 @/ Z
if( bStart )
8 {! n# a- W5 {2 h8 b0 ? {. Z8 z8 N& l% m
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ); B2 f! z, e7 m3 p& R& u9 o
{5 b" a; K$ R( 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() )
5 f0 d, H7 f: t5 f' v; b, Z g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );% w3 z) @6 P- S1 D! T1 I* d L' t, W# E
}else{' v+ w% V; U% o$ J5 n
bStart = FALSE;
* ]. S2 j5 D( s! y5 i/ h m_pItemElem = NULL;
$ a8 X: i+ t5 \, b3 ~9 A7 E! x' S }
3 u7 h/ F+ O/ w4 N" g& o3 x }. y4 i( \+ M7 e+ ^$ _( t
return TRUE;
, P- r9 e& j8 n. ]: @/ T}1 o5 O* b M2 W2 f5 n6 x- q6 q
- l1 w+ Q+ V% v登录视频废话:
* K* b' {( z! E) y/ K# y+ h, B尾翼:
& E$ l& w1 p& A" O, ~- {# z
3 h7 L0 t/ A' k# L i: ?6 n) G& y$ r" }代码:
2 U8 q8 C9 d6 h0 `1 v, k$ ^/ r: g# I" D3 O0 k8 K& ^+ j( i
void CWorld::SetLight( BOOL bLight )
7 X& |8 p8 q; z- W# M: R, c1 P+ Ydurch4 U. |9 H* {' H
Code:
# Z3 u" m8 q$ W8 k" Ovoid CWorld::SetLight( BOOL bLight )
$ _# L2 f* r* [( t- v6 q{( Q+ x6 K" ^, k; [& ^! ]8 i0 P5 T
//ACE("SetLight %d \n", bLight); I9 ~5 f8 `& @
4 ^9 r* t5 V6 ?8 N#ifndef __WORLDSERVER . Y7 i3 {8 E/ {6 }/ j2 \
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);: M. k8 J" ]- w$ \3 k
CLight* pLight = NULL;
0 c5 u1 u& J7 Z6 G1 u# ^% g5 d; _" i( Y& y! H: o
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );; y7 S2 S0 F; j5 }7 b
! L. a# `. X- Q pLight = GetLight( "direction" );
* l7 ^) d- B7 l2 i6 @% a% N" |$ L/ [: C7 o+ ~
#if __VER >= 15 // __BS_CHANGING_ENVIR
- e" u) n [1 F; o; } if( g_pPlayer ){2 I/ c; I+ M5 @2 P7 r" c
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );7 E- E, j1 r- j( H' M+ I5 Z
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!# h$ U k6 ^! X) G2 `
{
7 `% ~; ~, z' j7 F0 A* P if( pLight )
$ J8 @7 b( s+ W: o! W: v7 B {5 I! c) n0 @. s# K, y
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
: l# B0 l2 A5 s& y: ? pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
& ]: k; O0 | H+ a" u0 N pLight->Ambient.b = pInfo->_fAmbient[ 2 ];- W* p; o+ R- s: | E
3 J/ c/ z2 n: q
pLight->Specular.r = 2.0f;$ ^& x: r, J% y* M
pLight->Specular.g = 2.0f;
/ x$ b9 x+ }& N& k pLight->Specular.b = 2.0f;8 w! w# K& S' E. @6 `4 |, g
. B$ Z' p/ k- f5 [) Z; M pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];' B8 ?; M! k8 A: H! p7 z( U
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
, |, w9 R; Z, ~7 K$ x1 h* E' Q" l. e pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
6 U* n9 i& g# i8 c, |# q# K
; t4 |& e4 _4 X) r0 |1 x3 | HookUpdateLight( pLight ); 8 {4 Y! H1 a. \( Y# R
/ w6 n0 S% } p1 @6 v) t- F memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );) L' S& U# B2 f) {% B
/ |4 [! @. |" I' W) P, \2 l9 d I pLight->Diffuse.r *= 1.2f;8 Q4 L' F" y2 `% j0 u8 ^0 l
pLight->Diffuse.g *= 1.2f;4 S6 m, G$ M3 N' T2 p/ P
pLight->Diffuse.b *= 1.2f;
' |3 I$ a9 J8 J2 v$ r, c/ j% r$ {5 v3 A( g
pLight->Ambient.r *= 0.8f;
6 ?: u; u, d* I2 ]8 k! E pLight->Ambient.g *= 0.8f;
3 y. u6 O& b: ?2 m pLight->Ambient.b *= 0.8f;0 C# a* Q8 r% R( ^5 s* @0 e
8 U, w) ]; o6 w& |. o1 M, k, j2 x* j memcpy( &m_light, pLight, sizeof( m_light ) );6 P$ N# v* N' Z$ D$ a
$ K) K" i2 K/ M# a D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);+ n# j* l: O: }$ F4 C
D3DXVec3Normalize(&(vecSun),&(vecSun));6 y, g% h/ D$ T* v) x
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); % \ h* U' q1 K8 c: m" `- H
pLight->Appear( m_pd3dDevice, TRUE );
* Y" R$ I+ K3 r& \9 ^0 K' w
, K6 M) W4 `/ E+ P, j DWORD dwR, dwG, dwB;' O" q1 \9 |4 R/ U4 j
dwR = (DWORD)( pLight->Ambient.r * 255 );
* J! C" x) i" x3 S dwG = (DWORD)( pLight->Ambient.g * 255 );3 A1 [+ D1 w" o
dwB = (DWORD)( pLight->Ambient.b * 255 );1 Y, f: U ` K( ~5 T
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );. `% ~, o6 q" ^% e9 z
}
" z- E* O y5 W# Y7 @7 G% R$ a }6 G2 A0 y. S8 v' M) Q6 j, v4 k
}
# y- ]* p% Z G( [$ [) ^3 i# T else; H/ `% Z2 e! B i. |0 v
#endif
: ?! J: `3 |0 N/ ?* K$ N& O/ J4 ^8 s3 x
if( m_bIsIndoor )
2 y0 C: C- ~0 _6 l. R {
' j, \% n2 s5 r/ T if( pLight )0 i2 ]) K9 m; ]3 X
{
. w0 p( p! ^1 f! {/ Y0 t5 }4 C/ n // à??μ oˉè* 9 H+ e' a# O0 q; ]1 [% i) |
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
7 L' G, b8 A; n$ c7 b2 V pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
0 b, @- D* ?: u' M1 r pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
. b3 K/ ]& C) ?. D8 C! ?6 N: y
7 b# v3 i$ i; R) [ // oˉè* ??à? 8 ?2 w, v9 p. ~4 m
pLight->Specular.r = 1.0f;
# b, d* z9 ~4 l2 D' i pLight->Specular.g = 1.0f;+ k& V; r! Z4 |! O( y# H
pLight->Specular.b = 1.0f;
: e! A$ J4 [. O& K9 C7 Q- E // àü?? oˉè*
7 J* U9 A2 u; f( _& d pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
+ E6 |9 [/ _4 {9 P pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
! ^, ~2 D# p8 o. h5 v( a P0 c pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;; b! A( z4 n0 t! d- {7 Z
4 ?. i0 R: u, W( W" \0 l if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
* j, `! m* m4 d; B1 e {
1 U$ \, q# R" k$ h# s) n0 @+ V pLight->Diffuse.r *= 0.6f;# A+ O2 p9 ~* F6 j- h( u. S
pLight->Diffuse.g *= 0.6f;
" @) r2 S0 c2 V6 ? pLight->Diffuse.b *= 0.6f;
/ Z# R8 Q" c9 R n! y6 {8 u pLight->Ambient.r *= 0.7f;; U5 j0 D; y: c( z7 j# A+ b* \
pLight->Ambient.g *= 0.7f;0 s: u" |1 _: m
pLight->Ambient.b *= 0.7f;
- i$ {' |; g" v }
4 |* [9 ?0 M) M
: W% }6 e' {% {7 U; [7 r7 z#if __VER >= 15 // __BS_CHANGING_ENVIR; u% N/ N( o; G
if( g_pPlayer ) B, ^4 r# W) k; w, K
HookUpdateLight( pLight );7 E7 X1 e7 b8 i
#endif$ F0 ~$ @* p& c6 B
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 ~! O# h# f! F" \* y. ^% o# t! e2 q8 M H! w6 g+ ^4 ]+ Q
pLight->Diffuse.r += 0.1f;, U2 Z! x8 ^1 U [2 q, h
pLight->Diffuse.g += 0.1f;
0 @& l% B( q5 g. c pLight->Diffuse.b += 0.1f;, D- R+ B" E; x7 z3 W* l, V0 k& h2 z
// oˉè* ??à? 3 W$ Y/ N" Z6 a5 U
pLight->Specular.r = 2.0f;1 n5 S/ K) |, @' K
pLight->Specular.g = 2.0f;/ H6 t) c3 ^, K
pLight->Specular.b = 2.0f;& b1 o5 {" x! u' t
// á?oˉ ( e7 u% g3 I! t r
pLight->Ambient.r *= 0.9f;
$ C$ a, a Q6 P, f7 C- X pLight->Ambient.g *= 0.9f;) V! e( l5 w7 d% @; r; \
pLight->Ambient.b *= 0.9f;) g; m6 W- L9 X) x& G1 h
0 k/ r8 F5 @0 N6 b% ~+ W
memcpy( &m_light, pLight, sizeof( m_light ) );
: z) b @: ]# A& Y
, `" i0 X7 U' b& ] pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );# z9 j& d/ l% U/ Y, |8 {
pLight->Appear( m_pd3dDevice, TRUE );& [$ d2 |/ j4 d1 w$ C4 S& j% x9 o
" A& L& ?6 m& _( E# T
DWORD dwR, dwG, dwB;
$ W7 N+ Y. u4 T# h$ I dwR = (DWORD)( pLight->Ambient.r * 255 );
1 s+ b# E! T2 B: W dwG = (DWORD)( pLight->Ambient.g * 255 );
# d' F& n# R+ Q4 g1 K+ j dwB = (DWORD)( pLight->Ambient.b * 255 );
1 S1 K* f. B7 v% u" I dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) {9 J# K* f. U( r8 S }
9 _" \! c; c" n- C/ l# H E6 N }4 x) {* x& F1 O9 R* \
else
- e0 b. b8 o' ]0 M" t, w/ R( G {
{! t6 W: l# E B0 {. U) D if( pLight )( [& P; c$ u* l) t
{5 j! \, {; f/ A0 ~7 R6 P
5 ~/ V1 \# ~. P9 H int nHour = 8, nMin = 0;
0 x3 N. s- g/ M, W$ `5 E+ U* | #ifdef __CLIENT( A7 @( W! f8 O9 @8 X* \- `
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
; A- j! M5 A* Z! k( E0 y. ] nHour = g_GameTimer.m_nHour;
0 z/ t& J8 o' Q9 r( J nMin = g_GameTimer.m_nMin ;2 X! d9 b! w! P
#else! b$ j' @$ i8 J! V# G' z; [0 h
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.3 Y. x; v4 t1 S
if( m_nLightType == 1 )
: @" Z. N: H% h! K2 M nHour = m_nLightHour;6 V' Z3 j2 ?9 _/ z' d1 s
#endif
/ c* t* U* d$ s1 j7 Y nHour--;4 n T4 J( ^) H% T) g
if( nHour < 0 ) nHour = 0;
' a6 h! ]/ Y# T: r2 z* U if( nHour > 23 ) nHour = 23;
& Z& H* W9 v4 T1 J) G- K' k6 q5 A4 [; w* |) a( X$ H$ Y7 e
//if( m_bFixedHour )
% I# J* u8 [5 y* [% N6 u // nHour = m_nFixedHour, nMin = 0;
9 z8 z2 ]+ p# z% }4 l' ~ LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];# S; t# B2 Z9 e: q+ }& e
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
w; C' z( l8 I% |! i
- N. V z0 l! z! n* ` [& a //m_lightColor = lightColorPrv;/ w9 h4 ?% u, L- t. E" G3 {
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;% a3 b" ^, g% ?4 }8 W, A
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;* j) T* }# j- j
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
. S% G/ ^" u0 I+ q! G lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
7 {- d4 { b# h7 v { lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;/ R& l+ R7 W9 {# g5 V- [0 F' I
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
6 |* i9 w& N9 _) m& R1 Z% z* H // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)- p# Y$ T. u- \5 n% t+ Q7 i) X% e
" |" d% C# F7 K8 k# d6 h# }- d // à??μ oˉè* 9 e2 Y9 s. z& t" W7 ]- P
pLight->Diffuse.r = lightColorPrv.r1;
. g, O; F* d1 c9 f4 K$ L$ W3 n. ~ pLight->Diffuse.g = lightColorPrv.g1;1 `0 Y$ l( I. [, o$ @( `+ [3 ~
pLight->Diffuse.b = lightColorPrv.b1;
$ b" a0 w/ I ?1 H8 T3 z$ O // oˉè* ??à?
& {5 C) h0 Z2 J3 D- P pLight->Specular.r = 1.0f;6 s; ^1 F3 ^ x7 k
pLight->Specular.g = 1.0f;4 ~1 Z1 ]# a, A
pLight->Specular.b = 1.0f;+ a" y _+ J9 x( }, s, F$ j
// àü?? oˉè*
7 Q3 v' R7 c8 _% g9 C4 E pLight->Ambient.r = lightColorPrv.r2;
( [) q/ y$ `, ]! b& M pLight->Ambient.g = lightColorPrv.g2;
3 w5 ^% V; e, ~0 \4 @/ h pLight->Ambient.b = lightColorPrv.b2;. S" J6 [9 r* l, {% G. x# F
. T7 e, y/ ]: Q
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
' k1 k) b; P9 b0 s% B9 z, X" c {
; `$ [- y" n `; C P" a' s pLight->Diffuse.r *= 0.6f;+ G$ q, c; m& z1 P
pLight->Diffuse.g *= 0.6f;6 `; I) g, ~9 a. k
pLight->Diffuse.b *= 0.6f;7 ?& m- d w% @9 y N
pLight->Ambient.r *= 0.7f;
4 U6 J: z' s* U. N4 n2 j pLight->Ambient.g *= 0.7f;
/ ~0 @. e" f4 d# S: t% h2 F0 e pLight->Ambient.b *= 0.7f;
9 E( I* N# {9 X: x0 z }) Q" N3 @2 [ ]" u
- y Q' r" T' L
#if __VER >= 15 // __BS_CHANGING_ENVIR
$ m5 l+ C" q, G: Q5 L' m7 V) L9 N if( g_pPlayer )
3 X6 w& H+ @: k' X2 @! h HookUpdateLight( pLight ); 9 f+ Z2 ?" A# Y
#endif
2 N6 P4 ^3 w. b* T0 Z& @ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 T& O, W: ?, k) ~2 t; A# U$ i' _" X1 G' x# w/ t9 y, u
#ifdef __YENV
! R! V: |! t; k' y* c: R$ K* v pLight->Diffuse.r *= 1.1f;" n3 z6 e* i1 F4 k0 D9 f
pLight->Diffuse.g *= 1.1f;
; K4 D) |5 F6 g0 d" R! t3 ?& v- i. s pLight->Diffuse.b *= 1.1f;; Q% E+ l& X0 Q# f) A- Q" s
// oˉè* ??à?
" u7 L; v' d, O* N pLight->Specular.r = 2.0f;
7 }) W% H4 Y" c# | pLight->Specular.g = 2.0f;" f" |+ a7 d& F0 k% b6 ~0 }0 O
pLight->Specular.b = 2.0f;) X" _( A8 |$ e# j* D! J
// á?oˉ
/ o1 l% q$ l5 r2 D9 \4 H pLight->Ambient.r *= 1.0f;
; p5 @3 w2 ^3 D pLight->Ambient.g *= 1.0f;$ h7 A. f$ l8 e4 k0 J$ i
pLight->Ambient.b *= 1.0f;
6 T" |0 R/ t: o#else //__YENV2 k" J( q: q2 @/ p
pLight->Diffuse.r *= 1.1f;
: s3 k2 B4 @# W pLight->Diffuse.g *= 1.1f;
* [; i0 g, u. h/ \' ^7 G pLight->Diffuse.b *= 1.1f;0 z" U/ i3 m0 H- L6 A2 Z
// oˉè* ??à? + x5 O* J4 k" m% P# w& x% t+ W: S; x
pLight->Specular.r = 2.0f;
: |; n, o2 T9 o% l; f @ pLight->Specular.g = 2.0f;
% {; h3 C4 M: t: @1 r6 k5 u X7 ] pLight->Specular.b = 2.0f;
9 |9 p) I ^# g. H1 ~* c$ v C2 q // á?oˉ ( {$ f( C; ?6 l- y+ T% S0 Q6 d. V+ d
pLight->Ambient.r *= 0.9f;% \) A: r( ^0 r" a) Y
pLight->Ambient.g *= 0.9f;" P3 Y. X. L2 Z* |! T8 l7 R
pLight->Ambient.b *= 0.9f;
- N0 j1 c) s9 B$ r3 P( V#endif //__YENV % V/ u+ c. T6 V
4 p/ I5 r; Q0 Z, l
memcpy( &m_light, pLight, sizeof( m_light ) );
5 B7 r6 [1 ^8 ?6 d/ J7 p : w) _0 ~/ C' X& b* D
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
1 g: P* w, W. O9 G! R D3DXMATRIX matTemp;: p5 c- C$ b3 S4 u
static const float CONS_VAL = 3.1415926f / 180.f;
3 S" b. ^) w% K/ l5 q3 M8 R, |1 B& w# `2 ]- C
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);* h, j4 r8 V" k/ C% `4 h
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);. I( G! q4 l$ k6 `* a6 l
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); $ _' }2 q9 w' D, e4 w" w! b- C$ ^
pLight->Appear( m_pd3dDevice, TRUE );; c: h5 J) k$ w2 @' j$ N! ?
; N" c5 q$ a% D. e- _4 | // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);" r+ [4 |, N4 U' e
// D3DXVec3Normalize(&(vecSun),&(vecSun));
. y( d+ V0 a; q' |0 R1 F- s) a // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); , t! D0 t* M( h* Y) h$ M4 r/ X; y
* |8 f/ t G) c J0 t DWORD dwR, dwG, dwB;+ i- d! R( {* S$ H m
dwR = (DWORD)( pLight->Ambient.r * 255 );1 [% M. d% h' J" h
dwG = (DWORD)( pLight->Ambient.g * 255 );5 L" ^+ ?4 c K$ }, U
dwB = (DWORD)( pLight->Ambient.b * 255 );7 k+ S, g! K0 `0 Q3 {( _* f2 A
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); ' _2 ]5 `% O! E" D z4 Q. Y' u
}& l; }" c: O- f8 c# D
}0 G7 G* g: f2 \) M X; O) g G
* T" I+ M7 D/ J6 M Q! f9 p# U/ r
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
* }" L) d! @7 S0 E- B9 F 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) );
! w# h8 P, z% z. T- }2 z3 q6 s ::SetLight( bLight );7 Y7 n3 U6 m3 V! W
$ J& H+ ?# }8 n
// ±ao? ?D?í???ó á¤à? 3 @& ^' ~, A {$ z$ q; D& x1 C
m_pd3dDevice->SetMaterial( &m_baseMaterial );- D3 ]- s: g L! S
. B) `( t8 g1 f; |# o
#endif // not WORLDSERVER+ |% J+ b. |( D1 G! q' V: V4 j
}; F# r1 ^: j. E/ I7 E# g( H
并更换
1 U( m& ]: g, N% I- DCode:; R4 K. C( d4 p
__FLYFF_INITPAGE_EXT# N! Z0 D5 _, Y j3 r
定义/ V, @2 k+ Q0 P- t4 h
, W; O. J# I+ _$ N# r
* l4 r4 ^1 I( [2 r' h* j' q7 L8 v9 k: V2 R6 }9 Q3 h2 _
/ Y* _& i3 ?$ V5 \/ p. G
现在终于删除我的狗屁加速...' d4 S @* v' @% B6 A# [1 x
9 s3 J' t' E! `* {( p
: J9 a/ \. l" M3 r( v9 ]9 p/ v& s& I( Q* |, u( v9 |
|
|