|
|
食品车:4 m" t) ?& _" z
尾翼:
, ]4 k0 n% J* M6 Q' j: n3 f
. Q5 v5 P: p0 Q0 }代码:
3 h3 o+ G. R& s1 [" P- X; h: GCWndAutoFood::CWndAutoFood(). b- B4 F% ?9 \8 ]
{+ F$ Z$ ]# g6 v2 ^7 c: g- q
m_pItemElem = NULL;
! n) W+ G! C$ M6 h) Z1 [ m_pTexture = NULL;
! D1 [/ n; K J8 l* ^ bStart = FALSE;
% p% F( t' r% ?* D0 F}
4 E( q; l6 ] c8 D8 k
/ ?& }5 e- m' ]! J0 RCWndAutoFood::~CWndAutoFood()
* w. N& q. P; ?% U{
: l$ {) c$ n3 K- |/ R* Q* j AfxMessageBox( "AutoFood ist gestorben " );! c/ S V i r8 L. g0 z/ n
}
6 D% Q- F/ j: e' `+ y9 I- JBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
7 Q1 X0 L$ F% [9 d- V{$ T; F! k | X! Y3 R6 |
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );$ Y1 P m9 c+ x7 K
}
2 z! [* G9 p9 |5 ]/ }1 v4 R" n4 ]' K
0 _' U, N: L1 SBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
( A$ @, G1 |: I# l{3 j3 X) @% s" b
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );# z5 B- _& O& v9 y0 Z" O# H* N
CRect rect = pWndCtrl->rect;
" l5 |0 a" @4 M9 `! }) H if( rect && rect.PtInRect( point ) )
9 H; F. A: N5 t& w3 n {
& [7 K& J+ T1 Z9 U5 G5 a+ T. c* }6 w$ x CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
6 O- e$ ]# K% f9 L if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )# {9 r) y& ?; J: W! Y
{
# ^2 R3 `8 Y8 X. |$ U if( m_pItemElem )+ z7 ~9 c0 b& r
{
X, o; Y/ b# F8 U; w m_pItemElem = NULL;% A$ s: q& _8 s, [
}
6 a2 g. ?8 ? L5 e- T2 b7 r m_pItemElem = pItemElem;
" ?6 E- l* m* K; A: @ m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
~8 w: g1 d9 o# ? }else{0 V% B: ~& v! H6 d
SetForbid( TRUE );
: }8 d; j* X( z. B0 a8 U, q" m }5 @2 @ H7 F5 _! N' N2 _0 S4 h {$ W
}else{
) a' r% e5 t' J% E, H5 d: z7 n, R SetForbid( TRUE );" B! k) P" _' g2 I+ p& [3 C7 R
}3 _# U! I5 e& `2 }
return TRUE;
5 a) e, k) w8 Y* j7 L6 F0 g z}
& B. v; {* _! Z- [5 m5 u7 @7 a. h1 k
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
0 c, g. i) ^! a# Q{# o9 ]* Z$ K+ T; F7 n
switch( nID )8 E" H- q2 R$ O/ W
{/ T) a4 f# a& l8 ]
case WIDC_BUTTON3:
! ^4 _( s; x& l) A {6 R% d$ i- u s- \3 @8 o( f1 i' j
bStart = TRUE;& ~/ ?6 a/ g! c# l( p, n& k
break;0 m+ c. P& c/ ?( v0 e0 ?# ^
}' T4 B: {1 R5 t* h9 [! d
case WIDC_BUTTON4:
. Q0 L* S4 i' \% f _ {2 x5 L6 y1 @2 j3 d+ u
bStart = FALSE;
. F6 `8 i0 y/ L2 j1 l* }+ d break;4 ?) N! ]9 f) E
}
+ o1 u5 x1 e+ d" j }2 T! y' n5 G- @9 v5 l
return CWndNeuz::OnChildNotify( message, nID, pLResult );
( M0 \# w T5 I* g5 B}
( R6 n: s' l& V6 {& d( rvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
5 [1 [* n1 }& g, o; N{& F. J( k; \5 `8 A; u3 O
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );: P; S; s4 ^4 z- m& H$ W& @
if( bStart || !m_pItemElem )" j- K: L% J( w- \
{* }! |6 }: g3 o) {" L- s [; Y
pBtn->EnableWindow( FALSE );
2 E m; B @) J$ s% z2 B }else q1 ~4 i7 {/ ?# q8 W# }
pBtn->EnableWindow( TRUE );2 `4 E6 B7 d- o5 ^; t' P3 {
if( m_pTexture )& i7 I/ _: F; N7 F: l; R
{6 r' N: }% r. Q9 M0 T0 T' T2 i' f
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
$ m4 c, ^: I% y if( wndCtrl && wndCtrl->rect ) {/ e7 C3 m# V; G
{
. O' k# [& H% T1 Y m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
0 x2 U& t5 W! P# J& B, V! U8 E }
, l2 X/ K% w5 e/ _ }6 j* }3 _% p( G* W
}
8 v& }: w5 [4 Q4 A
+ X f1 H2 r3 y& |+ d" eBOOL CWndAutoFood: rocess()* s' R$ @4 i% Y* ^
{; {! B0 Y$ D7 i( K, P- j4 u
if( bStart )! I: f* ]2 f/ ^# c) r. O5 B
{$ ^ C$ c" f4 J* N; D7 E
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ): N3 g. k; P8 h% i8 u
{
3 q# `1 P+ Y! A4 { if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )+ t, m* U, c" K5 i8 h
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
3 [/ @" z* z$ i3 Y }else{
' j0 o* `* }3 r' W: n bStart = FALSE;: d5 z l2 F0 |( `! Q# T
m_pItemElem = NULL;7 q5 G/ j6 n+ M
}: q4 j6 w, \. G9 y- n9 i
}
X: x) P- a6 x. b# T3 j9 h) C return TRUE;
4 }2 L3 S6 g0 x& a& `}7 P& Y; k* ?' e* t2 J( ?: Y
- e/ u. n& \4 n8 X0 e1 l4 ?登录视频废话:/ H' z0 O* c/ ]/ x: x0 ?: j6 b$ S, ^
尾翼:3 v9 a/ n" X0 S8 k \
4 r+ a( x& P' G8 r. D代码:
. b) @0 r8 ^/ O6 B8 C7 n: D. Y
7 Q$ w% ~/ \2 `8 }' S: ?void CWorld::SetLight( BOOL bLight )
8 w/ O! S: h" h( v- }& l; _durch8 C! g. B3 u) A8 G4 b
Code:
- l1 Z4 J% ~2 l8 Z1 Ovoid CWorld::SetLight( BOOL bLight )
/ W8 V8 a1 j0 H2 F- c{5 n3 K) u0 J0 `) B
//ACE("SetLight %d \n", bLight);0 {" A8 ~- |3 {6 U8 R2 ^
8 o+ o( O% W9 r) F0 X! |1 o#ifndef __WORLDSERVER
" W9 c! b/ y1 q( m# B, F DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
9 f5 P" D" y% B! |' q& e4 J CLight* pLight = NULL;; Q7 @5 f; O7 @" D: x/ R( J
) Q& d. B& K5 X5 t9 p. _- g1 G% W' N D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );& H- j& t2 C2 l& e7 b0 D
3 y4 I; N% M; D- r: U
pLight = GetLight( "direction" );
5 e& z% a3 W0 z" k0 I) `5 ~' _; p) F2 G4 i* {6 w
#if __VER >= 15 // __BS_CHANGING_ENVIR F# V) h) c7 k* ]' y ]' e# J7 u* n
if( g_pPlayer ){
. x* t. C9 _, F% g/ J ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );4 v3 C' h# }7 r: S( @. {) h8 {
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
' k1 E. E/ r1 r7 M! u {
! X0 X/ e! l8 i8 k3 N! t% n if( pLight )
. F$ m% T' N3 O: D- h& \ {9 k4 c/ O, a. B
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];* r; k, {0 H7 j& D! Y1 b
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];$ u# X4 }. V7 V
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
; b8 M' y4 ^& ^, m; G/ x
+ q$ r0 Z* B" ? pLight->Specular.r = 2.0f;
+ W; w$ @# N" ?' z# i' D7 F pLight->Specular.g = 2.0f;
, h6 U" d( u# L, ^5 A/ S' | pLight->Specular.b = 2.0f;
$ U( _4 }. b$ @% o
7 `1 F+ C! i p J) W% I8 X pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];% c4 T1 \' `3 x2 ^5 f3 Y
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];8 f! M$ |" h4 @: \3 x4 F
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];% h3 I- Z- I; l' D* \% H% ]5 ~% q( S8 e
7 ?+ b! D: `/ |# B2 u! v7 b. @4 h HookUpdateLight( pLight );
# a' k4 O6 a) ?# s# `: z
( |6 H% T2 O2 d memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );2 K5 s- o5 E4 c! y) d6 B6 ?
% H: G/ g& H0 U pLight->Diffuse.r *= 1.2f;& M1 |& q% ^$ a! l6 H! J
pLight->Diffuse.g *= 1.2f;/ a6 a. d o; o( C
pLight->Diffuse.b *= 1.2f;
6 j0 E- |" W8 U; B, n
$ h! A5 h7 G) E; _+ P, h- ]# W pLight->Ambient.r *= 0.8f;( z. O v" X+ a% c! p
pLight->Ambient.g *= 0.8f;
Y$ }/ v3 C, U# G pLight->Ambient.b *= 0.8f;0 Z1 N9 }, V1 y, w
$ H0 \7 o1 o/ P* e$ @ memcpy( &m_light, pLight, sizeof( m_light ) );7 |, U; Y1 k$ i3 i. z& o
7 Y( `4 t8 O) s& V3 L( s
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
/ o# c( y7 N3 S' r, _& O D3DXVec3Normalize(&(vecSun),&(vecSun));
* i$ J0 H# u( I) Y1 X pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); * G- t. c, i- O6 N4 C
pLight->Appear( m_pd3dDevice, TRUE );% O0 @' ~+ u6 W6 m, N
+ w( ^4 S4 U' J! X) Y7 H. [ DWORD dwR, dwG, dwB;
9 ?& K$ D& F7 k! B dwR = (DWORD)( pLight->Ambient.r * 255 );" M6 K7 R% r' O: A8 e# }
dwG = (DWORD)( pLight->Ambient.g * 255 );
9 }+ p! Z; L k" r0 ^* q dwB = (DWORD)( pLight->Ambient.b * 255 );
9 ^& a& Y1 a' ^0 l dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );" A+ B6 W, H) B3 h
}/ V' N1 ^6 N7 K6 r- q9 v9 E
}
; @- T% L2 g- T2 H# I1 t }8 V8 g( f5 T' z
else
; V& O1 w7 j9 u9 K5 Z; z; e#endif
! a7 R7 @; n* G4 @# d8 O% K* E4 f
5 G c6 n2 l7 W4 o7 d if( m_bIsIndoor )
9 S2 K7 k; ~! n) t S {# `: J# A3 S, `, }+ K- b( Y7 a
if( pLight )1 U6 Q' H$ a$ ?/ C
{ " c' l8 u$ n2 d& u
// à??μ oˉè* $ x. b( I! e- u' s+ o
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
|; e4 \$ S" h# g% g9 I" V( h pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;2 s% t+ Q5 E' q3 b: w2 B4 d- j
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
" K* H4 ?# K! G. m# o+ M" G7 p4 [3 ^/ q' v) v
// oˉè* ??à?
4 x6 { u/ ?% R9 q0 H d pLight->Specular.r = 1.0f;
. U i4 M1 g/ T pLight->Specular.g = 1.0f;
& w, C$ h* o% C e pLight->Specular.b = 1.0f;
7 W) I, T4 o8 m$ a8 @, j // àü?? oˉè*
; b X: m+ ]6 N' \ y. d pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
; m4 f4 k# E5 E( U; v- ` pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;( Y: ^: a- ^6 ~" [1 x9 G# @
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;2 p5 J4 |# ^1 z* E/ u% J9 S
7 A/ W S9 h7 k
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.2 r& M5 H- s/ o% U
{6 A! A2 H3 s, G1 Z) {* M
pLight->Diffuse.r *= 0.6f;' I1 ~5 g. ]* w
pLight->Diffuse.g *= 0.6f;3 V# L8 \9 H0 Q, Y& C" B# B" R
pLight->Diffuse.b *= 0.6f;
% p- g( r/ \; u: b9 }/ B, [8 q1 {; i pLight->Ambient.r *= 0.7f;
# |" k6 B" J: ?) M l pLight->Ambient.g *= 0.7f;6 ~ w2 p: t" i9 b
pLight->Ambient.b *= 0.7f;
! Z' C9 d7 k9 U j& O# U }
3 {% {0 {& r# L$ Y8 Z
* k' O/ r8 | j4 s" X) i7 Y6 g#if __VER >= 15 // __BS_CHANGING_ENVIR! u/ w. \, u! @" g0 a
if( g_pPlayer ). M7 Z. G1 I/ Y
HookUpdateLight( pLight );3 _6 N% J! |" Y- n' z2 x
#endif5 ?$ Y8 x, o: {
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );$ H8 Q$ D" H- i% {6 Y
, A5 @8 ]; {4 U, e# N7 z: D
pLight->Diffuse.r += 0.1f;
5 _- M( [5 r, a0 i pLight->Diffuse.g += 0.1f;
& _) ]" {+ u- e: S( s+ A pLight->Diffuse.b += 0.1f;7 b( w1 X- c3 H% X. p
// oˉè* ??à?
/ M, @0 ^8 K2 Q* w+ l8 Q pLight->Specular.r = 2.0f;3 Z9 k/ B- p* v% }) |
pLight->Specular.g = 2.0f;
5 H+ r! B Q4 } pLight->Specular.b = 2.0f;
4 |* f9 Y* f, U1 C* v% @" b& `/ y // á?oˉ
- [- z* ^5 H7 i. t3 e1 ]4 ^ pLight->Ambient.r *= 0.9f;
! i& D, p* R; x; o) w8 ]1 s pLight->Ambient.g *= 0.9f;9 {6 A' N7 C0 p& L) R9 Z1 o
pLight->Ambient.b *= 0.9f;: Z4 Y6 ~% u" g. |" N
2 W" L/ c/ r5 p+ F: P; c/ t' r; U memcpy( &m_light, pLight, sizeof( m_light ) );
- t4 } m/ s- Y* J/ V4 B1 U
# Z& P8 i5 x5 I/ o4 d/ @ pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
9 v) K8 `+ J3 E+ @) ^5 z$ } b pLight->Appear( m_pd3dDevice, TRUE );7 Q$ t/ o8 a! K6 c4 n
0 t- [- T5 ^; W6 j g: n- F DWORD dwR, dwG, dwB;
8 E1 @6 ^; ~8 ` P' V dwR = (DWORD)( pLight->Ambient.r * 255 );$ H# _5 G- m X
dwG = (DWORD)( pLight->Ambient.g * 255 );
w5 o, ]6 ^8 b0 y4 D7 V dwB = (DWORD)( pLight->Ambient.b * 255 );
, T: `/ O6 F. f( G/ Z dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
' r, m! v3 |0 M7 C! J }9 q& J. R$ D5 i$ D
}( \9 a7 P( Q8 m1 g
else. _0 O* d7 j, B" y% b
{& t9 B2 q7 I; v0 L( v9 J" |
if( pLight )
% I, b0 s$ B0 ^, h5 c+ L/ d {- R6 O9 s. z1 `
; b. [ B0 m. ^+ E* }9 c
int nHour = 8, nMin = 0;
% D& f) e( h+ \ `, B5 | #ifdef __CLIENT% u; p9 s0 e! ]' I% Y
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
1 F6 n% v/ W( O% o4 y9 {- K nHour = g_GameTimer.m_nHour;1 ^; B i, A7 I; f; ]# g7 W
nMin = g_GameTimer.m_nMin ;
2 |7 P' s2 \' k: p8 F #else0 l7 t2 y& C1 F q& w5 q: Y: D
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.; g% k- M, x5 B- w, G
if( m_nLightType == 1 )- S9 E( R' y+ M/ B, H. C% P
nHour = m_nLightHour;2 G# c i# [! L7 I
#endif& N! V' I, |" [1 ?
nHour--;' l6 [6 M7 m5 l& i9 B# E
if( nHour < 0 ) nHour = 0;
. P, a! I& |0 O/ d if( nHour > 23 ) nHour = 23;
0 \2 D5 ]9 q& k$ ^+ v$ z- V, W; F0 U
//if( m_bFixedHour )
! }! B- [- C' k- j3 C // nHour = m_nFixedHour, nMin = 0;% h9 g6 A& x, r% y a4 I
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];; @* @- {- L* m$ F' ~+ Z7 X
LIGHTCOLOR lightColor = m_k24Light[ nHour ];' l9 x+ P4 W5 B1 T8 ]% d
1 m1 ^: \. T E8 a& w- w4 D //m_lightColor = lightColorPrv;( b1 {) e& F5 j- B
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;2 m+ {" V8 f& H
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;& D, [6 _: }" \. `
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;' L# S A% I0 A( }
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;- z7 `- k+ v; [. g* [7 U
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;" p* S0 v% j; T% Z+ v- T
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
+ Y4 t c* \$ w x B/ G" @8 z // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
- f0 T7 k3 H2 [, e: \2 _1 k
k, E. b7 s b4 u1 V5 z // à??μ oˉè* $ `7 S" P% Y! u. }
pLight->Diffuse.r = lightColorPrv.r1;
# E V, }0 X- ~$ H pLight->Diffuse.g = lightColorPrv.g1;
/ C' E% A" U- Y d pLight->Diffuse.b = lightColorPrv.b1;
( x2 k7 R8 Y. I6 ] // oˉè* ??à?
2 Z3 S \3 r: q% y: } pLight->Specular.r = 1.0f; H: ]2 C4 i& Y
pLight->Specular.g = 1.0f;
8 ^1 H v0 g6 O- Y( M3 o pLight->Specular.b = 1.0f;
' \4 p' ?2 v3 M // àü?? oˉè*
! b- f0 W" F2 s$ B- z pLight->Ambient.r = lightColorPrv.r2;
; i. y/ r' v% g! F pLight->Ambient.g = lightColorPrv.g2;! u8 D% U& U2 _/ K, b( [, }7 R) Q
pLight->Ambient.b = lightColorPrv.b2;
# p( ]4 y9 d1 @& M( ]. T3 ^
& N8 P! j; C1 V4 W if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
5 `1 S( c$ N1 Q# |/ Z {
! ~# i6 f$ g: W' Q* [ pLight->Diffuse.r *= 0.6f;
( f! }: p! ?1 c4 H& { b! g& o pLight->Diffuse.g *= 0.6f;2 W$ W6 p6 I5 _ T0 y
pLight->Diffuse.b *= 0.6f;3 \1 g+ S. C7 | `; l
pLight->Ambient.r *= 0.7f;; y) t/ x- v* p l( }
pLight->Ambient.g *= 0.7f;' K# m V' ?) u n
pLight->Ambient.b *= 0.7f;
5 W3 Q7 `) e+ D9 r5 P }$ f1 G, T: R/ b. T
- U8 Z4 F# ~6 U: i& ^#if __VER >= 15 // __BS_CHANGING_ENVIR5 F0 p( m# T0 [
if( g_pPlayer )
5 f1 p8 Z4 @8 y; m HookUpdateLight( pLight );
U# ~& w0 t' B$ P+ Q, h9 l#endif8 s2 O' D% `( n5 a/ L. B3 ~
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );. ?7 i( ^9 C/ D
2 r& I" S4 A) b/ \ j" d
#ifdef __YENV+ F8 [7 H/ | \
pLight->Diffuse.r *= 1.1f;
( z& H: T1 m, u pLight->Diffuse.g *= 1.1f;
0 w3 `. U& I. c& @) U pLight->Diffuse.b *= 1.1f;
6 G+ t/ V+ B* _6 m4 x( p: X. \) G // oˉè* ??à? 1 V8 y- R. t( e% b. t
pLight->Specular.r = 2.0f;
# u" D' _: d$ `3 m pLight->Specular.g = 2.0f;
! ?+ N G) H2 z! @/ s) D8 V pLight->Specular.b = 2.0f;
. ?- O5 Q5 W Q8 |: C: u+ o( ~3 \ // á?oˉ
' M7 ?4 a; v" K% g* f/ _ pLight->Ambient.r *= 1.0f;
( b+ o" n" e4 Y% \2 k' n9 [4 x pLight->Ambient.g *= 1.0f;
`' r u' b1 ~1 x7 ^0 U' ]2 a pLight->Ambient.b *= 1.0f;
' Q* g, J1 {2 W#else //__YENV/ }2 K# g: t# g4 u* K
pLight->Diffuse.r *= 1.1f;+ \# A0 V& _) |
pLight->Diffuse.g *= 1.1f;
' T0 ~' Z. j: q, C$ v8 B pLight->Diffuse.b *= 1.1f;; }1 B- D1 Z$ O$ `4 i
// oˉè* ??à? # m$ | K& M. }. G
pLight->Specular.r = 2.0f;, Y4 @8 Z2 u% F' Y; n6 w6 v) `: u
pLight->Specular.g = 2.0f;- O* @8 ], ^5 z2 v. T/ _4 Q
pLight->Specular.b = 2.0f;% X) g8 w6 N8 Z% m, [
// á?oˉ
2 p1 Q7 f: f D0 F pLight->Ambient.r *= 0.9f;
( a: r+ `/ Y) E, v" e pLight->Ambient.g *= 0.9f;8 H: K$ m* @: h- k, C
pLight->Ambient.b *= 0.9f;$ p+ B! i7 E, K; G
#endif //__YENV 0 @4 l; ]$ p+ ^, E6 ~% C
$ a( q0 N+ q- J memcpy( &m_light, pLight, sizeof( m_light ) );
% l P$ u5 x+ I" } ! o* W7 C1 L5 f1 a
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
8 `" o) q6 j/ G: G* Z9 c D3DXMATRIX matTemp;
0 h: t1 P% w! s) _5 _ static const float CONS_VAL = 3.1415926f / 180.f;$ r8 O5 P, c4 W: o
3 e! k' L* {- q2 Z9 A D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
; ] l) `5 \* W5 `5 d D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);. o1 U/ r2 d. Q: n) {
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); M; \2 \; `- M* S0 r
pLight->Appear( m_pd3dDevice, TRUE );* O) `: p3 o/ W: c. \3 [! w
% \) C3 l- x! F6 H
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);7 H8 C A$ q# o) [) Q/ M
// D3DXVec3Normalize(&(vecSun),&(vecSun));; p& m# i& N2 ?1 W, w
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
3 Z' Q# ^2 Q; Y' Z! q! g8 Y, Q- M9 _- ]/ V
DWORD dwR, dwG, dwB;
1 v4 F! g+ O6 e9 S1 n5 a' S dwR = (DWORD)( pLight->Ambient.r * 255 );. p, y6 g6 D+ I% {1 R# y; d$ K
dwG = (DWORD)( pLight->Ambient.g * 255 );
4 g" S# |1 t2 y F dwB = (DWORD)( pLight->Ambient.b * 255 );. z9 g# j0 j, _& W W
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
8 p& \1 k7 k: G4 |/ b1 u8 } }
: O J. x7 K! t }
7 j& Z" c: H, c5 Y% j) t' R# y: e9 {, x5 f% D6 T! \) i
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );$ Y7 u" E9 S1 J0 q) u& ~
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) );2 Q- o. J a. {# u4 o
::SetLight( bLight );
/ u' P( R$ ~' ?$ m$ q0 P
a1 t0 P2 X. K: K% U9 M // ±ao? ?D?í???ó á¤à?
/ i9 A3 U9 Y, D% g% j. R- ?, H: N3 b m_pd3dDevice->SetMaterial( &m_baseMaterial );1 ?7 b2 J+ P! |
% @9 u; y* D' L3 {8 f4 K6 {#endif // not WORLDSERVER
, L5 }; f2 Z9 p}' {* N" O: }% V3 t! r
并更换2 i) t2 H% I I1 z# u1 B9 _
Code:
. u% O8 A K2 p2 F__FLYFF_INITPAGE_EXT3 E9 [" i3 O/ V; A( q
定义
! r. Q4 C- q5 j; ]
% a/ i9 X4 G* h+ S; d' [; J, r$ Z1 {0 u* w* h& Z
+ s! k; E5 @- ]0 a/ r4 n- ? v2 |* g; @3 h' F) u! z8 Y( \* c" g
现在终于删除我的狗屁加速...
- Y5 \; W$ }9 L' X) q, z9 y: H
1 X' ?8 w- e/ I* j: e: ~+ p$ {
) H+ N6 f) J& T- `& I0 b, N
5 D2 y U# Q) _. T: O |
|