|
|
食品车:& n; e, D$ i) Y% L/ }
尾翼:
+ W7 C2 u* h( K9 p- R. P
) r0 V5 p: O/ I' x代码:
7 u( s5 t! W' Q" jCWndAutoFood::CWndAutoFood()2 a4 n8 [- O% _9 T" F
{
% v. `9 f! M* W) c/ z& X% l m_pItemElem = NULL;
# R* O6 d8 ?' t" N! ]) R m_pTexture = NULL;
8 C( k8 ^# {5 I" q& x R bStart = FALSE;
+ r3 O5 Z7 F# z3 p- w% P}8 T+ R0 P) L0 B9 b- l% u
, Z% E& R6 y% \: g P/ U' S0 E# B
CWndAutoFood::~CWndAutoFood()
, g, n# ?1 |5 x2 d; O1 E- U# ?) ~{* Q; ] C: e' T4 i
AfxMessageBox( "AutoFood ist gestorben " );
, x; b' E# q: A" |( a9 f9 c}
5 ~8 S) d8 I. fBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )% g6 t2 |( Y, Z& h. M! ]" _
{
a. N2 r- k5 Z return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
0 C" N5 ^* O; h- o k4 V}& c7 \) z" A/ ~* P2 Q0 {; q1 \
* o: [6 R1 |/ B! e( T
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
) y* H* A8 ^3 F, F{$ r5 }2 x: J& d }& H% O5 H
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );( ?; q3 h: R) [) U& i: T
CRect rect = pWndCtrl->rect;
/ B* T& a4 m# f# b: z. Y/ c if( rect && rect.PtInRect( point ) )) Q: {5 t5 n$ x1 t/ n
{* Y# q. R# C( K* U0 B0 b
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );8 h2 r7 \" T7 A8 g! B. v+ I: s
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )% }6 f$ b/ g' Z# f1 |
{- x% `4 Z' O& V3 a- w
if( m_pItemElem )
) Z L7 n4 P$ ^$ X& R {3 J3 b: z: k% y! R
m_pItemElem = NULL;
* D# v( M: z, v5 `9 z, @* D3 [ }) b6 q: r, ?6 _% o6 J" s; a
m_pItemElem = pItemElem;
+ [4 t; `2 d2 K m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );7 @/ N$ w3 R2 L, Q# J
}else{- \7 E$ A9 E5 z% I
SetForbid( TRUE );
% f1 K- t; }- c0 x }
, C o' Q6 F- O! y; N- p }else{: m5 K; A% w# M/ `( @& f
SetForbid( TRUE );
- f. ^' A7 j O* D" U; x }
5 K- W% h- Y# B9 ~1 {4 t& s return TRUE;- d/ G3 J; n3 I& O0 r( I
}/ `$ M& q5 c( l5 m7 r# h
6 J/ v5 ~! s4 i1 TBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )) z0 T" r6 i3 W! a/ ^$ o* k
{
" E6 L2 M4 ]) T6 Y7 K switch( nID )3 Q$ x) J+ ^5 l( A) E$ v3 C
{$ ^2 u4 u; j$ ?' [
case WIDC_BUTTON3:
; t7 J E# E9 y2 n8 e8 ~5 l. A {- P8 ]0 r+ n2 r# f4 A
bStart = TRUE;/ |' r$ X! ]5 }/ `. S
break;
) ?7 F- ?, P5 X9 m& z4 k }6 n* L( r1 a7 S# z; s0 l. Z& S1 u
case WIDC_BUTTON4:# q A6 e9 Q* L& F
{; V1 v0 a$ B- W9 }- @7 ^$ N
bStart = FALSE;
. R8 K1 N5 n1 X m1 t) u break;5 a1 ] G9 D( c. ]) X
}
% @& d- v5 {5 L+ n1 R }
# B1 g7 P1 V/ h2 \8 r return CWndNeuz::OnChildNotify( message, nID, pLResult );
/ v# F$ j/ q- s* x/ n} # b2 m9 @2 ?7 k1 h% Q- N& q2 z
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
; m- q- N9 `6 I9 P! p0 U{& }8 y$ _: H3 Q: N' C% A: {
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );* N0 G3 N1 x/ u- B
if( bStart || !m_pItemElem )( h4 q9 V4 [; a' I1 L d4 s" ~
{0 O9 c8 p( e, K3 _3 F% s1 \1 f
pBtn->EnableWindow( FALSE );2 x8 x- m5 Q! R( E' }$ `
}else
6 J: l9 h! H, A1 `' H2 g5 ? pBtn->EnableWindow( TRUE );0 W! D9 O, ~9 |7 v3 O& \& A, x
if( m_pTexture )
6 N. m' \# Z: |6 b: ~0 o4 V# X# }# \ {
v- w! N$ r( k5 h! q7 x LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );. y! P& _: c: Y$ X; f, x- X3 h
if( wndCtrl && wndCtrl->rect )
" V( {- c( ]% \& d$ N; P; [ {, A. W! R& l3 w! f j
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
6 T4 k0 k4 ~% b2 P3 |* I4 a K' I }: D9 F/ N3 F( L" l- E" L6 ?) X4 Y
}
' D h; {2 C3 p; ]}) ~( B2 y! c! `, R0 Y& y
5 r% u4 p; n6 ~1 hBOOL CWndAutoFood: rocess()! j, ~! j1 P4 u5 I. M
{; p% i+ P4 M+ G/ H
if( bStart ); p( \7 o( L& K" d
{
/ V4 W: F1 k- s& Y/ [' u/ t if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )* e. |4 t4 F' r8 D: V1 `/ x' ` i
{
* E1 j$ j7 l$ Q s+ ^0 K; f if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )* O5 x: B" l/ P8 y, }( Z4 h( Y
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );& N; L+ D! t" H7 J
}else{
6 r, v2 f" D3 z% W& C. j& f0 R bStart = FALSE;
- S. j% Z$ i/ z* P m_pItemElem = NULL;" h. D* y! K) I' V
}- o& U# `% B* J9 c
}8 Q3 p0 j/ s/ c" y
return TRUE;
6 T9 Z! Y2 h& ~! ^; X}
& [, F1 l$ H2 O1 c& V4 }$ l' V2 h
) i; P4 H' L: n6 Z% ~登录视频废话:; ?0 Z1 N# x# ~, t+ y( J
尾翼:& v- _- L/ i! C) p
& X) r; J& z& p: N+ T5 T5 u( g
代码:( e, A$ m' }+ j+ Q% }" p
8 B/ k- d% L# a1 A5 n) Mvoid CWorld::SetLight( BOOL bLight )
& m! c4 p7 c& I* B$ jdurch( U/ B4 P- z4 \- N( I7 }
Code:+ v/ p8 x. a7 ?+ D' T
void CWorld::SetLight( BOOL bLight )+ E! H1 W- [, P. Z+ a% { i" D
{
0 u' V4 \) I u) |) U% F' r' c //ACE("SetLight %d \n", bLight);
6 G* N$ O5 I4 M: y& B$ s+ Y # B3 G2 C: l% {
#ifndef __WORLDSERVER
% J- m2 v! Y4 \& U* q" ~ DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);5 q% s' P+ k6 k6 P6 t. t
CLight* pLight = NULL;" R" b, K! D% m3 l8 }+ f
- x+ i9 X$ F, ] N6 D! s D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );3 c8 A7 D0 N0 v
3 X8 t* r* O; \" w, F k
pLight = GetLight( "direction" );* p3 I' s2 Z' E
. s' t' o" M( P" s0 m( v
#if __VER >= 15 // __BS_CHANGING_ENVIR- A; u }6 ~& J
if( g_pPlayer ){, u! k1 X" _, q, ? @
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
% B( p5 p3 [" P% B, f. d- n# P3 |* S if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
9 I4 |, c) V: N1 u5 l' C {3 a3 Y: a& h! b+ ]* l7 Z/ H7 j1 z
if( pLight )
1 C1 g7 j$ q3 ^7 b6 R! p+ H {5 C( [* n' _9 N6 H3 V: q
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
/ y" t) r( j* w6 T5 I' j- i pLight->Ambient.g = pInfo->_fAmbient[ 1 ]; n# Z6 H0 _" c' a, ]9 o
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
" r8 C" N" N( t4 j( H6 ~
1 @9 K+ G6 h, l pLight->Specular.r = 2.0f;
. b) X" m8 V" j pLight->Specular.g = 2.0f;9 k/ E: q6 }5 L g6 N! c
pLight->Specular.b = 2.0f;
! I+ Y4 [) Z* T. w; N. s6 f / }0 \9 k% O. n6 _0 Y0 b
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
; q$ d1 d% u; w( |. H# R/ E% T; B pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
2 B* Z2 g) S n1 h: E2 H pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
7 g% X. j- p9 M* e! i) b$ C
6 \5 \/ p9 Z# d/ Q/ Y HookUpdateLight( pLight ); - a. ~7 g3 s; R+ {, X+ N
! I% e) [) ?! h
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );- [0 Y/ F0 g5 |; f
, o( K6 T& ~: @4 P0 Y pLight->Diffuse.r *= 1.2f;$ k# k9 z" }& H2 v$ i- K
pLight->Diffuse.g *= 1.2f;
8 c c: ^9 h6 _. W1 G! ` pLight->Diffuse.b *= 1.2f;+ `) Z0 P5 a8 v+ H! Y" E
- b3 J* M& Y1 A; S$ `* o
pLight->Ambient.r *= 0.8f;
+ h9 n. x7 \4 t7 _0 ] pLight->Ambient.g *= 0.8f;
% a/ ?6 R/ E. {' Y6 m pLight->Ambient.b *= 0.8f;
; i" K6 N# h. ?3 l' j9 T
" K" S% _; D0 e# I5 W( p memcpy( &m_light, pLight, sizeof( m_light ) );
6 A( D, W k* g H& U. ~% D8 F& l( d6 x5 s* a
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);; K- X# H% m# N8 E
D3DXVec3Normalize(&(vecSun),&(vecSun));! S2 s1 J0 L' S6 k6 I0 d
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
4 o) d- R5 c( l pLight->Appear( m_pd3dDevice, TRUE );5 s7 F( @, S6 {0 k- j
6 w3 s( x- I' T' [4 v
DWORD dwR, dwG, dwB;8 w3 X2 N# n: I$ Q
dwR = (DWORD)( pLight->Ambient.r * 255 );( c! ]' l5 d0 s- j
dwG = (DWORD)( pLight->Ambient.g * 255 );
7 \# n3 F. _- {, O& J5 P6 L dwB = (DWORD)( pLight->Ambient.b * 255 );. z: Q7 f" e# ?3 n+ w7 q, \
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: Y& E9 z$ E9 g% E3 ` }! M* g8 E+ P7 g& P
}' e" `7 {* _8 C1 T8 @8 \
}
, |% N$ `: c3 G& R# S5 J else
/ F8 r+ b* w# Q3 D$ y' u9 y#endif
: _0 U5 G- \. P% K% l. _7 z& X- j- y1 G
if( m_bIsIndoor )3 K/ [: L2 C0 h; y! e" |. {5 X
{ h q- D7 y, V$ G9 D0 q3 x
if( pLight )0 \& Q# n0 s% D9 u
{ & C1 J8 Y) H' r' V+ a( b7 n
// à??μ oˉè*
: Z1 Q' ~4 {: T( y, @, p2 K pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;. K' B, p a6 ~9 o' N
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
8 O, | o( U7 }1 C* `) I8 L pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;" M# \2 ^/ r- ]. @" p& t- W
& t# J, D8 \/ n: i+ h, K% ]# [
// oˉè* ??à? , k$ y! f4 P0 W% E. y2 ]: C' K; f
pLight->Specular.r = 1.0f;
% |. c4 [* E/ M* d7 G" P pLight->Specular.g = 1.0f;
& d! t& x+ J2 H1 Q pLight->Specular.b = 1.0f;! h% j$ g" k. [" R0 q# C
// àü?? oˉè* 3 F4 @0 M7 A/ Q/ t4 B
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
$ g& B5 P% {- D8 G) [ pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;5 E1 j) O A, Z. V7 q; h3 \
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
# m, u y8 _5 N( `
+ K3 L4 X6 W8 u9 E9 ` if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
' b: k# X/ H4 ]) n# g {
+ H' N" m8 Y! I: m0 ` pLight->Diffuse.r *= 0.6f;9 h) h2 g8 b, L+ E! P G
pLight->Diffuse.g *= 0.6f;
8 Z, i e9 m/ n9 T0 A pLight->Diffuse.b *= 0.6f;
$ ]. M7 r" s% s R) \% p* F1 |' H pLight->Ambient.r *= 0.7f;
! V: O! v+ v# x( t pLight->Ambient.g *= 0.7f;8 V7 X0 q) L7 h$ C$ P2 B! R
pLight->Ambient.b *= 0.7f;6 K/ M4 e3 l& K; J
}
+ a6 e# m. ^2 F0 B; B
1 d+ l: A* M+ _, a#if __VER >= 15 // __BS_CHANGING_ENVIR
: K8 ^& T4 y6 c6 F4 u$ _% s) v if( g_pPlayer )
: U; ]" t) ~2 [2 ~ HookUpdateLight( pLight );: ^: q. w. i& ]' p2 |
#endif
+ F* @- |( t& J" {6 E memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
0 y$ d4 h0 b! N' U( l! v' n
5 J' A$ c0 e# v- U pLight->Diffuse.r += 0.1f;
1 |! C9 m7 d2 Z6 k pLight->Diffuse.g += 0.1f;
3 E! a& K7 T b0 O" E) Y pLight->Diffuse.b += 0.1f;
& R: L5 X3 [; J% ]4 o. I) J // oˉè* ??à? % r- N* K, D9 Z* H
pLight->Specular.r = 2.0f;
& `6 m# n0 K/ R, e pLight->Specular.g = 2.0f;
D! v. A7 E5 V4 ~- S2 L2 k pLight->Specular.b = 2.0f;5 [, w0 u$ y: ?; K3 E3 \6 ~
// á?oˉ % Z( h/ C. c9 T: a
pLight->Ambient.r *= 0.9f;
5 Z+ r5 \- z7 j% d pLight->Ambient.g *= 0.9f;/ Z/ `" |- S9 ~ b
pLight->Ambient.b *= 0.9f;
$ A# t1 c( O0 E# C7 a( V% w, r
, A3 l7 `% C2 V! Y memcpy( &m_light, pLight, sizeof( m_light ) );
4 k @( @$ [. D( y( S0 d+ @
, h$ H) `$ I% |% u( g5 Z pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
5 |* b# F7 \/ D- g& n" [# N5 g P pLight->Appear( m_pd3dDevice, TRUE );
0 M9 j. M+ ?' u' @ 1 w4 w, R& [. i9 p, E
DWORD dwR, dwG, dwB;
2 [1 R; L- i) q N: h; m dwR = (DWORD)( pLight->Ambient.r * 255 );
# R% q5 U2 K1 q, y; U/ d% S2 w0 R dwG = (DWORD)( pLight->Ambient.g * 255 );
+ ]" C, n* @9 b9 v dwB = (DWORD)( pLight->Ambient.b * 255 ); i8 A+ w/ e( m* a+ B' X
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );) n* }! D# z( P* z" {
}! A2 ~3 b {& E) H+ X
}
, G( Z" a6 ^- f% \2 S; J0 J4 J else# s# C) g P! e n* Y$ K. U
{! ~: F4 k. o7 D, R& U
if( pLight )+ }5 Y1 S0 C* |6 f/ G2 b4 Y0 g
{, C' k c" x* B4 @$ F
! U# `; l0 A& L- j0 s
int nHour = 8, nMin = 0;
6 z4 ?4 E2 E3 m #ifdef __CLIENT6 q: f, r5 r9 R. U
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
: d7 b9 |+ u1 h4 y7 S; h, ^) \' F nHour = g_GameTimer.m_nHour;2 R' H, ?- @7 O; G6 p. P
nMin = g_GameTimer.m_nMin ;
. p8 v! ^! B9 u2 p/ ~$ ?7 X$ C #else
! F+ _- `$ ]' | // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.; j. c- W8 d; h8 m6 e: m# S% V: s
if( m_nLightType == 1 ); T! K$ H& ]' C, }
nHour = m_nLightHour;3 n4 n* d: S+ h- h. ?- r+ H
#endif" S7 V5 Z5 p" c5 _9 I# l
nHour--; E8 T: o% [: D, Z
if( nHour < 0 ) nHour = 0;5 {. m$ Q: T7 l Z7 T# S
if( nHour > 23 ) nHour = 23;- E( K. q: v8 }( t+ ]8 w
7 P( Z8 M, j/ F5 t/ w; I) o //if( m_bFixedHour )7 V' D0 |7 T& v; Q, O+ Z1 T6 t
// nHour = m_nFixedHour, nMin = 0;
& p, J# W6 F& o LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
; b; t4 O4 N7 ^ LIGHTCOLOR lightColor = m_k24Light[ nHour ];
( j/ E0 U5 g% O7 s; {) j0 x: ? ?) B% r7 |
//m_lightColor = lightColorPrv;; I) X3 B' S. [1 ^ a1 {
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60; J2 ^4 j- Z) x1 h/ w; g8 Y
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;2 E5 l; b. n# @0 e" x* j
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
8 w# l" _2 |/ k. d, d6 Y. Q lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
$ M. L, ^8 T7 ?7 ?0 a- X/ J lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
# C; T% K, L6 r4 K lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
9 w" d5 `& i( W* L# _ // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)3 i2 n9 K& P; v/ w
/ g' S6 E% i& o: r$ \& Y2 Y5 Y
// à??μ oˉè* 7 E+ O& Y& t2 D$ ?9 C
pLight->Diffuse.r = lightColorPrv.r1;
/ k1 s4 [# p; O1 ^! `6 y' m; {: H pLight->Diffuse.g = lightColorPrv.g1;" n+ T1 N+ Y/ K+ O# P' N) @
pLight->Diffuse.b = lightColorPrv.b1;
! h. X* T- V# \% K: H // oˉè* ??à? & \5 n M2 r$ r: t9 K
pLight->Specular.r = 1.0f;
# M1 w, A0 N+ Q/ _. f- Y pLight->Specular.g = 1.0f;
5 k4 ^; c3 \( u3 T: G) S/ M pLight->Specular.b = 1.0f;& [) }2 B. z- X
// àü?? oˉè* 1 A) S8 l, d6 X U" w0 D
pLight->Ambient.r = lightColorPrv.r2;
b" F3 l' T' X0 t9 X pLight->Ambient.g = lightColorPrv.g2;- w2 f [& t6 p% b3 |1 Y
pLight->Ambient.b = lightColorPrv.b2;
2 O9 w- ?9 Y+ T$ n2 X" [0 w) u( [1 J/ b; `2 ^' _; o
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
9 l% Y# F1 V) f# ^ {
' c8 a0 u9 c' m pLight->Diffuse.r *= 0.6f;
: N0 V D& \" C9 m( ]6 R. S/ J pLight->Diffuse.g *= 0.6f;
! ~& s0 Y4 \3 [6 s pLight->Diffuse.b *= 0.6f;
, w, e/ ^: H8 ~ pLight->Ambient.r *= 0.7f;0 ]7 x9 p A& D, _
pLight->Ambient.g *= 0.7f;
/ U1 I' |6 t9 m: ]. h8 t pLight->Ambient.b *= 0.7f;
/ f4 f7 i4 _; M2 b5 n Z: o( q }
% b5 ^" V! _1 N( `+ g) {; D / b$ y: j% j9 X1 _" Y. S( V! B6 y7 s
#if __VER >= 15 // __BS_CHANGING_ENVIR
. x5 l# ?' K% `5 m7 r. Q# C* o if( g_pPlayer )
% H p$ q2 R8 }. t q HookUpdateLight( pLight ); ; z4 a- x2 \4 p' {1 ~
#endif
) ~4 t' e1 S9 R5 ~" [ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; y1 E6 a& N$ u; I5 d" A' ]5 l
3 ~. j% N/ H' Q#ifdef __YENV1 p5 e* e7 Z0 E$ q. F. M: i
pLight->Diffuse.r *= 1.1f;- [; W4 J4 r6 l4 R& T- Y
pLight->Diffuse.g *= 1.1f;$ B" }8 c; D6 t
pLight->Diffuse.b *= 1.1f;
: i, L8 A! |( L // oˉè* ??à? / s1 F. m* `8 v
pLight->Specular.r = 2.0f;
; ^6 z% ?6 r) z0 G( y pLight->Specular.g = 2.0f;
7 h+ y% p: l4 w% ? pLight->Specular.b = 2.0f;
6 }6 C5 X% {2 m; ` // á?oˉ
4 N6 T2 x0 _ m9 g* w) \) ` pLight->Ambient.r *= 1.0f;7 \- I9 p, Z1 i O# G
pLight->Ambient.g *= 1.0f;
% x9 E9 _/ s+ r6 z. ~ pLight->Ambient.b *= 1.0f;
: a5 I5 L ^' O! u% z) J#else //__YENV
4 c& l" t! |1 D2 Q pLight->Diffuse.r *= 1.1f;
4 \, R5 B. J" g. W0 Z+ [ u2 a4 Z# ] pLight->Diffuse.g *= 1.1f;
: B* v, Q6 B, K+ M, r pLight->Diffuse.b *= 1.1f;) R: B. r( K- S
// oˉè* ??à? : [% E/ I9 [& o+ \" u" t# v3 J
pLight->Specular.r = 2.0f;9 q; j4 c% G# Z+ P
pLight->Specular.g = 2.0f;1 S w5 F3 p" d0 O+ a' H
pLight->Specular.b = 2.0f;
* U* y9 }" J3 z2 o* a // á?oˉ 7 d5 m1 Q" c' m/ T0 X3 G
pLight->Ambient.r *= 0.9f;& e. G( h/ k2 S
pLight->Ambient.g *= 0.9f;: d* B5 V1 l- Z( N) t
pLight->Ambient.b *= 0.9f;' K/ B" a( T- c( ~ s M' y
#endif //__YENV
/ m* o; \( r) _, N" T0 ? D* E0 _ ( M' o( _- {/ }" M6 f- h
memcpy( &m_light, pLight, sizeof( m_light ) );
, R# w, g) [6 b( }: I6 e
4 N$ ^1 U0 v. G; ^; F D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
/ H6 M. U/ h0 J! m3 g D3DXMATRIX matTemp;
' S0 T+ c. y! z, i static const float CONS_VAL = 3.1415926f / 180.f;
! H1 n/ _+ `- K( [( T
) ]! D2 ~ J; {0 l \! h D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
( \# F% C% N) k: `' h% } I D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);) z* x8 u* d6 k+ {
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
" `3 W# c; ~! l' U9 l9 [+ l% f pLight->Appear( m_pd3dDevice, TRUE );! M5 K2 {; d) u+ V' k
4 y7 m0 ]* U- c! C! p
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
0 Z7 @. K" Z% x8 \4 ]* E // D3DXVec3Normalize(&(vecSun),&(vecSun));. v x3 n: }- t z- b
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
0 Y' ?' T) Q0 B! H; a/ F# @9 V
% n# E6 l! Y+ ~$ Q2 Q DWORD dwR, dwG, dwB;! x; x$ d* X) E# e! W! v2 S7 V, ]' ]
dwR = (DWORD)( pLight->Ambient.r * 255 );. a* _( w- h) X; p( q0 ?9 Q
dwG = (DWORD)( pLight->Ambient.g * 255 );
* J/ _. L' o( r" M! @% q* q) W dwB = (DWORD)( pLight->Ambient.b * 255 );+ j! [% Z3 g5 ?$ x% W. J4 q) T
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 a6 N" @0 T7 P- n& B }
: K: Y1 s" \, O1 q& z }5 S C' o1 O" {
9 ?: \# T+ b1 W: p% R. |
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );& I* P) v+ @ G3 ]1 X+ D
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) );0 W% U t$ A0 C$ R/ H! N, g
::SetLight( bLight );$ c5 T+ D# T n! m5 ?
+ h) M6 q! s% z, ?8 K1 G( \; [! h& S
// ±ao? ?D?í???ó á¤à? + \" ~4 A/ _; V
m_pd3dDevice->SetMaterial( &m_baseMaterial );
" P6 |- C& e* O# ]$ m& h
! l* O/ N) \$ _$ C' t#endif // not WORLDSERVER# f5 t3 L5 ^" ?3 W& V$ k, n
}: C& R( L8 ~2 c1 k5 N7 h
并更换
+ h! e6 z' v) ~; t) d* nCode:
4 x, g& |" R3 n' ^2 X__FLYFF_INITPAGE_EXT
' U B' `4 N- B( G6 }" S4 j- R" f3 P定义2 Y# _0 y* R" }/ N
& M3 O) i* m8 G' r* h
7 K7 Y/ U4 Z' [) C+ ?( j2 T* L2 O% N1 H0 G
+ R- w2 F" a: x: g' v' N
现在终于删除我的狗屁加速...4 H y* [) q2 p
& x* q, L8 _: V( ~8 v" ?+ u
( z7 F4 @- s* I" M
: j( s! P$ N: x' b |
|