|
|
食品车:6 k0 l: Z0 }: ?4 W) ^: H0 O+ T. ^
尾翼:
5 e2 W$ o4 I z9 M3 P0 l- Y& Q
# W0 l, r n8 m代码:" }- o9 V4 m7 c R+ q4 T2 q
CWndAutoFood::CWndAutoFood()
/ {/ y5 `* {' l1 z5 |" m{* U/ C6 E i- F- _$ q! }$ H
m_pItemElem = NULL;
" L* J; t" t' f7 a0 Q; K' h m_pTexture = NULL;: k1 J0 V0 V- F( v
bStart = FALSE;
0 m- s( v" [8 {2 x. o0 L}
6 F& x& w4 b# q# H/ f3 J A4 h9 C j# Q( W* D3 b& U7 f
CWndAutoFood::~CWndAutoFood()
7 E2 S( G3 b' o2 Z9 @0 q{+ R+ I0 o& g+ `; a3 Q5 Q% m
AfxMessageBox( "AutoFood ist gestorben " );
5 `$ T5 R. m- D* K9 k}& c8 P# ?4 @9 L$ ~7 p% z, G! i8 n; W
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
6 h6 H2 v8 i1 K3 S" g* i{. y8 g4 V+ M% E8 z/ I' j
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
, o2 @, s/ X) D}
0 E5 ?9 k/ v' `: q9 i8 n& K! D- \* n) `
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )/ p! s8 B" D1 _
{
8 F. S- |& F8 ^: z+ n G LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
) {/ d" ~2 h# E; g1 z& A5 g CRect rect = pWndCtrl->rect;
5 P) F6 v5 R; {: E j/ ~1 v, u if( rect && rect.PtInRect( point ) )1 {! y/ | u' Z
{
) C- b: I2 U( h1 N B6 p CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );9 V3 d8 ]. W( z. c+ r1 _% c
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
+ n. b& N" ~- @ {
. P, Z8 A0 `! E- v' C; Z8 Z5 [ if( m_pItemElem )( i+ ^, F5 X# q0 F" A7 G3 c
{
# X$ n0 E5 L7 p: _: ^6 Z m_pItemElem = NULL;' Y8 I7 _3 A9 r9 ~& _, ^* K2 @
}
9 |7 Q6 Y- `% V; k+ h1 y m_pItemElem = pItemElem;' z; r1 n% w% x& |% H8 j& G
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
/ B1 |, h! T& }1 @% i }else{
$ `, u9 {6 l i" t8 D SetForbid( TRUE );0 j% e8 }2 a0 O8 @, B! L- j2 n$ a( Q
}
" n, n8 {0 s6 B }else{
4 S- m2 \" O6 n( z5 q2 _ SetForbid( TRUE );& X/ H' l/ Y: |# \9 n$ a
}
; J8 Z/ B' C" c8 C* p return TRUE;
: P1 z! a: @+ g( ?' s* E. Y. u: {}
# `: t+ v* W; k/ \( P1 Y. }1 ]% j
" P& K7 {* ]5 d& l% q) \BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )( O2 a# X" Z1 p# b
{2 k: \5 C& F7 I8 X0 L
switch( nID )
, ^" P' Z7 N6 f {$ y4 J1 ?* V- D2 y h7 `! @# y
case WIDC_BUTTON3:$ ~) H/ Q6 g6 L" ^: @
{ x) `' {6 t+ F/ }* }$ i3 Z
bStart = TRUE;
, C2 `! w( _3 {; v( ]9 U break;
[* j2 \& j7 X( c4 i3 b( d y }
5 Z9 n$ e( {% `/ y4 R- a case WIDC_BUTTON4:. u1 s8 P$ \0 M+ w+ E7 {0 G
{) b: p2 D$ b D, f+ t1 [, V( m
bStart = FALSE;
) X* j6 U) a/ ~2 a8 s) ? break;
4 ?0 ^: v7 j) h! x) w" A$ @ v }- Y5 g. d$ }" m
}
: V* D, q7 E' N/ i return CWndNeuz::OnChildNotify( message, nID, pLResult );
' d/ I4 I& d& X) B# U; W}
2 O* n8 w' R# w" Xvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
: h7 ? @3 `+ k{
N/ b9 z$ E, `* k/ n' V CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );8 j7 p. |- N [
if( bStart || !m_pItemElem ); ]! d! R* E& T8 f( Y1 r+ P+ M
{3 G+ T! s/ Y: j( a. H% D4 n
pBtn->EnableWindow( FALSE );
+ J! t/ D8 s' ~! k }else+ R! A5 s5 b( [' C7 D3 |
pBtn->EnableWindow( TRUE );1 l# x% \9 B3 i+ Y; z* u, J( r1 W
if( m_pTexture )
" s' G( |# V! n# W5 V, { {
' q# s. w. R3 |) N% g6 A0 M LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
' `( s; R9 @4 _+ B# W if( wndCtrl && wndCtrl->rect )
/ r: k' [3 |- o' ?2 i- ~; O {) Q ]2 I. J/ ?1 R( u
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
6 S# o+ m/ J* X# N7 ?' [ }
3 c L% X' p9 [# Y5 y) _" X }
) A7 W. E6 y7 V @}! W) w# C5 c( w7 B7 v6 U- e$ n
; @: z! j7 p% U% CBOOL CWndAutoFood: rocess()$ m; r8 l2 b+ k" H5 q
{
3 q" M6 `0 ~5 _ if( bStart )
) {- @% C% U7 o, O, K. K {: E- f+ y0 J+ F) ?9 {" V6 ~
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
" Q8 Y* s( j+ L9 c! U `' f {
0 D) |' K( W6 c2 ~9 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() )# ^4 B1 [6 T4 V: W9 m- }
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
$ b, `+ J( w6 e. ] }else{
7 V6 o, s' S. {6 s+ d4 h/ F# y, @8 e bStart = FALSE;) J$ P! ?4 {. n+ d
m_pItemElem = NULL;. K- p. r/ t' a/ j
}
" D! U9 w6 p8 h" i }4 p2 ~) Z! n, U4 x" ] |8 s- L
return TRUE;
% ^; {6 O- {9 \/ g}: C( z4 K" E: |* X8 h
y H0 d% A( _0 V0 W登录视频废话:: ]2 ~5 R! e- u) s
尾翼:8 X' q3 r5 m$ N9 j
4 c) n4 w# D9 V4 M
代码:
+ S6 e6 Q' K9 _. p K
( r: [% D7 m9 ^: t& Dvoid CWorld::SetLight( BOOL bLight )9 u5 ^2 ?, i# ?+ i3 F
durch# U; E' e$ J f( ]
Code:! s9 ^) S. Z3 w& u
void CWorld::SetLight( BOOL bLight )0 w- F5 I2 O* K Q/ X5 n
{
( [& V6 ~0 x3 p5 H9 d/ u+ K- A //ACE("SetLight %d \n", bLight);
' W6 P0 ]) H* q) J5 G+ `* ~$ S. M
" Z; x6 ^3 f. M#ifndef __WORLDSERVER
7 G/ U2 W0 p$ `- L+ n) R! K' l DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
! l% B9 ` H+ v5 m9 u/ w- U CLight* pLight = NULL;8 H* v. \) \# c' { `
: ^+ k6 N# X; M/ Q& F8 O D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );( c9 Y1 w: l7 U1 D) M( s, Z
' g. S( \% s% e" }9 ~
pLight = GetLight( "direction" );: P, L1 e3 A' f& G. z: {
" v6 }4 x% k& a/ `( j/ n
#if __VER >= 15 // __BS_CHANGING_ENVIR4 C# I" q; O3 B0 Z$ r5 A
if( g_pPlayer ){
N; | @3 Z7 F" e, G# V ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );6 V( i0 f: n2 c; I; r" H- z
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!9 ^: Z- k4 Z1 ?) ~/ b* _2 x. H
{
1 V5 m8 ?1 q1 B) P7 K2 Z if( pLight )3 \3 Y: Y' m5 N% |/ x$ [% K' Y ~2 g
{
" @# U2 e# m" _$ ^2 x/ S8 \3 H/ m pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
1 m* j/ m+ r) a pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
( u9 t7 m V% o1 B \) V1 s pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
$ j$ ~9 |& n& w
8 N# s! r U$ N6 y pLight->Specular.r = 2.0f;6 g& j& m/ Q# F0 p
pLight->Specular.g = 2.0f;2 h+ K2 D0 @ T+ J* \; \
pLight->Specular.b = 2.0f;+ x# I, t: S( b, H
: }; u0 X/ z6 g6 {. T
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];2 V' V/ s$ z, x9 K5 ]
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
$ g( M; D9 Y# A+ u. U pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];; ]* x9 Z! A5 e( A/ W1 h7 d
7 q8 ~9 j0 M" L4 x g) `/ ] HookUpdateLight( pLight ); 0 J3 H4 D1 P+ T8 |
, {! T; B; T, G$ V; m9 k8 J
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# o( j& j/ u3 B: I/ k0 Y- i
+ m9 d& v4 z2 }7 R6 ` pLight->Diffuse.r *= 1.2f;6 [, ~1 G7 S& S+ c) ^
pLight->Diffuse.g *= 1.2f;
5 ?$ ?% K |1 m% p pLight->Diffuse.b *= 1.2f;* p+ Q+ B% s9 G+ i* I( x
f, _, v7 Q$ E: F pLight->Ambient.r *= 0.8f;
# \, A! s9 Q" A _" X' ] pLight->Ambient.g *= 0.8f;
! | e0 m- ^* L/ e* i pLight->Ambient.b *= 0.8f;! g' i& T3 _# a
* r/ t, Q# E/ I1 L6 R9 f
memcpy( &m_light, pLight, sizeof( m_light ) );$ U, B) j' j: S) W7 A. o: ^
1 M! m; @& C6 R8 X! A( v, l
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
4 m1 B2 x% S) B4 [- U D3DXVec3Normalize(&(vecSun),&(vecSun));
. D' h1 z8 D% y pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); : n8 o3 S( r4 j" t2 B1 x
pLight->Appear( m_pd3dDevice, TRUE );1 [8 ]% t7 B$ G5 E# m
+ V( n; |9 V7 p& o- I DWORD dwR, dwG, dwB;0 W* X9 H" V0 |: M/ d. v
dwR = (DWORD)( pLight->Ambient.r * 255 );: D' h4 n2 Q; O& u4 w
dwG = (DWORD)( pLight->Ambient.g * 255 );
8 k! l% }& l7 b; J# m dwB = (DWORD)( pLight->Ambient.b * 255 ); V$ J* D( V0 C5 h+ z; m O6 f9 D W
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% N- t5 A: v+ f6 m9 ?* J2 \ }2 E. O+ @0 ^& R* f
}
/ o- ?: O) T9 |0 L }( ]1 V/ A% p& a9 d8 O0 U
else
" Z6 ~9 ?; [; v7 A$ q#endif + D1 t" E+ j& O, ?3 W9 W& Z
9 ?) j8 k# { c if( m_bIsIndoor )/ X- t& y/ a- l% }2 i
{7 l% f' s E1 q( J& Q2 h+ I8 Y
if( pLight )* p3 m/ X8 r% c; u- t9 q9 @5 D
{ " Z: i2 f( n9 R5 M9 X4 u& m0 J4 P
// à??μ oˉè*
& H. d4 B( _( `: f pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;& V% m; w, h9 K" l* k r% [# d
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
Z: O& T3 z) M; b pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;8 `# G! b; z8 h3 X* ?+ _
! m" S8 {8 w- c: V/ [- E& V9 p( p // oˉè* ??à? , J4 E& T/ I, ?9 N9 h/ h
pLight->Specular.r = 1.0f;- p3 n9 `7 U7 T' \ D
pLight->Specular.g = 1.0f;: ?7 i4 r* D0 V* f
pLight->Specular.b = 1.0f;* ]' c) `# f8 \6 d9 M
// àü?? oˉè*
/ s; W* V9 Y5 P4 }5 P# f5 p T pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
0 b, g' |. ~! X" b) d& _ pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;; D( \3 D9 P2 z/ n1 M
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
8 L5 J1 p1 k. X, ^6 r" U2 ^0 M9 p. [' A3 f' P
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
8 w: ?* V, ^8 V$ c% T6 F {5 V. B% _! ]0 ~; z8 f1 y9 w
pLight->Diffuse.r *= 0.6f;
1 ]2 Z, V3 Q$ L pLight->Diffuse.g *= 0.6f;4 ^+ H, A) m8 f; N
pLight->Diffuse.b *= 0.6f;3 Q4 J3 q% h9 i
pLight->Ambient.r *= 0.7f;
- [- Z: c. x' p% E6 I7 Z pLight->Ambient.g *= 0.7f;" ]# a' {) e& x' ?% M
pLight->Ambient.b *= 0.7f;, x( J# }3 h- U% k- @$ v
}
6 ^ D# P3 v, o# O( ^6 y
# [3 _) D% ]3 X' N F' Z#if __VER >= 15 // __BS_CHANGING_ENVIR
" Y! k7 _& B$ V+ ~- y+ @! i if( g_pPlayer )
/ m, C4 s0 |' ]9 R1 N, ?+ I HookUpdateLight( pLight );& D1 l3 p' h/ W1 ^8 W
#endif3 L. H: q! M* w/ R
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );; L( B& g( c3 g# v$ D* D# x& ?( O
: E6 |4 T- m; t+ _6 C% `8 O* b
pLight->Diffuse.r += 0.1f;
6 {# c& a y ] o/ s* ~% E2 `4 D/ S pLight->Diffuse.g += 0.1f;
. S9 h: I; b7 J4 [8 } K* j pLight->Diffuse.b += 0.1f;
; s3 \" Y) g0 k! Q6 I // oˉè* ??à? 5 W/ j+ m* e1 y4 w! m( x
pLight->Specular.r = 2.0f;# y& Q' }* T2 _0 h3 f
pLight->Specular.g = 2.0f;
/ g3 y. q" m0 B' M4 u& _ pLight->Specular.b = 2.0f;
% a/ U4 m, Q5 b& Y+ d5 g // á?oˉ
5 c" V& _9 Y8 P pLight->Ambient.r *= 0.9f;9 D; r% W+ U* H B% H" w, _
pLight->Ambient.g *= 0.9f;
# F# B& p; J6 u, | pLight->Ambient.b *= 0.9f;
1 N- q4 `8 J) y" j* V: g/ Q
& [8 G, L8 X' B- ~: A: y memcpy( &m_light, pLight, sizeof( m_light ) );! g4 }* w+ o' p* [
$ B. h( x# d% n C+ u
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
) [% ^9 g7 B v5 q+ T4 x pLight->Appear( m_pd3dDevice, TRUE );( m8 U/ y. y0 F2 g! _3 ]$ b
' D( J8 L& ~/ H- ]: L+ I6 T+ E8 n1 r4 [ DWORD dwR, dwG, dwB;# Z; _& m4 q6 C9 I
dwR = (DWORD)( pLight->Ambient.r * 255 );, `& i; m: d& J# a6 j }9 B
dwG = (DWORD)( pLight->Ambient.g * 255 );
7 b l; A$ y9 M( t dwB = (DWORD)( pLight->Ambient.b * 255 );) e/ `! u' d# e* i; n+ M: j& B
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
P% j. ~' d( u8 b9 ?: h2 c- ` } ~& I- h9 x# X5 o+ v2 B. l
}
" b, A$ U8 W% i# L$ X7 \& \! } else
2 m2 R0 J, e W2 u% t9 G* N; \ {
; p) b/ i, U. v2 r) x if( pLight ) a- I6 H+ [0 q( e1 N
{* T: x0 Q. j, D1 P
9 v+ |4 N( t% K, b2 S. C
int nHour = 8, nMin = 0;
% t/ y7 x' {# R/ F! |2 u* N #ifdef __CLIENT. S, M% r% P$ B1 C* X5 L
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. - h" v! G# M/ q6 X3 o- ?' K
nHour = g_GameTimer.m_nHour;4 `1 d; o. ^$ U/ D, [
nMin = g_GameTimer.m_nMin ;
4 ^) N3 s5 D: z8 b# i0 R #else( `& O4 d9 k' G0 a2 M. {6 _1 m
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
# Y' r5 w: R, V" Q if( m_nLightType == 1 )
! O H* L. K8 [/ M% L3 a( {0 I nHour = m_nLightHour;
) h" @; @: I: p( V( A9 S5 B; R #endif
- J/ y1 ]* t9 b9 O* K. a w nHour--;1 P# G) j7 f7 @# X3 a
if( nHour < 0 ) nHour = 0;
3 {5 J/ D! E8 b if( nHour > 23 ) nHour = 23;
$ X; n2 @+ E' O+ O# m: P" b# @' H1 J5 [# u! t2 z
//if( m_bFixedHour )
8 k* G4 T. ^( h' { // nHour = m_nFixedHour, nMin = 0;& D2 L/ h$ X# t
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];: c8 v% W$ `: |) U; ]
LIGHTCOLOR lightColor = m_k24Light[ nHour ];+ X, J: _" z: O
9 E, t# z) ~+ Q; p* ` //m_lightColor = lightColorPrv;( h5 w* `( K1 h8 [
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;% C% K5 I5 i. A4 ^3 i4 ^
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
6 a! |$ n) t1 ?, x. G lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;$ k- T3 ~. t8 a: j) Q% e; a# t
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;, G) ^; Z3 P' }5 C+ l
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60; ^) d5 v6 h) F3 f# Y7 I
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
" F" J/ G% _. j8 q! W# x/ C( ] // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)* x. v1 J. `0 i+ }5 U# H
" i( v7 |) N8 v4 i1 u9 C // à??μ oˉè*
! u( ]" O; M; ?; l4 D- y2 w! M pLight->Diffuse.r = lightColorPrv.r1;5 g. ?2 ~! s4 L# u5 y' g
pLight->Diffuse.g = lightColorPrv.g1;* J. R" @4 x/ |7 K( L4 B. I
pLight->Diffuse.b = lightColorPrv.b1;
$ |+ U+ E! S6 M // oˉè* ??à?
7 @& w1 ]. W0 h/ l6 M- \/ }. G pLight->Specular.r = 1.0f;3 G, C5 J$ V4 o9 ~( A9 _
pLight->Specular.g = 1.0f;; y( |. o1 J/ i7 h
pLight->Specular.b = 1.0f;0 g9 b; Z! w) Z# g2 K
// àü?? oˉè* 4 B: \- F( N7 g
pLight->Ambient.r = lightColorPrv.r2;- x, h+ O: @" e
pLight->Ambient.g = lightColorPrv.g2;
" `4 q1 k% s1 J1 ~" _3 \6 }8 y pLight->Ambient.b = lightColorPrv.b2;
# D& k2 I* K- A% ?" D, N( U
( v1 y; }0 g- N- z- C/ w0 a' t if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.3 |/ O9 e* Z; N7 [
{
- T9 \9 l; N0 C+ O$ P8 ] pLight->Diffuse.r *= 0.6f;
; _8 A) k6 x, p5 J) t pLight->Diffuse.g *= 0.6f;
$ w& E; Z6 L- Z' Y) c pLight->Diffuse.b *= 0.6f;5 c4 ]- T8 }5 a8 G" Y0 a
pLight->Ambient.r *= 0.7f;+ @" V! s/ K0 B; N% Y: ?/ n
pLight->Ambient.g *= 0.7f;
) n4 ]4 _5 }. O pLight->Ambient.b *= 0.7f;0 h) w- w$ S$ |4 R {- \
}
8 B3 s/ G! k9 D
4 G# i. h# i/ ~5 x4 R#if __VER >= 15 // __BS_CHANGING_ENVIR
- }$ a8 |6 h3 q" x+ k) n4 C! w if( g_pPlayer )
5 x8 T9 V( @/ x HookUpdateLight( pLight );
3 V( }1 p: ~' a' e/ |#endif' o# E9 k5 G6 ~* f4 K
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );! T) p5 n. n7 T! H% R
# {; Y; ~9 Z( l! a& s! S0 D
#ifdef __YENV: O5 H# [. b, j% H
pLight->Diffuse.r *= 1.1f;
: P7 w6 A5 a% s0 L0 f6 f pLight->Diffuse.g *= 1.1f;) G( n, L+ D$ B1 l5 x
pLight->Diffuse.b *= 1.1f;' J# [% i& V+ m" ` c
// oˉè* ??à?
3 v7 R8 |2 r8 w0 o pLight->Specular.r = 2.0f;8 p o" b0 n7 Z+ d* f0 r% K9 H
pLight->Specular.g = 2.0f;
) T& `) h" w/ f) G+ E pLight->Specular.b = 2.0f;# h0 q. U. m) _
// á?oˉ
' n3 s& q1 ^6 x! V0 \+ _! ~ pLight->Ambient.r *= 1.0f;
$ J8 L; n( F. a& j q+ Q- K! _ pLight->Ambient.g *= 1.0f;
7 ]" z' F4 ?* x! R) h) I pLight->Ambient.b *= 1.0f;6 L- Q4 A5 n# K' g
#else //__YENV
# A+ t2 {% X; L8 C. m pLight->Diffuse.r *= 1.1f;
5 c7 R) B1 }" |6 j pLight->Diffuse.g *= 1.1f;
. n: w' D8 q) J7 V. L* Z4 _ pLight->Diffuse.b *= 1.1f;
8 C! S! O* P7 X' _ // oˉè* ??à?
% g6 a1 K* n9 N0 { pLight->Specular.r = 2.0f;
- f1 `: o/ l3 p n$ G9 x4 w& H1 g pLight->Specular.g = 2.0f;
9 r$ t* u, q& P8 F+ Q. [4 g/ i pLight->Specular.b = 2.0f;
* j% F* [* y5 M$ t- P d // á?oˉ
* X; d; X; {8 I9 L2 @/ K$ O$ n pLight->Ambient.r *= 0.9f;
; Q" h( c3 A8 Q, t* l i+ [ pLight->Ambient.g *= 0.9f;) h2 A" U0 J+ i: r& |/ U, f
pLight->Ambient.b *= 0.9f;
" D* V) i, e( U Q4 c C#endif //__YENV
3 ?4 t* ?" W( w1 b. q
- K; u( m% v5 Y2 K$ V4 W memcpy( &m_light, pLight, sizeof( m_light ) );2 ?% ^. {" x4 d8 C" |% M
% n1 [# v$ Y5 v/ {4 A- l D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
" c0 M; [, I1 t D3DXMATRIX matTemp;
: t7 @7 A- }+ m, W6 d; V$ T& i static const float CONS_VAL = 3.1415926f / 180.f;
6 V1 W/ W) B5 n& u6 _; b4 b+ ]. j" c
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
4 @% q1 p F" T7 s; B0 {2 n D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
; Q" F9 j* |* } pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); ' Q5 E, K7 y3 H" l: j& I0 x1 c: z5 [* h
pLight->Appear( m_pd3dDevice, TRUE );
/ R+ f% i4 y1 u% D
' c8 r r6 I5 y O2 F5 j& s+ p // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);! O& C+ Q" y' Q' _6 p7 m
// D3DXVec3Normalize(&(vecSun),&(vecSun));
& c, Q" S7 W% o) D# d$ G // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
4 f9 E) }- v1 i) u0 [% @! T' R; K6 s& C6 N: n
DWORD dwR, dwG, dwB;4 [+ ^' L, }( ^: x% k
dwR = (DWORD)( pLight->Ambient.r * 255 );3 {: A8 l" Z2 g; c _
dwG = (DWORD)( pLight->Ambient.g * 255 );
4 t6 d" f( S) m; |* _, N' U dwB = (DWORD)( pLight->Ambient.b * 255 );
+ U. O Q! g6 k5 q dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; h, ?2 N# c+ Q6 w) e5 _ }
8 `: R* Q8 l! ?. B9 k. H }
8 S9 N' M; y* X0 c" R j
+ t* p# F/ I: \1 a& ~ m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );, [ B" n8 ^8 U, l
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) );; ^+ E. F9 D7 w+ z+ U0 @7 v, ?) N
::SetLight( bLight );2 V. U8 c$ A& `8 i! M) }0 z
, p ]' c! e" L& a // ±ao? ?D?í???ó á¤à?
" G& n$ ^; d& `# _) l; ? m_pd3dDevice->SetMaterial( &m_baseMaterial );5 `" ^ V6 K% ]
& p u2 ]2 U& ^$ S#endif // not WORLDSERVER) ?: T5 k+ @) Q' _" @
}
% s5 \" S. ?& y- Q; J并更换' d3 p& y2 k* E/ v" |7 h
Code:
% t' P/ I, g' E3 J5 O% \1 v__FLYFF_INITPAGE_EXT! s' d8 ~( \/ Q; f
定义
- w4 y6 P: D* S. H5 L
8 b% i$ Y1 ]1 ~& T
0 ^* z# R+ h+ t' f% C
& X5 U0 w, }: L: y
r! c" o2 U! [5 Z) C现在终于删除我的狗屁加速...
. {5 e G7 {) N9 q2 t* m7 `6 V6 n, ~) H3 q% i- P N& z
6 S7 J0 @9 f% y' p. ^0 x
{3 N+ O# g7 s0 }7 o0 }8 |; ^
|
|