|
|
食品车:
3 [! @4 A; o7 Z: s; x, v+ j1 ]尾翼:7 \$ A7 f* n* w+ M
1 n) E) |! c' _' d7 [; l; a3 I
代码:4 n- e; l0 u$ G) z. j
CWndAutoFood::CWndAutoFood()* W/ z/ @5 X" n7 |) ^
{
7 U7 W/ Q, y2 V' C m_pItemElem = NULL;
! M9 M2 ~7 y- V' h# C7 k2 i m_pTexture = NULL;' ^. h H* k [8 ^9 g
bStart = FALSE;
2 m+ F0 i3 W! r8 m0 f; }0 P}
4 R: F+ r' v4 R: H8 o/ I e4 \) h0 C/ X) u4 m1 J
CWndAutoFood::~CWndAutoFood()' z8 h2 P# a" |# u
{
' X8 j: @; T- T7 C; \; s8 L1 ~ AfxMessageBox( "AutoFood ist gestorben " );, i9 k' w$ T4 u! C
}
4 r* {! r3 A, i" nBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )6 W% D5 D7 Y7 Q- E- k, ~1 w( g
{8 x1 ^1 o! s' q
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
5 E; I6 Z- B% L7 {5 \3 c}# `" t1 p" n: n
$ J" Z) K- j; h5 {* sBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point ), B' z+ `( o: @/ [3 n
{
9 Z2 V8 b0 F( t S LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );* [8 w5 L1 O( g) I _% v& r8 e
CRect rect = pWndCtrl->rect;5 n3 A- g4 O$ z
if( rect && rect.PtInRect( point ) )& O5 B. f: |4 z" d" q
{
# M. V1 j. N3 R1 v$ |( P CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );* x+ s. [4 W) a C5 O& M, H
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )/ n9 E0 K5 B# H. i* V, b L$ H" ]1 G
{/ T, E& s, @6 R( x
if( m_pItemElem )* Y2 T5 o& Y3 h+ [! n* l
{
2 E. f* J6 o/ A/ n6 m7 @+ _ m_pItemElem = NULL;9 @9 p5 R/ d( R
}+ r- |4 s2 l/ ^, b- D8 V
m_pItemElem = pItemElem;
8 @4 M: U( s% h! F0 ~ m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );5 t1 e O* e0 O/ [! L1 r# A6 @
}else{
, I8 L& T+ D9 b+ T! R* V+ I1 G, Y SetForbid( TRUE );
2 y8 m. R- I# a9 z8 p/ ?! _$ ?9 p }
7 y; s8 ?7 J# S# ~9 A: S }else{+ G% F+ R8 X5 ]4 k3 r
SetForbid( TRUE );' H9 D4 C- G. F' o
}
c0 W0 t4 D/ B& H2 X return TRUE;7 H/ Y- r9 n# ^: E v
}; [; ^) G- r, t1 W/ z4 t
6 n* Z9 }; d; d* o
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
1 q: @- O0 Z+ @# Q9 r* c6 X: V. J{- W/ f4 h9 Z t% d, O/ o
switch( nID )
; @5 I; p( `1 w5 t2 `1 M$ x! Q g4 x { s! O1 S ]4 Q5 |% M. V: u' W4 i
case WIDC_BUTTON3:
+ G' U+ a. z* D" ~ {
+ g( `. @, t. \: I0 Z, ?% K6 X2 d. Q bStart = TRUE;" K) o- Q1 F4 |
break;
/ V6 @+ _$ a/ F- l! b }& L+ C( V. @, B% N2 u7 i i
case WIDC_BUTTON4:; [& `+ Y ~! S, V9 U
{
8 x U$ |2 e3 c$ c) R) B4 v bStart = FALSE;* T' \3 X! c! g
break;
- H) x& |6 ^- {' [% X0 _9 b }7 G2 H$ G9 k/ v" Q' g; M* f# t$ ?) g
}6 B& E. @" P& m( Q* t
return CWndNeuz::OnChildNotify( message, nID, pLResult );
4 M# q1 M/ Y$ S, U} 5 j+ E- G3 L" Z
void CWndAutoFood::OnDraw( C2DRender* p2DRender )+ w7 x0 R8 V8 }+ F: \ u5 ]/ {
{
$ ^0 Z: N8 E7 x/ C, w CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );* ?6 I X: T$ v) s& X, y0 a
if( bStart || !m_pItemElem )6 |, o. B3 D. ] U4 M
{
/ i8 A6 \" F5 X* C' o pBtn->EnableWindow( FALSE );
$ B) z( p% A7 `6 \: b }else. J' Q( e: ^; _, Q J
pBtn->EnableWindow( TRUE );
$ a8 L; z% c4 e% C/ K3 i) n if( m_pTexture )
* p6 O3 o! ^' A" b2 R7 T4 E {
) t" D+ z8 e2 f7 Z LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );* E8 I1 K' [% _
if( wndCtrl && wndCtrl->rect ), P m# [. O+ s8 `! B
{# s; @( R; c1 _- K. Q
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
H, d% k; C7 e }
4 _/ f% l1 E/ t6 R: v0 [ }
$ Q; i! f5 q. O& s8 Y4 B4 e}
9 E) m9 f% Q3 l, D8 M. C7 q9 d
" q3 u! w0 a g# q6 @ }$ ]+ L/ h; |$ lBOOL CWndAutoFood: rocess()
4 _# O) _' N$ S* R& E{7 G) O8 y: G4 ^8 a
if( bStart )) P5 y8 L9 J$ V1 v
{* n0 Q1 b3 g3 s( n
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ) S3 E- z- @9 n+ i8 Z5 h) h, i, N
{
$ X1 Y! m3 M4 {- j: t if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
( e( d4 I; r- I# U( w. `: Y g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );/ Q& O4 O3 D5 D0 J2 H& i5 O% z
}else{9 q8 X s, e% H( g' U1 u9 h
bStart = FALSE;4 k( Q g! W$ @" d' o4 ^( }
m_pItemElem = NULL;
) L" `5 j, ^" y# j" G }
. h; r7 x) n5 q- \" d }
; i1 \$ z1 w9 C- ~ return TRUE;
9 g0 g! M& p4 g+ Y8 A1 r& ~}
' T F; e, s/ f* C9 z4 `8 A* W/ D; H8 ^# U" R7 @) j4 |/ N. |
登录视频废话:
$ M& \ c6 U5 _, B" Q" ^尾翼:& s _/ b4 t0 I! [
2 I0 \/ S; }! ^. [5 Q代码:- f8 M$ C \/ w4 H/ U/ I
7 H; H6 W, |" B1 k. P7 svoid CWorld::SetLight( BOOL bLight )
$ @! _6 [( g4 r) gdurch
' r1 G( d w" b( E3 {5 ECode:
) N3 Y# ^* R0 M" |void CWorld::SetLight( BOOL bLight )
! Y- L) A2 m- `5 s/ h1 a M{1 M/ [3 n# s( e6 f
//ACE("SetLight %d \n", bLight);7 j% U, J4 i8 a; r+ w( V
' \! H4 }% S7 v. S1 ~$ L% O#ifndef __WORLDSERVER U9 e2 \) `0 b; p8 i1 `3 ]
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
8 s4 w# K2 s% e4 x* q CLight* pLight = NULL;
. N( H2 ]3 W' D8 V3 N( G+ E# r" h' d" n4 l
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
0 a9 i2 e, o- L! K4 `- g1 X2 h3 C8 o+ X
pLight = GetLight( "direction" );' D+ G, X+ ?& { O" t- {
4 l8 D8 X4 L9 _#if __VER >= 15 // __BS_CHANGING_ENVIR
& k# |3 a3 Y+ C' }: X' v8 } if( g_pPlayer ){$ g1 x( |2 m) m [' x
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
S* a1 r' _9 y- z* D$ ` if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!, m% d( ~' h7 V: ^( o+ B/ q
{7 W3 P \" o' m! l9 s
if( pLight )9 C7 L- `0 {, F
{
+ ?# ~3 u/ m7 N' L5 v pLight->Ambient.r = pInfo->_fAmbient[ 0 ];/ J9 K; K) R% x# L/ v4 ~
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
8 x6 }: B/ p' A4 S pLight->Ambient.b = pInfo->_fAmbient[ 2 ];& h) Q3 i# K2 v
1 {8 u. b/ C* J$ R b9 E! c% [ pLight->Specular.r = 2.0f;7 c! Z) I3 @4 t! Z/ T$ k3 A9 w
pLight->Specular.g = 2.0f;
4 m, e! I) F) {* @/ H3 q pLight->Specular.b = 2.0f;4 i5 k9 r8 N( D/ P
$ o6 F' w; u) h- q pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];" J' ~- V; \' c4 h( F- ]/ U
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
) F. b# Z6 s9 T, ~" d- v. b pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];9 R, Q* U; F/ ]' H3 c7 {' d
) _ ~$ c1 h% L; I9 b HookUpdateLight( pLight );
2 X6 h1 o, A. z' p9 u4 g) Q% i4 B! H! K
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );! Q" c& b4 K' Y
+ c( t; Z8 `8 m! Z% _
pLight->Diffuse.r *= 1.2f;' o' ~) r5 W9 }1 D
pLight->Diffuse.g *= 1.2f;( P( z: b* ^5 {1 y7 @5 F" d
pLight->Diffuse.b *= 1.2f;
* e5 W( p9 _) O/ F5 t4 |7 _ h' V8 T. @5 U) j' X) V
pLight->Ambient.r *= 0.8f;* H/ w6 m/ b/ H* L/ U
pLight->Ambient.g *= 0.8f;( Q( C s$ m( S2 h2 h* c
pLight->Ambient.b *= 0.8f;
0 W3 m8 I8 q* Z" l
* m2 B9 m: B$ [0 r J& L, P z memcpy( &m_light, pLight, sizeof( m_light ) );
0 o2 @* Z! n% {6 m) {/ p; F4 ?& R3 ?& V2 q, f/ L: g8 W
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
6 V6 l; `$ H* t' `. G7 E" y1 M D3DXVec3Normalize(&(vecSun),&(vecSun)); ^$ S- q) F, u" D9 A( i0 y
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 3 A9 ^; z+ A+ X1 h& [( w
pLight->Appear( m_pd3dDevice, TRUE );
, e/ h' h; J) \! H0 z " t+ U0 l$ H9 B; X
DWORD dwR, dwG, dwB;
) N0 x4 Y2 p! b; s( C dwR = (DWORD)( pLight->Ambient.r * 255 );
$ o( g) A2 ~* H [2 v dwG = (DWORD)( pLight->Ambient.g * 255 );2 |& |: i: T. A) h L
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ ^+ j, X$ H, ] dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );3 u, g, f! P- k5 Q8 f
}5 z. T9 H4 g7 ^6 r' S1 d$ h# H" ^
}
7 X8 c1 s# p! _& X; i* k }
- f' o# f) S; V) L7 F else ~% N, V7 N* t5 O
#endif
0 Z% |, h# j1 S5 u7 I2 ]8 Q
4 J; {9 a# p; U if( m_bIsIndoor )# Q6 s' `* b. j# }; O/ h* j: W( m" Y4 D7 V
{
$ D- Y) z) }0 d if( pLight )
5 `2 J& `2 B, S! U1 S {
+ ^$ T: h# d- y$ p // à??μ oˉè* : S$ k2 ?4 M' ~6 W% n9 Y% t
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;9 f5 e6 g3 z( _( i- D1 u
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;! n4 g- f, b- b
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;) n2 p+ ^. O w% m; r# f
; C4 U( d/ o- s- j! |" M9 N$ L // oˉè* ??à?
& Q7 R) S0 K$ G" e }+ a pLight->Specular.r = 1.0f;
( l# Z$ x3 r4 z2 t O } pLight->Specular.g = 1.0f;
0 l3 \, o P4 Q' n; P1 u pLight->Specular.b = 1.0f;) X& m* E" B/ H2 x. e
// àü?? oˉè* 6 ` I9 E( p1 K; Y4 g! |
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
! O7 D7 o6 T) ~( w5 m. T pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
" {5 r* J: l, ~* k& m9 m& l pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
- ]- O5 X# R9 x @ J1 {7 s
1 H8 d" M! M1 E1 X if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.+ m& H( a( n% K; y
{) i2 p0 n6 H, R% M
pLight->Diffuse.r *= 0.6f;8 l6 k$ B8 j7 M( {5 q1 y' T# f
pLight->Diffuse.g *= 0.6f;
0 N- N3 j- h3 t8 ~3 h pLight->Diffuse.b *= 0.6f;
2 W: f6 Q# U* ]2 r) _ i" K pLight->Ambient.r *= 0.7f;
# j& a: [$ U X/ s9 ^7 ^6 F0 n$ H pLight->Ambient.g *= 0.7f;# n1 G# y! O! g$ b3 a- c; g/ F. A
pLight->Ambient.b *= 0.7f;
, E# t- E. p5 n1 v, x+ z& K- L# z }
0 _) ~. H) u) u% p8 c1 u# f3 n5 a
#if __VER >= 15 // __BS_CHANGING_ENVIR
( S5 l5 [2 V1 ?9 X V if( g_pPlayer ) E% q$ n! B" v# g$ W' n
HookUpdateLight( pLight );
1 w5 K7 B& \4 _/ S4 k: R3 Q#endif$ Y( ^" {6 L9 [4 P, y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ J# B* ]5 v' Z3 I- W# B0 q7 m2 `& l: f1 b' X! E
pLight->Diffuse.r += 0.1f;6 S/ ^$ R5 g) G6 y1 ?
pLight->Diffuse.g += 0.1f;
8 Z7 z0 N/ s! c+ ]& p pLight->Diffuse.b += 0.1f;
, M: I% [5 K+ C- a) S7 D // oˉè* ??à?
& P% z" L& v- ? pLight->Specular.r = 2.0f;$ W0 |4 w3 C2 V& D/ g) y7 I
pLight->Specular.g = 2.0f;
- t! s8 l% n: u: t6 r# b/ f% ? pLight->Specular.b = 2.0f;) k$ l; n7 a; {' n
// á?oˉ
# F3 _. j2 t) {0 S pLight->Ambient.r *= 0.9f;
1 f* z, X, ^) u pLight->Ambient.g *= 0.9f;
6 [* ^5 S$ L* n pLight->Ambient.b *= 0.9f;# G3 l' ]* ]3 u. B% B
' I: e# ]& N2 ~1 G% N, U
memcpy( &m_light, pLight, sizeof( m_light ) );* P. X1 Y* H7 g7 T( ]
; g0 r, z) n X! g7 \* y) V pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );8 w$ [5 A9 L4 y' l% }
pLight->Appear( m_pd3dDevice, TRUE );( p( I3 |8 ]% n* Z) J
& T0 c n: w$ s DWORD dwR, dwG, dwB;/ q1 T: V/ e# [: Z) S [
dwR = (DWORD)( pLight->Ambient.r * 255 );& {5 E" T! ^ T% K
dwG = (DWORD)( pLight->Ambient.g * 255 );
3 }& f6 C/ U9 D. @; i* ? dwB = (DWORD)( pLight->Ambient.b * 255 );9 Y: G1 `8 I/ W$ A: O
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# x# U! \! `1 T$ ? }. q9 S# H( x4 Z6 v& W
}1 v% C1 \5 v+ r7 O* w' S( _0 a% j( z
else) I0 M2 N) [ F
{
! a* N( y+ I' _: ?7 w if( pLight )
: w/ o6 y2 h( x. p6 Q {/ g, `7 c+ x8 d7 l! O
2 v: V% _. k: V) ?
int nHour = 8, nMin = 0;( f& g7 a: V2 k( c5 _2 T7 M' P
#ifdef __CLIENT
) }$ F' M# n( m) z% z. r // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. , J6 X1 M T/ p* A$ c, t. b% _
nHour = g_GameTimer.m_nHour;" f% _( O0 x7 G6 u3 R
nMin = g_GameTimer.m_nMin ;
1 |0 j( ]5 u, m #else
; t. z2 x/ Y' f // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
0 J6 f* w0 G9 @9 r$ V2 u# F if( m_nLightType == 1 )8 h4 m& O* L" Y8 d
nHour = m_nLightHour;
- L+ h5 T5 m, E& E8 j& o #endif
2 ~ B2 I( c# Q, |. T3 }! z+ O nHour--;
2 }2 ^) Z ^# v+ e; @; C if( nHour < 0 ) nHour = 0;7 t$ n n. V9 W" a
if( nHour > 23 ) nHour = 23;: y) \6 O# i: u$ O
+ ^/ R- I" z8 P8 v5 G4 s8 H
//if( m_bFixedHour )
3 f. e( c }" y7 W* P- } // nHour = m_nFixedHour, nMin = 0;" V( a+ X& f) i6 U
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
0 S3 f, P' X5 E& ] LIGHTCOLOR lightColor = m_k24Light[ nHour ];
u7 W/ J# a2 l0 B: r! t9 l6 x' }
" a: J9 n0 }7 x% v9 F" k //m_lightColor = lightColorPrv;4 l$ n6 m, O( e/ s
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
! [& s' b1 v) Q9 K% R. i8 D: \ lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
; |" a. S3 `3 U9 G lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;) u' x, M _" E; @
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;# r \0 f1 E$ ~" `6 O8 ^# T! h% l
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
1 n- ]& N4 E+ P2 H* [! Q& [ lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
9 g. T6 ~: H' p7 {4 B // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)9 g, e$ F" g$ O# ~& }. r
! R+ |+ \" _9 G& H // à??μ oˉè* 6 o/ g. A# D) u+ L
pLight->Diffuse.r = lightColorPrv.r1;
% i# k+ x; S/ y& A S' V- i pLight->Diffuse.g = lightColorPrv.g1;
+ w' `9 _% J' G pLight->Diffuse.b = lightColorPrv.b1;7 g% |! A. }+ {+ w
// oˉè* ??à? 4 Y f: w" U/ E! ^
pLight->Specular.r = 1.0f;
+ Q* j5 k3 Z& G" {% d; }! Z5 A pLight->Specular.g = 1.0f;
. O1 {8 E4 J$ f: ?5 Y pLight->Specular.b = 1.0f;
" O0 u8 i" V& m! U$ [ // àü?? oˉè* * T4 R$ V& R/ j; O% h* k2 c
pLight->Ambient.r = lightColorPrv.r2;
* p* F1 [1 h8 X V) [( \5 k pLight->Ambient.g = lightColorPrv.g2;
) v" U0 h [8 O9 O pLight->Ambient.b = lightColorPrv.b2;& F6 ~2 k6 J! P" u3 u' E- ~$ v, S
/ g9 l0 o& j. Q, j4 i0 U1 ? if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??., g; b1 G3 |" G. O7 a
{
# D; L" i$ g `4 R6 q pLight->Diffuse.r *= 0.6f;
/ s! [' ?( D- d. x pLight->Diffuse.g *= 0.6f;
2 m6 M/ @0 c7 T) a- R: a pLight->Diffuse.b *= 0.6f;
* G8 n) g9 G) [1 P& G# P- z; R pLight->Ambient.r *= 0.7f;
1 f' v0 t7 T' t! W z pLight->Ambient.g *= 0.7f;" d5 }( v% F$ p( C8 _ t
pLight->Ambient.b *= 0.7f;
8 N+ Q7 c& j8 q/ t9 F( _ }0 P3 o3 ?' W* k# r6 @/ B
$ ?6 [2 C" e" X+ _4 ?
#if __VER >= 15 // __BS_CHANGING_ENVIR* g" ?% O' C0 {2 _' W5 M" J
if( g_pPlayer )- a L6 V; f( U3 u
HookUpdateLight( pLight ); 5 S" W, @6 O; z1 Q0 Y, f8 d3 M8 J" l1 H
#endif
6 V6 {8 B7 e" ~. ~8 R: q' o memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 f+ [2 H! p7 z( n% I' h$ G! W- h: z7 S" P
#ifdef __YENV! [2 w* c- d/ n$ S0 K0 b, p- U; C, K4 O2 {
pLight->Diffuse.r *= 1.1f;
' g5 c3 k" s$ n( R1 @& a3 a pLight->Diffuse.g *= 1.1f;% |. k. p3 U8 [7 t0 x
pLight->Diffuse.b *= 1.1f;' P3 m' ^# l3 g1 j, ^3 R
// oˉè* ??à? - F# T8 Y+ d" ^& q" o7 u" W
pLight->Specular.r = 2.0f;
1 b8 W4 l) V4 M. z/ m( \ pLight->Specular.g = 2.0f;
6 Z6 Y" n6 d: K# c$ X pLight->Specular.b = 2.0f;8 {) y; H4 m! F
// á?oˉ
* } O, D. [" @ pLight->Ambient.r *= 1.0f;9 h, E0 I$ [# O" _$ f0 C4 h+ C1 V
pLight->Ambient.g *= 1.0f;" z# h( T' [/ b
pLight->Ambient.b *= 1.0f;
# a6 p: m# m# l- j& B/ i#else //__YENV( Y9 ?& M4 O- x- d S
pLight->Diffuse.r *= 1.1f;
6 H6 X, [5 q* @ pLight->Diffuse.g *= 1.1f;& c4 `. n4 u' k7 v' `
pLight->Diffuse.b *= 1.1f;
$ H% j8 M& G# @1 Z( _9 Q# Z$ e // oˉè* ??à? . G; o- m' D0 z3 c9 C' I
pLight->Specular.r = 2.0f;
! o" l9 ?6 t5 e pLight->Specular.g = 2.0f;& [3 P0 ]7 B0 ]
pLight->Specular.b = 2.0f; k( H) n( S# m, E" L
// á?oˉ
5 d4 g0 I% x" X3 L) [ pLight->Ambient.r *= 0.9f;
$ `& ?! R0 e! c2 o, s pLight->Ambient.g *= 0.9f;
5 e% Z) u- A0 Y0 |+ L0 b pLight->Ambient.b *= 0.9f;
: Y9 Z" e( B( {4 ?- D#endif //__YENV 3 M7 F, e3 F y# C9 K$ e
3 O R" P9 J% V7 Y5 R. b
memcpy( &m_light, pLight, sizeof( m_light ) );
2 ~' u: }: o# B; [2 @& ]9 ^ - _/ ?$ R2 v, {0 U- |- r" Y
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
. E" `1 z9 @4 u( n6 y( a7 b# S3 K D3DXMATRIX matTemp;
* m" i3 _1 @* f6 N static const float CONS_VAL = 3.1415926f / 180.f;3 Z6 `5 [* W$ s& g8 }+ l
6 y" n9 j5 K! U1 p
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
4 J6 u" ^) `5 d, c D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
, i$ I' j9 P" v' I1 C* f pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); " v8 k( k2 U$ |- Y" G$ E# M' a+ h
pLight->Appear( m_pd3dDevice, TRUE );
# V5 _' T6 }& K$ o0 f/ I
; x% G2 M6 s; U( G // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
* A5 S1 F% b, @3 E, a // D3DXVec3Normalize(&(vecSun),&(vecSun));0 b6 F3 W& u# t2 B0 x7 G' e$ H* i
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ( B" d8 N' U4 k6 p' J: I
5 \# K" B2 [2 i) P& m
DWORD dwR, dwG, dwB;" ?& B% S4 n& _7 W8 n6 l
dwR = (DWORD)( pLight->Ambient.r * 255 );
$ ^0 n. p4 x A" c" L7 h) T; t dwG = (DWORD)( pLight->Ambient.g * 255 );2 ?8 [* L h& \: s7 ]# _
dwB = (DWORD)( pLight->Ambient.b * 255 );8 S+ R) Y& w, k$ y2 n
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); % H8 t+ Z( l: v/ j7 J
}
$ s# x- O6 I4 B( e) L% O }
9 f; j' }; F: r# l; m% G' N; r& b0 h7 m. d0 V% o4 \
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );7 a# ?0 v9 Y' r$ m
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 G2 }; F6 _: N2 k. ]1 O2 A ::SetLight( bLight );$ P3 U1 [4 _; F6 _5 F
" t, r0 x- u$ o2 n // ±ao? ?D?í???ó á¤à?
# L5 f4 G L" n$ M0 I m_pd3dDevice->SetMaterial( &m_baseMaterial );+ [- n+ h! a* a
# m# A; x; A' v7 ~' u1 Y#endif // not WORLDSERVER
b( N5 u8 H+ r8 j" V}
% ^3 w' d; x) h/ q, G+ D并更换
' ~! ~: O$ K7 v+ eCode:
2 j5 q- k7 G9 H. x, W__FLYFF_INITPAGE_EXT
6 z3 a: @7 G/ ?7 @" w! }9 c定义3 |8 t: O% t7 |% Z* T
5 Y y$ ]6 z4 \! j1 |' ~4 G5 D: p0 n/ t t2 ?
% c/ k4 V1 a8 _5 A% f2 D
/ d2 G3 ]! C2 C" i; Z) c
现在终于删除我的狗屁加速...
" p* f0 l m- v, A1 H, v! B
9 C% `/ c! \1 w2 T! }+ d+ j& t4 U2 f
I. \, N- n, B/ A" `8 Q0 z% z* | |
|