|
|
食品车:
; W+ y* C$ `& n- |' `, u8 }% g4 B尾翼:
1 g: t; d) s9 ]) m# a- p% o7 X. c7 D* c, m# o' q
代码:8 d6 @0 D2 k' }/ P5 C
CWndAutoFood::CWndAutoFood()# y) s# I/ P6 g
{# J4 C5 a0 |5 L0 r/ @
m_pItemElem = NULL;
g/ l1 f7 T9 }6 m. K1 V m_pTexture = NULL;
' _8 \2 q; I2 F, y( D$ w bStart = FALSE;
$ t9 j6 z+ {* M# J8 i}
4 |1 N4 y# {7 I8 }3 W% ]: |8 Q
5 Y* n7 R" D6 x4 lCWndAutoFood::~CWndAutoFood(): H/ R* ^1 O, j
{
0 K# M( R' `, l/ S4 \, i; ?7 Q AfxMessageBox( "AutoFood ist gestorben " );1 v+ \: E4 x2 `2 u; |
}
- ]4 \ ^+ t7 W3 y* {BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
0 {7 H, \: H3 \{; G8 W/ I# z0 Q; O0 p5 B
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );" D2 t c4 [* [
}4 x# I' {: r: a4 B
0 ^# `8 B( F: U! |6 c$ U( \BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
4 B; D t; B0 p8 }" C- F# U{+ M) Y) B; ^6 z) J* }1 ~. L2 B" E
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
+ r# X! z0 P9 | CRect rect = pWndCtrl->rect;( ]! P( }% P" J. {# d- C
if( rect && rect.PtInRect( point ) )
3 T" s4 p$ ^" C' L8 w3 d {
" Q* e L8 m' ~8 F8 n; m' \0 l: S CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
0 a z% G$ E5 ^; n7 @) N+ T if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
6 m7 {" W; C" A6 h4 k" Z5 N5 H {$ N7 `$ G7 i$ g" j# l
if( m_pItemElem )
$ G+ o6 ^1 X; f1 K V- L5 n8 P f {; z: C! E4 X! n% H; g* F; G. b* D& l
m_pItemElem = NULL;
7 L* \4 k/ S0 K+ Y }
" J2 S7 p) A2 [8 E1 W& u m_pItemElem = pItemElem;
7 J8 G& p8 g$ W4 L- c- ~$ Y m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
3 d3 z. A( g) M7 Y }else{/ L$ Y2 R* K5 V
SetForbid( TRUE );# i4 Q2 T9 O% u/ f1 C
}
~$ x5 i+ z0 K( O2 f$ E- [" g+ r }else{ R9 Z0 x: q4 X$ Y& d
SetForbid( TRUE );, \* Z2 P! g6 ?6 ^
}$ \2 n9 K2 ^% r' ]9 C
return TRUE;
; o$ o! R0 W3 F2 `9 O}& C' |& o" L; ^1 L) N5 @
1 R, q& m1 z0 P/ U& a
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
( H& w2 n0 B8 L; O0 Q% G{, K; i* Y! B! B/ ]5 P* y" N+ I
switch( nID )2 D! b; l* }3 y; n9 z6 J( W& s( W
{
; [) ]7 O7 l; ]4 g case WIDC_BUTTON3:
* q) A5 f% ~1 T# @& D5 N6 N' C {# I+ P4 }( R9 s5 o; C+ F' a
bStart = TRUE;
5 `' u1 z+ P. T- Q break;2 x8 d$ R( F# @/ k3 v! w
}! F1 z/ e$ Q: I [
case WIDC_BUTTON4:
' x2 X: V2 I1 G6 F* w) d2 w {. A( y8 |5 L9 J
bStart = FALSE;
) Y( K1 H) Y( b0 t) I# F break;
3 Q3 k6 ~% i0 K }
% L. X9 Z% X' Y9 t- q6 g" }; r }7 N1 p# q4 Y5 _. r& F N
return CWndNeuz::OnChildNotify( message, nID, pLResult );
+ ]" z7 N" o! N% _}
. L1 N" t: \: d1 M( dvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
) ^" I/ x' F9 ^; Y' N" o( y{0 W4 k/ Z4 N$ q4 F
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
% T# y/ j9 T! t ?7 Z) K7 S. { if( bStart || !m_pItemElem )
z4 b% _0 r, W7 x {
; `5 w5 ~ q8 S6 j$ C pBtn->EnableWindow( FALSE );$ V4 t* f6 g: T" N6 g4 X
}else+ ]4 g6 A5 ?, u! v! t2 v
pBtn->EnableWindow( TRUE );
2 Q* u& o: E' u0 V( p3 ^( K if( m_pTexture )
3 l9 a$ c$ J. W9 P {& \) w( G5 v& e( G" R
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );8 x: P0 Y" s4 w5 a5 {$ k) V6 T
if( wndCtrl && wndCtrl->rect )
% q. }& l6 ^6 D# R. t: M' l {/ T. v9 @: M, k. V
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
$ Q8 u2 ~+ P7 X3 z" f1 S m }
1 u/ o( w; ~8 v( y }
5 w3 `# U7 l: N) q0 S& t* `! k: l f& ]}; u' i( P9 ?* F. j. x9 V5 M4 D
3 X7 v% ?" p, r4 f) F% B+ l2 G
BOOL CWndAutoFood: rocess()
q0 b; g' H0 a{
$ Q2 w5 c$ w2 p9 r2 C if( bStart )
/ r, |2 ^, p2 |& ] {
2 ~ C/ I/ y6 }2 C if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
% h8 z" w A6 P8 k5 W) y {3 b/ a+ R# c. Z- f
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )! p$ ]/ h" A+ U& q" Y: H
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
0 r8 ~+ u0 f2 a' R0 s, @6 l }else{
, f$ R/ R& ^/ O9 N" K/ [# l bStart = FALSE;* a0 M c0 J# H0 G2 X: k8 {5 c- W
m_pItemElem = NULL;4 b+ E% x6 o! K. ]9 L/ ~
}* N+ E" K. H9 F! f0 Y! e) Y2 X
}! ?3 t% _, _" B
return TRUE;. T, p5 o! h+ w! Z! q
}
' {: ~ K' Q+ M
2 h9 N' M8 Z5 z, i% ^. i1 n登录视频废话:) o3 V5 F# x; @5 i2 m
尾翼:6 U, [+ a( c2 }
2 m# R9 w: k; `& ]& B1 \# U4 A' w1 N6 P; X代码:9 D2 U& s' @, p9 T! y/ p" d
; I2 K. X& c0 t q
void CWorld::SetLight( BOOL bLight )
0 b+ {5 {; S1 @# H( O/ A& s/ e- mdurch c- H8 Q% D6 f5 M; C* H
Code:, B& g* a; B1 x4 t- u
void CWorld::SetLight( BOOL bLight )
) w4 r3 r- o( |9 Y0 j5 R! w8 y{
1 n) g0 M. T ` //ACE("SetLight %d \n", bLight);
" R* p7 z/ t1 A& f/ K+ J1 `1 l ) f7 \) A+ J6 L9 z
#ifndef __WORLDSERVER
. S# i5 p' H, I; O" m DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);: P. K% D& k, {. |+ o, g0 F# [1 i
CLight* pLight = NULL;
. E5 Y' M }2 S9 `. y' D- C3 Z4 F3 B$ B) @9 h$ C& h% P% S$ g
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
- ?, B$ d1 ]! K; ?: D% x" u' a e: S
pLight = GetLight( "direction" );, Y/ r! ^- e/ h$ ~7 D
0 s3 Z- Y. ]5 l' U% o0 n; O0 d#if __VER >= 15 // __BS_CHANGING_ENVIR
! E: e1 o# k# j) {9 B8 o% y if( g_pPlayer ){( Z X% I( v3 h4 f9 C' ^$ j& J6 p
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );1 k0 G3 N. F/ s- ?) u8 Q; b
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!! u8 ~& I6 _8 o$ X
{
% h" B6 q2 d8 l% P if( pLight )
8 ^& l& \ C6 h! B0 c6 ` {
8 u) }' e/ u- W0 M9 Q pLight->Ambient.r = pInfo->_fAmbient[ 0 ];3 J& b. o0 C( N% }) B- B, N# o% {
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
/ Z5 _# X: e$ h7 I pLight->Ambient.b = pInfo->_fAmbient[ 2 ];2 x! u- O: o( s/ {# Y! y
# S; X$ y4 h% B; l
pLight->Specular.r = 2.0f;
- P# S9 A) i: j0 D9 u q( c pLight->Specular.g = 2.0f;( a0 m$ D3 n% l% p3 G
pLight->Specular.b = 2.0f;( b9 d0 |, r0 Y7 \9 b+ \
# a/ Z1 o# |8 X pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];) i( |6 h0 e+ L- U$ V1 ^
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
5 S. L. ^% [! }( |7 P% J pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];: @ O4 @3 N2 j0 u9 o9 @$ e
8 z' g7 A+ X0 R* N. _* P HookUpdateLight( pLight );
, q& [# C L9 b& p$ t- t
' Q3 P* ?7 J# t; p7 E% w memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
* {7 r9 J! L; | N( s* A& _ w! q
1 ]& T# E9 h8 ?! C' U7 U pLight->Diffuse.r *= 1.2f;, N6 A: H( G( T( N# y$ l
pLight->Diffuse.g *= 1.2f;
* g7 J$ B, R0 l) T) L pLight->Diffuse.b *= 1.2f;; j. n. f3 V" ?6 n; R/ c2 W
& V! y) m# V& V
pLight->Ambient.r *= 0.8f;
. H5 K& x, v: G1 P; T' L pLight->Ambient.g *= 0.8f;/ a. U7 W" y( g, |2 t
pLight->Ambient.b *= 0.8f;
0 s9 N3 a/ z2 ~6 G: \( L9 Z8 B' V
* Y; `! ^ d \. S memcpy( &m_light, pLight, sizeof( m_light ) );& l. U0 x" y. W2 `* U; q- @
9 M3 ]3 I+ r: I% h* F/ @) _ D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);7 f$ r, @* T+ M8 i
D3DXVec3Normalize(&(vecSun),&(vecSun));
+ O' g. @' Z, _& [# o; z pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 6 X- T$ ]4 e, W2 i) {
pLight->Appear( m_pd3dDevice, TRUE );
8 u* M; O; J; `3 V- I6 M6 F Y
3 L; l' |! B+ \# d& A4 U DWORD dwR, dwG, dwB;5 G- c. R: c; A; B5 p; p* E4 X3 L3 E
dwR = (DWORD)( pLight->Ambient.r * 255 );8 f* q0 [, y* |! c& G
dwG = (DWORD)( pLight->Ambient.g * 255 );: j0 b% l. I: P$ H- H
dwB = (DWORD)( pLight->Ambient.b * 255 );! j5 H* f5 \6 G. i! {4 L
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- s" c3 d$ y( r! |: @: V }
+ U5 ?! m4 J, b l }2 h( b! R& r- v7 m7 ]( Q
}) [' T W( _8 n
else5 A1 H) Q0 J: v& M2 b$ N* i
#endif
% p+ { y% q: m
7 L( I1 P* p# h6 W if( m_bIsIndoor ). G, h7 D# L q. A. d: X
{
& J2 x9 R! }" W2 |6 e if( pLight ): A4 J! g' L3 h5 _- f {
{
1 X* M6 _3 a" }/ Y: W$ f" m8 y // à??μ oˉè* 7 x% ~$ u% a8 }7 M, D
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;( R+ ~) o2 Z- O" Y6 y8 D9 G
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;- t1 ^& {4 I1 {( t# N
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;: L+ M* Z7 R% f
, B" y x# F: @- j N
// oˉè* ??à? " r x& Z5 w& _# b$ w B5 E
pLight->Specular.r = 1.0f;7 T9 a" n% G! C+ \8 z- K
pLight->Specular.g = 1.0f;* l- y6 q Q" C- F
pLight->Specular.b = 1.0f;- Q8 i; s/ ]" r$ Y, ?" a
// àü?? oˉè* 9 u0 d: ]- s. R
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
9 ^6 y% }3 F* T5 o7 q pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;8 |( X/ G! s! P1 F! _, V' { |# U
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;7 L7 L. ^0 e* Z" r
5 O* x M6 X+ U if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
" y7 o/ K: S- }+ C {
P& j. ]0 y* m pLight->Diffuse.r *= 0.6f;
$ M- o7 A3 r( i \4 e" B pLight->Diffuse.g *= 0.6f;
4 y% r: B" ?% @ pLight->Diffuse.b *= 0.6f;
/ O! n7 N4 R3 A pLight->Ambient.r *= 0.7f;) D6 @1 n1 c( C* ]: a2 V9 ~) O
pLight->Ambient.g *= 0.7f;
; P* [- @) u3 N- h pLight->Ambient.b *= 0.7f;, ~) t9 p/ b5 Q/ y" r
}+ O8 \8 f4 z* p: c% W+ R6 h7 j
8 r B& Q, ~" h! d0 \#if __VER >= 15 // __BS_CHANGING_ENVIR
* V4 @5 p H) ], Q if( g_pPlayer ); L1 P; ?1 j9 e( R( \9 g, T
HookUpdateLight( pLight );
8 y% h6 }+ s4 Q, d3 S#endif
4 J7 d1 h2 g5 C2 T8 y memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; Z- Z& q/ l5 W" \) ]9 w+ b4 u2 T9 P9 W2 Y. W, g; x
pLight->Diffuse.r += 0.1f;
& c9 G! v: K7 v* _ pLight->Diffuse.g += 0.1f; }' _6 Z9 G6 I+ k6 f, Y$ T
pLight->Diffuse.b += 0.1f;
0 ?( P4 m6 J6 u4 u // oˉè* ??à? $ m* L7 Y0 k5 A2 v$ I' N8 [- s* o
pLight->Specular.r = 2.0f;. N G0 |' X' [' U* N# x
pLight->Specular.g = 2.0f;2 L; \7 F# E* ~. n0 D
pLight->Specular.b = 2.0f;& E. a1 W3 u. E( ~2 x" r) m j [
// á?oˉ
9 X: j) h; r' s( A3 t) [. k0 u& T pLight->Ambient.r *= 0.9f;1 A% C5 D' B8 a N$ \8 B' O0 B& i9 a
pLight->Ambient.g *= 0.9f;
% r- j1 d% m& r: T: v; l* z pLight->Ambient.b *= 0.9f;
" j7 A( V( U! O7 E3 h* o3 `& I0 W* n* g, z7 @
memcpy( &m_light, pLight, sizeof( m_light ) );# I4 f, g* k) @/ \1 m
4 j3 {# E" ^+ T3 t' I# @
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
7 \, ^. ~0 n4 [5 z0 ~2 z pLight->Appear( m_pd3dDevice, TRUE );( \, I6 ?- S! P; S% ~ v# x
, w% a. r- \" n! e; F DWORD dwR, dwG, dwB;1 ]' H' m o$ X+ v5 K* O2 ~# t
dwR = (DWORD)( pLight->Ambient.r * 255 );
/ p# t* m, [9 V3 S! B8 \4 t dwG = (DWORD)( pLight->Ambient.g * 255 );- R: {' O; p6 F3 H- L
dwB = (DWORD)( pLight->Ambient.b * 255 );. {. k! a& i" \
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );8 _3 x2 E3 K6 T. I4 {
}
% d9 G% ~& f: Y2 k( \# ^8 C% Y }2 y# O5 S6 r) c9 ?; o1 T/ D
else1 l( Z3 r/ B) R/ n9 E
{
- I. K( } e4 F if( pLight )
1 K" h [- ^& U- a7 k( L {
3 P, Q5 o; F7 w& H
6 g8 ?, r+ i* B3 S" ]# E, {8 U int nHour = 8, nMin = 0;& _' X0 H1 N' w) b4 E0 t* X. I
#ifdef __CLIENT
" l2 M9 v' k) o // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
8 G3 t& `4 u6 R" E+ M8 N; G nHour = g_GameTimer.m_nHour;
5 a3 L7 t# r3 Y' A nMin = g_GameTimer.m_nMin ;+ V V% o1 c8 I
#else
5 F- B, c$ c) b W' t& W4 a // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
% {7 ]! ~+ V0 {1 y" ]$ H if( m_nLightType == 1 )* A) ^- ?1 \( d
nHour = m_nLightHour;
( N% U7 n( u' H: }% ~, m: k* s8 b8 n #endif5 [5 |5 b7 ?1 x r# p+ D$ q0 e& ]
nHour--;
- D. _5 \& o& S2 ~0 V, w C if( nHour < 0 ) nHour = 0;4 O8 f. r6 G8 @
if( nHour > 23 ) nHour = 23;% `; e: t* _9 S) l
d- ]9 h7 ^# U9 ]" |
//if( m_bFixedHour )
0 \# K/ c( W5 C7 g4 l; A // nHour = m_nFixedHour, nMin = 0;* @7 }% V, e/ m" W1 ^- o1 M
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
. K1 s: u$ Z; S6 J' ~ LIGHTCOLOR lightColor = m_k24Light[ nHour ];
- N# ~* u! f2 U2 A% P, K) d
+ @: M* G5 [$ c- M8 p: S //m_lightColor = lightColorPrv;4 j4 U, S9 Q2 q, Z/ m5 e" b- Z4 N. v# m
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;) F, o: h" _& Y. A# v, I
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
* x" L3 C8 |5 h9 M, F lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;# v) h$ r+ Y2 M6 J
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
/ q6 Q$ m2 V' o' s4 |/ ? lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
# R1 e6 @( k# h7 P) X lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
6 t5 H9 I0 m5 A+ R/ |) d8 w* j& s // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)3 w! v% e+ m. U/ F% d3 x
1 Q4 G; Q7 }# u9 z; q2 c5 J // à??μ oˉè* 4 R# p8 f" S; M9 b# _7 r
pLight->Diffuse.r = lightColorPrv.r1;
6 P% A, H& }1 L' u0 ? pLight->Diffuse.g = lightColorPrv.g1;
' S6 ~* e$ h/ v. ^3 s pLight->Diffuse.b = lightColorPrv.b1;0 o* H- _& f: ~: X0 a& S) R
// oˉè* ??à? $ P+ E+ i$ d/ D6 u
pLight->Specular.r = 1.0f;
9 P1 G& U- b" O9 V pLight->Specular.g = 1.0f;
# m5 c' i8 O: ^ pLight->Specular.b = 1.0f;: {8 a& A5 W3 [
// àü?? oˉè* ]" r5 V( z; x4 f0 B- w& c
pLight->Ambient.r = lightColorPrv.r2;
7 |4 W) O' X0 p! a: F pLight->Ambient.g = lightColorPrv.g2;
: S1 x4 H7 K4 h pLight->Ambient.b = lightColorPrv.b2;
t8 l- E/ U) V
5 A. n. @1 j; ^% Z( ~& {3 D2 B if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.3 J" B- \+ o& ]9 s. N8 O
{
6 I7 C$ e& u; O" Q4 z pLight->Diffuse.r *= 0.6f;
% q- x: z- @) t7 X pLight->Diffuse.g *= 0.6f;! d7 h$ s3 e! L2 t' g& Z8 I
pLight->Diffuse.b *= 0.6f;8 F7 B/ `; t0 x/ ^- L% S
pLight->Ambient.r *= 0.7f;% x# x* [7 R1 v m2 G3 _4 e$ M
pLight->Ambient.g *= 0.7f;
' {0 f3 k( S7 R. [& d+ V pLight->Ambient.b *= 0.7f;, z: y4 Y% ?& P/ \& y
}5 D9 q/ A' i9 @/ Y' G" z8 V
0 g+ b) S" V G# b: O#if __VER >= 15 // __BS_CHANGING_ENVIR
0 J9 b) q# w" ^) p) V if( g_pPlayer )
% @0 d1 R D$ v, @ HookUpdateLight( pLight ); 7 A6 T8 C& t0 _$ F% K
#endif
9 ]1 X6 C1 F: M. k% } memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );: w2 X! }1 ~/ |1 c( I5 I
3 [4 L% L1 z$ |) C0 k$ A K3 K
#ifdef __YENV/ K( ? H1 G M- z' b7 B
pLight->Diffuse.r *= 1.1f;$ x* b# F* L2 }3 j6 H! I/ O5 z
pLight->Diffuse.g *= 1.1f;
. Y7 s8 P/ z% G+ ~) ]' x3 c pLight->Diffuse.b *= 1.1f;, x1 Y% A5 I/ X2 t. s) l, x+ V
// oˉè* ??à?
' z8 U- p( O4 e8 }; j( o* h pLight->Specular.r = 2.0f;2 {2 w. p3 z' o! a& Q
pLight->Specular.g = 2.0f;2 @$ H4 n3 S6 l r
pLight->Specular.b = 2.0f;
, x) Q8 N; K$ D) n // á?oˉ
) J N; Y1 u3 M- e0 S pLight->Ambient.r *= 1.0f;
/ a0 J, d; y( |1 O pLight->Ambient.g *= 1.0f;
8 v0 U+ r8 P, ?6 H) }+ v, ]" _ pLight->Ambient.b *= 1.0f;
" i( J1 N9 e j2 \9 T- k% j#else //__YENV Y" |/ j- k: Y! U8 C# _
pLight->Diffuse.r *= 1.1f;3 |: }; p% Y5 J( {# l7 s1 J
pLight->Diffuse.g *= 1.1f;
- _8 P9 E1 `7 e+ v! ^6 o pLight->Diffuse.b *= 1.1f;) G+ F, K Z1 N* e4 H
// oˉè* ??à? + u. a3 I3 a3 @+ u
pLight->Specular.r = 2.0f;. ~0 D# b: ]# y( L: P4 d
pLight->Specular.g = 2.0f;
; g& @$ m4 k7 [- c pLight->Specular.b = 2.0f;
' z, ~0 D( V9 _1 X* H // á?oˉ " K6 K% G- z* g
pLight->Ambient.r *= 0.9f;& d Y5 Z3 ]3 J. C, b! O* Z# Q% \
pLight->Ambient.g *= 0.9f;
) F6 ~. x+ O, {- s% ?2 y% T7 z+ ~ pLight->Ambient.b *= 0.9f;" ^- ?7 @9 } F6 e0 r2 C
#endif //__YENV " r1 u( c4 _9 A' {2 `2 Y" j# X
* E" D2 o9 E/ d/ [' e& N9 x
memcpy( &m_light, pLight, sizeof( m_light ) );
4 ]! ~% s! l, u! K8 N& s
7 ] ]3 v+ y+ m, U/ Q F; J9 y* H2 K D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
, s# V7 P8 p5 f D3DXMATRIX matTemp;
, b3 i: d8 ^/ w static const float CONS_VAL = 3.1415926f / 180.f;. j9 h9 H9 P, d* ^$ c) z
" c& q( f6 j2 p( Q* w
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);, n! A( U9 b) F/ [) a- \
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);/ F/ c# L! C, x3 H/ P
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 9 l) J2 _3 _5 X% n1 V3 W4 n
pLight->Appear( m_pd3dDevice, TRUE );
% K* E5 T; }2 `( \, o
" v0 x/ r7 g" n; ^$ R // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);, q& n, O2 u( s# _3 p j
// D3DXVec3Normalize(&(vecSun),&(vecSun));! b+ ]; L$ C) `) F9 F8 x
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ' ?: c* y5 L7 Q( Y3 M) u4 X8 ], o
8 ~& Q& J) k; w% J @: C9 i DWORD dwR, dwG, dwB;
7 x: I, U8 Y% q5 \/ S- h dwR = (DWORD)( pLight->Ambient.r * 255 );
. |' t; N9 T+ O) B dwG = (DWORD)( pLight->Ambient.g * 255 );
4 ]8 O4 Q( g. d2 @$ W dwB = (DWORD)( pLight->Ambient.b * 255 );
4 y( h) n6 A( h2 B Y: p1 B dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 7 i: E- m6 X2 x) T8 N
}
2 B( @, _7 s- q, Z4 ~0 K$ S }
O7 c3 K ~6 r7 [
" q9 U1 K) s% I* t5 C/ ]" E! i `1 F2 j m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
6 a7 Q9 x6 J* n/ ?3 S, R, m 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) );
8 l- ^$ @5 N9 O# {* k8 j$ m, d6 D ::SetLight( bLight );, N7 s( p, V( R# Z7 W
e. A# k2 e+ t0 D7 P4 N // ±ao? ?D?í???ó á¤à?
; W3 J: }- X) n8 u5 m+ s( D, V m_pd3dDevice->SetMaterial( &m_baseMaterial );- O. q& ^4 p i7 _8 I: y
( t+ P# z. |2 N) p
#endif // not WORLDSERVER
! R1 r7 B* B0 R4 [}
, l2 z) w* H6 F# }并更换
' P$ }0 k3 J' I. L8 J' ^& v# r: \Code:! H8 t& U" u) b2 H5 c5 G0 m
__FLYFF_INITPAGE_EXT
, E/ D* F Y x3 B+ N ?( C定义
1 h6 j4 {2 \9 \) `4 w% U c
4 e. F3 v$ ~# T H- R
8 V) D! u. _! `) [! \
; T( x) X" L, P
; ~- ~+ P/ K) M5 r1 a6 Z现在终于删除我的狗屁加速...
) @1 l6 P8 t" w. q5 P$ `# I
* t4 ~! [( N% k+ c# u9 ?! v
! R7 n. z2 t# b* W1 s8 C4 V Z2 y' ^' q h/ X( n- ^' x. v
|
|