|
|
食品车:4 W3 S; K6 z3 Q; s$ k3 a1 n& K
尾翼:; U1 I7 I. I# r' z* _& c
/ Z" L8 o7 ?: l6 O K
代码:6 m) A7 o) h+ l/ h9 M
CWndAutoFood::CWndAutoFood()# ^( b/ M6 t8 m& p) r' |+ |* h
{3 Z; [! j7 m0 [: j& _
m_pItemElem = NULL;; D8 z7 p: D# Q- ~& H
m_pTexture = NULL;
( [3 R. p9 |+ R7 I7 \8 | bStart = FALSE;2 q! b* x& b2 N H- O5 W
}
! s* g! E) n, k* t! F" a" `& S& Y' l- n C
CWndAutoFood::~CWndAutoFood()
: s% I6 K0 Y. ^; g' |- A6 O9 q{* q! z9 u% x& g
AfxMessageBox( "AutoFood ist gestorben " );, T: y* Y# J. h# n
}
: q8 |, j+ n9 [3 IBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )! ?; j" L# {6 w4 I6 t) q8 z; i
{9 k+ \+ N) F3 h5 r, h& J
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
# x# m# U5 _. D) e% w5 k+ W}8 [5 U! i% A5 q) e" Z3 H
4 O, x) Q7 c) H1 FBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point ). O" J/ r0 l( f
{9 Y5 F/ ]$ Q. C7 a) q" ^. O5 c* J
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
- h) ^3 g6 Y7 d4 a, b2 W CRect rect = pWndCtrl->rect;0 I- H; }2 A2 [. Y
if( rect && rect.PtInRect( point ) )8 F7 u3 M. v- X6 T+ n+ Z# j% I, q
{: H D+ ^* K/ e: W
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
* q; G& r! g, E4 x4 S if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )1 J; j% \( ~9 u1 ~
{
1 S; o2 j$ A- G7 O! a6 f if( m_pItemElem ): G6 v z+ S: G0 R% k0 d
{9 N) q! K1 V R% O+ I& @! _3 \
m_pItemElem = NULL;6 ~$ I9 [5 B0 P/ o. k, }
}; n% \, F6 z5 N* c
m_pItemElem = pItemElem;1 e. T3 u& H5 y
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
) f/ l! s) a! N }else{
" ?/ i8 v0 B- S4 V; [# ]) I! ^ SetForbid( TRUE );/ U" ]' b" I3 p
}
5 D( F8 a q, a7 g. D4 e }else{9 @ z. \9 a3 E5 w7 q
SetForbid( TRUE );: c( L, C6 K& p$ {
}3 H8 N) o4 `9 n5 ^& @- D- b
return TRUE;
- d- u+ P; C* m+ |- ?4 R}5 _; o& S/ U+ M9 B
4 x o \2 h& EBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )! J/ h' g: z0 n1 d
{
0 v$ E5 h( r6 k" z; M switch( nID ), m( K, d( H! Z6 G* s( N
{
2 J$ N. z& {- [9 s case WIDC_BUTTON3:4 i% D: Y1 G1 L% h) [
{- O+ g! u) z: i& }; S6 D
bStart = TRUE;2 R: q& e p4 j+ a; n" ~
break;
, C9 q* g1 ]/ ?' m }
% u+ D2 G$ p5 t/ U4 G& x case WIDC_BUTTON4:
5 @$ }8 f0 A6 {0 y6 \- T {
% Y, }4 A$ ?& V bStart = FALSE;
! Q$ W6 ~9 r, v1 o break;8 n; g$ t g/ J& O- c
}5 k( M9 {5 ?5 n' m# v
}; e; P" b2 c7 R6 l3 q1 r
return CWndNeuz::OnChildNotify( message, nID, pLResult );
5 d7 ?. q5 b$ W& n, b. ?+ p4 i' }} % G9 B' _5 d3 P+ \8 y7 ^. x7 B6 l
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
- J' S8 T; v8 g* S) T7 g{1 ?+ d8 |! X8 O+ j- u$ p0 A
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );( r5 g; X% F6 f# Y# Y7 ^% ?
if( bStart || !m_pItemElem )
6 U: E3 d k# _8 l {) T4 z3 l2 \( C$ Z* ?+ O& ?5 v
pBtn->EnableWindow( FALSE );
) y7 D. Q% `, N8 @" b8 t }else; T1 B1 q7 F4 s- s# o
pBtn->EnableWindow( TRUE );, k2 ~! Z% E i# `) K/ |
if( m_pTexture )
/ c& u, f, v F% P6 ? {1 i7 G0 N! L0 T0 H$ E
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );% k0 z: h# T( x
if( wndCtrl && wndCtrl->rect ). l# f5 r o, y# e2 k! U
{
+ @/ L7 T9 N4 f( A m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) ); N( N4 c/ I( [' ~: l: Q
}
, p( { o. y6 a }
4 z3 ]( o# x1 o0 b9 T/ P} g2 x( N+ O! V) u4 U
4 r/ R! G ]7 s2 t6 K# X" X9 {
BOOL CWndAutoFood: rocess()
; f' W: n. V0 `& d U I{* g* x( _8 b/ u# D) N' ]
if( bStart )
- }7 b) x9 q. B9 H4 s, ] {, Q. ?1 t7 @# L& h/ b% z
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
- @/ L+ ~4 s! e1 o ?6 _' N {
H; B2 E# m9 ?* b if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )* N+ o( m* j' y" v
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );9 b+ O+ [6 m. G6 k: u
}else{+ ~$ t( w5 Q) G" G5 U. {, ]
bStart = FALSE;# V1 h ?1 E4 Q5 \! b- e% ~
m_pItemElem = NULL;* |. h1 v. n2 F! ^" q3 h1 m
}% P d+ S, f2 ]5 p% m* A) D
}; `( B6 {- K, Q- ]6 m
return TRUE;
K, d) Q, z( M- B: |* d2 Q}
! g. h# j3 g1 {$ F. `7 _- D" G$ {- L
登录视频废话:
9 u2 a. Q, ?! M( g* f Z5 P尾翼:* ^& ^4 @7 x( ] N7 B2 a6 o
; S2 b' |8 j; [( S* x代码:/ E0 b; J8 B1 Z$ B K3 V8 Y
' _; v! `# k9 M: {6 e3 D/ yvoid CWorld::SetLight( BOOL bLight )
3 u( y3 v$ [) U: A0 d4 ~durch# }3 \$ J# X6 q0 S- K
Code:
; f' S9 i. L# Tvoid CWorld::SetLight( BOOL bLight ); y/ W' l. A8 @% ? x
{4 Q) }) S' _7 w$ {3 \
//ACE("SetLight %d \n", bLight);
. Z' ?, F0 n" `/ u2 q8 Z
2 W. m- t8 D3 W: N" q: p; O& ?2 }#ifndef __WORLDSERVER ; K1 Q' g* j, }1 e% V; Z% v1 F' H
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);" i* D* X1 r7 E h L8 y# o% A
CLight* pLight = NULL;
2 } F8 K7 O& I. j" |6 T5 Q% d% g5 E! B" r# P3 [1 S3 x3 F$ |
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
- ~# B5 r- r3 e/ `; n1 |
8 a9 H5 x+ }: p pLight = GetLight( "direction" );+ h* T ]0 Y$ C: }
6 p6 a# D4 y5 p) H! E#if __VER >= 15 // __BS_CHANGING_ENVIR
) ?/ U# ?( `; D# X if( g_pPlayer ){" s% B# L3 L: n+ d: ]7 m
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );2 h# `4 O; P9 f1 D5 L/ @8 E
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
E/ \: p& Y' J! [4 W {
* o. C: P' G0 w' X Q' o, f if( pLight )
" Y1 C" }0 ^) `' i2 j0 t) P {, G& t8 w$ l! s: A& y2 A
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
0 F. I- T3 m0 ^, ~) m' W pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
# @$ N9 s1 [; { R pLight->Ambient.b = pInfo->_fAmbient[ 2 ];$ R9 I; D/ O: a- Z3 n
9 m4 D* g0 i# Y. U( a9 q pLight->Specular.r = 2.0f;# m8 g0 A1 N# J9 R1 }
pLight->Specular.g = 2.0f;
" }1 w& z4 b2 R' d& c pLight->Specular.b = 2.0f;
+ v8 q. j, K. P! s% N. H# v2 T* d2 P . n* T7 H! l% o) B8 Z# S( ^ T
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
! v% y. }! j$ l4 {, P" y. ~ pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
2 W( x0 B" X8 b$ T6 j0 U8 V pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];5 |( ~2 W4 N# W4 o+ l
N! O, z4 [0 K$ a0 C9 P8 t
HookUpdateLight( pLight );
, \5 y! V& q; [( o; S; m9 V7 f0 w [2 N7 }
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) V4 D: q$ Z, ^- W u
9 ]! c- R3 B# ~ ~ pLight->Diffuse.r *= 1.2f;, G/ r" @7 I$ M. X- ?+ x4 ^
pLight->Diffuse.g *= 1.2f;5 B' h$ F2 } g
pLight->Diffuse.b *= 1.2f;4 w; V8 u c7 J* L$ v6 j/ g0 V
5 \- R' S8 ^3 [
pLight->Ambient.r *= 0.8f;
; s; C, z/ M0 W! s' b L pLight->Ambient.g *= 0.8f;. e3 R+ a! \ j
pLight->Ambient.b *= 0.8f;
; H% t$ i3 {# N4 A! s6 Q( w9 m' Y ; z( ^% d# j4 c
memcpy( &m_light, pLight, sizeof( m_light ) );0 H$ n9 Y9 ]% b3 T* q* i
+ p; I9 d& `5 U t D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
; V' _( P) u+ Y6 P' ] D3DXVec3Normalize(&(vecSun),&(vecSun));3 U9 Z, [8 o4 R
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
, K; x7 a" T0 _7 I0 r* m8 g! f pLight->Appear( m_pd3dDevice, TRUE );
- L, ^. P. I- h. }, j0 W
* b; B/ L( X7 y8 P1 I DWORD dwR, dwG, dwB;
0 Y6 u! A# S( G5 r* v# J dwR = (DWORD)( pLight->Ambient.r * 255 );
+ [ Q0 \* |* E1 H dwG = (DWORD)( pLight->Ambient.g * 255 );& U8 f( z0 f4 t8 d
dwB = (DWORD)( pLight->Ambient.b * 255 );
5 e7 s5 x( b/ e6 b dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" X! g9 F! C* [, a0 _" [& Y }
+ `0 |: k$ z: ^# f$ | }! `6 h" I2 Z2 h3 v
}
_2 X/ N$ n. x2 P else
' C: Y6 N9 M# F#endif 7 y) I! v g* e! S j7 g. V! l
' V M) L5 q1 C; ?# o- K5 j
if( m_bIsIndoor )
( p8 H. Z5 D+ r) {6 t' p {" A$ E: {$ Q A( Z
if( pLight )7 y, I% k8 D) W
{ 0 M% _ [. j/ Y# U
// à??μ oˉè*
; @5 z, o" \4 Q& C+ U pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
3 U& ~4 |/ p2 v9 K pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
$ Z# R# w$ B. F# l( U3 I: B pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
- f" N! Q& Z* ^$ J7 S( A5 T E, i/ g
// oˉè* ??à? ' y& N& j1 e; i D9 x- g) }$ R
pLight->Specular.r = 1.0f;8 ]! C1 {- k1 K8 [. f2 S: D
pLight->Specular.g = 1.0f;& M" c) m) b9 f' b! x c$ O
pLight->Specular.b = 1.0f;
8 V" G+ }# k6 q9 p // àü?? oˉè* / m- u8 H0 Q2 r
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
' j' E# j+ ?6 _! v pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;# p$ P# O9 j: r. s! w2 Z: u3 e
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;. Z- t. g# F5 c0 z
2 Q7 e; o, i1 _9 q, ` if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.3 I; H) g1 ~4 i* N' A
{
: h$ v' X8 d; l- h$ L' b" n7 c pLight->Diffuse.r *= 0.6f;: ^2 y: J& ^1 h0 X) R
pLight->Diffuse.g *= 0.6f;
5 R# W5 |& i+ @! p pLight->Diffuse.b *= 0.6f;
3 T6 X* Q4 h6 b8 {" X pLight->Ambient.r *= 0.7f;
: }9 u* k6 @* ]6 B l: b pLight->Ambient.g *= 0.7f;) r3 ~5 V3 Q# [5 Q9 R. E
pLight->Ambient.b *= 0.7f;0 X' W u. J1 U7 `% \
}! b3 V2 f+ h% n, H- _' E, P: Q+ W8 H7 k
$ Q) j0 ~. ?/ y; A
#if __VER >= 15 // __BS_CHANGING_ENVIR
0 U A2 l3 [5 ?! L if( g_pPlayer )3 o! X. }- e$ B6 b
HookUpdateLight( pLight );
, H( q: t. D" b, t#endif- ^" W% R# Q. N; Z
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
, U9 j) D9 \. y( g- v! _* g" U! J4 b1 C
pLight->Diffuse.r += 0.1f;
2 U! U( J7 l1 Q: u6 w pLight->Diffuse.g += 0.1f;
; O# S0 \% k8 ]' v2 o& Z pLight->Diffuse.b += 0.1f;
& C) s+ k# s. B. x- D. x // oˉè* ??à?
! q- f0 M) U* B pLight->Specular.r = 2.0f;
8 g! `* ]' F. ~$ N" K$ P8 C pLight->Specular.g = 2.0f;
' O3 M+ U( ^ x8 l+ ]# A& p pLight->Specular.b = 2.0f;0 {, p1 Z% c( _% I
// á?oˉ
% W8 F, R" e+ ^# P X2 y2 { pLight->Ambient.r *= 0.9f;6 m5 D0 Z+ a4 S" u
pLight->Ambient.g *= 0.9f;" C) @0 K3 ]9 ~; p, w* m& z
pLight->Ambient.b *= 0.9f;5 E! g, ?/ `. t$ ]3 c; l; p
p, D5 }/ \& t/ V8 v: [ memcpy( &m_light, pLight, sizeof( m_light ) );* H3 |+ b5 f3 A* ] L
& S* ]) t3 i/ U
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
: L4 v' [5 c/ W pLight->Appear( m_pd3dDevice, TRUE );- R0 ]3 v5 H% q7 n# b$ t$ [
0 s0 {* B. ^4 C; A& R DWORD dwR, dwG, dwB;$ E( }1 g {4 x8 n9 G9 S2 d
dwR = (DWORD)( pLight->Ambient.r * 255 );0 ]( |4 i0 }2 _/ }
dwG = (DWORD)( pLight->Ambient.g * 255 );' b+ f$ d- Z% i, f& R, t
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 ~& t- X& r9 u dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 p. X4 p7 j/ G+ Z% `/ \% x }9 s" t- E9 H3 i4 V
}
7 r( D/ y0 [. A$ O! |8 d else
/ j o2 ~2 ~' C {2 q% W: [: W, I$ z
if( pLight )
& K* ?& w! E% J, m8 Z% X {
/ ^5 v I S2 Z" [* b' i8 l
: s( R) F8 F9 e/ z$ c int nHour = 8, nMin = 0;+ m+ u# |2 S0 a$ S" o( I7 Z
#ifdef __CLIENT" r4 g# i3 K; b; y
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. # @2 Q8 Q7 V& R
nHour = g_GameTimer.m_nHour;
6 X! z7 w0 d" P. b nMin = g_GameTimer.m_nMin ;/ T+ E# g3 M3 @- `
#else* v, u6 |; T! q; `) P" x( ~; D
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
; m& v3 q0 O5 i+ N if( m_nLightType == 1 )& w' K/ j. \. Y, Z" z3 o! @4 M
nHour = m_nLightHour;1 r7 e% u' C2 y( Y% P, b
#endif
" R! B* }! R4 k6 C+ R nHour--;
+ J4 `4 B! f; \5 x9 n1 D8 j. H$ @& U if( nHour < 0 ) nHour = 0;
5 D0 m3 g5 S7 j0 |! z if( nHour > 23 ) nHour = 23;- a( Z- f( F; y( W, |1 C& Q# `
& M4 N% T& o5 c+ L4 x //if( m_bFixedHour )7 i4 \1 J6 I* b2 Y
// nHour = m_nFixedHour, nMin = 0;3 \( f1 N# A0 x& }2 a/ ^4 c; w
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];" u8 t- x z; z& O6 p. p8 ~
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
/ a y: L, p# N' M2 J2 m7 N' Y @8 y1 y1 T5 G
//m_lightColor = lightColorPrv;4 S B9 `3 l+ |( q2 Z$ m# ?
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
! B) ~- `2 H" I+ ^) G7 [4 G lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;( L& n( Y5 ?: G4 c4 j7 s5 z
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;* H* s, n' a. ?5 Y4 L# p
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
% u {! z/ S- x1 q% a lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
3 P3 ^% i0 x7 \8 a5 t1 @ lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;( X& ~' h3 ]# J) v( B
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)+ [5 w& R4 Y- b8 V* K0 Y
) K; c( i, t9 G/ ^7 j: `( j // à??μ oˉè* * B" t$ x$ H; M3 n
pLight->Diffuse.r = lightColorPrv.r1;
4 S' @4 n* D1 f% E pLight->Diffuse.g = lightColorPrv.g1;
+ n7 v9 J) \% Z pLight->Diffuse.b = lightColorPrv.b1;
$ w3 G0 }8 Z/ R% p // oˉè* ??à?
# `8 V: Y, S+ `9 u2 T3 d9 j% {, ? pLight->Specular.r = 1.0f;0 U6 z* Y& `3 Y% R# O7 P/ K$ s( k
pLight->Specular.g = 1.0f;7 ?0 o' \0 y( \. A
pLight->Specular.b = 1.0f;1 x- J! H% w; [: p2 i0 ~% [7 z! ]6 x
// àü?? oˉè* / b: E, w, P) Z) b$ d: s5 C% _5 [
pLight->Ambient.r = lightColorPrv.r2;
- r& [* }5 h$ Z) f5 f; ~ pLight->Ambient.g = lightColorPrv.g2;$ z( k+ z. y+ l z1 W$ y! o1 T
pLight->Ambient.b = lightColorPrv.b2;3 B7 A; O! Q6 k+ Y
7 j7 @, m) ]4 v if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
; Y3 y# ~0 B6 p1 g! e% ?- X# R {& E q: y& T6 R4 a1 w
pLight->Diffuse.r *= 0.6f;& I7 W* @: g7 R1 {9 M5 ?
pLight->Diffuse.g *= 0.6f;
8 P4 u& q# m; J* X% E pLight->Diffuse.b *= 0.6f;1 D, P! W$ Z0 ?
pLight->Ambient.r *= 0.7f;- c' Z8 W0 {) _0 s, ^% M- V1 g
pLight->Ambient.g *= 0.7f;
5 c( q4 c: x/ E8 H. h! [: Z$ s4 Q pLight->Ambient.b *= 0.7f;' d( \( X _( D6 z
}
( k8 `% J+ y& t% n n3 | ; _! w" m. D' Z3 \6 S; i5 K+ d
#if __VER >= 15 // __BS_CHANGING_ENVIR8 H( T# P. |+ p& M h
if( g_pPlayer )( x% u8 Y2 B, F" d8 v
HookUpdateLight( pLight ); 7 F& K: t: k8 b/ a. ~5 P4 `* ~
#endif
! y6 ?; y9 i' _# a( ^ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );( V! t; U3 U/ I7 C k s1 L
+ Q8 ~9 }, H. V, C" {7 B: a! Y#ifdef __YENV
( h' C% b* W% L4 m. W3 R pLight->Diffuse.r *= 1.1f;
4 l, H; Q4 h$ ] pLight->Diffuse.g *= 1.1f;
& p6 a, ~; S8 O2 a pLight->Diffuse.b *= 1.1f;
0 b. p3 N: e) Z- C // oˉè* ??à? 0 X' _- V/ Y$ O# y
pLight->Specular.r = 2.0f;% a% p7 z9 k. k9 e0 h4 w7 i
pLight->Specular.g = 2.0f;, {* X/ `+ _1 H# ?/ S: P) R
pLight->Specular.b = 2.0f;
$ D: u, T7 V# N: p4 n# f3 O" @. c // á?oˉ 8 z# O6 i/ n: |2 c. S& i& c% z
pLight->Ambient.r *= 1.0f;. V7 r, z: v! c( Y( _
pLight->Ambient.g *= 1.0f;! d7 ?3 u! Z5 q
pLight->Ambient.b *= 1.0f;( X N$ D$ _9 ?6 b5 R# J4 p! \2 Y
#else //__YENV
7 w" ^" x2 G8 S( H" n0 w% I pLight->Diffuse.r *= 1.1f;
1 C/ l6 M: ^ t7 y6 Y q pLight->Diffuse.g *= 1.1f;1 k6 B/ A4 `" ` R
pLight->Diffuse.b *= 1.1f;
3 h4 k8 F% L/ z // oˉè* ??à?
/ v+ S$ _+ _, }, t) k+ P5 c/ t pLight->Specular.r = 2.0f;3 T a. O9 M- @! ~- [
pLight->Specular.g = 2.0f;
* X% X j) Y; d3 m; d' e, r1 D- k pLight->Specular.b = 2.0f;
b* p* Z' X( z1 z# U, d# i2 r // á?oˉ ) ?4 U7 @2 D$ ^7 X2 L2 O7 s5 S
pLight->Ambient.r *= 0.9f;9 L; @. B; a$ Q. W
pLight->Ambient.g *= 0.9f;
& t9 M! O. I: \ ~- ~ pLight->Ambient.b *= 0.9f;
0 ~+ P6 @( g) Q8 z7 G( I% {#endif //__YENV : P& B% s$ O* k) |' `
: y/ | i" ?# p- U; W
memcpy( &m_light, pLight, sizeof( m_light ) );( y. ?7 \9 M* S5 N
( L" |2 i# z Z1 Y s' ^5 w D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
@9 K8 }2 Z: c& `- d0 g( L4 Z D3DXMATRIX matTemp;; s; F1 r( B4 {4 [
static const float CONS_VAL = 3.1415926f / 180.f;
+ h: h" t8 v+ p+ u5 ]9 @) Y6 I8 p" Q6 W: z$ \5 \
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
/ r' V/ w" ^. ~( D9 q" x D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);3 W7 t, `" F! q+ s4 v# s
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); - R" a# l" \, M2 K3 Q
pLight->Appear( m_pd3dDevice, TRUE );0 N, w$ O5 D# q' a( [
: d$ W8 U8 y0 q- p' m+ X# G: ~ // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
4 l2 q) `7 d6 `/ ? // D3DXVec3Normalize(&(vecSun),&(vecSun));
3 V+ J& ?9 X: W6 k' {# n // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 8 ]. E2 j0 e4 V( ~6 r% U4 q
- o0 {% H: r8 ?8 \# S DWORD dwR, dwG, dwB;5 B4 P4 ~1 T! @$ i: o9 P1 j8 ]
dwR = (DWORD)( pLight->Ambient.r * 255 );
+ v2 F& e ?# C6 p4 R; n& M! R dwG = (DWORD)( pLight->Ambient.g * 255 );# w/ @: ^" w4 n# u
dwB = (DWORD)( pLight->Ambient.b * 255 );$ X& W# e5 @& V1 _! b
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); : Y0 b3 M5 s8 f: [9 Z$ |$ `
}
- h5 e. Q. @4 m5 e' \& E3 \# Z4 a }
+ `# Q5 J6 Y; z8 [7 u, A" L/ }" g) p y- n
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );: c, S: q9 q9 q6 {; B0 `! n
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) );
8 _& q0 r/ y, W+ n ::SetLight( bLight );
6 T* t2 c& B1 ]7 H7 ^9 L) \6 X1 k- L* S0 H2 Q
// ±ao? ?D?í???ó á¤à?
C7 z# q$ e# [1 Q: `3 e7 p m_pd3dDevice->SetMaterial( &m_baseMaterial );
0 g! I. r/ j9 m2 W" R+ ^/ c . U. w; c3 b6 a
#endif // not WORLDSERVER& p% i' o7 E, ?& K
}" T* G3 u8 T7 B
并更换/ X$ o: r$ Y7 \: x3 ]3 ^
Code: [' V; s7 s! H/ v: E5 D
__FLYFF_INITPAGE_EXT9 |% x! d+ E& X6 w' o, H
定义
$ ]# P- C# t3 U* k+ x# l8 x& [! S; }4 s3 i
$ v" d1 d. @: E9 Y( k+ J# P
1 B. h! w# r( p8 W1 d+ U0 O. |* L6 h w
现在终于删除我的狗屁加速...
6 I* E6 W) b% D# _7 b
& K/ w9 n2 _9 m# t7 ]1 F0 @( r
: ` P# A0 ?/ B, d" x8 P. h2 C) ]" h* [$ Z( `6 F
|
|