|
|
食品车:) w6 r) B& c# A
尾翼:
. j& f9 \0 I1 t7 [
. G% @2 E2 b, ]( P代码:
! n: g8 V7 x2 F dCWndAutoFood::CWndAutoFood()
% A) G+ N) S" ?0 r% }$ y1 o& S2 r{
/ B: X V1 Q. [4 O. T0 U, p7 |; @ m_pItemElem = NULL;
+ i/ b* f; L3 k B( ~" u6 Q m_pTexture = NULL;
% Q2 B1 l7 _ i7 p: G- u+ z1 r0 `8 p3 j bStart = FALSE;
9 m8 d3 y' Y+ o, `6 E- D1 ?4 G}
9 r ?4 J& v$ @ `5 t9 e% r8 l- ^- ?* M/ a/ m# ?
CWndAutoFood::~CWndAutoFood()$ `! F% s$ w) x9 E1 y
{! B. [; R: D5 n( n! _. B
AfxMessageBox( "AutoFood ist gestorben " );
- z1 |' s' O5 v2 P; \$ @! Y}
$ p$ w2 h2 z7 i9 Q$ d0 ]BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )- A9 G W k% X! v* F3 H
{ v" ?& q: T- ]1 P0 `
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );* C8 b, |& }$ g, |. o* f6 I
}& F8 i9 {5 s/ d& D
+ e4 v6 o; r0 h) h s
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
$ k/ q8 b+ N0 [# w9 p# k1 A{6 |- X+ Q2 Z* X! x) ]( e; G
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );% V3 I7 X, V- G6 n! V' C7 O0 \
CRect rect = pWndCtrl->rect;7 k$ w4 b0 P; O
if( rect && rect.PtInRect( point ) )
/ N9 s' D* @7 W- a {
; ?& I/ Z( |- j9 m; n CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId ); [! A+ X+ |4 }8 |$ K) z6 p+ S( o
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD ). `. L" B' p t0 {' U1 j0 Q4 H
{9 \% U/ P; Z" }, ? p7 D. w) ~
if( m_pItemElem )
- p9 C- c6 M; M+ z G0 Q# X {- j' F2 V3 g3 l+ D5 X
m_pItemElem = NULL;; r1 f9 m! J$ h( X
}
, _. s) W, I$ u m_pItemElem = pItemElem;: ?1 E# |1 }4 ~
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
; v' m l8 ?! o1 d) }+ w6 t }else{
9 _$ ^ l' z" U2 {! y SetForbid( TRUE );
; w9 f, _+ M+ b0 [+ F2 ] R }- W3 ?7 S+ K# f1 k2 S
}else{
% T& ~" C, { S$ n- y# R SetForbid( TRUE );
F8 {, O# B+ c% ] }/ n2 K' B% `4 }* \
return TRUE;! K% }/ t6 b3 P; A
}
% V; z- ^7 M2 }6 j O, a8 G/ ]+ s4 x( q" M: `& G
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
% t% S6 P: v- \( w{% t% @$ x) F* y, a
switch( nID ), g4 e% }/ J, ^$ U* a
{2 O, y0 g% k @6 x/ Q% S* n
case WIDC_BUTTON3:
" t) E, C ]) i2 @ {5 Y4 a, }$ Y, c5 Y" v/ X* a5 ~# o( j) Z+ ?
bStart = TRUE;% Q: s' j# l6 S+ q, n
break;
/ P6 V6 H" }- ]0 X9 \2 E }
8 H \5 L5 y0 P case WIDC_BUTTON4:
; y4 Y: _: \8 m# n" l) [0 d {1 Q! l4 o( m+ K: u
bStart = FALSE;3 d+ W0 @# H6 N& w$ g
break;
& t: h0 g9 V& X }
( _$ s' f' V- t$ z! f; w, R# G }% y9 o) Y3 c1 v: o, d' D }6 r% f1 b
return CWndNeuz::OnChildNotify( message, nID, pLResult );
& }/ ^ M0 d) B" S# h}
5 x5 s _9 E8 J. ?; L/ {9 L, Rvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )% G' { O8 T0 S5 ?1 J& L
{
v' O0 t; S* U" F6 r; h CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
; ]" i4 N, w5 z) f/ D! Z! ^ if( bStart || !m_pItemElem )
$ S( z, Q6 @+ w! r' `- R$ O" J7 K9 S {$ V, H% |) Z; ~. _
pBtn->EnableWindow( FALSE );
% F A8 V5 _% X8 p }else
" [' |! J' a! e, k f) ]3 l$ f( o pBtn->EnableWindow( TRUE );
% F# `: `3 H5 a1 X M9 j3 E) E if( m_pTexture )2 H! v- I, ]8 C% G: D% A+ g
{
. G7 {7 ?. }4 m LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
+ a% l" {6 D# n$ h) w/ G9 J, r if( wndCtrl && wndCtrl->rect )
( k: m; w* y2 J( T) L {
$ }8 ~$ W3 Q# @ m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );/ a4 N' }9 t9 x7 U+ x+ n, a. O
}
0 k n: g7 A& z' @6 b }
+ V3 t. C4 O# D}/ S8 N3 T$ u( D9 y F
+ _' u# M9 ?, BBOOL CWndAutoFood: rocess()
( {4 _$ j b# ^! J{1 s% u5 j6 l+ s. F- J
if( bStart )
4 c4 D; h' H" }# | {
- H7 ]1 ?# @) |% q" Z1 u if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
$ w- Y. K6 }7 M# |, J$ j; w {
' t8 C, t* {1 E9 T3 N# {8 J if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )/ f4 \& ~5 J" A: c& p
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
2 g: k, a) X/ N* `: M }else{" t* u7 u/ E; D1 ?$ B) A) m) j
bStart = FALSE;
) P. i! _( @! f# S* B; J m_pItemElem = NULL;% R0 b; O I+ h$ ?
}
v# o& d- _. o/ [; f }: M4 Y; Y8 ?. Z2 w
return TRUE;# E. q' S" W( i
}
0 D0 A& _. X( V8 X( @' k" E, @; [
登录视频废话:
$ S9 A, a0 G9 m尾翼:" l4 c8 S3 n1 f, Z# I
$ P* g1 U" T: b, F. t
代码:
1 m$ U U% V$ ?1 w y9 w# u9 k$ ?- @0 i: |
void CWorld::SetLight( BOOL bLight )
! A) w3 z; }' w t! \6 \, `durch# l& T5 s( f& H' E
Code:
' {% a/ _6 k5 n; w% X5 o! hvoid CWorld::SetLight( BOOL bLight )
3 o- y" Q9 R0 e# S{
1 D* p1 A: r5 ~ //ACE("SetLight %d \n", bLight);$ {. J/ a( [$ Y1 w
4 O: B% s% T) v* N6 m
#ifndef __WORLDSERVER
7 r' n6 T, ]/ a5 N* i+ v9 Q' z6 E DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0); G2 s. _# x$ T* j2 @) ]
CLight* pLight = NULL;" y2 z( i% x0 [; N
: N+ i/ ]/ V9 g2 O" ^. r* K
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );+ M- X3 C3 e# ~5 o
0 a5 J: V/ r( o
pLight = GetLight( "direction" );
) J6 {. r* ]0 Y9 i+ X5 m! T3 Y( F2 `6 ?$ E
#if __VER >= 15 // __BS_CHANGING_ENVIR
. S. P& V4 M* n% r/ Q& g1 J if( g_pPlayer ){
0 ~+ F$ C) v/ B- Z1 J. V ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );! Z: r- c, u7 U0 g- L
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
0 D3 `$ X6 I1 h2 U) ?( A1 A {' Y8 U+ e& l/ R8 L/ J
if( pLight )& h& }) i5 P8 [; k" y
{ G( ?$ U3 E6 Y# C* H- P3 F
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
, P# h! I$ r; Q! d" h; j/ A! K. H* \ pLight->Ambient.g = pInfo->_fAmbient[ 1 ];6 q" k6 F$ d9 b+ l0 R6 E( i
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];1 D4 f* Q( B5 P! T% c
* K2 Z2 T* i6 h pLight->Specular.r = 2.0f;
1 n2 s! v0 n: L pLight->Specular.g = 2.0f;
& G; C. j1 ~. Z5 q N, v4 @! s9 R pLight->Specular.b = 2.0f;
/ N7 q/ ^+ W& l: ~
# s, v. ]0 S A pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
# B: t& l' Z" U4 o pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
% S& i0 v W! B5 j J9 i& A pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
4 U. j3 L2 x3 o# j+ O8 V. B+ V $ r" C' D* [/ k& m; ]* u
HookUpdateLight( pLight ); 0 E/ d, p( \5 d: Q8 ?
% S* M( J+ F( ]3 Q* m memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 [ {. S8 A& o" }4 L- u5 A% ]2 {
2 v, _ F9 Z M: E pLight->Diffuse.r *= 1.2f;
]! g# N! V1 r; B+ Y pLight->Diffuse.g *= 1.2f;
6 ]' Y2 L- O' ?8 \; {4 ^ pLight->Diffuse.b *= 1.2f;; ?/ p0 i0 s% H
+ T$ p7 M: K, k/ P
pLight->Ambient.r *= 0.8f;. j: c7 e# L) A# g7 ]' f' |8 @
pLight->Ambient.g *= 0.8f; d1 F/ C5 z9 C+ I- _4 o" a# U
pLight->Ambient.b *= 0.8f;; B6 | y9 b3 h) L' p
. `3 _) G0 Q" h0 N memcpy( &m_light, pLight, sizeof( m_light ) );
6 o/ p9 j3 w5 Y) T1 I$ Z% A B! {- D! L
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f); v6 ^4 f% c7 V5 ? v. \
D3DXVec3Normalize(&(vecSun),&(vecSun));
7 h7 \% q. B. { d0 ?3 _) }0 O pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
) @" y! Q/ R3 } pLight->Appear( m_pd3dDevice, TRUE );
# i7 ]* T( M6 T) ]
) ]5 Q {0 B( B% C2 x3 ^ DWORD dwR, dwG, dwB;, D5 Y* e& a v' y: b7 p9 @
dwR = (DWORD)( pLight->Ambient.r * 255 );* m1 a$ t" r3 y, f
dwG = (DWORD)( pLight->Ambient.g * 255 );
* m+ P4 Z" _( M6 x. `& i) b dwB = (DWORD)( pLight->Ambient.b * 255 );
6 s5 L4 m; y% H! F" C4 `9 z) t& ? dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: A9 j6 K9 ^' H8 m) } }* m" ^2 [3 Q, X3 O
}6 x: o/ ?% s5 p" a9 K& t7 }7 F
}8 |7 ~8 W& E2 J8 I1 C5 P9 Y
else
( R3 }1 n4 e+ z& s#endif & G9 _1 g5 _, W& |! N6 O! Q9 b7 _
6 z& \: t# t& e if( m_bIsIndoor )' K- g1 q$ @* `$ K. x3 y
{
- Y0 g m" N. R% H& Q" j if( pLight )
3 }8 n* n- W4 d6 i2 F {
$ G3 G G) g$ r% S) M // à??μ oˉè*
4 w' M, |5 n: W pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
* J# k: r% P2 a* f5 K pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;2 c# O' a& w V" e" z- T
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;. g! E/ Y4 m, ~" ]. J5 ^
( e6 x- }" c8 }4 _! }* C+ v. ^
// oˉè* ??à? 9 K" @$ x# a, u/ F4 x
pLight->Specular.r = 1.0f;+ Z% Y: l6 m0 B2 r! X
pLight->Specular.g = 1.0f;( L- Z% D8 b& p' k3 N/ k/ l3 E
pLight->Specular.b = 1.0f;6 U; L! ]$ _0 _+ k3 l; Y
// àü?? oˉè*
4 C) g( x$ A: D5 `; l pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
7 N! \* H5 }3 d( e pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
: w4 p* y' ~% }; {* ~ _& m0 Q pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
2 `, |9 n9 c% ~% y2 e% i0 I1 r+ M" L" r& V0 s- W1 ~
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.+ P. z0 \3 X4 L/ G+ `
{
1 ?. _7 m: u1 h7 Z* Y6 v; D( ] pLight->Diffuse.r *= 0.6f;
" Z- x+ W g" v$ y- ~ pLight->Diffuse.g *= 0.6f;
: R2 B5 f6 ]% m+ M I pLight->Diffuse.b *= 0.6f;
0 s, Q/ d% T0 _% z7 U pLight->Ambient.r *= 0.7f;
0 f- r( ^2 Z- Z0 b h3 g pLight->Ambient.g *= 0.7f;
7 f( ?9 L/ y5 I/ {; y# @) W pLight->Ambient.b *= 0.7f;
, _' `% h: {" ^: R }
4 K5 ]( P, d6 ]2 M
6 K2 x, l7 W# Y1 i#if __VER >= 15 // __BS_CHANGING_ENVIR
+ J$ T% C1 D' J# K if( g_pPlayer )
0 Q1 K& h0 m( s' i: h+ w( A HookUpdateLight( pLight );# [) ]# m$ B* B& I. J
#endif
' Z. x7 u% a. e- @- x/ G* p memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) ); E- C2 d6 B4 W e
2 }$ v& R7 M% u( a pLight->Diffuse.r += 0.1f;3 Q4 Q3 H0 M R
pLight->Diffuse.g += 0.1f;
$ A4 l" c# N6 i4 E pLight->Diffuse.b += 0.1f;. d4 a0 j, V& B! q
// oˉè* ??à?
+ f' W( ~& e5 T- H! M. V! g pLight->Specular.r = 2.0f;- E+ q% E" m- ?, G/ u3 U
pLight->Specular.g = 2.0f;
, |/ A W2 e2 E! R+ j! S pLight->Specular.b = 2.0f;" x* j, O; _4 i V# f* ~, ~5 P/ n5 i+ Q
// á?oˉ ; c" R5 ] U' Q5 S
pLight->Ambient.r *= 0.9f;+ B4 h+ {- M, p* ?
pLight->Ambient.g *= 0.9f;- {$ J0 F( t4 I4 c
pLight->Ambient.b *= 0.9f;
$ g9 Z5 G: b, P+ o. t' p8 z
! y2 k! T" \9 I1 x* X. O9 H memcpy( &m_light, pLight, sizeof( m_light ) );
* @1 G- I3 H0 ^' B0 p4 z. F' I , Y+ x. e: v; W% W& V- C( [9 V b7 [1 Z
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
# N8 @' r% m" U; J9 B) O" A; x2 A pLight->Appear( m_pd3dDevice, TRUE );; d$ G$ w/ d4 q* A
, X6 x( l7 ]4 r6 ~% K
DWORD dwR, dwG, dwB;/ j! ^& r& L* Y1 B8 [3 R
dwR = (DWORD)( pLight->Ambient.r * 255 );3 k ^. P' m& h# t( b7 A
dwG = (DWORD)( pLight->Ambient.g * 255 );
% ?( G' b5 `' r S dwB = (DWORD)( pLight->Ambient.b * 255 );" y! C' x6 O" k A: ~
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );4 z) B0 Z1 v% P, B- q
}: _- _1 ~; ~. k1 w
}
( J1 V/ n* R% c6 x2 p# V6 b/ t; F, N else- x& j% r( l" g: w# Z
{
5 Q7 q/ R+ `9 M- V0 [ if( pLight )- ?, A) U: a! S1 A! h. q& q' n
{
4 k2 Z ]+ K& o6 t- l" E
: G V0 p8 M+ S+ a4 J5 ^ int nHour = 8, nMin = 0;
8 H, }, L6 G5 }- N$ h# v% u #ifdef __CLIENT) {' m0 k6 T' e7 l" m% c
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 3 o' H7 W/ p$ ^1 J' M. @
nHour = g_GameTimer.m_nHour;- c6 \ ^- k* L' v* ?& v3 ^
nMin = g_GameTimer.m_nMin ;
7 y$ [. [: C0 T$ w5 o; F3 m9 o #else
5 ]; E" f! Q3 T, e // o??o??′? ??°£à? m_nLightHour???* °?á???′ù." V+ I: p. u2 A) ~
if( m_nLightType == 1 )& ~# q# D& n3 R- o" R! M
nHour = m_nLightHour;: f/ ~$ E2 H/ j e+ y
#endif
0 q1 V. i0 y! [, r3 {$ z nHour--;. i2 C, u" m: L
if( nHour < 0 ) nHour = 0; p. M9 k) o( j \$ K1 X7 E( J6 h
if( nHour > 23 ) nHour = 23;3 N- i/ [9 H4 ~6 J
0 w0 Q6 U. X# t( | //if( m_bFixedHour )
: }, k* `) T( c: H: x // nHour = m_nFixedHour, nMin = 0;. L; y }' T( L$ |% l
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];% c9 B3 `/ I! c2 O Z
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
; a7 ]/ Z5 y3 K/ _( H7 W% v# v; h7 Z
//m_lightColor = lightColorPrv;0 a. q7 ` k% d( {
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
, W! Y6 X+ X) U" o3 W6 \ lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;' t% O- J9 Z4 \: k8 Y. a- \4 ^. X
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
: J: r+ \+ j4 W" I( W; {7 O lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
" C7 g# d0 A' i1 k6 S lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
) |. H9 @! F, b# A lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
2 M5 l, l6 o4 u6 K, P& K, M2 x' N // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
' H% @, _, `9 L/ ]
/ i1 s2 ^( X/ ^$ R // à??μ oˉè*
3 N5 L& ?% F e( ?+ P pLight->Diffuse.r = lightColorPrv.r1;. l( y8 w! _3 ~$ F. w
pLight->Diffuse.g = lightColorPrv.g1;
+ B* j- ^* M/ c5 K9 l3 W8 l& s+ f pLight->Diffuse.b = lightColorPrv.b1;5 P! u% c6 z3 Y5 } e# u% ?& F$ O K
// oˉè* ??à?
) n) X/ |: z0 _' D( H pLight->Specular.r = 1.0f;5 F. X& X; l4 H
pLight->Specular.g = 1.0f;: q) K. n. ]. {+ X
pLight->Specular.b = 1.0f;0 B' U& c$ o @8 n6 R7 g( W' y
// àü?? oˉè* ( J. v, ~6 S- L: }: Z
pLight->Ambient.r = lightColorPrv.r2;1 i; B! C9 G6 Z+ P
pLight->Ambient.g = lightColorPrv.g2;
5 _( r, w& X# b H9 {1 j' E pLight->Ambient.b = lightColorPrv.b2;
" T0 J4 G. h" L) [
1 s6 g; n' V) N/ E C if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.$ ~5 {0 |: X- W1 [% n5 R+ C
{
4 O$ C, L) K; t! s pLight->Diffuse.r *= 0.6f;
, A- |" H x2 K* b' ` pLight->Diffuse.g *= 0.6f;+ M9 x9 P$ ?& n' f7 S/ _7 E* E
pLight->Diffuse.b *= 0.6f;
! i' Z4 {$ p5 |8 J pLight->Ambient.r *= 0.7f;
2 U4 l* q+ }9 g8 I+ u5 X6 p pLight->Ambient.g *= 0.7f;
& [+ A9 a( F! r$ T! o7 |% P pLight->Ambient.b *= 0.7f;
8 \6 M# }! [ C" ` }; j; p- Y! a# |& ~
1 o& K1 Q# A2 Z+ \+ d#if __VER >= 15 // __BS_CHANGING_ENVIR( w f3 Q% @$ n+ i' d0 f
if( g_pPlayer )( ~* P/ f1 k, g
HookUpdateLight( pLight ); : B( P" R8 _1 F Y: J2 T. q
#endif: }7 n6 r8 D8 ?5 V
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. b; V7 j' o- F( e# k/ o6 \0 F
/ |3 W; @& A" ^#ifdef __YENV
: m; @/ {; z! @" S pLight->Diffuse.r *= 1.1f;
' }$ c7 a1 [( G! a e& q pLight->Diffuse.g *= 1.1f;
! N2 l8 N+ m& J O% S! U3 Q pLight->Diffuse.b *= 1.1f;$ D: e) K( T; X, e
// oˉè* ??à?
4 l/ l* S1 I7 ?3 H* E pLight->Specular.r = 2.0f;
8 w; Y( H5 b: g' \6 k" W pLight->Specular.g = 2.0f;' a$ u; C7 N8 V' Q
pLight->Specular.b = 2.0f;% Z5 T% ?0 `2 q/ ^
// á?oˉ
6 C! E, ^5 F* U6 a9 z8 L pLight->Ambient.r *= 1.0f;: L! o( t5 y1 {7 Q3 A5 W
pLight->Ambient.g *= 1.0f;
3 n {& H: G' P0 _8 s% s$ Y9 ]% v pLight->Ambient.b *= 1.0f;0 C: s8 I5 {4 C+ F
#else //__YENV
# @) n, s6 \/ I' @6 t' j$ m+ B; y pLight->Diffuse.r *= 1.1f;& g3 x- q- k- m; I1 t2 L' D3 s
pLight->Diffuse.g *= 1.1f;
, h0 f n' n4 Z5 |4 k* v pLight->Diffuse.b *= 1.1f;" x5 L2 c2 a( L8 V5 M7 W- Q, |
// oˉè* ??à? ; C" E! `% d; f7 q! y
pLight->Specular.r = 2.0f;+ l5 d. ?4 n! B( @
pLight->Specular.g = 2.0f;
( X2 p% E7 Y, P( g pLight->Specular.b = 2.0f;
2 Y( Y2 ~' o: y // á?oˉ
5 L) E5 A- E) q( f [ pLight->Ambient.r *= 0.9f;2 g) `; X* \: s; M1 {8 p
pLight->Ambient.g *= 0.9f;% y; m2 P( @1 ^- H8 e+ Q
pLight->Ambient.b *= 0.9f;
: Q3 v) W! T: D4 z6 Q4 U#endif //__YENV 2 G; L6 u+ z; k- c. c6 j% u
[8 U& `" ?2 R. b" W2 s memcpy( &m_light, pLight, sizeof( m_light ) );7 G7 L. G: Y- V( y" k7 l' J T
( n8 ]- X2 v! P3 `/ j D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
/ f; U2 }. m: o1 m7 R8 { D3DXMATRIX matTemp;% q5 @3 ~0 p' m" M: ^% p# g
static const float CONS_VAL = 3.1415926f / 180.f;
3 T6 W% A6 `4 b' |: ]' j) {" \5 W/ t' A+ p
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
: a2 ]3 @% y W/ v5 I. } D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
! N) o" ?3 r1 @: i5 p pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 8 f2 g) X0 X3 {
pLight->Appear( m_pd3dDevice, TRUE );
. F1 {/ c- t8 E! P5 a! e1 b, ?& A- F+ a& M
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);9 [% v& o$ H5 g4 @. f
// D3DXVec3Normalize(&(vecSun),&(vecSun));
0 [# z7 |4 n# }+ X: m // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 9 x5 B& d. Q+ c# ~, b
& b, S8 i2 ^" j3 }/ ^2 T5 j& _
DWORD dwR, dwG, dwB;; @9 Y! k2 e! S% H
dwR = (DWORD)( pLight->Ambient.r * 255 );
0 _; U' _+ \7 a dwG = (DWORD)( pLight->Ambient.g * 255 );! D& Y& [+ p( I, f4 i1 Q% B
dwB = (DWORD)( pLight->Ambient.b * 255 );8 t2 D9 T& G: i) x0 i x
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# ^! L0 C$ o6 E* ` }: b' X2 D' \" P8 _, s3 c" Y. ^
}$ e+ x& S- ]* n+ k8 j. S
& c( d- W& ~4 l9 A; D$ c2 r m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
+ F ]4 A; F" U4 c$ ~6 p0 D3 K 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 [9 K% ?8 V% _ ::SetLight( bLight );
: @# v6 u1 L. T0 e: I! x0 M8 N- H! q$ p) ^8 m% @, S0 U" G
// ±ao? ?D?í???ó á¤à?
' P( w0 Z/ I' |, | m_pd3dDevice->SetMaterial( &m_baseMaterial );1 ^' W2 O7 W: W
% E) D4 p s1 v* k+ P#endif // not WORLDSERVER4 Z/ A {/ @ N1 q, r ~1 t3 m8 \; T
}
' m# W5 [1 j- J6 i7 |7 ]4 Q并更换& e8 W( y! B& v" R8 f$ }. b
Code:+ o0 L! m, V/ r: `2 _- P
__FLYFF_INITPAGE_EXT
% l1 ~; A' ]8 M. y( n5 a定义& h/ n) E" S6 ?$ J* F+ ^& h
* i+ q& S5 ~7 k; h4 W K' R0 M% n- ^2 g9 B- L \
& o) p6 x3 Z* W# G5 R; Y
/ w& O8 @: W1 ]8 X3 P) R9 o现在终于删除我的狗屁加速...
8 p* s( Z' a }- [8 g0 C7 ^5 p1 J, j( [9 f' r- m
( d @/ J. J( e* F; M [. E3 U. Y( C6 u0 k; ^! | h
|
|