|
|
食品车:' m U. N; s% C0 G- B, _
尾翼:$ n! E; P# |$ x, W5 _: a
! I. W" {$ j2 ~7 d; w) H; B! b7 R
代码:
* \+ @5 j$ \9 p% a3 A3 \8 \; HCWndAutoFood::CWndAutoFood()
1 q) |% N9 J p3 A, Z{8 d1 X$ Y- q- F ~
m_pItemElem = NULL;( a( {, U& d6 N5 S
m_pTexture = NULL;
6 B5 }0 \$ S6 s6 T( p: @ bStart = FALSE;
( W- q* t" a7 d# g- R1 H# h6 L}
! t& d5 R" V' q7 A5 C$ Q) h- z3 ~( f. Q
+ B5 `/ o$ B1 l3 L8 c* hCWndAutoFood::~CWndAutoFood()
' C% O6 K3 s3 O7 D# k: ]{, X7 P! c4 F- }; c
AfxMessageBox( "AutoFood ist gestorben " );
* L3 [! c2 L1 W' L6 n}. F% E3 H0 v5 d5 `' T& [
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )& S( d# g q3 e' k% t( ]2 |6 a
{; l4 u- T& m$ {) j6 Z3 r3 B2 o
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
, e1 X$ i- L! E0 k% b}
* l1 u& ?' E/ k+ R$ l+ S
( N+ l6 S3 i( P7 ]7 qBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )% f0 z6 Z8 K. l8 S, r& Z1 [2 z3 |
{% W3 _5 D0 L/ \
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
5 q1 y" ^9 L1 F4 ~- O* j CRect rect = pWndCtrl->rect;
5 o2 S+ B9 B* `% \ if( rect && rect.PtInRect( point ) ). Y) J( h& z$ B O/ {1 f
{5 A3 Q0 \3 z" L. S7 D
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
' t1 `* E" C( s, d8 S6 N6 p! i if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )# ]! A4 A9 i8 [
{' m/ [3 P2 w4 Q& r* [8 ]7 v0 f7 K
if( m_pItemElem )
, `9 H$ y" n$ Z& \8 N {
1 K2 H5 z* I4 S; T m_pItemElem = NULL;
. W4 O, O8 C8 F6 d5 H1 t }; J$ V, f' r. G# U; S
m_pItemElem = pItemElem;
; ^) i* ^( Y- D. t6 s+ J m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );( H" m6 t1 a7 ]& D5 Z
}else{3 `7 o2 n0 z9 \- n* F
SetForbid( TRUE );8 K6 F, m, f* l
}
n/ H4 S! A8 K- h* H' ~% X3 X/ N }else{
7 W& \# z$ R' }5 N3 h SetForbid( TRUE );5 w8 r) d0 i9 V
}
3 o, h/ e# {6 v# N, [+ b return TRUE;
3 t5 q+ C8 F: W}5 k8 I# U, D+ y- o
- i+ \& f/ m9 }( u, Q, q0 X' G: NBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )5 e; U" b7 ?5 h! L
{: L2 t0 e3 V* m8 c" z* {
switch( nID ). r3 h; d* t3 @% u
{1 y; c& G' R6 r/ \- _) D- M
case WIDC_BUTTON3:, h5 }% y( @, I1 A* M0 L5 T! I# n6 c3 W4 d
{
) m( f. ?$ L$ U: f$ y bStart = TRUE;
8 J9 _9 A8 n# P( M break;) S2 ?' X2 _0 H1 T, a# I
}
7 |2 b8 n) }" M3 j case WIDC_BUTTON4:! f- B- g5 q- X- \
{" ~/ l+ z3 A+ M. {
bStart = FALSE;. ] J2 f# ~2 a
break;' J1 R5 r$ S& P
}3 \2 s6 F5 P" |" Z( i- }9 U& @7 [
}
0 g0 }. @4 S% X7 Z- A return CWndNeuz::OnChildNotify( message, nID, pLResult );
* o5 o& D0 N8 d# C0 W6 l; ~} ; F0 @, b4 a& o
void CWndAutoFood::OnDraw( C2DRender* p2DRender )% Y: [3 h( c9 i0 G: C
{$ @$ l0 i! R( s7 C _' m' `& \. x
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
% U* V0 h! a; m! \$ f7 m1 ` if( bStart || !m_pItemElem )
9 O! _+ i" z2 E6 W. o {' I r& b; X7 p9 W4 f
pBtn->EnableWindow( FALSE );
/ ~% M2 r: [! {; G. ?: @ }else
9 X2 [7 C, F! o/ y4 G! R. e( w% D! v pBtn->EnableWindow( TRUE );# i! z" b4 w. ?
if( m_pTexture )! M0 t/ o4 b @8 \+ [' h' i
{
7 f- l/ h) V/ P# q2 [% d3 W. M LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
0 I7 k/ x: J; G if( wndCtrl && wndCtrl->rect )7 D( r1 O. P+ h. }# P8 e% N
{3 G/ a- y1 A8 y# a
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );8 G( o8 G8 R( _# [2 m6 Z1 z4 \
}0 o4 P% w+ Q5 X" e: |/ W
}
r( |5 G4 j4 x, r}6 z/ c6 c, u ^
: z1 d5 |# O0 _% R( Z8 ]3 a
BOOL CWndAutoFood: rocess()9 o5 ]+ n4 ]$ p( w
{
* w) ]+ f5 n7 d, l l* c if( bStart ). r- t9 x1 U5 o
{/ V% `: p: x$ G0 W4 k
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
: C+ `8 J3 U0 b9 C1 _$ }5 }9 P* M$ Y {3 c% F. E* `/ a( j$ Q* ^% k
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() ) z0 k% d6 ?* b. ^
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
; m$ I& w% Q, T- l }else{8 v0 x; s9 N* C
bStart = FALSE;
1 b3 t# K1 v1 C) Y m_pItemElem = NULL;
4 P% ]9 b( s" y }. ?2 H: S6 m' H2 `, b# s, I
}' D4 H# J. H7 R1 k. u. s: }6 p
return TRUE;
' g2 c, t& a, G) S' k}
) {; p3 j5 M; q8 ]3 m7 h/ c- u6 l Q! m3 |/ C
登录视频废话:
6 O- ~0 x; b4 d- q* ~$ a尾翼:
9 r3 r% U* C/ q1 S) k) \# B2 y5 h; t
代码: R4 ]7 C& r- d+ v3 A2 K
3 I# E T& n( n( _* ]$ [9 dvoid CWorld::SetLight( BOOL bLight )& R3 Q( l# [. V+ ^2 ~9 i" q
durch
8 Z- `$ @( V2 bCode: W! s E1 X t/ Q1 P
void CWorld::SetLight( BOOL bLight )9 P& {1 X' c8 k. d" E y
{
9 n6 U% @# |( D( X4 B //ACE("SetLight %d \n", bLight);
. h7 Z$ ~6 z% u6 C0 I4 {4 x( z5 J* R
( R: e1 d$ U6 r# q#ifndef __WORLDSERVER ) r2 r8 Q( d- p \) k* a: D
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
( ?( \* c3 w/ a$ p5 L0 k n2 t( } CLight* pLight = NULL;
: _$ k8 R* X( W8 J9 C0 e @* L4 P/ D( K' w9 R
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );6 O6 X1 b# q) n" G- B1 g, W
; C' [& [8 ]' V* k' a' m
pLight = GetLight( "direction" );0 P6 K3 N/ } x. u) T& }$ w
( B4 b- N6 D! O* R$ v/ ]
#if __VER >= 15 // __BS_CHANGING_ENVIR
( S# l4 }7 k2 E/ c" w( Z if( g_pPlayer ){
' G! }7 p: R! p5 V% p& B5 q% B ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );2 p' s- T$ N* D3 l! n
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!+ c. r6 r% @4 O; }3 C1 `
{* \ U$ Y0 c9 l& T/ V
if( pLight )
2 ?+ k7 N7 W: |* { {! ?* f# o5 D8 F
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
0 N3 F. l& H, ~7 Q% B/ q5 r pLight->Ambient.g = pInfo->_fAmbient[ 1 ];. ]- e; X, n% y9 n+ }
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
, _& r- n# n0 F2 w0 S9 j! h
+ p* Y }. s: n pLight->Specular.r = 2.0f;
/ k4 D) f, @% t9 ~; S7 D% U8 a pLight->Specular.g = 2.0f;# _1 s% d4 M7 S; u6 H4 Z* b1 D
pLight->Specular.b = 2.0f;( j& u4 e% q4 I1 G' {
% x. q' |) x% L7 g$ ^" s/ O$ {3 k
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
( R% p7 F, n9 ]. F* m pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];$ y. F* A- l) q% b0 T
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
: h! X% X' L. v3 [& D. M3 z$ L' I5 [ 9 b2 I2 h) @/ |
HookUpdateLight( pLight );
, T! a9 t0 K) U4 J7 z
( T* p5 C% K; }) R: D5 Y+ W memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );: g1 M: f# k5 c9 h9 P* M# E4 x
5 X1 | w7 H8 ]- u pLight->Diffuse.r *= 1.2f;. K0 i( k4 G1 ~# k7 a7 X+ ?
pLight->Diffuse.g *= 1.2f;
# V* r. E# x; c) Z pLight->Diffuse.b *= 1.2f;* B7 a( T; ^/ ?, E+ [9 k
" E* h, S' O+ R& j3 g3 C0 u pLight->Ambient.r *= 0.8f;3 R0 B) [% a; s6 G
pLight->Ambient.g *= 0.8f;
# l! Q9 d% W% m9 ^& I pLight->Ambient.b *= 0.8f;6 j, |% k( c$ v5 ^" h- ?
8 T4 C1 g2 x6 l8 g' p1 @! N memcpy( &m_light, pLight, sizeof( m_light ) );8 x E! s) Z3 T# I
$ c7 I. q5 M3 k6 x: D3 Q
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);; j' D- ?) D/ G/ r& p
D3DXVec3Normalize(&(vecSun),&(vecSun));! z2 v& A$ l3 y0 J7 ~, A/ s
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); : w/ A: F! I( \* n/ D
pLight->Appear( m_pd3dDevice, TRUE );
6 g" K6 C. b: d7 s3 x
, ] D2 Q: B# ^4 N. Y% o DWORD dwR, dwG, dwB;
0 Z2 ]! O( z8 W" K. L$ w- i# @; s dwR = (DWORD)( pLight->Ambient.r * 255 );
5 M% N; n- Q# {' w! z% r3 z7 r1 ` dwG = (DWORD)( pLight->Ambient.g * 255 );2 T$ k @1 P" ?% o+ T- E
dwB = (DWORD)( pLight->Ambient.b * 255 );" _+ R5 b1 i! h$ }6 A- X" l6 ]
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% [5 E% B8 [( A2 ?8 i }* I. }5 z3 y h, ~$ I0 v/ I
}; S! }& M6 E! k
}
^$ p, f6 H. z2 ?3 A* N M else6 _% H) H+ U ]% U% P( N4 I! }7 [; `
#endif
; }0 F' ?; \" r. @6 ^- W* X
5 p5 ]7 I. O# z% D7 t _6 G if( m_bIsIndoor )1 p* h5 E3 N7 i- {: q. W
{
, i' c* i7 M) |& f8 u) [7 y( d1 l9 { if( pLight ), P) j4 g* U! H8 Z
{
( n6 X7 k2 @ l6 C- k: u3 I // à??μ oˉè*
& i9 o) y; a2 c7 T pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;& j1 n0 o: S+ j' y& _" z- g
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
" L5 H0 F7 n( q) w( ]! G pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;' p. J/ y% r0 `* ~5 x/ C
) k3 R1 d/ G( ~. R. M
// oˉè* ??à?
' b( d0 R$ O! E) g/ [# M8 K pLight->Specular.r = 1.0f;$ B0 W6 F1 T# R C) f" S
pLight->Specular.g = 1.0f;1 f; i" \- Z ~8 _' {3 [
pLight->Specular.b = 1.0f;
0 J; H( r; Y+ k* ^5 ` // àü?? oˉè*
G/ |6 i$ B& x6 x pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
1 F$ ]" M8 L# v; `" R pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
! E+ ]# a" X z0 a' O0 r pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
6 ^$ K1 o6 U& ~5 e; w5 M, T, b5 j' c! n0 I4 J! w# D4 E$ L* w
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
$ u5 _% U! m0 A4 s {8 K T* C) e/ X( g1 s8 C5 M
pLight->Diffuse.r *= 0.6f;1 I, D! F+ T- ]* n2 F: o5 t
pLight->Diffuse.g *= 0.6f;
2 o: n/ X& }& z9 y pLight->Diffuse.b *= 0.6f;
# H+ x8 z5 Q/ a- b. l! v- R2 J* |$ V& I pLight->Ambient.r *= 0.7f;
/ ?" L- h( l d0 a" ^ pLight->Ambient.g *= 0.7f;8 a7 q$ w g: q" v7 U- k
pLight->Ambient.b *= 0.7f;# z5 x; r# l* I j1 q) _
}
. d: `3 U: ~; K+ z# u7 r
9 \5 u3 R0 d9 Y- S* U- }#if __VER >= 15 // __BS_CHANGING_ENVIR, _ h6 R! N, \1 j0 S0 [( f. }
if( g_pPlayer )5 Q8 l, H; t( H! A
HookUpdateLight( pLight );
$ O7 O" G* e! `# T#endif
4 t# l9 J* S- z" I+ S' r/ t a memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );. `. o2 f' B# Y) \; W! L
9 @7 w9 R3 }0 C4 E# w- B# j* J$ E pLight->Diffuse.r += 0.1f;
! W, G8 y' X! `/ ~6 \ pLight->Diffuse.g += 0.1f;2 b0 C/ Z. V s+ S" V
pLight->Diffuse.b += 0.1f;
- J& x @2 \' l! g& l // oˉè* ??à?
. z# |, q( `" O# V& O! g pLight->Specular.r = 2.0f;
5 B$ \# l% @$ G; H$ w pLight->Specular.g = 2.0f;
+ S/ j! P" X3 v' [3 k1 j1 M/ Z pLight->Specular.b = 2.0f;
' q0 m, E. H! f5 w3 ^6 o) @6 K' { // á?oˉ
: C9 U# L8 k" N, {- a pLight->Ambient.r *= 0.9f;
" T* h" Y& M1 D6 H& ]& p, g pLight->Ambient.g *= 0.9f;
" ^- n- g0 [$ m pLight->Ambient.b *= 0.9f;
' q* a3 j) }! B
$ z8 |- V0 j' e: s r memcpy( &m_light, pLight, sizeof( m_light ) );- G4 G. [7 y4 j
1 U3 C& U7 ?! t5 y) f" ^: F: e pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
( q+ `1 K3 V% [/ x8 j: v# O. O pLight->Appear( m_pd3dDevice, TRUE );1 x' W% u# @7 [( z! p
) H; M, ]* |. k+ h DWORD dwR, dwG, dwB;6 H8 K8 M8 a& o) L+ ~7 V5 B6 g# \& l
dwR = (DWORD)( pLight->Ambient.r * 255 );
6 `( m" r$ ?$ @ h dwG = (DWORD)( pLight->Ambient.g * 255 );3 ~" E W& M' M- }7 M6 J8 F! h
dwB = (DWORD)( pLight->Ambient.b * 255 );& }# l! N: l" h( s! P
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
' U! c* F+ S. @" D4 C }
" p4 I& b# ]* q# q }, `" t/ r# H& `0 d! P O
else
. _+ m) J( x; d' O( ]( S, V {! |5 J" n* Y1 C9 c5 g3 L# M) S
if( pLight )' b8 @! }! k+ C" E P; Q4 ]
{3 Z. c& E& [$ `9 I1 c: C) ~ H
& y* G$ s, |- _
int nHour = 8, nMin = 0;
+ [- m' z# ^; A' ]! i #ifdef __CLIENT Z" m" J! V0 A1 N' s! S
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. # }' w6 o" G5 b R
nHour = g_GameTimer.m_nHour;- R; V1 f: W- X- o
nMin = g_GameTimer.m_nMin ; q" T0 e9 U/ v6 u o
#else1 g( i. h, m! y$ T+ P) m0 }& c; r
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
6 m# ~+ @1 Q0 e. j3 O if( m_nLightType == 1 )
; @; s) P6 K2 T0 a nHour = m_nLightHour;
% `0 z4 e; u2 w- j #endif M6 Q4 e" D" |1 h
nHour--;
+ P* J) ?+ D' E2 w5 t$ [ if( nHour < 0 ) nHour = 0;
- [3 N5 G7 t+ M# ` if( nHour > 23 ) nHour = 23;
7 q$ u* i6 r! y# a$ }$ L1 b4 C9 l% Q5 }: z
//if( m_bFixedHour )- k+ T. G% u/ L0 M
// nHour = m_nFixedHour, nMin = 0;
4 C% P" s' g% l# A$ A; b LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ]; }; \) A0 w: ]
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
/ @# w6 U8 l/ Z$ M7 k4 p2 e3 ^ H8 F# W
//m_lightColor = lightColorPrv;. p4 Y( {* v/ r: M+ @
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
+ B' m7 ]9 Z! Y; ` lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
p2 C3 G: s' p* h. o2 ]4 G lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;! v! C0 O7 y3 p6 z- X8 `- |: a
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
+ \# Q# C7 K# g8 u ]3 x lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
, y H. t$ H9 s2 g8 _ lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
/ \8 l; Y4 p0 K- p4 X // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)# D* F3 c1 ], A
) U6 A# J' f# O7 O1 R# d6 ~2 W! I9 p
// à??μ oˉè*
0 b! ]6 x% f* h pLight->Diffuse.r = lightColorPrv.r1;
% K& E% b5 m8 Y0 R pLight->Diffuse.g = lightColorPrv.g1;
4 l9 a9 D, ^" g7 h& h+ L pLight->Diffuse.b = lightColorPrv.b1;9 }% m5 C# l. `
// oˉè* ??à?
: c# Z, Y1 H" e% \* X pLight->Specular.r = 1.0f;; i. [7 X* V& a
pLight->Specular.g = 1.0f;5 a' m! |6 {0 C0 a( C7 t2 o
pLight->Specular.b = 1.0f;
4 F5 T1 r! v- f$ O& F // àü?? oˉè* ( Q% J3 B/ a1 I7 F
pLight->Ambient.r = lightColorPrv.r2;/ j4 z8 W: q& f! M- I4 w2 F: y
pLight->Ambient.g = lightColorPrv.g2;
) a1 f1 o+ [3 F1 t! L pLight->Ambient.b = lightColorPrv.b2;
x, r, a/ T! j# @4 [6 }1 w. Q$ {( `! Q3 g$ G
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
5 E9 h" d3 d7 H1 ^8 z2 e: F# M {9 N1 @, q& \7 G+ f7 ?& N2 Y ?: v' H8 m
pLight->Diffuse.r *= 0.6f;, G; C1 N2 {4 }( Z- D
pLight->Diffuse.g *= 0.6f;2 n. A, {" y% g' O/ g& m
pLight->Diffuse.b *= 0.6f;
" S; P7 v6 }* z$ b( |) w pLight->Ambient.r *= 0.7f; s/ ]* ^9 ^$ Q/ o
pLight->Ambient.g *= 0.7f;9 i; t0 ?! c O. U% r) P
pLight->Ambient.b *= 0.7f;! Z! m3 s% c8 W ^" l( y
}
$ s2 l ]; R0 t+ k; a: t* u
/ t9 }( [6 s! e* s& D#if __VER >= 15 // __BS_CHANGING_ENVIR3 d' @, t3 m7 i9 u4 ?% x( J( y
if( g_pPlayer )
1 J& `2 ^& i8 M6 B# n1 a6 g HookUpdateLight( pLight );
9 M) Z0 s- w& P6 \- q#endif
7 Q. o: M/ y' l2 A) j! a$ w# C/ @ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );2 ?) k w0 w4 a) U
4 e/ f7 Y, j: r0 F: V( a% q#ifdef __YENV
+ _& ]! f0 B8 D. K3 H+ x0 G pLight->Diffuse.r *= 1.1f;
- {; Y- G* S3 b; @* G8 s! A pLight->Diffuse.g *= 1.1f;
- ~ H, K/ I+ n# p4 ?- F6 g: k pLight->Diffuse.b *= 1.1f;! h ~* v* J. m" C- l/ k
// oˉè* ??à? ) N& o! Q# x# F, w0 J- |
pLight->Specular.r = 2.0f;! H j9 \' s8 W, T- ~0 e( F. t
pLight->Specular.g = 2.0f;
! I5 }+ w9 t- ~! W pLight->Specular.b = 2.0f;7 `2 E* l3 Z4 k& S0 s
// á?oˉ ' I, y. [5 c# A% \, c5 T E2 B! n
pLight->Ambient.r *= 1.0f;9 K' Z2 _: I! p5 _ i
pLight->Ambient.g *= 1.0f;% A N7 ~$ q. M/ R9 W
pLight->Ambient.b *= 1.0f;0 l! ?: ?5 n" P9 D) U( A, Y) l7 s1 d
#else //__YENV
7 b/ i5 r0 ~( [ pLight->Diffuse.r *= 1.1f;2 O. F9 b& c$ ^
pLight->Diffuse.g *= 1.1f;: C' l: h$ U6 J7 w: z
pLight->Diffuse.b *= 1.1f;& k; W9 i6 w, O8 ~ }- H: Z
// oˉè* ??à?
- b& h4 w- i' S/ V pLight->Specular.r = 2.0f; e `0 e+ Q( O5 x0 p& ?
pLight->Specular.g = 2.0f;
7 r* N1 g5 ]: r6 D pLight->Specular.b = 2.0f;
; J) U4 B, z1 J2 T) i6 i" w# q // á?oˉ
n1 `; ^) ]2 G6 ?+ T* \9 g) N pLight->Ambient.r *= 0.9f;
: T4 o; F" Z' d6 [# F pLight->Ambient.g *= 0.9f;
9 @- O" X/ \3 a: v6 i$ C G pLight->Ambient.b *= 0.9f;
; G, o# R& I$ P5 J( _5 V#endif //__YENV 7 y, S4 _) R: [* `6 R ~6 G
- N+ r+ f( U7 F; b ]
memcpy( &m_light, pLight, sizeof( m_light ) );" \! Q0 [6 C! q3 Q! G2 z7 U
2 Z& x- T6 k( J$ ~/ o) K D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);! p+ @7 F# m( u3 }: i; v V
D3DXMATRIX matTemp;2 B5 r) j+ w: C8 G
static const float CONS_VAL = 3.1415926f / 180.f;& d* g5 m! }4 Q/ I' l& p
9 o- f7 l* H2 N. G8 ]. S D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
! f5 d( r) }4 k' f D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);1 }0 P8 O2 @5 u& W2 [8 o
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); ! {# R, |$ G# q5 P' M
pLight->Appear( m_pd3dDevice, TRUE );$ } H% q/ V& f5 t
! b( U, T+ ]! @- _/ u7 ~1 O* H
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);2 N2 z# ]3 p* u7 p. s
// D3DXVec3Normalize(&(vecSun),&(vecSun));8 K' h1 Q6 k, C- c
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. c3 E1 Y8 a+ l( y; X- E; H2 p0 b' H* X
DWORD dwR, dwG, dwB;- q8 R- ^$ d6 o, u( K# c
dwR = (DWORD)( pLight->Ambient.r * 255 );6 y. i. D% f1 e" s1 U. T4 m
dwG = (DWORD)( pLight->Ambient.g * 255 );
# ^$ y) [) Q- {0 _, L" a) H2 E- ` dwB = (DWORD)( pLight->Ambient.b * 255 );" f% ]' @- {( ]9 A& j* z
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
6 D; z. O2 z& x+ q/ v; ? }
( u4 j5 O; K6 |0 `; A8 ` }8 b! ^3 x) O. [; d; R
, j) k) ~6 u7 X3 J: a l+ B m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );% z* R1 S( W: g5 b l4 N
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) );
7 a/ A& S- y3 _; r) E* Q ::SetLight( bLight );; {/ F7 v% k; @' k1 z! o
# p2 n1 {3 q7 f1 b. Y# U // ±ao? ?D?í???ó á¤à? - s% M6 _; D. i2 b9 b
m_pd3dDevice->SetMaterial( &m_baseMaterial );9 f X5 S/ s. s, K/ k# C$ |
- V+ F' Y+ q8 o- L+ m& H
#endif // not WORLDSERVER
0 b- q* i7 I c( J4 _# F}; Z! }" D# {$ z# I, u% A6 c; C
并更换3 I/ z7 F6 H' M+ H `
Code:
; Y+ d1 f3 d0 _9 |1 \2 } ]$ c5 w__FLYFF_INITPAGE_EXT1 n2 a! u6 {: z/ l. D9 ?0 N5 M
定义
" C8 P. Z# Q; F4 w. y+ C$ O" n
% B( p! U) u2 c
' v( Z' K" ~+ u6 m0 [+ {1 j$ [
& j* t! n# K/ @, Z) Y8 R" k# ?1 N& G. U1 X
现在终于删除我的狗屁加速...& v4 X7 c8 {& X9 n1 |% E) O
8 k3 d+ J) T8 R" m3 m( v4 Z- J0 G
?! B9 A& G6 M: p: g+ y) v
: w( }8 G* k( \- y) s& k, ] |
|