|
|
食品车:& i8 D- c9 ^' t
尾翼:
8 L9 Q% _5 [& H+ E& M# Q F& ?$ ?# \* R0 ~
代码:
6 l2 m2 s( k6 L/ Z9 O, Q' W) }CWndAutoFood::CWndAutoFood()4 G. M$ _# N$ E
{4 | Y, D9 I! B- X1 V% l
m_pItemElem = NULL;" j" ~- c% x, A6 x4 k' P4 g! E
m_pTexture = NULL;
9 J# S; H3 N( l' S. ] bStart = FALSE;8 I& [+ \% G7 L* j
}
" y& ]) X& N. u! w. `; L' Q
, S, }* E, s* v4 c5 gCWndAutoFood::~CWndAutoFood()
5 W) e( ?1 M6 ^5 h{) D) G- d0 h2 j" _% {: q; o$ T: j
AfxMessageBox( "AutoFood ist gestorben " );
* {1 U2 m; c5 P4 H4 Z1 m}( ^/ Z# f- [! U9 B) O" o9 Y7 Z
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )9 t7 R9 j, Y! }2 x( }/ {
{4 ^3 [ u- e" u# v3 I
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );6 Q/ M/ l- ^6 `; X9 }0 B* X
}
t- s% E7 K) p) r% O4 X, X2 f( L6 d" N: ^# Q
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )1 |' s% o' r) E
{! A6 l5 x8 S. K9 U& c
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );% Z0 ^4 I! U) W* F" ^
CRect rect = pWndCtrl->rect;
( M3 C1 b) L J1 S3 w if( rect && rect.PtInRect( point ) )
& |# G. T7 g4 `) E& o1 F {9 b( g) _! A5 w5 u- B! _
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
/ p( W# u9 z2 i1 n if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
; X6 F: j b- A# e9 Q {
1 \) q' U G, Z b if( m_pItemElem )
+ C+ Z! D% K( C6 r+ ~4 q+ h {
4 ] t7 J0 r6 P1 T* P6 ?, ]% | m_pItemElem = NULL;
" O+ R s; w7 ~+ v2 S/ Z3 G/ j }: ?# h! ^$ U8 r
m_pItemElem = pItemElem;
! e q3 _6 V7 [9 R8 b( T- ^6 w m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );. w# M: i3 p- V4 O- i% U+ ?) r
}else{% s# q, C/ L6 }6 _
SetForbid( TRUE );
/ W2 T, Y. [7 G0 |1 C }7 k. h, c4 \" D6 I; [5 V
}else{
" Y8 B7 O. c6 S SetForbid( TRUE );
v, O0 l0 U( R6 Y! I2 w( D }7 J8 Y, S$ F& V! j
return TRUE;
8 U! T# {/ R7 |/ d1 `/ h, z% g# z}
* {- d4 B' W1 m+ T
& I: X, T9 ?; U; c9 h' o9 MBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
. I5 s# _8 @( S9 N- d+ \# B{0 D U( b2 u5 w3 b
switch( nID )
* o8 V3 n/ j- u {
+ b( N/ p; F/ G; v% ?0 u' K case WIDC_BUTTON3:# j4 b4 f+ J& Y) r
{
0 A4 O4 g" t/ B- h8 z! Q) G8 t bStart = TRUE;( t: Z- }# d$ j6 |. M0 P9 S* d% q
break;" c3 e8 i# x% i8 J& j
}. Q6 b, y, y, f3 N0 a% H
case WIDC_BUTTON4:$ P8 E3 A& K9 o
{
# a6 ^) T$ ^3 B. L% W bStart = FALSE;, N$ F/ F$ }# f) M
break;7 f5 n4 C% Z4 n$ J3 x# B
}
; B7 x4 b8 O: r' f: y- g$ e8 @8 ` }) x- B/ N! ^2 `. k' B0 q' r5 Z
return CWndNeuz::OnChildNotify( message, nID, pLResult );
o' d0 K+ X& {: V/ }* v2 S7 p6 k2 y} + s( M( w, ^. ?' b3 t
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
" a) n! @9 z* N* @4 ]{
3 P1 ?' g& Z4 d CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );& C6 Q" r: y, b+ @7 G
if( bStart || !m_pItemElem )
3 n- Z8 l/ M3 M( ~$ |7 A& O$ o {
+ T- N1 E# \3 s% L; t9 \- q" k pBtn->EnableWindow( FALSE );/ b8 T# {* n4 D6 R
}else/ o+ {! B" T: Z+ h" b$ Y
pBtn->EnableWindow( TRUE );
+ T' a. ?+ }$ v8 C if( m_pTexture )
, c0 f9 B+ ^9 s$ j+ H$ v/ m9 P {! E# I; ^3 y$ `
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
; |' e4 l) k1 m if( wndCtrl && wndCtrl->rect )
) g L7 U& c: x' y' e {$ o# i/ x; @3 l7 C
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );- M' D1 z7 A- Q" _
}1 B& p l: _( R3 @
}
- K) {( ?9 M% T9 f( N. ?}
5 T+ \6 o0 L& k7 f/ b# [, c/ x& }0 s8 v7 {3 N; U7 c$ ~9 i
BOOL CWndAutoFood: rocess(), B8 S5 N: [ U/ p
{
: N1 y, d1 `! ^; }9 c3 z if( bStart )
/ H0 I7 ~4 v+ n! q; z. x( F {- r/ A: X% g. z0 @7 N% a+ |9 W
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
3 s( y; h6 W/ I6 C5 ?2 a# ^ {
8 J* I1 \7 {: \) U3 ]4 D2 @ if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )6 ]+ v, i* L" k/ g+ n$ E
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );! U O, Z% _# l( y
}else{# g- l7 \. [ v1 y- e
bStart = FALSE;1 E) b1 ~- E" ]& T
m_pItemElem = NULL;
& n: Z1 s- A/ I/ s) k }
, j0 ?. P) N7 Q/ Y* |5 g v* j }2 }/ Z! L+ M4 ]7 S2 p" L
return TRUE;* U: ]2 z2 a0 g1 J8 C% f
}) u# g7 [1 a0 J& G$ M: K& y) G4 K. F
/ f$ C# F0 P! Z3 `# L4 T6 A4 }/ h; x9 j
登录视频废话:2 k1 U7 l% u8 B2 J/ I1 s
尾翼:, S7 p* C5 V, M2 R* Z- [7 X
0 v7 n& r5 @2 v, ?+ f; @0 F代码:
8 X$ |9 ^3 l' C% w7 e/ x: i
; c. F% F, e6 Xvoid CWorld::SetLight( BOOL bLight )- ]. O" r0 L3 ~' P
durch
# N$ J# @* t! l2 yCode:
X3 f# M6 q2 Z6 k2 nvoid CWorld::SetLight( BOOL bLight )0 I$ c7 k' ^2 n5 ]
{ p! E4 T" r, R5 _3 a
//ACE("SetLight %d \n", bLight);; o# _7 C: z1 s
9 B- a% B5 `# ]. {+ I
#ifndef __WORLDSERVER 8 H& N" @) Y, k/ S/ X! K* w/ H
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
% N( Y! G$ g6 L5 e CLight* pLight = NULL;
8 L3 @8 N6 Z2 K2 |. `# `5 I2 g$ K
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
+ i& h2 U3 |/ u% y F/ I9 X8 l6 u8 ^+ t+ p' f
pLight = GetLight( "direction" );) N+ y) c( D* z3 H% @" y) N' |1 V& k
1 W6 c* Z/ I: G y
#if __VER >= 15 // __BS_CHANGING_ENVIR
& V% j1 ?$ ~/ y4 O+ F1 m if( g_pPlayer ){
% r1 P2 ^0 w* j! O% Z9 P ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );$ v3 Z' v% g/ J8 e5 x4 ?4 U
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
: J; @( T5 L- E& {7 I {
! `" y2 i% |8 q( k( n5 I8 T6 _ if( pLight )
! ^+ I( N4 D3 x; R9 R% M- u {% X9 r$ K/ x% Y9 E1 r& e
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];+ h# R8 S; z2 I" w( @! m7 r
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];, V& I* e9 J; S' p# J+ {
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
6 c2 a* ?: _5 f$ |# z8 f6 j( S& S0 H- z+ I0 b. M0 \; A% f
pLight->Specular.r = 2.0f;/ U9 f! D/ f* B! Q
pLight->Specular.g = 2.0f;
% _5 Q1 p1 C7 {* Q3 i& c& @ pLight->Specular.b = 2.0f;$ ~( \. J# L2 ?7 v5 e$ G
5 J3 ~* G: x! G pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];' y1 P" g6 X& v9 E- y5 ^. `$ t
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
$ e6 G: M6 x( @# P- O pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
# G4 \4 o7 Q5 e6 N& w 1 c. _' f8 `; X& \: R
HookUpdateLight( pLight );
. O- a# W# f! e. E+ O0 m: r% S% ?& A4 b! s% q3 d# t7 [0 b$ A
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );8 {. U) F0 v: ?8 x3 S
. S5 v) i! O' q3 n4 j& X( e
pLight->Diffuse.r *= 1.2f;
+ y3 N2 |! x: b9 g# J& F pLight->Diffuse.g *= 1.2f;
) S4 ]- U5 N5 L/ t pLight->Diffuse.b *= 1.2f;3 F5 X0 m8 T7 c+ n$ _7 b
1 s3 R! m3 x& _( q; B pLight->Ambient.r *= 0.8f;
& G/ [! A5 g$ a& V4 [ pLight->Ambient.g *= 0.8f;
2 l% v; |; k% {! d. \5 S* b* H; h pLight->Ambient.b *= 0.8f;
% C3 m( Y# R- m/ ]: e7 u* B
# F# ?+ m2 C) l* J* x) _ memcpy( &m_light, pLight, sizeof( m_light ) );
$ u9 I6 _! B; t
/ y# c t7 m- b: b D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);' d4 I! u( i# D0 {4 D. V9 `& |; M
D3DXVec3Normalize(&(vecSun),&(vecSun));
8 D, V7 [, @/ e" Q$ k+ Y pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
8 i H D1 O& }$ Q: P3 y5 r# ]7 C pLight->Appear( m_pd3dDevice, TRUE );
1 a8 I# [- u% }' C ! t: t1 J6 G' v% h* l( s, x5 J
DWORD dwR, dwG, dwB;" C9 i" v3 ~& t
dwR = (DWORD)( pLight->Ambient.r * 255 );3 |% |& e z; N
dwG = (DWORD)( pLight->Ambient.g * 255 );
( Z' b+ N3 r; m* B dwB = (DWORD)( pLight->Ambient.b * 255 );
3 i5 V/ C: n) l5 q3 C dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );6 Q# [' A7 l) S
}9 z4 }' c( t% b& n8 L
}
3 S6 t' h, j) |* ^0 J: x. g }
0 |) R$ A, M% z else
& E. w) z+ r5 B# R( U7 G- o9 d# h#endif ) N$ _9 k; E; |! ^6 H
4 x8 A' @3 e$ k! N5 P3 Z
if( m_bIsIndoor )
7 r' a" t V% n. B. S+ M {
" V: J0 h% d4 S2 ~( H if( pLight )
& R. n7 V) \ x# t- C& l { ( W+ C4 o& [$ t$ ^3 {& j* P
// à??μ oˉè*
4 Z k4 P& `- ]1 M, |! ^; P6 | pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;4 f6 ~ O; _- {. G) e# h) o0 ?
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;7 o7 j6 {9 B0 b6 \( M
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;% x7 d( ?1 g8 ]$ L: b3 y- ?
; k4 Q5 v8 M- u7 N N9 V
// oˉè* ??à? / }2 E/ F5 _; W: x7 F+ b
pLight->Specular.r = 1.0f;
8 d( K; w: o8 ]2 i3 ~0 e pLight->Specular.g = 1.0f;" e3 Z+ o( V: z( `9 w6 @1 u% {
pLight->Specular.b = 1.0f;: u, b9 P2 {- u, l# T; v
// àü?? oˉè* , q! ^& a9 R, x: Q
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;' o! I+ x" q) ? c/ V
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
/ Z0 o; ^" r. K# f6 m+ `8 t pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;6 W- n6 B3 g+ P. n, t5 F
& f! x4 D6 p, W2 W& M4 d/ ] if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
$ y$ t/ A( d$ M {% X) J; [9 n. H( [
pLight->Diffuse.r *= 0.6f;
# A7 r+ |& Z) R; t' R+ r pLight->Diffuse.g *= 0.6f;
( U; v- E$ Y, g pLight->Diffuse.b *= 0.6f;
Q$ \2 W' z7 Y pLight->Ambient.r *= 0.7f;! K9 G- ~7 T/ P! D( E4 a' v; h
pLight->Ambient.g *= 0.7f;0 j- O* e% K, M/ {& i1 ]! q
pLight->Ambient.b *= 0.7f;7 k9 \- P2 o% U5 E8 d; _
}
/ m5 }8 B3 B& Z( f+ G% z+ |- d- J$ f( {2 }; [
#if __VER >= 15 // __BS_CHANGING_ENVIR5 ^+ M7 H/ o, R7 ^- R
if( g_pPlayer ). l4 H2 _/ \# k8 N9 T4 z# ~
HookUpdateLight( pLight );
6 }: r9 y3 f5 g! R: [9 q& G* ~4 |#endif/ ~' {7 L- i' J( n
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );8 f3 m8 y) J" W8 e6 h2 B/ x; z+ ?
0 {+ j" D4 R1 Z, h: v pLight->Diffuse.r += 0.1f;
& ]) L4 U1 A1 j0 b8 L$ _- l pLight->Diffuse.g += 0.1f;
3 c, q) c, P) h$ @ pLight->Diffuse.b += 0.1f;0 y0 v! E) h% @+ u
// oˉè* ??à? \& M" \$ p9 p5 Q J' x+ N
pLight->Specular.r = 2.0f;
) { l! {' Z/ F2 v& b pLight->Specular.g = 2.0f;
, p) @3 C% t7 b6 t pLight->Specular.b = 2.0f;/ v6 l& J$ O* @* c5 U7 \
// á?oˉ - L P* z! K! j2 O
pLight->Ambient.r *= 0.9f;9 l0 m+ Z8 Z: W1 T
pLight->Ambient.g *= 0.9f;
' z# {( |2 u6 D9 f! R0 K s pLight->Ambient.b *= 0.9f;
( G* ?7 N/ d/ m3 G& e. n& f( S! [8 D8 m" t' z, K. |
memcpy( &m_light, pLight, sizeof( m_light ) );7 j3 P6 o- V+ L. u# J' o
- ~, x0 H" d% b
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );6 ?) h4 O& w2 N+ N7 y4 I
pLight->Appear( m_pd3dDevice, TRUE );
9 t3 n+ C' h' G& p+ A( [ 8 [2 E0 Y( K* {9 e
DWORD dwR, dwG, dwB;
- y; c# i3 Z' N dwR = (DWORD)( pLight->Ambient.r * 255 );* y3 i5 h4 j; A" q& m0 P
dwG = (DWORD)( pLight->Ambient.g * 255 );' S; n5 `/ S/ k1 _+ S$ X
dwB = (DWORD)( pLight->Ambient.b * 255 );) F# t- ^* W0 K* y
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );0 v. F/ C- S2 m$ v( H. M
}
4 b2 d- z& T t8 @! G$ z }
+ T) j3 N5 G! D6 |# B else
! T2 N& Y$ f/ i' y- j5 o9 L! d3 v {
* c0 e: a* M* Q: n if( pLight )2 o9 q6 w e4 G2 e- [1 v
{
) k3 l5 c7 M% n H4 T8 C$ d * X. x# p7 V& m% h* n& b- W
int nHour = 8, nMin = 0;
7 u9 l7 @2 q# V #ifdef __CLIENT
1 y5 p- v9 J8 k# X // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 6 v, i0 |! B& L3 A: Q, T
nHour = g_GameTimer.m_nHour;
3 S/ b4 W0 H- ]* Q) t5 u5 E3 o nMin = g_GameTimer.m_nMin ;
6 E% n6 x" G! U4 |0 s #else7 Y3 y2 ?, _: R- b! [; }
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
+ u! d5 k& t3 B3 G, L if( m_nLightType == 1 )
! g* K8 W. }/ O/ s% ?6 C! w+ N' M nHour = m_nLightHour;
. S6 z3 s0 [5 W! {) V #endif& n% w* T/ y6 n6 Z
nHour--;# T8 t5 y+ Z. N( f$ ~1 _1 {* N; z
if( nHour < 0 ) nHour = 0;
* M; A4 F) S3 F/ } if( nHour > 23 ) nHour = 23;
. i9 w" ]% o+ T! |) m# ]5 i
: h9 D/ b! R: K4 _4 S //if( m_bFixedHour )7 \5 s6 w: V0 [; r0 P
// nHour = m_nFixedHour, nMin = 0;
: c7 j* P- s% c% i. v LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];/ y: C0 w( L" }( Y' @4 _4 J n* x
LIGHTCOLOR lightColor = m_k24Light[ nHour ];) }. c$ R |2 c( b4 F7 I
& [( B; j6 M) }, `+ |
//m_lightColor = lightColorPrv;
9 O& J, L7 _& Y+ ?9 N' k$ c lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
. }6 ~4 M) B: \- `8 f [ lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
) S( X8 v+ B$ w. j+ g$ P+ C lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;; u/ k5 e9 J9 l2 b$ [
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
: T4 j, _2 q' K& x lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;% P2 u5 k0 u) q' v8 _1 h9 L
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;: T: Z$ v8 p+ W) z! V
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)( U( g' _6 c" O
% H4 o- K8 r( W+ P5 f: w% O
// à??μ oˉè*
/ w" W" i0 h9 h3 ^4 N pLight->Diffuse.r = lightColorPrv.r1;
- c! r8 P y0 } pLight->Diffuse.g = lightColorPrv.g1;% ^/ M' I) A% f* v% {. p$ `4 O
pLight->Diffuse.b = lightColorPrv.b1;+ _! u: o& N W1 T; }
// oˉè* ??à?
7 k- S9 j9 [* W; b% D pLight->Specular.r = 1.0f;
6 j7 I/ H1 T7 |5 x; d1 K pLight->Specular.g = 1.0f;( q2 G6 G5 U' S5 ]: J) X! Q- E
pLight->Specular.b = 1.0f;. l' p0 G$ D6 A
// àü?? oˉè*
% Z" w. m* C) f- o pLight->Ambient.r = lightColorPrv.r2;. \: {7 s* i5 o* ~+ Z1 y
pLight->Ambient.g = lightColorPrv.g2;
( B( Z& }$ |$ k3 g/ R( o pLight->Ambient.b = lightColorPrv.b2;7 f0 p5 Y K d" k
6 w5 g( C. }; F- }1 \
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.' z3 V6 b" G6 X# a
{
/ u6 W# W+ l2 V- f% X6 W9 K pLight->Diffuse.r *= 0.6f;
! y6 m' E- V( E7 h. m pLight->Diffuse.g *= 0.6f;- O, |% H' ?3 n# `3 |
pLight->Diffuse.b *= 0.6f;8 O4 v; L, U. [! G
pLight->Ambient.r *= 0.7f;
9 {! t+ n, a9 x) d3 G pLight->Ambient.g *= 0.7f;
; U6 ^4 g# n. `% Z3 @- M pLight->Ambient.b *= 0.7f;0 X, b! j: f, m K3 j$ n
}" d4 w$ I+ V( F/ z
; ^3 N/ x0 w7 @! R
#if __VER >= 15 // __BS_CHANGING_ENVIR
) v* W, h9 v8 O; M4 } if( g_pPlayer )
; J5 _) A2 D% D* c) ^; N3 P" ~% e HookUpdateLight( pLight ); + j% D- [2 h" J7 Y
#endif
G9 z/ l3 j) d3 u: N% [& A. Z, a memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );% _) [9 V8 E+ p
5 M3 I, I5 ^# N; H
#ifdef __YENV9 x7 p1 d; c( m [/ S" n
pLight->Diffuse.r *= 1.1f;7 s; o" J0 p1 O4 `, u. U* X* G
pLight->Diffuse.g *= 1.1f;" ]7 v3 Y* D& r0 m6 T
pLight->Diffuse.b *= 1.1f;
# N% f% a9 p: d! _ // oˉè* ??à? # U. {# g6 d2 A! V: @
pLight->Specular.r = 2.0f;
: T2 W: U$ }# p1 o& @/ H8 I pLight->Specular.g = 2.0f;0 w2 J# i/ o& q' D+ n/ E# \ j
pLight->Specular.b = 2.0f;
[; X0 o" U, h+ N/ C // á?oˉ / B+ q) U! T [; o; y2 _
pLight->Ambient.r *= 1.0f;
3 ~8 Z" J2 a# F0 \9 V3 o' T pLight->Ambient.g *= 1.0f;
9 x0 |8 s, ?7 {" a" E pLight->Ambient.b *= 1.0f;
- Z7 [* R. C, k#else //__YENV4 d9 Y5 O! e/ h. X% E$ u- C7 k
pLight->Diffuse.r *= 1.1f;- {/ e3 a& A+ q' N, S3 e* d" f
pLight->Diffuse.g *= 1.1f;* i' i' s* l' |; W7 M, P! v
pLight->Diffuse.b *= 1.1f;' K4 B1 C' b* k7 w' o0 \- x
// oˉè* ??à? 1 T( {' _9 B t1 T" w4 r
pLight->Specular.r = 2.0f;
/ I4 {0 P! B: l* _% V pLight->Specular.g = 2.0f;
( r9 u5 D+ `5 c( p' s pLight->Specular.b = 2.0f;6 T% y8 `% V: Z6 E* w
// á?oˉ
+ E4 E ?4 L% H' l4 M. ~% `" h pLight->Ambient.r *= 0.9f;
1 D2 t. }: L2 V. s' ]! P9 T' Q pLight->Ambient.g *= 0.9f;' ^0 x8 K1 s9 T' g
pLight->Ambient.b *= 0.9f;
$ j2 z4 _0 _! m; k7 \#endif //__YENV
$ b9 c4 ~1 m; R+ S4 z, s/ M : x. x* V4 b/ `* }
memcpy( &m_light, pLight, sizeof( m_light ) );
1 S' X; i0 q& t4 m6 b
$ H I4 P" R" P7 L9 i4 V: Y' A1 _ D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);3 e. f( P' C' B4 g
D3DXMATRIX matTemp;
$ l: U+ |- F( K5 D static const float CONS_VAL = 3.1415926f / 180.f; J8 ?% E' W ?) c5 n
6 E- }6 I" S! h( U
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);6 F0 \7 \2 C( v% s$ b4 L0 E/ G
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);; e' K' W: [! g( R( i7 y
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
3 g2 L: t' K! V& l pLight->Appear( m_pd3dDevice, TRUE );8 o2 S5 ^! Y6 @: o4 K$ t
; J0 S; B; i/ V2 ^- @ // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
! C2 R L$ n0 L // D3DXVec3Normalize(&(vecSun),&(vecSun));, C, m4 b! _2 I) s
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); . Y/ r) y# c F7 K) o1 w9 \
6 Z" a8 E& {( O8 \* p; i/ S
DWORD dwR, dwG, dwB;) z' z; I1 y8 \9 @$ @
dwR = (DWORD)( pLight->Ambient.r * 255 );
* p* i8 h/ e7 Z dwG = (DWORD)( pLight->Ambient.g * 255 );
3 s9 m$ }5 |" z: I0 i# k dwB = (DWORD)( pLight->Ambient.b * 255 );
& ]4 \9 z- d/ J; K4 X4 D5 U0 b+ ^ dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
5 b$ R- q5 }, v0 g' e# V }
5 l5 F. A# ^4 s/ [9 i }
: P' c i0 i$ ^2 z% U% C* x0 b5 z1 G9 c: T! T
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );- R9 W) h, r; P- B E
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) );
1 P7 a* [2 L8 B9 {. z. H6 @ ::SetLight( bLight );2 U& m( a2 I* U
9 A: ?! X( |& C1 E' ]4 r) T0 k
// ±ao? ?D?í???ó á¤à?
7 P5 ^. B3 L Q' }( {' d; A m_pd3dDevice->SetMaterial( &m_baseMaterial );8 Y0 A( Q4 T- Y
; I' i% ~. R" T9 V% Y
#endif // not WORLDSERVER
8 p& Q1 i- y" O# a} ]- Z7 M0 ^6 q: J
并更换
( B) ~( w+ R1 j6 |9 x0 yCode:) j) u+ u5 f( I; d' @! n
__FLYFF_INITPAGE_EXT
- P" O+ y: [4 W6 x( L定义
; W% \! J; O" Z1 W! [2 }! o D6 G( h5 ~+ T6 H
2 P2 S7 j8 N+ m! |, Z% Z
$ v' i0 t) c6 j% z3 y5 N4 P o8 [2 `9 K
现在终于删除我的狗屁加速...6 U, `2 M" d8 ? j+ D
" v. E& ]& f+ a; H* p* j
* V1 q4 t7 t2 p' u
) T3 B! k, j* w- h |
|