|
食品车:
w T& `6 w2 t3 Q& [/ Q4 r尾翼:1 O8 R# Z3 @: W' o' A: t# c8 q
/ `/ T2 c6 S5 j代码:
9 [; t* p; Y' \- s1 \1 i+ ECWndAutoFood::CWndAutoFood()6 i" u/ t0 @& K5 L5 o
{5 k8 i1 t( ~6 m
m_pItemElem = NULL;
* V5 ]1 e" N3 C2 h, P m_pTexture = NULL;# X% U1 A1 d6 P O V
bStart = FALSE;
% x3 \* C9 P u6 _}
0 y3 x# c `: _8 c: ?! F
4 u5 D* R$ h; V+ jCWndAutoFood::~CWndAutoFood()
! K3 _: R+ i2 O* w{
( _! f$ v" k Y4 N AfxMessageBox( "AutoFood ist gestorben " );
7 C3 H) Y9 A, ]7 N% K} T0 @' t; J* g: P7 J! B- r1 {; ~
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
) ~2 E/ H3 b$ Z2 B l/ o8 O{
6 V0 b4 r9 j7 m7 w return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );) y- ]& c- }8 T! b# }' u
}
8 ]2 F' p5 i/ S
' B8 ~* M5 Q% k* u, dBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )% E- Z5 e- n; i* y# q8 Y
{
& ` ^5 C0 E5 h+ ]0 i7 }1 Y LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );' b/ }+ D o$ u8 f! O- i
CRect rect = pWndCtrl->rect;
6 c3 F. M8 m. a/ C, M if( rect && rect.PtInRect( point ) )
5 e: u' b/ r1 K7 I# N# Q2 {0 m {- E" |* B+ I, j# V
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
- E% L( Z+ U' f/ e: x% @& H if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )' m6 J& S$ `9 Q
{+ [: a8 Q0 s7 H s- |
if( m_pItemElem )$ ?9 z. m- \# X& q" u6 Q
{+ w) P, O+ s# m
m_pItemElem = NULL;' n: d$ Z; ]1 t7 W! C
}4 Y5 b' v4 }$ ^6 H4 k# u) N7 l0 {
m_pItemElem = pItemElem;
3 c1 j9 Q+ e- j# _ m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );# J! E' n% P! E3 D5 S( m. I! k" F
}else{
# N% |' `0 h3 N5 p" h9 Y SetForbid( TRUE );
% l; P1 t$ A R$ Y" G i }
3 s% E P: _- h- T }else{
$ Q- T8 g: l# b2 E$ Z% ?( v SetForbid( TRUE );
# B! l; X2 H& p7 v" G( E- A }) S' c$ n) K* E! P) G: C v
return TRUE;
; q' Y) F+ v5 S+ C}
8 v+ d; `$ Q& u- B1 M1 ^3 d( j! L3 o$ a# l7 l/ ^2 u
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )# o/ \& ~) p P* e
{
! e, n4 X+ E- a switch( nID )% o4 Y$ Y) ]1 J) D0 g) U9 R
{
4 K) b5 H) v1 e2 ^ case WIDC_BUTTON3:
. i' k: o) {( w X* x {
# h% I% k7 Z7 z7 u( l6 i bStart = TRUE;* V7 |% o- U# }6 I. {
break;
. c p6 @' E& q1 \ o4 j6 r }0 h: z: Q& Q! t" g& q
case WIDC_BUTTON4:
; w" Z9 x7 E! l% k6 i. N( X {, ?% S1 r9 |" n* T
bStart = FALSE;' I8 c& o4 e' c2 R u& ~3 c
break;
3 T3 Y( s+ w- F8 B8 ~2 { }! g5 d: J8 }3 R. A+ _2 i& d
}& i r, p ~5 t& `, h
return CWndNeuz::OnChildNotify( message, nID, pLResult );: U; }% Z3 s( s
}
" m. k* W ^8 }1 Qvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
, G6 h& [5 `# x2 o9 F- |{
8 O1 q. q3 q6 h* f4 ~: `8 S CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );" F* V/ t8 Y" y7 D4 d/ D
if( bStart || !m_pItemElem )
) I' \2 N% a0 L' n) a3 A3 ^! }, t {
7 b1 T4 \# K: A5 K# X pBtn->EnableWindow( FALSE );
8 E: p- W2 g; ~' B3 J& ] }else+ }3 {$ J8 q; B& @/ c7 y8 q$ X: D
pBtn->EnableWindow( TRUE );
) }: R! G1 [* W1 E! L: s if( m_pTexture )
* ?7 f# @. |: f- w {$ I/ \; R, q& L1 O9 B2 K3 E
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );3 r& A: O8 j. _2 e+ X; s+ g
if( wndCtrl && wndCtrl->rect )3 G5 @4 d+ n9 j# p' B
{
5 V: I1 k. [" |; Q( ^6 l% `& H m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );2 i+ f; Q: t& n7 a
}
2 C! }/ M* A% g7 r }
" m1 Q6 q% d; r- V4 a) R5 Q: A}
/ }% ^6 J5 F8 K: s, R( a: ?6 _/ H& \/ W6 G8 U6 D1 G6 k5 x2 \
BOOL CWndAutoFood: rocess()
) P( Z0 v( ?- Y% E( R( v{
; ]1 x N8 V1 c+ c7 Z if( bStart )7 n3 b: T1 J3 _( R7 ^
{. ~+ { U+ l( o# U: v
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
8 _, R. h% Y9 n6 D' t {
- b8 y, ~$ M( r' T/ Z: \ if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )2 Y9 O+ }$ ~5 _9 A) Z& U
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
% Q; {* ]: D* M* U }else{, t0 r# V4 [$ r7 X
bStart = FALSE;$ a! {$ n1 v% u" X+ Z4 R( W. M* s
m_pItemElem = NULL;# G8 Y& S" |2 }+ J- S; \0 h
}
6 t4 w' ~5 }4 ]8 P( n }
- V8 I4 [4 ^, l m" Y" V* W return TRUE;
; h- ]( \: P! n' G e7 r}
! \5 a. t- Y$ b- v% R( O- E6 a& n. v( F! }( M; G* p
登录视频废话:
8 r% g R6 h. t# a, x尾翼:
9 C+ c/ u, `* N# t" _+ q" a
) \$ \2 l1 \# N6 t# \. R代码:
( G B s2 X3 j
5 d0 q$ {0 s- g7 K \( w4 T6 Cvoid CWorld::SetLight( BOOL bLight )
: a* A' D1 j3 ~0 D) Wdurch# @2 ^1 p4 A. v% d% w* `
Code:
* s+ k; |& H5 I5 fvoid CWorld::SetLight( BOOL bLight )4 t- y o* Z7 C9 i
{" I2 L# _, @9 [* ?
//ACE("SetLight %d \n", bLight);& }$ [% R$ @ Z" m7 ]" ?
3 W6 d; O0 C7 u. j* ^$ ^
#ifndef __WORLDSERVER 0 }) i6 T- {. E0 R/ F
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);: f9 O+ L0 W0 t0 k* c- N3 h8 I
CLight* pLight = NULL;
! q' k' {% a, ^5 }! P( ~7 d; P9 `6 O
& C4 i* Z: E! s9 `- R. ?, V8 K D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
& P' b3 h1 [, t1 ]% ]5 D( I, Y: T2 l' P9 u$ `0 J% n/ M9 i1 ]* g; q
pLight = GetLight( "direction" );0 ]1 M! |, j* d+ K5 e
G4 |* [& j* _7 ~#if __VER >= 15 // __BS_CHANGING_ENVIR) m* I. [' ~- G5 L( ]! X g
if( g_pPlayer ){
" v1 O" ]9 \( ^* G3 z( a* j ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
* v9 b! j4 J. N$ D8 G if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
# {, B& j/ f' k, t' P2 D1 f8 ]' w {+ j( i- D+ t4 `+ W: B8 V( ^: {
if( pLight )0 u9 ~! B$ P# f* e, Q7 ^; L
{
! q7 l5 C( u& \6 }. _ pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
# _ ]% m' J8 }& k6 f2 d$ y pLight->Ambient.g = pInfo->_fAmbient[ 1 ];( Q; w; d6 `6 ^
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
8 M0 x/ S" w+ ]$ O5 }( {' v
4 A: D" ~( I8 s* U- } pLight->Specular.r = 2.0f;; t5 S u. Y6 C2 o. K7 F
pLight->Specular.g = 2.0f;
, J1 k; x# q- K! H) m, P" ? pLight->Specular.b = 2.0f;; D4 _. a9 W& ?" G& j6 q
, Q8 n8 O: y" j/ u, \ r/ f
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
# I/ @: p) |1 D7 X& o0 H6 t7 ?9 s pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];) ?& X! `' C# c+ S
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
2 x( ]: D W0 B+ c1 R 9 ]5 b( t9 z: z2 W+ m' }0 }, B( ^
HookUpdateLight( pLight );
8 ^* u) |- [$ w2 |0 C& S
1 L' f% b+ v+ L H, e" w4 ?3 Q( G! b7 W memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );! t% c8 |0 N: ?* e
; O, M" b& h3 N8 `+ A' Y
pLight->Diffuse.r *= 1.2f;
: K3 Y3 k4 f' {$ n. \ pLight->Diffuse.g *= 1.2f;" J t8 @: n E# z5 E
pLight->Diffuse.b *= 1.2f;4 s, ~+ B' d, s" @- Z
' u0 u) A) x# K8 a& L2 b
pLight->Ambient.r *= 0.8f;
- ^7 ^- k- z! w' ^8 Z2 J# K pLight->Ambient.g *= 0.8f;
( ^2 j+ f( x( B. u7 c7 C& v7 Y0 }$ K pLight->Ambient.b *= 0.8f;/ z3 d; ~$ P1 f: K# y
. {; v4 U @% D' \! J memcpy( &m_light, pLight, sizeof( m_light ) );- M% P: }: ]' w* I+ g1 R/ Y3 N
" B, x8 T: l. `/ W" J7 I
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
1 w0 V- p* b D3 s2 k D3DXVec3Normalize(&(vecSun),&(vecSun));+ N9 U: \) {+ P* H, x& _" O/ T" W
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 7 U6 Y4 N' l1 Z" N! U8 R
pLight->Appear( m_pd3dDevice, TRUE );2 k: i/ | ~0 b7 K
" E/ a$ Y9 M y* e L. F
DWORD dwR, dwG, dwB;
. Q' s/ A6 V# U/ ]' R dwR = (DWORD)( pLight->Ambient.r * 255 );1 k: s4 D: V4 L
dwG = (DWORD)( pLight->Ambient.g * 255 );
, i5 j! b- n. g7 ]. L" { dwB = (DWORD)( pLight->Ambient.b * 255 );
; ?# \4 g: H5 B! a+ m dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );: _0 h3 i0 J( ?
}
% a& Y7 z5 K9 q8 K+ o }4 k7 d' z* _: Q- t4 P0 Z$ n+ P
}
$ J3 c) v# P$ a' \: n8 z; D else
5 E; f; ~, o6 ^1 Z. y#endif
6 t7 k& {4 S% f' v
( z1 n! c2 I" u0 R% h/ r" k if( m_bIsIndoor )" x' u3 }0 q* w6 H! y0 J, e
{- W9 V1 S4 I& e" \; d; ~
if( pLight )
9 h" e7 s, V% T' D9 ~, H {
9 q# |) p- G. i // à??μ oˉè*
6 }# S: o- i- W- T" U2 l pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
; X" ?: G( T3 ?+ s4 y pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
/ a" O0 G Y, s$ p I9 L. W pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
5 J* J$ I; z) f2 d7 Z& ] c' P! P8 P6 i4 `0 O0 [2 ?
// oˉè* ??à? 1 Y* T" |% t+ T
pLight->Specular.r = 1.0f;0 |( { \, l+ M% N& L/ |
pLight->Specular.g = 1.0f;
6 L/ P0 L" [' E9 D4 y% S" H$ s( V pLight->Specular.b = 1.0f;9 ?7 J4 R- P7 O3 L9 S
// àü?? oˉè* 9 @ ]' @# p# K, e) c
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
( u# X' P# h# h# Q5 L/ W pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
1 B& h' n g( _! P6 P pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;" L2 V* Y4 A/ |
2 U9 A8 j u/ p* J, s: Y
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
; L7 n+ }2 D' X) B {$ z) p2 x% O w
pLight->Diffuse.r *= 0.6f;' y4 r! J% ]& |# J4 }4 E* u
pLight->Diffuse.g *= 0.6f;
* r; r1 a- d5 P$ D' G+ c pLight->Diffuse.b *= 0.6f;! g9 S: Z5 ]5 f7 [
pLight->Ambient.r *= 0.7f;
$ U. t/ S1 P/ u pLight->Ambient.g *= 0.7f;# T1 m0 ?+ X" n$ j9 C
pLight->Ambient.b *= 0.7f;* G' @3 S7 [( o; x; D! G/ ?
}$ C, c4 U8 S% d8 M9 x g
0 p! @" i" k! a2 W#if __VER >= 15 // __BS_CHANGING_ENVIR) R8 I$ D* _# T( S2 E" D& j3 R
if( g_pPlayer )
' I5 H/ P3 {+ t# _ { HookUpdateLight( pLight );; D2 c9 H+ c7 X. Z: L: {
#endif, A9 V: {4 v1 |5 n
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );" f4 t8 }9 \3 Z! w1 K" Z
' {& t; I# h. ?9 f$ m
pLight->Diffuse.r += 0.1f;+ c8 Y$ f# ]2 t+ R3 e1 ?
pLight->Diffuse.g += 0.1f;
% U' ]& N" N* z9 Y pLight->Diffuse.b += 0.1f;
1 W) M: U5 M1 V& H, s* ^+ F // oˉè* ??à? 7 z$ e/ o7 R9 X! [3 \8 @
pLight->Specular.r = 2.0f;1 t# x+ A7 i) W4 x5 g
pLight->Specular.g = 2.0f;
4 o8 j0 X2 C- r' ]+ P8 t+ t5 p pLight->Specular.b = 2.0f;
& g* ` M( _8 @6 [0 }2 O2 v5 | // á?oˉ 6 d7 ?0 c" e/ {. I. p
pLight->Ambient.r *= 0.9f;
# V7 Z: D' I/ Z; A pLight->Ambient.g *= 0.9f;! j$ ], ~6 X7 ~" k5 F6 G& I0 q
pLight->Ambient.b *= 0.9f;
H# ?/ Q( T3 H9 l, P
5 Z2 p2 G& ?" f& U memcpy( &m_light, pLight, sizeof( m_light ) );) C4 |% s Z4 x/ k) B/ h% Z
% L7 ^' y* W9 A) Y+ ~) _, w5 B pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
9 Z/ R5 S$ q" D& I# i" k# |6 ] pLight->Appear( m_pd3dDevice, TRUE );1 w* q, W2 i% \$ n: M* [
@, ]: x0 ~( F* y6 I4 i
DWORD dwR, dwG, dwB;3 O& r5 [ {! R4 u7 r& q; F
dwR = (DWORD)( pLight->Ambient.r * 255 );# d. k6 W- }4 m7 Y+ @7 z
dwG = (DWORD)( pLight->Ambient.g * 255 );5 O) a9 A1 G2 E7 U) T* l$ ?+ V) {
dwB = (DWORD)( pLight->Ambient.b * 255 );
1 H! b3 @5 L2 U3 [2 M/ i dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );! M3 p8 y% v" L
}
4 p: N7 Q& o# L+ `9 k }
6 t0 V' o7 {5 V* _7 L else
, o. T& h8 q1 n# Z- R2 X8 ^ {
6 w9 j/ o3 c& [* A# L' O- L6 g, ]5 U if( pLight )! e% `" o9 t6 j7 E6 Q( Q
{ N$ r I: ?+ B! l
/ t' g$ Z6 x9 y3 T
int nHour = 8, nMin = 0;) r; Z0 j% T% t% V8 l
#ifdef __CLIENT f0 o/ c6 a6 K6 u& j
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
1 x0 _; n- ?: }# d* }* _! K nHour = g_GameTimer.m_nHour;/ g; [. ?6 B$ y+ o
nMin = g_GameTimer.m_nMin ;
8 |8 ]" W& n( |3 S& M #else
. b2 B0 q/ }6 ?& T3 [ // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
& C1 P" D$ P: M if( m_nLightType == 1 )
# ?: {" E9 k* L& [- T nHour = m_nLightHour;% r. @, g$ U, w& O9 o+ {9 T
#endif
$ H1 E" ~5 n4 n' c" Z8 P( ?6 s3 w nHour--;
$ ~+ f$ O. f# W: ~# s if( nHour < 0 ) nHour = 0;! W! s# |! b# H4 }: C
if( nHour > 23 ) nHour = 23;
$ e" l( U) x/ f% @& e, a% p" ^+ K7 X; n6 A" Y: ?
//if( m_bFixedHour )
; A# n; d+ E1 \3 l0 ` // nHour = m_nFixedHour, nMin = 0;
0 B) g: j* v7 `, N4 i+ k LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
. Z0 |/ ]7 B* }8 M; i LIGHTCOLOR lightColor = m_k24Light[ nHour ];
: w+ s$ N6 q4 O
, c4 b6 S- A/ k4 G //m_lightColor = lightColorPrv;
8 t7 `% f9 X( i, j( o* A8 p, \ lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
' M' k& x9 [! ? lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
$ A2 j% C1 W3 `1 ] lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
. @7 ]: \9 a7 B; j lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
8 q+ V% A; K; o& |, Y; n' E3 S lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;7 k+ P' I: ^3 S/ A3 K9 v
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
1 r4 k2 p* X8 j/ L$ J8 p, P9 c9 z O // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)3 Y( y* D1 B. Z1 B( S
* {* W1 q1 V0 y4 ^2 ]1 z5 V M8 D% I( F
// à??μ oˉè* 1 n$ C1 t3 ?2 F9 F
pLight->Diffuse.r = lightColorPrv.r1;0 h5 l( [) G' s: W( J
pLight->Diffuse.g = lightColorPrv.g1;+ X2 R: Y& e. ?3 I! e. s0 p1 e
pLight->Diffuse.b = lightColorPrv.b1;
: i1 v9 x5 K7 u! T( u // oˉè* ??à?
' D! C- |: w9 B" W5 z+ a pLight->Specular.r = 1.0f;
' g3 j# U% K3 Y# X% ]! `; N pLight->Specular.g = 1.0f;
# W; ^7 t9 E% V+ _# _ l pLight->Specular.b = 1.0f;
5 C% |2 e* ~* u // àü?? oˉè*
" ?: F$ Q. G9 G* [ pLight->Ambient.r = lightColorPrv.r2;
* G7 h) D$ [2 d; F9 R9 ]7 l pLight->Ambient.g = lightColorPrv.g2;! I; O7 F3 z3 Q1 w( m
pLight->Ambient.b = lightColorPrv.b2;' f& e( ]8 k) A1 ~$ \" m
8 r# ~! X% Y) I" o- B6 K
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
+ |+ W1 r5 Y U' E# K {
* M5 ^6 K2 `; n+ H2 Q% } W# Y pLight->Diffuse.r *= 0.6f;
& S* r/ j1 E1 F r: @8 y1 j pLight->Diffuse.g *= 0.6f;, k8 m) n3 |0 K4 Z- b
pLight->Diffuse.b *= 0.6f;3 U( t8 _5 M# O
pLight->Ambient.r *= 0.7f;
, k3 M$ A* a/ Y4 X" y2 l1 S pLight->Ambient.g *= 0.7f;$ e8 `, p) r: R1 `/ F2 D7 K }# T
pLight->Ambient.b *= 0.7f;, M/ t0 j: o, M
}
# n0 Z+ ^7 z$ c6 C* k! q
: O" n0 i8 C% d7 U0 G! z#if __VER >= 15 // __BS_CHANGING_ENVIR
# U9 K2 [: G5 D8 B* m0 o" R9 B0 y% ^ if( g_pPlayer )( J. l7 W/ W9 q% Y- U
HookUpdateLight( pLight );
% }1 l0 N B8 J" O/ I% J& z#endif
* l* Y2 ], A; k2 R- z memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
9 Y7 [7 T. O7 h& F8 n- H% O
2 E! C+ @; e, C, r#ifdef __YENV) C. i) r. q9 Q) C/ E$ l
pLight->Diffuse.r *= 1.1f;
6 F8 W( N2 N5 k! a5 v pLight->Diffuse.g *= 1.1f;
: g& D# E+ M) A pLight->Diffuse.b *= 1.1f;
1 ?* E1 c5 f6 d% a // oˉè* ??à? 3 g' U6 X4 v1 K2 r* w5 g: _
pLight->Specular.r = 2.0f;. {- T1 _4 h' D+ p( N K
pLight->Specular.g = 2.0f;
4 j8 |9 R" s$ c, |$ s% Z pLight->Specular.b = 2.0f;( w, ]2 U/ Y! P0 _# F5 ~
// á?oˉ # e! C& m u6 o+ V. L6 Y2 f7 K; x
pLight->Ambient.r *= 1.0f;
" `* F; s W3 E1 s* `( x( ~8 H pLight->Ambient.g *= 1.0f;
8 I$ b* J( z5 ?( H pLight->Ambient.b *= 1.0f;
) |/ I8 w; @9 L8 [; i; I! M#else //__YENV( W5 W( T% {) r; w0 L
pLight->Diffuse.r *= 1.1f;
" C) N; m: T7 U }5 f+ K pLight->Diffuse.g *= 1.1f;
: E/ P; [/ t; O( V1 A pLight->Diffuse.b *= 1.1f;
8 a: t( a- M2 T0 y i. o // oˉè* ??à?
% a3 ]- f- G. b. c* k$ [2 Y pLight->Specular.r = 2.0f;- E6 q3 l# l$ P# s$ [0 b& m+ w
pLight->Specular.g = 2.0f;
, X# S3 L& e7 ~/ g3 e! b pLight->Specular.b = 2.0f;
' z1 C; M& e; Q n // á?oˉ
X$ Y, o0 ]; Q' ]) Q pLight->Ambient.r *= 0.9f;
* S1 j. A1 G% G4 l pLight->Ambient.g *= 0.9f;
( N i" X9 c. Q' [6 [% t( r pLight->Ambient.b *= 0.9f;
/ H7 }0 v3 e% U8 o2 b: Z#endif //__YENV
; R* q/ Y; H q 6 l3 f5 H. b. h
memcpy( &m_light, pLight, sizeof( m_light ) );
! b) n5 Y* p6 ^ ( S. o3 b9 l) K
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);$ \4 O2 b0 f! Z7 {3 Z
D3DXMATRIX matTemp;
8 j! N1 R: p, e4 z! a static const float CONS_VAL = 3.1415926f / 180.f;* `2 s1 T9 r B0 f! u( N
4 ^" m: V3 b4 G( j: m& Q
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);$ F- k3 k% Q9 s. z3 K- S
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
0 [/ `( B6 G- y$ o% g: {4 U7 Q pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
' Z7 H; T+ f2 p pLight->Appear( m_pd3dDevice, TRUE );6 t& }& ?* j7 i7 E) v3 I; _$ L
7 \- q* U6 u8 C5 t
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);7 M- ~5 l2 g+ w/ Q: I2 m, K
// D3DXVec3Normalize(&(vecSun),&(vecSun));
. \$ p; ^. F% R) a) S, E // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
# P9 `0 _5 Z3 J% }$ c$ n3 S# o2 N2 Z" G0 o( B* J/ i7 x; @
DWORD dwR, dwG, dwB;2 X" |2 c" V! b! G( x2 G, F
dwR = (DWORD)( pLight->Ambient.r * 255 );4 }( z! I/ N' T( M# x) f v
dwG = (DWORD)( pLight->Ambient.g * 255 );
: g+ S. C* D9 {2 I1 [' @ dwB = (DWORD)( pLight->Ambient.b * 255 );
! q; Z& T, f4 h+ F& N, h dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); - x6 u5 |2 ]* K1 L' e
}3 g6 t' u% s, I7 \
}
$ s5 _" W/ h4 {, c1 c: `* q+ N$ R) R
, j) }1 k+ o. g v+ @ m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );6 W3 }. ~$ G, _
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) );/ x S3 D+ c. r: v8 f
::SetLight( bLight );
- v/ R; T d' B5 M$ i/ M4 o8 i3 y) k; m
// ±ao? ?D?í???ó á¤à?
/ [: x/ [( |$ d K, o, G m_pd3dDevice->SetMaterial( &m_baseMaterial );
: v* d0 }' x6 _- R6 L# ?) r: `! F9 l
0 @4 e/ r, c7 \* a$ I, m#endif // not WORLDSERVER
- z' U0 D$ O! Z$ S/ M}' Z7 E6 i* w% Y3 `$ z: s; z( g' w, T
并更换3 J% d) ~4 |5 I) J/ X
Code:9 a- T, @8 T" h* y2 v! }
__FLYFF_INITPAGE_EXT
8 j( i. |& }1 _5 D- b6 K定义0 s) A, R( e# ~
7 H, F% i8 y& {# g& n+ V5 x: i4 s6 s, q
" A1 B$ T9 z+ D# g
' H+ u6 N0 q( X" j9 t现在终于删除我的狗屁加速...- X" i* q# o r7 W/ I$ ]2 U
; m, p1 U; B. @/ t
$ A8 h1 j, q* A
/ I' N; n+ |; i5 C |
|