|
食品车:. u4 M; y- n/ L' k1 C7 X0 B
尾翼:
x5 T: d5 o. ^$ D
2 @5 z& }% R- L( C代码:
& M! ?7 L6 m, u* kCWndAutoFood::CWndAutoFood()( K+ d( H6 S# m: n$ a) s
{, e. Y5 [! R$ l/ Q
m_pItemElem = NULL;
/ L9 V7 L- ^) Y, c+ y m_pTexture = NULL;$ W9 @2 [! j& |# ?: C
bStart = FALSE;' z$ P$ C) V/ e* }2 n: W' O
} L7 w0 U& \, H, X
7 M$ l2 e4 h# {( y8 B7 t
CWndAutoFood::~CWndAutoFood() G& _# v- f$ o9 g0 |8 a3 S( s
{
8 F% j' Z1 X0 C- Z# [ z4 _( { AfxMessageBox( "AutoFood ist gestorben " );
5 _. d3 y, f" r. B, O}7 E6 m% |# q+ l1 \1 ]
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )! m3 V# N* s8 r& o+ [
{
6 a% W* s% k2 v$ e3 P' C return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
; ?+ f. R, f" X& W; V}- G( B/ w* J D; ]' H
. M. g5 D$ v; w/ B
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )6 ~- N, W% {* d, h9 v+ y( H$ ?
{
% d* j% F' I! M4 j LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
0 [; b1 S- U0 q9 f9 p CRect rect = pWndCtrl->rect;
# q' q7 c' |5 l" q# y" | if( rect && rect.PtInRect( point ) )
2 P& d3 y$ i& a" Q {# g4 e* }& [8 W1 o T. }7 y9 g+ y
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
$ a+ {6 R1 U* U$ @ if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
. }: l! E1 f2 p% c {9 Q+ A2 M/ Z1 j$ C
if( m_pItemElem )
, j. A6 C' f7 Y6 u {
3 p) i) W7 ~) ^/ i l, O g5 t m_pItemElem = NULL;
( F0 o1 z( H6 z% P+ V }
- w7 V8 z" Y5 @$ A0 d m_pItemElem = pItemElem;" C( k( H! `5 {; q
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
2 [2 W7 u4 K! [. R/ H4 a: d }else{
8 t- y% h* O+ G% W- P/ `+ f _ SetForbid( TRUE );# w- t+ a2 o$ ~! }3 c
}
; h; t" Q; T# {# s }else{
/ ~+ a3 i+ Y8 {" s; ]$ [& N/ W SetForbid( TRUE );
$ P9 p# g* a' G( m8 m- O i7 Y+ ` }
/ F; ]! U9 ~8 U; R, g return TRUE;
+ @, `$ ^8 i+ n* l& c5 x}
4 b& }& w" X/ L2 R+ ?: d
% t; T7 G* ~( R2 x6 P9 @/ @BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )/ X9 z+ E; \. g1 @. |5 j
{+ E' ^% x: a0 B
switch( nID )
( f* m! `, B3 i2 d; a, M { f2 _- P% j. L$ g. a
case WIDC_BUTTON3:
: c, M3 b" \+ D$ A7 g4 R: W {- ~3 a# }( u! y- p
bStart = TRUE;4 Y: X9 \+ y( F: v3 L
break;/ v4 M# ?1 B& x5 N# K. Y- G$ ]
}) g% A3 a8 V9 `9 M+ o
case WIDC_BUTTON4:
) w) x4 Z0 o* W5 g# S3 V {
# ]! x3 o6 u% T8 ~ bStart = FALSE;. B! p* _- k6 ]- D7 `7 v. C" x
break;
! O/ ? g' q7 l" z5 W/ A* B }
! [; x6 f5 [2 N" s/ h# r }0 H# Q% ~! Z7 J( x7 q
return CWndNeuz::OnChildNotify( message, nID, pLResult );% B7 }4 V1 g. Y
} 1 v& t7 q( @, h! _
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
/ X' i+ j5 W, |' b{
/ ^" O( a% H2 c; Q0 O: O) @ CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
1 m% o2 I c! k if( bStart || !m_pItemElem )) {* J' v: a2 G9 T5 r
{$ e" k. t* W1 f T n- C x
pBtn->EnableWindow( FALSE );7 D; `1 p! r3 b) a; V- C3 S2 B
}else
" j% L( J6 G3 T4 C$ H pBtn->EnableWindow( TRUE );
& B& W6 A: @ h if( m_pTexture )
$ L9 u, e7 A" L {5 c* n' s, [( v5 |' n$ Y, I
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );7 q7 n# r: |* e8 G& E
if( wndCtrl && wndCtrl->rect )) K+ z; y# D2 W1 _) U" ]0 K
{
$ x' a V, g) V: u( D( f2 j9 C m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );( ^, G' f( j1 ^
}
7 t5 u" n9 M+ q% X4 ^: u9 d0 u3 o. S }
: X) J/ T9 L, d+ E; v}
1 k; c1 o3 ~7 s n
7 ?& E+ Y1 G& W4 VBOOL CWndAutoFood:rocess()
& {0 ?+ P" w" P0 Y7 j* b8 I$ B: W, i6 @{
0 v) T+ @6 h, ?: M1 N if( bStart )
- r s$ l O0 P {. P/ w& x; Y# | y% ~: O+ a
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
; `7 f5 E, U% M1 _& K {3 e$ l l' y; P# X' l0 L' ~
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )( p" W8 ]5 d( o
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );& h" i0 ^4 z; U( a6 i- v
}else{
: `: M. b4 E6 `0 [0 t0 }% P4 g bStart = FALSE;
) h% X [( B+ `9 c* O m_pItemElem = NULL;
2 h2 l* o2 V, K3 |) a }
4 S0 x& q% T% u t3 G }
& K X: v1 X7 e" x- Q+ _ return TRUE;' W. `5 [* \6 V. c, Y4 D- P2 z2 S
}: T8 M+ }7 H. t; W. w( a
8 A7 B. P5 g* [
登录视频废话:
! A! ]* Q4 g# E [2 |尾翼:! N0 K8 v7 }" o
6 j7 U4 q$ T7 \- p6 g代码:) Z, \( K" }, z8 @ o
5 J; H7 u! ^! I( U/ d# I% pvoid CWorld::SetLight( BOOL bLight )! c2 q3 V2 a5 t2 e( b2 }1 [
durch
7 |9 T/ x/ Q {$ G9 U ECode:+ Q8 w' D+ I0 B) ^& A
void CWorld::SetLight( BOOL bLight )
! G1 b# k% d* V{) d9 r# a! b( u' Y6 p
//ACE("SetLight %d \n", bLight);
8 E% P% C9 x9 Y 6 Q; a$ b* X. x3 Y/ X
#ifndef __WORLDSERVER 7 W8 l5 k7 d4 D# N5 `+ z" ~
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
; V7 F! Y) ^; P+ @9 Y CLight* pLight = NULL;
$ h5 ?- `: P9 H! y. }
+ A' }& D& E/ \ D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
" M. x0 x. N+ ~1 ^' [$ m2 P9 b
1 S; t5 r) v7 D9 q7 n pLight = GetLight( "direction" );
! U( O7 _. _% X# B! |
2 ?+ ]0 e1 m, n) W- f9 b) o3 C0 w#if __VER >= 15 // __BS_CHANGING_ENVIR
) L( B/ F* E, P- V. v3 I if( g_pPlayer ){' t* Q$ _ s. W# s3 y; [5 l
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
, ^% f8 r' ?6 r+ J! _+ E" s if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!* v2 o1 b. }4 d( C: A
{
7 ~8 d1 g# Y3 S& c2 Q/ ~ if( pLight )3 |/ T5 j7 s6 h- Y6 v
{
# W# g( p" o7 i" B pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
" G7 P0 K+ ^" i' V% C) @ pLight->Ambient.g = pInfo->_fAmbient[ 1 ];* p) ~$ ~; A, r d
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
; X: h6 z2 I3 f2 x. R% a6 Z8 R T
/ `. _0 @, A& x( B9 Z, a$ g- G) ? pLight->Specular.r = 2.0f;5 n0 R& I* C: Z" |, v/ ]4 d
pLight->Specular.g = 2.0f;+ G+ a# Q* D3 a( Z+ k; S7 u6 @
pLight->Specular.b = 2.0f;$ Q' h) [( }+ ?4 m
' q% L# k; V [ pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];) H& i1 l4 c" N
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
' k4 q# _% T' ^ pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];( {& W1 t1 T0 f/ I* Y1 m) V
/ E9 U& q# L8 F8 x4 |- W
HookUpdateLight( pLight ); / l8 Y9 \ h" p
9 R! H- ^- k, B; u* E" P memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( r1 Y! a3 c% h
- J9 i7 T3 Y7 f1 T1 ]- K8 U pLight->Diffuse.r *= 1.2f;
/ F! }% M, {* t" T x: w$ p pLight->Diffuse.g *= 1.2f;
! R$ Z6 ?, ]0 |7 n4 m1 z6 A9 r: I pLight->Diffuse.b *= 1.2f;
& J2 c A0 r, {! |. Y% I( e9 v: D& B# L: p2 m" s9 e c, c' M/ [7 I1 b
pLight->Ambient.r *= 0.8f;
' h3 M' }8 t: n pLight->Ambient.g *= 0.8f;9 a/ y: I; q: \
pLight->Ambient.b *= 0.8f;. V4 v% X2 l1 Y1 Q7 b0 S* F
, T* b# Q; X" R& E( h" e& A4 n/ r2 `
memcpy( &m_light, pLight, sizeof( m_light ) );
1 N; _8 i$ j( c9 Y- V4 v& t% a& o. n" d2 f) g, J1 Y& N$ w6 Y
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
' O& ^( H: i1 w7 p4 b D3DXVec3Normalize(&(vecSun),&(vecSun));, f5 h% l* r, J1 X
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 3 a3 Q8 t; N9 u
pLight->Appear( m_pd3dDevice, TRUE );
* Q, h" r/ B, x: u) I
% f$ z3 H& k' @5 r& f4 n n DWORD dwR, dwG, dwB;
6 o. W$ w) u/ X& Q dwR = (DWORD)( pLight->Ambient.r * 255 );
$ L, D, x' M& I% N) |: N W# G# V dwG = (DWORD)( pLight->Ambient.g * 255 );
. B: {5 O# e( p& x+ W$ c0 w( N dwB = (DWORD)( pLight->Ambient.b * 255 );
3 l/ Q7 p, D7 M6 ^4 X8 c1 s/ q dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
5 j6 c8 g7 S$ E r5 k }
: d6 c* a8 W( o) Q }
' O7 \* _0 [6 f1 s }
7 j6 P! @" c N7 t' v2 {) @ else% ^1 _5 u; C( K0 P7 b: G a) ]
#endif ! }- {: L. P- l) m I
7 ~( s" W% B. v+ s' E7 C& @: u% p! ~
if( m_bIsIndoor )
. J: D1 i2 t0 |1 o0 E% k# K, E$ F2 p {: x4 A# L, Y7 j/ Y
if( pLight )1 w" o1 {) Z/ b6 _; D
{ " A" K+ D' s+ d9 @2 F9 Q
// à??μ oˉè* ( e9 c# g( }+ \0 i. g/ @
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;6 b0 G: R! b9 J3 f4 G
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
" i# V' y+ G' r, v* @7 P% Z pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;4 C. s# e7 N. q
* v! a7 b8 I2 z, }% K6 F
// oˉè* ??à?
5 R8 j8 D9 U" X, l/ i pLight->Specular.r = 1.0f;5 u6 ~# n# q6 K; j4 L4 q
pLight->Specular.g = 1.0f;
- C+ c4 x$ _. n( L pLight->Specular.b = 1.0f;% r7 J7 H3 W4 k, ^5 B/ b9 k- c
// àü?? oˉè*
5 e$ U/ O! R2 ? pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;2 F- Q$ J' G; K% M9 O
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;: c" ]* H1 H. W" a4 ~; e H
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
* h, ~) s) F7 R( }, e [) U6 P1 y$ O. q: @8 N: h' c. J
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.- I5 E3 b/ _6 A0 g: k$ M
{
4 X" _* P6 z8 c$ } pLight->Diffuse.r *= 0.6f;
( X3 A b1 A1 [ }9 ~2 t pLight->Diffuse.g *= 0.6f;
7 v: Q' |, w8 @6 U4 N6 v- F pLight->Diffuse.b *= 0.6f;( N& J: f- O* M8 L4 c$ `
pLight->Ambient.r *= 0.7f;1 i% \9 P9 W y1 J, O+ A
pLight->Ambient.g *= 0.7f;+ s5 _" R# |* f2 C1 y" |" g5 R
pLight->Ambient.b *= 0.7f;0 s2 E( t/ Z8 l, m/ V; _% k
}) C0 m: V& ^7 c1 i
) o+ @% W- [8 n$ {
#if __VER >= 15 // __BS_CHANGING_ENVIR. b- C! x! f1 g$ N4 \8 Y, `( U
if( g_pPlayer )7 V0 s4 N8 X& [( C# _' ?" F
HookUpdateLight( pLight );
& [3 }$ h6 O$ J1 i, E5 V#endif4 M3 @* H [4 j1 q" b7 q5 z" c$ }! T
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ o( p8 c. W1 |( c9 J; `, T7 d' _$ b d8 u% u9 g
pLight->Diffuse.r += 0.1f;9 T5 z5 i6 p; {3 n$ m3 B
pLight->Diffuse.g += 0.1f;; h3 ?0 }% l/ I7 Z- G
pLight->Diffuse.b += 0.1f;; }; T' J0 R5 P- ^
// oˉè* ??à? 6 ]5 O' S7 l; |! h1 N
pLight->Specular.r = 2.0f;2 S1 L7 Z C- Y
pLight->Specular.g = 2.0f;
9 I) {% [. Y. s) q2 t; O% J6 q pLight->Specular.b = 2.0f;
) R4 A4 J5 d5 b! m0 D+ t: K" O( C // á?oˉ
" r! J+ h. \. J pLight->Ambient.r *= 0.9f;
3 m4 M* u' [2 p+ c pLight->Ambient.g *= 0.9f;; @/ I, X4 w1 _$ \
pLight->Ambient.b *= 0.9f;' `' c- A' @7 g4 P4 E" q! r
4 a4 h m% F7 S memcpy( &m_light, pLight, sizeof( m_light ) );7 `$ b& M- J' d% y9 b- J) R
; {9 L) l7 |, P pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
2 m# P8 F" A" l. ?: z# r pLight->Appear( m_pd3dDevice, TRUE );3 ?/ v3 A7 V/ i
; L; {! ^: z) w DWORD dwR, dwG, dwB;# l- m: v n4 r y$ E; E
dwR = (DWORD)( pLight->Ambient.r * 255 );
% F4 g; s$ |/ K+ U dwG = (DWORD)( pLight->Ambient.g * 255 );7 U4 a7 _3 k' y/ _- x
dwB = (DWORD)( pLight->Ambient.b * 255 );# W% \# u- }1 ~! C9 | X2 a6 G! ?
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );3 ]" ]! V2 i( j e1 U
}# E/ z/ t# e% J: C0 ~
}
; G2 y/ Y( O- [/ [6 L4 o else
' G1 K) F5 T* g) C {0 n, f6 a( c) @" f
if( pLight )
" j- I( y- c# D+ O2 _" U" F {' K) A# ~7 B/ P- l% l" h+ t
" ?# k7 Q$ {) O+ D6 u int nHour = 8, nMin = 0;: w7 m$ K# m: S. M$ [& @
#ifdef __CLIENT
" r9 t) @" a1 R! j* ? // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 6 T) `; L# C# T/ A$ q# ]
nHour = g_GameTimer.m_nHour;" s& ~& _5 Q* }6 H
nMin = g_GameTimer.m_nMin ;! N1 V3 F& \# n" ]" J
#else& E9 o5 ^+ g7 _ ]. b4 y: I6 p
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
3 Q" J! H) M$ ~. N if( m_nLightType == 1 )3 Q3 ^4 c8 G! F9 N( p% @; N
nHour = m_nLightHour;
# h/ p( ?( D, m) E1 l #endif
& O( n, U8 x& q# p& O nHour--;" A' n8 v4 I( W9 a( f2 j) d
if( nHour < 0 ) nHour = 0;$ j, R) Q M k9 m) v; _2 ]
if( nHour > 23 ) nHour = 23;, V1 x o" r7 Z+ a h
+ Q2 {. g# o" E/ [1 `$ K/ s //if( m_bFixedHour )
# L) o" `* n* ?+ y) k8 _ // nHour = m_nFixedHour, nMin = 0;6 N, E/ D* @, K$ G
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
9 K3 A4 O) x* _4 f3 \+ g* S: @ LIGHTCOLOR lightColor = m_k24Light[ nHour ];
3 \2 k- z/ K" O( Y" h" O" N2 ~0 L. H Y# N; k
//m_lightColor = lightColorPrv;
; |0 c$ L" L" Q6 C lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
9 R2 _$ C2 G+ w# y4 [: F lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
: j+ K' t+ J7 X2 j @* E# N lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
, L- V! v: C- m0 R lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
8 p+ G0 b3 z! \5 j' |; P' O, c lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;$ a/ r# z4 O* F% }9 y) _
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;& ^ s+ B+ n- h% N I( J6 X+ S
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)6 K( [ \6 t) w+ q$ Z
0 b* M; Y8 S6 a' Z
// à??μ oˉè*
6 I8 f% e& ^4 e/ A& D& m5 e( z pLight->Diffuse.r = lightColorPrv.r1;6 H1 h1 L) K2 C- l) x8 M0 V* {( D
pLight->Diffuse.g = lightColorPrv.g1; L4 a2 |% ]" I' C5 }9 ^" H, X. p$ @/ s
pLight->Diffuse.b = lightColorPrv.b1;( L, |' U; c8 ]. Z
// oˉè* ??à?
, z7 Z3 F$ B* u* Y pLight->Specular.r = 1.0f;; z3 f. b% \$ B1 S7 }1 t; q6 E: n
pLight->Specular.g = 1.0f;) n! f: f9 ?* Z# g1 l/ y' ^
pLight->Specular.b = 1.0f;, q9 ^3 O. \2 I1 P) k: g
// àü?? oˉè*
2 n1 K- R) c- i3 q: a pLight->Ambient.r = lightColorPrv.r2;
+ c0 D( c8 c$ ^0 @% V& D2 j& \ pLight->Ambient.g = lightColorPrv.g2;) Q6 K1 t! ?7 @
pLight->Ambient.b = lightColorPrv.b2;/ m7 X7 a, @% K9 h- G
& W! }6 g7 ]/ Z6 n. z. M% ^7 X, o" |
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.. Y/ H! W. \, g" r
{, H1 f4 g3 U0 f! S- d& n
pLight->Diffuse.r *= 0.6f;4 {( d. d& \( T5 q2 P0 Z9 B6 b( {/ {
pLight->Diffuse.g *= 0.6f;
" L0 a# O& L V$ @' b" ]! d pLight->Diffuse.b *= 0.6f;. e: W& \( E" J0 s5 b3 Z* G5 L
pLight->Ambient.r *= 0.7f;; Y9 E% I8 q% H h
pLight->Ambient.g *= 0.7f;4 j- P* ^* N, }) I, R
pLight->Ambient.b *= 0.7f;) v- w$ }# I z5 Q2 Z" x
}
" s8 D, i0 q( Z, k% }; T + T) e+ d3 i1 h
#if __VER >= 15 // __BS_CHANGING_ENVIR
( o$ l) s( O- S if( g_pPlayer )' x+ D0 ~' v3 |% p* O& f
HookUpdateLight( pLight );
* R. s8 ~% K) u5 f; M9 x#endif! j) D+ J* V! S) x" D
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );2 O* J: K2 S. I2 C
/ }3 B5 M. B; W' u5 y, _#ifdef __YENV
5 v! E& a \" Y; e9 e: V" a" L pLight->Diffuse.r *= 1.1f;
! A4 n# V8 Z; a2 j$ C$ u pLight->Diffuse.g *= 1.1f;4 v v+ ~/ j5 |, l4 J% V( T
pLight->Diffuse.b *= 1.1f;" P+ h: X; v: u% `
// oˉè* ??à? ' c. F |/ k& u* n5 i$ n! U
pLight->Specular.r = 2.0f;6 B% y1 f. M7 W
pLight->Specular.g = 2.0f;
6 z! p+ r, B8 o9 V2 e1 L4 b( k# M pLight->Specular.b = 2.0f;
) B% K- Z& s5 H, Y9 O5 ? // á?oˉ
! U6 g9 _5 r7 a' p, h: s pLight->Ambient.r *= 1.0f;5 j) R. L# u% o$ @
pLight->Ambient.g *= 1.0f;$ A, a. U, m" B$ N: y" l( z w
pLight->Ambient.b *= 1.0f;
; r0 Z& @5 W. E#else //__YENV
* a- u2 g$ _ R5 D( K9 s; o pLight->Diffuse.r *= 1.1f;" j j6 @: u" m$ i `+ y c
pLight->Diffuse.g *= 1.1f;
) N* |# Q; F4 P) _$ N pLight->Diffuse.b *= 1.1f;
& A# A/ Y) J+ ` o7 r+ L) S' T // oˉè* ??à? " Z5 U/ t6 ?; m* A& O
pLight->Specular.r = 2.0f;
- h7 A6 t" W8 D2 `1 ~+ m6 m pLight->Specular.g = 2.0f;; {' Z9 u p9 M
pLight->Specular.b = 2.0f;
* P# n% F+ p9 [1 n // á?oˉ . r4 m1 w0 O% W! e. ~0 [/ t
pLight->Ambient.r *= 0.9f;
' ^/ X1 V; `9 o! @$ g pLight->Ambient.g *= 0.9f;# W# O6 C2 Y1 n, j4 r" L0 d; U( p9 n
pLight->Ambient.b *= 0.9f;/ O. Q% g- w1 z ]; K5 X
#endif //__YENV
0 F; r' N% k6 P5 b
9 ]5 |) j! {0 u) G7 Z7 [4 a( S2 d memcpy( &m_light, pLight, sizeof( m_light ) );) p8 e8 i5 U" t8 U, Z
! g: m5 J5 h' i, _2 Q D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
+ J$ y9 n5 G* \) z2 y6 X D3DXMATRIX matTemp;8 D% M4 `* C. e+ I* T( Z$ K
static const float CONS_VAL = 3.1415926f / 180.f;
G) [* E9 p5 O+ E5 o
1 R3 x. W& ]9 p7 N( K8 V/ v D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);3 {9 R% Z) J6 ]0 g" R' ]
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
4 j) D4 f' X) G2 J( Z' Q% ? pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); $ \8 J' B+ X( z. U: h" G9 r
pLight->Appear( m_pd3dDevice, TRUE );
3 o3 N* E3 p. E3 v m, I3 P, ] M, C O5 i [; l0 `$ R
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);" L/ @2 F' r4 b: _. j$ C V
// D3DXVec3Normalize(&(vecSun),&(vecSun));3 f. ]; U5 j/ i' c5 G* x
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); * M! O/ p6 c: A5 M
3 ?2 O2 o4 g/ Y( u DWORD dwR, dwG, dwB;+ k! g. F2 K/ m$ q
dwR = (DWORD)( pLight->Ambient.r * 255 );
4 Q- e, [" n0 X; C/ B t% k8 b# X dwG = (DWORD)( pLight->Ambient.g * 255 );
: w# ^3 s$ I7 B8 f! e' A dwB = (DWORD)( pLight->Ambient.b * 255 );4 t/ ?* |* Y7 {2 U0 q6 {+ \- \
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* O* p8 Y: I: o/ W5 O; R7 R }+ T- w: |: a9 n( Z, f8 ?
}: p5 H. |3 @ r( u- Y
8 M0 X; u6 B4 p' k/ c& v
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
. G7 ~( c A' a1 W' S% h 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) );
; B5 L. G# n' }9 H ::SetLight( bLight );
! M8 M4 {% M. w. K
$ ?, w8 l2 O3 ] // ±ao? ?D?í???ó á¤à? u/ {; K# W- ^$ R4 ^. H5 e. B* L
m_pd3dDevice->SetMaterial( &m_baseMaterial );
( c( e) T1 ` N4 ~4 ?2 @1 U! j + j# r( a; M4 w' B, ~1 \: |( M
#endif // not WORLDSERVER. t. z& E! }* h. N, N( F D& {8 a
}% Q4 G9 o- u5 @6 t% [ K
并更换
) ?7 |, I- L. mCode:8 Y q$ y3 W0 [- S4 U+ t0 n
__FLYFF_INITPAGE_EXT0 {( @- X+ ^6 D0 ^# x: s
定义
! S! d, }7 J4 ]0 I4 F" t* W2 I8 z2 n8 W
8 f8 ~( u; u- x h$ }8 q, k' R6 d( @
, @: L! T( X, X. H: {
现在终于删除我的狗屁加速...! W i5 S+ R7 J
, B) F/ O# Q4 s1 Y1 c
7 h( f! T" | s6 E" S$ g: w
* v( g8 b6 j0 S; w8 h" U0 T |
|