|
食品车:
7 ~! _& W9 t' \! d! A1 C尾翼:
Q T5 s; V4 d; E- }5 @' Y1 q& T) F3 K
代码:, L4 m7 j; l$ r- ^
CWndAutoFood::CWndAutoFood()
: q% v, T' H- f9 F, K1 B{
; ]3 L2 b" x& ^+ k7 _- Z4 V9 Z m_pItemElem = NULL;6 {: l% m: u2 x+ w
m_pTexture = NULL;1 H2 w) N) d( k6 Y. M8 l( V: J; p
bStart = FALSE;3 N' p; H# G, Q7 d$ v" H6 H5 `% z
}
: j% L$ @9 a y7 `, O
4 E2 j @9 H8 H$ \7 f: @# iCWndAutoFood::~CWndAutoFood()# G( {( c) a! M2 p; Y
{, _- u; q3 H& Q k* w% ^
AfxMessageBox( "AutoFood ist gestorben " );+ s( q( T( m" A( E' G3 U
}- x9 i" Z2 J* t5 o1 b
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )1 J) C# ^' l9 ~% o# u5 L; J
{
& l! z; n; N% f" G ~* _/ ]4 k3 V return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
% a8 o5 d* D# d}7 V% _ L* P. u- A" {( m. }
) {" {+ A% R2 a7 M1 h
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )8 V6 D* y1 x: s5 z
{+ i, d' D4 P3 Q4 o# N( O& M
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );* C5 @( R% M! m. S; O
CRect rect = pWndCtrl->rect;
# X/ y7 \; M0 R7 B/ d) d$ _- K! A if( rect && rect.PtInRect( point ) ) U6 p; }5 O/ c1 @: ]( ^
{# j% J- d/ f- [+ @+ g- Q. U$ y
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
9 }" T; ^$ h; Y. w6 ?1 u if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )! y, i: @8 q1 f0 ?" |
{
1 g' o% I# @7 R if( m_pItemElem )( u! r- l5 U1 G2 T# h1 x* H2 K
{
- p6 X% k% O" f, a5 @8 F3 G! }: Z m_pItemElem = NULL;% U( A q6 \* Q3 k6 n/ l& w
}
: V' z% E5 H/ B4 K* a m_pItemElem = pItemElem;
* h$ A z% u* r# T$ {$ v, c m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
' s, g6 r4 F. ^/ y& A1 J6 B8 ]1 b }else{* `2 x4 O+ F) b5 }. T
SetForbid( TRUE );
( N* j0 N F: z2 z; ]; C, Y1 o% G5 e }- O3 n5 V Q' y8 \6 K
}else{, ^+ y" W/ |5 V* e" K3 N
SetForbid( TRUE );
. j/ k: W" B( x: D- @2 B4 { }
3 y' |! h. a3 R; P return TRUE;
5 p; ], h9 Z( y; I2 }4 j}
; M4 G4 X2 {' m" R1 m* k# X. g/ i8 Y* b: p5 b/ J
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )( Y0 l) F. X* |% c' b, `& m' ]
{, o7 A7 x3 p$ M" M3 B9 c
switch( nID )
( Q; k! }7 q3 A8 J" |8 Y8 V {
) V* ? u5 C8 p) S* H7 a case WIDC_BUTTON3:
- c5 `/ `' e. T$ C5 X9 Q* h {
$ x+ X1 f' p$ t- k: R! S/ e bStart = TRUE;" @% }. t, [; x; \3 s% b4 U
break;& Z* Q" _6 u; w& V, g F# W% j
}
V' S1 l" O1 M8 t1 l% { case WIDC_BUTTON4:
! h' F9 S m6 G. i. F* P- }+ ? {/ F7 e' g. B% }5 ~3 s) M
bStart = FALSE;
( x8 u g) ~: p6 f8 R; H% l break;/ e0 h' n& x/ _
}, E/ N4 f/ ?3 L! R' e; R1 W: d
}9 F7 \" _/ o% ^9 h/ w
return CWndNeuz::OnChildNotify( message, nID, pLResult );% H& y5 B* h: D
} % K& t* O/ k4 a
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
5 B: V5 q, F/ ]3 C x{7 n$ }# R) W$ O/ j: N
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
0 D5 H+ ^7 y! g if( bStart || !m_pItemElem )) e* U+ T5 W/ l, u
{# C4 _+ Q+ W$ \+ b# x) n* V4 W: Z
pBtn->EnableWindow( FALSE );
" `# e) T1 G' L& y }else
6 o8 _$ k; i3 y0 b# J, w1 E pBtn->EnableWindow( TRUE );/ o5 `; ]3 [6 R6 P; R
if( m_pTexture )$ l- ^9 X0 R2 a& j1 d! T& z
{8 V U9 i3 e3 s5 z- s
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
# s& x/ m( k3 _ if( wndCtrl && wndCtrl->rect )! q( Z# t M' R. ^ ` [
{
% T9 ]! Y: D4 O1 S: n3 c/ V m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
, |3 t8 |' v/ T# a D R }2 l- i9 |8 Y2 C4 ~' s# N
}
J; n, s+ R& N}$ G$ k7 y4 ]8 K, t& g
' t- D B3 U& V/ X6 K
BOOL CWndAutoFood: rocess()
4 i$ U* E2 @1 n' q# [) N6 ^0 ?) F' h2 W{9 X. e5 A) C' D4 _* I( P
if( bStart )+ [# U! g: a; E5 y- |+ x2 I2 V
{. K5 V1 A9 y; b: G' P+ n1 S T+ Z
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
6 d( Z; \8 e, t' O {* l- R0 \$ ^# u% d; 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() )
( j4 G1 }( {5 D7 } g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
]1 g9 i3 t7 u8 _7 y2 ~ }else{( u/ q( ~# t4 i. v
bStart = FALSE;' A6 {4 J% F* m/ Z% X; O
m_pItemElem = NULL;
5 U$ j0 Q& U4 Y4 @* \% X }
" h/ V& N5 i3 v/ V0 d$ R$ R }
4 N2 f# [: S$ G& u: a) Q4 | return TRUE;
* c2 f3 K8 _- k3 Q+ Z7 P}
; T1 F- |3 w" _7 m
3 ?- f9 y/ u* E+ W. {$ ]: f# [: L登录视频废话:1 Q+ _, x9 E" X, F7 O" B' h, b- ?) u1 \
尾翼:$ r8 c8 `% Y4 k. z I6 n+ s4 G
1 p/ F6 S3 |9 k/ w' n
代码:
& g% h$ i" L7 N" ?+ V8 h# q8 e5 A- A4 y& D* o4 v+ [$ G5 t$ S
void CWorld::SetLight( BOOL bLight )1 O/ G, M" j" G% R* a) t Z
durch- k, k4 p! @: B
Code: e- J9 A' P# ^# ?
void CWorld::SetLight( BOOL bLight )$ \+ `$ I" H; }. ]
{# A: F1 ~: N7 {# Y* m
//ACE("SetLight %d \n", bLight);
{" [, e3 m4 B X
, s0 ~8 v6 L& t#ifndef __WORLDSERVER
, |+ ?, g. N8 L0 ` DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
( p: |( P* i8 d) j V CLight* pLight = NULL;
9 N& p! S2 b- l' I6 M- R3 D- y; u- M, @: p, x- v
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
$ V* | h; h, N/ K' {
' A4 P Y( P- A& X" V# B! P pLight = GetLight( "direction" );0 E/ L( p' i, L" e; Z
6 P$ n0 b4 x6 C: F; |#if __VER >= 15 // __BS_CHANGING_ENVIR0 ^/ c3 Z+ ^1 ]
if( g_pPlayer ){
' ?3 q3 U5 [# Z" O9 P" ] ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );* E, w. q( y1 i
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
; D% M5 b' F9 t7 ]* B/ J+ T* O% M {
: E( K% i" E, A4 u if( pLight )! M5 q# e4 _8 `1 n& p- V) e
{& c: t, ]2 w! }; g
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
6 L+ K! k& G1 z# f pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
" @4 b" Z1 Z2 @+ H pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
3 ^' } ?3 w5 S& c6 n) `
/ ]9 w' {; E4 G pLight->Specular.r = 2.0f; x5 C6 }5 n! a8 S/ _+ _6 R% j
pLight->Specular.g = 2.0f;( B" p- u) N8 F q$ a2 i+ h
pLight->Specular.b = 2.0f;6 g |) n$ s- ]" ~3 O2 U
- b# z3 d) O/ b0 L1 f) U
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];2 m0 l7 }: N( {$ c$ p3 t( `
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];1 t' f+ B3 v% H# x
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
+ [- f) K. t5 K! H/ f4 @
# ^$ z: t3 _, Y v) n7 A* \5 Y HookUpdateLight( pLight ); 4 W2 g* D) m. H' ?
& \& V1 _7 @2 e2 G! F memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );0 Y3 _# a8 f- }# d, m- A- h
# _0 \" }+ ^! p; V. O# ]8 P pLight->Diffuse.r *= 1.2f;3 k0 w' i2 C- T2 `) a
pLight->Diffuse.g *= 1.2f;
3 u1 P. m3 c+ @% |& ~/ Z pLight->Diffuse.b *= 1.2f;
% L: w% i1 T9 ]) E- w/ C$ V* W! y7 U0 L4 e
pLight->Ambient.r *= 0.8f;3 b+ L. S1 F+ U& ]5 ~" @5 G( o- {" k
pLight->Ambient.g *= 0.8f;
& G) f' @. o) G. _: e' w/ u* {# B9 U pLight->Ambient.b *= 0.8f;
9 N6 M; v1 V7 v/ S |( M ) y! x7 n7 j: h2 N- Y0 j; {' ?
memcpy( &m_light, pLight, sizeof( m_light ) );
2 x- |8 i5 K( h) q/ Q2 a2 ]2 u$ r& N7 _
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);6 e+ ]3 L% {- i3 Z! r. G+ G5 M$ H
D3DXVec3Normalize(&(vecSun),&(vecSun));
) J! F* P% s8 ?" h pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ' Y/ x* e3 \- M" w# k# J6 ?' ]" i
pLight->Appear( m_pd3dDevice, TRUE );
# ]" w/ y0 M" ~3 l0 u, h0 ^ 5 R! i8 d1 e6 q0 w" | A+ b/ B0 _& }
DWORD dwR, dwG, dwB;9 \- y: r. P! s7 a! D8 x$ |- D! Y0 R( M
dwR = (DWORD)( pLight->Ambient.r * 255 );$ X* z; C" R, Q$ _; x
dwG = (DWORD)( pLight->Ambient.g * 255 );, Y1 c8 O: Q, _! Y5 s
dwB = (DWORD)( pLight->Ambient.b * 255 );$ [; i4 R! {& M$ k" c
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );5 Y r; v; ?1 G
}
5 \& \6 h: ]; z- n! b- r/ Z" T }
4 I' O- X4 u3 H: T* L( H }
- Z) q) [$ W* R+ Z8 G else+ o1 R$ c8 {% E# H4 B" u7 p
#endif
, X* G, n, }4 ^; ?/ D/ `$ j# b/ U
" ^4 K$ ]/ i* k- }6 M3 t if( m_bIsIndoor )$ \9 }% D5 @) g" k3 h
{5 o( \1 F' W( `2 o# q
if( pLight )
8 S. g; u( M! {* M, `) r { ; d/ Z) }' W# Y1 ? v0 ~1 [& L
// à??μ oˉè*
: I% ]! y/ \0 d. x3 s0 i5 z pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;) @. y; I/ A7 X& e; `2 ?. R
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;- E; q* @) K6 i' i7 g
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;! l) O2 Q) y0 `; F
1 ~. _ G3 E" K# N0 ~* | // oˉè* ??à? 7 f& Y. y# }5 Y& g
pLight->Specular.r = 1.0f;
3 _2 S( k7 ~& q, N( S7 [ pLight->Specular.g = 1.0f;
0 l' T Q3 f' X, x7 Y$ ], T/ m# P pLight->Specular.b = 1.0f;
& `6 ^ j' ]: ~! p // àü?? oˉè*
5 c- [+ P# U& [5 K& U# U. @% ] pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
0 l7 y2 G9 @) e2 N t5 J( ?0 W pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;0 z$ z! R; v/ J& ?+ e
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;, `) p, D z1 _6 H2 W ~- H
8 t+ X* }0 K. R( i9 H$ g( D
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??., v. A" N3 B9 a- s; {9 g1 [ Z
{
! p @. t) I' z3 ~ pLight->Diffuse.r *= 0.6f; h: {! G$ Z: ]" X0 u" ?4 [
pLight->Diffuse.g *= 0.6f;
2 B! c; Z& |, B- p# w3 r$ P- ] pLight->Diffuse.b *= 0.6f;
( ^1 D; I0 T7 O7 ?8 e pLight->Ambient.r *= 0.7f;: I0 @ i2 ]$ Y0 g: Y- z2 O- D, Q/ S
pLight->Ambient.g *= 0.7f;
+ y+ w8 K5 h9 z$ h( `& w- h* P0 g pLight->Ambient.b *= 0.7f;
" _1 }% H! g1 a: d& v* V }
4 C$ a" N; S% z+ i3 S
1 ]4 i8 t; K7 m3 j" V3 j, w#if __VER >= 15 // __BS_CHANGING_ENVIR
! g, {! n( l( {1 n" z! w, K# m, Y, H4 e if( g_pPlayer )+ ?+ q3 a( W) u& n
HookUpdateLight( pLight );
- O1 d. Y) m0 S n6 B! |1 M#endif% U1 h3 I. [( @3 q% X
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );! f% T& F: ]" t0 g2 z7 ]7 }2 K
' q8 V2 c% |" S" N' y* F y pLight->Diffuse.r += 0.1f;9 P+ g% w0 _% m- c( A" X4 [6 k
pLight->Diffuse.g += 0.1f;7 n4 I7 x. Z, j$ r( Z/ ^) Y( _
pLight->Diffuse.b += 0.1f;4 V. ?) v: l3 z, a0 F6 j9 V
// oˉè* ??à?
* O% P! t3 z6 s3 m pLight->Specular.r = 2.0f;) S8 R* l% M d9 o- C
pLight->Specular.g = 2.0f;1 ?1 m- f5 {8 H- H# ?* t
pLight->Specular.b = 2.0f;
" F2 e8 ^7 M# B, n2 J7 d2 k // á?oˉ & ^1 D3 C0 A" H& A* j s
pLight->Ambient.r *= 0.9f;
; O! c: l6 T6 z3 ?8 M1 h( ?" R pLight->Ambient.g *= 0.9f;
' g- Y# s/ j; b* Y5 u w pLight->Ambient.b *= 0.9f; X: Z6 T9 o3 x
F/ i4 d) p3 f+ t1 Z, G) S memcpy( &m_light, pLight, sizeof( m_light ) );* W# f. L' M' x# N
( O& r, o) s9 |$ v4 S- Y
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );# B7 Q; a! f# c, v
pLight->Appear( m_pd3dDevice, TRUE );# v- j4 _9 p. y0 ]
( q- ?! A+ }$ q
DWORD dwR, dwG, dwB;
2 ~/ a0 A r/ _! ?% ~- s+ P6 a dwR = (DWORD)( pLight->Ambient.r * 255 );1 M8 n6 V7 I3 w: W
dwG = (DWORD)( pLight->Ambient.g * 255 );
3 I7 w; T0 u$ J: w$ `& O dwB = (DWORD)( pLight->Ambient.b * 255 ); h7 A6 ?# O" w+ {; h& g
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );2 {) u: ]4 E6 k8 Q- t% w9 _2 U
}. X( E; [0 z9 z3 B8 m: O& ~1 r% M
}
8 l) j0 o C5 @) s else
8 b2 c. r6 D: Y6 v1 [) A {
* i2 j6 n. [$ F1 V: V if( pLight )! s( o, C B; b+ K
{
" |- r; p( Q9 x( B( h+ S
) s7 h7 P: A" i. m/ ? int nHour = 8, nMin = 0;
$ x' v4 [" f; e' }( A #ifdef __CLIENT0 U- P! `8 Z9 M- a6 i
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
2 ^9 y" o4 t0 ~9 T T, G nHour = g_GameTimer.m_nHour;
8 |# M# P. d4 N3 b nMin = g_GameTimer.m_nMin ;# R6 X ?; o. [2 w
#else
" @! M! I) R: Q @, X // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.- T$ u, X1 D" A+ {
if( m_nLightType == 1 )
2 _* O0 @& L$ F$ e! G, ^$ v nHour = m_nLightHour;
. h: ^+ ~5 V6 H$ G #endif n) A0 p. R i% f
nHour--;( m. O9 A. k. v1 `5 A
if( nHour < 0 ) nHour = 0;4 C) f5 x5 q" H: ?( T
if( nHour > 23 ) nHour = 23;
8 z+ m& ]1 ^8 j( s6 y; ~9 ?6 q
6 W" d' p5 p& G& q& W# _# w+ r% \ //if( m_bFixedHour )" N4 I7 b$ j$ d
// nHour = m_nFixedHour, nMin = 0;" D5 z3 r, c4 h/ H" D, l
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
7 }4 t+ m# j5 X* p# c5 W1 v LIGHTCOLOR lightColor = m_k24Light[ nHour ];- ?9 H# k& D6 F8 P! r4 h& g
5 p/ r q5 P& M, A9 [+ ~9 g9 |
//m_lightColor = lightColorPrv;# [1 _ ?! y7 F+ S( Q, N& m$ }' C
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;% v1 ?' F J% U! A! \3 K
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
* y0 F2 v/ V' C2 t; U `2 K( A8 U1 [) y lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;# a6 i5 [/ T, H+ G
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
* h3 G+ Z2 R7 M! Y. N/ V lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60; k7 R2 s- t# o
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;8 ]/ W" h8 a5 ]
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol), w- \1 L2 I+ s8 {
7 g; @ p! W+ l! K! [4 u3 }* N! f+ g5 V& i( l // à??μ oˉè*
$ q" ~9 n: u+ l0 `+ S& ^ pLight->Diffuse.r = lightColorPrv.r1;
. c7 ^% K% q! X% }+ y- @! f+ T6 v pLight->Diffuse.g = lightColorPrv.g1;$ J/ k1 J# @6 w0 u
pLight->Diffuse.b = lightColorPrv.b1;& k+ {$ U/ l2 S8 y2 H$ |. O
// oˉè* ??à?
) Z4 M; i8 W. b pLight->Specular.r = 1.0f;
6 Z3 _4 }; i( v; r1 t pLight->Specular.g = 1.0f;, b2 y5 p: u% j& N# ~; j( d
pLight->Specular.b = 1.0f;- H# c$ A4 B/ F$ }: A
// àü?? oˉè*
+ L' w) r* l+ Z7 _; Z( x- d pLight->Ambient.r = lightColorPrv.r2;
# ]7 \. c1 F' {# C pLight->Ambient.g = lightColorPrv.g2;' e. X5 U4 V! J L. U0 ?
pLight->Ambient.b = lightColorPrv.b2;
; a4 ]' w. a; {5 k6 `
) i( c) K5 r! o5 Z if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
4 K2 `* V3 o) p {
+ s% V9 M! E' P pLight->Diffuse.r *= 0.6f;5 ?1 X2 V9 d y/ w7 N+ U
pLight->Diffuse.g *= 0.6f; w9 \; w: H; E
pLight->Diffuse.b *= 0.6f;
- D7 i( s) S* }1 ]- ^- g+ R+ L6 W0 y pLight->Ambient.r *= 0.7f;
* S5 r! K7 D* \ pLight->Ambient.g *= 0.7f;
* d, k1 M4 A' }% D; } pLight->Ambient.b *= 0.7f;% o/ N9 `& C0 n ]; _8 q: T, n
}/ u" A" [2 ]7 Y* J! `1 D- L8 g; @! ]
+ A- o* Z' @) P8 o, e5 _5 Q
#if __VER >= 15 // __BS_CHANGING_ENVIR
: U2 E0 i8 ^. }: { h" u3 ? if( g_pPlayer )
$ N) \4 w. _$ J2 r4 i HookUpdateLight( pLight );
9 [" ^( n4 e* {% U, g6 ]#endif6 C y" m! p4 I9 \
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );& H& Q! c. a: Q6 `, T0 N# d
8 O3 L9 Z* P9 I2 ^$ n* x0 ~4 a#ifdef __YENV5 r8 z% z, w, C. m' R' I) a
pLight->Diffuse.r *= 1.1f;
' ?% U, q! R) a8 K& I0 X6 k pLight->Diffuse.g *= 1.1f;
/ |( N5 K& U" ^: ]. ?9 Z; X pLight->Diffuse.b *= 1.1f;
* f/ H5 o6 x' e( ^0 W* Z6 K // oˉè* ??à?
: A7 ^, o9 w6 }& ~) R pLight->Specular.r = 2.0f;" D0 X, s q" Z1 f2 N2 J
pLight->Specular.g = 2.0f;) @* Y# A9 V: I8 w4 e$ f
pLight->Specular.b = 2.0f;
0 h l, \3 @' c+ ?, R1 a$ `( v // á?oˉ
: l, i" \; K! S* G; s, g$ h1 f pLight->Ambient.r *= 1.0f;
; |- \; ? y) L; _( j! H, b pLight->Ambient.g *= 1.0f;, W5 u* _( r1 s6 n) K" j0 C }" d
pLight->Ambient.b *= 1.0f;
$ t c) s) F# v6 C% {#else //__YENV
. i, t6 B* e, g0 E: a pLight->Diffuse.r *= 1.1f;
& v. x6 c$ o& r/ R pLight->Diffuse.g *= 1.1f; W: J# _9 g9 }6 L
pLight->Diffuse.b *= 1.1f;
. J. w, K1 H+ y, i# f N // oˉè* ??à? ( B& _# v- @' d8 U# a. R
pLight->Specular.r = 2.0f;& _* D: A* c: M9 X' |5 w
pLight->Specular.g = 2.0f;/ M2 b1 D0 q/ B7 W8 w. ~
pLight->Specular.b = 2.0f;5 M- C6 l& W5 ?7 w
// á?oˉ 0 ]! [3 n U2 q# i% U( z
pLight->Ambient.r *= 0.9f;/ k8 _$ f/ M6 p, c. `
pLight->Ambient.g *= 0.9f;( [0 {' F1 \6 i: n$ e. M# a7 y
pLight->Ambient.b *= 0.9f;
# q# a* F$ [/ v4 |# G W( u: l#endif //__YENV 6 v6 [$ R2 v; n1 {9 f0 u
7 T2 F4 V$ d4 P Y" a: K' W
memcpy( &m_light, pLight, sizeof( m_light ) ); k7 Y0 h; x4 f" G# }$ u
& L/ v6 \. l: B- b ^; A
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
7 Y8 C- e( F* Q2 ?$ {7 X D3DXMATRIX matTemp;. i$ _( O& Z6 L! `3 k; m1 ?
static const float CONS_VAL = 3.1415926f / 180.f;' n# c; o4 ?. \' R* \2 K Q
) O* e; |1 m) s; w D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);$ Q% r0 e& ]/ }, P+ f* b
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);/ z9 x% T, q- }' f& \8 k8 _* C6 D& K
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
( Y1 f! X6 F" ? pLight->Appear( m_pd3dDevice, TRUE );
1 n' L1 K8 }1 b/ z7 c L( g, k) U5 u
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);4 ^9 W0 B! v5 G! i7 [+ M9 A% V4 V E
// D3DXVec3Normalize(&(vecSun),&(vecSun));& o' A! c+ L2 j$ z/ P9 v/ h6 C4 l
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 1 x. M+ F. }5 ]" a2 K. h- F& o
& J. P6 N" O. Q DWORD dwR, dwG, dwB;
_; x- F& |- D& `9 {+ g) k6 d dwR = (DWORD)( pLight->Ambient.r * 255 );
2 o K6 k" u+ ?4 t* P" e+ V dwG = (DWORD)( pLight->Ambient.g * 255 );
0 N! R% ]2 |# e t dwB = (DWORD)( pLight->Ambient.b * 255 );
2 [8 k& L$ B* n9 i( Z9 r' `% x dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); % k/ ]2 a/ m& e9 {* N+ v( \' L$ u
}# n1 _) ^3 V4 z+ G
}
, G. r: q0 Y; ?* x$ O/ s; E, _9 G6 d
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );/ m4 L9 }3 C$ y% i9 M- m- a
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) );* x7 p: [7 Q8 h4 ^2 V; |9 }
::SetLight( bLight );" H. m4 F/ C. S" a( \/ k( H
8 U! a E- y S$ l3 s
// ±ao? ?D?í???ó á¤à? 9 k3 o7 G4 T, [3 P1 f
m_pd3dDevice->SetMaterial( &m_baseMaterial );, l6 x. {$ g4 Y$ ?& \, ~- g* k
4 H: Y. V, u- b9 `6 A
#endif // not WORLDSERVER$ d2 }! K* h% R, ]" T3 M. N: A& d
}0 S- H2 ^9 M5 \
并更换, @6 T% N3 P% ^$ Q! j: Q
Code:4 L. {0 r3 h9 J V/ a' h
__FLYFF_INITPAGE_EXT
, H' i. P) w7 k5 r! F定义
. V9 s# M- h; E9 M' j$ @8 D& g
, r( U3 E8 W6 G4 y) M7 i# o$ _4 `7 L! ~. O
" Z/ }0 K5 Y9 S- Q2 f0 J+ R# L4 `) J
现在终于删除我的狗屁加速...4 a2 U, a' W. S; D5 o+ ]0 n$ f8 U( j# a
7 q# d, t, {# B$ [
6 X6 d( Y6 ]& Z0 M3 j6 x0 n8 ]* A* c& b5 Q7 E0 g7 {8 h i+ x
|
|