|
|
食品车:
6 y; W3 v$ C; y3 Y& X7 r2 L尾翼:
" s5 y* F2 K) {
}4 [2 n# H. @+ V% e! v" ~* K* u W代码:
) Q. \& @7 u1 KCWndAutoFood::CWndAutoFood()
- Q: l# ^/ W* r' i3 J S# [0 R{+ G( v" L8 v3 G1 D: H# F5 v2 N
m_pItemElem = NULL;
+ t7 r4 |6 o+ |. S m_pTexture = NULL;. `! n" s; }; r: I$ c M3 c
bStart = FALSE;/ U, J% o I; f( ^! v$ e- S
}8 c) y" G U6 h8 |2 ^
) U6 R) m6 ~ E4 @* ACWndAutoFood::~CWndAutoFood()# C! t0 z8 z* P% g, B% w9 L; z
{
5 x: U% {) d1 d! ?2 p AfxMessageBox( "AutoFood ist gestorben " );
A, x7 S1 `" O3 k1 Q7 V} e6 ?5 V$ h7 }; E& y
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
' W+ I) L/ C0 N! H) x{
; S. }7 j! k# L# x+ N" T return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
6 h: ]! D3 S; J' Q- W. v: |+ b}5 e/ A) u" X6 P1 w
. [( m& E' a: j7 G
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )8 v& z2 A7 i" q! Z' Z; w( f
{
5 U4 I% `/ R/ p( Z8 H LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );- s9 x0 E. J& G6 t
CRect rect = pWndCtrl->rect;
, c; Q0 r7 \1 t8 E if( rect && rect.PtInRect( point ) )0 G2 z4 A# K, d; U/ _% i4 m ~
{2 h1 _/ y8 @% L! o {) @
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );. |# F: b% X" i
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
! D4 ~+ @% k1 S, d' X {
" B+ Z4 ]: O# b" J& G/ g" u6 V if( m_pItemElem )0 S- p n0 K: T% l: H
{. E4 L0 w W0 A# e+ d# o
m_pItemElem = NULL;9 F# z# h" A& ~" g
}- r$ p0 d( k+ N U% R& f+ C
m_pItemElem = pItemElem;
4 _+ @0 X% K' j0 {; W r6 { m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
0 e* Q/ Z1 X% E }else{. n& l7 J1 B1 Z# t, E* d
SetForbid( TRUE );+ x* q Q$ L9 z5 b. w
}4 s1 J" R. R$ ^; A
}else{
8 ~3 X: {) C, ^' D SetForbid( TRUE );, h" d& [6 C; U8 C9 Q
}
6 Z( p7 p: O6 c, v; ~; o return TRUE;
' d7 J8 Y7 I8 t$ Z}! Y& [( ]. Z2 B. {. y$ [. d. V
! j$ A* F" O6 {! Y8 mBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
1 \2 `/ Z! s9 T$ v5 ^" o{
2 {: Z0 a6 x- ^2 O# G7 F switch( nID ): F5 L( ?) D4 w5 L( j
{
3 h) k) C$ u. b" q' V+ J/ H7 c case WIDC_BUTTON3:7 _/ H+ X" M" V9 U
{
: u: ?! F7 r' h3 ] bStart = TRUE;
. ?. u* n) m' m break;$ C- V) C" C+ O+ O6 ]; A
}; D; x# \+ O9 J. ~
case WIDC_BUTTON4:
T" m b4 Z+ T6 _/ P) w {
* @1 q3 k/ Q7 F3 z) u bStart = FALSE;
: E# [, }6 }' i I0 S break;) ? x" m4 k- p" u2 P: {5 `
}
' g) }% h; E$ E6 P6 |1 P2 m& A: m1 i }
0 A9 U3 V5 W) F" a. Y- _5 N1 X2 J5 [ return CWndNeuz::OnChildNotify( message, nID, pLResult );; c! i- g8 T* _& s
} - t& X( ]7 ^4 c' F' J* n% }
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
/ f! v3 \' P. l{) N" Q4 h% {+ |9 @: F5 a1 E" C7 C
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );6 R! m; U/ x8 A7 |1 u+ n$ Z
if( bStart || !m_pItemElem )
& u/ f! E( W9 n% ~) _) \; |* S {
) a& e2 I6 }: z) V6 r1 |0 C pBtn->EnableWindow( FALSE );
0 d, `$ H; e6 J! v" U4 s' J* m1 ]" C' j }else5 u* Q2 e$ S) }1 K g9 \0 H
pBtn->EnableWindow( TRUE );
/ x" A$ q6 d4 R+ p# j V if( m_pTexture )5 C% r! f# T/ _% E2 U, c
{$ A \1 y) J2 ]* z* c {, r
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
- A8 @9 i+ ^+ L e& G: H if( wndCtrl && wndCtrl->rect )% y: {5 L. r/ a, T
{
9 X, x# O, Z1 Q; Q8 n; v) d m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
- |$ q; C) P; T }
4 |" F6 c/ F; M- R0 d }
& m5 A( i& g8 }% s: e }}$ L0 E9 \+ e, s& B! Y. S
# E) J! g. }4 \1 s* X/ P. [1 oBOOL CWndAutoFood: rocess()% R4 U ^, U% Y" K! U. U2 I: M
{1 m! g4 \$ M- l) R
if( bStart )8 f3 Z, A0 j0 n' n) b$ ~9 f) r& s9 A
{5 j8 D1 J; E5 d! E7 P
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
! Y4 M& Z' o! y( n( x1 d {
8 U4 r" Y2 s- R8 q$ s5 K if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
' T7 U7 B% I2 a5 v0 v g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
2 i; r/ ]& C" x) f( o1 l. I, z }else{6 q5 d1 u" _8 E8 a$ [
bStart = FALSE;" g- j; l% v" ?' d
m_pItemElem = NULL;
+ z7 W1 W/ @0 C8 c1 | }( o6 R; T) i& `+ o/ ], w3 ?9 X/ _
}! Y, \$ i! d7 C" \# y' `
return TRUE;
' {4 f# W5 j {. k( q}
; A9 N) Q- I# t% m8 O2 y0 M/ I9 d* Y' E, [
登录视频废话:- Q ]# w: H4 L1 S3 h8 c! v7 c
尾翼:
. I; o, ^* @6 W5 F0 f3 J% d: K7 a3 k$ {5 S3 l1 d
代码:# o3 I- Y' `3 Y; n
8 A" W5 i3 F' h2 m) V" uvoid CWorld::SetLight( BOOL bLight )
* i: S9 j* P! e1 n, J1 zdurch
' @8 E" O% @3 BCode:
; \4 ?& ?, N N8 ovoid CWorld::SetLight( BOOL bLight )" W9 T, S$ U( K9 y: l W3 g
{
1 H" |& `: I) b; ]$ F" Z& A, j5 ^ //ACE("SetLight %d \n", bLight);& e( y9 a8 |, L" ]
' }, r8 |4 f( E+ k* i$ U+ B
#ifndef __WORLDSERVER * Q, J' a' T7 @3 F
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);, E1 [ x" c& l6 \0 \% H+ y
CLight* pLight = NULL;; H0 o1 D. s2 ]/ d0 e
" ^/ o# z& h' V" I) P D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );4 M$ Z# Z* A& @. L& l( J1 K$ P) P
7 M/ b( Q X# @0 |
pLight = GetLight( "direction" );
7 U+ M9 d: Y: R. D7 _+ x
$ ?) w2 n. C2 d$ a#if __VER >= 15 // __BS_CHANGING_ENVIR4 D @# ?) m' t4 A: q
if( g_pPlayer ){
6 o1 J! r4 t8 e$ r7 V9 O ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );$ u; U1 P# ~4 l" h2 L4 m' @ G4 w
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!. J- P2 t4 L& H+ R: V* N8 b: z
{* d, \( F+ Y# S* Q" r- x5 [# q) x
if( pLight )9 m" ~$ m0 F% i T& G. F9 _4 E/ _
{
, Y; L% [- r4 ^4 M% r; V4 J pLight->Ambient.r = pInfo->_fAmbient[ 0 ];& `+ f. b: k+ E! J# c! T/ F
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
) J. }0 V1 R- B) ^, V( S pLight->Ambient.b = pInfo->_fAmbient[ 2 ];6 S& _3 {9 L5 T* T/ \. j
- j( J! v0 u" r3 c
pLight->Specular.r = 2.0f;
, J9 J' H" p) C# N7 [2 {6 x5 l pLight->Specular.g = 2.0f;% A$ h @+ p6 Z1 o. j
pLight->Specular.b = 2.0f;
" p( |, \/ X1 T8 F
2 u% g3 w" N& @; ? pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];- h! b9 ^4 M$ s* Z/ G
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
o0 V! y5 J9 J4 Q) \4 x pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
6 {7 H M$ X- W' V . v2 d( P1 g1 Q% Z9 `
HookUpdateLight( pLight ); % w4 s' R* `7 K% Z* u
1 T0 i9 q- T! I2 L) _ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
' k& p3 ?7 l) @2 ?# \) G
( k7 h5 }: G. Q( w( l! J* p' { pLight->Diffuse.r *= 1.2f;/ s, \9 j$ z# T3 k
pLight->Diffuse.g *= 1.2f;
9 \; w- m. l8 i+ t pLight->Diffuse.b *= 1.2f;
& k% O( r4 p& k9 B4 M) Z% u# \7 t/ p
pLight->Ambient.r *= 0.8f;- B) {1 R+ u A
pLight->Ambient.g *= 0.8f;; E. D3 J$ b& p( d
pLight->Ambient.b *= 0.8f;6 g9 x: F9 g4 E! P0 F/ v
2 H6 x0 V$ n" z& E+ B K" ^
memcpy( &m_light, pLight, sizeof( m_light ) );
2 G5 y' R K+ B% K3 ]
, t9 E: d& m* C$ [# }' M D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);' Y$ v6 w( t. G2 F; N% P1 W- S
D3DXVec3Normalize(&(vecSun),&(vecSun));
/ C9 Q% B1 k% s K9 V5 r) j pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
& n. W) u* a4 ~4 J' x) P pLight->Appear( m_pd3dDevice, TRUE );
3 i! c+ z2 x% `3 x# T V3 B, P& s7 | - m! f6 Q2 p0 ]% Y
DWORD dwR, dwG, dwB;1 B- x# n! O2 ?
dwR = (DWORD)( pLight->Ambient.r * 255 );
9 A! t4 k% }0 V0 g dwG = (DWORD)( pLight->Ambient.g * 255 );. ?3 K$ u/ [0 A3 d" M
dwB = (DWORD)( pLight->Ambient.b * 255 );
8 i9 N2 J. G$ k, q7 E) q dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );$ ? N0 R2 `4 V' u6 I5 v8 T3 x9 O) L
}- O' @2 [" ^3 [8 \: t% }/ ]; o
}7 w, {$ _% I1 K# O" e% M0 ~2 [
}% g" u" V ?) G% L, O% f# Z
else
" l$ o7 ~0 O& M- u#endif
7 |3 Z- y$ a3 _1 b" p0 i4 G. ~9 G- Z
if( m_bIsIndoor )% j. D' e; [% ?8 X7 c* R/ i# p% P
{6 z, {5 M6 g7 Y
if( pLight )/ {0 |. w. I- s( o7 s+ Q3 C
{
t. @4 G3 N/ l Q. J! ? // à??μ oˉè*
8 ~1 e% U- p. h M pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f; Z& F$ r6 q( ^- X
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
1 Q. @9 z8 }9 q$ K pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
4 l6 [. p! \# \4 B" T
5 _5 |/ _: r7 D/ J3 H7 x% Z: X // oˉè* ??à?
8 W0 n% {& L2 G* T1 b4 ^ pLight->Specular.r = 1.0f;
% ~ {4 J- s& Z" k pLight->Specular.g = 1.0f;$ q5 U3 I! ?. ^+ G
pLight->Specular.b = 1.0f;
9 l( \9 s t K1 s$ M2 R0 ^ // àü?? oˉè*
1 \0 q( z, I. U6 W+ N/ j* E pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;+ V! v9 |$ l! P: {/ R
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;- R0 X8 |0 I% `$ H9 M! B' d$ `
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
8 J+ I, q! t" p3 X8 ~+ \5 x" x! S+ U3 i: h8 C( ^
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.* q: I5 {2 r6 N! g5 f
{
# E8 R# u. C! B+ |/ }; M% B pLight->Diffuse.r *= 0.6f;
& A, W1 ^" g2 p" O pLight->Diffuse.g *= 0.6f;5 A/ A) S) z' K' {3 V
pLight->Diffuse.b *= 0.6f;
# S( ]& X' a6 |2 e: ^+ p: x$ I pLight->Ambient.r *= 0.7f;
; G5 E; X4 k+ ]1 m; | pLight->Ambient.g *= 0.7f;
4 q; X% [4 d0 g3 L6 [ pLight->Ambient.b *= 0.7f;+ f. z2 C, |( A; F8 A
}
: q8 j4 K; ^% T3 m0 ], Y3 H) `6 y2 N4 |! [* p8 w) }& @
#if __VER >= 15 // __BS_CHANGING_ENVIR, f0 z: o2 U, f1 q
if( g_pPlayer )" ~+ L9 h: F2 ]# W4 q8 W! K( @' N" ?
HookUpdateLight( pLight );
6 m& N5 J. i) M#endif
0 t- t! g* Y4 C# l memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
- T1 N( n" {0 a' F7 X8 W1 b7 t7 t) {2 q; V& l8 y O5 C4 X
pLight->Diffuse.r += 0.1f;
# d* l; G, ?; k5 B5 f. ^, R pLight->Diffuse.g += 0.1f; }' B- ?( {' D3 s
pLight->Diffuse.b += 0.1f;9 e6 T3 f$ k: ?$ E( g& D
// oˉè* ??à? 2 x i6 e. F% H+ X2 v) D2 o
pLight->Specular.r = 2.0f;
2 l; G% E+ Q6 T1 j% K1 {9 J pLight->Specular.g = 2.0f;
7 t8 z# g# r. N5 L& ?, o7 _% Y4 J pLight->Specular.b = 2.0f;, w: i1 t- b+ |! A3 s6 v8 B* r
// á?oˉ ; Q; |3 M- l s
pLight->Ambient.r *= 0.9f;
3 [( A1 Z6 e9 \8 Y pLight->Ambient.g *= 0.9f;- e( R- ?( s: {, h% \1 B
pLight->Ambient.b *= 0.9f;2 A; q% D" S9 H1 f, P
" i) ^% U5 }7 A3 F memcpy( &m_light, pLight, sizeof( m_light ) );
4 _8 ^+ \4 z% `
" P! f! H' J8 |- V pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );6 J( [1 j* D2 S# s7 `9 n8 e
pLight->Appear( m_pd3dDevice, TRUE );5 s( U& @5 ?& w9 q
4 Y2 P4 ^2 ]- U. O- ]3 `, h
DWORD dwR, dwG, dwB;
. @% F; w5 l7 f# b5 X dwR = (DWORD)( pLight->Ambient.r * 255 );
5 N% @, w$ j1 d! j dwG = (DWORD)( pLight->Ambient.g * 255 );6 r; M0 W/ W5 c
dwB = (DWORD)( pLight->Ambient.b * 255 );1 I$ Y& p' `4 @8 n0 b6 a
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );- s( Y0 C9 ?9 \/ W- j4 b7 |7 W6 E
}
% X0 u1 ^: v4 _ }
) R ]' y @; E7 Q$ r2 y& x$ Z. j else
9 r4 q, Y9 y" L. t {
: j) T( O+ G7 y9 l if( pLight )6 P- ^) F3 \* `* c
{; o" p+ M0 M$ r% b- @* a5 b
: E; c, O" ]* i2 m5 i7 g$ r int nHour = 8, nMin = 0;
4 D1 U1 O. H* ]4 ~ w8 r #ifdef __CLIENT2 V$ b/ i9 ^" @* n/ n# c0 f
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
% [. ^8 G1 J; F$ k) l: I nHour = g_GameTimer.m_nHour;# G" |& J, M u( I
nMin = g_GameTimer.m_nMin ;
6 L1 y" n1 M" r3 R! }3 }3 l$ J #else% ~. f9 ^% @' C8 ]: Q: Q- Q
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.; W4 y9 |7 c* b/ I) T( m% e
if( m_nLightType == 1 )
) B# ^ Z( @- U nHour = m_nLightHour;0 N9 |! A( r+ J$ O
#endif6 ~& c% v- {% c2 a0 ^3 m
nHour--;
3 @# g ?1 }; z/ B7 H9 S: b( P if( nHour < 0 ) nHour = 0;
% j4 k% @2 [( t if( nHour > 23 ) nHour = 23;
$ J, Z7 K" K/ D9 b/ x) k& W0 [0 C/ z& v
//if( m_bFixedHour )
% R3 q4 s; Z% f6 B3 i3 E5 \ // nHour = m_nFixedHour, nMin = 0;- a& n+ w$ H# C6 Z: P3 S! c
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
! @( `, c) Z F; \& X. d LIGHTCOLOR lightColor = m_k24Light[ nHour ];
\" a, y' x: \/ C, I' l( _+ y5 x( H2 v
//m_lightColor = lightColorPrv;* g2 C' o4 b6 ]- p2 j- `" g, o; S
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
]# ]" _! ~' ~) R+ _ lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
! N1 G( Z7 A9 P lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
: q/ S! I7 U# H O* m lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
% |2 V2 |% k# A. W- A' U0 K lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
: u4 v! L$ H. A lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;0 L) a2 k6 i# }7 @" Z# L) {
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
( h. t T% h& | q- v4 H" T! y, _8 ^' |, b, v
// à??μ oˉè* 8 V( M9 W. d" G6 {- Y9 G
pLight->Diffuse.r = lightColorPrv.r1;
+ @0 W" [( w5 _, x$ ~7 @3 _8 J, w pLight->Diffuse.g = lightColorPrv.g1;0 K) ~7 S; H2 ~" l
pLight->Diffuse.b = lightColorPrv.b1;
) @2 Q, T" [6 Q' p8 \# P; O. u' Q t // oˉè* ??à? ) R. I, k% N% |/ j1 Y4 Q; f# r
pLight->Specular.r = 1.0f;
Y3 R) b; F2 c" ^" c, n; _+ N pLight->Specular.g = 1.0f;
/ t2 o9 m( D! P3 P8 r) y pLight->Specular.b = 1.0f;
& [0 f9 U* |+ E, H* {( W // àü?? oˉè* ; }3 Q u1 M4 T1 ^3 U K9 B
pLight->Ambient.r = lightColorPrv.r2;4 w4 t! r/ Q ]# e8 f
pLight->Ambient.g = lightColorPrv.g2;
5 f3 D; {3 Z8 C4 @. K. P$ O pLight->Ambient.b = lightColorPrv.b2;
3 D7 B9 g# `" `- a6 C/ m& ]
+ `: @, }- V* c0 n; F if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
8 n# d0 e# I R; U {
" f" D: _1 q- }! z4 p4 z pLight->Diffuse.r *= 0.6f;
( h. x- H' H+ U8 a+ d pLight->Diffuse.g *= 0.6f;
' E( q/ w) [% n! y pLight->Diffuse.b *= 0.6f;
+ H" c+ b& }7 R" N1 c1 T" Q# m- W3 o pLight->Ambient.r *= 0.7f;2 L' H; ?# ~+ U- z5 |
pLight->Ambient.g *= 0.7f;
9 P+ \/ \3 k2 e C7 |2 \- b: v! b pLight->Ambient.b *= 0.7f;
H2 w) F6 m( l: c }7 L7 `3 w# D, {1 h' c' H$ M
8 y! {9 c3 o E; f( S% y3 Z0 ^
#if __VER >= 15 // __BS_CHANGING_ENVIR
# d! {4 \. g+ h if( g_pPlayer )6 J; g/ O0 ^, i/ {' p
HookUpdateLight( pLight ); # `, t) l6 r5 m
#endif
8 R- F2 i f1 f" `* Z memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
" h# _3 ^2 Q+ s
. R- e a0 \) y# V#ifdef __YENV8 n9 Y: B4 i% h1 ^0 i7 Z& I% B) A
pLight->Diffuse.r *= 1.1f;
# T- b# L* k4 Q pLight->Diffuse.g *= 1.1f;9 |: P; C9 ]% X& v; f, y3 Z
pLight->Diffuse.b *= 1.1f;
) F. @8 L3 Y+ k // oˉè* ??à? , s: W' [( d1 _8 m& l
pLight->Specular.r = 2.0f;
9 p! I4 ~' h& w0 ] pLight->Specular.g = 2.0f;" i$ i- T- H4 o0 W
pLight->Specular.b = 2.0f;. Z2 n! b- {. d) [
// á?oˉ
6 C- l" b; U V1 ?( f5 N, c1 Q pLight->Ambient.r *= 1.0f;
* v, i3 ^# u$ r, T `4 p pLight->Ambient.g *= 1.0f;' H! b, A0 c1 K5 P8 c' c4 R
pLight->Ambient.b *= 1.0f;; f( G0 }- K% c& R% F" V: }7 m
#else //__YENV, X: ]- V& {2 x8 j
pLight->Diffuse.r *= 1.1f;
% ]+ ~# j4 k* N3 ^, o! j0 }+ _ pLight->Diffuse.g *= 1.1f;( ]0 G( c7 }4 e7 E) E; A, R6 F
pLight->Diffuse.b *= 1.1f;
; E8 k* {, @: l2 G // oˉè* ??à? 8 q( Y& a, `) k5 z) y1 O5 p5 z
pLight->Specular.r = 2.0f;
4 t. a- p8 k! @8 P1 n pLight->Specular.g = 2.0f;9 q; Z n/ z. ], x) J8 g! O) G
pLight->Specular.b = 2.0f;
3 T$ }" E, H9 I8 C // á?oˉ
# d: N( @8 ^: H9 h- E% T+ G& ]. N pLight->Ambient.r *= 0.9f;
- Q9 F+ N' K. O6 r8 L pLight->Ambient.g *= 0.9f;2 [5 I7 y1 E4 z9 X
pLight->Ambient.b *= 0.9f;8 i }1 H T3 @, E1 A
#endif //__YENV
2 t9 \. W1 D( V. R* w! v7 Q# U
$ E) ?( t+ H2 l. x3 i memcpy( &m_light, pLight, sizeof( m_light ) );
) _& @8 I$ `2 P! z1 v & s3 d1 q0 ?4 v) |8 D4 q4 t
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);3 T, ]$ E$ }2 U# t
D3DXMATRIX matTemp;
; J; P0 K2 g7 q0 w$ z/ n static const float CONS_VAL = 3.1415926f / 180.f;% s; X$ x3 g! e3 w" _+ [
2 \" `3 n. h- t! C
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
: o- a3 g6 `- O+ W( G; L D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
- |9 } ^1 ], |6 \2 ^ x pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
; l5 Q8 c0 Q$ P. V pLight->Appear( m_pd3dDevice, TRUE );
/ T- g2 @ G a' n1 f# H$ O& W
( K2 x5 S& D ~1 p' x/ ~8 h9 E2 N // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
. H( w7 G5 \8 ^, r) V: f2 u" T // D3DXVec3Normalize(&(vecSun),&(vecSun));1 @. P% w2 Y2 l$ f4 E7 \
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
* k4 u: k3 p! O$ h; b1 x
. Y% X. P6 |& d! e+ k$ J! R& I2 N DWORD dwR, dwG, dwB;
' ^/ a. |& R: z ] dwR = (DWORD)( pLight->Ambient.r * 255 );
' {9 _7 p. y* H1 Q& K6 Z- Y dwG = (DWORD)( pLight->Ambient.g * 255 );+ N& l- v7 h0 y1 a$ M
dwB = (DWORD)( pLight->Ambient.b * 255 );4 I7 p. F. S7 g. L5 B
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 8 J- w6 v; M' }7 H' z
}. B1 j1 G: Z0 r3 T8 P
}3 i! {1 a' V9 {7 i" r' H
% K6 B- s! ]; H m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );, @2 p7 Y8 H% U" 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) );+ u D" v$ j v" r8 }
::SetLight( bLight );! O8 w+ [4 U0 d
: C$ t( k' e# N$ S: u, p
// ±ao? ?D?í???ó á¤à?
" ^* {' Z* s% j* h& P3 @ m_pd3dDevice->SetMaterial( &m_baseMaterial );$ }5 L2 C1 a# g. i& C# h7 c
$ ?* F3 ]) A5 z6 M/ H# M, T6 R#endif // not WORLDSERVER7 z- ^) W+ U& f$ ]+ W3 ^7 K( B
}; L# f) j: ~9 j/ d& G
并更换6 L6 x! p# M7 j* P& H
Code:, R; H+ P8 r) [* r( i6 q9 Z3 A. s: e4 ^
__FLYFF_INITPAGE_EXT
, s' p# Q+ U( K定义
' b9 ]+ J0 ]6 k; k+ g& v, {
_, y$ Z% m+ o5 l7 g7 D
9 w1 U0 o0 V* \& ~4 D. r/ O: q2 r2 h) g$ ^ \6 P% Q( F- Y1 [. H
3 g3 F2 P) \8 P7 k. D% y- N' N6 V1 ?现在终于删除我的狗屁加速...
& C" S. E- c2 I6 ~! S) D$ x/ d! s: }' \/ x
; U2 n! Y5 H; K3 [$ T+ P* ~, D
; r+ j; d3 b/ z* s8 V, T |
|