|
食品车:
- a, r5 x8 [: O/ N) ^- [) O尾翼:
8 Z& u: Q( M4 ^# ]& P) a% n6 c5 a
- i" j; n8 J. w代码:! \8 f2 r' x4 Z7 Z+ V
CWndAutoFood::CWndAutoFood()# v, `) F: M; i" {7 T( E0 g
{
6 w* Q: Z: v6 N. ]( D+ D, Z m_pItemElem = NULL;
- d9 M2 p7 T) j8 ` m_pTexture = NULL;+ z2 Y1 A z$ x/ j( S( P
bStart = FALSE;
; R* d; W$ \ L& f' u2 l4 A7 s}- ]6 S4 j# O' d' f6 [9 j
/ w7 \: a" r: wCWndAutoFood::~CWndAutoFood()3 d& d- K& K& Y$ E- v' n8 z4 p
{% b5 y4 A# v8 |/ a; \
AfxMessageBox( "AutoFood ist gestorben " );! K5 v& h: r2 G8 ?' N
}/ t' u ?' c1 u" i2 \& V
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )3 [% |; O/ ?( ~: @
{
0 ?. L6 o: |8 v8 U" G' h8 u return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
( j2 o' a/ B0 Q7 t0 o6 t}
' ?) l( x- P* v+ ~+ O1 ?( K8 ~5 X. o: C& A, h- X! [
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )3 y/ U) j' y' W' `4 p
{- a' [' Z. c) B3 N" v/ r
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );; r$ T& T: K0 Z' ^9 K# Y$ o
CRect rect = pWndCtrl->rect;
/ L9 ?: Y& ~( p# a& D8 D8 U if( rect && rect.PtInRect( point ) )7 [' d3 D- z; P
{- k* p: [ S/ W& `0 j
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
+ U5 o# r$ D' c- Y if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )) w/ V( Z6 }. b& I" J0 `% e
{4 t4 v& J- u7 H* Q6 l: c" T
if( m_pItemElem )" D9 l7 P* I. h5 B3 Y
{
5 B; I/ M$ h8 A) H# Z% B3 O m_pItemElem = NULL;
6 _7 _! k+ Q. f( g7 W9 n }
5 b0 ]% V7 I2 w0 v0 i- l m_pItemElem = pItemElem;
" { x7 D5 u" O: d7 S! j2 w, L m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
% Q+ k& E, H O* C) y% k }else{
; r* W- Z: E) v# K& g# ~ SetForbid( TRUE );
1 L) @/ o* q5 U8 J) G/ ~' u% A$ W }9 v+ b' |; D5 o5 l4 H* G
}else{
$ _+ j. v+ G/ z1 j SetForbid( TRUE );4 J5 S M0 x- M0 f
}* d! m$ m6 B, v' G1 r! m* Z Q
return TRUE;
7 s- x+ l3 S. n: V* S4 U- j}
. q! r) S8 P$ r( n* I* r. L
3 J$ h+ h# r' s7 G. ^BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
. I1 ~5 u! O* r{
. z3 r8 Z( [4 {; G& E6 U switch( nID ) ^/ `6 a6 h/ h: d5 @
{
, o7 \* z7 ~) d" |' c5 r+ A5 {/ B9 p case WIDC_BUTTON3:. q, x7 t+ e3 B% d
{# B R% U, z8 s# {: k
bStart = TRUE;4 X. q$ ?; x" i8 E
break;
6 \7 l4 ?! e! @0 M } j2 r+ j0 ^: U% s6 Y( C$ d
case WIDC_BUTTON4:# q0 T2 Q4 q; f, S1 r* ~
{: k5 i1 {) K% w$ m1 O! n
bStart = FALSE;% G( E9 {+ d o% M* ]4 q' O. N
break;) S4 \: A2 h1 f0 T: X0 a4 u
}: i1 N% R3 r8 ~+ B/ L1 Q: f& ?
}% v, L3 P4 J! C' \" Q; z. a) S/ \
return CWndNeuz::OnChildNotify( message, nID, pLResult );
8 f# ?2 K' R# K, }) q l+ K, u3 w2 t3 K}
6 N& V( W7 B. L2 d1 jvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )- o1 H4 f0 H/ F' k) {
{3 A4 J4 w6 f+ ?4 k
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
8 \: E- N" j5 n( d! k& y7 W& P) ^ if( bStart || !m_pItemElem )
4 q& ]9 V+ x o {
f. d% S" u! O pBtn->EnableWindow( FALSE );7 D# C x. l7 c* R( x) q& K5 A% {. i; {
}else
' e# h* S. p9 J( [ pBtn->EnableWindow( TRUE );, v, m" O5 k2 M6 I& y
if( m_pTexture )
- t" P6 T& K9 o/ j! m4 ?: m9 G* u {: l4 F5 p; W& } p8 a
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
2 y, Q( B! @/ j( V8 c7 z8 u if( wndCtrl && wndCtrl->rect )2 j' h5 E0 J& c7 p8 j4 M4 n
{* \& B, q; ]7 V! V
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );& l3 I* {! l& [1 }% T2 t- L
}
* k' c* y" |4 w: \ }
$ N, H" d0 u' y( w8 z2 J( c% n}
: j' [5 K! q" [+ r8 q6 E& g. p: S8 k* k4 C! e7 x3 y* Z
BOOL CWndAutoFood: rocess()1 S5 D0 r, P5 S& j
{
/ O. {7 d9 g. ?2 l& m. L if( bStart )
6 Q6 z' U2 g. o/ ~9 q9 u7 c {. C& H1 \7 K- A( V1 A
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )7 I* W: B8 G' [9 n$ a9 `
{! R/ s6 B8 L/ Q6 p7 \7 `+ s" z6 z
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
- \, m: ~! x: w* j g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
3 k$ n- `5 Y* Q }else{! W2 w0 G1 T3 s$ G
bStart = FALSE;
( r) @6 y2 y+ ^9 a m_pItemElem = NULL;6 N! d3 z% f( V/ y* b1 c
}0 ^8 T" w; W4 C6 }) G
}' L; \6 r9 a/ p& C9 k; T% ] x4 k3 p
return TRUE;% C8 _ d1 I" v2 b D# O9 }( [
}; D: C5 k8 _2 K1 ^3 {4 }
! _* f" j, r. z& n1 K/ B
登录视频废话:
8 a8 ?& q8 X3 D. W- n7 D& T* A尾翼:- K3 Z5 r/ u: c$ r4 ?# m
& c& v; i4 G8 T$ q
代码:% L, ?' G W" i6 r6 v
, S$ @6 ?3 h Z! V% ?# y
void CWorld::SetLight( BOOL bLight )0 e$ Q5 _$ }' L5 ^
durch4 A% v: }8 f9 O7 J0 x
Code:
. d5 P. b+ m( j- Y: h5 q' O$ i3 u- B. s4 Tvoid CWorld::SetLight( BOOL bLight )6 j# [3 A' Y5 Q* Q) w+ T, s1 r6 q
{
' U; A2 A- @* h0 j/ q //ACE("SetLight %d \n", bLight);
- ~$ W+ B8 H# p/ T$ S
5 s' r7 S% a' F" w6 W#ifndef __WORLDSERVER 7 u5 X8 D6 j. z
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
* }; O8 t1 j) k1 r+ A0 `- i CLight* pLight = NULL;! _4 I( ?: Z( Z# N# V& g* ~
3 h4 b# {9 I6 i D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );" j' M% @. ]- T& x
{) y) g; V8 `
pLight = GetLight( "direction" );
% e& _1 {3 M, E% g% L' Z6 z2 p
& e) }$ ]# |7 f9 \* M) m#if __VER >= 15 // __BS_CHANGING_ENVIR
( [! {2 k0 G5 `0 E5 K1 v if( g_pPlayer ){
6 e5 x9 M8 L/ B# f+ Z/ \ ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );8 n# t) L; d5 P6 G
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
/ S% q! d' Z* ~% m$ R {
) ^0 _- i3 ^3 O1 G if( pLight )2 y# g7 q" [8 G6 j9 C- i
{ |; R1 r' d" o8 u4 V3 D
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];! A$ `/ X9 Y+ [# @: k J" x" k
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];* B4 d9 T4 g; B& \
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
) |& {/ T) c& s7 K! Y* l, b6 m i) U
pLight->Specular.r = 2.0f;
, w0 r, _ k2 h( P pLight->Specular.g = 2.0f;
2 H) G7 x: ^( `6 a+ j2 R pLight->Specular.b = 2.0f;
) g+ M# n* q3 s$ g9 H6 V; U & }4 P0 K' d6 S% o/ W2 g" S9 V' e
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];$ L! |- Z* ~4 E
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];/ D2 h% C [/ M+ T k
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];8 V4 n$ X1 E" h. q% q2 B) d
8 h# {- q0 j, S+ ^. D, C; d* o* i HookUpdateLight( pLight );
4 w1 U; t3 i& A: z' ^; o4 b. Y' Q" r4 Q
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 P4 ?- o9 w) C: [. Y0 B3 u) b
4 l2 o) O% M8 Y" E5 ] pLight->Diffuse.r *= 1.2f;
( X8 X% f: R4 h! H pLight->Diffuse.g *= 1.2f;$ h$ h6 R4 N0 x$ Q
pLight->Diffuse.b *= 1.2f;# F m7 f! j9 K( G/ n% s
6 M2 u1 c7 t, |. C
pLight->Ambient.r *= 0.8f;
! e. B: S$ R" O6 I W pLight->Ambient.g *= 0.8f;# t: A, H, g* ~
pLight->Ambient.b *= 0.8f;0 D& s$ ~- z' |1 q( s% K
2 E4 ?( `4 p Z
memcpy( &m_light, pLight, sizeof( m_light ) );
5 d* D. T, K" t8 I5 k( I4 }4 }, H8 Y- I
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
8 ?' f& k. r( P1 a D3DXVec3Normalize(&(vecSun),&(vecSun));% s- G2 c% {% B1 Q6 x
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); : ?8 ^& i& w" _' L) X; U
pLight->Appear( m_pd3dDevice, TRUE );
: L# C# G# q0 Z
; | I; E3 c+ W. G DWORD dwR, dwG, dwB;: z9 j4 E9 K2 C1 n
dwR = (DWORD)( pLight->Ambient.r * 255 );
/ \$ ^+ v, r8 X l N/ f j dwG = (DWORD)( pLight->Ambient.g * 255 );
9 J# M' h2 m' a& Y4 G dwB = (DWORD)( pLight->Ambient.b * 255 );% F: W# v, d( m1 `$ F6 p
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );: N5 A" a+ D; z6 k; c
}
8 o5 l6 C5 \/ M4 N }
( U& ?0 |8 m7 ]& ~; P }" ~3 N4 J! T0 o
else
# Q" q0 I* J4 K8 I#endif ^) ?! O+ i b: s
/ N5 A4 l" P2 m) Y
if( m_bIsIndoor )- Z+ p- E2 z [- h) ^& G' z
{1 D, g+ D: |1 R/ y2 {! l
if( pLight )) j8 e7 Q' h: C5 Y& @
{ ) y2 b3 C* b4 l: g
// à??μ oˉè*
- P: ~ I6 Z; X! c" v pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
/ F4 |; v, O; n pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
* T3 }; M3 K# }1 I7 e pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
1 K/ }7 B0 h) G
" e [5 ]% W) j4 C2 ?8 C // oˉè* ??à?
& E" [8 b5 D+ P: Y: E6 E; S" N pLight->Specular.r = 1.0f;
4 q" n5 @+ P& S0 l( v pLight->Specular.g = 1.0f;
; V7 @: r1 r: |0 u$ t" N pLight->Specular.b = 1.0f;( ?7 ]1 A9 h _0 e
// àü?? oˉè* - V- K( f/ C9 y9 I+ B; j
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
J: R6 O, X# J: n3 N7 S pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;3 P) v. ?; p! @: e4 T" ]
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;2 C+ v! X! W" N
% d; O3 W# ~3 A7 y
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.1 m* i2 r' w5 S0 V0 M* |- \) Y
{$ N5 X+ O S/ L3 O' L* A
pLight->Diffuse.r *= 0.6f;$ V/ t+ r& V; S! u0 f& f6 Q
pLight->Diffuse.g *= 0.6f;
* O# J% N% K$ E( o) [ pLight->Diffuse.b *= 0.6f;8 I8 ~) G- p1 Y5 w X
pLight->Ambient.r *= 0.7f;7 f0 L( {- H9 }7 i* A, w, R$ _4 A1 ?
pLight->Ambient.g *= 0.7f;" \4 e& |- U$ h
pLight->Ambient.b *= 0.7f;, W* A; C. ?1 F' s1 |1 }: p
}
0 M+ j6 b1 v) e% S; f9 O
N# s! `% \8 l7 s#if __VER >= 15 // __BS_CHANGING_ENVIR
+ K! J( a1 r& o1 e$ L( O if( g_pPlayer )- L: M: [& o4 d9 ?% _
HookUpdateLight( pLight );; U& ?6 `" G3 n; Q2 g# e6 f" G+ Q
#endif
" G; O" X! ]$ R5 _ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );% @" T i! v8 ^0 b2 m
- i; r! d8 c- z3 ]' d+ n ] pLight->Diffuse.r += 0.1f;
9 R0 ^& R& K- V. K pLight->Diffuse.g += 0.1f;) j: C( O! U8 w( \9 M
pLight->Diffuse.b += 0.1f;- d# `1 ]# v8 H/ e$ K
// oˉè* ??à? 0 {: n3 P# r d
pLight->Specular.r = 2.0f;* A. Y1 S; ]& ~- X l- h6 F* m
pLight->Specular.g = 2.0f;
J0 A, J/ G6 m. F8 F% u* m pLight->Specular.b = 2.0f;5 W) s+ I5 r' w: ]% O" H# Z4 f8 F: I
// á?oˉ # D: n% _- q2 I: Y
pLight->Ambient.r *= 0.9f;8 }( O4 G' }8 D
pLight->Ambient.g *= 0.9f;1 U8 {- j- h1 w& U' u3 {9 Q
pLight->Ambient.b *= 0.9f;
& H" [* y7 k. H6 b4 Y5 E; m4 i
1 Y$ F# J/ X5 P1 {: a0 U memcpy( &m_light, pLight, sizeof( m_light ) );
' V3 F& s, Y) ~* K e% I0 [# `% Y 4 A& Y# s6 G1 H& D. a' o
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
8 ^* l3 z& x- x" [5 V pLight->Appear( m_pd3dDevice, TRUE );- O y! ~3 [+ p* U' N
2 p! b% P2 x! l; j
DWORD dwR, dwG, dwB;, p) x3 y, ^. E
dwR = (DWORD)( pLight->Ambient.r * 255 );+ D! }: i5 i: ?: x/ L
dwG = (DWORD)( pLight->Ambient.g * 255 );
0 A1 X% U2 E% E dwB = (DWORD)( pLight->Ambient.b * 255 );
" [/ D0 ~. E( z+ X0 @: V) N dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
' o9 o3 x- l& b2 V) t. e- q }
9 C6 d4 m ]: A- K8 f' | }( ]+ E5 D8 e$ _/ Z! \
else
- ?, X( Z# Y3 W. U3 Z9 G6 \ {, }7 @$ f- j6 l. h9 K6 n; k: X
if( pLight )
$ h1 Y/ h0 ~+ T D9 [. S* y, W {0 A0 h9 B/ Y; Z1 t1 p
6 h; |2 p9 J1 {0 d3 N int nHour = 8, nMin = 0;+ M7 o) M3 {4 h* [( h* z
#ifdef __CLIENT9 P0 Y: i; B9 V8 I- s
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
0 G; u* `. Y: Y# L* Z nHour = g_GameTimer.m_nHour;
: {% n4 W' q# @3 _: w* ?: f nMin = g_GameTimer.m_nMin ;' @; w4 R" a! v7 \
#else8 R6 k y% Q F/ b
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
( r# v% f5 M7 K' q- H if( m_nLightType == 1 )0 r# R5 o- u& r, {: q) [
nHour = m_nLightHour;
9 k) C u, t1 B- L$ m #endif' V, {5 {, A+ `, W6 o
nHour--;! K0 I& G9 E1 {0 [
if( nHour < 0 ) nHour = 0;8 H* Q, }% X. P& D* _$ w7 |+ F
if( nHour > 23 ) nHour = 23;
! C( p" B9 [. T9 q) _& f& t" f1 H
//if( m_bFixedHour )# E# R% t% [( V3 o: C: {9 j
// nHour = m_nFixedHour, nMin = 0;
: x& ]2 P! y. Q( R& [ LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];* A" E, Q9 q5 `* S( a
LIGHTCOLOR lightColor = m_k24Light[ nHour ];" U! P# m9 m7 o$ T5 C, `
5 F. N/ R' B- |7 |- N. c
//m_lightColor = lightColorPrv;
. @. l6 N: L& |: S3 r) ] lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
; e8 ^6 P' J0 U' G lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
- Y' [" c# X |) M! A& T |$ k9 P lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;. T3 y7 L/ {8 C: ]* R* |
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;- { G3 I4 p( @
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
7 c: ]7 \5 X- A; t9 f' j% x3 M lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
; N" A* J2 h2 R* F // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)3 K2 A3 k' B& u( E* g8 {% @, c
" Q9 o# f1 G* |1 z
// à??μ oˉè*
4 a, T a3 [8 t# b/ ]' ^6 t pLight->Diffuse.r = lightColorPrv.r1;
- @; q4 k' Q) `+ s [ pLight->Diffuse.g = lightColorPrv.g1;
+ U. b' v0 _% L5 v- a3 } pLight->Diffuse.b = lightColorPrv.b1;4 v& Q3 W" G8 u- @ ]
// oˉè* ??à? 4 O% n, @( X, N
pLight->Specular.r = 1.0f;8 u, }9 F7 b1 t+ A- c* O" c
pLight->Specular.g = 1.0f;
5 l6 r/ R" [& d: p pLight->Specular.b = 1.0f;
* b. r+ m& C" d0 z! Y0 l // àü?? oˉè* 3 H) E) b( O4 C1 t+ I: H3 Q- s
pLight->Ambient.r = lightColorPrv.r2;3 r; l" L: O7 _" b
pLight->Ambient.g = lightColorPrv.g2;
) y6 F$ I4 x) i" ^: c1 D pLight->Ambient.b = lightColorPrv.b2;6 j" \; T+ v$ R$ z# l, w
7 Q4 I$ X8 ]$ o1 c
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
+ T8 i" T/ p+ R. T {
' z1 s7 A; ?0 P3 l" w pLight->Diffuse.r *= 0.6f;
( A$ V" n% N+ G; K pLight->Diffuse.g *= 0.6f;
- c# L& z" I6 p7 A pLight->Diffuse.b *= 0.6f;
6 }' [% ?. w: S pLight->Ambient.r *= 0.7f;
, X6 Q3 G* M( c1 G( v2 e pLight->Ambient.g *= 0.7f;, O' a4 r) |. V3 a7 U g
pLight->Ambient.b *= 0.7f;1 i, H; `$ y5 j. |
}
) D& g% `! z/ A4 G 2 @3 W) N( |4 G# I: Y1 j% H# `
#if __VER >= 15 // __BS_CHANGING_ENVIR
! O& X; q6 w5 R" ? S if( g_pPlayer ): L, c8 {5 s; ~1 w" O3 n
HookUpdateLight( pLight ); ( S4 t6 S* R* O8 M$ R# n
#endif
. `5 V8 u- E+ H& p8 Z& J memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );% }# R$ d$ S/ t
" Q5 @- u; k, \5 A- L4 B. A#ifdef __YENV. K* U' s/ B H) ~. o6 I7 d
pLight->Diffuse.r *= 1.1f;
1 W# o2 v- Y, \2 w( n# l9 Z pLight->Diffuse.g *= 1.1f;" C$ g; |9 G1 Y! M* A) e
pLight->Diffuse.b *= 1.1f;; r! h/ n+ g% p4 ^2 b9 P6 k9 F
// oˉè* ??à? ) S2 P6 ~% h) N5 v/ A2 X2 K! ?
pLight->Specular.r = 2.0f; e1 z( f/ W3 O
pLight->Specular.g = 2.0f;1 e `6 ~7 W! I7 h5 P
pLight->Specular.b = 2.0f;
) p/ b" s: ~8 a- J // á?oˉ ( x* N1 q, F* F. J
pLight->Ambient.r *= 1.0f;' B, {9 I! W1 M3 j* c' m- l
pLight->Ambient.g *= 1.0f;
' `/ P7 z- G8 I) K- C7 i" i, P pLight->Ambient.b *= 1.0f;
) d! p8 z# D" w# r#else //__YENV
* R3 l9 _* v3 Q1 c- j pLight->Diffuse.r *= 1.1f;
: {; `2 z* V' I, Y0 Z& r3 r( s5 g pLight->Diffuse.g *= 1.1f;
- H" W* W* {$ S) F& X pLight->Diffuse.b *= 1.1f;8 v, F, X$ q( r. x
// oˉè* ??à?
" C( j1 Z6 ]% x1 j" w pLight->Specular.r = 2.0f;- w( ]) @9 c4 D
pLight->Specular.g = 2.0f;
+ f6 x7 e+ X/ x0 @ pLight->Specular.b = 2.0f;
$ b* r. ~ D' s1 F // á?oˉ
$ W. B, L' R+ k. e* a pLight->Ambient.r *= 0.9f;3 F; P2 ~# U3 n3 K
pLight->Ambient.g *= 0.9f;+ \% I3 s4 Q/ b1 X
pLight->Ambient.b *= 0.9f;9 Q/ A" V) j- Z% e- e. Q
#endif //__YENV $ m1 U N4 s0 m" W
5 k% T" P; j" T0 L% @
memcpy( &m_light, pLight, sizeof( m_light ) );
4 a) V- p& V/ N( S" t0 ^8 f
$ ]# g4 }! I8 L4 \" p1 R D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);# P! I U7 V$ b
D3DXMATRIX matTemp;* d' X3 }9 k5 `4 M% H: Y6 y
static const float CONS_VAL = 3.1415926f / 180.f;
/ ]! S8 G/ G, N* ^- ~
& L2 z9 y6 u3 b! n: U D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
2 E& b* W( @% u0 n& g. f9 g6 ~ D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp); t7 @3 d d7 [
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
! U5 f, |$ ~5 F; ?* l3 \: q pLight->Appear( m_pd3dDevice, TRUE );
" ]3 i- r! K$ Y1 I3 n, {9 G% h: j# F, s
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
/ m$ @9 m8 H9 k* U // D3DXVec3Normalize(&(vecSun),&(vecSun));5 k, g% `1 c. y/ t
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 1 d0 o# q# k ]
8 S% b4 j5 [9 y9 {
DWORD dwR, dwG, dwB;+ L8 w( i$ Z# B0 p* |7 E7 G
dwR = (DWORD)( pLight->Ambient.r * 255 );6 q# p) X/ Q# h! v
dwG = (DWORD)( pLight->Ambient.g * 255 );; `8 S0 L- ~- L0 F5 \' y' P) Z+ H
dwB = (DWORD)( pLight->Ambient.b * 255 );: r4 m5 k$ C T) `% ~6 }7 s: f
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 3 d, L! \+ d3 V# Y
}0 X8 z/ c0 l6 W n! U
}
3 t. Y' \- e3 E& w1 m2 J
' j) v0 [9 a, [; D, F( C3 y" _) K m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );& V8 u- P) y Z0 k" k
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) );5 T1 ]: f- t7 O4 p9 K( x3 _
::SetLight( bLight );
3 v. N# k2 k, @1 O: k ~7 O# V' [$ T' S$ ^- J9 p) C2 B% \" g
// ±ao? ?D?í???ó á¤à?
( K& j! S2 t: z+ H4 }8 b m_pd3dDevice->SetMaterial( &m_baseMaterial );( _3 [9 y4 [2 q* S% u7 i/ p
' P" `8 X! } Z$ i1 U' }/ M, }: V0 V#endif // not WORLDSERVER' s1 @) X2 B5 r( ~# B) |( T- p- L
}
+ J$ w' }9 f+ m并更换1 D6 R7 A" j2 g+ t7 S/ T( A* |
Code:. b. w, _) Q- O1 w4 r
__FLYFF_INITPAGE_EXT
" ~6 U' j8 E; f: s: {9 q定义
8 q8 z; P" @! X7 R3 O2 ^. _6 H( o+ n8 H4 I
& q$ F! p% ^& G7 y/ D! w
0 Q" ~# E2 q3 s, H
& N2 c* C; g7 X% w& a3 f' D! ^) Y现在终于删除我的狗屁加速...: `% w3 A( M; b+ ^2 W
. m# ]0 z6 N( N& P: w6 y) _+ E* [3 T: n( v: ~% ^ z
9 T! G( p. l* R
|
|