|
|
食品车:
5 D' b9 d% o% O; \2 @5 O尾翼:7 u+ I. }( S+ O8 c/ U
7 b' o( X9 C [# W( [代码:
N6 _. U( b ~. Q% f2 kCWndAutoFood::CWndAutoFood()
J7 `& ~) C O2 v0 A) j( @{) s1 {# i5 x, j2 v3 t9 o
m_pItemElem = NULL;
7 k R1 l5 ]& f9 ?- J9 ^: O& [! i m_pTexture = NULL;1 y( c" B$ }. ?" H6 n
bStart = FALSE;8 E4 e6 M( s4 u
}
) I' d! N* j a7 }7 `
+ I+ e; R# f/ X" ?& J6 gCWndAutoFood::~CWndAutoFood()3 k3 V1 N+ l2 Y- M7 s# E
{
3 ? M1 f( r& L3 o2 f0 I+ h5 S AfxMessageBox( "AutoFood ist gestorben " );
6 ?8 S2 x9 Y% g8 @}' ~2 F* n# E; |
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
, H: D0 ]2 l$ _# e) J( G5 S, N' {{. b7 n9 y! @% b2 k9 q/ O
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
. L' L0 D1 M8 [6 G8 p# l6 q( M}; {- h$ {: n/ R4 B( A" a0 b8 m0 [- M2 n
. T+ H, b" n8 j7 N2 P# l# ]2 i2 Q
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
) R$ r8 h; k9 x: u& [{
! S& a n$ B* s2 x) A6 L LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );) J3 X, H, F; a# v8 J! w% F1 X0 ~
CRect rect = pWndCtrl->rect;
/ l) p9 z% g! [ if( rect && rect.PtInRect( point ) )
9 x% U3 H5 Q# p$ b) Q8 o {$ b2 z: d# W# }. y' |9 I1 G" _5 S* H
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );. ?; @2 i" L. ~! c8 y0 | s
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
, q& x& M4 r/ h e {
0 \+ ~3 Q3 J* [+ p' D1 o if( m_pItemElem )
; _" h$ P0 {$ h1 n {' H1 v4 N8 ~8 u6 I N
m_pItemElem = NULL;, u% f+ q* ?# W& a0 [9 K a
}) e# g* a; S) W* T: |4 N
m_pItemElem = pItemElem;; @4 b( M+ `) x! S' G4 Y+ s
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );, |& o7 s; x# I) P6 m
}else{
: F+ b7 r- S3 ]( h% Z! O! _7 h SetForbid( TRUE );7 L; Y8 H/ i/ }' m4 b
}
, @2 ?3 [- B4 _) U1 A0 w) ]8 Q" _ }else{
1 |- ^1 M& }! y( Z. i. { SetForbid( TRUE );
6 W$ N8 P/ l0 a/ \9 _ }
% P& l% V& W! v8 C return TRUE;: o- m8 {) f! o9 |
}
$ d3 ?( c: A6 x+ w) X* m7 B
; i! f0 j2 \$ j% dBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
! {, F, @" `0 {0 R7 w{* U5 @3 v) F6 K; M
switch( nID )
M7 G8 n* M! E( k* H {2 U _: g$ P2 f7 S; k
case WIDC_BUTTON3:
; | F$ X) v3 \" ]; c1 U( j {0 S8 M) ^* o5 Q8 {0 A% l* F
bStart = TRUE;: K+ B' w+ k- _! t' `0 W' g$ C( n
break;3 L, S4 M J: a( W \0 {7 x9 j3 \% V
}
! [6 F; O" ^4 O$ z2 ^ case WIDC_BUTTON4:( p4 U% E' H& R; r4 {' W& n
{$ Q5 k" X- z' E. y; c
bStart = FALSE;
5 C# N% x2 C$ p4 i3 I break;
; D8 B8 S4 j r" V8 O% g }" \ u% u" j7 r: f7 B; x/ l
}
" y$ y* x) r1 ^3 R return CWndNeuz::OnChildNotify( message, nID, pLResult ); L' Y0 Y; T! r
} M, x$ U W/ P- N& {
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
8 c( \1 j: K. p1 P- j+ ? n% |" C% Y{
' _( D! b7 h' a ^! [ CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
$ I; u6 y w/ j* E if( bStart || !m_pItemElem )
* d9 `3 L: [+ v1 N' |5 f% h {9 D* W! m W! E# D
pBtn->EnableWindow( FALSE );8 D. |, U$ w m
}else
' I) Z7 v. P6 B3 ~ H pBtn->EnableWindow( TRUE ); t1 p2 }2 B N Q/ u! k/ m
if( m_pTexture ); B7 H# }; M) O; r
{
9 r! h7 [% ^1 f! N1 s LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );2 n. e- Q' @, g6 C+ O
if( wndCtrl && wndCtrl->rect )
+ s/ F, j. z5 B! n/ R {8 r9 O$ \ a; X8 u' o
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
+ l7 v' O) ^7 x) ~ }
$ @* M( R; I& h* @6 o2 e }
: A% m$ n; I, `7 {/ c* ]}
- G0 v8 j! ^6 x) Z' h
" a% B& a9 ?8 e9 l/ [% IBOOL CWndAutoFood: rocess()- ~4 t/ f4 z- `' c
{* G) s0 V! K7 i$ C8 k! `
if( bStart )
+ \9 p E( d8 ^: X1 z! I& N {2 @1 \1 |! o, }$ F8 z
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
1 m' H, T9 e1 p2 _9 W: D4 A {
' ]! k% U2 ^; h2 J4 `* t! C if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
* a" v( B. ^3 h g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );) K, m" C; |, {; w: M
}else{
9 F- [& ^! O& I7 p bStart = FALSE;+ O" B& K) `0 Y$ g! s$ `: {
m_pItemElem = NULL;: y% `9 ^ c7 I# m4 X2 Z
}
( R* O7 v4 }5 J: O; K: ] }
4 j5 T9 \7 |, f- M8 p; f& e9 F/ ^ return TRUE;
6 V5 L \. \2 M& m% y4 `}
3 N! N& y" y) j( E
2 [/ X: M4 Y4 T# v0 y- J登录视频废话:
* b$ T: o7 o8 }* M尾翼:) V, C. ~" R! C7 u6 |; a
' A1 l3 `. D5 n4 D$ l0 r
代码:
6 A1 v* ?/ t) k0 F6 V6 R. r, g" W2 J8 P
void CWorld::SetLight( BOOL bLight ), q6 c" w$ J) s/ R
durch- D5 n2 D( A* A: W5 O
Code:
{/ c9 n; C5 y5 D+ Vvoid CWorld::SetLight( BOOL bLight )
$ d/ {( z( ~, @7 h& ]/ r{
9 z% |- G% H8 i: U8 @( F- N //ACE("SetLight %d \n", bLight);4 h/ m0 J" Y$ Z: _
7 @( d3 q1 |& X, D2 b
#ifndef __WORLDSERVER * h9 d, k1 f! U6 ^& M6 `
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
: M9 @/ K5 O8 Y5 u% S+ o CLight* pLight = NULL;* s5 Z0 q$ t; G1 v" P6 F
, M, N) Z% }# \5 w. j) q" [
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );6 M( c3 X' X1 W5 ~' ?& l
# l: }) x9 R' v' P+ H$ r( c3 _
pLight = GetLight( "direction" );
1 e3 \, R. s- f8 Y; s3 z* d
" Q& c ?( U. c8 [( T#if __VER >= 15 // __BS_CHANGING_ENVIR3 A, v2 y2 ^0 K- s9 _
if( g_pPlayer ){
" h# {# }% ~5 T: z ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
2 _0 K7 r' V+ w5 a if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!4 {- Y2 v1 x) F" P3 F6 D: L
{- A" d' e( o. p, h; Z! {
if( pLight )
! O/ a% [* j7 e! l3 k) @5 Z; Q {0 r' a" c) F& l5 a' X( Q2 W
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];6 S$ a9 p4 y) o: f2 _
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
9 p7 @- V* l' @- V( T; D7 T pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
! L" P3 v5 e& W) H( c) u
. M3 V2 Q! |$ ?8 T pLight->Specular.r = 2.0f;* m, u9 { l5 I2 h. d/ C/ `) l! v
pLight->Specular.g = 2.0f;
/ x7 ?- k& _! q2 D pLight->Specular.b = 2.0f;) i7 D+ K: r3 R5 Z. \( [. a' f: K5 ]( N
2 \) Z: O# x: [9 g: { pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];3 M r0 f2 L& }1 M+ t* }( H
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
8 r" X: q7 Q8 p: i4 G7 i7 l5 @1 n3 b pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
# r7 C+ `' a2 T% }, k ?* |( n f+ r $ B2 R& z) N# v; k7 f* n4 A3 C
HookUpdateLight( pLight );
1 {1 o' ~- u* T# l3 l+ K/ j$ w( t. K! o
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );! S! i y$ {/ ]. k( Q
5 I5 k# o i( }& R8 S pLight->Diffuse.r *= 1.2f;
& Q+ ^8 E# t) H: Z pLight->Diffuse.g *= 1.2f;
# g- r& w$ I% s pLight->Diffuse.b *= 1.2f;% X0 b- l) C# `/ E9 E: P! [1 s
) q% ]/ ~. O" T0 s& I
pLight->Ambient.r *= 0.8f;
$ ?, E5 r7 N3 X# ^5 j# \* A pLight->Ambient.g *= 0.8f;
3 G3 |" W# b. A& B, X! c' A+ ^ pLight->Ambient.b *= 0.8f;) ]' ]$ p/ F8 M; v% @" R
# C7 r1 A# X/ M: W! T2 E7 i
memcpy( &m_light, pLight, sizeof( m_light ) );% u4 P- A6 B# A% W
9 l. E7 G* ^+ K7 @7 [
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
; W) _* ?' r2 x' {, B, ~9 C D3DXVec3Normalize(&(vecSun),&(vecSun));& b, g. I( t" K& A) ?0 D
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 3 m( K6 A! G1 t. {1 t
pLight->Appear( m_pd3dDevice, TRUE );
+ b# X* ? v- ~! b, w" w! z3 k 4 d. p/ w! n: S( ]9 l
DWORD dwR, dwG, dwB;
8 M$ F. V: d6 [6 o dwR = (DWORD)( pLight->Ambient.r * 255 );
% H2 D; ]* y9 B0 Z dwG = (DWORD)( pLight->Ambient.g * 255 );
7 H A2 o( D( g1 Q dwB = (DWORD)( pLight->Ambient.b * 255 );- T5 N R( P' h& e! a. _
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); r8 N) D5 E6 @ ]6 A" Z
}
6 _7 P5 F. c; \. E$ F2 Z }& a' M: t& l; P- P8 f! d/ h
}- V& z. Q) {4 j6 j8 |% H! `
else
% L9 S$ B, z7 l; b0 ^#endif ' P2 h% ~7 ?. ?0 e- m6 E$ S
& d R8 I8 U0 l* K: ~/ u
if( m_bIsIndoor )# f1 I6 i' a- X
{$ Y( N' x: [. m6 Q
if( pLight )( }0 Q: \' s; Q% x! O5 K- \/ V! \5 U% r
{ 9 i' W) b, t4 A, g+ p5 P8 b
// à??μ oˉè* 7 p; W+ F. s- K
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;: q5 F9 E2 G" h9 g; Q3 |
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;5 j: f/ o0 l$ S1 f, l
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;! g* Q* l! M0 ]9 y( K7 C, c m* ?
h, e a" v( U6 y/ _3 l) X4 P // oˉè* ??à? : Y( |* Z2 ]+ g% b
pLight->Specular.r = 1.0f;2 H: Z1 H0 M# j: Q
pLight->Specular.g = 1.0f;+ C0 a5 q2 o3 C$ @- ~
pLight->Specular.b = 1.0f;2 d0 d% Z$ g2 k
// àü?? oˉè* / T5 z5 O" o( f( M9 L, V+ y5 Y
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
. Q. q6 Y! z9 S( g" v* t pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;: ?# G$ w* B5 r7 n, c2 p$ Y
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
* r$ [. }9 I' y* |3 z) q$ y
- e! h6 g( o1 ^, _$ c" ?: w" a6 } if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.8 J. G# E) s1 m% K3 K, s5 n" [
{
1 ?/ W w& b' p- b0 q" Z* |8 Z pLight->Diffuse.r *= 0.6f;
# \; [ k6 m$ c pLight->Diffuse.g *= 0.6f;6 S0 J$ N3 i3 [# Q
pLight->Diffuse.b *= 0.6f;! x: F/ x! L. n @" y
pLight->Ambient.r *= 0.7f;
5 g0 }4 K* @! P0 b5 @, O7 M pLight->Ambient.g *= 0.7f;, |. E' A% f% ?1 f( K7 e2 S
pLight->Ambient.b *= 0.7f;
5 d; L7 R; u1 l# d }
- Q- y5 ?9 g1 p& t% I/ I5 R* s3 k, S) L% u
#if __VER >= 15 // __BS_CHANGING_ENVIR
3 S5 Y+ E" G3 o if( g_pPlayer )
8 K+ m2 X' {# u3 Z HookUpdateLight( pLight );5 y) k2 A7 o! a; H4 V& T: R9 \$ Z
#endif2 H5 Q1 p6 F) @+ T$ Y8 J; h
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );! w4 Z5 H7 \3 n! w) ]8 d# l
3 Z! V: n! e; T9 ^0 Y
pLight->Diffuse.r += 0.1f;" V% D1 J( n! y: m: J- c7 a" L, p8 P
pLight->Diffuse.g += 0.1f;
$ D5 @1 D9 P- e) e; R# V pLight->Diffuse.b += 0.1f;
4 a; w0 E: o x // oˉè* ??à? % j# _& I1 L/ {4 e3 [7 O1 n# G" ]5 ~5 ^
pLight->Specular.r = 2.0f;1 C! u2 v4 p1 y. E
pLight->Specular.g = 2.0f;/ t+ E- D% Y! [) W
pLight->Specular.b = 2.0f;
. L: o0 p" t$ a; o // á?oˉ
2 c! W8 T4 H$ C( g5 E) T6 R' z1 f pLight->Ambient.r *= 0.9f;
% w P0 G1 M. m6 L pLight->Ambient.g *= 0.9f;+ C Q6 a9 L- A7 b( }
pLight->Ambient.b *= 0.9f;$ S0 G" [5 H v( T, D* y
2 p+ q: s8 o$ i' o. r k
memcpy( &m_light, pLight, sizeof( m_light ) );0 v0 H$ T. f7 V( c& X
+ d# h* q9 v* Y3 P1 I* L
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
3 S+ z% o$ X6 i% s; {6 \ pLight->Appear( m_pd3dDevice, TRUE );
! L/ w# Z8 @ B2 T
; E( r0 M8 b+ |# O DWORD dwR, dwG, dwB;% d+ c5 `- ^: K3 b
dwR = (DWORD)( pLight->Ambient.r * 255 );7 F2 {8 R" t2 F5 n% I
dwG = (DWORD)( pLight->Ambient.g * 255 );5 @9 x& m4 \* v* s; ]
dwB = (DWORD)( pLight->Ambient.b * 255 ); s2 h* u7 g4 ~6 \& f
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );' v+ m# T; D/ \2 L6 S$ v8 [
}' W* h3 Z* y) x% f: `# S0 P9 A" @
}1 S& S- L' |' M1 {3 N, A0 [
else/ [: T6 p- f7 }+ U7 t5 N# K
{
% h0 Z( ?/ N3 x6 u) M1 ] if( pLight )
* X( N6 ?, @+ z# \ {
6 D% h& ]0 Y2 _! a$ Q+ t+ ?* h
0 i$ o+ _/ C1 n9 q. U# e int nHour = 8, nMin = 0;
4 l% B; _+ h1 G; `4 e #ifdef __CLIENT7 b$ T3 {/ _1 `; j1 D
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. & m z1 {/ D1 ^# H# b' e
nHour = g_GameTimer.m_nHour;
5 }6 i* j0 x6 z l nMin = g_GameTimer.m_nMin ;+ A0 k! U$ _4 [& U- _ w) `
#else9 J" a, q& `! d# J: ]4 s
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.) x7 H- q9 E9 U4 Q# F
if( m_nLightType == 1 ); x$ U6 T) y" X5 ^! J
nHour = m_nLightHour;
8 D' L. Q+ g6 J: a/ z #endif0 T/ ^2 G6 Y2 f! g$ O; T
nHour--;5 Y* D% i$ A1 R: z
if( nHour < 0 ) nHour = 0;
% c0 z" _' Y& J% Z# F if( nHour > 23 ) nHour = 23;* E, l/ b; I1 r, T& t4 F+ d
0 n; h1 Y+ t1 j7 R' V# u8 g8 @ //if( m_bFixedHour )
2 S( u+ B/ T F8 B7 P. r+ ^4 t& p // nHour = m_nFixedHour, nMin = 0;: m* J& f, m; T+ [2 s. ]# S
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
: U: x6 U5 H2 i1 W# w" H% r; T( D LIGHTCOLOR lightColor = m_k24Light[ nHour ];- q. L6 U7 o* n4 _# ^# @
H2 t/ T4 W/ Y' w
//m_lightColor = lightColorPrv;
4 y) l6 V9 p, y+ d9 A lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;6 H, A$ T! ~; a# z
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;, ?( M8 }* _' A& n" {
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;0 X T5 g- F2 K9 P; F" K
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;% O, U7 H: s7 k# J. o
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;) I, m b7 i8 m
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;4 F" U' S% y) p/ t
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol). j9 W0 H! c# _ Q
0 X7 z+ O: V' u1 R // à??μ oˉè* 3 b- q9 ^# j! k
pLight->Diffuse.r = lightColorPrv.r1;
1 u, s0 \- |7 [/ M2 E- ? pLight->Diffuse.g = lightColorPrv.g1; y" Z+ U* s9 S$ [
pLight->Diffuse.b = lightColorPrv.b1;+ g: k9 o9 O) c; |+ b
// oˉè* ??à? 3 ^* q0 y8 z, o+ v& D3 Q7 s5 E
pLight->Specular.r = 1.0f;
& I3 m9 f) ^7 n0 n% ?* L3 b) P pLight->Specular.g = 1.0f;1 [) N6 S# B- n- J
pLight->Specular.b = 1.0f;
3 J0 Y0 J4 n8 f) n a // àü?? oˉè* ) b* X2 k6 Y; x
pLight->Ambient.r = lightColorPrv.r2;9 K. F* C2 l% u6 h! A
pLight->Ambient.g = lightColorPrv.g2;
3 X; g, c# ?# W pLight->Ambient.b = lightColorPrv.b2;
: U: w! z7 `3 L; ~$ I
: Z" w* r& C7 U if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.5 R4 n R0 M: {
{5 n( h7 d$ j. C/ l8 ~
pLight->Diffuse.r *= 0.6f;+ w, ?* W1 N5 N- L7 _+ H
pLight->Diffuse.g *= 0.6f;6 S% I. {6 q2 k6 B. [: z
pLight->Diffuse.b *= 0.6f;/ p& e d6 o$ V
pLight->Ambient.r *= 0.7f;
) C1 ~. T, J, ` pLight->Ambient.g *= 0.7f;( l3 e7 i8 V7 r- d, Z
pLight->Ambient.b *= 0.7f;
5 x+ l0 Z/ n- a' |) B+ V }, C4 r) A/ ~4 b; C6 K1 I1 f3 ?
/ K( {# `* U* Q5 ^( ^; t& ~
#if __VER >= 15 // __BS_CHANGING_ENVIR
& ^3 @% |6 ]0 x1 Z! Y+ A3 Q if( g_pPlayer )
8 F" c5 |5 ^+ V! o, U. A HookUpdateLight( pLight ); ) Q4 q/ U$ n% A- l, J4 f/ n" m
#endif
! ]' @9 X# s3 F3 Z4 a1 L memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 O! T0 S/ I) U; y( r# g5 u! o2 n/ n9 w; W5 b% s
#ifdef __YENV, _! |0 [) K2 n- e( V s
pLight->Diffuse.r *= 1.1f;
% W1 S9 ]' A A' R pLight->Diffuse.g *= 1.1f;: `" _# h0 H" j s8 \4 h
pLight->Diffuse.b *= 1.1f;' T1 f! m0 C9 q- _+ D* S4 G0 E
// oˉè* ??à?
4 H8 p! Y9 j+ U9 C3 v4 A pLight->Specular.r = 2.0f;
: ]7 \& l+ A+ x pLight->Specular.g = 2.0f;' Z: H; q+ X. d( y7 \3 v6 K
pLight->Specular.b = 2.0f;& {& N! j! l+ R8 z {* j8 L j# h% ~
// á?oˉ ! A! v, m( t5 Z5 s7 |$ ~
pLight->Ambient.r *= 1.0f;
5 v9 r) l' W _9 V! G pLight->Ambient.g *= 1.0f;
( m7 D1 I) C- }4 \0 q4 i* p; Y pLight->Ambient.b *= 1.0f;& x2 h+ a: S9 t/ n8 D
#else //__YENV6 [' w( J* S R1 a& t) p
pLight->Diffuse.r *= 1.1f;
; o! k: Y: ?/ H pLight->Diffuse.g *= 1.1f;
9 I. ]4 }( P( B$ n" A pLight->Diffuse.b *= 1.1f;/ b8 P6 C/ b# e' `/ J! C' y$ O) [
// oˉè* ??à?
, ?! x. Y0 ]9 h4 ^ h) o1 [; ` pLight->Specular.r = 2.0f;
4 N* X) Z7 C6 \ pLight->Specular.g = 2.0f;
* _5 Z; K' e8 g; Q8 z; c; k pLight->Specular.b = 2.0f;
1 F6 H' l# R# L7 t. g8 U // á?oˉ / Z0 A T9 B C! v, k
pLight->Ambient.r *= 0.9f;& }0 @- F& I+ K: q& i( H9 J
pLight->Ambient.g *= 0.9f;
8 H- h9 M- q1 D" N2 F pLight->Ambient.b *= 0.9f;
$ W+ h" u- B A6 d* W3 O5 R#endif //__YENV
; e: a+ ]7 b% |; n; o1 G( v
0 t& P* w& N. ^1 U# L7 U" Z [" h! C+ } memcpy( &m_light, pLight, sizeof( m_light ) );$ E" \" a% n- g) |
" {# H8 b# n" w8 x
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);) c7 S7 L4 b; p* E) w% P
D3DXMATRIX matTemp;1 C! w t1 ?7 @6 t5 ^. ^. ~
static const float CONS_VAL = 3.1415926f / 180.f;
% s- P1 N! y# f5 A" }/ c: N$ _0 L5 W- ^ B& D: S
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
2 g7 E6 J) R/ M P0 K5 V$ {- G D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
# @( g; g- G! |# {4 L. B pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
- F3 y7 i: P) |0 A pLight->Appear( m_pd3dDevice, TRUE );
! E4 C/ q! p6 N( d% H8 a( p5 X1 V1 J: x! @
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
/ W4 x- w8 i8 k: ^! b6 _" v' T& z // D3DXVec3Normalize(&(vecSun),&(vecSun));
$ X0 v# D s1 C8 @. K* ?+ G // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 4 i, p* V/ z8 a1 ~) d' z2 l; P+ e- o
g8 o q J# Y9 d
DWORD dwR, dwG, dwB;5 A5 B3 g3 F9 v+ O' S
dwR = (DWORD)( pLight->Ambient.r * 255 );# S: j m( Q7 H( I
dwG = (DWORD)( pLight->Ambient.g * 255 );) M8 m7 r" O' ~8 a
dwB = (DWORD)( pLight->Ambient.b * 255 );
& H/ T+ W8 B6 Q dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 }, s9 t2 l& |% X+ D7 N) l* ~6 x }7 ^+ a# E( N0 K9 d; `
}
: E" A! M0 r8 w. K' [9 [2 o. S% S( `
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight ); f( c" R, N# d( E8 l( y
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) );% U. Y* y! _5 x( h: X
::SetLight( bLight );. z+ s# ~7 |# J3 w5 s
. E7 [7 Z1 G2 d, _# A9 ^6 y0 A3 A
// ±ao? ?D?í???ó á¤à? 1 n2 |! @, s, Z' L# A
m_pd3dDevice->SetMaterial( &m_baseMaterial );8 ]5 N+ r& A% Y
) u- W1 P+ h3 J: i9 h2 Q% \/ ~
#endif // not WORLDSERVER' E/ S, U9 H8 G+ a
}9 i3 k% B! | z
并更换
& h. Z& a6 V2 N1 H+ hCode:% y Z' u# [6 V3 J! V( \* ~5 G3 N& ]
__FLYFF_INITPAGE_EXT
+ t4 Q c: m# i' s6 v' E2 a定义% R4 D( {. p5 \
& Q2 S& L; h# T1 S8 ^6 I
" w# b* a# i4 \7 V( c
/ R6 B# \5 T% \
! v# X& u# ~: e- U3 x- i# B3 K& u. H/ t现在终于删除我的狗屁加速...
7 M' N% c' ~1 {6 w: Z+ |
; h6 V/ ]) I, X0 v6 {/ H
" L7 k5 s) G# }0 N) ~* |5 _7 A1 o3 c( W8 l
|
|