|
食品车:# |: |9 _) u: t; ]0 W( a( e
尾翼:4 H: U; \# Y ]% s! |
a! }6 [: @. t4 O6 g d
代码:7 C% l! h0 O( C$ D* C; ?3 r" m
CWndAutoFood::CWndAutoFood() x3 v; w% T1 a! Z& B% a F+ ?3 F2 A( J
{+ W/ [. L3 {7 ?" p
m_pItemElem = NULL;- @. ?; e6 E! B
m_pTexture = NULL;$ t" m2 n: ]( Q9 Q
bStart = FALSE;
% E. O/ w6 v( F0 _; U}
7 K* k' q, N, m6 v: N% B, Z& \2 r! n- [
CWndAutoFood::~CWndAutoFood()$ o8 i5 }% B6 u0 p( J
{
) |2 y$ M# ]) u AfxMessageBox( "AutoFood ist gestorben " );5 T/ z8 t' X$ O& v* n
}/ m" D" e0 C+ n# f! N! G* N* X, ~
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )+ }7 u/ H! Y& x! w
{4 z6 N3 A+ H0 o/ X% {2 M8 t
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );: A- J( t. ^- |! f
}
- F# O% Y; Z4 y3 Q7 E9 s( V! D& {' z. q+ K u6 R2 _: Q
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )6 c4 p3 L1 b4 V4 W ~2 h! Y9 S
{
9 ~. a9 F) l# E6 } z LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );, }6 V: ]$ W8 L( t) }/ k8 G! N% Q
CRect rect = pWndCtrl->rect;
& L; \1 T: }- Y" h if( rect && rect.PtInRect( point ) )
1 n# i" ~2 ?/ @- | {
# W; C, I3 B3 K9 Q6 X CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );; K9 |- L+ N8 S$ T( r, b1 v9 \
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )' G- u1 o4 B2 f: M- q4 t6 N
{
: Y/ v9 V$ l/ [, j if( m_pItemElem )
, Y! { V8 d& d# x& Q1 e {- C4 f! h/ w6 \5 k
m_pItemElem = NULL;# q0 D% n2 ]1 S3 B C- O, @
}
4 }+ d: Y3 V! T$ p7 q b$ Q m_pItemElem = pItemElem;
3 S$ A" l$ ? z) D* Z m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );, N+ w! m7 [& {/ u
}else{
$ p7 L# l2 {3 V; S/ X SetForbid( TRUE );3 A* e4 g' d4 j; D7 \1 Q3 ~$ h
}1 O+ X3 u# Y {6 L8 [' Z; u
}else{0 E+ S& x1 L7 k0 K8 `6 h9 w
SetForbid( TRUE );" E% [1 I+ R6 X0 N- j e: L' y
}, Y% h6 N" y" Q5 O% C$ T
return TRUE;
0 D) w; _. e; \: D$ h& B}
* m2 x& N% l. y8 i
- Y% A, W1 n. }+ n2 B6 NBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
% Q+ y$ b5 i/ X$ | @{6 c! j% q3 {1 Y3 ^: X8 Z4 L Z
switch( nID )
2 W1 L4 M9 F. F& v- V" l! m8 Q {5 \ N7 U9 U/ K$ _3 |
case WIDC_BUTTON3:
/ G# t/ E$ O @* G! w {
3 l7 R! U7 Q p" g9 Q, d) X bStart = TRUE;
9 X) `+ P K+ Q' E" K- A5 D) m break;& z) P6 E k* X' f
}
% s- t+ p8 z1 Y1 h/ u; ]1 M, r case WIDC_BUTTON4:
/ _( A3 z/ c0 T% f# { {
% x- P5 T" J' A1 T$ e+ w6 t: F bStart = FALSE;5 B3 V9 V, E" n$ H, _/ s- S
break;
$ b. h7 m. _2 [4 T( k: t }; i( B: S @- `5 H+ K0 g$ a g
}
" Y7 c+ b: X4 E+ D+ B3 M return CWndNeuz::OnChildNotify( message, nID, pLResult );
. o( B6 F: T7 d}
5 R# O7 Q" z) Z4 gvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )7 ^3 N. d) p" E, W
{
' K. L: e5 R3 a; V- [6 T* l CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );. F9 R6 h2 q- l
if( bStart || !m_pItemElem )7 a% {0 h9 j( u& ^4 o
{
) O6 L: B0 ^4 z* H. z9 [ pBtn->EnableWindow( FALSE );
o- w) S8 f! j/ w, V1 }" z }else4 }" `2 u) m9 z% ]8 n Z) x
pBtn->EnableWindow( TRUE );
8 O7 |2 S& c7 }2 h% } if( m_pTexture )" f; d/ t$ `4 P! p' X" ]7 r+ T
{
5 Z! \8 t: \; X1 V' P LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );+ M( b, o1 y8 ~' ?' |
if( wndCtrl && wndCtrl->rect )+ d8 t% m; ]7 [
{' l2 b1 @/ k% H0 z! F; {8 z
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );) W. |, _4 O+ ?1 g P; Q, D, ?( L
}
! ]( ?5 f! Z- H! W }
& x3 l {- D$ P+ D& i: i! a G/ \}& h% A# Y5 Q3 @2 B- ^- E% y
; a- J+ E! c9 B' l* s
BOOL CWndAutoFood: rocess()
2 U0 o1 c) J! [, U1 t{+ f' \2 i9 }' S0 ]# g( s( Q
if( bStart )
* {& L" N/ `, Y) ] {2 V4 n/ F8 P6 e, `7 w/ ]- z# o
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
" T+ ?9 Q* J3 j8 H% y: R2 b: J {
, h: M F5 k3 T- i: Z8 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() )8 x$ }8 {0 o" {) e
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
* C" x* U+ V4 |1 e2 O! w }else{, x/ F7 U! o9 }, `: F/ N) y
bStart = FALSE;
5 @1 H6 A; n, i9 V m_pItemElem = NULL;+ l4 ]. A3 r/ d6 H, W! V
}5 P! g- L) O0 T2 j2 D: D
}' f: B, }9 F; j) [/ o6 d
return TRUE; n" h3 x+ q4 s; x6 c+ Q' ]
}; W$ ~& u$ ^1 `0 N0 u0 q' e' _
' `8 K$ a. H1 U
登录视频废话:
, _+ l) S: e, c Y. I T尾翼:. y( e" L( g% C) E, Y
0 h Z$ @" J D! i+ [" Q* I
代码:5 b1 U% C5 }; E- I' s
* h/ E- y, E; l2 G& M+ A
void CWorld::SetLight( BOOL bLight )
( B0 ?& b8 D$ c: zdurch
" S. Z6 t1 J1 f" uCode:9 \5 b/ d( [2 R
void CWorld::SetLight( BOOL bLight )8 K" X0 \+ O7 [# Q' I! w( Q
{
5 H3 U0 x( g5 E/ g! v7 c/ ?" k //ACE("SetLight %d \n", bLight);/ Q; N. d& ^ i% K
, k! w8 f$ h* k% a0 J
#ifndef __WORLDSERVER 8 k+ q# b1 z8 j8 F1 V" ~
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);, o: {" X8 u3 S/ s5 R
CLight* pLight = NULL;& z, C7 S7 i. v: T
8 o7 I& @5 R% i( x2 ~) Y D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
9 [0 j+ c- C* U# y$ f/ \2 O/ j" w
8 F4 q2 J/ S ^ pLight = GetLight( "direction" );4 O3 K9 o* u9 \6 s. J1 O7 a* c, o
& ^3 C, s& J) {& s3 b#if __VER >= 15 // __BS_CHANGING_ENVIR1 k) P5 e8 \; b4 E8 E; F
if( g_pPlayer ){
2 x+ D' b2 V m$ O ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );) G3 @8 i$ I% K4 q
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!" l8 z5 W) ]) y$ l* C1 {
{4 P5 E2 {: ?4 W, V, y
if( pLight )) ?2 T; }( B y* w" t
{
/ {0 Z F0 o; ?0 K. Y pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
2 G- ?1 X$ W4 }, \! W' m pLight->Ambient.g = pInfo->_fAmbient[ 1 ];" U/ Y3 q3 G& [- y& D
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];$ a* k5 \' l( T
: J" d; D4 S }6 j, N
pLight->Specular.r = 2.0f;
9 p, S% k4 d ^! l pLight->Specular.g = 2.0f;
3 _3 \1 n, Q; {5 o( o' [: {; V( g, f pLight->Specular.b = 2.0f;
6 T' z9 Q7 B- U B) h
1 F( S' t$ W) w5 |1 t pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];8 b# k4 c v2 o- k! \
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
" [! d7 s0 _; b& S( Q$ u pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
W# B( P! p) v( n" q: O : |0 M5 p, _, z; }/ S* Z
HookUpdateLight( pLight ); $ Q, x* q3 H! Z+ K# i, a+ e R7 Y$ j
- y" {8 b& X4 Z6 J& M3 y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );" Q2 A: {1 z" D1 }
- l" P8 Z: M. U2 a5 U$ i pLight->Diffuse.r *= 1.2f;
0 O6 y) i& b3 g$ d pLight->Diffuse.g *= 1.2f;. Q' @2 V. m; l: ?9 m& y
pLight->Diffuse.b *= 1.2f;
" d) k( m0 [, W7 a; v
3 U; O4 A" F- _8 Z pLight->Ambient.r *= 0.8f;
+ c! O7 s4 [- G; y/ b4 V# z. V pLight->Ambient.g *= 0.8f;0 D* L5 T A7 Z
pLight->Ambient.b *= 0.8f;
& S- S7 ?6 w+ O% Q% { % L& a, B9 T5 A$ \4 {) W
memcpy( &m_light, pLight, sizeof( m_light ) );
/ A! ?$ p' X8 {: B5 A8 J1 p0 {4 ` {) T0 R6 F
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);6 m7 N: A, M; _5 f- k
D3DXVec3Normalize(&(vecSun),&(vecSun));! m8 z2 t2 T+ X, \4 U8 I
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
3 M4 c& c/ }. X! F) ?/ f pLight->Appear( m_pd3dDevice, TRUE );5 t1 n: K& T9 v
) u3 L) |' |, |
DWORD dwR, dwG, dwB;
- W6 G( U+ j+ o7 ~" p" ^ dwR = (DWORD)( pLight->Ambient.r * 255 );7 ?' W+ B" @! r
dwG = (DWORD)( pLight->Ambient.g * 255 );0 ?6 B6 p! ` ~! `# h, v
dwB = (DWORD)( pLight->Ambient.b * 255 );7 o% z- `' b- h- J# G3 I
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 r) m+ j M, k" \- w! L) }& } }
2 V; J6 t! P! a }2 o8 S0 Y6 b4 p4 T
}
# e& p& B; k7 E1 b( \; q5 w1 Y else; a" U7 V2 ] @8 G* ^' R8 Q
#endif 3 ^$ G0 R& c9 S; c' O
o, e+ Q: G- G! i3 k& l if( m_bIsIndoor )
2 {: H1 c% e: @+ A! T {
% ?) n e; q0 w) @2 l9 Y8 l if( pLight ). j2 M, M& o0 S% v4 N
{
! V! X- f+ N* Y) D. P$ T6 s // à??μ oˉè* # b: D+ q2 g4 J" e+ @
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
$ P2 o v9 U5 p8 J2 Q pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;# ]* X* j' ]# v7 ^
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
! |" n9 R3 b# k3 P
. G) n+ } ~6 @6 w // oˉè* ??à?
+ x" O% {6 u+ H& k; Q pLight->Specular.r = 1.0f;
7 U0 s& \( k8 T pLight->Specular.g = 1.0f;
: T3 P' d6 z. O8 v6 g0 H2 }7 | pLight->Specular.b = 1.0f;5 |2 }( _7 M, m9 u' z% \! R/ `
// àü?? oˉè* 0 G+ p+ Y2 m6 v3 o* d! `
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;5 a: P/ Q. P V1 N
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;$ k, _& T' I! r
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;( Y- r: O" i- W4 _7 o& f2 o. O
6 x% t5 A5 H: L& N# M
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
) p4 M, i2 J4 T# \2 y+ k8 |5 v {5 T5 c4 Z/ P# a6 _
pLight->Diffuse.r *= 0.6f;
9 X/ p# b- Y' G5 u pLight->Diffuse.g *= 0.6f;
' w6 b' _% |+ a0 q' d pLight->Diffuse.b *= 0.6f;: _' ]' F/ d S4 B5 q/ Z$ P
pLight->Ambient.r *= 0.7f;
0 M& b2 k0 v8 z% K/ j; v# l pLight->Ambient.g *= 0.7f;
% q, f8 `: i0 w' q' e pLight->Ambient.b *= 0.7f;
2 l2 l$ j6 A- V6 \ }; L, E/ @8 T6 ^- B X( }
- K: R. P" f' G& U2 U
#if __VER >= 15 // __BS_CHANGING_ENVIR
- f8 W9 m! s( g if( g_pPlayer )
8 Y1 b' h/ O: `& A! Q HookUpdateLight( pLight );, G# x8 R, Y) @3 a" x- [" p S0 f
#endif, W- T [2 u. c6 e$ M: ^6 g
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ Z. D; n* v. p4 S# R1 P
7 j- W6 N' n- V/ I M: ?" _ pLight->Diffuse.r += 0.1f;4 d( K `7 [$ F
pLight->Diffuse.g += 0.1f;
3 c, m6 J& l! r" `' } pLight->Diffuse.b += 0.1f;
( X4 j+ m# n( _3 y) Z( A // oˉè* ??à? - Q. O5 {/ f( x7 I
pLight->Specular.r = 2.0f;
7 G, H3 `3 w4 p( t2 U3 s9 o/ c1 z pLight->Specular.g = 2.0f;
: C" }. ]$ a4 B. T W pLight->Specular.b = 2.0f;! w7 g8 S6 l. q2 T* U; Y. c3 x
// á?oˉ / l3 w: S5 F6 W
pLight->Ambient.r *= 0.9f;
% J) A+ ~0 _; Y- V6 D, B3 H" m1 i pLight->Ambient.g *= 0.9f;- Q8 u* c1 q! k7 [2 P
pLight->Ambient.b *= 0.9f;
T' [' E4 R& y; o5 m, n* c. ~( S0 K* ^7 I' ?' E, K. f
memcpy( &m_light, pLight, sizeof( m_light ) );3 S A; ]. N2 K6 M$ n# o
5 O+ e: v0 Y: o1 I V4 x pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
: ?! [0 H* d, V4 j6 R; X6 q$ s pLight->Appear( m_pd3dDevice, TRUE );
: O. ^4 a) y$ y9 ^
) F( Y' C. n6 d4 @8 G+ Q DWORD dwR, dwG, dwB;) t% ]' S- } P2 f
dwR = (DWORD)( pLight->Ambient.r * 255 );1 q3 T( `( Z. j6 b# [* Y- m' j
dwG = (DWORD)( pLight->Ambient.g * 255 );
, U3 N X8 c6 [0 H7 b dwB = (DWORD)( pLight->Ambient.b * 255 );
7 J5 u3 D8 h* y% _7 r1 K$ o dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
/ ?3 r! S( B3 ]0 b' h5 N }
1 P2 ~. M4 S3 o8 Z }
2 r0 a5 f1 k1 c* }" }# V1 @ else
% D0 |$ N* R* {1 G2 E$ H( j7 [ {
9 m A) @! a) s8 q1 r. `1 s if( pLight )
! i& w1 V& d8 x {
7 H1 D3 H0 Y% G7 s# E
# h! [! H. g, e& j( z$ ^8 @ int nHour = 8, nMin = 0;
$ P4 Z9 E; @$ a% d) q; \2 W #ifdef __CLIENT
' e% n. ]4 H. ]0 {" R // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
9 K' g4 s* A: f8 r nHour = g_GameTimer.m_nHour;; \2 q- \# K$ g* s. G8 G$ u( i/ o6 K
nMin = g_GameTimer.m_nMin ;: R0 u. X9 G4 r" I& @
#else
" l- }8 Q: U0 G: S$ m // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.$ C' B: I) N7 i9 U n
if( m_nLightType == 1 )5 M7 h/ G1 R# j3 j% U( y
nHour = m_nLightHour;! N: [: R8 A8 _5 J, n9 i
#endif2 w8 c( p# E- C+ A
nHour--;* j) H( O- w( O
if( nHour < 0 ) nHour = 0;/ {7 L. m, Q. R! c3 t
if( nHour > 23 ) nHour = 23;
' t* O1 t; o, C5 ]9 m# |
4 p9 A% a3 k' ^& M //if( m_bFixedHour )
0 `- A D! v8 Z( o! k // nHour = m_nFixedHour, nMin = 0;. U9 n+ s7 C% _2 `. s
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
4 \6 z7 c6 U1 P$ h: w LIGHTCOLOR lightColor = m_k24Light[ nHour ];' J) p" o$ K: U9 ^* c" _( f
; K% L9 R2 M3 m( B
//m_lightColor = lightColorPrv;
9 s' f6 S' h2 r. B lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
$ H$ z6 K' k |; Y( h. H# @ lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
0 q( u' N( Z3 R! x lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
( B$ h. n* c+ w0 p% } f lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
; P# S& m3 I. P) J' F2 p( i* G lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
( V% h6 u5 a9 e7 ~5 ^ lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
! ^9 u/ k4 W6 l/ ]* N& X // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
( E+ b* i1 l3 H6 V, n0 @$ l. b) [& y8 s& K& N: [1 T# D
// à??μ oˉè* ! k' t5 P& j# z- W& Z Y
pLight->Diffuse.r = lightColorPrv.r1;
. ?. A1 C% K" d4 J, e1 J pLight->Diffuse.g = lightColorPrv.g1;
8 d9 u# a4 y; h0 Z3 g7 \ pLight->Diffuse.b = lightColorPrv.b1;
2 V5 h6 t; V5 E6 R! y0 D" A2 n // oˉè* ??à? l" [9 U% g! J& M1 n
pLight->Specular.r = 1.0f;+ P/ {9 b* `4 B8 j/ e' p+ \' B
pLight->Specular.g = 1.0f;
- R: p9 r3 P- u' Z( S; ~ pLight->Specular.b = 1.0f;
. `1 J5 R# H* a# z7 ^0 B9 H/ a // àü?? oˉè* + g" T7 l: J+ F c; x
pLight->Ambient.r = lightColorPrv.r2;
3 o0 u+ O" H$ @( b$ V$ G/ ^ pLight->Ambient.g = lightColorPrv.g2;
! _- L5 z2 A& M8 W6 n4 f4 Q pLight->Ambient.b = lightColorPrv.b2;
% w# G0 g/ S' c& l R: e7 ^7 l. k5 R' K' l7 f
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??., m0 r# b: i) n& D" n# \' }
{
( t; \4 b/ C! D7 O q pLight->Diffuse.r *= 0.6f;0 a4 n4 j6 z7 l8 Z! n. }& {
pLight->Diffuse.g *= 0.6f;% h# `, k0 V' K9 d2 v
pLight->Diffuse.b *= 0.6f;
8 ~( y" S0 s( T! Y1 R* c5 `# F9 l pLight->Ambient.r *= 0.7f;& A9 W; z2 W) c3 }
pLight->Ambient.g *= 0.7f;' Y2 f/ y r: W
pLight->Ambient.b *= 0.7f;0 c6 |7 Q* B9 h1 x3 E2 a, U7 W
}4 B( F- _. T m* U E; W U3 x0 ^
5 H) F1 N8 I0 H- o, x; D
#if __VER >= 15 // __BS_CHANGING_ENVIR( L1 ~7 Q3 C# f7 B j+ m7 ~/ W5 F8 C/ @
if( g_pPlayer )0 _% J5 m8 ?4 }6 V
HookUpdateLight( pLight );
* J( ^4 o: |, n. S6 Q1 E#endif
F) r p5 _( Y memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );, g3 \& v* e# v. v/ x0 C9 g
4 K6 A/ N6 t% H2 [# T( n# F2 h#ifdef __YENV
( O Y6 Q, ] \# x' P' D Q pLight->Diffuse.r *= 1.1f;
0 `; I6 ^$ {: Y( P5 w- d pLight->Diffuse.g *= 1.1f;4 [' B5 C0 j7 [; W: l' h' ?
pLight->Diffuse.b *= 1.1f;
; n2 g J* @* [# I9 F) G; f // oˉè* ??à? 9 l. c$ c1 @! I; f
pLight->Specular.r = 2.0f;7 Z9 l0 E5 D* m
pLight->Specular.g = 2.0f;& H! O# e y2 B- h0 O- E1 A
pLight->Specular.b = 2.0f;0 F0 l. }5 \- Q% i, m6 a
// á?oˉ
! L' x( M% u t! b: N pLight->Ambient.r *= 1.0f;
" {9 y' J0 Q2 V2 J pLight->Ambient.g *= 1.0f;
1 o7 Y) I# o7 b% d pLight->Ambient.b *= 1.0f;+ ~# V7 g. M: P# C( d
#else //__YENV
$ v! _; n9 }5 G- M pLight->Diffuse.r *= 1.1f;4 K0 y5 N( Q! a, S9 w# r) t7 u
pLight->Diffuse.g *= 1.1f;
" s+ y% x: ~0 v C# T pLight->Diffuse.b *= 1.1f;
: [7 R7 m8 J+ i) z7 d) U // oˉè* ??à?
: x) a8 o1 N+ s1 q pLight->Specular.r = 2.0f;4 q% a& Q& v. j, k) V% @, I" X5 j
pLight->Specular.g = 2.0f;/ A- C! _# t" U& U9 C) g
pLight->Specular.b = 2.0f;9 g, v$ f9 V/ n' h0 A/ C2 G
// á?oˉ 0 g: V" t4 ^% C! y3 W/ \
pLight->Ambient.r *= 0.9f;
5 R7 `" U% G" |. t0 T3 t$ R pLight->Ambient.g *= 0.9f;- T' v0 Q- y9 ~. i. R" R
pLight->Ambient.b *= 0.9f;
/ |4 d& _0 y+ m0 x9 L#endif //__YENV 9 D; f; }: j+ p; Q6 u. I( P) `5 x
: ]3 F, w9 k1 s( Y+ q2 g memcpy( &m_light, pLight, sizeof( m_light ) );, \* y3 W, f% ^6 U9 Z9 `& N/ R0 f
! L* o1 A* c) D5 |$ ?
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
/ J7 S# \' ?0 O4 Q9 t D3DXMATRIX matTemp;
4 _) y( e% v* R0 j# T& z static const float CONS_VAL = 3.1415926f / 180.f;
2 ~5 s# N% N5 t# ]
- b( q3 ?1 K$ F1 d. x7 F* R7 E. h1 ] D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
1 `7 B- U6 u* \2 ~ D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);% _" p; |" n1 |( e5 F: e. _
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
9 ?' C/ w* R! d" x- p pLight->Appear( m_pd3dDevice, TRUE );2 X4 K# @" r$ w# m
, n6 q! m4 X$ W1 Q T8 d" A
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- d$ S4 c" j5 H8 f. f) _
// D3DXVec3Normalize(&(vecSun),&(vecSun));
; y- H! W E% ]3 v- Z // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
' `5 b$ ^" d5 r0 F$ J/ g) x, Z2 D
: @6 _6 z ~, r( c- X: r DWORD dwR, dwG, dwB;2 k. \( }8 Q% L
dwR = (DWORD)( pLight->Ambient.r * 255 );
4 p4 k; t; ^+ C/ }$ t7 b ? dwG = (DWORD)( pLight->Ambient.g * 255 );
7 Y. n/ Z" a* }& K9 L2 \7 e dwB = (DWORD)( pLight->Ambient.b * 255 );
% t7 |3 O) s5 w dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 y) H$ ^! \5 E6 B* K3 J }2 J- o; Z5 i4 ?6 C6 L- `3 N# F
}/ @, `% _3 E9 e
z; L/ O+ v9 _& Z3 I$ l$ \( J m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
6 g# v6 P7 N8 m3 }6 p 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) );* O4 @0 m2 k$ _1 }9 w& I
::SetLight( bLight );: V$ _3 b" N- q& y) ?" z
" Q& Y; a* ^- y% d6 u7 r/ R' y. K
// ±ao? ?D?í???ó á¤à? , \) r& Z5 G8 M/ K
m_pd3dDevice->SetMaterial( &m_baseMaterial );
1 H" W G2 E/ @% n
# k) D, s5 |0 D5 ` \#endif // not WORLDSERVER: ?4 @- o$ y8 T5 l/ P
}
' o0 F: l6 s* M6 c+ a9 K并更换
$ R! s* b3 f7 O9 u3 p/ s2 cCode:
% K4 G0 i3 h; B1 o. a__FLYFF_INITPAGE_EXT
9 L5 R- c" }# `5 u+ e定义% X' V% `& m4 Y/ u6 s# q, ]1 r' m
5 M: H( A; e5 o, u5 L0 V5 d- P+ U1 `, Z% s4 \$ d
1 _' s, N% [* A$ z. R) n
j3 `7 Z- z" \. ], h1 X
现在终于删除我的狗屁加速...
: S9 M: F( q0 _; z d% Q8 T+ n3 L' B/ l3 [
" w- N& | w/ Z) x) }" ^
c h4 u2 ?% ~3 ?" S7 G& E$ P
|
|