|
食品车:1 L/ }/ n; Z) P( a
尾翼:
8 u: e) {) R% k5 C8 w. l. N# z$ j, {) M. [
代码:
+ N* s* l C3 `CWndAutoFood::CWndAutoFood() D$ Q+ x/ T R
{* a" ~$ g9 a5 c1 _; |: Q
m_pItemElem = NULL;$ P+ X' m" x, ~# n) V" |
m_pTexture = NULL;- i8 R: s6 Y8 B* `$ J
bStart = FALSE;
9 L( R" f. `; C} n! \ Y4 G! s. E
- K- D* `+ E4 |# ]6 ACWndAutoFood::~CWndAutoFood()
! j( Z- W/ M& r) h8 b" I6 u7 ]{
4 h" V2 L: p$ d! l1 Q AfxMessageBox( "AutoFood ist gestorben " );" B; `5 O" A. m) y' t$ y# A
}, n! Z. {) Q5 ~' A) Q- s, s' c
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )! W- w4 g+ F/ y+ ^% s6 d# {( |
{
6 G! N5 C8 e) Y$ J @+ w* H9 j return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
7 p3 ^9 s8 A% m}& J& l8 X# d3 \5 m2 u1 e+ A( C
& E/ z/ H: R( u" K7 S! o
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
! W" A0 M& v. H% Y# s& q- Z{) [$ v0 |# i3 M( C! y- z+ M" X
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );+ r% J( y; B' B
CRect rect = pWndCtrl->rect;
9 D1 v, j' e \4 |2 g# ?- f6 C if( rect && rect.PtInRect( point ) )/ S% Q+ C1 ^+ s$ f
{
9 I9 r& f& |* w0 d6 x CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
9 i. g* T" @& j7 o6 ?) _( w6 A if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )5 N% D/ y6 M( ^& `# }" c
{
1 ^2 c. H6 O1 h. k if( m_pItemElem )
7 S& J$ t1 S0 t+ i {+ f9 B8 q# v: `/ J: ^" F2 Y# K
m_pItemElem = NULL;
4 e: `$ `; h# V% @ }
% m: ~1 ]6 \0 u m_pItemElem = pItemElem;
7 Z- y6 a6 {4 D; Y' Z m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );* f f( n( \! D0 _+ P/ |
}else{
& p3 T/ q" x' @3 j( D0 H* \9 A SetForbid( TRUE );
t' d% ] H6 c" d1 S5 ^7 J }# S6 s9 I' d6 x; o& d/ y, _2 `
}else{! K3 J' h* t$ q. s% m0 k3 c; d
SetForbid( TRUE );
$ t7 @0 [1 B/ C5 I8 C }
2 [1 ]% l3 |3 F+ H' t return TRUE;4 G+ {! y+ O8 N3 [: C" v1 l
}4 V* Y0 q5 g) V$ `' y$ N
3 z) o5 n3 G) I1 k) s' Y! ZBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )7 `; j4 D3 f7 Z# X6 V4 H f
{
9 ?% P: Q K0 e7 i { y' W1 g: _ switch( nID )
0 y I- T3 ~$ Q+ L {" I4 y% `' w& X4 F- V% R( E6 T
case WIDC_BUTTON3:" z6 W3 d6 e. w5 {
{
5 S" V; J0 M4 ~* {7 K bStart = TRUE;/ A& W! V* _2 H. B6 X" z
break;
% \% h. ` ?3 W$ m) x/ e }
$ i( B ?3 v" _% R, A case WIDC_BUTTON4:
, m0 _; A; C8 D- i4 ^, R+ G {, w9 B" L! R, |6 c
bStart = FALSE;
- r3 z6 x/ q# ?& c' x break;
+ x2 S0 q- A" t& Y }
* u0 J3 y. j7 M# y }+ b3 _; ^6 J$ \" Z3 i W( f8 G
return CWndNeuz::OnChildNotify( message, nID, pLResult );
0 [! |7 `6 M2 m9 ]& {! C} . `& [0 k$ X2 I8 `2 Z
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
7 ~3 u" `1 Y+ _{2 ? l6 d$ n# [0 K# A
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );9 K2 H. b) s. Y; E s3 B
if( bStart || !m_pItemElem )
# O @/ M" |8 R1 Q! k {
+ ]9 m3 J, X6 ? pBtn->EnableWindow( FALSE );
9 @0 Q3 E+ p7 \* e5 I3 A" I }else
4 ]0 \$ f( C6 J* i0 E pBtn->EnableWindow( TRUE );
, K V3 W D. u3 W9 r- L2 J if( m_pTexture )- ]0 U9 ?! h* E6 n8 z
{& r. G% u/ p- s* f" H2 o9 r. a
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );7 O* c# i1 Y! q* u
if( wndCtrl && wndCtrl->rect )' I7 x2 A3 }; h% ~; o8 c
{
5 a4 q- A1 G/ s4 J/ h! Z* {8 ` m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );9 W+ R8 e. f+ @# I. k) C
}
1 r8 s3 T; o7 j }, n* n/ ] K& s; s7 P
}: e, t! A- B* f. d0 i+ L
( {# ~5 c/ O, y- ^* ^8 TBOOL CWndAutoFood: rocess(). e2 I1 N% a7 Y" r5 B6 A
{- n# g M- X5 q$ J" a1 _, x" \
if( bStart )1 l: a0 J ~/ _ ^1 M2 \
{" D1 c: d( x. }2 F/ y
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
, Z, i) [( h! i% R2 C, L1 ? {
6 l% t' g: L( a- ~ if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() ). h& l; ~/ A3 P) P# ]
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );" i. E: g! p/ K0 {* z! v
}else{
: H* d8 _3 l6 y- f1 {% d bStart = FALSE;
8 N0 v8 x9 J% Z$ o( n4 d5 R m_pItemElem = NULL;
* Q" W+ c2 g: C$ H }3 g0 }& _6 \- w+ G
}8 }/ n, z6 i) S6 Q" o
return TRUE;2 A& @/ `0 T+ F' W5 L+ ~
}
; ~! N- D$ J" a: U$ L* k) E( {+ H$ T# M& j9 P+ g z9 I* \* o* ^
登录视频废话:8 d+ Q1 y9 X0 n7 i: Z
尾翼:" H5 i R+ ~2 o( u
0 H0 t: p% \, u, y& t" o. {代码:2 ?# O7 ]+ G; j# K/ Y7 H/ j5 h2 { W
; p* y+ M) T( m* b
void CWorld::SetLight( BOOL bLight )
0 H" i, c# A- d0 y) \# _durch
* b) `$ z7 h( A' h RCode:- U4 H" C% a2 _9 e
void CWorld::SetLight( BOOL bLight )) H! }, J/ D C. O# B1 L; U0 }
{
7 ?$ b& n' O& o- ` //ACE("SetLight %d \n", bLight);/ F) g( ?) m4 d$ Y
7 h- U1 l4 d$ w) z+ I
#ifndef __WORLDSERVER
# X4 m/ V) K1 t; D7 | DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
- s& h- l$ T) D CLight* pLight = NULL;2 [) ?& C- E: ^4 W/ f
$ H6 {& A3 I- o% K0 R" w2 X D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );7 u/ v( b1 s( |) `& k) `
& {5 }2 a2 F, B# p) [) ?5 E pLight = GetLight( "direction" );
$ [$ K% ]2 [5 p9 B) d5 s3 k& v% ^5 v2 R7 Q2 ~
#if __VER >= 15 // __BS_CHANGING_ENVIR
. d$ K3 j, x7 e5 D4 H if( g_pPlayer ){: i: ^% H3 b. P& p4 l* ?" A
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
0 b# ^& Z4 k2 z' k if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
* L8 X1 ^& j# \9 d( ` {
4 D! a7 a1 N4 [# b& l+ W4 _& v if( pLight )4 S# S) X ]( w4 m$ [0 @* X
{
: L" ^* D+ s$ n pLight->Ambient.r = pInfo->_fAmbient[ 0 ]; K% X1 m: m; v; p
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];0 O. B9 r8 c) x6 p; u
pLight->Ambient.b = pInfo->_fAmbient[ 2 ]; v/ u3 I( M' I |8 a! _1 ]
4 [( v H2 |2 O$ i+ M! F0 z& Q pLight->Specular.r = 2.0f;. v, H8 V* g ~+ O
pLight->Specular.g = 2.0f;
E) ]5 R+ c8 A! _, t pLight->Specular.b = 2.0f;
# ?) J# p6 p0 V7 h# Q3 g( L * t. N+ C+ U: j4 M
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
! D" A+ Y& @& Y/ {% ^ pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
# m4 [ v$ X+ Q7 T( x6 T3 w! X pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];7 k: t. C* n8 F
! A7 R7 j4 X: k& o* S HookUpdateLight( pLight );
' B; f! H6 h$ Z8 o2 |8 k3 _, {4 S4 k4 W" P0 P- P
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );* J2 Q" h8 [! c( E6 z9 z
+ h0 f- f0 F8 E6 E, t7 \3 c N pLight->Diffuse.r *= 1.2f;# b, y2 |' F; ^4 `
pLight->Diffuse.g *= 1.2f;
. [1 M/ E+ ~& F! Q9 v6 G pLight->Diffuse.b *= 1.2f;
3 @2 y @$ g% c y: r5 d( q2 H( f
& |$ G: b7 V/ l- n- n1 [( m) T pLight->Ambient.r *= 0.8f;# J1 f* _9 P w& X$ u c
pLight->Ambient.g *= 0.8f;8 X7 ]; q! c/ U7 j. B
pLight->Ambient.b *= 0.8f;7 I3 Z! B$ n: D/ S
% g8 k8 ^! G* Y5 @( x q
memcpy( &m_light, pLight, sizeof( m_light ) );
$ @* Q* ~4 p; F, V7 m4 b
- L6 u) S2 x4 F( [) c q2 d T6 a D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
3 a$ j9 [6 V+ D" F D3DXVec3Normalize(&(vecSun),&(vecSun));) v( [4 F# d& l7 B
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
$ H( w- b$ C& Z7 ~2 V# z pLight->Appear( m_pd3dDevice, TRUE ); r Y* G* J2 Z d- C8 `
0 k( P* Y; K& A5 q3 S, F$ H
DWORD dwR, dwG, dwB;
$ c+ }2 j5 \0 M1 }1 G6 a9 o1 m& \ dwR = (DWORD)( pLight->Ambient.r * 255 );
- N+ C) J+ d2 \3 | dwG = (DWORD)( pLight->Ambient.g * 255 );
" b+ h8 e9 `: z& _7 |- Y O dwB = (DWORD)( pLight->Ambient.b * 255 );- Q- H$ Q6 c0 ?* A
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
' V2 W1 m# Y/ q: k, l% T }' D: P, D! t, _2 O" F) }: H
}" e4 x9 o9 ~* ^6 |3 O7 \; T
}, `4 N9 H" e& w2 e' K
else
, ^7 E0 f! H; [1 T#endif ( R1 e4 T/ V+ L% B' t
' u& [7 u7 e( P: ~; k
if( m_bIsIndoor )
, k! H( Y2 B. y0 y M3 V: Y; _ {1 p9 n. ^( F& k5 u+ l: Z v
if( pLight )
9 G4 [& B/ i* U8 [7 x+ v! Q { , X; y8 c& c: K
// à??μ oˉè*
& T, ?4 x' Z* o( n pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;; H5 h: [2 \- `7 g) N+ l
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;% V' t. [' @/ s
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
$ F' v4 ]( B8 ~1 w+ W& A4 p5 R+ M2 y* q5 \
// oˉè* ??à? 9 N; d3 L* X: U- K8 e. p6 o, d
pLight->Specular.r = 1.0f;0 \- x. W9 L% e# \- N0 B) W, z# ]
pLight->Specular.g = 1.0f;
3 c% @ P+ _9 I9 W% N pLight->Specular.b = 1.0f;) ]. P! b- t; X' H. r- { I
// àü?? oˉè*
9 }+ S6 E2 q# O: q! I# {+ k0 c pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
% [1 Z3 u; p$ s0 W2 N. ~* X# w pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
# Q9 @- ~3 z2 c6 w9 ` pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
. z; O' h1 @$ T
* G* Q4 n! |* E' o" p+ ? if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
( m( n% `. g6 g1 |0 S8 ^4 G2 F {% `0 u, s* R1 P# L) F M* ]5 _3 |& p
pLight->Diffuse.r *= 0.6f;
% a, @! p' @+ f pLight->Diffuse.g *= 0.6f;* }" b' m) \$ u/ J1 E
pLight->Diffuse.b *= 0.6f;
5 c2 g) J/ Z6 Z [ pLight->Ambient.r *= 0.7f;1 m" z9 U/ z: }: ]" Q* ~& f: E8 o
pLight->Ambient.g *= 0.7f;
# f9 E/ m, _! I, W9 i" ?9 J0 U pLight->Ambient.b *= 0.7f;
* l; R' n. o7 R, f- ` }
$ c3 ~* I. v! t* a7 b* ]( K' ~1 e+ q4 r9 ?% Q( o
#if __VER >= 15 // __BS_CHANGING_ENVIR
# S- y& i! N# E; E2 r/ P/ e, a8 c if( g_pPlayer ): A4 F# s0 m- N! V# C; h
HookUpdateLight( pLight );
- z: u( ~' e; R' Q+ s#endif9 B s5 _4 b& b. F% ?8 d
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );" M: S3 U o8 m8 O6 {
% \) B+ `% i; t+ k
pLight->Diffuse.r += 0.1f;
- J% f7 L+ s% r+ o pLight->Diffuse.g += 0.1f;" u! g: H7 Q! G
pLight->Diffuse.b += 0.1f;" v. e" F& y' _3 g# I2 C
// oˉè* ??à? 7 l. z- U$ _" [) g3 Y8 _; W2 K7 i
pLight->Specular.r = 2.0f;5 G& g9 V( R3 A! Z
pLight->Specular.g = 2.0f;- q4 }1 k; j3 ?: }4 z
pLight->Specular.b = 2.0f;" Z3 d7 A. [" c4 d6 j! R
// á?oˉ " H- r/ ?, r( l( j: A7 G5 W
pLight->Ambient.r *= 0.9f;7 Q& {' Y1 Y6 a- D, G6 f! K h* k( I
pLight->Ambient.g *= 0.9f;/ j; |- X. k" ` {
pLight->Ambient.b *= 0.9f;
1 ]& o: J$ P" t
: Y) ]3 R: Q2 Q1 i; f; [! r( R$ | memcpy( &m_light, pLight, sizeof( m_light ) );1 M; H' _' m4 w4 f7 O! U! A
" @9 E) V1 D: D& r) d' q pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );' i+ `9 O7 {6 n& k
pLight->Appear( m_pd3dDevice, TRUE );# f2 O! ?& X. P e
+ }9 M# l6 u+ ?2 t8 u: Y+ `8 t1 ? DWORD dwR, dwG, dwB;1 t) \! {- [; U( ?1 C! I3 L
dwR = (DWORD)( pLight->Ambient.r * 255 );
+ S" Y _; c* g& X# | N dwG = (DWORD)( pLight->Ambient.g * 255 );. q, ~6 y8 `, T: B2 C1 @
dwB = (DWORD)( pLight->Ambient.b * 255 );7 O& R* t9 J) a$ o: t7 u
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );+ n' @ o; r: o, H6 r0 X
}0 l$ v P8 m# ? g+ _, h
}# ?1 C7 T7 v! \6 V& V& I U
else, o( F( e5 L( g2 X; ]( H" K( |* U" u
{5 @! _7 H w: Q. X
if( pLight )
0 B+ A \) m, k4 o+ o; K; d {/ d7 a. @1 c/ R6 S0 ^% M" b$ G
! J, Z! ?5 t. g$ q1 \
int nHour = 8, nMin = 0;
, P& F9 E7 i9 {7 ?+ {5 O #ifdef __CLIENT
; o9 Q5 n8 i: ? // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
. L% S% Q$ y L& `& |7 v nHour = g_GameTimer.m_nHour;' v5 P' g, ^; q4 d! |. X/ S6 E
nMin = g_GameTimer.m_nMin ; a9 J7 T% [' t
#else; H8 l0 f# D9 T q2 [; q
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
' f0 s0 z+ x! H: {9 {# s) N if( m_nLightType == 1 )( O y; T! q- h1 e$ ?7 W9 X6 s+ l
nHour = m_nLightHour;: W- d) R: N( ?
#endif( N* ]5 m/ X* j% P8 Y6 d0 v
nHour--;& R& [! K% R' `
if( nHour < 0 ) nHour = 0;
% a2 F) {: ~1 B( A# a if( nHour > 23 ) nHour = 23;
! \8 @+ J' W; j9 @1 q. \; {! F5 @8 }& {. `1 } u, c/ _
//if( m_bFixedHour )$ K, ^: n8 B5 ?) ?2 M
// nHour = m_nFixedHour, nMin = 0;) Q/ S F y0 |( Z" \% ?$ B+ w
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
( e% V7 \5 L6 c1 T LIGHTCOLOR lightColor = m_k24Light[ nHour ];: N& D5 r! m; E: l$ U
, h* [' h- V+ l' Q9 t2 k) s: m //m_lightColor = lightColorPrv;
0 @! i& z& N% R5 Q/ g8 p" M, F lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
/ i; E& Q" T. Z lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
6 I x: }: o' B4 }( u% E( f" p0 g* k! w lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;4 T+ u+ j- `7 j0 i' o- N$ e' t$ H
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;& }% ^, H7 I. S" m+ r
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
! L3 y4 D+ h0 l lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;2 X5 Q$ ~" F V
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
% p- e3 c. g0 n( P' K f6 `
" C- L- f4 N) L( j9 F% M G: C% \ // à??μ oˉè*
! E' Q a, t1 \ pLight->Diffuse.r = lightColorPrv.r1;1 D. k, ]1 Q4 Y% z/ J$ N( o8 u
pLight->Diffuse.g = lightColorPrv.g1;
: N" c o- p H% L; A2 S/ I- l pLight->Diffuse.b = lightColorPrv.b1;
. \) i% I0 f j! m // oˉè* ??à? * g( o' s" W: p, v
pLight->Specular.r = 1.0f;
; L# ]/ `: t; L& T1 s/ X& S pLight->Specular.g = 1.0f;
4 T4 x- }: V5 Z7 m ` pLight->Specular.b = 1.0f;
, H1 o# F& k+ F5 h% \ // àü?? oˉè* 4 ?" R N1 Z* L F
pLight->Ambient.r = lightColorPrv.r2;9 t e; B1 p( W% n$ t' O9 `
pLight->Ambient.g = lightColorPrv.g2;, ]0 w0 ^1 `+ j" D
pLight->Ambient.b = lightColorPrv.b2;9 a0 L3 C; ^! J* N- }' d+ G# C6 t
+ h, Q/ R) F1 R
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.1 F5 a' V. n. Q8 h9 Q. G0 b
{8 n: c8 }6 |+ \$ c: ~
pLight->Diffuse.r *= 0.6f;
' T, P, B& R2 p$ a pLight->Diffuse.g *= 0.6f;$ V; O' K/ A1 p1 y. H9 ?
pLight->Diffuse.b *= 0.6f;
5 c( X9 c7 A, u& H% t5 d2 ` pLight->Ambient.r *= 0.7f;3 z' S" L/ C" }" z, s6 i e) E
pLight->Ambient.g *= 0.7f;# P3 f6 l9 T9 ^
pLight->Ambient.b *= 0.7f;
z) R* _+ E; [) ~% T }2 U, _, p* s) [) | ~; `
/ q2 M. E$ d* }. g, ]$ a
#if __VER >= 15 // __BS_CHANGING_ENVIR9 W' `3 G! P( i* Q1 F4 y# h% E' Q3 u
if( g_pPlayer ): j% Y& Y1 }" \9 [, P
HookUpdateLight( pLight ); 0 q' X" i1 M1 Y0 E) C
#endif
2 j, K. n2 {: s6 F6 _ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ E2 i- a# t, f* X. n
% K L5 f: Q+ N# I4 p7 V; L#ifdef __YENV
$ Z: [# k$ V, D pLight->Diffuse.r *= 1.1f;$ F Y4 X2 }$ \* o0 R2 S1 r( Z$ y
pLight->Diffuse.g *= 1.1f;5 c: Z S8 } S, y/ N4 M+ ^ b! E
pLight->Diffuse.b *= 1.1f;/ k7 l' a8 r: L1 _: S, V" y% d
// oˉè* ??à?
0 e% U" w; ~* H# e& F% `6 k4 _$ \ pLight->Specular.r = 2.0f;- X: w( k$ |2 ?% q
pLight->Specular.g = 2.0f;7 c O" ?0 y( i# j+ U' n
pLight->Specular.b = 2.0f;' W' i6 N0 n: F0 S
// á?oˉ
" Y5 M" F: ]2 L1 L4 O pLight->Ambient.r *= 1.0f;3 m: z: \$ h5 b- }
pLight->Ambient.g *= 1.0f;
. A9 h* [# k4 B, ~( G pLight->Ambient.b *= 1.0f;. F! K! H( }0 x( k
#else //__YENV8 r$ P5 ~6 d- k
pLight->Diffuse.r *= 1.1f;
, {) s6 ~2 m9 s; i8 O% v$ A C pLight->Diffuse.g *= 1.1f;
" s- c! W3 p# p; [ pLight->Diffuse.b *= 1.1f;
- t) ~/ j" g# w8 x // oˉè* ??à?
6 L% \. k5 y- ~8 A pLight->Specular.r = 2.0f;1 g* }, V) M5 c) S; `+ Z% l( p- q
pLight->Specular.g = 2.0f;
" z! l a* k5 Q! W pLight->Specular.b = 2.0f;
$ U) m: A; n9 p5 x, ^' W // á?oˉ 6 u/ E) C" X8 L% s4 I
pLight->Ambient.r *= 0.9f;
4 E+ r" i) H. \4 P' @. o h! Y4 I+ m pLight->Ambient.g *= 0.9f;( {! r3 n) j" W. X7 s1 D# I
pLight->Ambient.b *= 0.9f;. T# @' V# z# w6 Y& O4 l
#endif //__YENV
b6 N/ l* O4 e" w8 t$ K: ~4 \ . c8 S" s9 P/ E
memcpy( &m_light, pLight, sizeof( m_light ) );
8 Z+ ~6 ~6 R; k) W. @, _ ! [4 U* d: A6 W. J9 L; v1 q
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);8 A) I) K. j) W( O6 R5 U, i
D3DXMATRIX matTemp;+ P& b: y N- y# g# ~
static const float CONS_VAL = 3.1415926f / 180.f;' K4 q' \. J2 \# j& F/ O
, O8 c k4 P/ d- a8 T( t2 i
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
; r: |- u- t Y$ W: z/ m D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);5 g* Z' C( g" X! a+ D
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
0 Q+ H1 c* B: L6 O. O pLight->Appear( m_pd3dDevice, TRUE );
5 U1 d7 }1 P, D$ a1 t9 v) U+ ~$ I
5 [* q& v0 W& U. m2 _- ~; E // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);/ z$ _. f$ H1 b/ ^
// D3DXVec3Normalize(&(vecSun),&(vecSun)); ]2 s/ _. h2 D ~$ _
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
7 _ H r: R6 L0 E( z/ F' z+ b, V/ u9 }- u- e5 J7 H. Q" J2 V
DWORD dwR, dwG, dwB; A1 y% s) Z( ^5 H- j
dwR = (DWORD)( pLight->Ambient.r * 255 );
9 {9 B: h& \/ Y# t9 m/ k" Y H5 @ dwG = (DWORD)( pLight->Ambient.g * 255 );
5 E. F- \$ a, F( G# n) s) E9 X dwB = (DWORD)( pLight->Ambient.b * 255 );
5 M1 v3 b& M7 e* r& z dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); ( W1 ^4 \( j! J4 L! J2 o% J
}6 a4 F! a' O) ^$ [" T, h
}% G/ {& }' S1 e% H4 P- Q( p
" ?" z+ d! v, \; F0 t) G m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );3 w7 J+ o( c6 J, H8 R5 s
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) );
; |* i2 i7 [9 H8 |* N: { ::SetLight( bLight );
, K" w7 v# ^' Q! L- R0 K
4 {! i- J! T9 {6 |3 T' L u0 D2 X // ±ao? ?D?í???ó á¤à? * d8 n) f) O! O1 i( N
m_pd3dDevice->SetMaterial( &m_baseMaterial );
) b' D5 k8 Z" v6 S 3 }' T6 e N, k S. ~2 Z. T/ j
#endif // not WORLDSERVER5 S: m/ s4 @- k$ j" F/ Z2 k, h
}$ W/ F/ F s+ p# O6 |" C# p
并更换) S' v+ @* Y/ D2 ^0 h
Code:
& d( y$ Q# W1 \( S' t* l; H__FLYFF_INITPAGE_EXT0 E) n) h9 f* M5 v# S
定义
- {' H% J3 y+ R4 B5 Q( q. ?- A
W) j+ f G/ P f2 H# E5 V
! c' k5 L. [" W; r% H: x" p4 _0 G1 W3 m( Y, }; k, C+ ^
3 u9 W8 ]6 \3 }+ V1 T6 Z
现在终于删除我的狗屁加速...3 `4 ?) z, y" c+ K! q- i& [
' f6 l, ^* }" ~
5 j7 G8 h8 n7 t' o
/ k F% ^8 m, e3 G t, ~0 T, o* x
|
|