|
|
食品车:
! D( ~) t ]' v3 q! L: {* N尾翼:
+ ~, o1 x9 K* _
& g( F" Z: E( q# H J代码:/ h* k' k& B7 L6 c, H
CWndAutoFood::CWndAutoFood()
9 V( U1 X6 O7 q8 W{
c+ M* U1 B( {. x, h m_pItemElem = NULL;! n5 p+ L" R0 w
m_pTexture = NULL;
: A9 i! d4 w9 ^( i' F* a6 [! T bStart = FALSE;
' Y7 K% H$ _$ g}8 t) z8 x8 q6 k" b. p8 j
' L: [* j4 O0 vCWndAutoFood::~CWndAutoFood()
! L+ `* ?$ N4 r: e3 [{$ {- q r% t1 n! ?' Q5 G/ \
AfxMessageBox( "AutoFood ist gestorben " );0 ]( H7 w3 p- l/ L9 j: i
}
* {4 U& O g2 ^7 n( L! Z+ s( R* HBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType ) @) K# ~. E" Z0 K; X0 q, I: k* j
{( H! I6 @) y i# N& x# I( ?8 \
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
% ~+ [, \3 H! _2 Y8 i) y: h}- f: E* n& q5 C! v
# R4 ~% ^ ^ C9 H- @BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
3 R4 w1 X, E4 ^+ Q{
9 Q& S* p2 E! V, j2 Z9 U LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
3 I/ x8 M5 h$ b9 ^" T3 w4 s CRect rect = pWndCtrl->rect;
2 V0 I6 d' K* o* m if( rect && rect.PtInRect( point ) )
. U' W' @: R, z$ { { a1 \1 m% G) X" j5 B4 }
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
0 v$ |0 L! n, g& W if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
$ d+ t. s+ Y. }/ \7 l$ ^ {6 ?9 `$ [4 k/ I2 _5 A% x
if( m_pItemElem )
: _1 I3 t+ j0 |/ y( Z8 | {
7 B9 ?3 f5 G/ s: t# Y5 Y1 z m_pItemElem = NULL;
1 V$ B2 ^1 n1 B" u$ u }
5 [+ U& c+ T$ G9 j% D% n- W$ K m_pItemElem = pItemElem;7 b; }4 X8 s1 T# F4 |
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
0 F2 l8 X& N1 C% w. ]3 R k }else{
4 {: D! ?- }& T+ L SetForbid( TRUE );: i$ j+ Q x* G) N" r, o
}# D9 t. v* Q: z- H( J; n7 h8 R9 g
}else{
1 R, g7 Y, q8 ^, q* e, t( J SetForbid( TRUE );+ f5 l$ I5 u- s7 h
}
0 @; z0 }+ u1 `3 ?8 L" p# v$ O return TRUE;& n5 f: j7 g4 y) \' b9 `$ X
}
0 N3 q! v+ s# u* i/ q- c# Y7 D& J7 O n, }: N* S- L
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )" t: Z" i" h/ h; z( k* o9 D, C
{
3 _5 K0 V$ @; V+ X% a8 k! V switch( nID )
2 D' }# r! z3 H* y. m0 g% x( p {
) h0 z# ^; j: i5 N- Q m6 ^ case WIDC_BUTTON3:
. D9 g% P$ D* d4 Z) s {
3 m8 ^& d# ?( m' V" D6 p6 e bStart = TRUE;* r: N# G- ?2 j; i3 O' T4 X5 B9 Y! z
break;
% a5 O ]' N" {/ s& G) u, E) u$ T }
- G# j) Q' P3 R case WIDC_BUTTON4:7 [( F# }- C3 C1 y5 |' \; ?
{
* ?' E. V" n3 a+ ^9 n# N bStart = FALSE;
l9 l o4 l9 g) y R \1 S break;
[+ z0 ]8 d! S1 k) A5 z6 M }
, V2 ^3 z9 Z; N4 }# _; L6 \ }7 S. x- X$ y! L5 H; L7 w, q2 N7 H
return CWndNeuz::OnChildNotify( message, nID, pLResult );7 Y/ J0 n. e8 y* c) j X$ |8 \
} 6 V" {8 M7 [ {
void CWndAutoFood::OnDraw( C2DRender* p2DRender )) D) a' P; d) w8 _. }" `
{
; R! t8 e( ^" }4 q6 t& O# n CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );2 l) I5 J) K3 c8 n3 y
if( bStart || !m_pItemElem )
. W. j2 E1 w7 Y- W) Z {
5 H+ z! U/ G+ d0 `' T2 } pBtn->EnableWindow( FALSE );
& |+ a) n) d6 ]/ h$ V }else
: a3 `6 i/ J% `; Z pBtn->EnableWindow( TRUE );
8 b6 t5 j! L! g3 p if( m_pTexture )5 b, ^0 G5 d/ D: u3 c8 N; Q. _* I
{' X2 E3 C( y$ e& ]$ F4 n' D
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
/ v/ S+ F3 k0 X* I( T. V1 G/ U; ^, x if( wndCtrl && wndCtrl->rect )3 z: I0 `+ v4 t" b$ N- `5 O8 f' v
{( C6 a t: T: c& t7 j
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );- h6 \$ W, A# g9 e- e6 S/ w0 N
}8 S f0 n1 _8 r5 U- f/ q
}
3 q/ I; x& G! A: f# Q5 Q}
% i6 J" u0 z6 ?1 r4 F1 f ?1 z: p8 G& Z5 R
BOOL CWndAutoFood: rocess()
' f0 ?2 a8 K7 _" J- v) Y% i4 J{& A- I* e, {: p
if( bStart )
+ N5 Z) V# f e! ?" n. j2 m# C {
: }# u3 w) v9 R$ D X; i if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )- Y$ P5 T6 N. \" V$ K' G, N
{. H# `; G4 Y) q( q5 e
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
8 {3 v/ B& \! ?- a z" |/ k2 M g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
, C; d: E& n) d# b9 m' K+ z }else{# @$ `& j) C4 E5 T- G/ T" r( w
bStart = FALSE;) l& `$ C3 { X7 J" p8 a
m_pItemElem = NULL;
" Z7 K9 w4 g: ^# w( ~+ @& ? }+ G, R1 X: t8 y3 ~3 W7 |5 D* d
}
" u R# z% Z8 R return TRUE;
! r o) G. J: Q}: G3 r y! {0 q6 U
* I5 W# s. j2 f2 b登录视频废话:
, F+ ~0 n) E3 x' K% g3 h7 S尾翼:
- }8 q5 i3 Q }' a. `8 s" ^- X& K. z( h
代码:
6 j" e4 z5 p8 `# w2 X) M& r/ c/ d' q0 q: [9 `& j( e( @& K& z9 y+ d
void CWorld::SetLight( BOOL bLight ) s' s2 Q" z- f% \. }1 k( L9 n+ |
durch
, d' m8 Z4 e" m. ~3 S8 E! v& H' P! [Code:
/ @7 _3 H' w1 }3 j3 }void CWorld::SetLight( BOOL bLight ) t. N h) M! a$ {6 \9 A* o' {
{, G: P! L" j# M3 F
//ACE("SetLight %d \n", bLight);
# r. u( {$ P; g3 }8 I, r& A- |- k
, Z6 l9 h5 m6 L$ c( X* U) O2 y, s#ifndef __WORLDSERVER / |5 d8 Y( v5 I6 ~! }5 O
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
* f/ N, u) z4 V0 B% z CLight* pLight = NULL;
! Z1 T# u& Y& n" p/ O+ o- N% u/ ?" E& p* `& \$ Q0 R5 Z2 t( P
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );- a! I- ~' k1 D6 t( V
% N l1 l l M2 A$ ]5 f% s% `* D a
pLight = GetLight( "direction" );
- b# D% {# P% D% b
. @8 p$ i2 p6 R8 A2 I#if __VER >= 15 // __BS_CHANGING_ENVIR
1 H, g7 I0 L) Y6 L( B if( g_pPlayer ){
) A+ s9 M1 U! i0 X ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );2 L; _6 z0 m# R+ J+ u8 z
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
9 }" ?$ ^- j: u$ r {) Y, \4 h7 k$ r/ i
if( pLight )
4 m' N! l$ H; `/ @ {2 A) k1 ~; R7 C2 a" ?1 O
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
8 K+ U7 j5 w( b# x) w pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
& {0 T& y; N/ S& O- T pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
, K' a- d ?2 l/ O
. g9 X# s) d4 R+ ^ pLight->Specular.r = 2.0f;5 g- U1 Y7 a. m9 p, K4 y+ \
pLight->Specular.g = 2.0f;
|5 R6 G( {6 l2 G pLight->Specular.b = 2.0f;
( l3 b& p+ `- i
0 Z) y: ?# F* L pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
2 c! T7 R0 Q6 E) D) W2 f pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
# ~8 G. ^# B* i$ z, y/ Y- \ pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];" |* J* _ V& L
: z) h, }6 |" Q) c- X2 L( m HookUpdateLight( pLight );
: R6 p2 F! @9 I# U1 C( r) B: w% k; U% Z! z- B3 r
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 L$ u. H* m" f8 c 6 B9 w. d* A3 S9 l0 G
pLight->Diffuse.r *= 1.2f;# u |2 u( p7 Q' m7 O, c
pLight->Diffuse.g *= 1.2f;
0 O- _7 H) r8 O) O pLight->Diffuse.b *= 1.2f;1 Y- N$ i! _8 K; a2 |2 ]
s8 }9 ]; X: U4 ~
pLight->Ambient.r *= 0.8f;1 t5 n$ \% x& D5 h
pLight->Ambient.g *= 0.8f;( D/ W% e0 I- E$ Q
pLight->Ambient.b *= 0.8f;
: `$ J" ^& B3 g7 {. G* C ! X7 ~0 d, L a5 y8 X
memcpy( &m_light, pLight, sizeof( m_light ) );* Y: Z! b W1 O# X( y0 W, m
6 R4 m, M m( Q8 w y% j1 G
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);6 C( C" a5 ]0 S z- w: N" w* E T
D3DXVec3Normalize(&(vecSun),&(vecSun));
2 m; P# v3 E) a3 y6 F# M pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
7 b+ Z( c0 j- N8 x8 R, p7 b pLight->Appear( m_pd3dDevice, TRUE );! x( q! F# |. g' S) V
5 h2 L. e; ?0 j5 i2 \ K5 m9 | DWORD dwR, dwG, dwB;, t3 C% k2 R! X" `+ s8 `3 F
dwR = (DWORD)( pLight->Ambient.r * 255 );
$ f% f( @0 M" o& H3 Z; l dwG = (DWORD)( pLight->Ambient.g * 255 ); v6 A% D/ r: x+ U
dwB = (DWORD)( pLight->Ambient.b * 255 );) X B2 f& K0 g
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 p( S) C, b1 _- U* K }6 D8 @1 P( s& m1 d0 y9 ^% ]. J% E" ^
}* a0 _( P! B/ W# l3 v
}: c) K5 M0 D0 T- g
else
I9 _5 L8 L' q2 H#endif 9 N$ d# J4 q4 R: J% U& V/ S, Y- I
4 a0 ~4 L7 I8 G6 S; c if( m_bIsIndoor )
4 h8 ], V8 k5 h7 y- J* g- [4 y {
! i9 k# l: K) t; V1 k3 | if( pLight )
% B; m# B2 ^: i7 \8 U" }4 X2 C5 q {
6 Q% A1 a/ x: f // à??μ oˉè*
6 I" [5 a. T H- r7 X5 _8 } pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;# a7 h# B4 S+ o F R/ j
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
( ~3 p; J d1 K; o; n+ G pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
- k; i. |% s w4 \
) O8 h& p" ]% f4 K% s // oˉè* ??à? " V1 X. V& S; N5 q
pLight->Specular.r = 1.0f;' ]6 S6 R+ A0 a& ?
pLight->Specular.g = 1.0f;" u. g* F" z' N( T7 S# P6 W8 v3 f6 h
pLight->Specular.b = 1.0f;
2 R q/ I' P$ U. y // àü?? oˉè* ( X7 |* X7 G1 \; K2 v; z
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;- z1 v+ Q, X* O. F- p! C& O
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;* D( K1 p4 ^6 m1 W, t6 n8 O
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;" |8 J0 |" ]5 n# M
5 s$ B# b6 C& O, j
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
, f. P0 _2 O4 {) n) E5 [( h" u {
" F0 r1 Y6 r8 j) {+ ~$ r+ o pLight->Diffuse.r *= 0.6f;
; j, r- W- H. c9 {) Q9 T$ u) D pLight->Diffuse.g *= 0.6f;% V' \% P) `$ S; W. ~% M
pLight->Diffuse.b *= 0.6f;
; A5 X5 d5 S8 M- ` pLight->Ambient.r *= 0.7f;1 \7 ^4 S' D8 ~, A) I7 L d1 G' z
pLight->Ambient.g *= 0.7f;
, Z3 G: }7 i: \" `* \ pLight->Ambient.b *= 0.7f;4 m. P8 s! A v$ t
}$ D. V. H' x. I5 Y x- }. T" ?, t
! e$ f7 K7 |1 ?
#if __VER >= 15 // __BS_CHANGING_ENVIR% d: n/ ^1 I# |7 n' }& d
if( g_pPlayer )
6 ]- C* X- l3 c) z' X# J HookUpdateLight( pLight );
, J, n$ |2 |) ^/ h% r( @#endif
: Y* w7 z5 I$ w/ g5 i! q memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );* h) Z! r* F h8 w4 \) j
5 H+ F1 C# v1 \: k- J: p v
pLight->Diffuse.r += 0.1f;. c, o3 M9 Z* Q! j4 u5 k( N; }8 }
pLight->Diffuse.g += 0.1f;( o4 ?- \; {; W* t5 H4 `4 U! i
pLight->Diffuse.b += 0.1f;
# [: ?, v3 N4 V' Z$ Y) _# q6 B // oˉè* ??à? & G6 X5 A- X" {1 {
pLight->Specular.r = 2.0f;
+ z& i2 O- u1 `8 {4 ?& o pLight->Specular.g = 2.0f;& f! p4 x$ ^% l4 y
pLight->Specular.b = 2.0f;8 j8 S, b: w3 u" N2 `! ^
// á?oˉ
$ L$ \' N1 g$ `% s0 u2 L pLight->Ambient.r *= 0.9f;) z g, n1 S/ V' w
pLight->Ambient.g *= 0.9f;. q, {, k; {7 [. o! l' M1 z2 k
pLight->Ambient.b *= 0.9f;
4 M& J0 T8 _; S- d
3 p: G& Z; w" g2 F% u memcpy( &m_light, pLight, sizeof( m_light ) );
; ^6 n+ z9 V: Q6 S; n
3 }5 g1 F/ r; y- p1 o pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
* f' a$ \1 m" j) s6 x, N" G pLight->Appear( m_pd3dDevice, TRUE );; o$ l2 F5 W* r: T2 R( W% z* C% P( B
+ G1 V0 ~4 i) X- a7 }# h- ~ DWORD dwR, dwG, dwB;6 q3 w& ?0 ~- d* G0 G# X# S6 F! m5 C
dwR = (DWORD)( pLight->Ambient.r * 255 );
; d) n) ^2 w, \& m: _- q* w9 K dwG = (DWORD)( pLight->Ambient.g * 255 );# q- C% ^. e( x# z# n3 ?1 g
dwB = (DWORD)( pLight->Ambient.b * 255 );
- _ w$ e& f. }3 ^3 l dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );7 {/ ~( P) U* m8 X$ p. ?. Q
}+ a' {; r0 E. l% i
}5 l5 C; c! F7 \% a. f
else5 S. @. r# E9 q6 a/ E1 i* F* r- f! Y4 R
{
; z% A: a4 o/ S! z+ K0 K if( pLight )) A; Q5 J- X `3 o6 c5 {+ \+ K
{
6 s+ u7 h) }/ q+ D8 s& z: j6 c
. _9 F. P! n- _6 a, X int nHour = 8, nMin = 0;
4 p7 _0 T( `3 s& c" I* m1 l #ifdef __CLIENT
* {' e H" a; e- X // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
+ B0 U8 E; x! I9 u0 l0 S nHour = g_GameTimer.m_nHour;/ U; U6 m/ K: b+ z2 R; x
nMin = g_GameTimer.m_nMin ;! _+ Q' R! A2 B9 }5 E
#else
) ^* R& ?, J2 ~7 E" [+ L! K( Q // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
! J9 [: h4 J! Q3 i0 a' t h. I5 `6 l if( m_nLightType == 1 )9 d, O L6 q$ v2 R/ h
nHour = m_nLightHour;" u- R. }$ b2 ?3 ~* Z* {
#endif
/ f3 L! w; l8 s7 i! r# n nHour--;
# \1 V3 r2 D8 ]3 o) j: k if( nHour < 0 ) nHour = 0;
! n2 u m' D- Q. X1 V# J5 h if( nHour > 23 ) nHour = 23;
7 X, T$ @7 @3 b' ]6 y3 E) S7 S( ]9 X; I' F4 F: k6 E8 l, K
//if( m_bFixedHour )8 t1 M) U- }% |) O# l
// nHour = m_nFixedHour, nMin = 0;- s% J, G# M! ~8 j) V/ [ k& y
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
. G8 x- t0 T, T# b LIGHTCOLOR lightColor = m_k24Light[ nHour ];; M T- Z2 w+ D' B) x- K
2 Q, N" R( y. }# L8 L# } //m_lightColor = lightColorPrv;9 @ V; v' i7 {3 ?! o( i+ W1 J
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;% R& ?6 @# i$ w
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;/ _ m' ?. D/ ~; f) A
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
: A! C# d/ d" t# Z2 l# S lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
9 u* `% F2 Z: m1 ?: g, j lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;% E0 s& X Q8 h5 H& u
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;1 m9 V% P( {' j( m) W: t
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)/ h( i" v; M) j4 R3 z4 l
3 e& M) J7 T7 Y2 I% }9 B // à??μ oˉè* 4 M1 g4 ?; Y. B9 ?$ H% I) o. G
pLight->Diffuse.r = lightColorPrv.r1;
! L0 \+ k1 b5 O pLight->Diffuse.g = lightColorPrv.g1;
7 ^- Q' t8 A! E2 T" V' N( u: X pLight->Diffuse.b = lightColorPrv.b1;
: L4 Q2 S" ?9 y/ Q- V // oˉè* ??à? - X: J7 i# L4 x; c0 `; f1 P, d
pLight->Specular.r = 1.0f;: D6 a5 l6 O2 I: J; w: m
pLight->Specular.g = 1.0f;
' c$ n7 F, o" q0 t pLight->Specular.b = 1.0f;
- t! e" i: Q+ Q) ~- k% }! Q // àü?? oˉè*
, J: U' M6 i* z( \5 x0 z' b& n pLight->Ambient.r = lightColorPrv.r2;4 _( c2 y% c0 }; l8 y( C% J8 j/ T: e
pLight->Ambient.g = lightColorPrv.g2;6 ^3 \; n( `' t2 C* U: f! P+ p( q
pLight->Ambient.b = lightColorPrv.b2;$ H; h; ~8 V1 i2 U
2 J, c+ Z3 W1 m. m: P: d
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.# A% j' A2 r8 u3 }% m9 {
{
6 C( N( V( n) y) `; j pLight->Diffuse.r *= 0.6f;
: U8 z6 L. j2 C, i pLight->Diffuse.g *= 0.6f;# \ k) r7 e3 W( O& O2 H$ L
pLight->Diffuse.b *= 0.6f;
$ G1 {; |4 @# n5 P" Q4 F pLight->Ambient.r *= 0.7f;
8 v$ D+ y" A+ _+ A& v: S3 A" t4 u pLight->Ambient.g *= 0.7f;
' }+ W. J8 m* A7 T# r; @ pLight->Ambient.b *= 0.7f;
o0 Z( m" V$ a: T8 K- N- M+ G }
" ]! L j: V: t9 A5 ?0 b- C
9 f7 N% {# }- L) d3 e5 `#if __VER >= 15 // __BS_CHANGING_ENVIR8 g4 p. |' R. U( H
if( g_pPlayer )
) M( P" |4 u0 A7 j2 F& c( U' G HookUpdateLight( pLight );
1 f3 j2 q5 n$ j" v" a. {#endif+ ~$ O- z3 r5 `" v
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
2 D7 m' f, O% W1 V, N8 W% I: A+ F; \0 b0 j1 V# h0 C0 [
#ifdef __YENV$ J. w4 D6 _' o. E- m# H
pLight->Diffuse.r *= 1.1f;
6 e J* P9 |6 } pLight->Diffuse.g *= 1.1f;
3 B, i6 |* [5 y- P& H' O- p; ~7 u pLight->Diffuse.b *= 1.1f;
; ~/ _+ A+ R3 y0 o6 A' W! h // oˉè* ??à? e' g+ i$ a' R( D! ?5 A5 A( K
pLight->Specular.r = 2.0f;
9 J& b% H5 _1 `8 Q pLight->Specular.g = 2.0f;. m# Q9 Z8 ?+ A- @1 A1 X8 w6 Q
pLight->Specular.b = 2.0f;7 E" v$ n5 c- b- v8 d/ Y6 f; [6 a
// á?oˉ 7 J4 M: }6 |- j7 J$ I: `: r5 C
pLight->Ambient.r *= 1.0f;
: y. w" h& s0 d2 `1 J$ @$ G pLight->Ambient.g *= 1.0f;
h! J; z% Z7 {" j0 Y) f; V9 X pLight->Ambient.b *= 1.0f;
3 X- D! W* O$ [8 {#else //__YENV! G2 M* I" n& y! Y$ I
pLight->Diffuse.r *= 1.1f;
* |8 p4 h8 z! b+ z pLight->Diffuse.g *= 1.1f;9 T" L7 \& i$ r5 p
pLight->Diffuse.b *= 1.1f;
; F- M/ P1 ~/ ] // oˉè* ??à?
; ~ l4 Q3 m1 e P; ?5 i5 y pLight->Specular.r = 2.0f;
' a3 A7 Z6 g. B" s% a ^9 a. @ pLight->Specular.g = 2.0f;$ F* g8 Q% E) f, ]2 D. c7 x1 ?3 q
pLight->Specular.b = 2.0f;
0 }4 B t9 U' z1 r1 W# X; e6 f, J // á?oˉ " d3 M- f) E/ r6 K9 B+ A0 A$ A
pLight->Ambient.r *= 0.9f;
- q ]2 N g: \9 `" \9 x pLight->Ambient.g *= 0.9f;
& z1 ]" ?8 u+ k4 p @8 G0 g pLight->Ambient.b *= 0.9f;
+ _5 j5 L) u! v. I2 k5 [' x- v#endif //__YENV $ k. b/ D# e; [# }2 @
" U R" }" E9 F4 P memcpy( &m_light, pLight, sizeof( m_light ) );, W% c# ]) i, t% z5 U! S2 m! G
% L% B5 }$ v8 Z6 _/ o& F. i
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
5 w, H/ g4 V; }- p; w) r" L D3DXMATRIX matTemp;/ i D8 a+ {$ J' L7 ^8 E% q3 y
static const float CONS_VAL = 3.1415926f / 180.f;1 h1 H$ c7 R( A% l& E! [
0 B6 o+ q5 ^- w, W
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
5 |! w( X/ N c* g* E D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);- w& K& Y- u5 ]" r. Z! [
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
! q0 Z7 q* [* H" E% _( |. y pLight->Appear( m_pd3dDevice, TRUE );3 }: \6 |7 k& y6 U! G9 T) l4 g
) B" F& B/ Y" \! ^
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);4 D' w# G% V- R$ `/ x3 Q
// D3DXVec3Normalize(&(vecSun),&(vecSun));
+ P2 N" _, D0 Q* {+ H // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
, U# B4 K- P0 O5 g
9 W/ ?5 l) L' Q/ Y+ y0 g% D% M% J DWORD dwR, dwG, dwB;' N0 V& @) Z, I/ A
dwR = (DWORD)( pLight->Ambient.r * 255 );
/ t- ?7 Y8 M5 z7 |* ~ dwG = (DWORD)( pLight->Ambient.g * 255 );
+ D& X* y9 k9 A3 k dwB = (DWORD)( pLight->Ambient.b * 255 );9 t) y& f5 t( a: W v( p
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); - n- \* h0 ]7 w
}
- f: l2 x2 P5 v# g- O( S# m) c }1 r/ P9 V; q2 y" `" t
$ r, j. M4 N# v; }* Y/ `6 B
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );: L+ L- E. @# S! y
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) );
+ u( P7 }' Y+ R# t' g9 ^. Q ::SetLight( bLight );2 z* |2 l/ T2 A" s% S3 Y; l
4 |% A) g- R# u4 v3 c* ~# t
// ±ao? ?D?í???ó á¤à?
+ y" p9 Q. Z2 Z, k7 N m_pd3dDevice->SetMaterial( &m_baseMaterial );/ N1 K! @9 l0 ^* \5 P0 }& d
) X' E: J0 |8 u9 l B9 }#endif // not WORLDSERVER
! B% u. M) b8 M( P" V9 ^# N6 g: W" _}; E8 ] F# i f7 ~) p) H
并更换
7 f/ R h; X P6 V" cCode:) j& v' |1 h- b7 \( y
__FLYFF_INITPAGE_EXT" C' q- n/ ?8 ~
定义3 ~8 I) C5 D; M& |7 e; }
% F9 I- \7 x% x" g" g( T1 c: v
. F0 o9 U, L" g4 j% X0 }+ H) U w U) Z5 d% P/ b
z" i+ U" f" Z
现在终于删除我的狗屁加速...( L! V9 I o+ w: X
4 z' q+ C$ R# P5 Z/ ?/ b+ G! M$ b
6 O. r8 G0 Z& r
+ }3 b0 a9 X7 ^% y* L' d |
|