|
|
食品车:9 `! z% f7 o8 g2 U
尾翼:
* M/ s, x+ Y6 |3 |* E: t+ D* `8 v+ T2 j" w( n
代码:
: l4 S6 _9 R5 HCWndAutoFood::CWndAutoFood()" e5 b/ f& n' k6 P& { W+ j7 p
{
$ X0 q- w) W2 Z6 F& z m_pItemElem = NULL;2 @, M6 t) A: I9 }
m_pTexture = NULL;
8 T% c* w" P6 `0 n7 R8 ? bStart = FALSE;
/ ~ r: _0 x2 S6 K" U/ F2 b& z3 M}
, @5 p* l! L$ E" a
. U3 I2 m4 b! \7 V+ lCWndAutoFood::~CWndAutoFood()+ I) D4 r# m( T9 ?
{
; Y$ Q: f6 f Y5 @1 H. {) s- {# q' v AfxMessageBox( "AutoFood ist gestorben " );
* L- k( K5 Y7 p}* e: U' e. e6 i) r) x* W
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
# {2 S) e+ {% x0 p/ t6 R' P{3 \1 E+ E% f+ r" w* h* T
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );3 h& e8 D. T+ y5 F4 ^" F
}
; K* q- I3 ~" V& w# u. ]5 x& c5 f# A4 f
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )3 R+ |5 A2 Y" \# k0 I7 z) b2 y! I9 {
{
4 ^7 T, E) W# a/ ^& j LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );: a7 Z6 Z% R: x" [/ p
CRect rect = pWndCtrl->rect;, ]; ^4 e4 G0 V) f1 `) h$ S
if( rect && rect.PtInRect( point ) )
; R: a6 \: ?$ y! E1 G0 C# M/ J {
4 @2 ~0 e3 Y1 N: z CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
+ D7 U4 y9 ~, f& E. l% N if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
a* e( L0 K: z {2 s0 }! [# C8 A8 z
if( m_pItemElem )
c* b6 C+ [3 R" p$ ~/ b {! P3 _- M7 ]9 H; ~0 a& f1 J+ z
m_pItemElem = NULL;
' M4 d( |: c2 J9 D2 T }9 k5 X8 }( n* x+ |% I0 p& ~
m_pItemElem = pItemElem;
8 L2 m' `+ r6 o1 Q2 t n m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );2 ~& f" I/ D& J
}else{$ R. X( P* O$ m3 z) _# U
SetForbid( TRUE );
% ?8 O. `$ v( }3 n1 L# w" q }
7 H9 X W! b4 v- R' z; V% z, X }else{6 W: o8 s) ~' B& N% B
SetForbid( TRUE );
( B; f# ?4 H0 p! ^. W }
: w* T5 `# x) W7 w3 U return TRUE;
+ t: j! {# ]5 Z. T3 U}
: E. o/ |1 J5 j) J0 N; F3 W6 \* J: D' e4 L' Z# p
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
+ H5 P& X9 V$ u4 v5 s' @{
+ l" l' r+ ~* @/ H7 z switch( nID )
* ~! _# o! V8 F3 l; ] {
2 k& E/ o. O1 W8 |: g: ^. z case WIDC_BUTTON3:3 ?3 C6 u; E' R0 t- S$ A$ M
{- g' S x$ f4 q9 Z6 m" }
bStart = TRUE;
( y9 @/ J y9 Q" L" d4 q4 G break;
- w( b+ |% u4 W- n9 k# \6 Z) V }
5 F) z4 [/ K; U5 ^1 c' u case WIDC_BUTTON4:
- v3 q$ M( a a% g {. f6 ~, j- Y# E7 S2 Q t! H
bStart = FALSE;
) {/ U7 f4 g$ u% h$ W \, m0 ?9 Z break;
, y1 ^1 I) z- `# I9 t }- w4 Y6 B! a* ]1 t9 \3 i, a1 T% [3 z$ ]
} u1 u5 N0 Z' @6 e4 E( Q
return CWndNeuz::OnChildNotify( message, nID, pLResult );; ~0 V$ o5 P$ W, ^
}
; s$ n1 [. F8 b- Q5 k/ S% [2 Gvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
+ L/ K) f1 Q |{
& t. @' q3 f1 r1 n! w5 E2 N# K3 S CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
% N3 c# ^4 n5 A& o. X if( bStart || !m_pItemElem )
6 O3 Y& w4 q) E {
3 Q7 Y6 a5 G# P! J. C5 h pBtn->EnableWindow( FALSE );
0 Z% P+ |6 A: C5 _# X# n: l! v0 e }else4 B, o! y1 y" [# \2 T/ y# t
pBtn->EnableWindow( TRUE );- P8 A; i% p8 o" y0 D% E
if( m_pTexture )9 g7 f0 w2 V' _4 z( i, e
{
, `9 }5 k* x2 S F. w" P LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );, v7 a9 E5 H6 H. j0 g$ j$ C
if( wndCtrl && wndCtrl->rect )" A$ ?, B; X8 D/ q; I
{; M& \, J0 f/ I# e. y
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) ); n# U/ q( N% H9 r7 F! B
}% y# Z' W$ l& x3 s, e( `; s, [
}0 k9 L& ]: ^ @9 i# m
}
4 A1 D" b* g) n, h2 }( S8 R6 [6 M1 m6 g& d
BOOL CWndAutoFood: rocess(). h6 ]' t) j* }0 f# m6 `' F
{3 x- }4 j* ?, H. j$ K3 n
if( bStart )
3 F. h2 v) e( c0 a {' l2 F4 o1 G# I0 X6 H$ R7 R2 o9 H; ^
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
. M- U; s7 |, z {
3 [8 V ^' X. T6 V" A/ J5 H if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )6 I+ F3 o: ?& ]6 `( L E6 x9 O0 W U
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );- X3 r/ P% e9 D/ U& P' n) M* q0 W% l
}else{! S' p( _8 R+ M
bStart = FALSE;6 }, }) M5 i0 W' r4 _) D
m_pItemElem = NULL;0 ?0 W" q* M5 g; H) z
}
, B1 k; O" k* z5 D2 b1 @/ k }$ M4 x4 F) o$ p6 T
return TRUE;8 Z7 Z/ c/ `, @
}9 b0 r! {3 Y D. r: m
( Y; J# K% k* d8 V3 ~ ]; O登录视频废话:
. E1 J, A; V; [) k尾翼:
, r: S& o$ e- e/ `: g. [8 u
( F( _6 @( \ ^6 x1 b3 n! d代码:
# W7 b1 k/ h1 ?4 H% @
5 D7 ~/ T( f; B! w# R; B- u' ^void CWorld::SetLight( BOOL bLight )( X, f4 w+ ]* [3 }) q
durch
# x/ u" \+ C9 [: P5 Y5 o* G, lCode:
0 K9 D% D2 r, L$ X/ Q" Dvoid CWorld::SetLight( BOOL bLight )6 l/ C5 ~9 {9 p) A4 f
{+ w8 T1 J& @# [ d6 |3 @
//ACE("SetLight %d \n", bLight);6 g/ B% j9 u' x( q4 s6 M( l1 @
1 O, m8 |2 h# ]
#ifndef __WORLDSERVER ) q6 A a' `# ~* V- a4 U9 Q+ a& R1 J
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
1 H+ H7 ~* f: r1 D; K; { CLight* pLight = NULL;4 w: o+ ?4 _& Q8 Y; ^" F
. t5 O2 l7 ?4 m+ K% G6 ? D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );: k! X8 N) i: \3 w1 O
: h3 |# V, j7 y! ` pLight = GetLight( "direction" );* d( @; _' Q" c$ e1 C% q: e3 {, F$ M0 V, \
8 z0 l5 O: E, h$ e5 K0 M
#if __VER >= 15 // __BS_CHANGING_ENVIR
6 y1 J7 E9 p# `1 R$ F7 F2 ]; k if( g_pPlayer ){
9 P9 f6 ]5 i6 k( s0 D5 n+ W, l ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
9 k c' f _ u. k: Z9 p if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!0 P# Y! G7 O$ a9 z, n X9 `
{
- X }3 O# B" K; u0 o if( pLight )
- X& H; ?) x I7 z& v2 W {, ]3 p3 l6 N* Y' @8 b0 p
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];' C3 `- t. z7 @$ f7 Z+ j2 M6 j0 I
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
9 @' [4 T9 z/ h+ ]3 C pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
! a( h/ q5 A5 x3 k8 |; {: m! Z- [8 }: [$ t9 u& w9 {$ w
pLight->Specular.r = 2.0f;
1 O) L. E+ ? [ K1 \3 u pLight->Specular.g = 2.0f;; a4 v, q4 u$ W+ E6 @
pLight->Specular.b = 2.0f;
8 V* r- M2 L; j4 o, D f6 O' p $ R) S) f1 c/ `4 [1 B" d9 ~
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];! l" Y$ n! c" N# ?) d* v
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
, V3 ]* }' u$ r# H' G2 s pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
4 g! K" Z* G; F
; S8 V- x/ c' V2 L3 B HookUpdateLight( pLight );
3 M5 S9 t9 `+ @# |
5 r+ a8 e1 B9 e) z6 k memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 x9 T1 H5 T, b. B. B+ K K; I1 z7 @1 I4 T# F5 B4 x
pLight->Diffuse.r *= 1.2f;* B! O t# N. c/ { X0 t
pLight->Diffuse.g *= 1.2f;% K- T C6 @1 e6 L6 O+ }6 u
pLight->Diffuse.b *= 1.2f;
( i, E W2 W# }9 }. m4 k/ H9 |1 t+ ?$ k, N) D: p J b
pLight->Ambient.r *= 0.8f;! H; t: I( I) u- T! O; X
pLight->Ambient.g *= 0.8f;
. c1 l, H* b0 D- b) b3 ^ pLight->Ambient.b *= 0.8f;
0 f0 N9 }4 b4 w9 }. o8 k - {2 K+ {. }! W8 P% Z+ [/ ]$ Q. D6 g1 {4 s
memcpy( &m_light, pLight, sizeof( m_light ) );6 D) C' d& G) n `! x) G
7 i8 Z) q6 W T0 } D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);, s& T. m! Q6 q
D3DXVec3Normalize(&(vecSun),&(vecSun));
6 z' l' u# K$ x# Y9 b pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 7 k# F! c% X, D3 t+ N3 \
pLight->Appear( m_pd3dDevice, TRUE );
. W( r# g F% l( i* O/ L ' p- }7 B9 n+ x# _
DWORD dwR, dwG, dwB;
2 M% H# s& B' m- W& i dwR = (DWORD)( pLight->Ambient.r * 255 );( }! P9 Q+ G# I" J
dwG = (DWORD)( pLight->Ambient.g * 255 );+ D+ T7 R% s# t) p
dwB = (DWORD)( pLight->Ambient.b * 255 );' Q+ G" n) e; H4 b; m( C$ S! d& {
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );. X$ i7 u/ f) B# C
}" N4 ]" C, y( z3 W
}+ ?. ~- a. F* O0 d7 U
}/ s3 @7 A- n, N. t: m% G
else
" `0 i! O$ f4 {5 ]" _* M/ v, F& ~#endif
4 @1 J9 j I5 l w0 a
e8 e& @8 Z$ D* X1 m3 o- R# y M) _" W+ i if( m_bIsIndoor )
& R1 P0 n: d4 _8 f {
6 I% \. ~. [( W) U. U* W7 b, p if( pLight )4 s3 O; t! P) V/ ` D
{
1 N' U( @' c; U( t& C5 Z: x5 H // à??μ oˉè* * Q4 T& O& A1 c* f0 e, D
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
2 w8 k; m! \$ ^8 n c9 H+ \& z- @, p pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
& \( H* q8 d0 K pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
, z3 F) I {7 X4 r$ g# [9 @9 u7 p5 M' G: y
// oˉè* ??à?
. T5 c1 e9 J3 s9 W& l* z' j' P pLight->Specular.r = 1.0f;
6 w7 \ ~- V& C u8 Z pLight->Specular.g = 1.0f;
1 u. L9 ^; [* q pLight->Specular.b = 1.0f;1 g& {* ]8 H8 m O* G, y
// àü?? oˉè* 6 q+ g8 g I, o/ v! a% d
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;( c0 ^; u* Q5 t9 P& b# T) O
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
6 ]/ W7 k; }3 Y pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
4 h+ @2 M }& g) O# d
# {" z* N. z# i' R% X if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.2 g2 s: S! `3 \( s; R, o/ x
{
0 c. S7 U0 v0 L$ E3 | h; X/ l- N" N pLight->Diffuse.r *= 0.6f;
: ]) v0 i* g- V/ s9 W pLight->Diffuse.g *= 0.6f;
9 g7 b7 _9 P+ c pLight->Diffuse.b *= 0.6f; Y z$ k+ P8 f6 x
pLight->Ambient.r *= 0.7f;
' |+ _) m0 [4 i/ S; f0 o3 t pLight->Ambient.g *= 0.7f;( t, W E9 L. g5 u- S1 G
pLight->Ambient.b *= 0.7f;3 u$ h* P# _& X# I
}
5 D0 k# a% \$ w8 n) L% p/ n" @8 R
6 H$ T- x0 S1 Q* I* a" ?1 |#if __VER >= 15 // __BS_CHANGING_ENVIR5 W# N; l L- E; e3 z
if( g_pPlayer )
+ m% _8 N/ L4 B HookUpdateLight( pLight );- Q+ R# Q+ r1 A2 z
#endif0 o9 x# b- B' T& }) o
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
/ h& N& B! o; ]# C1 u9 u; b- W0 I
/ G* e' I5 N* O' S- a8 r pLight->Diffuse.r += 0.1f;1 q1 N/ Z( r' |
pLight->Diffuse.g += 0.1f;
* f# t5 J3 P8 Y" i3 C pLight->Diffuse.b += 0.1f;
. E) N$ R, H; i. P$ ] // oˉè* ??à?
( p+ \- Z& b, S ?6 h pLight->Specular.r = 2.0f;7 h( H2 ?! }: T2 T
pLight->Specular.g = 2.0f;
* j2 m! A- U7 _9 ?" X0 Y" N pLight->Specular.b = 2.0f;2 |: \3 H. p# K% {/ J
// á?oˉ
, I5 _6 f- F. o. F3 C- g2 h pLight->Ambient.r *= 0.9f;# w L) v* ^2 N5 `7 }/ @
pLight->Ambient.g *= 0.9f;3 v! q* o8 }, \9 Z0 R
pLight->Ambient.b *= 0.9f;6 @$ U/ b3 O1 L
/ L+ {( g' |$ t& ~ memcpy( &m_light, pLight, sizeof( m_light ) );$ x @1 T B; P2 g
( E! i% t _ v% m2 c4 X2 r pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );7 S0 A- T0 U/ R$ ?5 d5 {
pLight->Appear( m_pd3dDevice, TRUE );1 Y: W& d: D' t9 Z
! a* K$ |2 @3 N: @4 |/ U DWORD dwR, dwG, dwB;+ d5 E4 y% X! x4 X. K, a9 `# M
dwR = (DWORD)( pLight->Ambient.r * 255 );
6 L1 X, n) S$ I dwG = (DWORD)( pLight->Ambient.g * 255 );% z; Z4 Q5 M ~7 _9 P, e- i5 i1 ~
dwB = (DWORD)( pLight->Ambient.b * 255 );
6 @' t; e! v. D- h) Y dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- X( g* y4 j' ]' L* N }3 S* r u' A! p' O
} z" D$ C# C6 l4 I& W
else5 t, r+ }! w- ~. ], R8 y
{
: J; S2 m8 r$ m+ ? if( pLight )/ `, F2 ]9 K" Z" {5 p7 c: D! |
{; A( z3 y/ {! Y& r( j% W, B# t
: m% w( E; I- E( X5 _
int nHour = 8, nMin = 0;
2 E! q* ?* I7 |) i# |2 L #ifdef __CLIENT: N' u0 x2 O- _& x1 k3 t- O
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
8 i1 `: r) B/ J k, R nHour = g_GameTimer.m_nHour;
/ G2 J4 r& C. L nMin = g_GameTimer.m_nMin ;
/ I4 C' {9 j& t9 u. ?4 @7 E% w& C #else" n* K. v: |) S* @% v0 I
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.0 Q: o4 z. R. Z' {# d! N
if( m_nLightType == 1 )
9 \" H- k- y) c3 E3 e$ U7 a! A8 m nHour = m_nLightHour;
/ r8 ?: t6 Z; p #endif- {6 Y0 X& y: t; F6 Z2 f
nHour--;
q5 D% s+ a* M: I- J+ ^ if( nHour < 0 ) nHour = 0;
. @0 p" {0 r6 ^, b if( nHour > 23 ) nHour = 23;3 e6 X9 ]+ |' a" Q) z4 t/ [
% [2 p& |& X8 y6 a6 c( [! N //if( m_bFixedHour )% Q- u1 [% L8 y+ o6 |
// nHour = m_nFixedHour, nMin = 0;
$ ?( M6 O D" U' f$ ? {3 j LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
& C9 d. o/ T) }" w. x' c4 F LIGHTCOLOR lightColor = m_k24Light[ nHour ];% h) b$ J0 \ z. b; b J
8 @- E+ A* |' h% K9 Z( z* v //m_lightColor = lightColorPrv;. N- I! B9 o& c0 O: l9 o
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
$ d( }7 l) `* @. [ I" ] lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60; `9 M$ r y: f4 v5 B" R2 m
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
6 S% S. a0 o/ R7 ~. o' Z lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
; M$ K- Q, ?6 S" g! p2 m lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
* ^1 c' L) B. ] lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
6 r k( X- J! Z5 u9 m* c // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)4 {( b; Y. |" l! z, o! R
7 p+ N( q, ]: h; a
// à??μ oˉè*
2 F4 T! J& Z4 j& r" B# H pLight->Diffuse.r = lightColorPrv.r1;
. p0 l. C, n% `/ D3 I pLight->Diffuse.g = lightColorPrv.g1;$ D. k$ ~( r' C0 s
pLight->Diffuse.b = lightColorPrv.b1;2 ^- @: J! i9 y5 O/ i
// oˉè* ??à? 9 ~9 Y: {7 e6 Z6 ^& i
pLight->Specular.r = 1.0f;
% p0 D" c n" u' i* b pLight->Specular.g = 1.0f;4 M+ y* l' H$ l5 q( A- ?
pLight->Specular.b = 1.0f;* K8 {- |+ G/ M, w" f: g
// àü?? oˉè* * \- A' R: {1 O: _
pLight->Ambient.r = lightColorPrv.r2;4 V/ z. f; ^. _) }0 M
pLight->Ambient.g = lightColorPrv.g2;
A' z/ u4 m( i5 X3 S- h) a* { pLight->Ambient.b = lightColorPrv.b2;1 i) s3 O B9 q, y
6 k$ Y+ T4 K7 z: _ if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
+ _% H; E* l- z8 l* G {8 g( Y. W( x) j( D. K$ C1 i9 @) t4 H
pLight->Diffuse.r *= 0.6f;( v2 H& c7 @. @& c7 E% R9 \6 \" [
pLight->Diffuse.g *= 0.6f;4 n1 h& R1 @9 \: @) d) n
pLight->Diffuse.b *= 0.6f;1 a/ x* p3 [. E# V1 X( g7 g, | L2 c
pLight->Ambient.r *= 0.7f;
( i( } O; [& J4 O( B$ I( X7 E9 J0 X% n pLight->Ambient.g *= 0.7f;( F F8 d, p# u# K3 s, @( k' S
pLight->Ambient.b *= 0.7f;
) r9 }+ H( O( G- d' {, P" W3 w }! k+ h l4 H$ C/ q+ U2 V/ {
" p' `2 U. J/ X# t#if __VER >= 15 // __BS_CHANGING_ENVIR
2 \8 Q5 o. x. t0 O! V3 S6 S if( g_pPlayer )6 y0 u& [' H# c2 F
HookUpdateLight( pLight );
7 v' P- G4 w, A& N: ]#endif: a1 J9 p' e& I( i3 o
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );7 G3 ~" v1 J; N- J+ y$ K, ?4 z" d% q
7 |6 g$ v1 E* |0 Z( x' V
#ifdef __YENV
& `. m: ?% ]* ^7 x# e pLight->Diffuse.r *= 1.1f;
& K, |6 M) n, p2 Q5 B pLight->Diffuse.g *= 1.1f;' g( l6 n2 W& g( m# k V
pLight->Diffuse.b *= 1.1f;
5 {" F" c/ f- r // oˉè* ??à?
) r9 L5 d6 Z. Z* K/ H" E pLight->Specular.r = 2.0f;* m, c) w' Y' @$ @3 m. ?' |5 z
pLight->Specular.g = 2.0f;1 U( b p4 n" Q, K/ p
pLight->Specular.b = 2.0f;) F! p. v4 v& _0 v
// á?oˉ 6 s2 D3 q/ h& w9 Q6 I
pLight->Ambient.r *= 1.0f;0 r: {5 c! _: ], G% o- b1 j# F2 g
pLight->Ambient.g *= 1.0f;
( K1 D3 S# E; k) C F3 p! Y+ t pLight->Ambient.b *= 1.0f;
* `, W) w0 n P6 D; X# V#else //__YENV
" M2 m- \0 q) W) O- g* V pLight->Diffuse.r *= 1.1f;
C3 n2 X" t( N; }% x pLight->Diffuse.g *= 1.1f;
6 ^5 T' g k' t( m1 K Z2 }5 T9 C1 l pLight->Diffuse.b *= 1.1f;
* f: E& w& f& a% r7 D // oˉè* ??à? # c% s5 r( Q; y4 g; P* ~' Y/ w/ T* K
pLight->Specular.r = 2.0f;8 c, V/ {. s# F! j5 V) I N
pLight->Specular.g = 2.0f;
! M% e! E+ @: H pLight->Specular.b = 2.0f;
; L4 R1 X' O& S // á?oˉ - d8 t5 F# U, d7 R& d2 _) Z A
pLight->Ambient.r *= 0.9f;5 S# n! s4 {: U& a4 S8 w7 L3 z
pLight->Ambient.g *= 0.9f;$ O2 i- h" N7 f8 z* N% K8 X- o: q2 l4 A
pLight->Ambient.b *= 0.9f;
- C9 t* W& T/ V#endif //__YENV 0 w; o3 z. n3 H6 {8 A
0 V$ q7 q- Y9 w6 @/ g, { memcpy( &m_light, pLight, sizeof( m_light ) );+ m; `' A( q7 n4 [4 j! v/ v) U
t3 @! G a- y& C D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);( u. D8 P3 x5 b' W* A
D3DXMATRIX matTemp;6 I1 ]4 d R$ [1 ?% t+ Q
static const float CONS_VAL = 3.1415926f / 180.f;
* H2 R3 I9 x: D; J, W) n" e4 c, p* Y1 |+ p
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
! a3 U. n- a" q8 M D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);, K% `" K7 u5 N& _
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
( z! Z0 S" h( L0 u7 U pLight->Appear( m_pd3dDevice, TRUE );
* a0 Z% V* f; R% i+ u8 ^
9 c) O4 o! Z7 R2 t4 W& z7 S' X // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);2 m$ T- u. b4 b7 \' B2 E
// D3DXVec3Normalize(&(vecSun),&(vecSun));* p& _/ c! ?+ A; L y
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
3 J# R L# _! t Z; K, C7 S( }7 m$ `4 h) z) j3 B
DWORD dwR, dwG, dwB;
% e0 [9 W1 H+ { dwR = (DWORD)( pLight->Ambient.r * 255 );- Z# k( a: o% p% j7 Y6 J! r. {, i/ q
dwG = (DWORD)( pLight->Ambient.g * 255 );) ^( u) J3 e( X$ ]7 }
dwB = (DWORD)( pLight->Ambient.b * 255 );
) l- H) @ _- m: r/ h dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) X- ]) H) s( s! i }
D1 F; |& v9 ^+ k" y/ a9 J }5 V4 k/ E$ m* p% L2 S7 `+ G
) S t( [" a' t: m) x: _8 n8 F2 n
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );: d5 X4 o4 R( n/ E3 M+ w" W
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) );
4 B$ h+ P; D7 M6 U d ::SetLight( bLight );7 g( h5 S+ y: K [! `
7 u1 x. b8 J6 Q7 ^/ e9 m
// ±ao? ?D?í???ó á¤à? . Z$ h. y$ R8 J' v- I1 Z' Y
m_pd3dDevice->SetMaterial( &m_baseMaterial );
$ k* b. v* z3 _" n. c3 d
: Q4 p( R8 ^) k K( l#endif // not WORLDSERVER
# L" |/ H* }9 M* W7 p" w6 x( H}1 `* X- V1 g* o4 n. q
并更换
# @9 J" R A/ }. kCode:
N J: E4 u n& X N! F__FLYFF_INITPAGE_EXT* ~1 L$ s9 v! ?. Z" b
定义
# Q0 k; }1 t8 `7 x) k2 K2 x
& R0 r3 J! Q9 j8 {& Q& @( m1 Q! ^9 a8 J! x0 {; f
! X( J( B: _! h- P% o' A
2 U1 y1 j% u3 \现在终于删除我的狗屁加速...
- s p. L' K, i( S+ }( ]8 L8 q( I. g @9 v# G+ P+ E9 n
0 {5 G, ]7 q! E I0 k! Z0 K
0 C4 a: ~! i" q' D- F0 O2 a6 C
|
|