|
食品车:" a! Q, a }9 b5 g" E/ R
尾翼:$ ~3 Q! _+ W; Z7 m3 W0 J. c
$ Z/ |! s7 [% k$ p% z代码:1 c, w; m* i+ e) z/ f9 Y
CWndAutoFood::CWndAutoFood()& L' z0 h% k! z$ h: P
{* c; j5 l; a0 {8 k4 b+ \7 }( L" s
m_pItemElem = NULL;" y+ u+ m- E6 S
m_pTexture = NULL;4 k, C3 f/ h( B( p: f
bStart = FALSE;: ~* A/ r0 r1 [% k
}& R& V3 U' S. M, O# g3 C
0 A. q: R) f+ y' S! QCWndAutoFood::~CWndAutoFood()
2 i5 d1 F8 O- L( X{# W: H# D! X- f6 c( P! O
AfxMessageBox( "AutoFood ist gestorben " );! H& _, N: l& c$ V$ ~" O" W
}/ E* _5 W2 g4 \9 d( S% k: ^3 N$ k
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
4 h$ M6 N) ]9 f; |( ?{$ w0 Z- }6 M6 }
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );/ O$ ]8 ~4 c& J; x0 [6 }
}
" r5 w: X1 B7 g/ z1 S3 Q4 ~$ F, B- Q1 o& l& w
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point ) Z8 k' m& U# t- N8 U
{
8 `9 n' L+ z( [& k2 Z LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );; @! X7 t6 K# P8 M2 v5 M' |
CRect rect = pWndCtrl->rect;
5 _6 J% A/ W2 ~# o7 F4 O if( rect && rect.PtInRect( point ) ). @; a3 j0 T; a
{
4 ^( ~6 R& {6 N2 P: N CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
$ {5 |9 u% f! }5 F+ E d, E if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )8 _( I0 H" P, g; L( R, G' {- U; E
{& Q5 _1 x/ J8 _& x- p1 Z' ^
if( m_pItemElem )1 s/ W6 M! [ P
{" l1 h8 D( w3 H8 _: m2 h
m_pItemElem = NULL;; ~( m. I2 K! M, T$ w! }6 Z
}
" H B: F7 p' c2 C9 u" J6 M }% @ m_pItemElem = pItemElem;
e1 X) [7 v: P- b. K# b) r m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
/ d+ r& t& u* {9 X% h }else{2 M0 @3 f K3 R. d0 t
SetForbid( TRUE );4 Y7 O$ d0 ]/ B1 q
}
0 Y% v* k1 G. H F# c }else{2 T' @) x$ \+ r5 V C) W, G d
SetForbid( TRUE );
' ]1 c& n. i* O9 y# i9 B# I! p0 z, S }/ X5 R3 H$ d" o0 j
return TRUE;, v6 _6 \( |4 X$ D( s! x8 x
}
/ N; j+ a* t1 t9 ^) T h
5 K5 g5 x) n) y8 \; {BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
( u- c0 F9 w# C{
1 h7 A$ t [7 U" k) B0 T1 H switch( nID )! P5 C3 S4 J0 n0 M' Q/ |& y
{
U# P- E+ \# C+ w: k5 o case WIDC_BUTTON3:, R0 G9 m0 r% J: s; ^' {
{+ ?) ^& h/ G9 s& H4 A
bStart = TRUE;
1 I/ Q! @( U, A break;( I& J: I* i0 c0 v& F% M! U
}
0 [; U9 x: F7 V8 y+ }1 C case WIDC_BUTTON4:
7 n5 Q8 ?3 I# Y7 a, J, i {
& \" m2 l6 c1 N. u bStart = FALSE;
3 R% i( H* T9 G% F- M9 D, j break;
: U. V' [( o, C8 Y }
+ _. A+ S# @" }6 F0 {1 j8 V }
3 x7 z: ~: G9 m' o return CWndNeuz::OnChildNotify( message, nID, pLResult );4 D( r- w) [% S* |' H& i+ U
} ' J- I& E2 q5 v0 K# O% z( s3 w
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
n8 |$ n0 t5 L3 H0 o{
/ u; r! p. }4 X1 Z1 ]) R CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );; N. T2 E3 W4 A4 K
if( bStart || !m_pItemElem )5 E; s! a7 N9 C0 i5 L _
{8 y3 }# K! f: z" o
pBtn->EnableWindow( FALSE );9 N: [% @5 z- i3 S6 E
}else
: \9 z4 J G2 i) C2 R5 r/ K9 f pBtn->EnableWindow( TRUE );
, n: w9 p8 p7 J/ _0 t if( m_pTexture ); |1 J0 v4 l! \: {# R
{
m V- {: B, _3 o/ Q* m5 B/ t% } LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
/ Z2 ~8 W; O8 D+ U& h if( wndCtrl && wndCtrl->rect )* ~2 I* o2 `( X( q
{1 k) W. K7 D% ^5 C; Y) K
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );) ?6 L' B% \7 d
}
- m/ k3 m T& I) @1 L }
* @, n; M/ K2 T3 [' v9 S/ X) c/ U. n}% n# ^% |' y8 o3 r
# r/ C5 h* M, ]0 D# z7 D3 \BOOL CWndAutoFood:rocess()% S1 M# B: Q7 r, ?
{5 Y6 a4 F- U7 `4 |
if( bStart )
V6 y4 K/ r$ i/ x" D" s$ q {
! N. o3 r1 i: k6 j) e if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )9 ^5 g0 {! h8 i
{
( S) Q% E4 J ]9 k: 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() )" J# l! p9 o# O' _3 M0 [% P. E6 ~5 }
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );' a' |* {/ e- V1 {
}else{
* Z' `( g) K8 I6 [( W8 ^ bStart = FALSE;# O5 t" I' Q! c( `! @6 R
m_pItemElem = NULL;
/ l b" v( L# U2 z }
- a5 z0 B, L% s }& |! @$ `0 i& a+ G4 {: J( q
return TRUE;8 o" R4 ]8 i- p& p; n( C
}
" @0 }$ ^$ b, T8 Y
+ L' |; z1 {" c& `( h登录视频废话:2 Z' k% F: R8 ~8 y, t+ {9 @& `
尾翼: u3 U3 @2 a3 E i
7 f: C3 H( I1 A. y8 r: T
代码:
& q/ N5 `) w$ p# \! X/ S0 s: s0 p% U" O# O
void CWorld::SetLight( BOOL bLight )- Q' Z: C/ Y: m
durch
7 D! @9 g& D% O) a- sCode:
& q8 Q, t! |: a" G3 p# J, pvoid CWorld::SetLight( BOOL bLight )5 O* s. U- G4 C' w
{
3 o+ Y: g9 T& R //ACE("SetLight %d \n", bLight);) ~- J9 Z' G: O% }
! }& t. \* }9 }0 b. H
#ifndef __WORLDSERVER
; h. c+ c* b) T' K% | DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
) ^8 |6 i4 `( x9 M) A# o5 ? CLight* pLight = NULL;. N, s; [; d* a. b- m0 ]
' ]" {1 C$ i) {2 } D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
) X2 y8 Q/ B, z9 \; Q5 Z1 g! ?
5 M8 W3 O4 @# _: @1 @, t4 M pLight = GetLight( "direction" );
* X, Y! S/ x S# c4 X6 y) w
- I r2 f0 G8 w% a#if __VER >= 15 // __BS_CHANGING_ENVIR
" C7 C& O- R, N/ ?! v if( g_pPlayer ){- r% H1 [( R8 Q: y n- ~# G- d+ j
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
! q7 @) Z) C( K if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!5 N" t) U$ A: ]4 y
{
; P% \% n+ l D% `1 |: R4 h if( pLight )* \( M6 e$ D; j2 Z1 N
{
2 _+ U$ L7 G, K# n6 t pLight->Ambient.r = pInfo->_fAmbient[ 0 ];$ n6 [- O8 |# o% J4 E
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];% W! Q( x( {9 Q. ]& T
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];/ ^# x0 j- {# X2 L9 t3 v
M7 Y; h5 ]) U0 S5 Z) o w1 k
pLight->Specular.r = 2.0f;* w5 ?, V7 C# [$ ], O8 {5 W
pLight->Specular.g = 2.0f;9 H) P' t/ x+ c/ K8 D! x4 W/ g
pLight->Specular.b = 2.0f;
, Y- _( G1 p6 F$ }! |* ?0 K! r ( u" G! l+ B- A* x; {
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];5 o( x1 K4 F4 ^7 E4 [8 e$ w5 Q& t
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
3 ~# ?$ w6 C) h; \ pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];/ Q1 j# @* s3 K" i$ S( `6 ?3 e# i
% ]# [8 S% [3 E/ T+ K% V HookUpdateLight( pLight ); # G q& n7 L1 m
9 e: w$ g' |! n memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );2 H! r& d5 S/ s" o, W% Y
) W1 d+ t, ~% i0 o
pLight->Diffuse.r *= 1.2f;9 @" p! K$ q1 O& r9 t m+ B. O2 G
pLight->Diffuse.g *= 1.2f;
; A; e3 C9 F0 P1 b: i2 m( t- c* a pLight->Diffuse.b *= 1.2f;2 p2 `9 H. j+ i. U+ v9 {
% _0 ~# x% f; b4 M4 V7 J pLight->Ambient.r *= 0.8f;
1 d3 w% m2 d/ A& B( H; y2 u pLight->Ambient.g *= 0.8f;
" C( K8 o3 ~ |3 k' h; V, S pLight->Ambient.b *= 0.8f;8 V5 c x1 D' B# F
- E# u- U" [, e- O; b7 d( h P memcpy( &m_light, pLight, sizeof( m_light ) );+ Z# D9 `- e9 }
) F6 _7 `0 o& ^8 a
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
. V4 W5 u( e$ W" W D3DXVec3Normalize(&(vecSun),&(vecSun));$ U9 F8 ]8 ~) \; h# W6 K
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
$ H: U3 I5 s4 M pLight->Appear( m_pd3dDevice, TRUE );
, |, s8 N# m0 B* [/ I
( s. n- i9 A' l( }% T DWORD dwR, dwG, dwB;) g) x( H! i8 r4 d* F6 x! [
dwR = (DWORD)( pLight->Ambient.r * 255 );3 d, n* n3 }9 f! g+ t3 x
dwG = (DWORD)( pLight->Ambient.g * 255 );5 [/ x0 x1 z/ [ ?( a: N' u- h
dwB = (DWORD)( pLight->Ambient.b * 255 );) p! Y* ^6 D: D
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
6 A* o+ g0 i: U- n i0 E }5 [' k" E0 T6 s5 d
}! i5 q1 i$ I5 n2 }+ `
}
+ t: H$ J' ~- i" e else# j2 F8 L" m0 S$ J: \# X9 C, B- b
#endif ; x8 ?) ]# ?; W
5 w# b. M- c* B1 j9 M7 v, F6 V0 m if( m_bIsIndoor )
" ^/ y# W$ ~, Y( T4 u* y/ G5 M/ e% i {9 S: L4 l) I! |% `
if( pLight )
$ L9 E. G& t$ b0 Y { # l0 e3 U- f# K, x8 a+ t* w. M0 G. ]
// à??μ oˉè*
) |4 @+ F. i- q, `8 g pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;2 ]# Y# c5 B; r
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;8 h# Y! \7 ]9 n- t3 @! J
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;' ?) e/ V( A& i; c+ e+ e) G
3 T' G1 E7 _/ L: F6 A% Q
// oˉè* ??à?
3 S2 P" w4 q: E* ^) E pLight->Specular.r = 1.0f;2 R" R; _# e, v, K, T- W$ }: ]
pLight->Specular.g = 1.0f;
1 x, Q1 f, { Y, I; B+ G* L pLight->Specular.b = 1.0f;
6 V! L& F- Z# I- d& k // àü?? oˉè* ' ^7 c5 B3 i( N5 m J, _
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;: n' m; l, ?! [- l5 }: s" A0 g* }
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;* r* I1 Y9 }9 Z! x4 R+ j. Q
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;% X- W! g$ S: S: S' C
) U; B' x& s9 X) R5 G- w if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.& k2 l# F% G/ Z2 u1 }
{9 v4 Q. A2 Q. g+ [$ ]+ B0 K
pLight->Diffuse.r *= 0.6f;; q* w' f4 v6 W4 J
pLight->Diffuse.g *= 0.6f;9 W6 @4 h' c1 e7 h! D+ J0 O H8 I
pLight->Diffuse.b *= 0.6f;( T( D, y5 n- |) B& `! x- m
pLight->Ambient.r *= 0.7f;
7 z6 ?' ~5 Y1 R$ B2 H& H pLight->Ambient.g *= 0.7f;
* ?8 M' w" g) Z pLight->Ambient.b *= 0.7f;
& p4 D% k( F, g9 j) }) x0 \7 p }
9 q6 V8 I. M& E5 A) D
# t% N' s( i$ }, S+ Q+ o#if __VER >= 15 // __BS_CHANGING_ENVIR5 B3 @7 V3 |" @
if( g_pPlayer ). t9 e: K1 | d
HookUpdateLight( pLight );
) D: p7 b' z+ o% X% g- f7 V2 G) P#endif4 C7 c" b6 r* e3 U( x# |
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );& ?. ]0 l4 c' q- D+ i6 a; p' H
) [4 I- Y( }% \9 H) e; j
pLight->Diffuse.r += 0.1f;
' F4 v. d9 y5 X/ K( p- N pLight->Diffuse.g += 0.1f;
" f; f9 t: z# a# s' P: m6 ` pLight->Diffuse.b += 0.1f;
2 s2 w0 l+ t$ V- y4 e) c5 b // oˉè* ??à?
5 n. y8 i" N- ~6 T" w' n pLight->Specular.r = 2.0f;. Q" y. X' X, K4 P7 A' }3 i
pLight->Specular.g = 2.0f;7 x7 _! l x# J! Z/ s
pLight->Specular.b = 2.0f;: P" v& O9 \# R( L& @7 h$ ~
// á?oˉ " |: R+ `- F6 X3 ^9 x7 O
pLight->Ambient.r *= 0.9f;
8 W7 c" l5 c! t, u pLight->Ambient.g *= 0.9f;/ E, _" @6 z# t5 k4 c0 d6 F9 v$ W$ V
pLight->Ambient.b *= 0.9f;3 f3 i( o0 ^5 {! t/ ~9 U/ w, V
( v' n2 @8 D# O6 u+ q memcpy( &m_light, pLight, sizeof( m_light ) );
9 X* p' R1 k% W# i/ t! y1 } # \8 r+ b% l) E) G
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
* S* H. f2 J+ f8 }' L pLight->Appear( m_pd3dDevice, TRUE );
9 C8 G& u% p2 a, p9 m% B 6 Z, k1 [" C z3 Y
DWORD dwR, dwG, dwB;! X1 W) G1 M2 \2 B
dwR = (DWORD)( pLight->Ambient.r * 255 );) q" T4 }* j& g6 }% l8 r
dwG = (DWORD)( pLight->Ambient.g * 255 );2 o5 a9 N# o2 l, ]
dwB = (DWORD)( pLight->Ambient.b * 255 );
2 F3 i* |. f( I: d" L$ g9 j8 b dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );6 E% s3 F* N% j- e- T5 _% o
}
) W5 A: W, l' C" p- i h }
# m7 n8 `4 O- k else; L- {, C; U2 s" Q
{& @$ H3 K, d) k: c$ I( e$ g1 c4 ^
if( pLight ); O& {7 `' y) i0 @/ Q+ g
{$ t: R) {; ] d- k, b" C# q2 x
5 R" J& c6 [% w) H7 b6 [ int nHour = 8, nMin = 0;1 V5 z% B! `% X+ y
#ifdef __CLIENT% ]# D R4 s! k+ Z
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. ( h R. U6 c" O% X
nHour = g_GameTimer.m_nHour;
6 j2 d$ e, x4 e, ~% ?; ? nMin = g_GameTimer.m_nMin ;
. M8 Q- p) }8 u/ a #else/ y" ?% n# Y$ a3 Q" k& S8 w8 ?* e- b
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.# A6 c1 i! w' M) ]
if( m_nLightType == 1 )1 y1 T$ r+ D: ]
nHour = m_nLightHour;3 ]/ P3 ]' w9 W l+ z
#endif, E. V( [; O. g& Y+ ?; H( k- h
nHour--;
, L) { X4 N4 `$ O1 n9 P. s/ c if( nHour < 0 ) nHour = 0;
0 x7 {1 \& P) Q if( nHour > 23 ) nHour = 23;
. G, ]* a% B# C6 X8 H, r
, O# S$ z4 y: `& l, k( p //if( m_bFixedHour ), X4 e0 U5 e3 J6 |9 n& G
// nHour = m_nFixedHour, nMin = 0;
0 d$ l9 t$ v7 \2 ^) C LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];) J) c4 I8 ]' t8 u
LIGHTCOLOR lightColor = m_k24Light[ nHour ];9 d3 z: }6 `/ F, v) w# q: v, u
l0 M; N; }* M0 c: ], e' N
//m_lightColor = lightColorPrv;
) D# D) A& Y. F6 l$ z" D/ s lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
' d2 V$ h" r: {2 i- W0 U* z lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;1 e! D Y* t8 P' X
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
8 S9 N9 V& z) P lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;# N8 Y1 t* N+ @
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
8 q2 [2 _5 V4 z lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;, d: f) ]8 l M' s2 Z% O& D" V y
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)( f; Q& [# j- R9 c
v/ T9 @3 q% e5 R- f0 A- f // à??μ oˉè* & X+ a) [) J2 i r1 l7 o- O
pLight->Diffuse.r = lightColorPrv.r1;
( ~7 |. a, u5 H3 p: Q pLight->Diffuse.g = lightColorPrv.g1;
, u! D* S D- d( S pLight->Diffuse.b = lightColorPrv.b1;
2 y# G: t* K& A5 g+ j: e // oˉè* ??à?
$ h: d/ K3 F4 J N. U/ _% N pLight->Specular.r = 1.0f;
, g6 z8 W4 r* y* T pLight->Specular.g = 1.0f;
) b- L4 ]9 Y2 V2 i* z pLight->Specular.b = 1.0f;9 T5 j: j5 A/ {' E: _* `. S
// àü?? oˉè*
) ?/ q4 ]' h1 H) s2 E) ]' K pLight->Ambient.r = lightColorPrv.r2;' _+ R2 i' f! b, v. Z" t/ E4 O
pLight->Ambient.g = lightColorPrv.g2;
! u$ P8 W4 ]1 ~/ X/ o pLight->Ambient.b = lightColorPrv.b2;
6 z; u9 R( E+ s, P/ y+ M& Q
& B5 f/ H S' P( ?- u$ t if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
' G2 P# R& a. c {
) E( ?: `6 i7 V% B pLight->Diffuse.r *= 0.6f;
( f. {( W! J0 j8 Q5 W pLight->Diffuse.g *= 0.6f;1 o# A/ C0 _: _* Q
pLight->Diffuse.b *= 0.6f;2 R2 s) _- \4 N- @& M
pLight->Ambient.r *= 0.7f;0 D, o6 s0 F* z7 |
pLight->Ambient.g *= 0.7f;( w7 [! l |- l' [
pLight->Ambient.b *= 0.7f;
$ }2 o9 g) a! e0 M }. V5 j) N' d/ p$ h
) f) X. p/ ]" ~
#if __VER >= 15 // __BS_CHANGING_ENVIR
7 f; I w1 P0 ?( _ if( g_pPlayer )1 o5 e# F# V$ ]3 F1 n: |6 g8 L
HookUpdateLight( pLight );
3 a) k% m. W+ ^#endif# C7 I9 u( V- }3 M1 S' ~$ f. [# v% u% d
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 x9 q/ i) D/ T2 a" h3 ]! }( B
#ifdef __YENV
# _; t' V) ?4 ^ C# d( I pLight->Diffuse.r *= 1.1f;) q( z- f8 L3 u
pLight->Diffuse.g *= 1.1f;
/ l' H" g- Z$ }4 {; N6 |5 s pLight->Diffuse.b *= 1.1f;2 `# u; U8 \- ^$ J
// oˉè* ??à? ; q _. I1 c, v$ b' v' l
pLight->Specular.r = 2.0f;
% H$ o7 P, G$ m+ a3 @2 I$ [' D/ ` pLight->Specular.g = 2.0f;# d" ~/ A* R1 P2 F
pLight->Specular.b = 2.0f;
; |5 x$ {) {: p6 E/ i // á?oˉ
, G- B: ^) j* T! } pLight->Ambient.r *= 1.0f;/ ^( v7 s& I. F6 X& a- o
pLight->Ambient.g *= 1.0f;; Z( T& _0 o2 f* B' G& ~- p
pLight->Ambient.b *= 1.0f;
- u6 @ x7 y; x4 q( s0 A#else //__YENV; [0 E: K4 W1 J$ E {5 X1 o* a6 `
pLight->Diffuse.r *= 1.1f;
2 y9 Q0 ?$ @7 S( r pLight->Diffuse.g *= 1.1f;
2 {6 d' d+ n6 H% F, c9 | pLight->Diffuse.b *= 1.1f;& o7 Q) B1 N. L l" {1 X: t
// oˉè* ??à?
/ C$ @7 ]4 U) Z+ h9 c! P" ? pLight->Specular.r = 2.0f;
) P" [$ D. e! Z" Q pLight->Specular.g = 2.0f;
, U3 ^% x2 Y6 | pLight->Specular.b = 2.0f;/ Y0 l7 S, ?! |6 }, }7 f6 q6 u# d
// á?oˉ
. Q* K' S) g2 D2 M, \4 }* [ pLight->Ambient.r *= 0.9f;
4 Q9 p& ^/ Z4 { n) @ pLight->Ambient.g *= 0.9f;5 r6 ^" _7 D# ~
pLight->Ambient.b *= 0.9f;
3 i, ]5 I. \0 S9 L#endif //__YENV
5 X8 N3 q/ _) ^6 z 6 K1 H2 _, r; M& C
memcpy( &m_light, pLight, sizeof( m_light ) );
5 y! D. f( R( d1 W3 u 0 D E# n" d: S$ t. ^
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);3 n" `8 T: [! n7 p& z9 d4 |' |! [2 ]
D3DXMATRIX matTemp;; l5 c) D, M2 \7 P `" o
static const float CONS_VAL = 3.1415926f / 180.f;% p. n# E. S6 B9 ^7 z7 L3 T
: U) t' O/ e' H# I* g, M D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);8 O7 i, @- o) Z& M/ L
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp); u3 {/ p4 ]& `. U' T+ ^6 X+ {2 ^4 `
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
+ `5 [! S2 a! r pLight->Appear( m_pd3dDevice, TRUE );- }# D) n4 l5 }1 S u2 s
, b+ ~8 k+ N; P* j, Z2 u7 ]
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
. V: A0 g; D3 S4 F+ b* i" c. C" A$ j // D3DXVec3Normalize(&(vecSun),&(vecSun));! r% ]3 F- N& _
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 0 d- ^' R }6 B, a$ z
0 r$ y2 Z4 M: [7 N6 ]0 W DWORD dwR, dwG, dwB;! H7 `/ w1 E$ d% G# X: B* ?
dwR = (DWORD)( pLight->Ambient.r * 255 );/ {. A- o4 |" D9 |
dwG = (DWORD)( pLight->Ambient.g * 255 );
6 t" F) @' c4 S. B0 K* O- G dwB = (DWORD)( pLight->Ambient.b * 255 );; L' r0 m, z9 ^* c
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); / y! i$ s6 [' A t+ {" x8 \/ |4 w
}
# ^" {5 V1 w6 n }
5 d5 B& R' k5 W/ r: j! ]/ R) y; G9 J+ Q" ~
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );4 }! i; Z8 d- w7 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) );
4 D3 B( t$ W' \/ s) J* \ F ::SetLight( bLight ); K% [, @" x- m7 u- q
7 [" V5 e4 h& S3 v% D& Z
// ±ao? ?D?í???ó á¤à?
& e2 f+ m7 G6 {3 J# \ m_pd3dDevice->SetMaterial( &m_baseMaterial );
: U, _0 p+ K8 S& d' m5 h 2 x: H" a( e) a
#endif // not WORLDSERVER# |; K* [5 g. _3 D, S9 O! C
}
9 Q* [# D; L. f! ^并更换
5 s. o, d, [5 HCode:. K4 g% h8 y W" e/ H. U) @
__FLYFF_INITPAGE_EXT7 y% H; W. Q6 n+ C1 z# v" D
定义
- i6 R; p7 g3 O- C! ~3 [
8 [# U, V$ d6 j9 B! I# d0 l' L
% [0 j$ C8 t8 X+ p4 h$ p: R* K5 P( e* A, A1 y" E/ T' T6 X5 d
, E4 U/ u1 j; N4 `6 J* E现在终于删除我的狗屁加速...# T+ I9 a' n1 k. [2 R g
3 R5 X! j# p- Q( {! i3 {/ s
! G3 t" ]7 h6 i
4 |. Z4 J( Q! v( t0 H |
|