|
|
食品车:1 y' c. q& K* b: a8 V- c
尾翼:
6 k& ?% ?/ q$ d0 i' ^; E, X$ @! P/ z( j `! E3 M$ K
代码:
$ W( [- I" j- `/ l# S- aCWndAutoFood::CWndAutoFood()
' e, L* p! m$ }1 D; X; f{
7 M, A: A% u& n) ] m_pItemElem = NULL;
?; h3 \1 A3 i9 P m_pTexture = NULL;% ~$ h; c7 x. M" {
bStart = FALSE;
, X6 C+ r$ ^% u$ N- ~7 D5 C4 G}
g B( }9 [- d: g* I& j' d& i7 [4 m2 f- y; ]$ \
CWndAutoFood::~CWndAutoFood()
1 g8 [( Z2 W0 J+ I& o{+ o1 o5 e0 O' K; C
AfxMessageBox( "AutoFood ist gestorben " );
! h* G# T7 M" j8 ^}: H2 A$ F7 t: {. p
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )/ K" [6 X2 s2 I# t# X/ _
{
7 d& {/ O$ y2 } return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );( F2 T- j# n/ Z& C9 p; }7 I5 a
}
4 v# p1 l. h2 s! V. R0 D- I: d; ^0 P \% j2 p( @, U% o6 U$ c
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
! d0 X& b( I2 Q2 w' u% w8 M% d{ n* m6 {: P. s7 ?9 O# P
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );* X3 c6 M; c% j! ?) m
CRect rect = pWndCtrl->rect;
; N% X6 m) l Q# R! x if( rect && rect.PtInRect( point ) )7 L/ j* c2 g* m6 w" H
{
+ M* C1 f% ~! N. Y7 j CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );2 I& @2 d) w% F' ?- S
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
8 c; r: F( W3 @, e {- s o. V! E6 s$ p4 N. g' ~
if( m_pItemElem )
( j) Q6 j/ z2 d C8 g {
3 E3 {& {( F* ^$ L0 u6 j2 T9 ? m_pItemElem = NULL;
3 g% X4 X1 r2 [7 T& e9 p" K% s }! v+ f1 V' i; H- R/ N7 b
m_pItemElem = pItemElem;
/ U1 n* M) @/ B7 D8 n# | m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
3 \* l+ n0 ` ^/ k1 o# O- k4 B }else{" m1 ?0 E4 ~. N- a( T% `9 L
SetForbid( TRUE );+ ^0 R1 R5 r ?; @& A
}9 b+ S! Q+ V/ _: o6 Y* n
}else{
" s9 N6 y+ x& N: Z# ? SetForbid( TRUE );
; h% l2 T" w9 W) w/ ]" B }
$ ^2 ]( R: m* |5 w6 J" A return TRUE;+ X: E/ M0 S( f6 a1 b6 z$ F, G
}8 v3 g; u/ ?5 `1 J
+ D" V- v% H) k3 j# ^ rBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
1 l' ?' W+ ?* x3 J0 j{- a; H$ L% z: w5 {1 K/ t/ f3 a
switch( nID )
7 l- L/ i' G; u {
+ i9 Z4 o( Z0 b- X case WIDC_BUTTON3:
1 m) X4 Q* P4 r# v0 c2 k4 B$ ^ { g1 f! R: O- L H, ~+ }
bStart = TRUE;
8 Y2 c7 p) {1 K& \2 u. D" ?7 m break;
1 z, A2 Y% W- g5 b: C }" R! _* G1 u# J( E2 E1 {! t
case WIDC_BUTTON4:+ v' G6 n: |# s* ?' K
{
' u* f' G9 e+ J1 ] bStart = FALSE;& ?0 B: F) f4 m% W8 L# b
break;
( n. Y! V! j8 D; J6 O! _ }
: s, a/ Y( K0 |+ A; R- k: Y8 r, R }
1 t. j5 Q6 `5 M+ y return CWndNeuz::OnChildNotify( message, nID, pLResult );
; Y: J$ G1 }( s- [- m* J! B" `3 S} % f* A ]* ~3 O) X) O; f
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
. @- G" I3 [1 K$ C* h{
8 u, r$ U- G: `: Z1 D# \ CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
/ C2 P+ ^9 u, [$ w( v if( bStart || !m_pItemElem )' e4 ]2 X! ]: B* E0 R1 Z0 r
{
+ R8 |, |) j/ a+ g* m& \) w pBtn->EnableWindow( FALSE );
; H4 V" y3 w2 p$ [0 |9 E; \0 x }else J; n! Q7 e, U. o- Y( O& x
pBtn->EnableWindow( TRUE );
3 v# L* ^' [, J& ~ if( m_pTexture )
' i* m. @. A/ l {+ J+ s! C$ h, w
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );! |7 w+ u' u r* k$ E) g
if( wndCtrl && wndCtrl->rect )
3 A7 [5 `6 i* K2 I- r- u- ` {* t% F* m4 F9 s+ O* B" o
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
4 W- c9 o& J- m, }, V; a% ` }
) K1 _1 R6 D+ v6 w7 b- A. Y }
1 d8 N6 `; d# M0 c* d- V}
* a, h/ f R. t: q$ N* r0 S0 T* N# Z. @: m! M. v7 C
BOOL CWndAutoFood: rocess()
3 ?' e6 a$ N( ~, W{& J/ z* i7 a6 v& y
if( bStart )9 D/ g% V7 R! @3 H6 A* O
{) a- z4 V1 q4 R1 b
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
% Z5 q: ]! S4 u* j4 d5 r {
4 E- z$ {. K6 \ if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )/ E+ r& Q, [2 ^
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts ); _8 F' f6 _, U) k# Q0 l
}else{( R& T/ |' }$ s- M
bStart = FALSE;
" c" x' Q1 \$ ~9 M" g k7 Z m_pItemElem = NULL;/ M5 l* \5 K, ?! a+ G" F% |. |
}1 w1 A2 o! h ?- H* k1 L6 ]
}$ t9 S( P7 ^) v& G0 Q1 m# A) K
return TRUE;4 i' Y+ z3 H3 ~% N
}
5 M5 p# q6 ^5 E* }' K& G7 [4 R) N5 h2 h0 I8 c9 D, k
登录视频废话:9 v2 C+ q: D8 x. _2 e" z x: D
尾翼:- c4 h* W+ V1 `9 k6 I1 m/ M5 N
" N0 J/ ^% c/ j$ F
代码:1 p0 Z& @# ?3 x
: K7 A5 U$ b1 m& U
void CWorld::SetLight( BOOL bLight )$ t& r2 o- P, b! L* n$ c2 _
durch
, b& ~! O7 R: A0 BCode:) v }: u+ M5 |6 C6 k1 @/ O
void CWorld::SetLight( BOOL bLight )8 `! Y& H5 D8 N% n9 f" r' O( y
{1 U7 b: P& b. ^$ d4 e; I; F
//ACE("SetLight %d \n", bLight);, T3 H1 k; V- D
, w% _6 h8 D a9 ]( ]5 n#ifndef __WORLDSERVER
0 ]7 Z" {3 {7 h. c- U DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
9 A. F; _7 `8 C9 E CLight* pLight = NULL;0 [9 J: t( X8 K! m3 q( f, B
& \) o, I8 ?; `0 @0 y4 [ D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
2 ]) r+ S6 v+ h; r! P' H5 ^$ |2 D. x3 y* Q
pLight = GetLight( "direction" );
1 A. `0 {% w& l6 G0 Q* S( s
% e- `0 \" [7 x$ I#if __VER >= 15 // __BS_CHANGING_ENVIR
3 r; h! g7 k4 M- [ if( g_pPlayer ){
4 v" n$ \* v' H- m9 G ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
7 I9 a8 j- ^2 B8 R1 R1 Z# g$ C if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!" D+ \* q0 k8 M$ ]+ d" G
{
( f- J" n$ ~2 ~* D' C if( pLight )$ J0 Q' A. H& b" \
{
# C+ _, Q* c" B pLight->Ambient.r = pInfo->_fAmbient[ 0 ];2 q8 A8 A' q5 I9 e
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];+ n5 C' K. J8 W
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
+ f. h, q% l4 }8 F! G3 r
0 H, }9 {4 O _2 g pLight->Specular.r = 2.0f;
" n- a$ _" k. ]& w) R/ o pLight->Specular.g = 2.0f;, {3 G1 g: d7 L' f, {
pLight->Specular.b = 2.0f;+ f" Z3 A7 [0 J0 K6 ]6 F
8 Z2 e3 w3 z T1 J6 a
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ]; A; f6 v8 H2 x# x* r* a3 J1 H9 V7 h
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];. @) h- c2 H) x! E' J5 S
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];5 l8 d9 T$ g j$ h
( a; r) x2 L+ j2 }
HookUpdateLight( pLight ); 0 I1 ^, V7 i" f4 s) N
: s5 C; Y6 L9 ]# S! g) w# N memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ f' @$ U0 p: l3 W* |- Q" ~0 {6 J ) D6 P* D8 Q) W5 {# Z
pLight->Diffuse.r *= 1.2f;7 h% f/ S$ f$ \
pLight->Diffuse.g *= 1.2f;3 ^: k/ \9 R; C7 \& W. Q% s
pLight->Diffuse.b *= 1.2f;' i( [$ K' \3 b: N( t4 f h4 C; u
( a; n! b) i2 u1 T! c: b1 L2 B
pLight->Ambient.r *= 0.8f;% r- p- g6 `4 p0 S3 k: r3 M7 k
pLight->Ambient.g *= 0.8f;
) N0 K/ p5 F0 q pLight->Ambient.b *= 0.8f;, r0 F: H; k9 h( o0 M* }
* c& l" l' I; U- Y; y4 U* y memcpy( &m_light, pLight, sizeof( m_light ) );% n1 v" I- z' M# B/ i: r( E; ^5 p
0 a2 m2 _% F j" ?: x6 d7 ^( b
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
# Q8 r2 E3 `! H5 F' l) G D3DXVec3Normalize(&(vecSun),&(vecSun));
% s0 d, G0 p9 W pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
, [ w" Q* [! R# `" |+ R pLight->Appear( m_pd3dDevice, TRUE );- d2 [+ D; a2 c$ n
! q5 S/ Z. ^ `5 E% K" a DWORD dwR, dwG, dwB;$ }+ S9 I( i2 I! G9 m, m
dwR = (DWORD)( pLight->Ambient.r * 255 );' H1 h! o3 g+ I& _
dwG = (DWORD)( pLight->Ambient.g * 255 ); y0 E) @& A8 o/ l0 T5 A
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ I4 W8 b" `& q L dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );* w, ~3 a8 R P2 u9 @1 |+ D
}" L8 B, L/ L( v4 I2 I
}) s" T3 ^* ~% U! {, b/ `3 N) p
}
4 |1 q- W2 B% n2 E else( S1 ]# \+ c) j8 m5 W& t
#endif ( ?0 a* _( @# I' |
4 g4 W* |- [- t if( m_bIsIndoor )
- m; E7 M8 w# ^. {: J {
7 R0 _" s# n8 |8 W' W: T7 \ if( pLight )) C9 K: p& S. g! J
{
, ]! i( {8 h' T // à??μ oˉè*
. j% s U3 X7 y: q- q pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;2 d8 w4 u/ C* }
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
7 r3 c+ j9 A, s) u$ i( _* f pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
5 |7 l5 Q5 z3 u T+ @, Y
: r- Q7 l7 ?- C- e0 O) M // oˉè* ??à?
4 ~" g) W; i% E0 q/ Z1 l9 Y pLight->Specular.r = 1.0f;
2 [# G3 X0 A0 |" b- R3 L pLight->Specular.g = 1.0f;+ v* @3 U$ J! X
pLight->Specular.b = 1.0f;9 I4 _' [ V! ^0 ?, k5 b5 I8 \& c
// àü?? oˉè*
6 s% e8 C3 @* {# ~4 j4 J pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;: O6 I. d) ^, Z5 e
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
+ ~1 p6 B! |6 T4 j1 \* U pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
7 d3 m9 d- }: R. B0 B ~- |% |+ J) K( y
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
6 @9 I, j0 D' s! z# G+ q s {. Y# M6 W/ R+ `
pLight->Diffuse.r *= 0.6f;$ U7 g+ G# D, s m
pLight->Diffuse.g *= 0.6f;; I! D& n$ u% i! \; K
pLight->Diffuse.b *= 0.6f;
% T8 x; G4 i# a- k X pLight->Ambient.r *= 0.7f;
1 a1 s/ z( w4 o. e) p6 i pLight->Ambient.g *= 0.7f;
9 q9 ]' z6 G$ Q$ Q pLight->Ambient.b *= 0.7f;
" G$ z J' b/ c }
4 @2 G3 m' U) ^3 ?1 A4 p! s7 R: J N* ?1 n- V1 t
#if __VER >= 15 // __BS_CHANGING_ENVIR
) }) d# X' B) L, T7 B8 r if( g_pPlayer )7 x. w" ?2 Q7 h2 ]' w
HookUpdateLight( pLight );, p3 D$ I# w* R% U; u
#endif& Y. [& m8 ?$ F" f
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );1 ^- _0 K8 O5 L! D3 Y' U T/ }
$ ]: p( f2 w4 T2 B( ~ pLight->Diffuse.r += 0.1f;( f7 Z4 a- H& s/ J$ P
pLight->Diffuse.g += 0.1f;+ P3 G/ Q* v1 ^( O T: f- e
pLight->Diffuse.b += 0.1f;
, I, g1 f2 O( A, X/ d" G // oˉè* ??à? 0 K9 x' m: v3 g3 ?
pLight->Specular.r = 2.0f;
) D! v `5 ^# o) d( v pLight->Specular.g = 2.0f;) u( P' B7 P" x+ K- Z5 L7 F3 a
pLight->Specular.b = 2.0f;; @" k; g+ Y. a5 E1 t4 o
// á?oˉ
& j+ Q- f8 o3 U pLight->Ambient.r *= 0.9f;
- Y/ y9 \# e9 d pLight->Ambient.g *= 0.9f;
5 e; _ E/ P7 T- b' |) D pLight->Ambient.b *= 0.9f;! `* n5 _. `: _
2 s$ y& h1 a4 T! M, Y
memcpy( &m_light, pLight, sizeof( m_light ) );6 J( K& X6 {) o4 ]5 F3 C
$ |! V0 C$ ~: F' ~# K
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );6 w0 {7 p j" P; y/ f8 t6 S
pLight->Appear( m_pd3dDevice, TRUE );
" P" L8 ~+ u& d0 Z+ A 7 G' ^( \- W- t" {
DWORD dwR, dwG, dwB;
6 B* n; f) R) U" t# Q5 ?7 b dwR = (DWORD)( pLight->Ambient.r * 255 );
2 j- m2 Z6 _ I% j0 h+ m dwG = (DWORD)( pLight->Ambient.g * 255 );
+ O% _6 Q) N$ `- S- Q0 y1 B3 A4 [3 C dwB = (DWORD)( pLight->Ambient.b * 255 );
4 p; D& [, }. o8 l dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
8 u% N4 t. ~8 V; n$ J' P* E }
0 b6 q8 G& U' t; V# x; x& n } d5 ^7 f- ^% F/ |; M/ h3 x
else
- L2 ~- e: @9 ^- j {
1 m0 a5 v, w2 Q4 c! ^& |' Y if( pLight )
4 b) o8 j1 t0 n0 O# J# o9 | {
& Z" w7 O+ ^& y; P. t! z 7 K, x6 X" b1 k3 S6 I! p
int nHour = 8, nMin = 0;; |- S; |5 }7 r* T& _
#ifdef __CLIENT C! a4 J. X) B" N! C
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 5 b3 ~3 g, B+ }) W+ R
nHour = g_GameTimer.m_nHour;! e4 ]2 ~& @4 V8 ?4 f( d; r
nMin = g_GameTimer.m_nMin ;0 g, z- M9 j% c
#else
+ J R" S* W4 B. s4 d! h // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
% ~1 d( A" S% }/ j5 K if( m_nLightType == 1 )! m( }- ? f, t& K0 F/ Y- u' X
nHour = m_nLightHour;: z( l) k; y0 \- x& U. P
#endif- r5 s$ D, o) C. T* e1 T# G: U
nHour--;
4 y6 L* V* y7 q9 a if( nHour < 0 ) nHour = 0;
% v, l+ D: E0 k- f1 e) c if( nHour > 23 ) nHour = 23;
5 ^% [# q& A: ^' V% _+ g# x8 v- q y5 k! N
//if( m_bFixedHour )7 f6 t" H# V9 |! K- j* ] Q4 I
// nHour = m_nFixedHour, nMin = 0;6 p O8 _4 S+ P& A7 U
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];' C& {- Q/ a: X5 r# q" H0 G' ^, {
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
4 l* C2 z! l. O3 U v4 K, V1 s' w0 q4 {/ u9 n1 E0 q" `& j6 |
//m_lightColor = lightColorPrv;
$ R4 p) E6 C9 `& Z8 h- c; X8 v, W lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;& I Q5 y+ l# F5 M' v: _4 M
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;) v0 p/ t# E! b# T {
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
+ O: `1 Q5 |6 B! G; l+ a lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
: G- ^0 U8 Y8 w lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
& K7 s$ s5 Y; Z( w1 m7 n, l lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;" R4 y. M a Q, r" K! G- Y
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)% u' j+ n* @3 L; E6 V0 q
* z ^9 K/ Q, o1 @1 T2 G // à??μ oˉè*
1 o4 h1 w. ~; `+ A7 ~+ s pLight->Diffuse.r = lightColorPrv.r1;
" _: U ` \4 X pLight->Diffuse.g = lightColorPrv.g1;; N0 R! U' ~ p0 E) c3 _" L
pLight->Diffuse.b = lightColorPrv.b1;
4 }/ p- }2 u7 ]" k // oˉè* ??à? # E6 C1 j0 y$ u- z1 B9 H6 c
pLight->Specular.r = 1.0f;" z4 ?$ s" f3 D3 ^( t
pLight->Specular.g = 1.0f;2 D3 G8 a, m& ` Z4 x, V# g/ n" G
pLight->Specular.b = 1.0f;
0 [! U0 k& Q* b( s // àü?? oˉè* 6 C5 t1 p% _8 y9 `+ e3 b
pLight->Ambient.r = lightColorPrv.r2;
% I b- [9 W2 M& o' H* b5 B pLight->Ambient.g = lightColorPrv.g2;+ ?( q% t# a3 \& C
pLight->Ambient.b = lightColorPrv.b2;
/ o8 J6 z3 g7 K% @) m
' a3 v/ M$ E3 O- m- w6 h if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
* j1 ?* B. B7 Q; R8 G( o {2 t0 H' i8 W: o& Q5 n2 M
pLight->Diffuse.r *= 0.6f;
2 w# n# [* {1 ^! \( a% o# [+ g pLight->Diffuse.g *= 0.6f;$ R6 ?4 B" Q$ o% _
pLight->Diffuse.b *= 0.6f;
: w$ T5 W8 D/ p pLight->Ambient.r *= 0.7f;
1 U7 S8 E f( s# m# T' ? pLight->Ambient.g *= 0.7f;( F3 m' q9 K1 E4 n* B8 ^) w2 x) a
pLight->Ambient.b *= 0.7f;
" r3 ?% ^0 \ a3 T7 u+ J }
8 x# U( M9 O1 k$ U% b
* h# m* ?; w0 S* O2 \#if __VER >= 15 // __BS_CHANGING_ENVIR
: G6 H& d: D4 @+ B& |. b if( g_pPlayer )7 B, x, e7 q* p. e( D
HookUpdateLight( pLight ); ) D& K- o$ W$ P+ f4 i* B- d5 @
#endif' I+ v) B6 r c0 s
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) ); h0 @. C, G5 }0 ~
w0 Y L6 J1 z% z8 `
#ifdef __YENV4 y0 G! N& D0 G2 b
pLight->Diffuse.r *= 1.1f;5 n/ l7 ?# b* y& X
pLight->Diffuse.g *= 1.1f;6 ?$ r% v X9 C6 j, J/ I
pLight->Diffuse.b *= 1.1f;
* q m- s" V3 ~* C# m5 s // oˉè* ??à?
0 \- Q$ N: _# \: s pLight->Specular.r = 2.0f;4 a: s, T6 }$ z& x* C5 O) Q- q7 u( P# A2 U
pLight->Specular.g = 2.0f;
" Z7 x) e+ F4 m; { pLight->Specular.b = 2.0f;
: ^. Q0 l8 I8 M5 Z1 Y& R // á?oˉ 1 n: L/ M4 T: P
pLight->Ambient.r *= 1.0f; W6 `- v2 _5 e o) ^$ W
pLight->Ambient.g *= 1.0f;
( w7 O% A. ~5 A8 S7 y6 g pLight->Ambient.b *= 1.0f;
( v! n/ T, o0 ~% @" l3 ~# H#else //__YENV4 g5 q7 w8 ~% n3 `( M: D
pLight->Diffuse.r *= 1.1f;
" o2 g; o/ H) F" N' Z pLight->Diffuse.g *= 1.1f;2 G9 K6 g) F6 z# {' T. P+ Z
pLight->Diffuse.b *= 1.1f;8 H5 J8 C5 r2 ~7 j9 T# y6 J
// oˉè* ??à? % J% Q* {3 @' w# r5 p3 W: P
pLight->Specular.r = 2.0f;( a8 X( z- U: b9 k3 c% Z
pLight->Specular.g = 2.0f;
0 E- O( j% r9 a: ~2 P0 n, I9 x1 w pLight->Specular.b = 2.0f;
0 @8 F2 r% X' j- _8 i // á?oˉ 8 L- E3 p h1 w# W7 p! E
pLight->Ambient.r *= 0.9f;
9 K9 g# m& l0 {* R% I pLight->Ambient.g *= 0.9f;' f9 X. r) s2 ^7 M
pLight->Ambient.b *= 0.9f;1 Z( ?9 g4 i( _% I
#endif //__YENV
/ k, V# `; ]$ U' @, y. Q' H
& B+ w) A% b9 N$ E8 b' U* l% d memcpy( &m_light, pLight, sizeof( m_light ) );( j% V0 }8 ~9 x0 p
6 c0 i9 W9 h% w4 w D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
1 f( J( o: r+ y0 f8 h5 Q D3DXMATRIX matTemp;
1 P' t* j9 R: |# O' \. @# q t9 g6 |9 _ static const float CONS_VAL = 3.1415926f / 180.f;
% X: G( z/ r" ]1 g9 u* l6 V( T5 l V, ]0 B
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);, I/ s% y+ G* j% n Y
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);# B/ U- r. `9 w3 Q1 Q! ^% ^
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); * w2 Q4 \3 O9 m
pLight->Appear( m_pd3dDevice, TRUE );5 `9 ^8 a7 m3 V, k
. G4 i( H9 a' `, _% }# a
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);, T( r2 `2 E- O: {/ h
// D3DXVec3Normalize(&(vecSun),&(vecSun));1 C/ K, T3 I! D5 N
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); " ~! l/ |2 k3 T* @6 T: F: b
: ?( I! n4 {, Z; H7 L- h, q DWORD dwR, dwG, dwB;
8 F4 ~5 }6 k: O' u: p8 e& T8 c dwR = (DWORD)( pLight->Ambient.r * 255 );
. m9 q1 V: d6 F2 B! G( W dwG = (DWORD)( pLight->Ambient.g * 255 );
" t/ z# S0 \& U9 C) l/ h2 ~ dwB = (DWORD)( pLight->Ambient.b * 255 );
& y; D1 t$ A. i# ^# W1 e0 k C2 m dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% N+ y3 F% |" s3 `/ R5 u8 ~ }
" y" _4 d6 H4 L* y/ H/ k }! A3 g* a* _* O1 \7 n; ^; ?
[% E# U2 s( D3 L6 f9 z
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );' s1 m$ T( ~* b9 q
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 h0 Z- G5 h$ H1 F, _
::SetLight( bLight );! ~( j, f$ k9 E! w$ g
% _! p' E' A8 e# E
// ±ao? ?D?í???ó á¤à?
6 ~ L& T* p7 C* H$ @$ t m_pd3dDevice->SetMaterial( &m_baseMaterial );
U& _4 o: [$ J6 V& \; G - n& s+ m$ P) H" ^, w
#endif // not WORLDSERVER9 B! b9 ^1 J6 Y
}- N: Y0 P- A. a- _1 G
并更换
2 B( z0 T' @# \7 p0 B3 W* p9 TCode:5 o/ ^3 i u1 V" O
__FLYFF_INITPAGE_EXT
- ?4 m& K) O& ^: V: B, r) }" ?' o定义7 ?4 U" Z: N- }8 Z3 T6 O
7 n2 c* A, G" @. A; f
- J) r) m- _( d2 \7 N0 y$ B5 e) i) f Z7 c0 m
9 \4 Y* X3 F2 Q6 w% Q现在终于删除我的狗屁加速...
9 g) f+ j" j5 }2 S$ B4 b @
+ g3 X2 f, A. v5 s' j* {, c( t8 ^+ @
6 H, U7 k) M# [! |& @
|
|