|
|
食品车:! s/ Y) I; E# e, x4 f
尾翼:
: R' C \( o/ K; a* ~" g! G; n+ X' [0 g) b( |: g
代码:$ F$ a2 Q* F$ w
CWndAutoFood::CWndAutoFood()
6 f0 M t1 r" K: f a6 R{ J9 v" \+ v+ k8 K! j5 c9 J4 u0 w
m_pItemElem = NULL;) k9 L! k, c8 r; e& c: o( H
m_pTexture = NULL;
* K# N/ A7 D5 K3 M& D( a T bStart = FALSE;
* o3 N; ?5 N' Q0 A$ P, ]8 `}
3 _4 U; G* i+ |6 P9 B# M! l4 ]8 m7 S/ R; i
CWndAutoFood::~CWndAutoFood()0 Y% }9 g0 M& @5 S: D
{
" B9 p% N) b! j( {! } AfxMessageBox( "AutoFood ist gestorben " );
$ U) Z- L- D$ U% X! f9 [' J {} v2 }) }7 b, c6 r" q
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )" B' y" {, x- U4 b9 w K
{
$ d: w3 C* M: I0 C/ k1 p return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
) M% c7 J- t$ ]/ p}( A& j- J; o7 a/ {. X
* P) T, Q7 N1 [
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )% B, Z9 ~5 h" {% P% j
{8 K7 p2 P i/ i; _
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
) h; q# ~0 f" n9 M! O9 Z# H CRect rect = pWndCtrl->rect;
/ Y: f+ i7 z0 B2 Z, F( F$ v if( rect && rect.PtInRect( point ) )
& ~+ Y2 @ l6 t O% m/ q* R& j {
5 S- O' Z+ J5 ~ CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
2 u' ~6 E; F( J if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
6 x1 m7 l/ e; J: }4 m1 G {) ]$ p0 _% L7 O y1 v
if( m_pItemElem )
2 p% F w( X2 L% h2 G, ` {" y( q3 c5 l3 `! Y+ Y
m_pItemElem = NULL;
* U/ @" T7 g4 t$ N) E+ M& c) r }" [6 ^: ?% A+ ~
m_pItemElem = pItemElem;
_7 W6 u5 u, C; r; e- h/ q! N m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );) P0 x* e. _' R3 Q
}else{
8 ?' u, O7 z7 ? SetForbid( TRUE );
/ Z, S$ H5 |6 ?0 ^& h }
" q; p& M- _$ H( R3 l6 m1 H' C }else{
4 m. C. y( F8 Z4 L. e. x SetForbid( TRUE );
% J& O) R! N6 P% J }
$ V9 f0 C+ I2 R( Y# R return TRUE;' I% |% u7 K6 X$ h& l
}
9 L8 r$ F. J2 r/ g: U
! _5 v7 y9 N# b2 O) P& eBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ). R4 a$ r: ~, W4 n
{. E- z$ ?/ X; d
switch( nID )& _' K0 e' L" V. B2 W! V& `6 t
{3 O: G- w1 k# f* V- ?, `8 v9 D
case WIDC_BUTTON3:/ F4 |, ]' L. i% O2 i1 |* Z
{
- C% L* E4 Y% v3 \/ u bStart = TRUE;
" n+ k" L9 Z( w' D$ w5 [% d* I% F break;0 k5 Z8 d6 d) A- W I& B
}
+ R' N! M: \7 P* U& l$ ^8 s& S* U case WIDC_BUTTON4:8 S$ P0 o3 r' _7 x( T
{
; U0 H- Z+ P2 q1 o bStart = FALSE;8 Q$ ^; K0 D8 c6 ?2 s
break;. o7 P& W$ w4 J" P( P5 r6 {4 ^. P: ?
}6 {7 f0 B9 W5 M/ i+ c9 a5 P
}
. k& m6 A) n. X) o7 s" E return CWndNeuz::OnChildNotify( message, nID, pLResult );9 D p7 h; x$ T/ ~4 R1 P0 M
} 9 L% T2 t, Z* D. i, W0 h; c
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
: a0 s, y4 `" S% u, ]3 z{
- X' S6 `; E# T* J- X, v/ D. D CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );0 c$ m, {/ |$ i! H7 t
if( bStart || !m_pItemElem )
: ^4 i5 z3 ` | {: b0 Y4 o4 M8 \- {8 B
pBtn->EnableWindow( FALSE );+ i8 ~( `6 } ]% {8 V& r3 M
}else
6 U$ m! }9 R& O# B' n7 g: d pBtn->EnableWindow( TRUE );
' y8 X* t3 }4 v5 p6 a if( m_pTexture )
# o2 B* S [% d" W6 r+ m7 v {* T) U2 o: J* j* o
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );! u6 s7 ^% M9 i5 @$ [
if( wndCtrl && wndCtrl->rect )5 }! ^9 `, I$ H9 g& N% \
{
; L# w) b _" e: }8 M m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
" Y. o6 z* [) B! F& Q$ v }
. |8 `2 D4 M/ d }
% Q/ A- x r% c}
7 b3 \( \! o2 z! p8 J4 G6 {" Y! s# }
BOOL CWndAutoFood: rocess()
: v# y9 p+ c! _+ ^( b' v{: ^* o6 I X" ^4 `. r! H
if( bStart )
+ a+ E8 F( ^* T7 _3 y( l {8 y4 G" l' ^6 R3 s3 Y! u* p
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )# l& @2 n3 }, J$ a/ t. e8 o
{0 S' u8 K8 }- z, i
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )* U5 k7 a, B; ]0 s7 a8 R: D9 D/ V
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
0 }; B! `( S# W' \ }else{" @4 L1 S& \8 j
bStart = FALSE;0 p/ |; \+ W$ y
m_pItemElem = NULL;
& Q- p! M# i$ s* q6 v: z% A }4 ^0 n5 ^6 v: ~. [6 f3 G
}; r; a+ v2 c) \1 M
return TRUE;
4 w, v- v. J9 Q/ J9 E W}
0 o, m. I3 i% n9 u& n( i$ Q' v- Z: n- k7 ~9 H% f6 [, s* @
登录视频废话:
C9 ^8 [4 i2 J0 \7 n ]' k尾翼:
4 D* P0 ?) E- r% {# o {6 ]6 @/ P* Z2 w2 f
代码:
8 e+ Q( T7 I4 ]3 j* n: O+ `
$ H& x3 L; e+ Y1 V2 l: cvoid CWorld::SetLight( BOOL bLight )
9 n3 x6 w, ^# P3 V5 l: U( |! Mdurch
" p' B# ~7 C* N& [# CCode:5 V" S3 w3 A, r4 z) n* A! l
void CWorld::SetLight( BOOL bLight )
8 f+ R7 j# c$ ^% _ M( I1 N{
/ |3 @& L# `; v //ACE("SetLight %d \n", bLight);; y9 ]; b5 N) H
. n) j8 I8 a0 c: }#ifndef __WORLDSERVER . J$ [' A* r, z& K2 b
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
$ T) I7 o" C+ `+ s CLight* pLight = NULL;- ]7 S" a2 a# y/ M
3 C( Q K! J6 m( m D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );9 i! D+ j' w2 e+ N
1 x. R$ ~# w, Y( N0 E% B* X* C
pLight = GetLight( "direction" );3 |* e3 F0 U. H" j. X6 y
6 A1 o9 h) C* P7 _" |7 d: y L' u#if __VER >= 15 // __BS_CHANGING_ENVIR* M+ ^ F/ o% Z' {) w- N' U3 n
if( g_pPlayer ){
. E5 @: Q5 Z; W9 U& f ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
8 \ B! n u0 w0 J if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!2 @. C1 H; {3 D7 y$ `5 f; ?
{+ q) V$ D. J8 L, D$ b/ J
if( pLight )9 \, H' q6 W0 \; _! I P6 n7 R
{- v: H9 p( `7 k
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];% Q" r3 H6 d/ w+ Z2 W" C& {0 B
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
1 [5 ? V' S2 p4 [ pLight->Ambient.b = pInfo->_fAmbient[ 2 ];0 L2 U7 }' B3 b; {# T2 w) c
( t, t9 F5 F3 h1 w% x
pLight->Specular.r = 2.0f;
( {6 y, q/ l% r! J% b! i pLight->Specular.g = 2.0f;
+ u! }! @# D( f c; ]+ y# C2 S d pLight->Specular.b = 2.0f;6 S% m% T/ H" w0 K Z
( |; A B, ~& A& `# b; w# ^
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
- j: D$ d' ~ ~4 U pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
D, X: K3 u2 Y- Z4 R- u pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];. n+ `! b0 W. \1 g, P' h# }- L
9 o$ _" d4 Z5 ]$ a0 S. ]) g HookUpdateLight( pLight ); ) S- g: s. H9 f* w+ Q
( z- H$ o7 X- {) [: ?" B memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# L( B$ ~- u0 u5 H 0 Y5 V; l [- P7 W4 ~
pLight->Diffuse.r *= 1.2f;# I/ W3 z. r; M: f
pLight->Diffuse.g *= 1.2f;
% h$ m0 y a; E$ Y- k pLight->Diffuse.b *= 1.2f;
6 C. h/ w) u, M: b# c" N; N& I% f: L1 \8 P5 }% n' n
pLight->Ambient.r *= 0.8f;
' o2 y# q6 c8 N pLight->Ambient.g *= 0.8f;& ]" q+ v1 J) `5 H
pLight->Ambient.b *= 0.8f;
, B0 G6 u0 n- f5 g / A% i* Y5 D5 b* D7 o9 K
memcpy( &m_light, pLight, sizeof( m_light ) );2 u' }) Y/ K: U
+ ?, r. Z' S% }4 d1 R
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
" [8 d2 W0 B$ H* D. \+ c* A/ F D3DXVec3Normalize(&(vecSun),&(vecSun));
/ s9 S' R; o6 i- j! b pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 0 d+ s) n5 n" Q1 _ y$ t
pLight->Appear( m_pd3dDevice, TRUE );
! T. ?2 o* ^6 y# R, Y$ X$ _6 z 7 N4 z6 ]6 L( |% h6 T
DWORD dwR, dwG, dwB;. a4 q; H% `% \2 l9 O
dwR = (DWORD)( pLight->Ambient.r * 255 );
0 b# l: B- _& r4 d+ @ dwG = (DWORD)( pLight->Ambient.g * 255 );
0 [6 W' G. ]+ q1 {1 ] dwB = (DWORD)( pLight->Ambient.b * 255 );' i/ M4 L8 @8 X5 \
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" a0 L9 a! L7 z8 d }; T" i+ C+ S9 D: u- ~. P! j
}
/ J8 B+ r k! F4 y2 j! c }
$ m( h; L$ I; o' i else
1 j# ?8 h. p+ i. j#endif
; o7 l% H( J; S- ~0 u$ b" j% a/ D4 c6 |& `9 K3 ?, @
if( m_bIsIndoor )
" h) p$ f7 b) E! k5 k3 p: f {
) r$ M3 A2 @: _" g2 g if( pLight )
, |; A' I1 N3 x* } { 4 i- t* R0 h+ b' ^! k
// à??μ oˉè*
# f4 K$ G3 f3 }$ f pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
+ z) {7 K. z. p$ n: H% ` pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;( o. F4 E- E& P
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;% q! R$ h! G. J" p& t, Q
' S) t4 ~: K5 A, B% c3 A ?5 c // oˉè* ??à? ) H* w- S. J; ]7 t$ V
pLight->Specular.r = 1.0f;
. ~2 @% m5 w [" U8 j; h \ pLight->Specular.g = 1.0f;: e7 s% m- C8 l) Y3 a+ y
pLight->Specular.b = 1.0f; w% G! Z* }' g8 ~( v/ P
// àü?? oˉè* # {. |: D- O2 x7 z% b
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;) A+ l* U( ^( C- N8 s
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;9 d; A K8 R4 b1 A! {3 h3 Z. m+ _
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;4 N# S* f& l4 s
, @- s( @- M! _' y4 h if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
; j I9 v5 P4 {8 c8 j( V { {) Z4 k; m9 s
pLight->Diffuse.r *= 0.6f;
1 j1 N) n) S4 ~4 B5 k pLight->Diffuse.g *= 0.6f;
2 w b/ f9 U+ U& [ pLight->Diffuse.b *= 0.6f;
6 a6 K4 N9 a! D pLight->Ambient.r *= 0.7f;
3 j8 C' u3 i4 t) A9 s! } pLight->Ambient.g *= 0.7f;; Z! O. S2 A- a9 [ @& F
pLight->Ambient.b *= 0.7f;
* c# F* d+ U- C, b5 ]5 s& E }, g H9 c2 Q* D2 g0 b, M
" y( D4 S5 g8 U- B#if __VER >= 15 // __BS_CHANGING_ENVIR
P' y# p p9 d/ t/ t if( g_pPlayer )1 A( H2 K) [ m. d" p( {
HookUpdateLight( pLight );8 G$ ~+ a, _ P6 N
#endif4 Z; F q$ c! H/ ~0 o
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
2 t9 l) W. \( }/ u8 l6 }1 N
4 T# J/ I( d: p pLight->Diffuse.r += 0.1f;
6 K) w! g, m) ^& E y pLight->Diffuse.g += 0.1f;
! X2 Q" a0 \! A* ], w3 w9 z pLight->Diffuse.b += 0.1f;
" p, ^% H n! Y/ T$ |, e( M // oˉè* ??à? 8 u0 c' U; m' S# p. e
pLight->Specular.r = 2.0f;
1 I9 `9 d- |1 W2 P* y, g pLight->Specular.g = 2.0f;
8 J8 T; p( @+ x3 O" w- x9 R7 ? pLight->Specular.b = 2.0f;. s+ O; ^: b( e0 N0 w- N3 Y, Q
// á?oˉ 7 p2 E6 E* Y; S* Y
pLight->Ambient.r *= 0.9f;
3 C* \! E1 h9 d& j% v3 T pLight->Ambient.g *= 0.9f;
# H t5 V7 K$ I: t* i2 ` pLight->Ambient.b *= 0.9f;8 f7 B' R9 q& Z
4 F" w1 h- D5 c. i6 y memcpy( &m_light, pLight, sizeof( m_light ) );
" K; v4 H# [: ^& {3 v% ^3 [
9 }# ~1 b* b! V4 @6 F( o) r/ A pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
& P: D0 A! _# u, e+ ^ a3 G pLight->Appear( m_pd3dDevice, TRUE );
. {3 D/ L4 F% g+ V! s: W* _
' t& y5 h9 \) n* C( k# d DWORD dwR, dwG, dwB;
% [7 b2 |5 i" Y5 G! A- z" z dwR = (DWORD)( pLight->Ambient.r * 255 );
5 h+ l$ `) v$ _) i* r4 t dwG = (DWORD)( pLight->Ambient.g * 255 );# U, D- Z( @/ c0 \
dwB = (DWORD)( pLight->Ambient.b * 255 );$ g6 o) a; ?0 \$ t5 U* Y- t1 f
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );( q0 w! o) @; g
}" v8 W: X$ V& ?- b$ A# B
}
5 S" v' M s4 H% m+ a else
) U' r' }. d% \, `) K {
# C+ B' u9 X. H! } if( pLight )8 L3 j- x( @& C* K& h- m$ r
{' t6 M: u5 o+ q T" {
0 p5 G% y9 h. `8 j1 P int nHour = 8, nMin = 0;9 }$ ^/ P6 X; t7 M6 F: F
#ifdef __CLIENT( a* O0 J( P! @7 E9 y
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
5 G/ } F$ n; Y9 d9 y- H' B; ^% H nHour = g_GameTimer.m_nHour;
# Q5 O9 c' u! m' V- S# E0 |9 W nMin = g_GameTimer.m_nMin ;
6 O- y- ]& S; Z3 D! U e #else
5 P* b, r n% l$ p4 B3 I: S // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
& A$ n) T2 n, h* Z if( m_nLightType == 1 )
6 ^) N. i5 j) r nHour = m_nLightHour;2 L6 Z" A; G- a* w0 E' i
#endif" \- W: a7 e8 b" d; z
nHour--;
- X: N+ q9 [ ]9 Y6 w# O if( nHour < 0 ) nHour = 0;
7 |+ X) T1 m0 ^& G if( nHour > 23 ) nHour = 23;
Z4 Q1 K- y( G# q; R) w& j9 Z0 \" G
//if( m_bFixedHour )8 W, e3 b3 _* Z k
// nHour = m_nFixedHour, nMin = 0;! l/ R( A$ o; G$ K9 V
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
$ u l" b$ D: Z) [3 r2 u LIGHTCOLOR lightColor = m_k24Light[ nHour ];
+ t. [ `6 E7 A! Y: J9 |% h) S& D9 H! t& c% x, p$ i
//m_lightColor = lightColorPrv;
2 H$ u" G' S1 r3 b2 h* | lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;4 M: ?3 Q: H& f1 \3 z
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
) Z4 _6 I/ ]6 R, K% `. _- j1 H! r lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;7 j" \- b' G9 u+ Y$ r
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
9 `0 E, m4 K( Q6 y) n lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;3 |, g& m6 y; _( T
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
8 h( l; ?4 Z5 s+ ~ // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
/ t6 z( ?0 ^6 o/ C [- [
: m, L) S/ I+ Y6 o3 } // à??μ oˉè*
6 z. O, K3 n3 ?# ]/ h% i; e9 J& C' Q pLight->Diffuse.r = lightColorPrv.r1;( I$ t8 s7 U, A& E ^% [) o
pLight->Diffuse.g = lightColorPrv.g1;; l- X" p! M- [; |" n* R+ v
pLight->Diffuse.b = lightColorPrv.b1;( z8 _% t: ]; ~' k# g
// oˉè* ??à?
9 B- _6 z: j) {( z$ R T# H: O pLight->Specular.r = 1.0f;
4 K+ E" h# ?. y* G# A+ O; y pLight->Specular.g = 1.0f;( }3 k0 Q8 ?: Z
pLight->Specular.b = 1.0f;: Z, u( c) `+ p& l* s
// àü?? oˉè*
! U% q, Y2 ~9 T" y. e pLight->Ambient.r = lightColorPrv.r2;
6 F9 Z9 c0 A. f7 _ pLight->Ambient.g = lightColorPrv.g2;* i. S; w4 }7 U$ |% q" e
pLight->Ambient.b = lightColorPrv.b2;
9 D5 k! f9 e; z- x% Y. w% X( h# k: E5 g% G
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.- `1 |* M" ^, k1 }
{
# K- C0 d$ J3 V pLight->Diffuse.r *= 0.6f;
2 Z* F" b" F' R( \& y* ~8 M$ \( ^ pLight->Diffuse.g *= 0.6f;2 H0 e/ j( o/ _1 A5 G
pLight->Diffuse.b *= 0.6f;9 k7 j- T4 C% f- p* L3 P
pLight->Ambient.r *= 0.7f;
( F$ l+ g* C4 V pLight->Ambient.g *= 0.7f;
9 N P) J% x! v, `! ^: f7 ^ pLight->Ambient.b *= 0.7f;: c* `, E9 j. x: O3 v5 M
}( f6 D" t$ E- O7 i& H4 Z9 |
' Z7 @# v( K$ l, d) b! \
#if __VER >= 15 // __BS_CHANGING_ENVIR
* Y! j* _* p! L3 R( N if( g_pPlayer )
. }8 _' q1 P; A: \4 \9 A HookUpdateLight( pLight );
4 o( m6 \* v8 n5 G9 p#endif/ t9 N- u- `0 N9 b
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% S2 ~* t3 O" \4 B+ w8 t. ?. |& }: q/ ]& q# k9 p% K7 d9 F1 E4 Y! i
#ifdef __YENV7 o$ j( {6 ]' I4 a, d
pLight->Diffuse.r *= 1.1f;
. a1 G) g1 h/ ? pLight->Diffuse.g *= 1.1f;. W6 v) {9 L, r! C! Q6 `1 U, ?
pLight->Diffuse.b *= 1.1f;, e2 z' u- c6 _7 \7 A# F* G( U" u
// oˉè* ??à? # c. {( J( _, }
pLight->Specular.r = 2.0f;6 h! B' E% C/ k4 m& b2 P; m+ a
pLight->Specular.g = 2.0f;
5 L* B i& ]6 `' V pLight->Specular.b = 2.0f;
5 H+ \+ x2 H9 J // á?oˉ
/ Y i [* v; ?$ w pLight->Ambient.r *= 1.0f;
2 N l& }$ N1 c( o1 }3 J8 A pLight->Ambient.g *= 1.0f;8 m. L. b! T0 \0 j. z: ]
pLight->Ambient.b *= 1.0f;
2 m8 |6 B3 @3 N7 \#else //__YENV* Z1 `3 y( h+ S# P8 }6 } D9 P
pLight->Diffuse.r *= 1.1f;- I& a' S5 X! v5 _
pLight->Diffuse.g *= 1.1f;
& b9 c6 E5 H. f# u; j pLight->Diffuse.b *= 1.1f;
7 H d4 h* q$ \* \, O+ B // oˉè* ??à? + ~0 [- J$ A) _/ O o! I% v3 w/ U
pLight->Specular.r = 2.0f;5 I% [$ g. G8 F9 X' ?- X) j
pLight->Specular.g = 2.0f;
5 r, J, s* S6 Z pLight->Specular.b = 2.0f;
! n. }+ L/ |( |1 t0 X- ~& `8 S. i/ Q // á?oˉ
5 M% }8 \+ f2 A! l pLight->Ambient.r *= 0.9f;8 t/ }5 W5 o& I9 Y9 l
pLight->Ambient.g *= 0.9f;
7 }7 t- m# J' G' C9 `- p' ] pLight->Ambient.b *= 0.9f;: X) r) z. ~+ h6 W( N
#endif //__YENV + M% Y# @" ] H8 @1 @2 g6 C
) l3 d- b6 E: D1 H- \+ d% J memcpy( &m_light, pLight, sizeof( m_light ) );
8 ~1 B! r/ W% i ^& I( A# F : \0 U) H( \6 P$ `) Z3 C5 @+ W. i
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);& w4 p/ L1 e8 n2 ?) _
D3DXMATRIX matTemp;( i% D7 m! w' G: w
static const float CONS_VAL = 3.1415926f / 180.f;
5 Q! N) U$ M8 h, V1 Q6 e( x, r% M0 a6 ]. |) L/ P1 @
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
q+ j8 h; x7 {5 W% O) j- | D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);$ J; u) d1 \% `1 q
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 4 o* K: Q% ~# w* h0 b u" I
pLight->Appear( m_pd3dDevice, TRUE );
( U4 C5 e( G4 w5 j' s) s) h7 e1 k: y* l
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);; T7 \& h- E6 s) ^1 n; d" k6 ^
// D3DXVec3Normalize(&(vecSun),&(vecSun));0 N% x9 g5 d0 k! q# n* j) J. U+ v* b
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); & H: l# W) V% C+ O4 J' z0 B
# G9 h% O x5 H( P; Z9 ~7 O, z0 P/ f
DWORD dwR, dwG, dwB;8 x- R# h7 @8 T& ^; T
dwR = (DWORD)( pLight->Ambient.r * 255 );
. o1 n. J J7 P- ^3 p dwG = (DWORD)( pLight->Ambient.g * 255 );8 K+ b! n6 s4 p: d& X3 E- i
dwB = (DWORD)( pLight->Ambient.b * 255 );5 t7 e" j5 S7 E( L, W
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 1 Q9 P; |. m- }2 [3 c" ~* i: l
}
# J# u* W0 K+ }3 L }7 d e0 o& S) A8 C
: @ u) L$ c' t* O
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight ); k+ `) M0 Z" g1 z- \
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) );
. a3 k$ R2 H. J/ @& \& R ::SetLight( bLight );/ _2 {7 w& C% e: m$ P) \
& m2 n9 `0 C, }( L4 O3 D // ±ao? ?D?í???ó á¤à? 7 E3 s! w; h8 ?8 f. T2 k/ `! |) o
m_pd3dDevice->SetMaterial( &m_baseMaterial );3 c+ ~- P* ~1 T# C. k
2 D) c, y1 c% w" J( D5 { |4 ~
#endif // not WORLDSERVER6 ?9 V* B0 ]+ r: H
}( D2 M. W! g; d6 U
并更换) R: u& C9 n$ O4 K2 B2 ~; q
Code:
0 g0 H. j. K A& @1 D7 G0 N; q; }__FLYFF_INITPAGE_EXT1 f" Y- y6 s3 O0 Q l3 |
定义6 Q2 c3 P( H: @8 D4 y( G
) h, T+ q% F* x9 a
& p: p, j: w+ s0 {( J
; ?% s6 G6 T! I/ j% V4 M8 v+ f3 t d) I% B+ P0 c
现在终于删除我的狗屁加速...
8 `: ^4 M: n+ [7 m4 Y7 U J, x
) Y3 q* y' g* @) l; [
8 H7 V3 q2 W2 W x6 _, B
% `7 X8 L. }7 i; S u- D" P2 s& y |
|