|
|
食品车:+ J/ D& H7 v0 [0 o- m8 r
尾翼:- q- o5 X& V5 A4 v
6 L* x4 v+ e2 g
代码:5 Z" H! v! Y; |) F! M! x; S1 q( S
CWndAutoFood::CWndAutoFood()5 Z" r$ \* {' e& h( E
{% L5 o1 |0 B5 z$ p. o
m_pItemElem = NULL;9 G5 q9 }$ Q& @6 m
m_pTexture = NULL;. J- \ q, q# N0 Y+ e3 z7 Q
bStart = FALSE;% L* x K; t' L6 r! k$ L! M! z
}
" f0 S e% E3 F. C- x
5 }/ B0 ~& O; s2 h+ @9 D$ v- y, nCWndAutoFood::~CWndAutoFood(): r+ [0 j( q2 R: k% s+ U/ _$ U
{" n" S. J0 c' }' w: ^( y) d
AfxMessageBox( "AutoFood ist gestorben " );
3 D0 R P* I9 {+ }# j' k: _}8 V( G% Z0 A4 a9 u
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )6 z- A& ^. |$ ?4 _% Z6 `% H
{/ P6 W: r3 r& U1 P# {
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
) v' G6 b) q- _}
( ?5 O0 S3 m7 e+ V7 ?2 b& M6 W- n5 N- w, B) f. l9 M2 X
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )" W F: q7 X! o8 P. h9 B
{
9 ]2 Q/ D7 P" F) s" G8 t, f LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );6 w. b; D! U3 l5 ]9 f
CRect rect = pWndCtrl->rect;3 Q; S. ? U+ K) ?3 j& S
if( rect && rect.PtInRect( point ) )
, ]( U: L6 x+ O" e5 A {
7 k# u4 }0 B! `% e CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );9 l1 t+ ?/ M* ]" n% w" j* D
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )' y+ o+ n! P! S# I9 L
{. O5 f: s6 C8 Y( ~3 ~! F2 G
if( m_pItemElem )
0 f' V4 q" _, a( e1 L: ?% F {
0 s+ t3 p# D; L1 g, I; N m_pItemElem = NULL;+ c8 E* ^, g4 b$ n) m' y
}! E) m l- [- U( U( `2 ?" _; C
m_pItemElem = pItemElem;
* t, R9 k3 p/ Y9 Q8 v. E0 x! P* C m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );' _4 n) a" q7 ~9 d0 w
}else{; j6 Y# F1 g- v0 H4 a6 [
SetForbid( TRUE );
/ E8 C9 Y5 _* ], r$ E" ] }) K6 y+ z+ Z9 M: f
}else{- M6 L% x( T! v
SetForbid( TRUE );
7 p2 H s$ }# Z3 A) [, \# F5 m }+ V/ k+ \/ @: s7 r. \+ X
return TRUE;
+ I' e4 t! f- D5 l; `3 ~}
* A4 p* v$ ]- |, i$ q0 b# C0 e9 L- O( b
% U; v0 |* Q1 _5 f) w) o+ jBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
- i6 O" H7 C: i3 y+ m! A{
7 ^# z4 N0 B. J! J( b switch( nID ), e: Q7 _1 P) Z. ^7 ^& v. H# _ J- J
{/ [. r. t2 [+ i+ B( l$ A
case WIDC_BUTTON3:
e1 M; M& K' K, t0 f {) \/ `. \" {! j0 ]" A
bStart = TRUE;2 l& A# Z! u) J& R
break;# A2 W9 h" R/ S% D" _3 P2 f C/ a' `
}* F7 f. l @. f# R, x' |
case WIDC_BUTTON4:
, L; t( F5 l8 s: @2 G: x6 ` {9 o) `& }5 ^/ h7 C
bStart = FALSE;; _; c( D3 `+ ^( N& d) ^4 N- d
break;( l5 _* X0 u ?" W+ G
}6 ?* X1 Y+ d' J( Z5 d. }- Q
}
! }/ b4 Q* y* b* D- o return CWndNeuz::OnChildNotify( message, nID, pLResult ); w5 v" q$ Q8 o
} 1 t& H2 c7 g: \- X+ Q. `
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
- c4 R7 A# `( \# H* a4 b{) i; g3 G" b' f: B( P+ R: g d
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
( ]( c% \+ U m% z if( bStart || !m_pItemElem )6 ?0 {: y- i' F6 t
{
# F6 u7 j) q- I- N; D pBtn->EnableWindow( FALSE );- b5 M( F! b) |( ~9 k
}else
& k; ]) s* g, k& }1 M) w pBtn->EnableWindow( TRUE );
u7 E9 w0 o! Y" x6 I+ `, @$ t if( m_pTexture )
0 W6 Y% p( l1 z+ s {
. r. I) e* \4 V5 S3 n, V LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
0 b* Z+ x/ i; A/ P if( wndCtrl && wndCtrl->rect )
$ Z8 y! A) k8 I! {% i, K& [8 f {2 O. M6 J6 ^: V, y4 n
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
) `8 _3 {# M! q }+ ]5 R0 z! m/ ]% R2 d
}2 C1 G: j- f: ~$ m( Q0 ]
}
, g; {( @( b1 f y$ d. k, ]( a( W( x" g
BOOL CWndAutoFood: rocess()
! m! y. r0 d+ W6 c* H( b2 D2 |{: J4 D' T6 W+ b4 j
if( bStart )
9 X+ \8 I, U: s {
& ?; U9 C3 l! F7 W& L. h4 _ if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )+ j, K6 D: u/ c) ]
{) _) ?6 }" W! P
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; q; N' {8 L0 L9 o
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );& W# G$ U4 c# M, I7 }
}else{$ N- Y" D( o$ K- u* V! k
bStart = FALSE;. i [$ e- T6 t$ ]& v0 h
m_pItemElem = NULL;
?, F+ u- @, M* ]0 l' h }
1 N" h T8 C, p/ [% ~ f% P }) N+ ]7 ^# c6 W8 f6 }. u
return TRUE;
; W% k2 X3 p+ W6 @, Z8 f}; p, h1 a7 i5 `& M
; ?0 b- y$ {5 k3 ~登录视频废话:; s' S* j% x9 l' g, ?( j1 o
尾翼:
o9 j/ B3 W, V9 j
' V; w0 M6 I& {2 Z: z" ?, b. i/ S代码:
& H& u. m. C; j4 d
: [; a! G; Q9 ~) @8 C8 s. \void CWorld::SetLight( BOOL bLight )
$ e1 e0 R7 a3 }+ W( Qdurch
$ P; M0 S6 ^7 z5 \* u* n w: iCode:1 j* k2 r% a* s8 V p; {) ]& u0 ^
void CWorld::SetLight( BOOL bLight )
" g4 L$ O9 p) |; p8 N{ k, n8 G0 p+ X' j" Y9 @
//ACE("SetLight %d \n", bLight);
% [5 S4 ~7 M7 r- r- u5 Q
$ r/ h7 U1 d% c. \#ifndef __WORLDSERVER : J ^; X( u" T, @
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);1 r' T' _" _# q b0 {8 @8 M% }
CLight* pLight = NULL;
" p! y/ a9 y- }0 z1 \0 Z& B
, o/ E" s, {* q8 t D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
# }4 b/ x; `- A2 Y0 N' n
3 M, Q: f& C# M4 J( z; n9 u. @9 h pLight = GetLight( "direction" );
: I9 I8 _: I5 B- `0 V$ }' {7 ~; Q- x, d0 X; B, v
#if __VER >= 15 // __BS_CHANGING_ENVIR* r, I3 s2 v5 M5 Z& V: T( Y
if( g_pPlayer ){
# @* ~2 c, U2 R) v2 A, z5 H ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );1 n: ^( C$ `; w' d4 Q
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!3 ]6 d5 |0 k* o, O% M: Q$ R" u
{
5 x$ x6 Q* c. [& a. l9 x o if( pLight )
( c) } ~" l. @2 b( a {5 k3 r7 Z7 w2 ?" T# A4 M
pLight->Ambient.r = pInfo->_fAmbient[ 0 ]; t) m4 i/ u% ~/ T# t
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];; H6 V: {, o6 l1 Z# S5 o4 c
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];' U7 g! w7 u4 {1 I) I
8 y3 U0 l1 N; k& Z6 P# B" V
pLight->Specular.r = 2.0f;( }9 J: k" s3 t1 |
pLight->Specular.g = 2.0f;
' I% b/ H3 u2 X' z0 c pLight->Specular.b = 2.0f;
& Y9 V, {- j3 {; v. i
# g4 ?& f8 u3 a& h) r2 B pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];, I0 m Y" K2 e/ [# K
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];0 G6 P( s3 [: J
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
; F) M+ q* [6 W9 `4 N2 ]+ N - n4 M" k w- s" G: o8 l+ H5 z
HookUpdateLight( pLight );
. Q# J4 _- f5 X6 J( h, f- m! I' R6 @% }% y+ b
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# d8 O/ H% i/ y( z3 k3 l ; P+ ]1 y6 Z7 }
pLight->Diffuse.r *= 1.2f;
# s9 [5 d& r& @8 U7 C% j! w pLight->Diffuse.g *= 1.2f;$ }& S4 b1 z" [# u
pLight->Diffuse.b *= 1.2f; i& [* c& O1 G) w& V1 {
' v) c `! x2 A1 f6 A pLight->Ambient.r *= 0.8f;
" @5 t" x* V/ V0 w/ k( S pLight->Ambient.g *= 0.8f;
# z1 k9 u& ]/ ~ a* S+ ?: g pLight->Ambient.b *= 0.8f;
2 v( P/ ~; b w6 i# f1 b
" v$ M0 Y. s' ~( j memcpy( &m_light, pLight, sizeof( m_light ) );" i8 L+ T8 Q2 [$ ]8 t
2 _/ o P+ D4 p& w# [: w, \, i
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);5 T3 u- P5 Y0 \
D3DXVec3Normalize(&(vecSun),&(vecSun));
0 }; o) w+ Y% s* z2 N pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
' X- o9 Q& U, |" P pLight->Appear( m_pd3dDevice, TRUE );8 N* Q2 w( A/ p" C
$ B2 G! z4 S" q$ L- x DWORD dwR, dwG, dwB;+ u% [# Y3 o$ [% ?& v! |9 [7 p
dwR = (DWORD)( pLight->Ambient.r * 255 );
$ {1 d# {6 y, O" I dwG = (DWORD)( pLight->Ambient.g * 255 );( @. X: ?& Y- U8 I( [3 F2 {
dwB = (DWORD)( pLight->Ambient.b * 255 );* C2 A, c& U9 @
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );/ {3 } v0 u1 e# D7 G' Q5 k0 ?
}! k6 R/ |) Y% H; @
}
+ e/ t% K" ~% D! G' W }
) h% f8 l5 s7 z& I8 W: E' y$ B4 o else% }( l3 Q8 S, K2 u
#endif
Z5 S2 R3 H' P/ Y m% f7 \- z7 D8 B# ?; O
if( m_bIsIndoor )
( K9 K( X- |/ \% j; g7 e {
s# G: W% z5 D- l if( pLight )
* W% c6 y0 B3 U* Q `. L { % C* ?/ t0 ^3 h, }8 R4 a
// à??μ oˉè* 7 D' R7 {$ ]! l$ K; H& v
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
( l( n3 z; ^, T! O& c4 G& ^ pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
% S" N5 L7 n' C6 u pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;: B0 D* n3 Q) b5 a: ~
. ~$ O) }; ^* w4 s3 L4 `! j7 ^
// oˉè* ??à? 5 ?4 {- L. x4 }9 W4 h
pLight->Specular.r = 1.0f;8 {0 c; x- t+ ~, j
pLight->Specular.g = 1.0f;
; L* L/ z! L; n. g6 h pLight->Specular.b = 1.0f;1 D! b! [4 |+ O' v( }( N( F
// àü?? oˉè*
: I2 `( [3 M' O6 A pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
$ b; k+ O, Z+ n2 h' X pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;! K' `; H. X+ O2 r, ?. j
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
/ _/ q4 q. D( W8 }: ^# M: R% s: R$ f' F. C" [1 `$ k
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.2 Z5 H5 W5 c/ ~' V& w$ t7 \
{: A% y3 ?4 ^1 @1 d. ~" H+ L% X7 [8 _
pLight->Diffuse.r *= 0.6f;
9 @+ |3 @7 }/ b! B8 o pLight->Diffuse.g *= 0.6f;
6 M! B: U3 M2 g) U pLight->Diffuse.b *= 0.6f;
% m( b: L+ Z/ V: L pLight->Ambient.r *= 0.7f; z2 m2 A% N( c# ]
pLight->Ambient.g *= 0.7f;
Z0 v. \7 K' n5 _. ~! g# x7 M pLight->Ambient.b *= 0.7f;
2 \3 t' L. x1 W: r- Y. K }/ W2 Z: J) J( `7 O2 _
' S4 V) S* l- j
#if __VER >= 15 // __BS_CHANGING_ENVIR7 {) v) f9 l. H; ~: o1 N. x
if( g_pPlayer )
1 R; d T7 z0 }" _+ w4 ~. S HookUpdateLight( pLight );
! ~+ K% ]; b- ~& |" M* q4 ^1 T#endif
" _% G9 I/ o0 k memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
0 z) S, {( E+ u, F- H
4 {. _9 a. U# f4 ]9 I, O. b pLight->Diffuse.r += 0.1f;
( D/ I- ~( e8 o' R" H' h pLight->Diffuse.g += 0.1f; j7 e* W9 E; j& K
pLight->Diffuse.b += 0.1f;' s8 I$ Z! p2 Y$ V, j
// oˉè* ??à? 8 }- H( O$ V' ^+ z, q, a# t
pLight->Specular.r = 2.0f; k( |3 x+ n4 U, }" r
pLight->Specular.g = 2.0f;
" J- e: Q1 D2 t8 y4 Q! f! H' \/ | pLight->Specular.b = 2.0f;
, @$ z% x: S" L8 ]. R/ k' p // á?oˉ 3 r0 Q, X, _6 c. p% @0 B
pLight->Ambient.r *= 0.9f;$ E$ v, q& M" j. {
pLight->Ambient.g *= 0.9f;+ B$ q; z. E! u4 W
pLight->Ambient.b *= 0.9f;
9 k" Y4 B1 m/ U, B6 s# y* ?
, ~, O+ V, q7 h1 [8 b8 [ memcpy( &m_light, pLight, sizeof( m_light ) ); t+ ` e/ g9 k+ t4 T( R( g
, y* o) _9 Q+ V' l3 k9 O% P' e pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
" q$ Y6 ?" w5 O2 w5 k& y2 q pLight->Appear( m_pd3dDevice, TRUE );4 ^$ @5 q1 U3 D5 N7 e
, i! T& X" p4 z6 h' v0 } DWORD dwR, dwG, dwB;
9 U1 x' u# V( }8 ?/ J: T dwR = (DWORD)( pLight->Ambient.r * 255 );% V0 d( d5 ]% w0 p( t0 T7 }
dwG = (DWORD)( pLight->Ambient.g * 255 );( }, H+ Y2 ^8 T- S, Y
dwB = (DWORD)( pLight->Ambient.b * 255 );$ h6 }8 i# ?8 U' N
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
( |* p' r- _: ` }& ^ h" P T4 j, f
}
$ q! _1 J2 S$ X0 D/ C else
9 R, c! D& m7 s' ?) R* Y3 L {! x) M' o6 a9 P4 x& Z
if( pLight ) R Y8 H; ]8 H! m$ }
{
$ G# P0 n& W- j
) q4 _" {/ y1 G2 C3 q }! @3 G8 F int nHour = 8, nMin = 0;0 r# V- o2 s! _; t9 v' k
#ifdef __CLIENT
! u* A# B5 D# @ // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
+ u3 q m: ?8 \! b nHour = g_GameTimer.m_nHour;
* n0 P, I: ^$ d4 x) Z A' U* ? nMin = g_GameTimer.m_nMin ;
7 q& y# c0 c+ O) ~ #else
: i1 ^) [. _* r- |1 G4 @ // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
4 P" H6 d/ n5 W4 q if( m_nLightType == 1 ). j% X' S! b7 h, w
nHour = m_nLightHour;: u1 q" X0 D# l- m9 V
#endif
! s2 q9 Q, q) P' H+ L nHour--;
], C8 n! \8 a, K G( \6 M4 b3 i if( nHour < 0 ) nHour = 0;
4 I: f& d" O; y if( nHour > 23 ) nHour = 23;- U! G2 T; o; e6 q# S
$ `! X0 f) O# U- f, V
//if( m_bFixedHour )
' x$ i- W( _: k // nHour = m_nFixedHour, nMin = 0;
4 Z& g2 h1 q. ?# _2 ]( S LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
. R* k8 N- U* y( P5 }( @9 h+ ~ LIGHTCOLOR lightColor = m_k24Light[ nHour ];
% u+ A" u$ }7 J2 m P6 |3 R1 u9 H; U, | P
//m_lightColor = lightColorPrv;
. s& F, P G) M- ~2 X3 X lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
! r4 I( \: R( y( a! r8 S lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
2 Y7 k" v1 ^) X8 A lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
5 a z2 m }/ A; Y, C; h lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
7 z1 C( G* j+ W7 Y* p1 s. ] lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;4 k1 n# G3 l) N( @1 c4 ]
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
( Y, _$ a+ `: @3 U1 G/ G // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
& @/ r5 b3 [, O! Y8 H1 [4 `1 c% y' d |, J v2 s* G. a6 S
// à??μ oˉè*
% Y/ ]9 j: Z, i: B( Y1 d/ V pLight->Diffuse.r = lightColorPrv.r1;
% f! ^/ B( m7 |5 [/ [$ ^ pLight->Diffuse.g = lightColorPrv.g1;
0 B) {- A ]4 U# ~6 Y& V pLight->Diffuse.b = lightColorPrv.b1;
; \ z: t( v! l2 w; @ // oˉè* ??à?
1 F- }9 E; D4 i7 A pLight->Specular.r = 1.0f;$ O% g. M' R. H! K9 C8 M
pLight->Specular.g = 1.0f;' G. ]& h. l. w9 f) b
pLight->Specular.b = 1.0f;. r C% d& D0 ?2 o5 @0 D
// àü?? oˉè*
" [" Z1 h$ p* i/ J pLight->Ambient.r = lightColorPrv.r2;
6 m$ K/ Y* O5 z/ k B! C- l$ h pLight->Ambient.g = lightColorPrv.g2;
* [$ @- j6 b- R4 a1 Q& \ pLight->Ambient.b = lightColorPrv.b2;
9 n5 ^6 y+ K" u0 P3 B' R ]. I8 g
1 b7 ]% \- j2 N, z8 @: ` if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
6 i" a$ |9 a, ^0 R ~) f {
! e* E1 r$ G& B! r! t4 f4 C pLight->Diffuse.r *= 0.6f;7 s \- Q o1 g9 v' c4 K/ t
pLight->Diffuse.g *= 0.6f;
r: |' e# f0 c# k ~( X; ?, [2 g. H pLight->Diffuse.b *= 0.6f;4 l0 c1 ?5 Y" G
pLight->Ambient.r *= 0.7f;. A5 ^; l& W, {# G
pLight->Ambient.g *= 0.7f;
; f' D/ `# _9 m" x7 H& @* a# \ pLight->Ambient.b *= 0.7f;
6 b- |1 R' x7 `1 R4 R: R }
/ g, r% ]& n* l! J5 s5 i 2 v0 s- z3 Q/ K: `$ Q) ?9 Z
#if __VER >= 15 // __BS_CHANGING_ENVIR
& b& s- s, z; a$ B1 a if( g_pPlayer )+ X; w- K' z- @1 K+ A5 N! y
HookUpdateLight( pLight );
6 {! \5 h$ f2 {- W#endif
, N7 n! z$ c. C0 w3 z* D memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& J R1 [8 j, n( H3 h V' F: i4 B/ [+ P
#ifdef __YENV" [& q" ]9 c3 K" k
pLight->Diffuse.r *= 1.1f;
2 N: ~; D, u5 P pLight->Diffuse.g *= 1.1f;
3 m5 d# i0 O j- w! H3 w5 o pLight->Diffuse.b *= 1.1f;: S( ~) p' Q& ?) k+ f% E; R
// oˉè* ??à?
! X$ y1 x2 v* X7 P7 j9 g1 { pLight->Specular.r = 2.0f;8 z. A& M. G9 O" E* `; P
pLight->Specular.g = 2.0f; U: f( r' {' S6 z: k% D
pLight->Specular.b = 2.0f;
+ f! I; Y* V% [# m/ S- T // á?oˉ
0 N* w F0 B# C, f& J pLight->Ambient.r *= 1.0f;* Q! a6 c' u t( t o; Q, J0 y
pLight->Ambient.g *= 1.0f;
2 F6 ~4 d# i) R. F pLight->Ambient.b *= 1.0f;
9 k9 U! V/ b6 A! c, v. ]#else //__YENV- Y' i% b$ J1 X7 x1 @
pLight->Diffuse.r *= 1.1f;6 q2 ?: ~6 h7 K
pLight->Diffuse.g *= 1.1f;0 \6 H( I8 a4 J) m) d
pLight->Diffuse.b *= 1.1f;
; E# f7 ]# z/ }4 w0 F // oˉè* ??à?
# g( `/ a. s& b' h! y. o) D) W pLight->Specular.r = 2.0f;! F' Z3 [# f8 q# b9 ]9 z
pLight->Specular.g = 2.0f;7 V/ ?/ J S N# z( i' l
pLight->Specular.b = 2.0f;
2 k* @$ B( ~: F" ? // á?oˉ : ~; V# K7 g- d! Y2 f
pLight->Ambient.r *= 0.9f;+ I! [ T- b- l" r2 s7 E
pLight->Ambient.g *= 0.9f;
2 _* F4 P$ B/ E* o pLight->Ambient.b *= 0.9f;" l! Z4 j4 |( \
#endif //__YENV ; t. F) y P" c. y! h
; n$ M1 d( a' R* F
memcpy( &m_light, pLight, sizeof( m_light ) );
6 {1 `1 j) j- ~% L: [ ; p! E. c5 a7 P+ b: |
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
" j7 s8 _4 B3 [. H( O, B( J D3DXMATRIX matTemp;0 o: m8 X9 Q% f, w8 f# _
static const float CONS_VAL = 3.1415926f / 180.f;
! c i# W) a7 Q# _0 Z- R! T, V( R$ ^- H+ E4 h8 Z7 f. T% N
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
5 I3 M6 _' [: i) K9 I: B9 R D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
; w7 A+ U( Z, r* L pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); ' a% Q) c7 `" l. |( Q& m
pLight->Appear( m_pd3dDevice, TRUE );
! n7 ?! j6 d4 A! I0 @/ u9 _. p7 D* E' ~* S, N4 }9 t* p$ Y) l0 r+ ]
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
+ r) W' X3 M5 C% X- n // D3DXVec3Normalize(&(vecSun),&(vecSun));. }6 F6 x8 i; B9 o
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); * G& I1 S, b5 O0 A$ p i# a5 p5 M4 L
( j! ]' x# B/ ~ J: N/ d3 c
DWORD dwR, dwG, dwB;* b% G4 ^7 i! S9 {
dwR = (DWORD)( pLight->Ambient.r * 255 );4 l7 ?7 o9 x3 b8 U9 d& _: m- L
dwG = (DWORD)( pLight->Ambient.g * 255 );
4 S1 z. g1 m, t. w. J1 s dwB = (DWORD)( pLight->Ambient.b * 255 );, d& X7 |3 X; \8 y" w4 Z
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- G1 c7 K, m4 x) p# @/ w }5 `& z3 E' N! y
}& ^( K w' m0 \- V+ i$ I. A0 M
! b, B# s/ _; H; U2 c m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );, j( C ^5 q8 y c) s9 l6 Z6 D
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) );
" Z" E2 f, G4 d: g* v ::SetLight( bLight );
. ]2 x* I! W/ ^
( R. c1 b; T( p& N+ c // ±ao? ?D?í???ó á¤à? , g/ i: m9 U$ c9 B% R
m_pd3dDevice->SetMaterial( &m_baseMaterial );, I3 C+ C8 t2 z( R5 M7 C: X0 C0 v8 ~
I0 @6 b) {* A( N. v' j#endif // not WORLDSERVER
7 A; M: K# n6 k}0 U2 m5 k7 Q, z \. G& D: z
并更换3 B( @ g( t+ M$ G5 k* H* p! S
Code:2 k+ Z& d& B$ {' s/ `6 ?
__FLYFF_INITPAGE_EXT: S0 N7 F8 C4 d' b/ ]
定义" E2 v' O' a2 T6 o% m: P
; Z3 @+ m8 C G4 W3 v
* R' W k4 f% q6 j, ~5 @" h
4 s8 X) a K- R1 }% z4 t/ e% ~# W6 T* \$ K" C% W- E( E
现在终于删除我的狗屁加速...
- g4 H% J& a4 V( g0 r
% E5 }: I; }- f4 c9 i
! {! y. P: D' ?4 |
& U8 O1 A' N8 w3 F0 a! k |
|