|
|
食品车:
* w- R- s" G& e5 `9 N尾翼:! l. L( T t. U
% o. O% r* `# L6 `' A) v% c
代码:
& L" ~9 ^4 g/ R) ^5 BCWndAutoFood::CWndAutoFood()
6 ]% }3 J( ^0 ~2 J. l( Y2 K{
4 d+ ^# U- A# J3 @ m_pItemElem = NULL;; E/ `5 k8 M" y0 R0 X5 c3 R
m_pTexture = NULL;
* |; R* z0 X, Z: B ` bStart = FALSE;
5 p( s% s; Z; c# k' T$ X}
9 c- x. [4 r" Q. }6 E2 f% n) D {5 Z3 q3 t: v( z) J
CWndAutoFood::~CWndAutoFood()% v2 u; C4 z, j
{9 u! @' z- Z9 d2 F5 y5 Y
AfxMessageBox( "AutoFood ist gestorben " );
4 S8 K. h3 X- w/ W5 ~}& k8 P m6 V. s1 T
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType ). w1 d+ N8 v1 C5 B
{& C% G0 Y' V/ h# @
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );$ b8 \, S. B4 o
}% R, X! P' l3 q% t
2 L) {; {6 }. r6 a) M0 bBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
& R( K; [, r5 Q! v0 r{
7 _. J* c0 ?; l/ E3 h) g' L! K LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
; ]# W8 T1 D1 d CRect rect = pWndCtrl->rect;
; X7 m/ C/ E& u# a' @ if( rect && rect.PtInRect( point ) )
3 d# F; }' s+ u {
( V S: m4 x) G# [' `# I& B( w CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );, h4 [. _$ e. L3 `# n; z
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )& p! N4 r1 o, S' n5 t) Q
{
! m/ P/ l `3 I( F, G3 t7 c if( m_pItemElem )3 a6 m% X( X B% J8 m1 P- L
{+ a' X: v5 t: `
m_pItemElem = NULL;# j1 }3 z8 ]# p1 q, Z0 J
}! o" C# O+ X" g; z( p
m_pItemElem = pItemElem;
; I' w: Q& j6 H y, U* w6 e z& q m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
' _# H8 Q2 O% E. Y& @ }else{
9 }5 P/ }0 \2 k SetForbid( TRUE );5 `6 T% ]( r* ~0 Y# h0 a9 F( E5 D
}* B1 N# \4 F/ a- I
}else{+ ^6 {. b3 L1 v' k; {
SetForbid( TRUE );1 a2 b6 T% E4 L5 Z) @5 r0 H
}
8 c$ f8 W A/ m V2 y n return TRUE;8 e; J+ x- X2 F* P N+ G
}; O+ R* d( F4 x4 v! U! o. h0 V6 X# _
9 e5 \8 D# m) ?/ ]BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
) C/ T% ^/ n8 V* i5 p{
5 h; a( Q* C: g" M8 Y switch( nID )' ~. k5 k- o! B' B4 C
{
' T9 q; o) l) B4 N Y8 S case WIDC_BUTTON3:
" s/ c3 e# E$ l {
$ r* ~8 ~. A% G0 ~7 { bStart = TRUE;+ n" @& }, E1 [
break;
, l! x2 P% `: `! f$ { }
9 y3 ], l" r! x/ w5 y8 E1 y case WIDC_BUTTON4:
) X) q" | Y! ] u7 ` {& T) B2 B; X7 Y
bStart = FALSE;
& r6 b* e- f0 |: i: q break;/ b, b* u7 D0 @# n3 g
}6 x! T3 Z) l: c0 Y# R
}
( Y d* p: {% F3 Z g* J/ r: r$ H return CWndNeuz::OnChildNotify( message, nID, pLResult );* F0 z, x2 t6 g/ Y) j2 M- @# `
}
' p7 @* b' ^* E" @' i; Ivoid CWndAutoFood::OnDraw( C2DRender* p2DRender )' z7 e; P2 m; T
{
1 P& \6 ]; w4 {3 F5 t CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
5 e% t3 k0 Y* K- \ if( bStart || !m_pItemElem )
& g* w( }5 h7 Z! G, a {! X! X3 j' K1 H' }4 A4 r
pBtn->EnableWindow( FALSE );
2 B& V) |. `0 |* n' d# s \ }else
8 v" F$ S8 ^" o, k pBtn->EnableWindow( TRUE );/ Q# L5 m0 W1 O$ ~* ?( A
if( m_pTexture )
9 y8 M5 d3 P+ N1 J; _! Q4 q {) {! b* G3 y) l0 z) D* r& y
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );/ O& M; v2 [& |- R( x$ Z" j- P
if( wndCtrl && wndCtrl->rect )
% x7 E; _0 u: B N% v# n2 n {
$ U3 J3 g9 @) N$ h- } m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );6 n+ }% O U2 H( ?" u& \
}0 ^2 z9 n" O: O/ X6 Y3 L# r z. J
}
$ s% {' C3 k( O' @) J}
- |/ `+ f1 O% u2 x4 s0 p9 d
: I* E2 m1 g8 C, s: S8 xBOOL CWndAutoFood: rocess()
+ v" [4 V. t7 c3 Y9 }2 v{
# J% ?- O5 k2 Q if( bStart )
8 j& Z4 b9 r, F: D w {/ O ~4 j2 I5 P
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
( z0 k& `+ z# L" f# b {/ B( f8 j$ z" 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() )
- e" Z. J" |3 a, x/ @, F1 p; ~ g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
" e: V2 A; W% y6 S' s, ]4 H5 B5 ~ }else{
3 D$ T6 j! W' a' x/ [' o: U* p bStart = FALSE;& N; ?' W$ D3 E6 T
m_pItemElem = NULL;
/ y/ D4 H# I2 Y+ p) l$ Q- X; { }
E5 C# k2 m c3 [6 P }
# O, z: m7 Y. Z return TRUE;
4 A% [5 Z {8 M8 D- l. R}- P" {6 J8 B) F
8 f- X3 s G# v) P; c( j1 P登录视频废话:
* B& z& C3 u1 c# ^尾翼:. ]7 s2 K+ N, H1 |6 l( Z7 S8 c1 d
7 P+ I& R( f, z! W代码:
- S( t$ q) Q# d: P6 u& d( g
1 [) t0 ?" z8 R( [ Vvoid CWorld::SetLight( BOOL bLight )) I0 N( o& w" ?. N; m* C
durch" |1 V1 R( q. E/ ~: N9 k# B" |; d" o
Code:# h! j5 v6 j" w; }: i6 |
void CWorld::SetLight( BOOL bLight )
3 b: R6 @$ u5 h{
' }, g. S$ K5 e6 L) M //ACE("SetLight %d \n", bLight);
/ I+ h7 n, s4 Y c* y* B+ p' t v4 I, V4 ]. n G! Z" S9 M( G
#ifndef __WORLDSERVER
; I1 s, {- r9 d' j* Q DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);5 T7 B- N7 m( e; J! h
CLight* pLight = NULL;% F. I8 N, M: T: g. i4 v
0 V" u6 I- p$ o
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
! U' e2 v5 R7 @- I
5 `3 T/ F5 E9 e+ C: j f, O/ k pLight = GetLight( "direction" );* Y( y- H' c( }
! f- c, a7 y4 E3 [* r& ~
#if __VER >= 15 // __BS_CHANGING_ENVIR, ~- J. a. q/ D& c/ o3 Z
if( g_pPlayer ){0 z; R$ k: w* z# ^
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );; @4 D7 R; V$ N7 \: M
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
; q; v) r0 h0 s: K {
% D6 {0 Z7 f0 c6 K+ M if( pLight ): I$ d; w8 B$ B! U6 L! L+ | s; t) D
{; V; \' a4 }8 Z' u% B& H! _
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];1 j Y1 G( S4 ]3 n" _1 [& Y# {% d L
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
& _! J2 T4 i5 A' `: K( w3 V pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
+ X2 c* D ^0 w$ B7 T( A/ R( I3 {
7 t0 [' ?5 h8 p) h6 S pLight->Specular.r = 2.0f;
: g, ?6 D* @* L/ _" k. l% w pLight->Specular.g = 2.0f;" s& H$ e1 A( R" t; [! ^( b6 @5 N. X
pLight->Specular.b = 2.0f;7 _) ]3 J3 e) ? ?4 i
5 w* s2 s* r9 V( Y/ {6 s) _
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];" n, n- C0 U& V! |
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];0 u3 @: H( x$ T: |& u
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
7 @- Z3 l5 t$ C) j! _2 e5 i4 n4 s
; S6 d. G A% R) R9 l* W9 L% G HookUpdateLight( pLight );
$ ?' X* {4 F/ a! L; k! m( V, |4 d
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 L2 E+ J4 M- ?1 X , s4 @$ L7 l3 ^" |
pLight->Diffuse.r *= 1.2f;
5 @) W8 i# w/ u% @0 ~3 \ pLight->Diffuse.g *= 1.2f; S8 a' ^& f% `
pLight->Diffuse.b *= 1.2f;8 s3 J& |1 I ^. f' U# y! N( e; Z
! G$ Q' i$ } _& | pLight->Ambient.r *= 0.8f;; m+ ?; k% O& D' J8 T* t5 W
pLight->Ambient.g *= 0.8f;7 Z' [8 j5 f7 T+ q' e% J4 Q. ?
pLight->Ambient.b *= 0.8f;
# I9 c$ s* z/ x& U e9 i 1 P6 z! f9 k' X& C; V3 h2 z" B
memcpy( &m_light, pLight, sizeof( m_light ) );0 A- B- p$ Q9 [6 Y$ _+ \2 ~4 a: T. w
; q! X) |2 b8 ~# [# E: M- [ D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
8 s- b% F4 |) w( c& R+ ? D3DXVec3Normalize(&(vecSun),&(vecSun));. H( ~2 }/ D* L' E& S# H
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
! P1 U7 A+ s9 l pLight->Appear( m_pd3dDevice, TRUE );
9 h2 R' s7 r! X4 b/ B# c, C
4 ^' T' a4 O: a% d* k6 D& E0 U DWORD dwR, dwG, dwB;
* v* x! @+ M% ]0 i dwR = (DWORD)( pLight->Ambient.r * 255 );; ]0 k8 B3 ^$ ?: Z
dwG = (DWORD)( pLight->Ambient.g * 255 );* Y- m, x4 X0 v: T; V; M, T( o
dwB = (DWORD)( pLight->Ambient.b * 255 );" t$ c8 M: ^' y
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );5 s' F5 B4 `8 [# N, S
}
/ @- D- @& I9 t! _3 E; f1 D }
; o P2 U/ _2 k# x- C+ p }
5 `# G8 \8 U. ~& k* i- Z else/ Z+ P$ r% s8 ~$ N
#endif * s% x1 i3 g/ B. }
) A& U6 `8 t# w8 Z
if( m_bIsIndoor ) G' _5 |( M/ D6 i0 M5 [
{/ r. l4 S Z9 t
if( pLight )/ b: o4 x9 a( K l
{
" {5 D7 I' V% A( b+ c // à??μ oˉè*
$ x2 T* U- K, n6 i0 n pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;7 X" N9 S3 l& ]7 ]1 D+ ?4 I2 E5 ~
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;1 ?$ g" h) M8 e8 @) j; k* s
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;1 y: F1 n1 t I) c
+ z% R! _; S* p+ S4 Z$ n4 U* @
// oˉè* ??à?
( J8 K" O! R. N% W pLight->Specular.r = 1.0f;
/ H, m( i: g: p7 \+ N1 C, f" N pLight->Specular.g = 1.0f;
% _) r; `! S% L) n, }7 { pLight->Specular.b = 1.0f;1 u9 x9 o& t0 D! z2 F2 o; b# Y7 N
// àü?? oˉè* 3 x! G9 ?8 H' P9 K* f0 ] C4 k0 d
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;6 [3 C2 t9 H" n& S" ^. W4 r1 e
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;5 ?. T0 y+ e( `! S; b
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
6 M% K9 [! f/ k! N6 d% d! B4 @/ O8 N$ s7 S6 h
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.* o8 w6 ~9 `, L" t. f& T
{! C9 F3 q( z1 z3 Z
pLight->Diffuse.r *= 0.6f;5 u4 B8 @, N1 T' F6 g
pLight->Diffuse.g *= 0.6f;
6 M3 k3 i" h4 E9 M F pLight->Diffuse.b *= 0.6f;
6 N6 R4 m9 G0 V8 R5 P" P: _ pLight->Ambient.r *= 0.7f;
! |$ F8 D6 H, F' v pLight->Ambient.g *= 0.7f;
# Z" {* C# U8 F( l6 ]- J7 R7 H; O3 l pLight->Ambient.b *= 0.7f;
- d8 |8 g# D4 S* e2 f; x }
& |- O( B4 u6 D1 O0 _& Q' I) \; Y5 d# B, I
#if __VER >= 15 // __BS_CHANGING_ENVIR" [4 p; N! c" E3 R5 w$ W
if( g_pPlayer )
`) U, [6 _, Z! u1 _ HookUpdateLight( pLight );$ D2 c0 s$ f$ y" S! H
#endif
. O. ?5 i9 X- T memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) ); g9 y. \5 V5 N7 r
4 w. h1 C4 {5 }+ j' {8 Y0 x" _
pLight->Diffuse.r += 0.1f;
5 U) g0 F, U: _0 ^5 b pLight->Diffuse.g += 0.1f;
: g0 ?; l" ?% s+ W pLight->Diffuse.b += 0.1f;2 H- b) I$ k1 n2 i# |5 ?6 D7 K
// oˉè* ??à?
, ]0 D! G8 e2 `, x+ T, w5 u5 U$ v4 ^+ J v pLight->Specular.r = 2.0f;
! w# H Q- N6 J& V7 s pLight->Specular.g = 2.0f;" m1 R' r" z$ {, }( B
pLight->Specular.b = 2.0f;$ L* C: ~; B- \% O& I; l
// á?oˉ , a6 a$ X% K6 i1 O
pLight->Ambient.r *= 0.9f;6 b$ \7 A7 h2 Q$ s
pLight->Ambient.g *= 0.9f;/ @7 E$ B: g( [: i" m4 G P
pLight->Ambient.b *= 0.9f;
/ ]+ ]; n/ ~, E
) |: u R. s. \% I% E7 q7 l& X8 ? memcpy( &m_light, pLight, sizeof( m_light ) );( P/ h- |7 ?3 o% N4 w
. ~0 K& ?6 v" \7 D pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );% k: _! G- X$ K$ F# O/ |
pLight->Appear( m_pd3dDevice, TRUE );
( a/ c* v" r/ M9 m5 l* i2 A9 M ?, d' E* l8 V
DWORD dwR, dwG, dwB;
1 G7 b% {- c) y0 S( `3 i2 {* F dwR = (DWORD)( pLight->Ambient.r * 255 );3 o- q/ B v3 W0 Z o
dwG = (DWORD)( pLight->Ambient.g * 255 );' ^$ c3 j+ \: S, T+ q+ J5 B6 V
dwB = (DWORD)( pLight->Ambient.b * 255 );: D. f! Y9 ?, W1 G, g* A2 O
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );- r1 U3 x( N9 F# f
} \ O) t; L. m; z
}1 @9 I6 P2 \4 w3 A
else
5 A! g" ?4 _ o7 J9 R( D. c {* L6 w0 A* H1 u3 M x
if( pLight )
% V# o2 s: A& s! N {
8 v! P3 g1 a3 c8 c
_. ^2 |% G7 }& r! N) Y% Z+ ^ int nHour = 8, nMin = 0;
: B3 |+ z' h6 M6 h5 Y, Q1 F #ifdef __CLIENT- w' Q; x' d& r
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. , O9 C7 e5 [ K6 V, z' w
nHour = g_GameTimer.m_nHour;
, x# B7 E0 C5 w2 s nMin = g_GameTimer.m_nMin ;
* p' n4 f' S8 ^! W% M$ g7 f3 ] #else
+ {3 `4 T" [- `7 c) G; J% v! Q // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
' c6 l$ b) _$ r if( m_nLightType == 1 )
% {: [- a+ M9 M7 D: [ nHour = m_nLightHour;
" o9 J) H G; V* o9 n4 D- m$ c$ x7 y. B #endif
6 ?2 x9 i* f# v3 D nHour--;) I( I* j. ^& f# ], K( r0 ^
if( nHour < 0 ) nHour = 0; }( n4 o4 q: e; y
if( nHour > 23 ) nHour = 23;; q" V/ _6 ^* k! ?% t; {" v
, ^0 _" v7 W+ N" N6 Q //if( m_bFixedHour )
( ]9 }; k* p4 l- p8 z; {7 N // nHour = m_nFixedHour, nMin = 0;
& |' z5 Q. r6 K& T) T LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
# ^" N' S- V: M) b$ D. g# d LIGHTCOLOR lightColor = m_k24Light[ nHour ];
: Y6 M! F6 k. x2 `- T& |$ r( l% G1 B$ e: x- K" l
//m_lightColor = lightColorPrv;
/ q& `; d1 s& e lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;) X3 y) `9 c1 I7 f k: l
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;5 ?1 c+ } w' {/ G
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;5 ?) V3 v+ V/ v" A- [4 d* j
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;$ r' V" f5 Q$ ]* o% O @% ?+ D+ o
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;# m2 x, \+ [6 W
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;& R1 Z: ]9 L! d+ w- N5 y
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
! `5 H' E* K3 J' g+ z- F; @# p2 v( |# r) `! c
// à??μ oˉè*
+ j, v6 s$ S9 M- b! Z pLight->Diffuse.r = lightColorPrv.r1;
4 e3 B+ _: F7 k! P3 q pLight->Diffuse.g = lightColorPrv.g1;4 c& e* _" h( c/ S" Y S
pLight->Diffuse.b = lightColorPrv.b1;6 I, S; v& Z( P& o. F7 e g# D; E
// oˉè* ??à? 7 Y1 L+ @0 C& k$ N) G% ~
pLight->Specular.r = 1.0f;
% p$ i' f* D7 s* _2 R8 h: p1 s pLight->Specular.g = 1.0f;1 G& }" D2 w+ d3 c
pLight->Specular.b = 1.0f;
3 j0 b5 w; w0 ]. y& O' l2 e- O. } // àü?? oˉè* ! a( {& R) v; ]/ {& \. ]
pLight->Ambient.r = lightColorPrv.r2;2 A5 x+ ^8 `" A* `
pLight->Ambient.g = lightColorPrv.g2;% c% o A9 j! i$ A W! H! A `
pLight->Ambient.b = lightColorPrv.b2;
7 c2 X/ t l6 |; N5 x4 @8 m Y2 K" p* y- q
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.) A; a% {( P* R: ]4 l3 s
{& q$ Z$ F9 f4 {
pLight->Diffuse.r *= 0.6f;8 D$ g" @; W: ^( F9 w' U, F
pLight->Diffuse.g *= 0.6f;/ u w% k' ]7 S g, d, E8 U1 N: I
pLight->Diffuse.b *= 0.6f;
+ ]% ]: C: W+ e8 ^+ f& K pLight->Ambient.r *= 0.7f;' t& K! R* x% I
pLight->Ambient.g *= 0.7f;
: G; t' }+ |1 q/ L+ ~" P& n pLight->Ambient.b *= 0.7f;# J9 Q9 \" t' g6 x8 a9 k: s
}4 ?# r& f9 Z% \5 P9 s1 u
- s4 a x/ L, g& P#if __VER >= 15 // __BS_CHANGING_ENVIR
. y( O) G3 C0 J7 P1 L/ |" I if( g_pPlayer )# b# z" v6 W6 s
HookUpdateLight( pLight ); $ S* D; X2 D) x; H/ O, D
#endif
4 b+ P9 E" _; j, L+ L4 T7 O memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
2 B! E( t( G& N" {' E- ?0 O( r8 @
7 w; {" Z( ^4 t; v h& H4 k#ifdef __YENV
, {, G+ R ~2 `: F! }5 H% ~ pLight->Diffuse.r *= 1.1f;
% }3 v! y# e. [" R/ [ pLight->Diffuse.g *= 1.1f;4 _, I3 s7 W' `4 i& i
pLight->Diffuse.b *= 1.1f;3 b: M9 W; B) U; E! B
// oˉè* ??à? ( v! H) w0 E! t8 Z0 E
pLight->Specular.r = 2.0f;
) X# v: A U8 q7 V pLight->Specular.g = 2.0f;
) T( e3 J; W' [ pLight->Specular.b = 2.0f;6 l: `& q6 D, Y* N4 _3 r3 F
// á?oˉ # t" g; d# K6 V \ x
pLight->Ambient.r *= 1.0f;
# C& [ J3 g K9 L2 k; m' I+ C% D8 n pLight->Ambient.g *= 1.0f;
' ?) C( n) _) i6 v' r7 y/ ^ pLight->Ambient.b *= 1.0f;* p. @ h6 F& [7 y0 L
#else //__YENV
8 `, L2 y0 J Z* I7 ^3 g! v- s pLight->Diffuse.r *= 1.1f;) w+ D' h8 O* N
pLight->Diffuse.g *= 1.1f;
7 ~, `) z( N x pLight->Diffuse.b *= 1.1f;9 v; K9 P! K: Z. s1 f
// oˉè* ??à?
, P/ I% p- r9 ^1 h0 C pLight->Specular.r = 2.0f;
4 A8 z5 X. J1 i3 k) F pLight->Specular.g = 2.0f;0 ^" k) T: j2 e/ E" s7 N
pLight->Specular.b = 2.0f;
. {3 _9 N- |% U // á?oˉ % \; s7 d. R: k ]* Y
pLight->Ambient.r *= 0.9f;4 n3 N$ W& N( I1 l4 [
pLight->Ambient.g *= 0.9f;
' T* h" V1 {0 n6 t' M9 h% M }) d pLight->Ambient.b *= 0.9f;7 n/ |- K3 {( s; r" r3 K g
#endif //__YENV
g A: G7 {* s( A; k5 W" V / x. @+ V/ l. ?% q1 k4 }9 s
memcpy( &m_light, pLight, sizeof( m_light ) );
' j: L" @* y" M$ N) q8 g: } 6 C& \ t1 j r( E: C5 E/ r
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f); D6 L, Z$ c r; ^
D3DXMATRIX matTemp;
* d4 H$ T" I3 c9 N static const float CONS_VAL = 3.1415926f / 180.f;2 c# h4 W8 j/ }
. x$ E: h* U7 ?3 J1 [
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
8 i' ]# ^0 R% Q. ]) w( L. Z D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);% v) A; V0 O* j! Z5 f' d
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); . z( A5 c; d/ c- m5 i4 _/ s
pLight->Appear( m_pd3dDevice, TRUE );, a I! b2 M) y9 V% B: v; u2 a B
" @* a! m' K# l7 T. K$ ]& x
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
+ ]( L5 z8 O. e9 E( L9 E$ k0 v" { // D3DXVec3Normalize(&(vecSun),&(vecSun));& b, x, e, Z$ [3 M
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); % R! a; D0 A( l y5 H& i# l
" `9 q" Z$ X' K% I5 K DWORD dwR, dwG, dwB;6 [- {# w$ D. N4 Z
dwR = (DWORD)( pLight->Ambient.r * 255 );
6 Z$ _3 r' Q/ ^" O0 {' Q dwG = (DWORD)( pLight->Ambient.g * 255 );* Z! s' @. |( u; k }5 e- n
dwB = (DWORD)( pLight->Ambient.b * 255 );
- U8 {0 e0 I6 r& k/ `6 j# H/ W dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 P: S& M4 f- U4 s+ Q/ u) t }1 n: t2 u1 j! A
} m; H2 w3 G% L/ w1 t2 T+ O5 ^
) u: g, [# K0 _% B m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );4 g. }& {' o8 R& v$ G2 N! H
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) );
, h1 y9 y, J* M% V" m. | ::SetLight( bLight );* O; T# E- M4 j" Q# e
* d. [& H% b. S# }8 q ]1 W2 Z // ±ao? ?D?í???ó á¤à? & ], ~9 k Q7 T) N! f" q
m_pd3dDevice->SetMaterial( &m_baseMaterial );6 {2 l$ X/ K2 \8 h$ q8 N
( e0 y6 d; e' D3 n" f$ Y) B#endif // not WORLDSERVER
4 Q3 Z0 l7 {1 |+ Z9 T; J}
9 I. ?. E. t+ _) E9 W0 x4 e并更换 H2 I/ F8 W% F! U# V r
Code:' w) W) h6 R- @* Y
__FLYFF_INITPAGE_EXT
- [: B+ X- Y1 w6 \4 n/ K& b' E3 f" {定义$ f+ p' u; l' z9 h U6 U$ T
9 t( G3 O$ r+ B! P! o! f
1 x/ J; h, O. m, h9 J; s' C' B, @: M0 V9 x1 P. P
) g2 V* \" y% E/ I7 F$ U
现在终于删除我的狗屁加速...
: L/ c& \& @' r5 C. Y. k: Z
3 k. u( L2 M2 V% f2 |
/ D3 h4 I0 K- ^. ?; s6 z. Y; m! C+ K' J( ?: R5 n7 Y7 m {
|
|