|
|
食品车:* m3 K3 O* W4 ` h5 @
尾翼:
- `7 D4 y' D1 i& Z# F2 e9 h
6 |) o* x+ J* }代码:
! O+ [ {8 a8 XCWndAutoFood::CWndAutoFood()
8 L/ f- ?4 `7 d& m2 ~6 W{
8 [. S- s p- b5 C" q m_pItemElem = NULL; D! Q' {: ?6 ~3 @: I
m_pTexture = NULL;
# q" \% @4 t3 y9 d; }# Y. `4 X q7 m bStart = FALSE;
% `; D2 e) W9 q/ {$ k}, d7 t5 a+ }& g+ v0 t% L: N
- n- O2 |# b+ x0 v5 S, H
CWndAutoFood::~CWndAutoFood() L% ?5 F I( O6 }! i' V
{
) m9 U" K# f! p, q4 x AfxMessageBox( "AutoFood ist gestorben " );! H2 w/ {8 y* a9 `( y2 ?0 y
}
. B; z3 J5 N0 y; @/ T- f! j# _BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
, g8 j/ n/ D4 m. `{, [' l0 V3 o o3 C! e2 M
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
/ }; R+ w; K2 M. }}
1 l9 |$ Q1 D6 o0 }
0 g2 x$ w' E( O# ZBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
& H# P+ o& }8 s5 C+ M{+ ]! l& d# k+ T6 M" U. U
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
, G3 O% g5 Z* C CRect rect = pWndCtrl->rect;
7 {9 n; L! u$ O+ M3 l1 E if( rect && rect.PtInRect( point ) )1 F$ h4 X6 ?& b r
{
2 C0 W4 ^0 R. t7 k) ~ CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
2 }0 H. A6 L$ \) u. }' c if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )+ p0 S5 V/ f3 m {3 q8 i# k
{
$ P( g# Y5 v# M5 G B if( m_pItemElem )
* E, c& _% ?- B$ {% d1 K2 y( L {" L5 r7 I, o% \% q6 y* x7 e
m_pItemElem = NULL;
- n; m& _, a' w+ L; }& y8 _( M } l3 p0 j1 m t
m_pItemElem = pItemElem;; p; w% T( x% ^* w0 B
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
9 }* H2 f+ J3 R$ ]2 K }else{3 g4 U2 i% b3 ^4 U$ z# n1 F8 i- t
SetForbid( TRUE );
! w g, ?! Y. D: O/ O6 f4 [ }
6 k: P% Z- T$ |& x4 X9 U3 H! k }else{$ S' D7 a, ~5 f! W& h$ d
SetForbid( TRUE );4 N' Y2 s/ V7 b. u' Q9 Z- B
}) R1 v% M0 ~# I' J
return TRUE;
% s' X; f; J$ X0 ^; K. P}
- I4 T+ ^% @: U1 T
+ W X$ a! Z9 m" m0 xBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )* ^! L, Z! A( Q5 Y: s: J
{
6 ^8 p+ H7 C a1 i$ n switch( nID )
% {8 K6 ~ k x7 K' o {! J. T6 ^, b, g' W1 t9 z
case WIDC_BUTTON3:
7 h0 ^1 F* @# d/ j q2 f {
& G( V7 l: v9 p; H bStart = TRUE;
5 j+ s% q6 D( V0 v; K break;
7 o3 z/ Z1 N7 k) U$ f; i$ N8 \$ r }
( ^9 e- ~: |- w4 B, E case WIDC_BUTTON4:
4 O V2 u# A6 \7 l& O1 |% A. v {
% E3 T6 Z) c( M( h( b3 B bStart = FALSE;
. ~% X4 i% ~/ V& y8 {3 V break;% s) D' P- x" u0 @
}
% a7 X% p$ {0 A1 f5 E }- z/ q; L/ O5 T/ F
return CWndNeuz::OnChildNotify( message, nID, pLResult );6 e6 d \; t. K* {& p# r
}
$ R+ R! Z7 W) |* W6 N1 f% uvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )/ I/ ?3 P7 `' j& V! E3 H
{% G- ?4 ~$ }* K
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
6 z/ {; i, M: _0 y if( bStart || !m_pItemElem )& Z6 f! g: v. U9 t+ F
{, o, Q8 B8 g( ^6 j6 \* K' `
pBtn->EnableWindow( FALSE );
0 F0 O- U- y* b n }else
/ A1 b/ `5 ]0 I+ S pBtn->EnableWindow( TRUE );
# I8 g8 \$ k' E2 M9 f if( m_pTexture )
! f; p8 F/ z' s y5 j6 @# Z {7 t' H- ~- [8 J/ S$ {% s
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );, H+ I! u2 y [
if( wndCtrl && wndCtrl->rect ): q; m$ U3 N# S, Q- g: S' |
{
9 t: B+ B+ C+ m m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
9 j5 ~( W w8 ^9 y, j, ]% F: x, P( o* z }
: j0 d! s4 b! c4 Z! a }
: a y5 R$ N$ C3 d+ z}
. ?- o4 n6 o5 N L4 E+ j t8 `. ^: H \' l/ L" R m! f
BOOL CWndAutoFood: rocess()
3 ?" M f# g Q6 O5 w{( n: L0 T6 S+ f [
if( bStart )
- ^, b# @4 x+ ? y {
' L: N, E: T2 u6 i' u- L if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
1 H% |& J/ Z% O9 V2 v: Z/ n2 K2 ~ {; L3 ]; i. b1 N7 Q; [. i
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 K3 R! g3 N6 X) I. o2 k2 _9 r* _
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
; a6 E; j" J$ v& v }else{9 P1 L) }; h( E1 H
bStart = FALSE;
! o C8 E% @# ?9 a- t m_pItemElem = NULL;2 O( e/ A( O1 b- [
}, B8 Y1 i) P. b7 P8 \- m: i- t
}
" [# j2 }' }6 b7 q/ M' V* l/ k! C return TRUE;
9 d `# _+ Q& T( A: b}. x9 y, ^: C( E2 A" {0 y, t
! q' J0 y! M x5 T! B7 ~1 {) A
登录视频废话:6 @+ m5 \! h* F& H) N3 i6 ?' [
尾翼:
% g! W w2 T9 E' D u- t9 R* K" {) e0 s9 k. x- I. C: J
代码:
9 t' G# s4 r6 [+ i. S, \# }6 d
1 p9 a5 U/ p4 l: y% g3 ]5 p9 \void CWorld::SetLight( BOOL bLight )# A( i: P/ n7 q' ^/ a& e2 a: W! B
durch, m2 N1 R. L5 z; T0 P5 ]
Code:6 b0 ~+ h" n7 X |6 c" r* u
void CWorld::SetLight( BOOL bLight )
; K. L: u, P+ N{
3 k3 v) ^+ t7 `$ l; i- j# I- N# b6 P //ACE("SetLight %d \n", bLight);3 Y; s. }% R5 M" ^1 D n
V- |3 f1 S/ `6 m# S7 ^; g
#ifndef __WORLDSERVER
3 x8 r- l4 {7 y! ~. | DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
0 Y/ i2 p7 j. c% X' ?) r CLight* pLight = NULL;$ U, t, {7 i( y/ J) f) A! h6 b
8 Z+ K( v4 @6 O# J6 I; P% J
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );9 X0 W) [! |( @- S$ ]! J
1 C/ |0 \- M6 X% ^) G6 N pLight = GetLight( "direction" );
5 N+ L/ j; U* _* Y
/ E# ^8 G$ j1 K2 Z+ e; @) J6 R#if __VER >= 15 // __BS_CHANGING_ENVIR
Q5 K" F$ C2 B% g if( g_pPlayer ){" s1 \% y$ d% h" X- l' O* R8 M. z
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
" ^& `; R" ^2 p+ ^9 h if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
# m- u( G/ G; R* R {% I7 O+ p0 L3 F; M
if( pLight )
! e$ B; ^+ S+ `& @; j- \3 W4 t {7 v2 ]" \5 L+ L" T
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
, }+ C! k Y6 U) d pLight->Ambient.g = pInfo->_fAmbient[ 1 ];7 z6 j" Q" ~3 P5 k% K2 y
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];; ^8 F7 }# ]- F2 [9 ~0 [/ v
! u7 h" X* w% x) N pLight->Specular.r = 2.0f;% }2 Q1 d( j2 G" f
pLight->Specular.g = 2.0f;. T, i' n5 C/ @8 X
pLight->Specular.b = 2.0f;
* U) U' y" v3 \9 c H/ V
: l4 {) Z# U7 u/ L* K; G+ ^ pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];7 D; S0 }; a$ s, J
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];4 }8 `- X. M6 J/ A1 o
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
! ^, k. L$ y9 @. Q; X% X" y1 d- V$ G $ l8 R9 l& o- q" T% E3 X4 |- N& A
HookUpdateLight( pLight );
3 E3 }# ?. y( E2 \. A- N; s4 M4 p0 X0 V$ _
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% |# Y' o4 w0 I$ k% R- |
0 K* S7 i) u0 B" J1 z- I pLight->Diffuse.r *= 1.2f;
4 ?, s8 D0 r: d! Q1 W pLight->Diffuse.g *= 1.2f;
! V. v C! F5 ~6 G& o pLight->Diffuse.b *= 1.2f;
, k' H B/ _8 m( O% O: ?5 y: ~9 K$ e: E# Z, f
pLight->Ambient.r *= 0.8f;
6 x8 k# @) k7 G, C X8 J pLight->Ambient.g *= 0.8f;
! f* e- R, z) g% F3 j pLight->Ambient.b *= 0.8f;
% Z' P* _1 l% o( L* Z. a/ \/ g
: S+ J; o/ f! ?4 ?8 F memcpy( &m_light, pLight, sizeof( m_light ) );$ K! K* @- Z2 `8 @8 v& u
$ q/ Q N( d' f7 g& U& K% g D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- Z8 M1 e- R0 @1 n6 O4 y
D3DXVec3Normalize(&(vecSun),&(vecSun));
5 @: `7 f9 ]3 l5 e, q pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
& P) m8 ?6 B% g5 E pLight->Appear( m_pd3dDevice, TRUE );
+ k$ X% O, x+ S9 A, _+ L) l $ N$ F' S3 m/ B5 X5 B
DWORD dwR, dwG, dwB;
1 j/ n4 h+ A8 h( w; C dwR = (DWORD)( pLight->Ambient.r * 255 );
/ v7 W* `& P2 I' i3 @7 E dwG = (DWORD)( pLight->Ambient.g * 255 );- [. K; G5 G/ c1 l
dwB = (DWORD)( pLight->Ambient.b * 255 );
# I3 ~ r# a0 I$ v% T* I dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );; e8 }7 X C: H! B5 h
}+ p: c- m H% ]) Q
}
) ^: k/ i# F& ^9 C$ F }
! F3 ~, g; k5 q" B# E* [ else
8 A' b/ Z- b- T, p- {; q7 P5 \#endif
5 j' g* X; N3 J# b& n
( O8 z9 Q$ H3 m( i1 {( i if( m_bIsIndoor )
, x8 ^+ A+ v$ I% Q: B# G1 t {; w6 P0 P% a/ b% ?
if( pLight )( z/ V' W/ j) j4 e$ Y5 M/ d
{
7 k5 y$ [! h* M K. C // à??μ oˉè*
" t; V/ K" w+ [" y; s pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;% R2 w ~8 f. p% o8 y$ ]
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;& d k/ J( B( d; g/ @4 s7 g* b+ a
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;) u3 i* w% j# O2 e. M4 z
* Z8 C6 C9 _& H7 J6 `$ B# U. K // oˉè* ??à? , w( m3 S( [5 S6 |, i. M- r
pLight->Specular.r = 1.0f;
/ L4 ~, O2 q. V' G% ? pLight->Specular.g = 1.0f;
& e. y# P( t0 r pLight->Specular.b = 1.0f;
4 U: W) V/ z1 B) s* U7 ^5 _ // àü?? oˉè* ; `5 ~+ [% ~. Y0 {* D- U" f- z
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;! o, M# Z: a0 K! B
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;5 ]3 n( F# y; S3 ^+ W
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;. k& b @) e, |. {7 @; H$ J$ ~1 f1 @' s
& {9 Q# G( _ o6 u; |% \
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
, I) E# W' p+ e {
' G2 a( T- K$ p. d! P/ U' u pLight->Diffuse.r *= 0.6f;2 {( g& ~- H: |/ N4 y h3 X
pLight->Diffuse.g *= 0.6f;6 k' G7 z7 y$ g% v6 }
pLight->Diffuse.b *= 0.6f;+ l) B) l% p3 W0 ~
pLight->Ambient.r *= 0.7f;
' P5 k" W- N/ ^4 D1 b& T pLight->Ambient.g *= 0.7f;
n2 Q* A" D' N% s pLight->Ambient.b *= 0.7f;
; R0 H1 f( b' l$ S; f7 j4 S: E: |% ? }
}8 v$ V8 q1 e* X$ `# j" B
7 T% w' z- E7 Z6 W) p) b#if __VER >= 15 // __BS_CHANGING_ENVIR) m7 x( m, R% e3 f, k
if( g_pPlayer )- S1 f. C0 c; g
HookUpdateLight( pLight );* d5 D' Z1 v: J# R6 H9 I
#endif
4 M* Q$ `( e* S$ V/ c memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );+ ~" c& N c/ F+ E4 O! v% z
: N0 x- x1 K+ I, O
pLight->Diffuse.r += 0.1f;
+ d' J' Z) Y% Z; X% r I pLight->Diffuse.g += 0.1f;
9 Z+ ?8 ^# d, _# ~# p, L' s7 Q pLight->Diffuse.b += 0.1f; c5 A5 P4 b" W2 |" O& w. C
// oˉè* ??à?
/ k- l8 V. [- }8 I5 ?# ^! B pLight->Specular.r = 2.0f;% `, O* K0 O8 q+ b
pLight->Specular.g = 2.0f;
; h( R$ v7 y4 B) G+ H1 H0 h' S pLight->Specular.b = 2.0f;$ y6 C( C8 H, r
// á?oˉ
7 ^* M( N7 o4 l$ f3 j; X1 v7 d pLight->Ambient.r *= 0.9f;# I2 h4 |2 J' B( G* w$ D+ S; r
pLight->Ambient.g *= 0.9f;
7 W( X! Z# r7 K: } pLight->Ambient.b *= 0.9f;8 a4 T9 @5 U: \2 y$ |) k% ~
$ z; _; L/ _$ E4 @( _/ A. G+ b memcpy( &m_light, pLight, sizeof( m_light ) );
$ U8 c& V: L/ m! Q. ~
1 S- G7 N0 K' m- F pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
, V' L) Z9 h* X. J3 l* n$ p- q pLight->Appear( m_pd3dDevice, TRUE );6 z( O' t+ J+ }. f
8 \( ]; z3 ]% Z# g( K, ]
DWORD dwR, dwG, dwB;" [" D3 s. \+ }9 [: S' M
dwR = (DWORD)( pLight->Ambient.r * 255 );
l0 V+ i/ h" u/ A dwG = (DWORD)( pLight->Ambient.g * 255 );$ `: k) ^6 y' W4 o9 q" ^
dwB = (DWORD)( pLight->Ambient.b * 255 );& Y: B# m" [9 L1 {. Y5 r+ @, P
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
( M8 Q3 x6 P- H3 H# s3 K, Z1 k) I }) f9 ?- Q7 |+ W% j+ f% m" Q
}
6 ^7 }" [4 N3 G' N0 s9 `) Y, ^ else [, n9 \6 }8 }; L
{
; M, N" C. H+ l5 q if( pLight )
5 x+ V: [ Y# w2 Z$ h {3 D* [9 z: Q1 X: W) z, _
3 I) ]7 W" S# ?
int nHour = 8, nMin = 0;/ P. c/ m4 s+ T4 Z$ g
#ifdef __CLIENT
0 f" P U+ c6 c0 c8 e }" Z // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
$ V% t/ g4 j, l# z: S; W nHour = g_GameTimer.m_nHour;
! ~2 X; ~9 V8 I9 y: @1 A nMin = g_GameTimer.m_nMin ;
( h. o1 F% d" E+ I7 d. ^. r; n #else
) b2 x) M4 A8 s3 y; R // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.6 s% d% f& U4 t/ P( v
if( m_nLightType == 1 )
) E5 `: N3 M# n t9 V" L) l' y( m nHour = m_nLightHour;
# O6 F* q- C' s$ s J #endif9 H) Z; ]- |( q6 t/ ?0 a8 K
nHour--;
5 H$ O5 B- a" ~5 X# j if( nHour < 0 ) nHour = 0;. e$ V+ |) }& Q' V* L2 G8 u; S( }3 k
if( nHour > 23 ) nHour = 23;: v2 U" o* r) `% ^7 m9 z
0 u5 B( p4 l2 n9 o0 E //if( m_bFixedHour )
/ S/ U6 i8 ?7 G& z. ` // nHour = m_nFixedHour, nMin = 0;
2 e$ `+ T* d$ _( ~# D6 s LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
% h. H4 J4 R8 \) f( R- _ LIGHTCOLOR lightColor = m_k24Light[ nHour ];% K* w. a: M) Z" v7 J* K! @
8 y; p0 t6 o1 U$ u2 G! { //m_lightColor = lightColorPrv;
* [5 Q7 W @; G lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
- |" U- ~8 j9 h% k7 G7 A, L lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
( Q) d, l: V/ z5 H! H% v+ F4 J lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;$ @5 r6 I W& y) `5 J3 G
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;- J% }6 H7 V: O# o; B# n6 o0 T
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
, S \3 H3 Z# ]* D lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
7 ]9 D$ s8 E! V, P4 _: c // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
' {; M8 Y6 l4 f* m. M, m! g; {( m+ C$ u0 v! F, S0 l' e8 ~$ p( l
// à??μ oˉè* * }. s7 J6 p! |) G
pLight->Diffuse.r = lightColorPrv.r1;9 D9 h" l/ S% p+ @
pLight->Diffuse.g = lightColorPrv.g1;
. U6 N- M7 V4 I8 R$ f: i/ l1 u pLight->Diffuse.b = lightColorPrv.b1;
# R v5 V; i$ t3 s w* i7 h // oˉè* ??à?
! _5 S# g0 h$ ~1 E( L% A( S& @3 E1 k% | pLight->Specular.r = 1.0f;: q3 {& ~3 ^& _* x0 a. u7 \% E- }
pLight->Specular.g = 1.0f;
! E- ]# L; o0 C# d4 }) H pLight->Specular.b = 1.0f;
9 Z- _4 Y( |' w4 A& F // àü?? oˉè*
+ \/ r% i2 c" ~ pLight->Ambient.r = lightColorPrv.r2;
5 A9 _8 q' ~$ {6 ?1 H" R pLight->Ambient.g = lightColorPrv.g2;
E9 M; I r9 s9 F) c N3 H pLight->Ambient.b = lightColorPrv.b2;3 P4 J5 w0 S+ \* R" ]# r( k" ]7 L" o
: L; m, V+ @; M) U1 Z* j if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
G% T& J# L- C8 R {
2 C% m: d0 j/ x; q7 v; S4 ^ pLight->Diffuse.r *= 0.6f;6 ?, g8 j/ k |! t( K
pLight->Diffuse.g *= 0.6f;
0 K' R2 e$ I$ y; b' {. ^ pLight->Diffuse.b *= 0.6f;
+ x8 h8 h+ C4 ~. q4 A+ E pLight->Ambient.r *= 0.7f;
" Y) y- ^8 B, K; J# Z1 j6 ?: o. e pLight->Ambient.g *= 0.7f;
. @8 { H( ^2 n/ m pLight->Ambient.b *= 0.7f;
" N5 O7 H) v/ D/ n }) h6 u7 W9 U( L; b H. F/ H$ n- W
* h& U4 @) }+ M* H% K( r1 e A
#if __VER >= 15 // __BS_CHANGING_ENVIR0 X9 v9 u# {. O! P5 E
if( g_pPlayer )
# C1 k. i2 ` e8 g* f! | HookUpdateLight( pLight );
- N' y) l, a6 q% s' e% x#endif
b6 y3 g% Z+ G memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 U- [5 ?: _0 K+ c8 {, Y1 j
! w1 I" z& B6 \, H& o% u: S#ifdef __YENV
2 B9 Z) ~0 E8 B7 E. o4 c9 W pLight->Diffuse.r *= 1.1f;
3 ^, ?* B- S9 T6 \5 [ pLight->Diffuse.g *= 1.1f;
0 A& M, z2 _. p0 q3 c pLight->Diffuse.b *= 1.1f;) B1 L9 X3 A. K6 z# k. {/ f
// oˉè* ??à?
# @3 f2 }. g- x' k/ b) [ pLight->Specular.r = 2.0f;
0 F; |" J) X2 O pLight->Specular.g = 2.0f;2 q! ?6 V7 N+ m3 {; { I @. ?
pLight->Specular.b = 2.0f;$ y L4 ~* V: D" S- g! P& Z( ~# r
// á?oˉ
$ h* E* |5 f* ^4 s- r7 Z8 E pLight->Ambient.r *= 1.0f;5 h6 o8 y5 V5 P8 q% o+ E$ s# L5 C
pLight->Ambient.g *= 1.0f;" g# V" `' {& ^
pLight->Ambient.b *= 1.0f;& K5 ?) i9 S2 |6 _" @- a$ q
#else //__YENV
. }& l. t1 Z# |- q8 }9 H! t& U pLight->Diffuse.r *= 1.1f;! G( ~9 Q8 \+ _! Q, X, V6 y" z
pLight->Diffuse.g *= 1.1f;
. Q) r* x% _. k# T. v pLight->Diffuse.b *= 1.1f;) Z+ ]: m) B v) H
// oˉè* ??à?
0 s1 a, x1 g/ i) w8 X1 f! | pLight->Specular.r = 2.0f;* j. l3 b) A. c1 Z
pLight->Specular.g = 2.0f;/ g) v8 H& q x U( y0 u5 ]
pLight->Specular.b = 2.0f;
k7 i1 L( _3 j" k" }$ O5 y4 E3 O // á?oˉ 0 ~+ s& e8 J, t3 ]6 Y6 Z
pLight->Ambient.r *= 0.9f;
+ A, D6 J4 G" b' T1 ^ pLight->Ambient.g *= 0.9f;
0 ^: ^; K# U" A F) Q9 w: M- v: S ` pLight->Ambient.b *= 0.9f;( q0 {, m/ t0 s' l
#endif //__YENV ; V$ ~# f) ~; I1 ^$ n0 J* y
- J1 g9 D$ m: L9 l memcpy( &m_light, pLight, sizeof( m_light ) );
9 p: O9 Q. [7 C* ] L
- Z/ k& i- D( j2 k1 F D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);) X0 I H* \2 v) K R
D3DXMATRIX matTemp;, E2 l, W9 ~$ n6 Q8 T7 `
static const float CONS_VAL = 3.1415926f / 180.f;
& u" z2 n/ W) F9 q2 z, ^* l
5 K' X& }0 t8 o `6 u. B& c D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
8 _8 S$ q$ w# N, M/ \ D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);3 I: |2 r5 w- X" |8 O/ T
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
! m: T+ {9 F% O v. T pLight->Appear( m_pd3dDevice, TRUE );
4 c6 J1 A D+ S1 _. f0 W0 `
% a+ u C; t( y" ~ _ // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- g- f8 e! d$ K' t/ V. M
// D3DXVec3Normalize(&(vecSun),&(vecSun));! N9 a" h# I! ~7 a0 \9 M
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
& o( i4 A1 T/ H" X4 A. Z! c
9 L0 c, m1 _; S5 R DWORD dwR, dwG, dwB;
' v; \; u: P# y8 Q8 P3 B$ F" i% K dwR = (DWORD)( pLight->Ambient.r * 255 );
8 \( S3 W3 i1 V C dwG = (DWORD)( pLight->Ambient.g * 255 );
3 D* l' J. |* G dwB = (DWORD)( pLight->Ambient.b * 255 );
6 g( z# c( `% |6 M dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) O n& D+ I' o+ a5 J3 z- E }' {2 t6 u9 w7 Q$ c% y9 b( V
}* l6 B6 X( \. L7 p$ I* E
" C9 B6 {/ x3 q% p. m m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );) m, |6 Z% {! t f! U- _, H% @
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) );
2 _: D. `% [& ] ::SetLight( bLight );
2 U( O& _4 F! C9 B0 W7 U# J7 h, h; d
// ±ao? ?D?í???ó á¤à?
, m* S1 B8 G0 P3 e. s! B m_pd3dDevice->SetMaterial( &m_baseMaterial );
1 |" ^7 Y3 m* [" t$ {) f
, i" M; `( r" F" y# L3 N+ s5 |: d#endif // not WORLDSERVER! m" t& {* y& D9 X: K3 v% j/ I
}
; V$ {4 U. K U' e并更换! J* C( M- k- l) v& Z$ {+ K. ^- q y
Code:% \% _, M3 D5 H
__FLYFF_INITPAGE_EXT
/ d8 U9 l5 r- l% i! ^( t$ O* ]( |定义
9 n. a; k7 w, t7 J0 e1 w2 [5 d
! W/ q( f/ }3 g
4 z j8 R( i4 W: J7 q) N" G' M& N/ A! A: _
4 l1 }6 f0 P T& R现在终于删除我的狗屁加速...
: e# ?1 y1 H# k7 q8 w3 b! z
" p& W- K# C& _: Z5 p( p3 `
0 n4 {' `5 v. K- M; q$ [5 Z* Z1 x& }) p- D, ~
|
|