|
|
食品车:
, Y6 [3 S' S: x# I尾翼:& K5 R, E) I' r3 m: P
# x8 N! [8 O2 H' k5 N2 Z) a代码:
. I! z' r2 }" I9 s. d! _0 TCWndAutoFood::CWndAutoFood()
1 W+ ]. h% t5 n1 ]{
* a7 n5 m7 {; {2 ?2 L5 r m_pItemElem = NULL;- c1 q2 R5 ~! T h( H j
m_pTexture = NULL;
* J d% w. d$ b) g bStart = FALSE;% h; M6 D0 m9 J4 G9 Q: Z' K
}" I0 T; o% R; h/ S4 I+ r
" W" W! E: _8 g- z2 tCWndAutoFood::~CWndAutoFood()( D* ^+ {5 n4 w/ v% E' }% A# Q1 T
{: d& H3 ?7 p R' t7 v
AfxMessageBox( "AutoFood ist gestorben " );* C! l: }# C( D' \- `
}
/ W8 _, G/ M$ g$ |+ C- c7 PBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
$ I, @- w1 J: S{
# n( \8 ~7 w( {" G- I8 n- p" s, q G return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );2 x c. }1 u' I' c/ Y& L
}9 [1 S5 V& g$ v* y+ T! h( Q5 ^& v
6 p! o' S% s1 B
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
I2 ^# k! K7 g: F+ S{
, X8 w. d$ a' r# F6 U7 ` LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
4 u4 }* g, L$ k* T CRect rect = pWndCtrl->rect;
% o" `/ s) q( m4 x& v' O+ }7 i if( rect && rect.PtInRect( point ) )8 t/ Y" W* E" p. G! ]% v
{
3 X) w G" f' D2 G CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
: |# r- P- I; V* ~4 M% V( Q2 X if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
; C, \6 K$ a/ [" j g% I {- Q" O% N9 b3 [) S4 t0 D
if( m_pItemElem ) W5 _$ ^1 E9 N
{
$ G; p+ v) l; s6 C; U7 t2 f m_pItemElem = NULL;
: n) i9 v$ s/ k0 Z& ^ }- M6 F* O# \) |7 o
m_pItemElem = pItemElem;% l' q4 ?5 b1 Z6 C
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );( Y7 x! z2 t1 ]$ E
}else{
$ w6 [) o( `/ q- d# I1 t; A SetForbid( TRUE );
2 D% G8 M0 g/ H1 Z }
2 {( n: R8 p- B I }else{ W ^% d; c! j2 v- w1 k
SetForbid( TRUE );
6 z( i8 E3 R/ v, x1 u. N% u/ r- ^ }: O7 _9 {5 L% [+ Z" [. s
return TRUE;
, {. n! S p) r( |2 T. F}. h5 K4 W' ]) B; ~
) A/ Q W, l& s, e# ^' \( f2 ~! o1 R1 LBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
' s9 g3 j4 u4 n{
( X# r1 g4 d- p+ U6 A# U, H P6 X1 _ switch( nID )- f- Q1 B& ]# c9 A; k$ R! \6 A
{& Q( n: q; w% J
case WIDC_BUTTON3:
% U# s% g9 X2 e# Y3 }, T v' B {
+ A- w; j4 D6 s% f bStart = TRUE;( v+ ~4 Y p2 `1 ]. K/ u
break;
: t+ y* e- A P% z$ J2 H7 U }0 b+ ]5 S) C3 V- o3 q( _: c
case WIDC_BUTTON4:
+ Z+ \* |- Y) L; m) ?# l& Y3 J {
) M+ T( k7 O+ s8 S6 K" y: S bStart = FALSE;
& l2 p; W& p$ P i+ o break;" K3 `" L! l! \
}& w; R& V2 w$ H$ w b
}
+ A/ H2 Y% U6 A( e return CWndNeuz::OnChildNotify( message, nID, pLResult );
: T0 u0 b% L# x} ! n* v+ L/ M7 R$ M8 x l0 ~0 q
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
8 @+ J0 r* ~+ m/ O2 N- q; m{
$ @% h M4 ^2 E CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );6 _+ F- P/ O5 z/ \. g
if( bStart || !m_pItemElem )% T) [$ F* I, ?+ q
{2 }2 c/ L1 L( Z; T% |5 D$ z
pBtn->EnableWindow( FALSE );% |8 \' W9 Z% u7 S: D
}else" |2 e, Z1 `4 X1 P0 a
pBtn->EnableWindow( TRUE );$ H1 f- B8 x1 F. x5 a$ L* S: U
if( m_pTexture )
0 ], L# M, G1 o$ t t {* b7 w' t' x' M3 T8 _) U# p
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
g% p3 f4 n/ @6 K3 j if( wndCtrl && wndCtrl->rect )
6 a2 ]3 i+ q: c' c$ p {
) G- B& Y0 ]; G m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
% F6 }9 R- d, A }
: [1 S. ]! n% z7 E, {& Q9 B/ N }
* ]) K* F9 ~1 K9 I& ?8 Q4 f}
+ ?( L e+ l& U# T, n$ E7 A, w6 E B" t4 a
BOOL CWndAutoFood: rocess()
( O6 R6 A: D) t4 I* d: A' A6 ^7 V{
. [9 }5 M$ b1 a" Q if( bStart )# Q5 [) h% c7 W: l5 V% `- k& J2 B
{0 `) s1 Q2 d- K0 C: p
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )3 N7 `4 b0 M! ~% O" b& j, o
{, N/ |: o# g- z7 Y3 L7 {' U+ E
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
- K3 `9 w3 o# L& e0 n; { g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );& }" {% ~3 t& u7 w5 n' A8 p, W
}else{- h- K: a" `8 j
bStart = FALSE;
: A$ h! [$ l- q# ?! r4 }% m, l m_pItemElem = NULL;" I" c( A4 k8 s6 i
}0 K3 c" V: H2 q d) f7 ~
}
6 Q* H$ x8 I N+ t return TRUE;& x) \( N9 [) c+ a. a) B% v2 y
}* g7 x; z5 O- s E' k% d
& ~% L# I2 I: s! H3 i登录视频废话:0 z A; b8 K. m Q
尾翼:, O" g* `% T* N2 m% S- o
8 b$ G" K: B9 a# L9 H: y代码:% V0 f( h4 j. \( x: q
7 }: t- H. c# @6 X% y
void CWorld::SetLight( BOOL bLight )
9 g4 N! y" t! o& i& \durch# k* n$ n( R6 u0 b' H
Code:$ f G% b* T- S- t' _ O
void CWorld::SetLight( BOOL bLight )
0 H V1 }+ e) e; |! A$ ^/ M{
* E; C0 k I- p7 d$ t //ACE("SetLight %d \n", bLight);% ^* ~' @, s8 | g
' M, [- K: c: E" g4 n" D+ A, Y#ifndef __WORLDSERVER ! t1 ]0 o, ~+ j% s
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
9 \; V6 K0 M" N CLight* pLight = NULL;" d' k5 i% E \3 ?4 V
+ J' k, C, u5 D/ t
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
& b9 V' U6 v$ i5 f" r7 K. i$ e+ V
! L7 j4 m! \. ~( E; W2 w pLight = GetLight( "direction" );6 m9 h& T7 p# P) ?; o0 \' @
% d2 P1 E1 Q( g! o% _2 {2 Z
#if __VER >= 15 // __BS_CHANGING_ENVIR
5 u& v% l$ k5 s% d6 y if( g_pPlayer ){
* A( i& V+ b/ v9 g& k' z ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
% Q% |' n' R6 \ ^ if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
1 [ p* E( `. [' M. C {
2 E8 c ~' d A, t) {- {) P3 h if( pLight )
& t$ a1 m! ~8 u5 v a8 Y+ S; u {
( C5 _- {# p% Y0 i9 I- J' L pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
" @1 H" w/ }1 i pLight->Ambient.g = pInfo->_fAmbient[ 1 ];& d( N% ~' X: X
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];) Q, ?. W; `0 n/ ]2 ]
4 J" ?* O+ ^, A. I
pLight->Specular.r = 2.0f;3 s6 Z J5 D+ L5 V2 j
pLight->Specular.g = 2.0f;
X. Y+ v% }' V! _) I8 ]1 z. d2 k pLight->Specular.b = 2.0f;
/ r1 t, Q |& b. d# _
$ T& D, C l4 {5 \' D2 C pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
% D! G7 Y$ U f( x4 j: W/ [ pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];& Y8 }7 v4 z! {8 }. w
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];/ {: j+ K4 Y6 ? p; n& y2 {
8 C* t% Q' p2 {
HookUpdateLight( pLight ); 2 P# [7 _: S- U8 y
1 C! Y# k/ r1 l, p* f( I
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );7 z, o; ~" ^/ @5 E" y. j# N
) ~8 b1 }2 q7 E3 Y* d pLight->Diffuse.r *= 1.2f;
+ O6 C& F7 P/ r, j% u pLight->Diffuse.g *= 1.2f;
8 W' `; l( |5 |' V pLight->Diffuse.b *= 1.2f;
' {- R9 l0 k' j v& s& }: f+ D7 }. ~$ W/ y O, [
pLight->Ambient.r *= 0.8f;
% @5 O U: I4 _ pLight->Ambient.g *= 0.8f;( k. X/ b# P5 Z' H4 F4 b
pLight->Ambient.b *= 0.8f;
& B; M! w8 O0 [
8 N3 G" C4 V: {! R& ]0 ] D memcpy( &m_light, pLight, sizeof( m_light ) );2 |. a, L0 O/ U' Y0 ~5 O( q
" O8 o; Y3 @) C* H9 P6 ~( n
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
* y# K% N- T! [5 k) v2 W; g D3DXVec3Normalize(&(vecSun),&(vecSun));
( V5 c# H4 j6 h4 \. ^3 \! G pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); / I+ c( Z; r- ?) j: j2 Y
pLight->Appear( m_pd3dDevice, TRUE );
0 A5 r! C) I1 k
& i0 x% | [7 _$ n DWORD dwR, dwG, dwB;
# `! `! S0 N4 n dwR = (DWORD)( pLight->Ambient.r * 255 );
; S: u3 b. h6 w$ w3 w1 U! w4 I* W dwG = (DWORD)( pLight->Ambient.g * 255 );
, I* v# f% r0 W! ?+ n" z5 j, q6 V# ? dwB = (DWORD)( pLight->Ambient.b * 255 );
& g& e, A! w* y4 k dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
4 V0 @: v& w% x. G! | }
% A. c7 z" v; @9 `* C+ B }
, Q7 O) n/ G$ J5 _' y4 ` }
1 ^1 Q) m1 k5 S+ G* ]: @& l else
" v5 F, M- G0 B) z#endif
* j7 f3 y2 X9 ?
: l' z1 }/ c+ x if( m_bIsIndoor )
1 z& O" ~. p2 U/ f {
7 w% i/ G/ h2 o# {: b$ M- @! } d if( pLight )9 p6 j# W* Q1 @4 n/ K% G
{
3 G+ t! J7 E/ D8 ] // à??μ oˉè*
. D% \0 T; O N* P5 c5 _, d1 f& F pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;* j3 v4 x! s5 b" G+ i# w
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;* i1 l+ [+ y5 r" |; p$ {: R& G* f% D
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
0 A: \3 K( A( e" X% n: ~
& q! M! k2 r, b7 d& \; I# ` // oˉè* ??à? + d: L0 I4 B. W; _2 x
pLight->Specular.r = 1.0f;) c# E. y" }# y
pLight->Specular.g = 1.0f;
' b! [1 I8 }$ ? pLight->Specular.b = 1.0f;
8 {% }8 O* W8 k( R) @ // àü?? oˉè*
& `8 [! S% R; t' e9 \! ~ pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;/ q; s) l. z e* o
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
) T' ^8 d" o3 o7 h! d6 X" ~0 i% L pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
% b2 i5 _* ^$ Y6 T9 B* o/ M
6 e/ v4 M6 m8 x C if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.5 @) A$ a: @* q8 i/ o
{' S1 l/ l# c2 {+ G; S# B; u4 l
pLight->Diffuse.r *= 0.6f;9 A9 t; e7 |% ]7 j
pLight->Diffuse.g *= 0.6f;
# S/ }6 t! b* H0 G pLight->Diffuse.b *= 0.6f;
! L9 i% m& x0 A$ [- E# P; Z) W pLight->Ambient.r *= 0.7f;! F( p2 K7 W1 V% V. q, U
pLight->Ambient.g *= 0.7f;7 L9 W; t- A4 J5 U7 x$ @6 n
pLight->Ambient.b *= 0.7f;
" Y7 |8 U2 F& L' u }% y/ \! U1 N+ A
( v7 g- G& k( H
#if __VER >= 15 // __BS_CHANGING_ENVIR
3 {7 l% n! i" a4 W8 a( e5 o2 _5 S, a7 M if( g_pPlayer )
: B( O- }2 k. j1 p4 N- [! }7 Z, p. } HookUpdateLight( pLight );& w5 G8 f" v0 i4 d% y o
#endif
% g7 z: k* N' t5 d. P; X! M" |0 I memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
@- ~5 X6 a4 A9 ?( H3 E0 _ N1 I4 I/ Z, B
pLight->Diffuse.r += 0.1f;
. w: L. w0 g; _& O1 V, ]3 D pLight->Diffuse.g += 0.1f;
$ _9 f# z# W6 i, N4 ?8 g2 H% J pLight->Diffuse.b += 0.1f;
5 c. U! y0 r- d: K* Y // oˉè* ??à?
+ }% d C, l0 j k B pLight->Specular.r = 2.0f;
: T5 F( ^ U) J/ A! K' ~ pLight->Specular.g = 2.0f;: i, S( f5 J( i
pLight->Specular.b = 2.0f;
( Z: k: q! i- S) b // á?oˉ " m, U$ [3 e3 ]0 ]- g
pLight->Ambient.r *= 0.9f;
, H8 P' M1 s: y; v9 H+ b# l pLight->Ambient.g *= 0.9f;
% j7 h; Z$ H4 x2 l1 m pLight->Ambient.b *= 0.9f;1 }& D- n% M1 q3 q" a2 u
! ]5 O3 n1 q4 E3 X0 m" W memcpy( &m_light, pLight, sizeof( m_light ) );$ }: R/ L) B4 T5 {
1 [7 k _. S. d" m
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );( O- S% H& Z5 a* j6 b
pLight->Appear( m_pd3dDevice, TRUE );" o: X" `' k. d" ^9 z( x2 [
1 _8 D0 ]. {3 I5 L
DWORD dwR, dwG, dwB;
8 C$ ^" l) E2 d" w dwR = (DWORD)( pLight->Ambient.r * 255 );# |" q2 W2 t4 Q/ k. O, w4 c
dwG = (DWORD)( pLight->Ambient.g * 255 );
0 N. }/ _# m" a# _9 t- l dwB = (DWORD)( pLight->Ambient.b * 255 );" U8 s; T7 s' W3 A
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );8 c$ U, M5 L7 v' D- @; h" V& m
}7 c* u1 Y3 s- [& c! m ?$ N
}
# K* c) H6 f% Z, _+ q m else2 j$ v ]" d1 b: `- z
{$ n% \' J! q9 L2 p, `7 i
if( pLight )0 G4 f9 i8 R l6 e2 [- `2 V
{& m1 B2 z( I: A! T" ^- s
! [) ~# ~( ?, Y" {. {0 `3 c int nHour = 8, nMin = 0;! e6 A% t8 u7 ?, |' \' i: D
#ifdef __CLIENT
# r- a1 F6 W0 o8 l( K0 b# R // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
# C% t) r) f- ~7 ~, O' U0 H l nHour = g_GameTimer.m_nHour;
7 r9 p5 L" L9 R nMin = g_GameTimer.m_nMin ;/ C0 G. O* I4 k# S, e
#else* E' Q M# x) w2 B+ g; U
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.% z) ^( Q, J# y2 k; U% A; j+ T
if( m_nLightType == 1 )
( ^$ v P: w( t# W) r; ~) D# I nHour = m_nLightHour;* t% k) Y0 e0 a; B) E8 j2 ^4 N/ _
#endif
+ L, x0 W! H( t" A$ ?+ P& o6 j nHour--;% u8 _8 M% K; A2 v* ]: Z
if( nHour < 0 ) nHour = 0;( s" ?1 }. M% Z# ~: X6 `: q1 ]
if( nHour > 23 ) nHour = 23;
! H" W }2 I$ I4 M4 D9 X6 e5 j
, c2 g& |7 |5 Z9 d2 C8 C+ H //if( m_bFixedHour )
3 x% }# U) c+ x) g6 ^5 A // nHour = m_nFixedHour, nMin = 0;! q' L Q$ U. q% b6 x$ M8 _
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];; y- U7 r$ Q0 s/ ^+ B- q9 L9 G2 ^
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
G2 g) y, O& R
' O: L) F$ i* G2 n4 q( q //m_lightColor = lightColorPrv;3 `5 u4 ]) O) Y+ Q
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
5 T* j& r F3 I3 _' J& y* o lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
& d7 v& _: R0 N5 Q3 T& {& w0 l) D7 f lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;2 O. A. G/ k+ I* T+ a0 j$ z
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;' S% {6 n% a1 b9 [
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60; T7 Z, V; \" q. p5 g7 o
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
7 x9 H- T, q! {! t // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
& R' Z# y: R: @
, o) R, }, U2 P+ ?. D5 V3 C" ] // à??μ oˉè*
' U Q0 h5 X E pLight->Diffuse.r = lightColorPrv.r1;$ L' [6 G/ n* ~: X
pLight->Diffuse.g = lightColorPrv.g1;) K" |# k1 K2 B) D5 z4 R$ T( T& g
pLight->Diffuse.b = lightColorPrv.b1; [- {+ w8 g( A4 _3 W9 p$ P
// oˉè* ??à?
6 `$ j5 S& W& @5 U0 M pLight->Specular.r = 1.0f;; n6 k$ e- p! L8 c2 w7 @: U
pLight->Specular.g = 1.0f;
6 [" [' U) J# k4 Z7 n pLight->Specular.b = 1.0f;
( m! ~4 A( L+ _5 E! `0 M // àü?? oˉè* + ^4 a; f" T2 _
pLight->Ambient.r = lightColorPrv.r2; X p1 }( O( h" h
pLight->Ambient.g = lightColorPrv.g2;! i) p& J1 l' f+ h
pLight->Ambient.b = lightColorPrv.b2;! @, g7 y6 a# B
' E5 E) R. W/ T8 ~
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.9 S. j' M" \0 L3 c5 f; ]: R7 x
{. {3 B1 |, [8 E& ?2 h/ d
pLight->Diffuse.r *= 0.6f;1 m; e! s# E# o2 }; `) D1 X
pLight->Diffuse.g *= 0.6f;
7 m/ `8 M: F, H ?8 L5 K pLight->Diffuse.b *= 0.6f;
+ E& N! T' V% ?7 l3 d, B: Z pLight->Ambient.r *= 0.7f;
0 p" {+ T) c& { pLight->Ambient.g *= 0.7f;1 }3 }7 G& `4 m) O
pLight->Ambient.b *= 0.7f;
$ Z% V. a5 A# [2 n( w( C3 L ~ }% m# i8 c$ p4 C. D: N. n U, ^
z# X( d4 _% N2 ]#if __VER >= 15 // __BS_CHANGING_ENVIR
+ p) s/ D5 ^( P; { d if( g_pPlayer )
3 h6 \! R8 t0 ` HookUpdateLight( pLight ); X3 n& V' O/ p2 B4 \. S, f
#endif8 [3 B* y; L& x; H7 J' F" z7 s. L
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 a9 W+ p {4 \5 \6 W) D$ G6 t& |1 s A# c
#ifdef __YENV
) Z6 }* [' s4 J. `) n pLight->Diffuse.r *= 1.1f;! R! C4 U% o$ S! h! G
pLight->Diffuse.g *= 1.1f;
6 k- P$ }% D3 `8 _- K/ x0 r4 s pLight->Diffuse.b *= 1.1f;- v# J9 z+ V' c" V/ H% ^7 D% ~ [+ W4 _
// oˉè* ??à?
# ]4 X5 h3 g: D8 S4 a( H pLight->Specular.r = 2.0f;; Z; u; v8 J Q" s0 K
pLight->Specular.g = 2.0f;
) Y- f, {; h3 m: r" u pLight->Specular.b = 2.0f;$ F, ^7 h( w. m' {8 F! X
// á?oˉ
2 R) M5 Z" y) J6 f pLight->Ambient.r *= 1.0f;
- D" U' u1 e+ J, h$ R pLight->Ambient.g *= 1.0f;
9 h# \4 a K9 o pLight->Ambient.b *= 1.0f;
& J" Z% g! C$ n C6 G$ c) b4 B#else //__YENV7 ` z1 |7 P' C
pLight->Diffuse.r *= 1.1f;
U5 u' n' D9 @) w. B9 r% O pLight->Diffuse.g *= 1.1f;5 t$ _3 v8 C, ^ f, }* j# ?, l% o# _
pLight->Diffuse.b *= 1.1f; t. x0 [# T3 _/ L% R( s6 p7 B
// oˉè* ??à?
0 Y) |, M$ t d: ] pLight->Specular.r = 2.0f;
/ C u- x( S& O/ W/ z2 } pLight->Specular.g = 2.0f;
/ c/ m9 t1 Z( b" } pLight->Specular.b = 2.0f;4 o" w4 u/ Y% |8 k
// á?oˉ
5 k; ~3 t6 V- C4 Y6 t pLight->Ambient.r *= 0.9f;
. Z6 B& T8 a2 {! r& l4 \3 _ pLight->Ambient.g *= 0.9f;
2 A# K3 I: o' K1 v( M' z pLight->Ambient.b *= 0.9f;
) F A+ H- k3 H( Y7 G" `' u#endif //__YENV
3 P% c& w M1 O2 B8 Y
8 u2 l9 z' m& N memcpy( &m_light, pLight, sizeof( m_light ) );
8 s8 t- A. z" _! I1 I% s# o
9 z$ a R5 o% L: P& v( O8 Q D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);# ?$ F+ z9 W, H L* {
D3DXMATRIX matTemp;- `9 G5 T9 Z8 A+ r# k( x8 s
static const float CONS_VAL = 3.1415926f / 180.f;- b$ e t7 K! z8 ]+ A& E( c) t
# C0 ~! b; D$ C, e, I D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);' i' n3 b( b1 D6 O
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
% z$ c3 s( l1 h pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); " T/ g0 _, V; |8 Y a" U
pLight->Appear( m_pd3dDevice, TRUE );
, F/ q$ W; d9 _: u, U
+ `1 @7 |+ h' I7 I; @ // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
* n, r, `( Y* o3 I0 P1 n3 ` // D3DXVec3Normalize(&(vecSun),&(vecSun));3 C+ U- ~) Y1 J0 A+ c. u5 A: d7 J
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); , H0 {0 ~$ a1 n8 x
7 Z3 l+ d$ ^; x, Y! N. N, d; O. }% @ DWORD dwR, dwG, dwB;6 z- N( E4 `7 Q3 V+ Y: [; D) P; Z
dwR = (DWORD)( pLight->Ambient.r * 255 );
+ D2 p% g/ M! g dwG = (DWORD)( pLight->Ambient.g * 255 );
: Q. m% @* @7 J dwB = (DWORD)( pLight->Ambient.b * 255 );
4 D# H0 S' b5 n" `$ K0 J- U dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 5 h6 S+ Q2 x* X+ u
}: h) [* F+ p7 ^
}, E. h! h$ W0 e4 E
6 T1 j' E0 S6 e/ U5 o1 }& a; R m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );1 D) k7 O. x! R; ]# j' }1 J3 V# b
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) );5 c- Q1 P# c; T, Z
::SetLight( bLight );
0 B7 L+ n$ f; n( W! O8 E; B% d) e+ H
// ±ao? ?D?í???ó á¤à?
$ M' d1 l/ A7 g3 L+ h m_pd3dDevice->SetMaterial( &m_baseMaterial );0 T1 c$ ?( Q( C H2 m
9 e& Z1 i& P3 C/ z: N6 p( `& s#endif // not WORLDSERVER
9 a; _9 H2 {$ a9 L}
3 d2 N: u4 @, ~# H并更换0 D" I. V5 W ?8 s+ N, {
Code:
8 O1 C" ^% \; A* F$ N__FLYFF_INITPAGE_EXT
! q+ Y3 h J2 v% N4 t) @定义
9 ]7 ^, v5 H1 i* v+ K4 ?
9 z; S7 S Q4 P! h2 R4 u1 \
! p- `# n+ q- Z Y4 q$ Q# Y/ h5 [% b3 I3 u
" H! O, H( g7 k, g现在终于删除我的狗屁加速...
, x2 @" ^( p) [- a, p2 `5 V; h* a% _! ^8 {+ O0 x
8 e) v' ^ R# L& ?4 y# B+ r5 `
& W: h% A/ s; {. `- o( ^: \
|
|