|
|
食品车:
) h- {+ B+ \5 L: m, d2 B. q尾翼:" |5 c3 F1 n% Q0 V7 w7 P' j! o# U
: @, ] B- \. N9 I1 `& ~% M代码:" d7 y( E) G$ h9 q4 f, N8 H" |
CWndAutoFood::CWndAutoFood()# S; r) ], B; w
{
3 `$ X# k, M" b7 W m_pItemElem = NULL;
; d( O. H- _/ m! H8 b m_pTexture = NULL;
5 W" \6 q7 P3 o/ K: N bStart = FALSE;
4 E! g+ N' |+ q, G5 [0 C( r}
8 w# c$ x$ `6 C1 |7 w2 B
% e! ^5 }+ y: S* C! `' t! VCWndAutoFood::~CWndAutoFood(), [7 H: {6 Y* q+ \ R3 s
{+ I2 |* b+ c4 @' t# W% d6 d, P, r+ ]
AfxMessageBox( "AutoFood ist gestorben " );
- J4 X& B( k0 k3 z# O: @9 Q}* o6 L: z6 T. { D) f: D
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType ), x0 R/ V. a5 `
{
! @/ ]6 s0 z9 |9 t return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
0 [, w3 T4 }% W' M5 r5 d* i- X}4 ~9 i' t) i4 c0 r
9 l5 [( J( A8 k7 n7 b
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
* p9 z1 c8 u) b: ?! @{. f/ Q( z- X+ X4 [/ r+ a( K
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );* R0 E4 E( c' T; A
CRect rect = pWndCtrl->rect;
v6 c% Q- ?$ a. K$ o* k if( rect && rect.PtInRect( point ) )
- G% ~7 z. E, [6 h+ T$ |4 | {
7 _( d, Y& K# r# F0 M CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );* v; i9 A0 i; O8 K7 C# z
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
2 T7 @1 u$ z3 m; K. e+ A5 Z {8 k' e+ Q, j# \: q; j( V
if( m_pItemElem )8 e7 m. x! r( R+ @1 ^
{
, z2 ^% J# h8 K$ v6 L- Q+ `% V" S m_pItemElem = NULL;7 y# o) r" f. ]8 J
}
9 A0 m. }* l1 @ m_pItemElem = pItemElem;+ |5 P3 z, V# Z4 K
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
8 q( C$ B4 o# c/ ^1 s }else{3 h% b* }' d4 e) F
SetForbid( TRUE );* D V8 Q7 n; g' J/ `
}6 |2 P0 c$ ]7 u6 W- v# c
}else{6 r8 m4 H) g5 ~' r3 g
SetForbid( TRUE );% P" _6 {+ l8 W! n5 h3 A: s
}+ i, h' F, Y: T% v" J2 H
return TRUE;
: L# M# {5 m/ V}
6 S4 F9 w2 P# ]' H' u4 W. ?! e
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
6 j! ]) h- [! [4 P0 Z8 |. Q, ]{: K4 k0 Z0 E! H; H7 M
switch( nID )
- W# d/ A6 C/ P& [ {
; ?0 `! \6 b, w" V case WIDC_BUTTON3:! m1 q! \6 L6 h! S# F9 U
{7 i; H; w5 G/ q' {# u
bStart = TRUE;; \$ U6 E4 ~7 e% V
break;+ v. d" I2 l% t. v" U9 [" X
}
; o9 T' ]" @4 @; ~: k7 m }" H: ~6 I case WIDC_BUTTON4:' `4 l" x' A1 K' Z# D) W
{
* X' \9 }# M# p bStart = FALSE;1 S4 _6 l, T; Z
break;9 V9 r7 k! W4 L/ c& h0 \# T
}' Q7 v7 F/ Y# @/ f! E o1 T8 k
}
5 i$ R( d! g$ E1 C* f& F3 D, |+ L return CWndNeuz::OnChildNotify( message, nID, pLResult );
8 q8 a, w8 P* b. Q9 j5 b8 }} . c! X* j7 _1 `6 t
void CWndAutoFood::OnDraw( C2DRender* p2DRender )" {+ u( W% x$ d# b
{2 q. I5 R K. S+ ~
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
* E Y, x w7 s if( bStart || !m_pItemElem )0 J! d U6 {7 ^
{
& L, L: \* {# J5 ~& ~ pBtn->EnableWindow( FALSE ); F. M% j$ r/ {4 W2 y
}else9 a5 R* c; h4 y
pBtn->EnableWindow( TRUE );4 D1 h; @) x" E' f' n8 h3 i0 c9 e
if( m_pTexture )
$ Y* i; @7 m2 V- P! M {
8 A& S U3 w7 a w( J LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );* F7 k4 Z0 |0 F: J( S: k+ \" N
if( wndCtrl && wndCtrl->rect )
9 N$ s; L/ J d& p9 _( z3 U5 X {
: d1 H- M/ J7 M m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
" r1 v4 ^6 N7 J D9 h, l- i }
$ r! S7 [$ h; {, c1 [ }
3 }3 I. D, K2 C}% X5 n$ H% m+ y3 z8 m5 J& n) p
* h4 B+ N7 _" f4 B
BOOL CWndAutoFood: rocess()9 J' c& w0 A, v4 l
{
- O! N I1 ~2 \% C9 t- [ if( bStart )
2 e( O- ^, @* R# ?, i {, @: W+ R9 \7 {5 w% r2 g5 q
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )5 m' N! Z6 O# B, R9 v
{
/ G$ w5 V/ q! Z+ {' m- ^+ s* 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() )
% B. K8 ]* i- N! t; I5 \! ^/ m g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );/ v7 k$ N' s7 B9 K U( V: k
}else{
. K7 T) s/ k ^+ } bStart = FALSE;/ n' \2 J: T1 a; C
m_pItemElem = NULL;
& G: H3 S# A6 l } v! V" x+ T- v2 @/ x1 \3 t6 _' H
}2 x9 n8 K, A/ F
return TRUE;8 z- |3 l& i! f+ o8 q) h
}# H+ ?& q, m7 X5 l. t: t& z
6 E) c, X! }+ ?7 W/ ^登录视频废话:
( e5 v- V) z2 |% i- o! M( G9 u尾翼:3 q. D& n- Z( n
6 v; O7 E2 _+ T- X7 T7 h( T% [ J1 F
代码:- c0 }' P% o0 z' |: z
+ w9 g0 F! O! X' }7 ~" A q6 a0 W
void CWorld::SetLight( BOOL bLight )9 w- T! `6 i/ Q' x2 N: }7 c8 S/ f
durch
; Z2 P9 q D% K+ w+ H; m+ |Code:% { x- s" _$ l9 L |
void CWorld::SetLight( BOOL bLight )
1 V/ L2 k3 ~- C{
2 T1 U ^2 s. S% J //ACE("SetLight %d \n", bLight);
. o/ I2 t. ^9 c# b, V8 c : ] Y I, L: {5 N! ~) E$ W3 j% r; M
#ifndef __WORLDSERVER ; P9 R3 v7 Q- s* j
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);- g: c" t( x6 Q! L! ~
CLight* pLight = NULL;
! c; @0 H, B# P0 W9 c; Y# f' e+ D9 x) F8 i0 `& M( t
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );/ t9 h8 Z0 V. H A+ [
% n4 |. Y4 {% _0 P pLight = GetLight( "direction" );% p8 H; y9 X& x
6 H/ q& a, D' W: m9 L: O; `2 J#if __VER >= 15 // __BS_CHANGING_ENVIR' k! G/ M* v5 p0 z/ [, t
if( g_pPlayer ){& k* c9 U% r1 q- C/ _1 y
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
9 ]% ]1 Y; W6 r$ l3 G6 i3 a) Y if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
! ]/ M Z' q) l8 b& x- x% S {) Y4 P# i6 G( z7 c" q
if( pLight )
0 v% i2 J- q9 I {
5 z7 {5 q$ p9 P- K2 ~ pLight->Ambient.r = pInfo->_fAmbient[ 0 ];- z$ k6 F [7 {
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];4 x( V1 c5 [+ O. V, Y+ }
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];! k- _" b6 V6 o. m
& M# O5 i1 h }% S, j. N pLight->Specular.r = 2.0f;
) ~& @* q9 @+ S5 N. I% |7 r pLight->Specular.g = 2.0f;
. H$ c( A* L# ^4 E9 g1 |3 v/ p0 N pLight->Specular.b = 2.0f;8 E' C# w$ i% Y+ b' O
# i5 h' v. r6 ?9 p1 `( y pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
2 D6 J& x8 N! @, k pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];9 d% o0 }: B4 w$ e9 v2 \4 d% i
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
6 g' l; m2 g, N6 v
( \1 H2 f7 w- J! Y HookUpdateLight( pLight ); ; d8 E a. M- g5 N$ L/ s. b1 o
3 }$ e* }5 q+ ^* h- v memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
3 o' Q6 X; `4 B( ?
2 v- u" C/ U% H pLight->Diffuse.r *= 1.2f;5 L) i9 ?' I, ~- u r0 Z7 `
pLight->Diffuse.g *= 1.2f;
$ `+ z& i2 p f& S pLight->Diffuse.b *= 1.2f;
1 L1 l0 s6 m% ^" o4 F' q3 q e6 ^9 y; C, r8 p# V. z
pLight->Ambient.r *= 0.8f;; q& }5 \+ f9 J0 x7 |
pLight->Ambient.g *= 0.8f;% p' `: C! Q% q& g! m
pLight->Ambient.b *= 0.8f;! C& }. _# t) w, ?: t( W! V
1 d0 n2 r \* ? R# f5 t
memcpy( &m_light, pLight, sizeof( m_light ) );
, ]4 W% K' j! }
/ M/ w, Q/ S1 m5 Z: I" B. e D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);' o( F [6 Y- V3 x8 T4 L
D3DXVec3Normalize(&(vecSun),&(vecSun));
7 r: [2 F K2 q* O" N2 w7 z pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
2 f+ G. ~9 K1 K pLight->Appear( m_pd3dDevice, TRUE ); s3 R. n$ G; C n
* t, D- I; Z) o0 ?7 ]) U, K DWORD dwR, dwG, dwB;# a6 x+ i1 }! f. F* v0 f
dwR = (DWORD)( pLight->Ambient.r * 255 );: v: \% _* C: m$ w
dwG = (DWORD)( pLight->Ambient.g * 255 );
2 z7 p5 }+ C& `/ H" z dwB = (DWORD)( pLight->Ambient.b * 255 );6 o0 k& G4 E+ T2 X& r/ g
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& ]4 L/ W5 F0 H c U3 S/ { }; M. e% f4 J! l) `( w7 B' i
}
6 M e! v3 e' R" f9 o }
1 a5 D) f' Q/ j: n# E% x9 q else
" m3 S/ ?5 Z5 K! X" t#endif
; P0 c6 H" y' a/ n9 Z9 Q* D; O5 ?1 ]+ g5 c4 u/ _* n
if( m_bIsIndoor )" I) m4 E- q: K/ c
{- t) p" ]0 o9 c/ O/ s' Z
if( pLight )
* h1 L* o; O ^$ V; T) G {
- O. ~$ k+ `4 a // à??μ oˉè* # n4 N4 Z' K& m# B2 [, ]
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;) B8 C# n! O5 ~6 A' w
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;: M' E) A, j# D& y$ i+ O4 }
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;* V! _/ ^+ Q3 Q8 w
$ r6 H( @' Y2 A' r
// oˉè* ??à?
! O- G2 K" v2 e& ]1 R pLight->Specular.r = 1.0f;
3 C9 y! i, c Z; j2 E$ R! t pLight->Specular.g = 1.0f;
# I4 `9 @$ W& w7 F7 L) s; t4 ~ pLight->Specular.b = 1.0f;
6 w. j* T# X( [) h, T! a# G // àü?? oˉè* # N: C7 B" Q- X- }6 K+ n
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
8 \1 S$ t2 v3 r6 r4 d% t6 ^+ s- P pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;3 i, ?8 y; Z" \
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
. P y: O! K. j e
7 h; J; x; O/ y% ` if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
" V" s; Z- y F! ~4 q# ~" m$ o4 a {( h, }! c. D( \, f& l* V
pLight->Diffuse.r *= 0.6f;: I" |8 p% c' k8 d& Z' U3 r: m
pLight->Diffuse.g *= 0.6f;9 Y7 Q6 c. e( d! ?9 P+ r
pLight->Diffuse.b *= 0.6f;
( F4 ~4 C! |6 n+ E8 h pLight->Ambient.r *= 0.7f;0 X8 H' O4 }& a
pLight->Ambient.g *= 0.7f;
. m: U1 R" E/ p3 w pLight->Ambient.b *= 0.7f;
; G( p E" X; } }
9 D8 L2 u& h+ X2 A# f6 ]: S" j" g& ]( L% u2 X
#if __VER >= 15 // __BS_CHANGING_ENVIR6 W# g" O# V$ O t2 V- S/ D) D
if( g_pPlayer )
3 r5 p! o8 D) A9 B7 w HookUpdateLight( pLight );: U7 ~4 Y1 L5 }
#endif, i6 u+ Y3 J9 L4 ~' p. X7 n+ F
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
0 S& @, a7 e) t6 Q
* C; }/ h: K( S: ` pLight->Diffuse.r += 0.1f;
: ~8 g( C# {) k. j. X pLight->Diffuse.g += 0.1f;. z$ G$ _) J9 ~4 I' ^1 b
pLight->Diffuse.b += 0.1f;* Z' n- [; a2 S4 ?+ H& y
// oˉè* ??à? 0 |( Z! q6 q& o, Y7 ?+ X( c, p
pLight->Specular.r = 2.0f;- l% t& i9 M2 L+ v! w! J
pLight->Specular.g = 2.0f;
( t: d6 O9 E& B9 { pLight->Specular.b = 2.0f;
5 }$ k" ?; K4 H // á?oˉ
( w3 F# J0 J E9 v9 _9 Y. a pLight->Ambient.r *= 0.9f;
. J) X* l1 R6 ~" r5 H. S# ` pLight->Ambient.g *= 0.9f;
4 ?, q% E& g$ W pLight->Ambient.b *= 0.9f;) R9 M1 \- y! h3 q+ j
& h9 r9 j7 {( S4 f7 n; v memcpy( &m_light, pLight, sizeof( m_light ) );$ @- Y* B: X3 ]
- J" P6 N$ j) x
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
6 {. H+ D) Y" a! H" d pLight->Appear( m_pd3dDevice, TRUE );$ Y1 g, C& P* h5 B
6 f+ l- K- d, o, Y6 q; n0 r k DWORD dwR, dwG, dwB;: |& J$ o7 ]" ?0 A7 [+ E* W. S
dwR = (DWORD)( pLight->Ambient.r * 255 );1 T1 F( L; W, S+ Q1 c
dwG = (DWORD)( pLight->Ambient.g * 255 );
; M9 k; i8 x2 u! ]9 G dwB = (DWORD)( pLight->Ambient.b * 255 );
9 B0 @; T+ s4 Y5 Q8 r dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
/ ]3 V4 Z: g# W7 E }* ], A- X# ^% N8 V+ q
}( a9 y$ |" X" ?
else
4 f) h* M( Z# R, B2 o {
! F' B; {5 h0 o# x! M- }& Z; j! j if( pLight )) f2 @* ]! _5 S4 ~/ j, S
{$ p! k+ X# y% J. v7 k( v' ?' J) r
" C3 D! i' {) d5 [! F! i& w/ g int nHour = 8, nMin = 0;
4 D1 ^- U7 f( v9 s; ~7 m #ifdef __CLIENT6 l Y* V$ L$ \3 [% s" K% ^
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. + w( {" c! K5 G/ R! l
nHour = g_GameTimer.m_nHour;! u) n H( R' W& ?
nMin = g_GameTimer.m_nMin ;
2 S0 S# C) h/ L: E, R) q #else
. C) F8 D; c- x. ]2 _- a" T // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
) e2 i! M' `5 a$ k' i if( m_nLightType == 1 )
! Z! @ t' s0 X S3 i9 M6 v7 ] nHour = m_nLightHour;
4 [ i* \; F% B( C #endif
) S' e% `. N% k' m- Z2 S7 l nHour--;4 i2 e- j( P ~
if( nHour < 0 ) nHour = 0;
- S2 D- q' q( q, L9 C8 d; a) W if( nHour > 23 ) nHour = 23;, U9 p' Z$ I" g I5 l% n
9 _% c+ B) K$ @- q
//if( m_bFixedHour )
9 R0 ]4 H# b# S9 } // nHour = m_nFixedHour, nMin = 0;; P. g% i1 ~7 M! R1 \0 f
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
2 ~9 t( u/ B2 L, J! Z( | LIGHTCOLOR lightColor = m_k24Light[ nHour ];+ `3 a0 G% q* q% r- R' H' F: o
( T- o8 ]* E/ s( i K5 ]/ t
//m_lightColor = lightColorPrv;
" U. P8 B: i$ w D9 f) K. b2 q lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60; Z: M0 [' f3 ]: q' {$ j! w
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
! Q0 L" z" m/ E7 E! g7 [8 e lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
* D4 J3 U* j1 @) r lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
: ~* V5 K8 n6 p8 P lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
- r0 B. D `8 ]' B6 ?3 Q lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;* z9 F4 u( ` q/ P
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
, u3 _/ T3 ~* m
3 l/ O0 }; f U8 C% \ // à??μ oˉè* / ^* _( P. X0 c1 g& {
pLight->Diffuse.r = lightColorPrv.r1;9 Z6 I" ^5 u Q, w! {5 {" g
pLight->Diffuse.g = lightColorPrv.g1;- z7 _6 H! @, P( V# s5 h1 N) ]! u# C" C0 a
pLight->Diffuse.b = lightColorPrv.b1;
y5 ~3 i# ?; A6 p- u9 j // oˉè* ??à? 1 V3 Y2 u" x1 t
pLight->Specular.r = 1.0f;
+ t+ R ]. I1 |1 b pLight->Specular.g = 1.0f;
1 K) L8 Y7 G) j4 h" G9 S9 n( I# n pLight->Specular.b = 1.0f;
& V$ u+ W! |! ]) M* _2 J7 I3 T; }* ^ // àü?? oˉè*
, U' z b* G& O, t pLight->Ambient.r = lightColorPrv.r2;
/ P6 M( d; f3 X! @ pLight->Ambient.g = lightColorPrv.g2;, n+ \2 C, V0 ?& s0 Q
pLight->Ambient.b = lightColorPrv.b2;
9 `8 r6 O8 j$ r. O/ p
6 S9 O3 m. r7 J; @ if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
/ B5 q# n+ }! C* C- v; N+ W, c {
+ E4 e8 K; M H; m# K0 v0 ?. ^ pLight->Diffuse.r *= 0.6f;
1 l3 o5 y- u6 C* t6 I' |7 d, Q; I pLight->Diffuse.g *= 0.6f;& A* f8 L. f) X1 J7 Q2 V
pLight->Diffuse.b *= 0.6f;1 V- s( _5 Z/ s8 l& w& e
pLight->Ambient.r *= 0.7f;& f5 B$ Q9 d# q! F' l( L& B
pLight->Ambient.g *= 0.7f;! x$ q+ `' ^ z$ @
pLight->Ambient.b *= 0.7f;3 Z$ R: J* N6 G4 W
}
' A' w6 X$ H. K9 [
/ e' A( j& Q1 ~$ U7 T#if __VER >= 15 // __BS_CHANGING_ENVIR/ L p O; G9 G: S5 e: v i
if( g_pPlayer )% D" A$ }/ b, i1 j' J
HookUpdateLight( pLight ); 2 I( R2 ~# F" z5 f
#endif
7 b% P' `; F2 B: Q( v1 B5 l, z& i memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );+ x4 n0 J3 d- B5 H2 k y: o! P
' B$ F4 x: {# u2 @+ c; \5 `
#ifdef __YENV
0 } Q( `- l6 X: ?8 ~3 F pLight->Diffuse.r *= 1.1f;0 l d/ S9 E0 U1 O. v, F
pLight->Diffuse.g *= 1.1f;, N7 S/ i; t( p( ]( M! h' z( Z# O
pLight->Diffuse.b *= 1.1f;
3 L8 P3 i" p" ?+ J) v1 W // oˉè* ??à? U5 L+ y* G# V- e
pLight->Specular.r = 2.0f;
( B, o9 M9 p; y pLight->Specular.g = 2.0f;8 p5 u6 z% m# S# X: N1 M
pLight->Specular.b = 2.0f;. V7 G' }/ R& U$ ^* a, Z2 F1 N
// á?oˉ $ Z3 f; b$ P6 ?$ S, z3 U
pLight->Ambient.r *= 1.0f;& x2 K: q& }% V4 I9 p9 p
pLight->Ambient.g *= 1.0f;
" H6 N: ~% A+ j c3 V pLight->Ambient.b *= 1.0f;9 g* d! |+ N1 ?. P" u
#else //__YENV
1 g1 h: h4 K/ a T+ l* Q; N pLight->Diffuse.r *= 1.1f;. d( y( C1 n5 n6 X
pLight->Diffuse.g *= 1.1f;8 k l4 ?: {$ y( _/ V/ h
pLight->Diffuse.b *= 1.1f;7 d" R+ g8 ]. U8 w: b7 O' }+ b; j
// oˉè* ??à?
: d0 i1 y- f9 L9 L O pLight->Specular.r = 2.0f;
$ B2 _1 T/ p+ S7 @" l pLight->Specular.g = 2.0f;% v$ N! y4 K/ ~: k; ?
pLight->Specular.b = 2.0f;
9 N% G3 u& X% F // á?oˉ # ^& j" h5 Y, t) N7 \ a% E
pLight->Ambient.r *= 0.9f;) ~# A1 {/ b6 S/ H
pLight->Ambient.g *= 0.9f;
7 v; S7 n: p8 K5 l0 A# R1 v' t pLight->Ambient.b *= 0.9f;
6 e7 @/ E) n5 }/ Z0 U& P/ i& [#endif //__YENV 8 p# Z$ C5 y* [% R( c( w3 x: N! [
( R; d8 o' F$ f5 ? memcpy( &m_light, pLight, sizeof( m_light ) );
# k: P" X; z) X/ Z* U8 R, R0 B( U" x. n ) Y8 v" I& a+ S8 ]
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);; T- U( N+ I$ g8 m+ o( T* b+ u
D3DXMATRIX matTemp;
5 Y; t' O! G1 P3 `3 Z static const float CONS_VAL = 3.1415926f / 180.f;
4 J! T1 F4 M2 G$ E% o
9 Q/ t Y- t& p+ o/ P. n D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);8 Q) |% Q) b" |" z& ?: g) ~
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);, x" u6 f! Z5 `- c# u
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
% ^( N) b. p$ f0 b, { ?! {7 t1 Q pLight->Appear( m_pd3dDevice, TRUE );$ V. v i& T% U5 v$ J0 l9 G" V
: d0 k$ K1 I; D- M
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
; T' |" O; G# s R6 [: y3 V* x // D3DXVec3Normalize(&(vecSun),&(vecSun));- f. y" _) T* r1 h% d
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
" m+ T# c* y7 j5 d7 M
' A6 h% Z: K) w6 e1 O+ ] DWORD dwR, dwG, dwB;! K) [ x8 E5 P7 ], U" I$ C
dwR = (DWORD)( pLight->Ambient.r * 255 );- V0 t) a( u2 e0 a3 ^. O
dwG = (DWORD)( pLight->Ambient.g * 255 );
# P% o8 I: I& g2 T& r dwB = (DWORD)( pLight->Ambient.b * 255 );: ]0 i' c1 `. q- _
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); , }* X) w2 D1 j' d# r
}
4 {& v2 o" A0 ~! O% u) A0 D }) b- n$ Z5 c1 M$ i! }) W8 D8 I
8 L8 c" S- c' }7 a' @
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );2 K- r$ {, [1 a" n, G ?
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) );9 f4 Z- J5 i% l% `6 P+ S
::SetLight( bLight );
7 O$ r5 n) j" p5 d1 q+ j
. X9 l* H- ^* a# ^ // ±ao? ?D?í???ó á¤à? * g2 D/ k6 n2 T
m_pd3dDevice->SetMaterial( &m_baseMaterial );3 O5 v' `- l9 C. h( N( u) w# W
2 E C: t7 w8 B& @, G#endif // not WORLDSERVER
! w6 g4 |* \+ i& B: d H4 d}
7 O; J/ ^1 X2 K$ S) E并更换) H9 B' n+ W+ d
Code:) U* F9 M3 R5 q$ t
__FLYFF_INITPAGE_EXT
! a h8 h8 ~; e$ x5 s! Q0 [定义
+ U+ X5 V$ p: f* [* G% E& t
3 o# L1 F: V! \# S8 z% q" p9 P; d4 `2 r# \" J# g- [" w
8 F: d7 b* Y3 X3 S: s) t& g7 t4 k' n9 z- \- ]
现在终于删除我的狗屁加速...
# M. L% S2 d, |9 R" E! ~' I- g
7 K# V4 ^! C/ p, \8 g/ M" |3 G6 N6 ]) p: S6 A
6 O& X! t0 r! @1 b `! e; V |
|