|
|
食品车:
" k7 I- y* C7 t尾翼:
7 u3 h# u4 o$ O3 P' c& e j! ?6 \( Z! B
代码:, Z' v: ~4 E% A' o d8 q
CWndAutoFood::CWndAutoFood()% ^% f* B3 Y' ?- R% W- y$ f
{: t6 Y7 V0 X' |& @7 U" m
m_pItemElem = NULL;4 g0 {9 N# r7 t, D/ P ]
m_pTexture = NULL;
& Y' }% ?- M6 ~1 c" Q1 L2 ] bStart = FALSE;
" `* K( p2 h( ~: d* T}0 l3 ]9 }* W3 o) [0 t
6 p5 @/ ^5 p" x$ g9 g* V$ p: J* jCWndAutoFood::~CWndAutoFood()
( k$ s4 [3 @( i# }{
5 Q/ E, e3 c" U5 a ?' R# w AfxMessageBox( "AutoFood ist gestorben " );5 [6 g" s1 `0 ?$ `% P4 P2 [% {5 A
}0 q5 {: G0 f* y+ R' |
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )% K; ^4 k4 G" X
{
$ H2 c8 @. {6 t! ?6 b+ z return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
" O" l/ M9 z5 F" p M' A6 s}
' v8 s; }0 W$ s1 U/ C$ m. u' Y9 l. G3 }
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )$ i9 Y7 P) m0 u% R5 j5 T7 D8 F
{& n k# [# [; D/ u2 {3 T' _
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );/ V; Z7 \4 I, r7 e2 A6 A
CRect rect = pWndCtrl->rect;
2 A- n' v- R( p* W2 m if( rect && rect.PtInRect( point ) )
) P" W) w4 j1 y0 L9 [! J' E {. W. H# [0 R& X" l1 f( w
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
Q" l. O& f1 n) `( a if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )+ j$ ~! F3 h% ^3 T0 m5 @! \9 D
{, k& Q' @( M6 E- X$ {' e; ?
if( m_pItemElem )
) T! O" u5 B8 z2 A( B* l7 R {- r$ x7 @) q. }5 W6 J& \1 J- o* t2 P
m_pItemElem = NULL;
5 l% b* M2 g" R# V }. H& T+ H5 \# ~0 x! o
m_pItemElem = pItemElem;
" y$ n/ V$ @1 O4 |. e m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );8 j5 t( K2 O, z9 F* @$ ~
}else{
- C( L/ H @7 U9 s* h2 V SetForbid( TRUE );
. F- s; ~7 G- Z1 C# o1 |4 i }0 F5 f- c4 L' r" T# X
}else{$ V0 ^" ^9 S, u9 M% q- Q. l9 w
SetForbid( TRUE );7 g& B% v5 O* Q2 u: y
}7 \$ e/ k3 T, [
return TRUE;
7 N9 L! z# a3 v1 [# [4 F}+ ?2 M; E$ |& C9 r
6 Q5 p: D. T6 G9 ^( R! FBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
8 E, M4 V) ~+ F b0 J, _ X{+ G1 P ? p1 h. H" m- W
switch( nID )- z5 X% i" A5 W% y; x- b* y9 L' u3 x
{
V3 D' \+ r" u- }8 w3 R5 x case WIDC_BUTTON3:
2 g/ B8 o% ]/ X% V; {2 h0 f {
* B9 j/ e9 m$ V1 k+ D+ X bStart = TRUE;
+ E7 {/ _# E1 Z. n1 ~ break;
; J; b2 v$ E" f m! L& \ }; `( ]) Z M% x/ w, T
case WIDC_BUTTON4:
1 i- @, m, m1 Y* j$ i7 U9 {) u {
1 a ~$ j) }3 Y, V& z+ U bStart = FALSE;! W! N& ^' d: @; q0 u6 \, d
break;
7 G, P+ q9 n8 L: k5 q }
; _/ q: x9 O0 I0 B( M/ D }
J0 l4 Q0 ~" n: M6 E return CWndNeuz::OnChildNotify( message, nID, pLResult );
/ Z) k1 V0 ^7 e- R4 u4 c} ' h: x; D5 {9 _: P: v6 G2 R* q
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
2 K9 \3 J- m0 U) Q& z{8 Y2 k8 U/ j' v1 A A1 o
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
Z- K2 j/ a& P, t7 b2 D9 e if( bStart || !m_pItemElem )0 f+ q k' V: B1 h4 a( T
{
. x4 E6 G: W' C4 @9 s3 q pBtn->EnableWindow( FALSE );2 e4 \! T3 i- n% d& t9 ?2 t
}else$ [* H! U! i% m0 o
pBtn->EnableWindow( TRUE );
. [" K; u/ g; r- l% c/ ` if( m_pTexture )
' `2 @8 D5 X9 S9 O {
- d A0 G7 Y+ s& { LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );$ Y) N" g8 x/ _$ L8 K. }
if( wndCtrl && wndCtrl->rect ); N. h9 s3 G9 {0 \
{- h$ B0 D& R2 }# L8 y! m
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
8 M* R! T# b# {) T }
- b; Z4 H \0 ^* X* o }
* N5 a3 s ^# A, N3 n}
- t0 ], l Q; X4 J2 P/ s( \
J" r% o. j# y% O* b- P& VBOOL CWndAutoFood: rocess(): p1 ?4 x+ V; \+ G7 U* c$ b
{. |% u! ^. r* {0 F/ g
if( bStart )
; A' L2 y* \/ H: c k3 o# r F {2 z# S% ~3 K' Q8 g4 w
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
. R$ X# ?5 y1 L% N# s& g {1 I W3 L! K. V: B
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
& F a" K1 o# R$ }+ a; Q, I g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
; K7 o! n9 v! B; [$ F% h }else{
- v. y3 ?' y& n0 ]6 l0 h8 u" S1 {0 l bStart = FALSE;% l ?$ @7 P3 _3 q
m_pItemElem = NULL;
" R* M; R Z: p& o6 T' i }& G, U9 `, ?. H$ \8 |. N( w/ A
}
7 S, E: A1 l3 s4 x8 `4 ] return TRUE;
`1 ~# |0 l# H, {8 E}' Q, F( V4 y ?$ ] e6 o) |( E
7 o# y% ]2 J+ ^2 X! k9 i) ~
登录视频废话: a$ F/ V3 s8 a' \
尾翼:
* z7 M& g* k* \# G) w2 h0 C8 @4 \
. o# X" i# c3 F! S5 H! U! r0 y& e代码:
~6 x1 b% p. {7 n
0 R4 Z$ y; I: t+ Dvoid CWorld::SetLight( BOOL bLight )
* F9 s4 w! z% U# e9 q9 Sdurch
- ^) ^: e8 t7 T5 OCode:
5 ~8 |" ] F# E; N( Ivoid CWorld::SetLight( BOOL bLight )
2 |- g! z Z, R( ]& l1 l2 B{/ u u# L5 I4 Q% R
//ACE("SetLight %d \n", bLight);5 F$ J% F# g" E7 p
- x0 S' y2 m- m7 n e( o0 m7 E#ifndef __WORLDSERVER
1 W a* x( }! U* J: D J8 }( m DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);" n f$ P! m! u1 P
CLight* pLight = NULL;
1 m( L$ j0 A, {- U" f
! W* l# E5 [& T" J D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
& X$ M0 D# P# L2 P" s/ L$ [: I. I7 ?7 Y
pLight = GetLight( "direction" );
8 a3 K; M, `; O: ~! c, Z* U) J1 r
! [; n& k2 N; }* N9 ?5 m* Y: N#if __VER >= 15 // __BS_CHANGING_ENVIR( V+ ~' F1 i: W2 {- z: T
if( g_pPlayer ){
: b" g% d- ?$ j. { ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );! n( ]9 S3 u0 H) v
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
! ~/ e) N* C- [ {7 s* A/ \# Q: K3 H0 w) B
if( pLight )( _! W9 S( y% G! s8 @
{
% t- B% x1 D: L9 D3 A% \ G3 U pLight->Ambient.r = pInfo->_fAmbient[ 0 ];2 i- Q, T3 F+ g5 |2 B- T& a) d2 V6 {
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
S. g& J8 {. m6 @ pLight->Ambient.b = pInfo->_fAmbient[ 2 ];8 ?4 u& ?% t7 p- r& w$ E
7 ~! y9 n% h! P7 {' Q: o
pLight->Specular.r = 2.0f;9 i) o' ?5 ^+ G k5 U7 s; ~8 m
pLight->Specular.g = 2.0f;' b5 w6 F( q# e2 a+ l
pLight->Specular.b = 2.0f;$ T* n' L: ^, n. d( ~9 @1 v' H
# i* g8 c6 a4 Y0 [% J6 e& M1 Q pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
' E, k2 }2 }1 n9 d% ~3 ^ pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];* \( h2 G7 m( ^. I3 Y
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
* {% ^; j1 j3 o6 d4 u 6 ^( g. k0 w% L" c8 l
HookUpdateLight( pLight );
- K2 k$ Z; u7 q; h4 q% ]$ R8 I2 b: u4 `% a+ o
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 u4 ?* n7 f* {8 v9 K
/ _8 E: N# s3 i; i$ i( @3 z pLight->Diffuse.r *= 1.2f;7 F: j1 }+ B- h) C7 |' m8 u) r
pLight->Diffuse.g *= 1.2f;, L+ s+ `% X' U- L# c, }9 `
pLight->Diffuse.b *= 1.2f;
# e$ S; Z8 ^6 C/ H3 q& ?8 X- P; t8 y3 F6 e7 K7 h. ~* R
pLight->Ambient.r *= 0.8f;
! w0 ^, `: [; L+ c7 \- i% o$ D pLight->Ambient.g *= 0.8f;
4 `0 x. a7 Q$ d9 C6 Q P. c pLight->Ambient.b *= 0.8f;
3 L5 ?+ V5 R, e* O 1 c5 w+ n! A. {+ f, F. h$ f, }
memcpy( &m_light, pLight, sizeof( m_light ) );
$ E- y1 e8 }; F, y* C5 T' E3 \
- @4 p; m; ~8 v! ~1 a8 e2 q' O Q5 I D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 d, J& g, q6 ^/ v D3DXVec3Normalize(&(vecSun),&(vecSun));
8 ~/ d3 r8 B2 I6 x& t pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
, q" ?* Q. N2 |$ u pLight->Appear( m_pd3dDevice, TRUE );" z% g3 m+ L: ^1 i5 Y0 E
6 r) l+ a" U- L% M b0 s9 ?' j DWORD dwR, dwG, dwB;) `9 I! O6 ^( B+ Z+ ^. I( {7 l
dwR = (DWORD)( pLight->Ambient.r * 255 );
) v5 p, S" D) o+ g3 H7 P1 D$ a. ? dwG = (DWORD)( pLight->Ambient.g * 255 );
) ^6 [1 {% F9 N" Y7 K8 s0 @! U) D dwB = (DWORD)( pLight->Ambient.b * 255 );$ |% j1 ]. L/ y8 V/ A
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. l/ p2 e" F- C+ G }
( z" M2 c& `% x/ r4 r }% u+ c5 R5 @. u# D! W6 M( x
}
% F1 t! a6 R6 J& P7 b) k: t else
T1 R/ m! O- r#endif
; Y8 f% D3 m; t. n# j$ q& c9 Z6 O# c; R, J6 H7 Y
if( m_bIsIndoor )
4 t" n" f; d9 v: h. Q) m) V {
! D) D% T- \4 j! _! i8 {3 Z* F( A( i if( pLight )
6 Q! _. b0 ^5 B6 B5 a- t6 p* n { / `2 V$ C- T% H; p0 Q
// à??μ oˉè* 7 H- B7 \7 m' L r5 V, q
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
0 L/ v _5 _( D9 F! @% D& ]0 v! T pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;# e8 h$ G+ `$ i+ P
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;( ^/ V. d- I2 _/ |# j( C
; n) P* x p _+ g; s+ R // oˉè* ??à? 0 d7 y, m! N8 F v# n' S; ^0 a, J8 I X) R
pLight->Specular.r = 1.0f;
2 S2 I5 Z& Z4 l2 |5 V pLight->Specular.g = 1.0f;" B! m6 z1 I( z& D
pLight->Specular.b = 1.0f;
4 w; H) q4 u# Z // àü?? oˉè* * k# ]1 W- D- P ]$ m& i8 |5 B% L
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
9 G5 W* u3 E1 q4 r pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;) y; H2 [/ y! k7 Z$ S+ M! j a
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;1 f- @9 J+ B: r- b
' R! H. I3 r7 f2 p' l: F W& h/ I if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
* ?1 ^$ V+ X9 ]2 ]6 j {; m" Q i7 w& ^
pLight->Diffuse.r *= 0.6f;
1 i2 n) F& _% ~" f: { pLight->Diffuse.g *= 0.6f;
' \% P" V& M! Q3 P pLight->Diffuse.b *= 0.6f;
4 B. w y& o/ J/ C" o( M pLight->Ambient.r *= 0.7f;
- e: y* s. z# {1 d pLight->Ambient.g *= 0.7f;9 H5 R0 l! W7 Q1 S* o( c& ]4 D: P& ~
pLight->Ambient.b *= 0.7f;
) Z. p6 c2 }, c+ g( @ h: A2 o }: j) ] x x0 _
( K! `* \* P) t: m: H#if __VER >= 15 // __BS_CHANGING_ENVIR; H! ?3 |" f$ K- t+ l; o
if( g_pPlayer )
5 l: I0 g$ ?) Z" m8 t+ Y HookUpdateLight( pLight );
: J+ |. N# ]: G* `8 Q#endif
2 O, I2 X3 z9 _+ W( k @ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
: B# Q8 c, U2 m( a: \( i6 c) O: z/ r
pLight->Diffuse.r += 0.1f;+ b i8 h9 l& p- L' G6 [
pLight->Diffuse.g += 0.1f;& M9 P3 C0 E, G2 p1 A& U. c/ H1 U
pLight->Diffuse.b += 0.1f;, @2 @$ K4 n( A j7 r% y }
// oˉè* ??à?
$ K2 d& M6 ^& }4 @+ e7 w3 Z9 t pLight->Specular.r = 2.0f;0 r% p. j& M: X2 v. }# \
pLight->Specular.g = 2.0f;. E; n1 P- r7 n6 U$ c
pLight->Specular.b = 2.0f;
* ?# z4 u: t3 s/ K9 t/ m // á?oˉ
/ Z7 D# m x) e pLight->Ambient.r *= 0.9f;+ p+ _; [2 P. `
pLight->Ambient.g *= 0.9f;
, K* ~3 j- B, A. U6 l pLight->Ambient.b *= 0.9f;7 I, I) `) T( ^+ l( P% ?
* m- x" @( u0 u9 u, y1 |7 |
memcpy( &m_light, pLight, sizeof( m_light ) ); U6 n8 j& [/ F9 ~- W% F
0 H+ O. T' N% R4 H) O, {
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
# W8 _' F ]7 k/ V pLight->Appear( m_pd3dDevice, TRUE );
. I+ s6 m: I- ^8 ^6 U2 ~0 ~1 V & [* k4 d8 A5 V) ?& k2 q9 {
DWORD dwR, dwG, dwB;( I+ `- i2 \* \+ I
dwR = (DWORD)( pLight->Ambient.r * 255 );% j. z$ H G( Z; N$ T3 e' |
dwG = (DWORD)( pLight->Ambient.g * 255 );
/ Z* u8 J! O: P/ `" `3 n dwB = (DWORD)( pLight->Ambient.b * 255 );
0 b: ~# x. h5 L4 ?- i dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );4 i" D; K% g" i% b+ w( ?; K
}
0 j* K" X& T( S% E }
% J7 @; m. G, g1 X else
" j( \. B! t4 n; b, ]% s7 M8 c0 m( \ {- [0 I9 k. d. u! N
if( pLight )5 Z% L5 F! R1 a- h, E( M
{8 V( |& w8 {; ?$ B% c8 |! S* l, r
: u' s+ V0 t/ a) D/ e
int nHour = 8, nMin = 0;
& d8 d/ M. ?5 ]2 K& M( O #ifdef __CLIENT5 _+ n5 F7 B5 y7 _/ t5 T
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 7 N& }' e( L/ P& Y# o4 {
nHour = g_GameTimer.m_nHour;& w- R4 f d8 I; b! Q# T
nMin = g_GameTimer.m_nMin ;
! k D( l }, v' T #else
, Y- o* ^0 J/ P; A // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.. g( e5 e8 R6 \/ o# [* y `
if( m_nLightType == 1 )3 B9 J$ e1 _/ j' {! b, J2 o* I
nHour = m_nLightHour;
+ {7 X- p; \. S9 [9 f #endif
, V+ E3 B( r! B# x2 H7 l nHour--;; m7 |5 G) Q! O( l2 P4 {1 N/ t6 N
if( nHour < 0 ) nHour = 0;
' U' {; q: v: |* w6 i7 l if( nHour > 23 ) nHour = 23; t. J/ b7 d8 p* J
4 C6 {9 A3 w2 y) I //if( m_bFixedHour )7 C2 t, V$ r9 c# E7 ]
// nHour = m_nFixedHour, nMin = 0;
, S# V9 U3 }/ u8 y1 ]& X LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];) o: T5 ?# v5 @ o+ b, o
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
1 L5 S4 P# C6 W3 G- C
$ D0 v E$ I0 ^2 Q9 B //m_lightColor = lightColorPrv;/ ?& q' g( j5 W" Z* ~+ ~/ E
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;2 q1 ?( U6 h. s
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;' {4 j" D8 I% S3 Y1 K
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;0 `+ D' f, L( q0 d
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;) L8 |2 v: \7 s$ n( _6 |# d
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;2 l% R" y& A/ F8 ]
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;+ v8 e7 R$ D9 f6 Z, O& L0 v
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
2 O# ~# L( X* c d. I, V+ X3 _5 t/ c6 ?$ b; Q; L6 F% _. W: _
// à??μ oˉè*
5 {9 ~# R3 J1 M( N- y5 x! {+ B pLight->Diffuse.r = lightColorPrv.r1;
) ?9 l) v4 Z/ @6 u T+ X8 m pLight->Diffuse.g = lightColorPrv.g1;
* ~! @% i" W# Y' A6 H L pLight->Diffuse.b = lightColorPrv.b1;6 T7 B/ \7 U k% d- k. \7 Q( M+ e
// oˉè* ??à?
& f" ?. ?- [$ D1 a3 j1 E pLight->Specular.r = 1.0f;3 e4 N" H0 ^* X' ~" F
pLight->Specular.g = 1.0f;$ [- V8 K' K# e: [) R1 E0 v9 j q
pLight->Specular.b = 1.0f;
0 Z8 T- b9 |6 W) V# J/ ? // àü?? oˉè* ' G) G& U: r$ ^5 s% H
pLight->Ambient.r = lightColorPrv.r2;
5 e& J4 N2 O- T* h" f% B pLight->Ambient.g = lightColorPrv.g2;. B- [/ O) M5 r- }2 y: @/ ?2 ^) e
pLight->Ambient.b = lightColorPrv.b2;
. x9 b p8 C& _) r+ I& y3 q+ E
2 Q1 F+ L0 k Z j: `: ?7 N: {# B; } if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.6 ?6 F( n5 t$ A6 k8 M: O
{5 `2 a1 p0 |5 L( ^, k2 a W+ Z
pLight->Diffuse.r *= 0.6f;
: R8 Y. W; n' n, \: h& ? pLight->Diffuse.g *= 0.6f;/ N- \- ]5 {. k* l# x6 w
pLight->Diffuse.b *= 0.6f;, q: R& H8 f z" I0 J% F" G8 N0 x1 K
pLight->Ambient.r *= 0.7f;0 R1 h8 ~$ V$ X! R" e k w4 x8 o! E
pLight->Ambient.g *= 0.7f;
6 q8 }5 O* {# O* E pLight->Ambient.b *= 0.7f;3 U( ?0 L' I. `/ k% L
}8 i/ c- s; ^# D
f% l ?$ a& Q0 a; D
#if __VER >= 15 // __BS_CHANGING_ENVIR5 F1 j( \1 I1 W6 L( J* l
if( g_pPlayer )! q( y% Q0 T5 X& H' l! S: B0 N
HookUpdateLight( pLight );
9 L( i4 S) i# t4 W#endif' u2 ^; a; `, ?$ h7 Y& D% \/ i
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
* a0 O2 v/ r) a! N: T# h; A3 Z! n& Z2 _: g2 c- B# E3 N4 D( E
#ifdef __YENV
' a3 ~4 i6 _: g7 `; X# H! T pLight->Diffuse.r *= 1.1f;, N3 k) c' \. s6 C0 @; ~7 }
pLight->Diffuse.g *= 1.1f;8 `" j3 H) ^. m* y1 I/ U
pLight->Diffuse.b *= 1.1f;9 }% y7 Q, H# c: _
// oˉè* ??à?
0 p' n5 q- r" |& j; D% w! p pLight->Specular.r = 2.0f;6 Y: D5 F+ N% k$ G1 a- n
pLight->Specular.g = 2.0f;+ N4 ^/ |# _& X @, b
pLight->Specular.b = 2.0f;
z, f0 B! i a9 Q // á?oˉ
$ F6 Y k/ {' g5 L pLight->Ambient.r *= 1.0f;; L l) `! K, c! f3 \' t
pLight->Ambient.g *= 1.0f;/ O! A2 h) W+ ~! F
pLight->Ambient.b *= 1.0f;
! y3 O3 T. L; F$ M6 n i#else //__YENV
) c) |8 E0 Y; A+ F2 B" n* V pLight->Diffuse.r *= 1.1f;7 r* p8 M1 @1 @/ ?+ E# f3 ?( D# T( P
pLight->Diffuse.g *= 1.1f;! z) ~* L8 ?# n: S
pLight->Diffuse.b *= 1.1f;. ]# D! o* A, ?4 D
// oˉè* ??à? ( N3 j4 I: ^% H; p
pLight->Specular.r = 2.0f;7 K( z. C0 t+ g/ G
pLight->Specular.g = 2.0f;0 k. Z& g M3 j( h" `
pLight->Specular.b = 2.0f; T8 T- ^. F! j! X$ m# O
// á?oˉ
. G& l8 S1 k+ d. }8 ~/ _9 ^ pLight->Ambient.r *= 0.9f;
9 j0 a0 c" \% b* S pLight->Ambient.g *= 0.9f;4 M+ I% V, j6 \& m9 q* F9 p w4 k
pLight->Ambient.b *= 0.9f;
: X/ b7 f3 p) G ~0 B" q#endif //__YENV 5 u& S0 m1 S; H1 z
8 u8 |4 d& v4 Q memcpy( &m_light, pLight, sizeof( m_light ) );
5 [1 L/ ]1 A3 d3 M) }3 e s + n0 X2 R! c$ N! j: r
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);% c9 {0 |" @- U2 [6 C, z& H
D3DXMATRIX matTemp;/ E0 F! Y" ~ |4 T$ F3 J" ?
static const float CONS_VAL = 3.1415926f / 180.f;* S$ n" f2 o1 Q1 t4 s
( ]& ~5 g$ @! |
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);7 P! G2 i1 q4 D0 h$ W3 I
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);: e" n- y3 k. C' b
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); $ P) ^3 C0 M& C8 ?! K n l- j! {
pLight->Appear( m_pd3dDevice, TRUE );
0 ~% O/ b5 B) }
5 R. ]9 K+ S) V // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
. @( ~" W* N U! o, Q/ w* X // D3DXVec3Normalize(&(vecSun),&(vecSun));$ G' @: N( l+ s" w' h5 @; i- h
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
5 B. O; O5 k; T6 ~* d$ }* O1 k) M. J0 ?6 C6 @9 X1 F1 k2 _! P
DWORD dwR, dwG, dwB;8 J6 L8 P9 L9 P$ w
dwR = (DWORD)( pLight->Ambient.r * 255 );
' ~1 s+ s$ g/ e( n0 w9 q$ H dwG = (DWORD)( pLight->Ambient.g * 255 );
( l ^* O4 J" |" ` T. v. X dwB = (DWORD)( pLight->Ambient.b * 255 );
3 ~. u& W, s3 ]5 \6 K. R dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
, r9 ~6 k4 T! p4 x+ }' _; [0 V4 { }/ d2 g) e) u7 E& P6 R/ q& d9 \" k
}! a" x% |. S. C* ^3 O
' s- b/ [1 n, ^ m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );. w- _! I" F! E3 ~; j; O( K/ 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) );
9 Q2 [! N2 \- Q a3 N7 |4 @ ::SetLight( bLight );) \3 W, ]0 N5 |7 L" F& T) k. Q
* O* k' x; q! C6 f! Q% U
// ±ao? ?D?í???ó á¤à?
9 h/ O$ I. f. `8 C m_pd3dDevice->SetMaterial( &m_baseMaterial );
( Y9 z9 J! b: J8 s2 P6 j
+ S# c& J$ t `5 D: P$ K# h b1 E" _4 G#endif // not WORLDSERVER
6 v: {' `# ^2 Y9 s8 ^5 u}
$ [$ F/ |% R9 w2 Q3 c2 ]7 X并更换$ l& B0 a y9 Q) H
Code:: x3 Q' C$ U* H E: X) g: O
__FLYFF_INITPAGE_EXT
9 v3 v3 Y; v/ }' X$ U8 N1 Z* ]定义
& P$ B Z- L' G
K3 R! a, A8 _- ~$ R. {4 S" l9 c) p8 u, v* h; z6 m2 K5 \1 ?0 }
; E8 K, e& O$ m7 t) b+ m$ M- o$ e
: x: e+ b9 P# |- W) _
现在终于删除我的狗屁加速...: L4 ?/ t! d' ^* g4 b T) [, h
1 o1 R' y& l4 V- Z. P$ F) q4 m
- h* a$ G7 b+ v# c
# K4 E+ d i2 q, W% Y |
|