|
|
食品车:, L, s' J% p. V. v; ~( @% o$ ?
尾翼:
/ M$ l3 K6 P3 c
1 @0 h$ u x5 ~7 l; p& S代码:" v" v# R2 E0 e* ]/ H) p- u
CWndAutoFood::CWndAutoFood()8 M) u/ E. u6 f- r
{! Q& [- @! ^$ I1 D, \
m_pItemElem = NULL;
+ L7 N" d$ T' C. J m_pTexture = NULL;0 c+ e& l+ U7 u0 X6 R6 h* k2 X
bStart = FALSE;9 F+ K- |4 [! X
}
+ M" @9 K0 u9 O0 f4 a5 H
$ J3 q# \/ X' c3 GCWndAutoFood::~CWndAutoFood()
& o7 O& o$ m0 Z' V* v/ g! j4 i$ j{
) x% A( r. c% j$ F, B: C AfxMessageBox( "AutoFood ist gestorben " );; E, |1 M# n, [
}
$ y" a, H$ d) E- pBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
u, E( \6 o% g6 ~{0 V+ K" S1 R* q: O! B) \6 Z/ r
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );! q( S! z+ g/ n7 k0 q
}% a# t; J' q6 M) x* @
3 r) u* i) N m7 ZBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
" j1 _5 N! u. i: k4 w{# L T$ ? j% S, @3 X
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 ); u$ d% i( C8 s! k/ l3 t' `0 e
CRect rect = pWndCtrl->rect;
# ?8 f$ j' ^7 \! F6 v4 b- o if( rect && rect.PtInRect( point ) )8 M) I: }) G0 \# t
{
# l6 J4 U5 U z5 f2 W1 B5 }* N/ I CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );+ b# [. d$ T6 x% }5 K. z, g
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
+ L5 Z, f6 y' b( t0 A5 J {
- z9 ^' F& W. d if( m_pItemElem )" I. S Y' g r( R. a
{+ X U: C' G$ H+ b5 K5 d) c
m_pItemElem = NULL;
3 D. {4 Z: x0 U% X( | }4 a# Y! |1 b( S$ c' w" V
m_pItemElem = pItemElem;- G: ?/ o$ k) w' X2 }8 L
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );: [5 o( s6 T6 s+ U" b
}else{
0 V& D, Q, k0 M$ _; b8 z8 Z SetForbid( TRUE );
\, S% }% K8 I$ h6 c" ] }
) R! x/ r$ @6 P/ ~3 `3 g }else{/ c4 p" I- W# ~6 \
SetForbid( TRUE );; r0 z$ k0 R, P# r' W) `
}; P- E W3 g4 P. Q& M: V6 t8 Y
return TRUE;
$ r3 i) Z# d. V* }4 X5 s$ } Q}
* V8 u6 ?6 g# c- R5 f, k- g0 B; t3 U6 R1 N9 c7 R
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ): s- |. r$ b" V+ }' m+ U
{
8 `6 N8 A/ G+ ?: h: P$ H, g1 Q switch( nID )
1 I2 T5 R ^4 n, [ {
5 ^% B. U; V; D/ u* }( ~; o4 s case WIDC_BUTTON3:5 R( m9 n/ e& i. S% b
{3 e6 | f7 c9 B; [& h
bStart = TRUE;4 t/ c% J' W! D/ p$ u
break;/ [, |3 {4 l8 b# d4 q
}9 \1 L6 H7 s1 L2 b4 E1 D( d
case WIDC_BUTTON4:- @8 F+ ?+ ]6 D- Z4 }
{8 A7 r8 p. ]% L9 B
bStart = FALSE;
" G0 Q, G& j( I0 U _! ?3 r7 f break;) @2 m: S* E$ L; Q
}
# ~" x& Z$ o; g" k. u% v }
8 P6 g z/ W! ^0 Z: { return CWndNeuz::OnChildNotify( message, nID, pLResult );
) U; B" `# t+ ?! D T+ q! x}
/ |9 m4 P3 ~9 @2 ]void CWndAutoFood::OnDraw( C2DRender* p2DRender )4 x& t! P4 G8 \5 |% m( p9 W% V
{9 t5 g% w$ A2 m
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
. l7 L5 t D. K6 j if( bStart || !m_pItemElem )6 q7 u! }' K# e6 @& n/ ~
{5 |: d" N o: A, n4 N
pBtn->EnableWindow( FALSE );
; V. H- j- j' F t! V/ ~ }else
8 Q1 x8 i3 g# I, x pBtn->EnableWindow( TRUE );& s( T! b/ N1 i# Y) s* |9 ]
if( m_pTexture )
% m# n# i2 N" t4 g5 r {
$ |" N; l) b; S5 b' l8 P- t- w; { LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
& V* {5 L& ` k, @8 y7 y5 B2 p: s if( wndCtrl && wndCtrl->rect )
2 ], C: d5 r/ Q: a" E9 S0 o p {/ M7 A; j& Z4 @1 s P$ u
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
: y+ i( p7 e' z }
K0 `& q8 l+ O }& k: c0 V3 {9 t
}% h$ i$ S* q4 v, P; w( [5 Y
+ a( k& T, j! YBOOL CWndAutoFood: rocess()# p/ Z7 z: Z" C- I
{! T9 v. |: {& {; l7 y( k
if( bStart )
: Y7 M o7 f" x {
! [: @- T6 K5 }7 d ^3 v- i if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )7 q/ B# L2 @' {; v7 m: @
{
' L3 _9 A4 L! s if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() ). p; ~. o) A8 J7 W) m* Z" k
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
2 u7 I) O5 f2 H) w4 I! Z: k+ G. R }else{$ r& k$ {0 C+ W8 m0 M) j
bStart = FALSE;* u" S$ ]9 D1 L* f) y" C
m_pItemElem = NULL;* m% G1 F" W1 `
}" [5 R: u( `5 N9 S; l+ S v
}! f1 w* r5 d0 u2 z
return TRUE;( @" I% a- O8 O- m! ^
}7 |& C) m6 s" F( k, f
, A' d `7 |/ D. f7 i# ?7 @. N" L登录视频废话:" i3 {6 M; v! p5 N( l& C' c% o
尾翼:
6 m7 T) j% v& h6 X
" u0 v3 `) g. h& k, n代码:
) D7 v& Y# U& G$ ^( N3 ?- N8 U2 Y/ X6 A u: `4 K) q: w
void CWorld::SetLight( BOOL bLight )
h9 S6 o3 _3 c! Ydurch- g. p' u* D) Z- p) `8 Q, i$ s, C
Code:
; Q6 t3 U- K5 _, @' vvoid CWorld::SetLight( BOOL bLight )
, o' n3 C1 \ h{) U" L) F* U5 ~& e
//ACE("SetLight %d \n", bLight);
6 t* I6 e2 y) P! [
( s" k/ \. E4 h+ L) w#ifndef __WORLDSERVER
. n9 _( K2 ]' q2 G! t DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);2 }& p; v4 F( C. C: x
CLight* pLight = NULL;
( e' A# a; p1 E( }" E5 V+ U% U) Q1 i. ^/ |" t, i8 N8 Z( L1 d T
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );' f3 o7 \2 M5 Y* z0 g
4 s: u% ?/ ~- A( Y, s- _$ ~ pLight = GetLight( "direction" );" Q3 ~6 ^6 |. O: {: r" K5 \
& z; H; O; [1 S4 c
#if __VER >= 15 // __BS_CHANGING_ENVIR
/ s% A9 f/ R+ }2 h7 d/ g4 o" W, K, y' w if( g_pPlayer ){
& K& o! e/ o* o0 B ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
9 R7 q, l( u7 ~9 L) \( f if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
7 N4 B8 j+ j _( A, s! O$ _1 i# g" n. R {
! ~9 s1 w" g* c8 s if( pLight )
+ |% z$ H6 r! S, S. ` {* |0 o1 ~) L! R0 ]. j! k# e
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
`, i5 U9 ]' i1 \% y! E pLight->Ambient.g = pInfo->_fAmbient[ 1 ];8 n: D3 s! \8 L
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];) f3 m5 ?- j6 b A3 x
3 ~% l; S! \6 x5 I* R: N# ]5 E pLight->Specular.r = 2.0f;) Y3 U) \( F" p5 y" P
pLight->Specular.g = 2.0f;
. y$ E5 v: F5 N# q# |% s pLight->Specular.b = 2.0f;( o5 Q# {$ W! M
" ]/ D8 ?+ X) N, S pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];" v- V8 F2 J+ E
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];$ o1 M1 w0 t3 ?
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];) p! n0 K, d5 @6 E& `! T s2 g
/ _6 O @7 j5 z
HookUpdateLight( pLight );
' L! L% ]( U& f! L9 x$ A1 b
! z, a) W# D- \6 P6 Y9 _% \6 [ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );" L& G+ F% ]# Y: F, S
# z; C( m# z! O$ g pLight->Diffuse.r *= 1.2f;
4 s( ?( o# |5 G& a- L& A pLight->Diffuse.g *= 1.2f;4 q2 t! D( ^ z/ C' n$ u* v
pLight->Diffuse.b *= 1.2f;
* c ]& Q9 v y
3 k! L2 Y; `9 y. V6 U# o3 x pLight->Ambient.r *= 0.8f;7 x" y% i B- O. `
pLight->Ambient.g *= 0.8f;; B8 X" m1 J3 [# {; D* q9 F# }/ S
pLight->Ambient.b *= 0.8f;0 F) C2 e+ Q7 w/ R" G2 A! W
, G A/ s" A7 p
memcpy( &m_light, pLight, sizeof( m_light ) );
- i m: K0 p% J7 g$ D' Y: W+ H( X& w
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
0 [$ c2 R) O+ l) [! k D3DXVec3Normalize(&(vecSun),&(vecSun));& i p) J, j- m ?8 J8 ]4 z
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 1 o% B: c3 C- r5 M0 P
pLight->Appear( m_pd3dDevice, TRUE );/ I% U# b7 x: K6 g
; o6 W9 y& @' l+ s, b J( p0 i
DWORD dwR, dwG, dwB;" y# A: d! T i# o. P4 r
dwR = (DWORD)( pLight->Ambient.r * 255 );" _3 G) T% W- G$ ~4 _* p8 V
dwG = (DWORD)( pLight->Ambient.g * 255 );
* Y% V% g8 m9 P6 `: m dwB = (DWORD)( pLight->Ambient.b * 255 );
7 d/ ]0 n& a0 J dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );+ H$ y/ T5 w9 G. \% j% k
}2 M4 ]4 q Y4 l0 G" L
}
) j' d9 L1 a; f8 j! N }! A5 S S( f4 m) M
else/ y7 u% |! v' q! E
#endif
; Q+ h" D* G# ]+ T3 D% r
7 J2 B8 h/ G2 G' q/ ?( k if( m_bIsIndoor )
( E& N; p( S) Y5 D7 z; y {
k7 X! m6 u8 w4 g0 q4 Q- B if( pLight )
1 }, N" _* ^/ T% L { 8 h* ^3 Z% s$ e7 E% Q$ x' s! J
// à??μ oˉè*
$ w2 v- Z6 N# D: R3 u$ W pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
# `7 {7 a" ?% c x pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
% m5 L/ U" P. I pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
9 l3 `$ R" C! }) e7 j2 {1 u2 i3 R7 X1 D5 g- [* C
// oˉè* ??à? # @ j, ]" I, H9 O' O
pLight->Specular.r = 1.0f;' l* ?# y" E6 i- ]+ T
pLight->Specular.g = 1.0f;
; t0 `# H7 \" k2 y8 X4 d pLight->Specular.b = 1.0f;1 P+ d9 U- e4 q% S
// àü?? oˉè*
0 T, [* h9 s9 y, M" Y pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
8 N1 I! }8 ^( d! E( f/ i2 G pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;* ^' N! |0 t8 |" O* f
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;: P+ A& D, }3 F2 [
, K( }: [& s2 ?% ~% n
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
& B1 O( s( m+ N0 C9 @* O {2 `; z' }- }4 b: j! I
pLight->Diffuse.r *= 0.6f;
) |! U r1 C: n+ z; m pLight->Diffuse.g *= 0.6f;
! y4 J3 T$ h# j/ ~& ` pLight->Diffuse.b *= 0.6f;
# c) K& _* k( z( j7 M! L5 A( o2 G pLight->Ambient.r *= 0.7f;8 ^# `5 n7 g8 h; }! K; V
pLight->Ambient.g *= 0.7f;
2 _9 q( v4 C B; Z' \ pLight->Ambient.b *= 0.7f;* g- N5 j+ ~4 M- A! K0 l" V* c6 x
}
7 l% o( H. |# e( G5 {; D' N2 z2 p/ V4 z" U/ b
#if __VER >= 15 // __BS_CHANGING_ENVIR8 ? s2 ]5 |4 I- Z2 e3 E$ n
if( g_pPlayer )
6 w: b! H, A# P' y7 p3 ~ HookUpdateLight( pLight );; N6 p' L! j) f. F9 @( Y4 O* ^
#endif. L u$ |7 Y; s. X' S$ [
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
, l1 \ U* @# B; C I+ D" ]2 ]# \2 s1 i) `
pLight->Diffuse.r += 0.1f;% b9 K) q! T. M# h2 ~ k3 @/ z" i1 G
pLight->Diffuse.g += 0.1f;
! x# r3 D Y1 l& `7 K pLight->Diffuse.b += 0.1f;2 N& X$ F+ j- S
// oˉè* ??à? " p. Y$ @" A2 O- A/ N. G5 f
pLight->Specular.r = 2.0f;. X, n0 r9 a: S
pLight->Specular.g = 2.0f;# ?! V/ Q6 O6 n- \! m. E# z! ~
pLight->Specular.b = 2.0f;
3 [) j) ?8 G7 p9 ?* z // á?oˉ
3 p( a. T3 [3 ?+ ]1 ?2 @/ D pLight->Ambient.r *= 0.9f;
, [' o0 r6 W" x6 V8 k pLight->Ambient.g *= 0.9f;
4 w0 l* x( Y+ N6 V: h pLight->Ambient.b *= 0.9f;9 Z! |+ c3 U- W5 ]% C. i
$ c, ~" A; s0 \% x
memcpy( &m_light, pLight, sizeof( m_light ) );
l2 p. n1 a% Q) t& c( `; n
B9 e, q) C3 F8 c$ q pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );2 s% t& W9 [2 @7 J% }* K
pLight->Appear( m_pd3dDevice, TRUE );0 c) \% Q& l- G+ ^
$ ~* c& b6 c& v/ v9 i, D5 d
DWORD dwR, dwG, dwB;
6 M& d [5 ?3 @. _ dwR = (DWORD)( pLight->Ambient.r * 255 );
: j/ e4 ?/ d1 d* v dwG = (DWORD)( pLight->Ambient.g * 255 ); C! l' L+ M B; V$ m4 i: a
dwB = (DWORD)( pLight->Ambient.b * 255 );
; z1 d7 [# N4 P: o4 ` S dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 R- |# H$ R+ H% N# k }
7 d6 H1 o/ ]5 l- ]% f u5 D }
( w' C$ d' T7 G else
! k8 v, X0 O- H {
! P' V) A' n2 ~5 v3 u" M- t if( pLight )- N7 H, T) E7 a5 C2 H, m
{* }; ]7 M' Q, n8 P4 f: i
& Q3 _- n2 f+ d( [# X6 u, a' i
int nHour = 8, nMin = 0;
6 q( q9 _0 [: r. H- x: T# ^7 H) k #ifdef __CLIENT
# i/ @4 T$ K4 y' s2 U) w/ V% ~ // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
$ [5 D: U5 A$ o; q6 h6 b8 ]. } nHour = g_GameTimer.m_nHour;+ l; y' @4 g0 H# Q& y- T
nMin = g_GameTimer.m_nMin ;
) Q& A+ m0 e; y. {, f$ S #else
( V# h# _) h1 {& l5 } // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
2 O3 O$ x3 }9 n W if( m_nLightType == 1 )
: |: L7 H) i$ X9 C/ x" ^, A" ?' D2 s nHour = m_nLightHour;5 ]9 m, U$ u$ ^
#endif
0 X: B/ y5 }3 @9 P! q; n0 A% ` nHour--;
4 N3 J) {0 L4 n# B; p* c9 v$ \8 N if( nHour < 0 ) nHour = 0;
5 H- y& O. C; K4 q if( nHour > 23 ) nHour = 23;0 a! s) ]) F; z/ h8 d
: N0 ~9 C$ z$ h
//if( m_bFixedHour )2 O( {, }1 b% W2 \
// nHour = m_nFixedHour, nMin = 0;
, W. h2 V2 T. l LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
4 W# P! j6 Y" l4 C E+ p7 t LIGHTCOLOR lightColor = m_k24Light[ nHour ];8 F( \$ q7 i5 E3 m) e
: \6 ]' s9 H P* }( L4 O
//m_lightColor = lightColorPrv;0 p: `* ^& X) H$ T
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;) L# S% d7 T4 {9 X8 e* S
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
/ K* k% w2 z- P- c lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
3 Q6 S6 |: b) l8 s& ` lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;9 m- L/ e0 }4 K. U
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;, C' z, Q2 t! h5 I8 q! B$ |* l7 H0 P
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;. @/ ^$ [" R/ ^
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
1 U* w3 \; j2 Y% @" q$ R- e3 C9 L+ C6 m0 r
// à??μ oˉè* 5 s# y* x0 e$ H0 i( B: v- w6 t& e
pLight->Diffuse.r = lightColorPrv.r1;3 N U( O) z, R/ r5 D+ K; _
pLight->Diffuse.g = lightColorPrv.g1;
8 `- ?/ B+ E; _& b pLight->Diffuse.b = lightColorPrv.b1;5 F: t% X* w( \, W9 u% u6 \ T: j
// oˉè* ??à?
9 g4 f( l3 K3 O+ K$ ~ pLight->Specular.r = 1.0f;& K- X+ w4 I. i L; K3 c
pLight->Specular.g = 1.0f;
4 L7 W( a5 C$ {, v7 E pLight->Specular.b = 1.0f;
6 k D# ?: O0 y* i- q K1 L // àü?? oˉè* $ |! e, K2 w2 U4 ^ J/ R' Y
pLight->Ambient.r = lightColorPrv.r2;
; F8 `( ]2 V+ c* A5 g3 y( I pLight->Ambient.g = lightColorPrv.g2;' y$ k5 R/ k; k$ @. \8 S @' ?0 D9 H, V
pLight->Ambient.b = lightColorPrv.b2;
* q% W0 ]) w% C: Q! R- G- _. P: e9 m8 k( I
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
( ]" K* x1 m# k, \" q$ d9 A {4 k# L( P f8 \( b
pLight->Diffuse.r *= 0.6f;
3 S: b7 c c% `% S" s- B- { pLight->Diffuse.g *= 0.6f;! h& Q9 }2 q& } {- v& m
pLight->Diffuse.b *= 0.6f;
. m( y3 n/ e$ L. U( Z3 ~+ Y3 f$ c* M pLight->Ambient.r *= 0.7f;
2 p' x4 a+ C; q$ l V7 m' V& E pLight->Ambient.g *= 0.7f;: X# T ?( ~/ B0 `6 E5 D N: o
pLight->Ambient.b *= 0.7f;
4 f+ _! a: \/ l9 L }
- ~# U" h4 b) j3 \3 v/ n
$ [) w0 X& h' n! o, t% [9 u# n: i#if __VER >= 15 // __BS_CHANGING_ENVIR
# v* u& }3 }1 [9 p$ F, u) Y; V if( g_pPlayer )1 d" z# I P4 W
HookUpdateLight( pLight );
6 C* @# w2 |# Q#endif
; [5 D* G B, B' F6 j, s memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 s. T$ g( V, t! N9 a( z% b1 n% z+ b' v/ q% t+ H! T
#ifdef __YENV6 x& E8 ~' O2 }+ ^% z
pLight->Diffuse.r *= 1.1f;0 \) e) y @) I6 K5 S& V1 d
pLight->Diffuse.g *= 1.1f;1 h" c9 ~( r; d; |2 n5 o
pLight->Diffuse.b *= 1.1f;
, }* ?, L* }7 N* a/ E // oˉè* ??à? ; Q# h" o6 k- \$ ?3 q. c5 o# I# X
pLight->Specular.r = 2.0f;, ~. M$ m5 o1 C1 h
pLight->Specular.g = 2.0f;; y, c" L8 I- u( [% w5 }/ L
pLight->Specular.b = 2.0f;; M B q, B4 @2 W; {% C
// á?oˉ " X4 e( |6 L+ y8 u. N! y
pLight->Ambient.r *= 1.0f;
7 t# _1 s4 Y" P1 ?% X# f2 l+ ] pLight->Ambient.g *= 1.0f;
/ ]' O- |& M+ I, V/ {0 e pLight->Ambient.b *= 1.0f;- N# X1 ]$ ?1 M! G, s# [8 m
#else //__YENV! E4 i' W& y* O' A( o
pLight->Diffuse.r *= 1.1f;
1 w$ e3 R* T+ D9 q& `2 H: L) G pLight->Diffuse.g *= 1.1f;- G5 C1 ?3 ~3 }
pLight->Diffuse.b *= 1.1f;
# Y! {$ o+ |+ F; i3 T# `- ~6 I" Q // oˉè* ??à?
5 A$ q( X; o: Z$ P pLight->Specular.r = 2.0f;" b( K1 J- g$ r& n
pLight->Specular.g = 2.0f;- w, c. H8 W# P. g' ]
pLight->Specular.b = 2.0f;! V8 E" u" q2 v$ b0 ^% b1 C
// á?oˉ 0 G3 R4 m- x- z, l; P& {' o
pLight->Ambient.r *= 0.9f;7 @* ]; O A7 d4 _* K& D4 ^
pLight->Ambient.g *= 0.9f;! A5 }' e. Q( r/ E/ T Q, S
pLight->Ambient.b *= 0.9f;0 {9 m& G2 ^* i: h* Y/ x) }4 f
#endif //__YENV
. K6 F6 F6 N- \, K+ _
; ~3 H( l2 L8 ?, E8 a memcpy( &m_light, pLight, sizeof( m_light ) );( V8 ~: z5 {/ R/ F' M
7 n9 `* e8 u4 [ D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
9 u. _1 G6 M: V, v$ V( Z( R D3DXMATRIX matTemp;
% b' j0 K1 Y$ s3 `% `4 P: g static const float CONS_VAL = 3.1415926f / 180.f;2 c# u, e# N& d: S. Q& G) {
2 m1 [1 [5 s R: ? X2 ?3 o* F D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
* a0 d- P. ?/ _; k9 W" r# { D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);$ F! ]" Z5 R$ ]2 _7 x |
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
3 z) O& P( F1 k8 f6 r/ v" W pLight->Appear( m_pd3dDevice, TRUE );
( r9 [+ G G$ C- o( k' a/ ]8 C) p
% y l2 D1 u5 a3 ^5 f6 j // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
" \9 p4 n4 W* n, A4 D // D3DXVec3Normalize(&(vecSun),&(vecSun));
8 U3 t. C6 B( j2 b; Q" n. N9 D# O // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
0 n* `( Y0 t1 {. |, e$ `# ^/ i7 I L7 Y0 P
DWORD dwR, dwG, dwB;6 i! D# P/ Q5 [ y
dwR = (DWORD)( pLight->Ambient.r * 255 );; Q4 Z1 c4 v$ k
dwG = (DWORD)( pLight->Ambient.g * 255 );) A( X ^/ u8 v! V
dwB = (DWORD)( pLight->Ambient.b * 255 );! Z$ {0 |3 u& Q
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); # J$ A6 |9 Y8 { g, {6 M' `
}4 h" u' x' m: Q. B9 s
}3 e6 c' u! r& r o, y) D
* Y1 d' |. s$ m v0 `
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );) g3 v; G) @: O1 B
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! ], w2 v7 k% ?: B" K& o4 O) g ::SetLight( bLight );
( Z$ B4 T; D* K) b# j. R8 G) T2 T D. `9 P: ^ X' v
// ±ao? ?D?í???ó á¤à?
9 z0 X, I% e( I# i9 F6 `% y m_pd3dDevice->SetMaterial( &m_baseMaterial );' |6 U9 v! R$ v
3 Y- n @8 X0 }: n) I
#endif // not WORLDSERVER
4 D: h" r# l) _! f( v}
1 S/ T3 m% ~. [3 ^并更换
i) F& h5 S' ^+ U7 UCode:% V9 Y8 Q9 _" G4 Z* F
__FLYFF_INITPAGE_EXT
7 G) U8 ~9 Z* i8 g/ H定义( A& P. S9 S5 K
2 S: X6 @' ?$ i7 b) j6 |- l
/ g8 d3 n+ C( j4 Z4 M
- H {- I3 ?; c# X
- V ?5 X3 ^) s1 G# C2 r: ]/ M w, B现在终于删除我的狗屁加速...
) Q9 y1 K- u0 y* Q. d3 f" U! u) S- q! L4 n; h; ?
# b3 X$ y, H* u* I! Z/ Z6 u1 q) d( f4 Q% }( z: C ^
|
|