|
|
食品车:+ |; O# D3 h! F/ ?/ x5 J2 j
尾翼:
# p) N p- R7 d# G1 F3 j$ r$ Z- \
+ c2 g m! k# P9 \代码:
7 b) z- S+ W0 ]( K3 F! @( KCWndAutoFood::CWndAutoFood()
& p+ o( C) J2 A- C* A; h5 }* P{% i+ b4 Q# K2 d4 q% G
m_pItemElem = NULL;2 |: _) B2 J' ?' `" v4 A3 l/ f1 X
m_pTexture = NULL;3 q3 [; |4 l8 H3 B- m% n
bStart = FALSE;2 \! p3 ?4 {- U6 s* [2 u8 W
}" ]; F- E( B# L3 B: B& }0 X& Q a
0 u# {" M8 q* @8 O
CWndAutoFood::~CWndAutoFood()( J: I5 H( Q4 v" l6 p( Y) E9 q
{7 v7 ], f! a' S F9 V
AfxMessageBox( "AutoFood ist gestorben " );
: w9 N! o2 m# O9 p5 \}* m! ^ K. v) T$ b: N- I/ R
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )$ c$ \5 N: y" R# O" [
{
0 k& w n8 S0 t return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
7 f _ q6 U# l}# E) S2 q0 ^# ~- F6 B Q( P
_: r) p! @; E0 u
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )8 s r+ X+ [$ y( n+ s( s; M
{/ \+ R% a. [# ]3 N, e$ [
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );6 z7 n- l! I z) f
CRect rect = pWndCtrl->rect;
3 J; B: B" G$ L: p* x0 _& P if( rect && rect.PtInRect( point ) )
4 d8 E8 ~3 I3 t5 ?; Z {- z S1 s7 R+ G$ p3 z4 h
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
. {3 B( `6 Y0 J8 q* b if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
+ y: n2 S5 f; n( Z' ^5 F {
( ?2 Y8 _7 z! c. K if( m_pItemElem )
) f+ ]6 C) g' v' z {- U# T" b& \" m' j3 Z* U9 }- m
m_pItemElem = NULL;
. |# l* y' ]3 {" l, | }
" D" p) ]; F! B; ?! t% W, ] m_pItemElem = pItemElem;
; @+ z6 F( |9 ? o5 m% L* w m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
4 t3 z4 d/ W; ?" ]# { }else{
% b" X+ _, t9 p* R+ @' \- y: P4 P SetForbid( TRUE );3 B; l" V& H: b- Z( ~
}
' t: S; J+ D8 X6 Q6 } }else{2 q4 [2 M( U% O8 n! k( C% a% \
SetForbid( TRUE );6 }* }; C9 E2 c: b3 i& P; \
}
: [4 Y5 M& k% L, K return TRUE;
" g+ Z% X. L& {" b0 Y}
0 _2 V' i; | A
; }! A3 M7 t t2 Q1 {) OBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
; ]2 J- z, W3 K( c/ [{
$ ], Q+ ~/ P1 E+ x6 h- L switch( nID )
: M5 e% K. \1 V) G1 p T {
|8 U/ I) z0 L, W case WIDC_BUTTON3:
. N% M+ d- S5 I* F {
' I, ?; z7 m/ w& U' |2 Q7 `6 C bStart = TRUE;& L {% @! O" N; V6 y! e
break;
S7 Z% B2 H; ?' P* Z, L }2 `; r) ^1 `$ o# P# N! C
case WIDC_BUTTON4:
; N5 `! F, L/ J) ^1 ^' o+ G$ W) \$ e. T {' j C* k- [. Q* D- A5 d5 n
bStart = FALSE;
% o5 o% i: [5 K break;! o u: {5 }3 }2 ^
}1 _- q" l: s" }; h3 h8 ]
}
# I* B, `% M7 }; A return CWndNeuz::OnChildNotify( message, nID, pLResult );3 N l+ \% n7 f/ u
}
) Q$ _) L9 S0 B3 `) ^void CWndAutoFood::OnDraw( C2DRender* p2DRender )0 I7 P B# T( T6 L; ~; ]
{& t& A5 C' [4 {: c( Y# b3 H$ Z( I
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
+ q* ?2 O5 P! M/ k$ x* O if( bStart || !m_pItemElem )# B8 N% B" n5 Y3 L
{6 _) s4 \* `1 w J1 b3 @% w
pBtn->EnableWindow( FALSE );' ~' d- ]- N+ m6 x4 c* J
}else1 ^' { o* @5 ]- @0 R/ _
pBtn->EnableWindow( TRUE );
( D9 Y& H' {5 R, E) R% K$ C if( m_pTexture )
4 g8 z) t. b' e4 | {+ g" V3 t$ c0 q" F" N
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
/ ]" j$ k7 x4 z, F2 d" I0 L% { Z if( wndCtrl && wndCtrl->rect )$ ~8 z0 u$ d2 |7 t9 R% c
{
- o# F) f3 D' ~ m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
! k) n( R4 @3 V) `& C: s }
( d( l4 Y3 P% N9 c/ l0 q0 b& L }# \5 t/ U% K( R0 d9 C6 k
}
0 O0 i1 d6 ]4 ~9 p* O) H u9 w: y' I x9 H% w
BOOL CWndAutoFood: rocess()
! S6 x% F8 {4 A% n{
$ e% s7 E/ q) m8 { if( bStart )4 ?" m' ~: X( P& Z$ d
{# `3 Y% z8 U* d7 o, M
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
- R0 y9 U7 O+ J {
! ~9 J' W) {+ C+ M$ ^( F if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
4 Y3 v! o9 [' N: M$ q4 N g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
! c$ z- J/ O; Y8 G. c& ?. z, N }else{
7 P7 Y( S+ [6 n+ Y; h' ? bStart = FALSE;
; N$ G# |9 e4 q1 ` m_pItemElem = NULL;
/ b: D* R3 ?9 I3 e6 i8 z }
7 q9 e( L% q# }& D1 ~* M: z" @ }' [# a0 z" J3 U9 W4 B
return TRUE;5 b0 K/ |* u6 A3 u; y5 n
}, M8 y/ f2 a* V5 {9 ]; g7 X
# K( C0 P* Q" E1 b# x& u a
登录视频废话:
* H9 c$ T, E- i! B. A3 L+ Z }# w5 ~尾翼:, j0 b2 ^ g: a3 C: B
* ^, j& o# l7 k) O/ t7 {代码:/ C2 [* @% i4 n7 [3 Z% v: F/ \+ [
' Y6 |* d: I/ q$ Svoid CWorld::SetLight( BOOL bLight )
' o: r' F e8 G" ~4 i) ]durch
" v8 L! Y6 U' U) K u1 s* hCode:
( e# @2 q1 c$ G# j5 ]" v* Ovoid CWorld::SetLight( BOOL bLight )
" [! }# B* u( Q g- K) e{0 U3 e9 H5 Y8 j
//ACE("SetLight %d \n", bLight);
1 g1 A3 d6 u" k
8 B1 `( i/ Y7 o#ifndef __WORLDSERVER : C; P; I4 w3 T4 k Y- \* R6 O
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);. G6 x/ B) W1 @; x! e4 A; s
CLight* pLight = NULL;- t% }8 c, U' ?" Y8 }
, Z( `4 ]3 ~. \
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
. X* T5 {. m& A! P! S+ W4 t* e
- c+ B+ E5 s& C2 p2 F+ I pLight = GetLight( "direction" );
: }# o( G! v% s$ B5 s {
* ~+ t/ n/ x2 X$ L6 {8 j$ F7 h#if __VER >= 15 // __BS_CHANGING_ENVIR; n3 g. c; T( v# b& G M
if( g_pPlayer ){, K& m0 h% `4 w+ ]. |. J& f
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );- i) U$ F' t) T4 T! e# ]5 q% z7 ]; U
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
5 u# h. ]8 k1 F {
! s0 m; s; l4 E$ l- R- Y if( pLight )
1 P$ i o6 G' t2 s {
' |& c- N9 t& A9 i0 ^. h$ S8 |( u pLight->Ambient.r = pInfo->_fAmbient[ 0 ];+ E! X1 @# Y6 K4 C
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
Z- a' k4 Y4 @3 F& M2 h pLight->Ambient.b = pInfo->_fAmbient[ 2 ];2 ^& T; p/ R$ @7 ^9 |: h+ f6 y
1 t$ ~* M' G; U. D% C pLight->Specular.r = 2.0f;
$ E# [, ^6 y' ?7 h# r' v$ ?/ P pLight->Specular.g = 2.0f;: a) P5 Z" o1 z; S: D
pLight->Specular.b = 2.0f;
& \) o" N% ^7 y3 i' c7 J
- b: v4 U# n) Z1 [! p0 h) j8 }# E6 x pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];. m; X0 M; z: T: y; r1 U
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];5 k8 a/ ?; Z: U
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];7 \. q- m' z/ \0 a0 Q; ^4 W, O8 l9 {
. f ^& O7 t3 J7 }# q9 f
HookUpdateLight( pLight );
+ O3 j0 N3 I' p( V* u
1 c# y% W* g0 W9 G3 f memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& c2 ?; E0 K9 e& A 3 j5 [4 W8 Y5 N
pLight->Diffuse.r *= 1.2f;
+ u1 R' [8 t/ C$ f9 ?& S pLight->Diffuse.g *= 1.2f;
% f* `- m2 \: r: I- a pLight->Diffuse.b *= 1.2f;; S1 r5 S0 Q) R- Z* D) e0 g
1 v6 T% j: f+ `; s- ~
pLight->Ambient.r *= 0.8f;6 d Y3 w: A K% ~' Y! C
pLight->Ambient.g *= 0.8f;+ O+ p) [5 W& A
pLight->Ambient.b *= 0.8f;7 _. r7 W3 \; F5 C: E
' ]( x- Y A4 r* [( b3 P memcpy( &m_light, pLight, sizeof( m_light ) );
/ u) P8 T4 j/ F. [3 z" Z1 F9 H2 W! M3 N, |
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
9 V9 f8 c3 s8 J: ^2 f D3DXVec3Normalize(&(vecSun),&(vecSun)); a. N. \( F# ]& U
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
9 `$ s9 R* U5 G6 k1 _0 N( F, g+ K pLight->Appear( m_pd3dDevice, TRUE );
- l0 c% s0 F o4 c# J& a" }7 Z# f0 Z
& n) d }0 G/ w1 f2 l DWORD dwR, dwG, dwB;+ w! X( v# a% r R P: Y) u
dwR = (DWORD)( pLight->Ambient.r * 255 );+ b- }$ _* W) [6 M, Y( C
dwG = (DWORD)( pLight->Ambient.g * 255 );
) k3 k' k' ?9 S# {. r# a3 j dwB = (DWORD)( pLight->Ambient.b * 255 );1 x' A6 j( b; y" C8 R
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
$ k& e4 X8 x/ t }8 K2 ?, r9 q- D2 o; P o
}
# U( q2 N1 b( P8 G, W }+ z2 X, Y: B0 ]/ _2 G! r
else8 g; S$ O7 q, K' W
#endif / k9 X# [: `3 a" v/ X4 `
3 c1 M, @! Q$ }/ f- } if( m_bIsIndoor )% v/ O* G/ \) m
{( F# H: @; s0 }( K5 d
if( pLight )
- F; }& d% v# u$ S { 7 x) R4 A3 W7 ?/ x* h7 O4 ^
// à??μ oˉè*
, u, D! p4 R) V- p0 w7 p pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;$ I9 b; _4 b: k5 A. X% U
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;( g% _1 r4 K0 C+ [, D
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
( D5 l9 k; i6 ^ f8 U" o ~% |- U6 x4 u. K, l" V* v
// oˉè* ??à?
1 _* [0 C) f. Z7 |" \ pLight->Specular.r = 1.0f;
2 m7 h, x+ e0 Z7 Z' ?+ i1 z9 K pLight->Specular.g = 1.0f;5 t# T9 A0 v* _; _0 {" Q' E
pLight->Specular.b = 1.0f;
9 A9 c0 x- _$ F. Q% O3 n8 m // àü?? oˉè*
. x$ i; A/ u( p, j pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
# S) D6 g/ w) m7 Q3 e; G pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
1 R; w) E; m5 J3 W; S pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
2 a, S/ W+ n8 h8 @4 \- s' a9 W" ?: N$ w _$ ~
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
' x; X* d# a4 X: Y! r7 v {9 d* p) G _$ o9 t) c
pLight->Diffuse.r *= 0.6f;: H7 x. B- T( G7 _/ T( I
pLight->Diffuse.g *= 0.6f;, u8 Y" C; L/ l
pLight->Diffuse.b *= 0.6f;
. X4 J! B" m/ J- P2 E pLight->Ambient.r *= 0.7f;
8 L) x; ]( A2 S" k5 a, P: G6 p pLight->Ambient.g *= 0.7f;
$ v2 h1 w# Z0 k# m6 J pLight->Ambient.b *= 0.7f;* e1 i5 S# P, ]1 s
}
& C3 E5 [- l u/ c2 W
. P, n$ Q/ N; a1 U) c#if __VER >= 15 // __BS_CHANGING_ENVIR
- J: u1 p& I1 Y if( g_pPlayer )' w( G" [9 l1 n; u9 a6 U" d9 H, t
HookUpdateLight( pLight );
; Z- F7 c- s- K6 v9 B6 E1 I#endif" R) T2 K' e8 G' r4 y* j; d
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );9 h: V7 g6 m4 T/ k5 Q0 {2 U
9 W+ W9 `0 F- W8 @" M
pLight->Diffuse.r += 0.1f;
8 X% d$ F1 J5 z/ C/ D pLight->Diffuse.g += 0.1f;4 `( F* O, U$ c1 j- K
pLight->Diffuse.b += 0.1f;) G) P! }/ E6 ?: x2 r3 w0 Q
// oˉè* ??à? ; P$ P; A" |0 F" `5 c
pLight->Specular.r = 2.0f;3 z' Q, U* O. m8 S
pLight->Specular.g = 2.0f;
. l( w6 d: S8 x& R pLight->Specular.b = 2.0f;
# U# R, E) U7 P+ e2 G" A. n // á?oˉ ; o( Y$ r' o5 h
pLight->Ambient.r *= 0.9f;
# ]. H$ h Q! x+ N( p pLight->Ambient.g *= 0.9f;
9 S" @/ V' E5 F( _ pLight->Ambient.b *= 0.9f;
) w* U- f9 {) O* t
; c2 B6 C! t0 Q* |+ s memcpy( &m_light, pLight, sizeof( m_light ) );
7 x. n6 i: [, V k" W! {- Y
6 I. A. b. j; _: r7 J5 H- q8 f pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );( X# g1 I2 _9 U1 h% c- k
pLight->Appear( m_pd3dDevice, TRUE );) q4 z$ z5 U* l4 k
7 }3 v' P6 y- `% U; T+ B* s# [ DWORD dwR, dwG, dwB;
" j3 {& D$ U3 [3 J1 Q9 f g! J$ I dwR = (DWORD)( pLight->Ambient.r * 255 );. C0 C) d4 ?/ e0 ~# F. D d7 l
dwG = (DWORD)( pLight->Ambient.g * 255 );8 R! o+ W6 _4 h/ H
dwB = (DWORD)( pLight->Ambient.b * 255 );
8 J+ {4 |; x1 W" P8 f1 m dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" [$ E, n+ ^$ ?0 x$ P }
5 X5 G! G: t- h) E y }* r4 J; |; a0 {9 R: }/ |. \
else
! R( O* p# Y+ c {
* F! n* b# i+ f if( pLight )
! b" u+ w) ^6 O5 v2 u$ M: ~6 M {
! g2 A- h2 _1 f2 j ( X4 s9 h/ g+ s6 v! `
int nHour = 8, nMin = 0;5 D- V/ e2 [7 v. |7 S
#ifdef __CLIENT- r' X6 ^ G) J* e v6 ~2 k; a* h5 c. `5 J
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. ( N( j# R8 z: K; E: ~' ~- C0 N$ \& H
nHour = g_GameTimer.m_nHour;
! E) ?" x3 ]) _" T9 |7 B9 | nMin = g_GameTimer.m_nMin ;( X9 r1 J5 G2 R! c6 t6 ]
#else
( J3 B1 j5 n. p# X // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
& f5 B* ~( i* a+ z- Y1 x if( m_nLightType == 1 )
1 u/ Q1 ?7 l7 H nHour = m_nLightHour;& A! Q; }1 H2 a9 k/ n
#endif( E6 N5 P9 V0 P% O* n
nHour--;; c1 ]' ?- D9 j/ Y
if( nHour < 0 ) nHour = 0;
. p, v$ j% c& l% f: n( h if( nHour > 23 ) nHour = 23;: W! N4 U" q6 T8 ~7 S/ v
1 X2 Y7 B- P! N
//if( m_bFixedHour )
4 ^ A1 x/ f0 Z% \ // nHour = m_nFixedHour, nMin = 0;
* J0 y* [; M; a; {) _ LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
% f) s5 i6 G2 r' p" \: v LIGHTCOLOR lightColor = m_k24Light[ nHour ];
) O+ T5 o4 x, J* C5 F* `# o' T. n1 T! f0 y, g' I2 T8 ~
//m_lightColor = lightColorPrv;
4 w+ p- x- z" U) r* n lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;, X9 f+ w) y: ^; v4 S0 ?
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
$ K* X2 |8 w8 p4 C2 B3 t/ W) v lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;. g& V. W. ^- p A4 T
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;$ {! L# v% L7 ]- ]' ]) t6 @( f, N
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;7 ~- L$ r) }9 S( M' k0 h, B! I! m
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
0 d. R! Q( j' u: b // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
# z( Z9 P$ u7 j$ R5 \5 p) S8 P$ F# j r8 U9 h+ u
// à??μ oˉè*
1 g$ R8 Z# D3 @0 @ pLight->Diffuse.r = lightColorPrv.r1;
7 s: [2 ]0 \+ [, v9 b I: c* u( E pLight->Diffuse.g = lightColorPrv.g1;
3 b0 f m& h+ `# h' }+ H pLight->Diffuse.b = lightColorPrv.b1;# F3 @0 n. J9 `3 I1 O2 }
// oˉè* ??à? 6 P9 [2 p% M) h+ ?& b ?) G& U! u
pLight->Specular.r = 1.0f;
0 E5 `' o5 P6 K pLight->Specular.g = 1.0f;
; a/ M# x0 W1 ~) r* Y, U M pLight->Specular.b = 1.0f;9 v" o5 I# W( u9 h4 V; s
// àü?? oˉè*
; D6 F* @4 z! c8 `1 V' ^4 j pLight->Ambient.r = lightColorPrv.r2;
- I* H/ x. c$ t( Z pLight->Ambient.g = lightColorPrv.g2;! C% g1 o: O* a9 W
pLight->Ambient.b = lightColorPrv.b2;
& ~$ \( c9 R' ~- I# z* _+ B, {9 p0 X& r* d3 q
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.- k' |: k0 ]# p; a
{
2 [ `, W0 j7 |. | pLight->Diffuse.r *= 0.6f;
- B0 M+ G" d, s, Q0 T5 L4 u1 ] pLight->Diffuse.g *= 0.6f;
9 x R# K: O4 U pLight->Diffuse.b *= 0.6f; i% z9 f% i! T. c
pLight->Ambient.r *= 0.7f;
! R2 @! b/ n# I: j8 x pLight->Ambient.g *= 0.7f;
9 W3 _0 w$ S$ d7 E pLight->Ambient.b *= 0.7f;& b/ r9 `% o. [/ U" x/ Z( T
}
: m- [, N' o, X" s4 p
' M# t& G# j! W" K% e# K#if __VER >= 15 // __BS_CHANGING_ENVIR
1 d+ j2 c \2 X+ \* Q7 B. h if( g_pPlayer )
+ N) @: L- ]; { HookUpdateLight( pLight ); # h- n- w3 l! Y
#endif! K x1 ~9 J9 u- n4 y1 z
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );: T4 H4 u8 `8 A8 q! x/ z
8 `( n" ]/ I( M0 |& \3 g! C; p#ifdef __YENV
" J7 K$ {" I, i" b! _; p* D" I pLight->Diffuse.r *= 1.1f; E" `! Q/ [: P+ @$ {0 j7 ^
pLight->Diffuse.g *= 1.1f;
9 a1 Q6 O. P1 q2 ]- K pLight->Diffuse.b *= 1.1f;
4 g+ ]6 O3 \# @# g! G. q // oˉè* ??à? 1 l" D$ m: h2 S
pLight->Specular.r = 2.0f;: D# J7 p2 o G. i% U; h
pLight->Specular.g = 2.0f;0 Q+ {3 \9 M. S( ~! B+ h* c
pLight->Specular.b = 2.0f;/ l& }9 K% `6 G3 L2 R* P3 |9 b
// á?oˉ
6 w7 I+ V4 {0 n+ y/ L2 R pLight->Ambient.r *= 1.0f;! `) p5 S: F0 _! ~: i7 k9 f) w% r
pLight->Ambient.g *= 1.0f;
/ S+ u8 g: t+ ], u) M9 P4 B pLight->Ambient.b *= 1.0f;
% S1 o" L7 c' Z, v" {. v& q+ x4 L#else //__YENV5 p& f( N: w' f
pLight->Diffuse.r *= 1.1f;
7 } b: A( \5 V pLight->Diffuse.g *= 1.1f; O2 S7 L! K! Z" [- Q) X0 N' {
pLight->Diffuse.b *= 1.1f;( [: G7 _8 T' p2 [# {) G4 ?
// oˉè* ??à? 9 u9 c: ]& I7 D; \; Z' F
pLight->Specular.r = 2.0f;) J/ u7 z2 y+ S, r
pLight->Specular.g = 2.0f;
: w4 z& P" m" k1 i1 D pLight->Specular.b = 2.0f;+ P$ p( `! i @* Z* r! [
// á?oˉ
) ?$ y$ S" Q( T9 y pLight->Ambient.r *= 0.9f;
" B; l# B- y* l m: G5 W pLight->Ambient.g *= 0.9f;
& R r; R( P" h1 E' S! Q pLight->Ambient.b *= 0.9f;. | r% }% \7 I/ h
#endif //__YENV
9 t6 D+ {/ g) a4 I2 U% I _% C( h
$ j1 t5 T" ~% D# m memcpy( &m_light, pLight, sizeof( m_light ) );
R9 h: C! S) J* N- s
: l2 R" F, z1 ]+ ] D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
: `: u, ?# ^3 r! i/ `. c D3DXMATRIX matTemp;- ~, E' W% G4 O5 {6 R
static const float CONS_VAL = 3.1415926f / 180.f;
# H3 E9 {5 K# n1 l( L+ ?& l
' N7 L& @7 c( p. X# P |4 s D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
9 b% ]3 D( ^0 `, I; F; N D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);1 \% W5 R& l) A1 |
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); : X. }' D, L7 V3 ]$ W4 h3 U- U
pLight->Appear( m_pd3dDevice, TRUE );' Y, G* ]. |1 D
5 o! o$ d6 W) l6 {
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);& p: C! `/ [7 G0 x8 D
// D3DXVec3Normalize(&(vecSun),&(vecSun));
# o" G2 a. G" U9 Q( G; J. q1 ]/ _ // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); R$ V" ]3 ~2 {2 d7 r% @) D
v: M6 J8 ]. H" P. D+ h DWORD dwR, dwG, dwB;
/ t D8 ?9 k' a dwR = (DWORD)( pLight->Ambient.r * 255 );
, {- v! Q# z2 @4 c, [) c% `/ P dwG = (DWORD)( pLight->Ambient.g * 255 );& a6 e5 P. p3 x6 G9 ?
dwB = (DWORD)( pLight->Ambient.b * 255 ); W4 ?0 I1 [3 w+ N7 W
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" r6 S/ g) Q2 l' g' l. V }
8 c$ I- e) Q6 `! j7 j6 ]. G5 \ }
8 g) U, G1 Y" T9 M# G4 O1 ]4 V0 ~2 S8 \. w: N/ k0 z. I5 L
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );2 K; v3 s/ a2 n Z5 f2 A! O
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) );
0 r* D4 L D4 U- a ::SetLight( bLight );
' T( m A( ^ O; J3 t! w
9 ~% {8 Q4 N2 k" L- t // ±ao? ?D?í???ó á¤à?
* _4 I8 d s1 \ m_pd3dDevice->SetMaterial( &m_baseMaterial );
! q% j+ n4 B6 g% J8 o. Z$ v 3 y1 \- Z" ]+ w4 x- O
#endif // not WORLDSERVER* ?+ T+ T( o9 t# ?6 M7 X
}* |. F8 T3 ^+ J Z0 n& ^
并更换
% w4 Y4 c" L% Z" F' K7 E0 B; Q" XCode:
# G1 O: w! t$ C' Y__FLYFF_INITPAGE_EXT7 y' s1 W; }- E1 G8 f
定义
+ B; I# m6 J; J7 }$ v* N% _& _" S0 r9 k; A: j$ o9 K) }
, I- h9 L0 C5 ^' p" i
. h( s5 n. S/ Y# t' O% K! d: K$ y
. E" l1 a/ O% |0 @$ C
现在终于删除我的狗屁加速... O1 @8 P2 o* Y5 D, S. j/ M( L
! u( @6 b8 G4 A1 D- {
- K0 H* ^ [5 E% S" Y- J. Z8 K8 p1 B& t
|
|