|
|
食品车:
/ I0 D. h% s7 F: p0 O3 W- g4 e- n尾翼:
# d: [, }- C. H' ?' J( J
, y: b8 A9 S2 n) H! M3 Z代码:% K2 P! e3 `: p9 K4 A
CWndAutoFood::CWndAutoFood()' V$ X" K& W& `+ d% N) Z4 C4 z
{. A" Y4 S" O6 S1 }: }9 C( Q9 o/ P
m_pItemElem = NULL;* h- G7 P- f6 l+ ~! l" J
m_pTexture = NULL;$ @ F" H3 q, B5 R
bStart = FALSE;
& L9 t; |1 I2 ]$ `+ h; Q* F}" ^' t. y# V$ I: P, T/ J9 o
& Q8 @. |$ \! L" i
CWndAutoFood::~CWndAutoFood()1 z( i9 ~6 ~. c2 x* s0 J$ R
{
) u+ x$ W6 S; n- F AfxMessageBox( "AutoFood ist gestorben " );1 Y& y* i0 ?3 M1 A8 v4 S' z9 w
}
. v- |; x8 d. H% WBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
( ?4 L: P+ n8 y8 X; K: Z{( }0 e7 M" N8 U- z# _
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
. j! {5 d( \! ?% B- f}, L. ~. p1 j. g4 v( M
; M" D6 N/ Y! V" b# J Y
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
1 ^7 W2 q+ |3 T `% w{
$ I# T9 [! [8 G3 b! q LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );6 ^# H: G' K7 t$ s3 [( M& c1 S P
CRect rect = pWndCtrl->rect;
; `6 z- c) q2 _9 F if( rect && rect.PtInRect( point ) )
0 D# p' i! o8 H( _9 M" t, v+ Q: L { s* h0 O( w" S1 H/ ^2 }
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );. f! E( K# t( e1 }2 F; Q
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
6 h) p# d: W* t( Y0 p {
# @1 n8 t1 |% f) W( y" y if( m_pItemElem ). d+ f. Z- n6 ~+ z% y2 r+ y2 }
{0 G1 L) Y4 p5 a" B3 L d
m_pItemElem = NULL;
( ~! D$ R- l2 H' T }
a/ W: ^$ e" Q$ n m_pItemElem = pItemElem;
9 n4 f( g& ^5 _2 T m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );. L" v) A, q1 U J1 u
}else{
( b$ e( c9 [% }7 U3 T, @ SetForbid( TRUE );6 R' A7 {1 `6 R. `/ r+ b
}
! V3 A: ?& u+ {) d4 ~1 L }else{
/ o; D' ]+ w& I: }1 v9 E+ V) A SetForbid( TRUE );; | ~. M- K0 F% X* }; i/ R% B
}
8 k. S3 E2 X! }" ?# ~4 O return TRUE;% \+ b- T: I: t9 m
}8 `0 x( o1 M8 q5 i2 p* Q8 R
: E; h' C& {, V* T# T) T
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )) ]& Q. I1 n, N8 u& i
{& |/ S+ |7 b+ v- n
switch( nID )3 L" `& C7 C7 }1 S2 E
{" ]+ i& n( s+ ~ x4 o
case WIDC_BUTTON3:( A! A$ ^* d: U* b+ R8 Y9 ~
{4 Y' R& O) K' J
bStart = TRUE;6 O" X( R# U% H" K
break;
* `. D* T3 M& K) B" t }. k: C( t1 A; p1 U
case WIDC_BUTTON4:" |6 e. ^" S8 Q b1 c; w3 }
{
6 [; p0 L% K1 L8 `8 [! R bStart = FALSE;
' V5 L; Y- _0 G; K+ a- C( @ break;
$ p- B& L) n9 s# C }: ?/ d/ n6 Z- X$ m/ j, \, A0 g
}. a% _/ ?- D3 f. k
return CWndNeuz::OnChildNotify( message, nID, pLResult );% b0 w. ^4 d* f4 q
} ; `/ i4 F* G- k B# M
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
8 D; L$ G; N! y& D; X{/ u F& }) G6 e8 G
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );+ y" k3 J4 P H
if( bStart || !m_pItemElem )
% ?: w4 g* S/ Y, Q h {) d1 B% H; {' u* ]
pBtn->EnableWindow( FALSE );; i( j, T( Q: \$ h. @1 N3 g
}else
{! o6 G5 j U3 a7 S$ c$ r7 ?6 M; I$ o pBtn->EnableWindow( TRUE );
; n" m. D! v. @5 A7 U1 b3 g% c% w if( m_pTexture )" T' J# ]# m) N& p1 o
{4 t9 D9 f4 Z, X6 s, O
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
0 l$ T! K8 V& N5 H4 _! P if( wndCtrl && wndCtrl->rect )1 t: d! u6 {$ D
{9 U. I4 h1 c% l4 ~* e4 K
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );% Q# D* I) C. K
}* I' R) M+ q& \$ Z, f) x" }# K: t
}6 G/ d8 y# w+ ~- G u
}- p8 c, i( u. x; z7 L5 }% [2 z ~
' ?9 ~- a/ k* f& n V# |
BOOL CWndAutoFood: rocess()0 p4 \# J! D; N3 s: s
{6 l+ c+ @2 o! I5 w5 j8 g
if( bStart ). m3 G$ Y% {5 L5 d' a
{
' r6 @, [$ A, B: Z6 C& l! ? if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )% y7 {# T1 ?) `2 {) g- r( L# j
{& h0 ` o4 }5 s7 A: r r8 R
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
6 a( m D- r4 v3 P/ y g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
, w2 ~& G$ T+ G }else{
$ P ^ J( s! q4 {# o( O) P bStart = FALSE;, g o4 |7 u/ L6 Z5 E& L( O# F
m_pItemElem = NULL;9 }3 p% ?; d1 ?6 d; d6 T
}
# C8 k* z/ q0 n4 f( U }' w i/ {) r4 Q( o! r6 @
return TRUE;/ Y$ u4 ^4 r, V) _% X
}! a, g# V) x! ?& f( k0 E9 P
2 g5 h' L q" \. ?4 a# }9 V3 M6 M登录视频废话:
/ q! k( `% O5 B7 L尾翼:# O8 `4 U& e- d. H& C Y; g9 P* X
8 Y( Q% l! i3 D" w# F5 z. ~. D" b代码:; `* C/ A+ V! A( ?
9 r) z' Z7 R# T5 o5 [4 G
void CWorld::SetLight( BOOL bLight )0 s4 y% K- M& I) A7 c& F9 h
durch
+ j% A$ }& V5 x: P/ T5 g8 o' aCode:
3 w% V* ]9 r1 C9 F- h, hvoid CWorld::SetLight( BOOL bLight )
% R- `5 J$ s: `+ h2 j{
" Z: H7 x" I. C" _ //ACE("SetLight %d \n", bLight);* I9 Y, m `- ?* R/ q% Y( v
8 D$ H& [2 F3 T9 M; u3 h }6 g#ifndef __WORLDSERVER 2 s) e0 F. p! D
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);1 L8 C N) L' ?7 d. }; G
CLight* pLight = NULL;
+ q3 K3 [* H; ~* x' S' d3 p# D2 F
4 Q' J5 F( o# K0 X8 `7 Z D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );3 J/ U. `# v" D( D( `9 A: `
; a" b2 ~! h: h5 c
pLight = GetLight( "direction" );
+ ^& x* t% ^# C( P G3 G9 b9 E; ]
#if __VER >= 15 // __BS_CHANGING_ENVIR U8 z. d& ]' s+ j/ {
if( g_pPlayer ){
: c5 g9 y' a0 ?' T- g6 h. g2 P ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );1 F1 u% W6 I+ @. O5 S
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
; L; { w% `; v- X {
" B% h# [% ?0 Y- d if( pLight )+ h; T- l+ J! z. W
{
+ t6 d8 h' s- ]* R6 _0 [ pLight->Ambient.r = pInfo->_fAmbient[ 0 ];9 _0 u- |. [8 k) I
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
0 y( [9 ^) O# O pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
/ [. V3 e" D8 J+ s: f [4 y
5 f, F$ t. N1 Q7 I pLight->Specular.r = 2.0f;9 z9 {7 |6 R% Q3 J( d# }4 Q3 s7 v8 ?. g
pLight->Specular.g = 2.0f;
) D8 Y* Y' \, h- z$ }; r$ M2 J pLight->Specular.b = 2.0f;" h" f7 }3 i9 s5 p) R" F
' @3 W7 M. ?; e! H3 Z- p pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
$ ~8 X4 H7 m" m5 e pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];& B; H1 r5 `$ z9 `+ ^; S* t
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
1 K+ Q! d. j7 w; J) A& ^
+ J2 o9 T" h1 d" j) @' ` HookUpdateLight( pLight );
: `* p% L* [( N5 K3 I0 h l7 ~+ h6 K: B. H/ b, s
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 S3 v% y6 U1 ]- S& ]; }2 d - w: r& |5 p' O$ L4 A. W
pLight->Diffuse.r *= 1.2f;) W0 w" D$ h2 G: {" \" y
pLight->Diffuse.g *= 1.2f;5 w/ j! P# H: J7 i& s
pLight->Diffuse.b *= 1.2f;- P! r$ k; ~/ R' g3 E
% n2 Y1 T. Y3 d* l* ]- s
pLight->Ambient.r *= 0.8f;
* t8 G, j- |# t5 i& X% Q pLight->Ambient.g *= 0.8f;
/ o% j! q/ p$ f' C @ pLight->Ambient.b *= 0.8f;
0 U3 K' z: p- K! j; _ ! ^& x! I4 {& \ @- f8 S
memcpy( &m_light, pLight, sizeof( m_light ) );( q ]( r; M+ ?# o( `4 d
; v3 f, r0 `$ E% C6 ~- Z; H+ _: i
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
7 k; ]3 V& F! I( f D3DXVec3Normalize(&(vecSun),&(vecSun));4 A( @! M- @; m! m o3 R
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
& }( I) I: g, ~ pLight->Appear( m_pd3dDevice, TRUE );1 n( m |3 Z) w% \& T
' m8 Y$ K# L4 ^8 n% [4 L9 ^& Z DWORD dwR, dwG, dwB;
/ d% j3 C. U, e# c5 W! Q8 }2 V- l dwR = (DWORD)( pLight->Ambient.r * 255 );6 [$ P8 I* b1 Q. Y7 n& K: i$ c
dwG = (DWORD)( pLight->Ambient.g * 255 );) A$ ~5 _- D! {( j, S! O. W/ _
dwB = (DWORD)( pLight->Ambient.b * 255 );
+ U; |$ _+ U5 \" t8 B8 V dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); ]9 Z/ T* S0 B
}/ G" g8 E# p# e b- P ? ]! B
}0 Z" z- V ^, B0 `) b% w2 ]: D' L
}9 H: p# p( S7 ^
else
: E$ m6 e( u" |& P#endif / m( u& P+ W' [: B: M
( G4 T6 Y% S- M. L if( m_bIsIndoor )
$ o7 t' B6 [; c+ b {% F" v2 R, O; m6 @* n
if( pLight )
8 L/ @. Y- ?: e6 J { ( g; e, c K8 }; O9 E( n1 \0 Z: t
// à??μ oˉè*
$ q/ m2 M/ f' ]" X; J% s( x1 r pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;1 u" e& Y- R2 ^
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
9 V4 k& ^3 g1 ]$ Q% Q pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;* T4 j# E3 v& ^5 {5 j; i
/ M5 {7 t" y+ K* P0 H+ v% i
// oˉè* ??à?
8 L1 B) H1 U$ T: g& u pLight->Specular.r = 1.0f;+ @& `% L6 }4 l( t$ e4 x/ X
pLight->Specular.g = 1.0f;
+ h0 l3 C$ W, n% {% I9 K pLight->Specular.b = 1.0f;
# z* a& z8 g7 n' [! d // àü?? oˉè* o B( D& \# r4 Z
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;9 z: v8 m9 y, i# L! }1 Y
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
3 ~3 q# g7 e# U) }3 ?7 z pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
& t7 {+ z! I& [1 J( [0 h: W, M. J
/ e0 n0 }- i6 _ if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??., H3 {" c' b5 Z
{
! ?' J! k& ?+ n& }# w pLight->Diffuse.r *= 0.6f;
2 x/ z( z, k. Z- W" m0 ^ pLight->Diffuse.g *= 0.6f;' d% V q1 j' l4 H7 u. I
pLight->Diffuse.b *= 0.6f;
$ |% f4 Y7 H' V8 v. k8 J+ a! x pLight->Ambient.r *= 0.7f;; y( |4 q% @) b) V
pLight->Ambient.g *= 0.7f;% Y5 _% b3 l8 o1 A% N
pLight->Ambient.b *= 0.7f;# t, ]2 p8 M: w H' Z: p: k
}
5 u8 r$ o4 @' E( g+ D4 L9 D: E, l8 N/ ~ C7 q! L4 c7 H9 P
#if __VER >= 15 // __BS_CHANGING_ENVIR; ~4 D" ~ i& D$ H
if( g_pPlayer )8 B3 D& H3 c0 E' W
HookUpdateLight( pLight );
& J$ ^ B2 P1 d g1 F#endif
. y& k) y+ O( q) }( q7 W8 H I memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );. G! g" B$ I0 {3 H3 ~( S$ o) {& O
' z0 y% A6 ?) W6 z) I2 Y0 F" l3 M
pLight->Diffuse.r += 0.1f;3 k2 c$ G: N5 U5 U- `2 e0 z
pLight->Diffuse.g += 0.1f;) O0 [. ], T0 g2 t7 e
pLight->Diffuse.b += 0.1f;! J$ _( }1 G5 Y/ U" ^! X
// oˉè* ??à?
* p; {7 b# c; X3 c1 n( c- b pLight->Specular.r = 2.0f;3 n' A W d7 b4 [0 J
pLight->Specular.g = 2.0f;
: r) J3 s1 _+ H3 e% Q pLight->Specular.b = 2.0f;
4 g# M# K' U% O/ N# n& Z7 B // á?oˉ
$ Y: ^3 O8 h i4 Y5 p) b pLight->Ambient.r *= 0.9f;
r* H7 }, u; A' B1 c: S pLight->Ambient.g *= 0.9f;6 S! w6 w4 k5 ?* ^% g2 d; m; |% l8 g
pLight->Ambient.b *= 0.9f;; B- b+ }9 @" ]8 g* Z0 O+ t
! T8 j' A5 k9 Q ~5 e" i
memcpy( &m_light, pLight, sizeof( m_light ) );/ i; t9 s2 \0 D: |
) C8 M' R e1 q+ D+ ^4 s
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );8 A& b% S/ m* C- y
pLight->Appear( m_pd3dDevice, TRUE );
1 [9 A N _7 {; N2 Y% e0 R" d 6 G2 i; j3 h1 c: s( |/ I/ F
DWORD dwR, dwG, dwB;" }6 s' U* j+ h( e: D
dwR = (DWORD)( pLight->Ambient.r * 255 );4 G' z! }2 L/ J v8 A8 i ^
dwG = (DWORD)( pLight->Ambient.g * 255 );
0 v# ]' a8 i1 A: M6 x dwB = (DWORD)( pLight->Ambient.b * 255 );
! @' E$ d+ B- v( h/ i: `" a dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );4 ?& ^# ~8 |, P3 ~' Q$ V7 ?
}0 b. L+ T6 Y2 u/ H- Z$ T$ s
}7 T3 h6 x9 Q* t# W1 {; i
else D* y$ x# c# N7 K
{
- _5 l w, f+ C+ I9 w$ g: v* p1 A if( pLight )
' A6 o7 G( i/ @7 ]2 g, d6 D+ Q {
- ?7 }' j9 D+ {9 R& o f ?, w 8 W. W$ S4 b) m% z- n
int nHour = 8, nMin = 0;, u; ], g& d, L% S# s( B
#ifdef __CLIENT
: T: d" W) t1 N. m // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
6 u E2 z' J$ y nHour = g_GameTimer.m_nHour;. }% l) L# \# S5 e
nMin = g_GameTimer.m_nMin ;
7 J* o; N" l& F/ F" r4 D4 ` #else
& n; |' p2 P; k* z // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
' ^! ^9 U5 t4 k5 l$ u. O T if( m_nLightType == 1 )
# y! v0 V, W7 X nHour = m_nLightHour;! G' [- |2 |5 p1 ~6 s
#endif! f) n: ?* }; D- }
nHour--;6 z, D' P) C' y
if( nHour < 0 ) nHour = 0;# P% R2 z) F* p7 f) {* }
if( nHour > 23 ) nHour = 23;& Z2 s! U9 p. w$ r$ y( p7 }
" n, V2 ?. @% Z# ^% p1 N: H //if( m_bFixedHour )
& r7 j- x3 H. p // nHour = m_nFixedHour, nMin = 0;
) l5 h" n# U4 Y V% V( k LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
: P: B1 J+ T9 u# { LIGHTCOLOR lightColor = m_k24Light[ nHour ];+ ?, t4 V' X5 H
4 ]% w. ?) e4 }2 ~2 r# q) w! I3 |
//m_lightColor = lightColorPrv;
; O2 E# E7 n4 v/ } lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
; I1 R' f4 Z1 a. P5 v; H7 W lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
- L+ B1 j+ f {1 L( k4 } lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;. e; x6 O+ E& n
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;6 h* R' h7 U0 d, A& Y2 L
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;8 o# `7 Z2 v; ~* F2 T% U) E* c
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;* i7 C; T5 u- T& C1 V: z
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
' G2 O7 \+ {# n& T0 }" ~: G6 C
O. P/ `1 ^ R // à??μ oˉè*
% G0 p- k7 r, h2 k$ w9 ?9 o+ I pLight->Diffuse.r = lightColorPrv.r1;) |6 E" [8 ?' h2 |3 ^- w5 h' J4 o
pLight->Diffuse.g = lightColorPrv.g1;# o. Z" ?# ?9 ^) }* e
pLight->Diffuse.b = lightColorPrv.b1;8 j+ _# z/ Y9 o) F
// oˉè* ??à? . s) b( `) ?, m; x" _/ b
pLight->Specular.r = 1.0f;0 h" }7 ^+ \# H1 c) R" Y' ~
pLight->Specular.g = 1.0f;
; v) }- Y& ^9 R- r2 W1 r pLight->Specular.b = 1.0f;5 o3 C( V8 y* J% E2 A0 ?
// àü?? oˉè*
- q, B8 @' V ^6 n" x pLight->Ambient.r = lightColorPrv.r2;" R% J$ R4 Q4 b- E% w* Y
pLight->Ambient.g = lightColorPrv.g2;5 C6 @" Z6 F, t& H6 R( C
pLight->Ambient.b = lightColorPrv.b2;& Q6 J+ u) i. w) v7 d) S
6 u1 C! f/ ^* A9 E
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
- {9 X( P. J/ S {4 m& ?+ i* e$ J2 X1 q+ C5 j" @
pLight->Diffuse.r *= 0.6f;" P6 Y2 E: ^. L9 m( |, r
pLight->Diffuse.g *= 0.6f;
5 d" l' m3 o" h; t9 i pLight->Diffuse.b *= 0.6f;
/ k0 N2 I, |7 [ pLight->Ambient.r *= 0.7f;
8 P8 j8 e2 i: h* A; D+ q! y( ] pLight->Ambient.g *= 0.7f;
7 N. y5 Q6 {" \/ L$ U, J pLight->Ambient.b *= 0.7f;' S: H+ g) j, |. m% ?
}
8 [8 _; A* w: d9 \; s( ~ 9 Q: }( q5 i3 a' p+ h" \) t
#if __VER >= 15 // __BS_CHANGING_ENVIR# h5 Q" ^3 s# G1 H) j
if( g_pPlayer )
/ o' G2 X9 l$ A0 C$ P+ }9 n$ V2 L HookUpdateLight( pLight ); ]& W$ S1 j g, y+ Q8 b) _! g
#endif
( j5 H) X/ w* U2 u |! n) n memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );4 q# `8 i. q1 A# ?
& d( y n h# x) i. A#ifdef __YENV
$ ?6 [$ n" y- y; p4 [6 F# N pLight->Diffuse.r *= 1.1f;
! Q+ ^/ T/ R' u& C# _% I1 [ pLight->Diffuse.g *= 1.1f;% a( x: e+ t. ^ K! z0 x9 \1 M' F/ [/ Z
pLight->Diffuse.b *= 1.1f;. Y8 A1 B) d% |/ [: [* k
// oˉè* ??à? - f% r7 C3 g" ~4 X' z+ P
pLight->Specular.r = 2.0f;
; g, Q5 V! n2 d6 ]; o& ]# m% J m pLight->Specular.g = 2.0f;
% U6 |0 Y# W2 r/ V. _/ ~( U" V' a pLight->Specular.b = 2.0f;
* T8 }4 o" ?1 ` q' N w2 D // á?oˉ
' U( `( ~! p2 x* t7 V pLight->Ambient.r *= 1.0f;" h; N- Y' J8 u: h" r: d; ]' z
pLight->Ambient.g *= 1.0f;
; F" i0 U7 B) G" z) s X! Y pLight->Ambient.b *= 1.0f;$ r; g7 `! C) t8 g, b5 }# K7 f
#else //__YENV
9 C; `2 C% W8 y! M: h( O pLight->Diffuse.r *= 1.1f;" I( g5 d* n- G2 z
pLight->Diffuse.g *= 1.1f;9 q7 _( ~* Q' |$ o& B5 g
pLight->Diffuse.b *= 1.1f;; g `( P1 W |5 m7 d! L6 J/ z- u
// oˉè* ??à? 5 N3 Z+ [2 N1 S/ o
pLight->Specular.r = 2.0f;
& W. _( h+ i% P. y. U pLight->Specular.g = 2.0f;
) K/ U, D8 f4 ~ pLight->Specular.b = 2.0f;
1 [( E) M( I5 p/ }# |% `' B2 W- l // á?oˉ 6 S9 N# o E& r% t# a0 z
pLight->Ambient.r *= 0.9f;
% l! [& r& D6 j" U( c pLight->Ambient.g *= 0.9f;
" x$ n# n+ W- _$ w- Z pLight->Ambient.b *= 0.9f;* N8 o8 v$ }+ c8 m( d
#endif //__YENV - d t0 v8 N' Y5 V$ U% b
3 }: F( ]5 S' U5 W9 I2 M: [ memcpy( &m_light, pLight, sizeof( m_light ) );
8 N; S( l1 ?7 A+ h, u- i
* b8 D1 ^# X$ m0 a D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
$ b1 L6 L! M" n* R D3DXMATRIX matTemp;7 w! |2 C% }1 o* j: b6 L% R
static const float CONS_VAL = 3.1415926f / 180.f;
. U' X7 A3 B @5 [7 f# z# J# X" Z+ `, Z* }1 p5 q
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
% u, c) d! K% r3 a0 _% |5 s8 |7 H D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
0 z3 X7 ` S, b pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 1 }, m$ c5 N. A9 q$ c
pLight->Appear( m_pd3dDevice, TRUE );
+ S, C0 l4 P: b; D/ z! [; [- ]
8 ], S/ }6 F5 n0 s$ v; d // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);+ p- n" M$ x# @/ D. t) U
// D3DXVec3Normalize(&(vecSun),&(vecSun));
7 b9 X7 d' q7 s9 b( i a // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); . S5 V4 A# V6 Y; W: g. \5 w. v& N
3 j2 E: F: J! k
DWORD dwR, dwG, dwB;3 {8 A2 C1 {9 F5 f4 L
dwR = (DWORD)( pLight->Ambient.r * 255 );
2 ^) c+ ~' x& }2 E2 r& [, ^ dwG = (DWORD)( pLight->Ambient.g * 255 );
% q9 w# w3 u+ h# d dwB = (DWORD)( pLight->Ambient.b * 255 );1 M7 |, v2 y" B/ U: w9 T: n
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 8 Y7 M, z6 ~% N! d3 C8 m
}8 [( q+ @/ J' X* T7 p
}9 V p; D- m" \
$ p0 a, K H+ M' R e, u
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
" [* b8 _8 e# O: \% F 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) );
" h' [. c+ m( x3 H7 W ::SetLight( bLight );
" {; z, V) E3 J# h3 X6 L. n* q# u7 K5 e' |) i' U p
// ±ao? ?D?í???ó á¤à? . V. v0 ?3 ~# M/ A$ `3 U
m_pd3dDevice->SetMaterial( &m_baseMaterial );
3 [1 p* M- i* S: S& y* J# o/ j 0 a0 P0 ~# s. S% \3 z/ ^, h c- _
#endif // not WORLDSERVER, l8 k! I2 f$ \ @3 W c2 d
}9 L: a7 {7 U& Z4 `$ T' j
并更换
% m2 h8 {/ \1 _8 Y4 X% kCode:! J3 ?- j5 x* X2 V. E
__FLYFF_INITPAGE_EXT
! q5 ~2 v, k) o& U# I9 E$ d定义+ V! l. Z: |$ Z6 I) _1 A6 I" Z
; \, f; q3 P: k# f2 d9 u
9 p; O: i' h8 g; U8 Y6 e8 ^) d0 o$ K U) J: i8 y
' B x( o; h8 m
现在终于删除我的狗屁加速...: s. O+ u1 m) W# [& E( f* z3 F$ W
) l& H# V5 | |6 B0 j# n' n
: |% l5 \8 |( w$ d2 X0 Z9 a, @0 I- c F
|
|