|
食品车:" N R* J: Z" p$ N3 ]$ k9 `/ P
尾翼:
3 \2 F% d! V: u9 C. x+ v$ j5 b* _7 e8 d4 {: {6 `, }: C! H
代码:
; V, Y7 P! e3 v- p1 jCWndAutoFood::CWndAutoFood() m$ [3 n8 H8 W" H6 S
{
0 \8 ~9 |0 ^/ M( T m_pItemElem = NULL;# L0 P3 E, ]! d C$ A9 u" D' f
m_pTexture = NULL;1 `" {3 l8 ]4 z) c( y9 H5 e
bStart = FALSE;( B0 d b3 S( o4 U- y/ z
}" k1 s" c- G* u- p& R4 i- Z/ q
) Q" V9 a% R+ R* x+ wCWndAutoFood::~CWndAutoFood()
7 T# p5 F! ~ x' ~2 c. N/ |0 K0 N{1 ^5 C7 {5 X1 Z
AfxMessageBox( "AutoFood ist gestorben " );
5 K# Z2 Z/ W( c}2 H, A* Q2 B" `* R+ S+ I( E3 D
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )! L% `0 H# B- f
{' z0 x# C3 h; D' X. @1 H
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
) ^- p# Z$ v4 L+ X8 Q9 k' y}& _+ _9 B! u- U" N/ V. ?% I
8 ~7 x; u! f0 a- q1 V ^9 v
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
7 M* M x0 r x{! R5 R) B- B. O' Q" V5 g
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
; r- p5 ?6 n8 i% Y& }$ {5 k CRect rect = pWndCtrl->rect; |7 w5 }% B8 D: m2 _
if( rect && rect.PtInRect( point ) )
' w8 x- o; r3 U9 G+ [4 _7 q0 Q3 X3 v {
. w! U% X' k0 y+ c CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );1 H" U% Q k, D& u
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
+ F/ r/ T. [0 q. ` {- W2 N9 i6 \- H. |$ S
if( m_pItemElem )
0 M9 s+ N( {2 h) t' [$ h3 k {
( Z5 ]: L! K& x M7 R2 S m_pItemElem = NULL;( M* Y4 Y1 i+ W% V/ T1 s$ f
}
- p N: R3 \+ f7 P5 \ m_pItemElem = pItemElem;
# z8 h; o g ]' ~- l m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
% x0 ~& z/ \" `0 n" N }else{. t+ E" ^; h9 e# F/ @8 d* u x) e
SetForbid( TRUE );3 \' F% J) ]0 T0 n
}
( V' {, z9 ]: j2 k }else{* \8 A+ u* `! R8 a$ ^; A5 b
SetForbid( TRUE );# L9 G) d( m" Z7 a( `- \* g3 J
}; W& F0 ~+ O$ Q5 `2 o$ T8 t
return TRUE;+ p: `0 }, `2 ]0 A$ j# R
}. O& i! ]2 P$ {0 r2 @' l* @& @
! S0 |1 b! u% p
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ), _ q; m8 i* i' u1 a. M
{4 T0 k) A' g1 v: U+ y2 ~5 L
switch( nID )
2 u, B' o$ t5 I$ l2 T6 D {8 n0 Y, u7 ^- K8 E0 N
case WIDC_BUTTON3:
( W) U7 Q" G6 q, o! m4 M. @# m8 i# q) J {# [# v4 k/ O) l9 I; d3 l6 M
bStart = TRUE;
P; X3 u2 g9 h! |- L4 } break;
- m& e0 B9 t) {$ t* d }
/ M' P3 E( y% d, e case WIDC_BUTTON4:
* D; b! D8 I7 |0 \5 E/ ` {
# \3 u+ U$ M6 m8 W H$ J+ G% R bStart = FALSE;
6 l; P, q {) V. ~& f( V1 C( z, t$ J break;
1 O7 q, t0 j* ?3 | }
. N/ y2 z4 g$ y6 A; F& y8 n }$ s, Z0 V; x7 |* D& B3 j
return CWndNeuz::OnChildNotify( message, nID, pLResult );
4 m ~: N2 p9 R6 s2 C} : H: o9 M5 r# ]# n5 N7 y9 F; Q& {
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
' L4 Q8 ]0 D, n, k% \; }{9 t0 E4 U( ]0 u) | H
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
! w& o. I. Q% d) |9 P if( bStart || !m_pItemElem )8 c( o* j- k) {4 J. F
{
# `9 `% Y" R n! z9 ? pBtn->EnableWindow( FALSE );
4 r, y7 r, J3 a }else
+ R- M& s2 A& ?' X( K pBtn->EnableWindow( TRUE );" J( |& w, b. G
if( m_pTexture )7 V8 N, m5 n% B3 m/ b7 H. u
{! X2 z3 Y5 X6 S( B* R$ F( _
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
4 k+ m, L0 b( R3 ^3 S if( wndCtrl && wndCtrl->rect )# U& j6 V8 c7 S" l, P: I# v
{ H& O2 D i1 c) i5 s- x/ E# M) u
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );# A3 ~' v8 N6 N
}
( p6 S3 T1 x* I' _2 i( L0 A( n }
8 n) k( t! e9 E( B- t; m" b}
8 S5 P9 v3 S& P, @9 h. l: o6 B$ Q' |; A; c& M. I, O: |7 C9 h3 Y r
BOOL CWndAutoFood:rocess()
2 r4 I$ J; d5 U# W. O( S{
6 A1 Z/ q7 ]/ ?. P. u if( bStart )
' f! o1 n& a* B! E6 z3 l# c3 z3 n6 O {) T+ Q* Q8 G: D: P! L
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
0 L/ [/ T( F; P. g {
7 \0 b$ F3 ~7 X5 Z3 @; 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() )$ M$ Z) `& f. C' _* Q& Y: K
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
1 ]6 W1 g5 e8 j3 a- J, _# c# L) b }else{* p" s8 N" ` M8 V: j3 c# q% i
bStart = FALSE;
7 Q& o4 }) e! _3 H" V, k$ i m_pItemElem = NULL;1 d: d% V. n( ~
}9 n. y k5 j4 z# X
}
5 b7 n6 O- d( a& O4 t4 Y' z5 V return TRUE;$ p& s6 s7 ~8 ?! K% V7 O
}& l9 U; a! p, l$ w; G6 [
" ^$ S: q4 h/ k/ X o登录视频废话:% r/ i' c& T" ~$ J- o
尾翼:& i5 r' H: `' i- Q$ O! R
6 h: d1 m h) m
代码:4 }. V9 C# a2 n$ Q5 y
+ e% W7 }2 W6 H. n S, }7 [& Mvoid CWorld::SetLight( BOOL bLight )' ~5 i6 @( F& \/ q, _
durch' a2 u4 y/ F1 y$ |$ e0 e I
Code:
) @* c/ C( O+ }) d& e2 N2 |void CWorld::SetLight( BOOL bLight )
6 ^9 P( ~' @; J6 v5 C{
0 a& z2 T4 Z( r/ S3 H, o //ACE("SetLight %d \n", bLight);
5 I6 Z7 n, Z( P
! I: D7 z' x+ b$ p1 H: u#ifndef __WORLDSERVER : R7 B0 n$ ]( `: L* Z1 @
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
1 z) M8 {3 C. C CLight* pLight = NULL;6 @& w% m: s" {. @4 d) _/ k) {
3 I- A: U5 R# E. F D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
% {- f+ @ w$ T$ u! S. H4 Q5 h
; W' p2 S7 q i7 b \+ T2 u* U+ Z pLight = GetLight( "direction" );3 X& h$ r. Z- S7 `4 H
: _- I& n9 J: k% X#if __VER >= 15 // __BS_CHANGING_ENVIR8 d6 R: p N3 ~6 u
if( g_pPlayer ){5 y" V" \; P+ g
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );% n7 g/ ]$ }4 ]5 o& O/ |2 L& ] N
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
3 A1 w# Z# o# |2 p, F. R/ O: ? {
6 S& f7 D- {1 f2 ~# B- K! n$ ?+ { if( pLight )/ J8 E1 p) ]2 O4 v) X
{, a& l1 p2 E# t0 ` B
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];/ @: @$ W- o. N+ b
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
8 ?# p1 Y. ^2 q. c* \# e0 v3 u pLight->Ambient.b = pInfo->_fAmbient[ 2 ];, }) q: d/ O; x/ K' g/ L
; g" G8 O4 D* N3 I& A# E8 ] pLight->Specular.r = 2.0f;$ Z9 `; e u, `; P7 L& |
pLight->Specular.g = 2.0f;
. X' S0 V9 o6 u- ], R pLight->Specular.b = 2.0f;2 L* N! X/ L" w. g% P% q
' Y9 N5 E8 N% D4 z: @- ^ pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
5 X0 D0 {$ K. V+ V3 d% s) ]- V) V pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
( f0 A6 l, n% R% q# g3 I0 D% ~ pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
, r- z }9 C% c # I* d# A3 Y3 U6 K0 h* o
HookUpdateLight( pLight );
3 I& \) \9 T4 t/ a7 m, @8 m# _! i
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
* Y: f* o9 O, v' W- D* E A 3 Y m6 U/ `1 ], C0 R; J
pLight->Diffuse.r *= 1.2f;
4 W# f8 R( F/ ]: Y( r4 u pLight->Diffuse.g *= 1.2f;
2 D* _) L! M0 o7 R pLight->Diffuse.b *= 1.2f;
( ^ G! c; q# N" ~9 l8 }5 Q! J/ u7 Z: R# `6 F9 q
pLight->Ambient.r *= 0.8f;
% e) n1 z! ^! l+ P# f5 N% U pLight->Ambient.g *= 0.8f;
" w7 ]7 ]; `3 R7 m7 k0 W pLight->Ambient.b *= 0.8f;$ [) e! D) G; o+ w
9 N, d. [: ?2 A) C K. N* p, z
memcpy( &m_light, pLight, sizeof( m_light ) );; _ D7 `% B$ W6 l. w/ n
8 Z! f+ N, O& ~' H! k) P" W D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);2 I' I' [* f+ W% f1 H: Q2 S/ t8 W
D3DXVec3Normalize(&(vecSun),&(vecSun));
, ~ c# X, r" Z0 n! }# Z+ D pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); / Q5 C6 I$ ]8 [+ I* F9 i
pLight->Appear( m_pd3dDevice, TRUE );
. I! g7 T+ X, b, |% R! m; N2 P. p Q 7 e7 A- U& b1 k
DWORD dwR, dwG, dwB;* }. j/ T* E& B4 a3 `
dwR = (DWORD)( pLight->Ambient.r * 255 );0 X0 m c; J; F8 i6 d( ~
dwG = (DWORD)( pLight->Ambient.g * 255 );1 X. j6 @) Z$ }8 h: j
dwB = (DWORD)( pLight->Ambient.b * 255 );: T! i/ a1 `& H/ l; b0 u% ]2 m4 M2 f
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );+ u M4 s' E3 k3 l# f
}" F( Q" k, _0 D8 S- I' ~6 B: K' {
}
* R, s5 L( I. B1 n K* i* b6 O& [ }1 v! `0 p0 U2 b3 n) S
else
" l0 o" Z6 }3 e6 q& ?' L#endif
* }. Y& T9 B$ M6 m) ^9 Z+ ~" y
3 a4 \, U0 h" ~ x* ]* o if( m_bIsIndoor )
' Y7 ?' b) g7 r2 s* C% `% O {! O4 Q, y1 A+ |' A0 `
if( pLight )
& Y5 M+ E' h' T: h4 l {
4 _+ {4 c2 [' t$ v3 D // à??μ oˉè*
% q1 J$ n1 Q! |* ]+ B) _ pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
1 o$ b0 q4 g; C/ d2 U' K- S pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
# p7 @9 K$ K7 j pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;5 d/ [6 n2 N7 c( p* ~, z$ x
, h+ ~; q3 N! s+ I2 m# Q
// oˉè* ??à? # ]/ y( n) L. e; [9 ~+ X$ @
pLight->Specular.r = 1.0f;. f2 H% q7 c. U7 y9 ~
pLight->Specular.g = 1.0f;1 m( ^ @8 ^5 M- W: g
pLight->Specular.b = 1.0f;
7 H! c; U. | k- J // àü?? oˉè*
3 t( J* G; \& d7 i9 ?) s& p pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
# U" d+ ?. i0 p- r pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;" n2 k( D5 L/ i2 R5 m! \4 {
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
; k8 c6 i. o0 \3 N$ ?+ s. [5 R+ B3 e" _: W, a; E- Y; C
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.; e/ X. w: y% D! K+ j) f
{
# V/ p% u: q( G# |* ^ pLight->Diffuse.r *= 0.6f;
) x0 p& _( l( W5 E$ O pLight->Diffuse.g *= 0.6f;
' ]7 `3 }& Z( v pLight->Diffuse.b *= 0.6f;
, ] R. T5 l& K& a5 ?) q: i* k+ d pLight->Ambient.r *= 0.7f;
0 P: }8 J; M/ d, H$ i$ V pLight->Ambient.g *= 0.7f;
. ?+ {: B Z1 \4 Z$ y. V pLight->Ambient.b *= 0.7f;- H" a1 j0 K+ I# g6 M% Q
}
4 u E% @* d8 t) t9 x& Q: O+ n5 r
( [$ d0 o2 R% @% ]5 j#if __VER >= 15 // __BS_CHANGING_ENVIR9 c( i& a6 J- P. R' d# G
if( g_pPlayer )
% g0 h, a" L0 v0 m; g HookUpdateLight( pLight );3 y% h0 C; U8 _. V8 S: W
#endif4 i% \* n1 V# i2 f( p3 W
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 K7 n. Y* ~9 l9 Q# @7 }
8 e% w/ s! V# R, D# T+ E1 b0 J0 L) q pLight->Diffuse.r += 0.1f;' \. h9 T: A/ ~7 o+ A
pLight->Diffuse.g += 0.1f;" P, h1 r* G: M6 @ T3 C
pLight->Diffuse.b += 0.1f;
6 E. R% h+ e# ]1 ~ m9 T9 V/ E // oˉè* ??à?
( T4 c% _+ K* E6 Q/ c! V# A1 ] pLight->Specular.r = 2.0f;
8 ~- K. S; d% T' \+ b pLight->Specular.g = 2.0f;& S2 |9 P2 N: W: p
pLight->Specular.b = 2.0f;1 B/ U! y- [6 S0 X9 g
// á?oˉ
% ? n2 x' O+ D3 N0 J1 u* ?$ Y pLight->Ambient.r *= 0.9f;
+ U1 E* f( C9 }4 u pLight->Ambient.g *= 0.9f;
" B3 v7 X) ~0 o' \% x pLight->Ambient.b *= 0.9f;! R* o/ U" U' V* ?- p8 n4 m
: U5 e9 n: e z- v memcpy( &m_light, pLight, sizeof( m_light ) );
$ I! e1 n2 Y- W4 V8 Q3 [6 U 1 f7 m7 K1 L/ w; w/ s
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
# D# f4 A1 r! y' D6 V pLight->Appear( m_pd3dDevice, TRUE );
F# \* Q6 L( M$ t' Z- D , p& S$ j# @ D( i. t
DWORD dwR, dwG, dwB;
# {4 }9 {, d! N" ?' b! O+ B dwR = (DWORD)( pLight->Ambient.r * 255 );* J( v/ @- h+ z# W1 e7 F4 g
dwG = (DWORD)( pLight->Ambient.g * 255 );
5 f8 n6 h; m6 l+ @: H# H3 y5 { dwB = (DWORD)( pLight->Ambient.b * 255 );4 B) L( n' V" i) m; @ q9 X
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );. u' R$ y, V1 S
}
; z, M* y: b e& k/ ^$ A" S }
0 N9 D: _9 N+ U' l else
& z1 N' p9 \- L/ r {
( D d ?$ [7 U. v if( pLight )
1 n _, J% H$ k% A3 s* M) n {
" \2 a* P, J. j2 Q# c
' |7 q2 w& q' c4 K5 ~$ p# T- N int nHour = 8, nMin = 0;
- F6 H2 x' C, o8 L' P* j #ifdef __CLIENT
' t" b% V; P e" q: T% Y1 E, G // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. * V/ ~2 o/ }' _% v* b2 J: A, e3 ?
nHour = g_GameTimer.m_nHour;
, w2 d& L8 L# f/ A2 Q3 {1 p nMin = g_GameTimer.m_nMin ; T# \8 m1 {9 }1 v/ R
#else. F' ^% L3 w/ L) k- K3 m1 o5 C
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.9 ?4 M) q0 N: r6 C5 j2 M
if( m_nLightType == 1 )* o0 l, Q# B' W. D$ n7 L8 \* K! j8 a
nHour = m_nLightHour;
; X2 N) H. q/ {! e #endif' @. m5 e! _; J9 f/ I k* X
nHour--;
6 Y, B4 W$ K2 A( I if( nHour < 0 ) nHour = 0;' L5 r- b/ S9 o' ?* w# g
if( nHour > 23 ) nHour = 23;
T9 m3 \& k7 p# z& [+ R& e. ^
- X. X* ?6 n* X, n, P7 g //if( m_bFixedHour )% a; T3 j' A! N# T( T) c
// nHour = m_nFixedHour, nMin = 0;
% T1 U, W, P: P) |. K3 e+ U8 _! Q LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];% n2 t2 q, C: H7 h" r) T
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
$ T; N0 J2 j3 d3 W) @ [% Y
$ ^$ L: B, L! l$ A W, L //m_lightColor = lightColorPrv;8 F2 J. p1 V- e& ^+ }! p2 X
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;- r( x5 f' I7 z4 I
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;6 e: ^5 b, M# x: ]1 d+ t: Z
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;5 X$ ^3 \* t( V$ k) q
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
% B$ }8 K$ @1 ?$ h' \ lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;- D7 e+ N" ~6 H$ [2 w8 F
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
5 B! r& X1 d+ ~* F6 } // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)% Q/ Q% N1 `' m/ L# F+ f
! Q6 h" R3 d5 k/ d9 M // à??μ oˉè*
, X2 x5 V' B+ | pLight->Diffuse.r = lightColorPrv.r1;
: k( g: u/ }) W pLight->Diffuse.g = lightColorPrv.g1;
$ C4 c$ y. {4 s" w pLight->Diffuse.b = lightColorPrv.b1;( o3 v$ r8 i" I& F5 J8 A( ^, T
// oˉè* ??à?
3 x+ {7 n$ z+ _4 g5 `- u/ W" u. ` pLight->Specular.r = 1.0f;4 h" h! u4 K7 a K- g. y
pLight->Specular.g = 1.0f;- L. M: X+ B9 X6 g
pLight->Specular.b = 1.0f;
! g2 l8 d% p2 y. q9 ] // àü?? oˉè* / N# ^. N) P+ e! c) J
pLight->Ambient.r = lightColorPrv.r2;
( g& T0 J3 ^% t* _4 G pLight->Ambient.g = lightColorPrv.g2;
6 G+ B' h" J+ C. q6 z; I# C1 f+ E pLight->Ambient.b = lightColorPrv.b2;
/ S3 s) A4 h- b0 w# ~4 b, |0 S5 o" p8 M* o
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.; H: S6 g5 [6 g% `
{# Z8 V# f5 s" {1 V( N" D3 d- O! @
pLight->Diffuse.r *= 0.6f;
# w! Z' T! j) t: u0 F5 v pLight->Diffuse.g *= 0.6f;$ r; f, `1 {4 T# R. ` C
pLight->Diffuse.b *= 0.6f;, H( V( N5 M7 p$ e
pLight->Ambient.r *= 0.7f;
" c; Q! C3 K+ S$ O$ g$ t2 B+ G1 N pLight->Ambient.g *= 0.7f;
. n4 M1 v3 j/ n8 \1 k pLight->Ambient.b *= 0.7f;! y" ^7 q. s6 H7 [: C
}
H+ c+ E [! z- [. Y
/ J4 N" [- `* t: I7 t* k, }#if __VER >= 15 // __BS_CHANGING_ENVIR
s4 l1 ^; T/ a, W+ E; C if( g_pPlayer )- {) O+ ]( A6 L
HookUpdateLight( pLight ); 0 M0 _8 f# s' n0 D2 y4 {
#endif/ d+ L+ O) j6 ?5 Q. L
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );9 p8 b5 n4 B: T9 b
; W' x9 h! w6 x: A$ M#ifdef __YENV
1 E# l2 A, b$ ~* z! v2 d9 E pLight->Diffuse.r *= 1.1f;
+ [# {1 v$ @5 G! e: A" P6 m pLight->Diffuse.g *= 1.1f;- Y, o0 P) c* K
pLight->Diffuse.b *= 1.1f;# Q- M3 P8 i5 P4 n' b! `' e
// oˉè* ??à?
( n7 k/ g$ ~5 G& ]6 K) o" [% q, k pLight->Specular.r = 2.0f;7 c$ G6 L' S) G: ?4 G( N
pLight->Specular.g = 2.0f;! \- s$ ~9 o& y; K' c9 S
pLight->Specular.b = 2.0f;/ \* i4 u& }3 W; v5 H
// á?oˉ
) C a3 t4 q3 Y6 Z pLight->Ambient.r *= 1.0f;2 S5 @& p0 G4 H
pLight->Ambient.g *= 1.0f;
7 T7 m- {+ j, G9 r# ^, d5 _ V% ` pLight->Ambient.b *= 1.0f;) z( u( {% V, Y- e; |- Y; q6 o
#else //__YENV
- W) S1 Z: d# l) |/ u pLight->Diffuse.r *= 1.1f;
8 N8 C! r3 X" o9 E$ m4 m pLight->Diffuse.g *= 1.1f;3 `- Z" Z8 c4 K& [" W% {, [3 C
pLight->Diffuse.b *= 1.1f;
* y4 e: J5 @+ H# k! R3 Y // oˉè* ??à?
0 O% |1 y4 V% f, [( j! O% k pLight->Specular.r = 2.0f;
0 c5 [% b- S1 s2 Y: U; F( L, z pLight->Specular.g = 2.0f;
! C% K1 r: Q0 B" x+ |: ~' v% B8 A pLight->Specular.b = 2.0f;
3 w, x i; ~; n- ] // á?oˉ
" ?6 q" d( W* g1 d9 p- b pLight->Ambient.r *= 0.9f;
1 T, C* D% o$ C pLight->Ambient.g *= 0.9f;
$ P: v2 D7 F/ n- h" j$ R pLight->Ambient.b *= 0.9f;4 M# i- v, Q( C7 y, D; e
#endif //__YENV . S% g& u: ]1 S" B E
4 x( Y. ]5 R. `) {- y! G5 N4 n
memcpy( &m_light, pLight, sizeof( m_light ) );
$ Q# R* U# G4 l' C$ `8 E4 { * @" A7 ~# c j5 ~7 P
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);" ?5 O( Q9 z, c3 W* A5 A
D3DXMATRIX matTemp;
# Y# g; L c1 F- o; F static const float CONS_VAL = 3.1415926f / 180.f;/ U" A! c& O) V; O4 U+ Q! C$ i# Q4 O
9 Y0 }( g& H" r& Y3 L0 N& Y |% c
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
1 G9 X/ s! ]' E8 S D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);& M4 w- O, O- r+ h
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); & t, h- z7 A3 Q6 A; h- f" q
pLight->Appear( m_pd3dDevice, TRUE );; y# n) {4 A4 {; }" R S8 m8 {8 r
# R% W1 K& w6 \5 X; g y
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);$ `6 b w2 r- o- E: b
// D3DXVec3Normalize(&(vecSun),&(vecSun));
" }1 A6 Y* D& N' [& O- _7 Y1 X. k // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
) S3 @& _& W$ d, e% i) }- Q& Z
. L) R4 _2 r9 y DWORD dwR, dwG, dwB;
9 N5 C% H) h2 G dwR = (DWORD)( pLight->Ambient.r * 255 );
# b0 ]( M5 }/ r+ i. V7 q dwG = (DWORD)( pLight->Ambient.g * 255 );* h8 j* j& P2 T& ^
dwB = (DWORD)( pLight->Ambient.b * 255 );8 @2 J: v( u6 d$ H: @+ I' \
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); % {2 y' u7 o6 @* v1 a9 b7 X
}
0 L# u) _* Q1 C8 k, D } i8 D1 v: J0 }+ ^
8 S5 E0 h% o* u& w Q% |) b8 m m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );. q0 W& Y- j( O, a: T2 v
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) );' M6 I: g2 w8 S6 y% T1 U+ j: ]# q
::SetLight( bLight );
% |4 v; T5 u3 z- H/ M' f
& `. E1 J9 S* q, f3 v6 a // ±ao? ?D?í???ó á¤à?
/ C) u+ A9 J: o( \# b" T% Q7 g m_pd3dDevice->SetMaterial( &m_baseMaterial );9 r0 R+ U1 T3 ~
% u# t& ]7 T$ Z& m; H9 W
#endif // not WORLDSERVER
1 {+ A9 h, Q! D}; P; r9 e# z4 M( z" Q; X* W$ N
并更换
V: ~& }0 p5 ?1 D% o+ _6 {0 QCode:1 x" ~" V2 ?9 R
__FLYFF_INITPAGE_EXT
# `* U* W N/ c) M# F定义
9 w! R: P) T( Z7 I8 X8 A7 F# m1 R7 ?) C- b4 s/ i
9 @& I. r2 `6 w9 G
T) f; A1 ^( @4 X: D- ~$ }7 X! Y! Q9 Y' f8 t5 d/ }# R
现在终于删除我的狗屁加速...0 S! K/ z l m6 c) O. \: [: P
; f# Z# q& z* r' e; @' m; H4 u
* |5 l* j- z+ I3 x& j7 k, z2 e
6 S' Y4 ]! ]0 l! ~; P |
|