|
|
食品车:2 c$ n: A! c- N
尾翼:
2 w) R, Z3 V! x1 k: V1 w, Z) Z" m
代码: [* [7 |3 e9 T& T( V) w
CWndAutoFood::CWndAutoFood()
$ L+ K4 N* w2 N{
4 L# \0 f7 N% H( ] N% k9 z m_pItemElem = NULL;
: c& V6 l/ g. g, @5 R( q& } m_pTexture = NULL;" W" p( m' N9 J% K
bStart = FALSE;. [3 c) y, O5 ]4 W! L
}" ? X2 N7 s: x6 {. a
+ `! R/ l2 V$ `/ S7 pCWndAutoFood::~CWndAutoFood()
1 A2 B. Q, b0 P* ]9 ~{7 f# `' _ d2 ^& Y c$ x. C+ u' F
AfxMessageBox( "AutoFood ist gestorben " );
( J, o2 T9 ]" G% }$ ~# H; G' }/ j: x}
4 ^- }8 y7 L6 p6 M, mBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
9 l% ^8 j9 T, B{
) w! ~- H# z: c& @; Y: T return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
4 Q2 a, I, c7 R}
7 K2 L' |$ W5 `. M& Q8 u( K2 m* G* H9 C5 t/ b& c
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
9 O* K E3 Z! a% U, j1 H% y. X{- X' J0 A U: ~9 u; M
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
' A6 E0 m$ N9 E0 s# m0 ~' s CRect rect = pWndCtrl->rect;( ?: s9 o$ x. I+ Y8 j" m
if( rect && rect.PtInRect( point ) )
! y4 L8 P$ A" d0 A2 P% Z, k {) C( P5 e* A6 {
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
1 a8 }7 s( v, |% I3 }* n" e if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
4 E! O1 T) w/ G5 \1 T2 D$ U: | {* J9 Q0 P O# I1 A) F+ a: @
if( m_pItemElem )- {5 I3 T# m2 [1 k3 C
{) E- S# F4 ]" X+ C3 B( { R
m_pItemElem = NULL;
3 h7 N* {$ F: p+ f' q3 ? }4 \8 e Y8 V+ ?: `
m_pItemElem = pItemElem;( l( E. K1 g$ Q5 k* i' u
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );7 c' z J. P7 [, ^3 J
}else{5 g5 w9 g+ Q6 B9 b ~: `4 B
SetForbid( TRUE );
# J7 A# O6 } I }
$ z& E0 v8 {! c/ b }else{
+ t1 u6 h0 f5 ]) j: l SetForbid( TRUE );
* _* g( b G/ [- m7 k' J8 s& Q8 e }% m- `) L$ p9 U( y3 H
return TRUE;
' Q& V; r7 V- y}' G2 J" X+ z: k4 k- J" [) z
6 ^# p# y1 w& I5 R6 x# kBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )+ f( Z" D7 _/ E
{1 ^4 r. E2 s! G% P( d) U! O
switch( nID )
a" ?( K1 s+ ~) J |. k! k( H. E {. K% ?1 ]" a7 \6 i
case WIDC_BUTTON3:
7 D6 s+ h" k8 C, c/ s9 @ {) |* C: p1 I. [7 z) Z* c7 r
bStart = TRUE;
! c5 f7 j, y& e( n/ e* b break;
, y: J" {3 {& u$ I }4 R, A% e; j* M) F0 G; i2 {
case WIDC_BUTTON4:+ a: J& a: W! q
{) q: g1 o2 n, h; m1 C. @
bStart = FALSE;
* c" c% G3 @# \& j break;# S) {& ]( p" {& \
}6 @4 B; D5 K6 C; ~
}
% ?# h7 x7 j5 S4 d; E; k return CWndNeuz::OnChildNotify( message, nID, pLResult );
4 Q. ^# i5 e! F0 o}
% b& X' l/ {7 x) \4 Y5 Mvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
\1 c% I" A5 ?; U4 N& n4 B% v) K{3 a L5 l" s% O
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
" o! [3 `& B" l1 R( I: L if( bStart || !m_pItemElem )! d- R. S% Q& e# \" K9 f! w' x3 E4 L
{. a7 M+ i% _- t
pBtn->EnableWindow( FALSE );
$ ]( |" ^7 @- t# O4 z- I+ [ }else
. r! Z# w3 u0 y% j+ u9 l pBtn->EnableWindow( TRUE );
q6 z, O/ h. k4 R: q if( m_pTexture )2 z" {9 c9 g1 D2 G0 b9 s. ^, G
{: w# ]+ l4 |, j4 C) q
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 ); P: M; N8 b$ c. _
if( wndCtrl && wndCtrl->rect )% F @) C6 R5 Z$ v5 m4 y
{7 H' w6 G5 f( x
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
) V( P3 g9 A6 X" d }
) H/ c* {6 ~/ E+ P( p4 N }
# L4 G2 N# S5 }4 F3 `1 R) n3 |}
- Q2 U9 ^: B, U1 F m9 |
/ R5 I0 A" p- Y! D7 p) F; m6 a+ ABOOL CWndAutoFood: rocess()* r& r& F; Y% `
{$ ?* k& b) D j+ n" B
if( bStart )6 z; f7 n8 s j3 B$ y$ O7 \, I
{( V/ b% D5 N* q. u; j
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
! Q' Z/ e$ b6 K* q. B* m {4 ]" y7 c8 ^1 J
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
( t$ b4 i- i0 Q& W- B; E9 s g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );+ N5 D p9 M7 P' ~( s) N6 T2 I
}else{
! D X) x/ J$ c) d5 N$ r) | bStart = FALSE;' g- N7 c& H1 P0 _0 p9 y
m_pItemElem = NULL;
4 p6 n$ E- ^) f/ o1 z# b9 F }
8 a; K, ~9 |- s1 C: _ }
. b; `% X5 e* z3 _ return TRUE;
. `2 v8 T! |* s; V$ l% w1 ~! S& F}8 ^- [- O p1 S
/ M" R7 C. d: ^# T/ ~登录视频废话:
+ \' v ?8 `/ \尾翼:3 p2 a; [+ V7 ^6 p# k! E1 r" B+ {
2 m( ^) q- @7 Q# J' z
代码:
- `% F; Z5 Z; M3 x2 w+ t' Z) t2 o
4 v. X1 F" F# qvoid CWorld::SetLight( BOOL bLight )* r7 B& `4 b+ n. r- c/ S
durch
( c4 G4 }9 Q$ D* B( m- TCode:
5 L, U. ?6 ~4 |5 qvoid CWorld::SetLight( BOOL bLight )
& q, ~+ }8 c; j% c( d( ?" |{ Y- b M& m, B7 ~; l3 P
//ACE("SetLight %d \n", bLight);
/ d! p5 a+ S% R c' ]8 M: V 7 J. o9 G$ W2 A5 V2 ?8 `5 x$ V, O* {
#ifndef __WORLDSERVER ) r. D t5 w) n
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);% ~8 L8 e' Q/ F6 i( x7 F4 R& l* P
CLight* pLight = NULL;
% ]' H) v, U* B5 N" a3 s/ s3 B$ t* h, F8 @
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );! m8 T9 w. M% ?( _4 O( r- B( y3 Q
7 p8 s- b0 L. \! O$ m5 b& `4 Y5 W
pLight = GetLight( "direction" );
[4 a0 d3 S/ V& W( E a: z! E+ V7 _
#if __VER >= 15 // __BS_CHANGING_ENVIR: Y% z, e5 h8 ~; c7 @
if( g_pPlayer ){; C7 m5 ~% m1 g' Z1 W( o
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
4 v: `+ t5 W. Y$ B2 Z. C$ s+ X1 `) ^ if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!$ E, H7 u; R$ d7 c) [- G% c4 f1 p
{
: a$ \( d. z s$ ?6 n* H+ Q if( pLight )% O# o$ \% O% q' b, R
{; ~' p; a' `/ u* _8 [# I
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
X) {4 d* N) |0 B$ U( V* W4 p pLight->Ambient.g = pInfo->_fAmbient[ 1 ];9 c. a2 m0 E$ _# J; l
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
7 X8 a P- n# A# @' z
& o& j) c3 d& \5 l. v& d r6 ] pLight->Specular.r = 2.0f;$ K( x8 h+ Q7 N/ L! k5 }4 a s
pLight->Specular.g = 2.0f;
1 O. a5 D: j2 K5 @ pLight->Specular.b = 2.0f;0 _0 [) O4 V' ]' J) J3 f( f3 d
: _2 a7 v/ |( L2 ~8 C
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];, B$ [9 }8 b/ _, z2 I- C
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
) [8 m. ^" X7 P6 y pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];! u6 \* e+ H9 ~4 {+ U+ t- n& J
# [$ y) w! Q# {$ g) M
HookUpdateLight( pLight );
" _) B/ Y" Z0 t( y
. o4 H: S- K4 y* Q$ Y memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; s5 V* s% r( B, M1 Y # A1 T: B; o: U+ Q; a
pLight->Diffuse.r *= 1.2f;
7 u+ @5 _! c# g, o, ?# B( }! G: w pLight->Diffuse.g *= 1.2f;
1 M" m6 r9 p& [7 N: A pLight->Diffuse.b *= 1.2f;4 ^8 @% `! f4 h. d! V/ b
' |0 j8 j6 K# J1 a
pLight->Ambient.r *= 0.8f;. e; P% u1 H5 i; s4 b( E g1 Q
pLight->Ambient.g *= 0.8f;3 _: C7 h7 p% J. b% [
pLight->Ambient.b *= 0.8f;
9 Y3 ~6 R; F) y/ Q G: w( P, c: _* C [0 y1 L
memcpy( &m_light, pLight, sizeof( m_light ) );+ |3 r6 r( W% }& }
) I1 Y. v' ]3 P1 |- N D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);/ a; f( V/ b1 K; q6 n! d* S
D3DXVec3Normalize(&(vecSun),&(vecSun));
3 U9 T2 U8 X3 w* o- E) ` pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 5 o: Q( p! G9 f
pLight->Appear( m_pd3dDevice, TRUE );5 V4 B1 s, f E' Q. }6 D, E
; i E! g4 u& J% K$ |8 x) _4 C; Y( U DWORD dwR, dwG, dwB;
- T* V p# b9 t! J dwR = (DWORD)( pLight->Ambient.r * 255 );5 U! E+ z, |: a1 n
dwG = (DWORD)( pLight->Ambient.g * 255 );* `+ ]1 i1 o( M5 }: ?' x9 S2 S
dwB = (DWORD)( pLight->Ambient.b * 255 );) N4 z- \& r4 T; R& _, j6 r
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 k S" C2 k8 l% ^- I }7 J6 ]8 {! Y( i6 ~
}0 m9 Z7 A: y/ _8 g6 |
}
5 R' ]. ?/ G" }! O% L else
4 \1 b. Q- F. i$ p& [' c#endif
/ g: R9 z0 Q+ y+ D' {
$ Y4 F* l5 y8 H! i5 g' X if( m_bIsIndoor )
( x6 g5 `9 q ?6 _/ M7 P3 O {) e. y3 P i" J6 {
if( pLight )
/ {( C! a, j5 H" ? { & H" Z7 q" c0 R8 v) U. p4 \
// à??μ oˉè*
5 O% _3 [% ^0 @ pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;8 u. X8 |9 N; K* k) s
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;+ Y) l6 w$ N' i
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;& C) \2 ^! |/ l
, m" T2 f1 f, J! j6 m( o5 R* b // oˉè* ??à? & P1 `0 |" c; W. S$ d
pLight->Specular.r = 1.0f;
& M4 T; J i" N0 A0 u ~, j pLight->Specular.g = 1.0f;# X3 P$ N- m+ A0 y) _
pLight->Specular.b = 1.0f;
4 e0 R/ j: u, `) f7 l0 N // àü?? oˉè*
( P i) z. v6 q/ s2 v7 p pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;; e5 }) Q+ h( c( `# c
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;$ x) [4 Z- [* E5 E) t" s8 p6 h P
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
8 B7 G, B! h2 Y! v9 N/ k7 b7 D2 A; k! n" x) `
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
7 C8 ~$ e* k0 \: D3 P( i; i {
) n; S4 G7 r) I1 h# U2 Q! i pLight->Diffuse.r *= 0.6f;( M) O% l$ y% g# S, r$ h
pLight->Diffuse.g *= 0.6f;$ w% f) u* \- a& l k9 B* k3 P
pLight->Diffuse.b *= 0.6f;
2 R# e% e$ w; \3 q% j) p7 t" ` pLight->Ambient.r *= 0.7f;& |3 I6 D: D* j: X7 j
pLight->Ambient.g *= 0.7f;1 l1 o f3 h% N7 n5 I4 J* s( \
pLight->Ambient.b *= 0.7f;* c& g; F4 I0 X" A* B' x. [
}3 a8 S; _% F. z' a5 X1 q- A
: B5 a, A9 f, ~' r5 Y- b! L#if __VER >= 15 // __BS_CHANGING_ENVIR
9 m3 M$ S. B9 J+ v if( g_pPlayer )1 ?( C1 @" _$ b# _/ g! X& ~
HookUpdateLight( pLight );
5 G0 e3 G& \/ V' C6 v#endif* O# s3 b8 A8 e6 P( Y; F( T
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
V2 k* Z* R/ f, H) ^; E( q) d: o# a, w$ q$ F
pLight->Diffuse.r += 0.1f;
" c; i+ y/ k# h pLight->Diffuse.g += 0.1f;" B' _5 x$ v* z* p
pLight->Diffuse.b += 0.1f;
( }) }0 k$ _ p // oˉè* ??à? 2 K- W/ L7 Z6 Y; B
pLight->Specular.r = 2.0f;
! i9 A& S J6 ]+ I8 t9 j pLight->Specular.g = 2.0f;2 u7 T: m# Z7 ?' L* X& M2 | U, y( k ~
pLight->Specular.b = 2.0f;
% O* X1 P9 U \# c // á?oˉ 6 O5 c0 v P. ^" Q7 |0 Y7 o; D
pLight->Ambient.r *= 0.9f;6 e% e7 x4 t' D; S2 F6 m6 v# h/ Q/ a
pLight->Ambient.g *= 0.9f;3 k5 X& J+ K Y1 a% j" q) H
pLight->Ambient.b *= 0.9f;
8 b+ H2 x- ~0 j! N
5 Z6 d) z7 O1 F# m: v memcpy( &m_light, pLight, sizeof( m_light ) );6 |9 w2 V+ L/ W& N
& f9 o0 r# g5 S; u
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );" f% `* {: {, ~3 t9 c+ Q8 X9 ?- X
pLight->Appear( m_pd3dDevice, TRUE );. C: _" H5 h1 U$ J( j# Q' V( F7 \. T
" V% N- e. z2 F0 {2 H DWORD dwR, dwG, dwB;
# p' m, [) Z. b$ D8 R/ u4 w dwR = (DWORD)( pLight->Ambient.r * 255 );$ r- T1 Y% U) M
dwG = (DWORD)( pLight->Ambient.g * 255 );
+ _" j( L, N4 B1 c, E6 u' _ dwB = (DWORD)( pLight->Ambient.b * 255 );
3 O# L' t$ O4 c! `0 i3 ?: B. ^. D dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );- n! p4 R8 y: D A4 \" A
}' ~; B1 d# ^! J7 x+ k
}. X4 \. Z; n+ Y3 o. ?' |& ^7 e
else
1 ?! [! X) f. Q+ | {) c; x( H# }" `/ f. s9 e
if( pLight )4 I' B9 a& t, c7 E# Y
{) F/ Z6 l* A0 Z; ~9 f/ P1 ~
0 i' c2 W. Q8 R( H- W& I
int nHour = 8, nMin = 0;' [& |) w( V5 E8 P5 M8 x
#ifdef __CLIENT
, c& Z; t* C% s( N. x3 x( o- W3 _" e // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. ! ^6 F) R k$ u+ a* q c
nHour = g_GameTimer.m_nHour;
2 C6 B! D! G8 y+ Z% [8 h/ V. `6 W nMin = g_GameTimer.m_nMin ;3 u* @8 |6 K3 F- @7 [
#else
0 i4 i, F# A$ h. q // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
. `# F& {+ K5 L- X( x/ c if( m_nLightType == 1 )) n9 q# d3 U, X! F1 L
nHour = m_nLightHour;# `5 B6 j4 M) p9 E( S" Z) a
#endif5 q8 A3 M1 Z$ H0 G7 E: z
nHour--;
1 A/ H( T& I% W+ \* ?5 ^ if( nHour < 0 ) nHour = 0;
0 k2 M: u2 u" J- a* X9 h if( nHour > 23 ) nHour = 23;5 w$ N/ F' `: E" b! s! R+ @7 ?
6 V- |. v* T7 L" `; G/ u //if( m_bFixedHour )$ V& C- |. L6 q% ?8 `6 E
// nHour = m_nFixedHour, nMin = 0;
8 D% V1 S3 ^/ i. [) D7 f, N! N LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];3 C; X/ B- f0 T0 f) D9 _) z
LIGHTCOLOR lightColor = m_k24Light[ nHour ];# _: A* I; [% Z9 I1 s9 L
5 R+ e# G# b. r% }0 {, P/ E4 @2 M //m_lightColor = lightColorPrv;, r" j! f# F0 \% p2 |' a$ F, C5 a+ [9 c
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
7 D' z0 Q3 z3 p. f lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;: v+ m2 h% i8 W ?. w
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
, e# n3 C- I( q lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
4 H4 K, Q$ }" J2 W( |& q lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
1 C1 b& X2 Q- g6 F& { lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
; a1 H, j0 H3 Z6 U0 F2 r7 O // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)# W: y/ o, G1 b5 J. O
4 M3 S& `5 w) d: [5 r9 A' T: e
// à??μ oˉè* ; O. |" H4 k, r" _! E
pLight->Diffuse.r = lightColorPrv.r1;
+ b# w: o4 I4 ] pLight->Diffuse.g = lightColorPrv.g1;
4 D( G* C2 f0 t. N3 A pLight->Diffuse.b = lightColorPrv.b1;: Z4 L K2 A6 a. N) x; P5 J
// oˉè* ??à? ) P, U$ a. O/ d. W# [* l' }
pLight->Specular.r = 1.0f;
{( d/ H2 i+ b pLight->Specular.g = 1.0f;
( |( U$ `9 T, a* c, y pLight->Specular.b = 1.0f;
" Y' F. ?" e9 w; S9 Z! j // àü?? oˉè*
0 {! p( {6 M Z+ J" z1 p4 O pLight->Ambient.r = lightColorPrv.r2;& g( O6 W3 U- z3 i( k
pLight->Ambient.g = lightColorPrv.g2;# J) [' N! O0 j$ I% A- }' a
pLight->Ambient.b = lightColorPrv.b2;
% p* O& ^# _4 }/ }2 n a& ~4 H( @) k" I
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
/ [% T, P }5 ?9 ?' S {
* E* |7 Q; y, R8 C8 S pLight->Diffuse.r *= 0.6f;$ x R% E# v( B) h
pLight->Diffuse.g *= 0.6f;3 `2 [' v' c" o5 i# I$ A
pLight->Diffuse.b *= 0.6f;
1 x. k2 E" L0 }7 p/ n p5 f" W pLight->Ambient.r *= 0.7f;
1 r+ s3 k( a" Y% j/ K pLight->Ambient.g *= 0.7f;9 o+ {. K3 s: J6 t5 }8 P
pLight->Ambient.b *= 0.7f;
% ]8 n# J1 }# i# q2 O }4 P- \; i# n( o: k4 s$ Y
& e, C7 u6 j! E3 Q
#if __VER >= 15 // __BS_CHANGING_ENVIR
. Q" J8 z/ S: f$ ^' k, L if( g_pPlayer )
- T7 S5 j4 [5 P HookUpdateLight( pLight );
: g( |1 P8 I0 ]3 ^4 h* {- W N#endif' c" k5 K4 F7 S6 ^
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
- p3 }4 ]1 D. D+ _( Q& d: Z; T( k% n: ]+ I; l1 A
#ifdef __YENV
. Z. J# Z8 a; E) n0 w, y pLight->Diffuse.r *= 1.1f;
6 T( _2 ^; a5 g3 |. ]" J6 T pLight->Diffuse.g *= 1.1f;
! x( i* i% r) e. q pLight->Diffuse.b *= 1.1f;0 w( r0 o0 u# {. a# c% y( c( E; g( {- Q8 |
// oˉè* ??à? ; a; m* R6 U1 Y: z8 Q
pLight->Specular.r = 2.0f;
$ Q, V @$ W G) F1 U pLight->Specular.g = 2.0f;3 A5 |: u. n) M! p
pLight->Specular.b = 2.0f;
* ` W" A# F- C% k5 c5 v // á?oˉ , M3 |, q# n* w2 f
pLight->Ambient.r *= 1.0f;) A c$ U% L) k. e0 a
pLight->Ambient.g *= 1.0f;& p% i+ W S6 @4 }8 Q& S
pLight->Ambient.b *= 1.0f;7 C! d. f. C9 u: \( Z: u' O
#else //__YENV
$ k, H0 `8 C2 n8 v2 l" Y* Y: u% F' H1 n pLight->Diffuse.r *= 1.1f;
% w/ \2 U9 U5 `5 T0 O% ^) ?3 v pLight->Diffuse.g *= 1.1f;
# u# X$ o2 }: x( k, x* m pLight->Diffuse.b *= 1.1f;
6 B8 v7 k- z6 E5 G4 s8 W: J8 [ // oˉè* ??à?
?, g: I* g8 j& q- a# d$ O pLight->Specular.r = 2.0f;/ x1 p9 V( s& u; U3 v0 N, Q+ z& m
pLight->Specular.g = 2.0f;4 S: Y5 ~5 j. G$ u7 \/ O( O# f
pLight->Specular.b = 2.0f;$ Z2 {2 Q5 I- y# S+ C3 e& d
// á?oˉ $ u& g9 K& ]0 [: y6 E+ w
pLight->Ambient.r *= 0.9f;: V: L3 _+ M M2 E. y+ D1 M
pLight->Ambient.g *= 0.9f;/ J& ?( E3 F/ A6 P9 q4 O
pLight->Ambient.b *= 0.9f;
: Z" I8 {2 m! L% K. e+ Z3 l3 E! Y#endif //__YENV 4 \6 d0 a& {4 ]
$ T5 i" ^% E( c% @: ~& R memcpy( &m_light, pLight, sizeof( m_light ) );
K5 q5 z# h" V: w3 n8 B$ H - f. @. R! j3 f7 A: W& v
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);' v0 ?0 g+ {0 L0 L5 a
D3DXMATRIX matTemp;
( N# _; M% z, B' _. C$ k6 g static const float CONS_VAL = 3.1415926f / 180.f;, L* x1 _ a0 [/ X# G
: z$ \/ y! Q6 g; ~6 k; k( m
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);1 l1 ^9 [1 ?: X9 e. k5 a
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);% V8 L& l% i! d# m$ y2 y
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
2 s) L" r* T, X: t1 q" n pLight->Appear( m_pd3dDevice, TRUE );
1 `( g% Q3 D: N7 w* r h* e h+ R6 u: v+ j; t3 _8 T ~
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
- ]/ t; `+ L8 O' @1 q // D3DXVec3Normalize(&(vecSun),&(vecSun));' s! t5 t0 T$ q
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); / |" x% E2 f6 D/ V
$ U7 s9 S5 H+ l+ g. v7 s* [- Z
DWORD dwR, dwG, dwB;
7 U5 g$ I# J% y$ G" V) b W/ @ dwR = (DWORD)( pLight->Ambient.r * 255 );" Y+ V X! F- e; r% W9 j
dwG = (DWORD)( pLight->Ambient.g * 255 );, E) Z, Z( m2 [- Y
dwB = (DWORD)( pLight->Ambient.b * 255 );) J4 s, m9 A8 Q/ _+ V6 `
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 3 q- A8 i4 u: T \
}
; u3 T% j2 {$ K q; G- a }4 }( x& r# {$ x D
% c2 Q/ L! r9 y4 @7 W1 x m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
% r3 Q* Z5 W+ N" ~$ d 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) );
) F. J. |% t% C R$ a1 r ::SetLight( bLight );. L* E$ Z' P' V0 ?
4 o) `7 _3 s% \' D // ±ao? ?D?í???ó á¤à?
% U- N7 F1 k! j- j0 L* O. @9 [ m_pd3dDevice->SetMaterial( &m_baseMaterial );
+ t- O. {2 h0 t ' K r4 x# l1 I, u7 H+ Q
#endif // not WORLDSERVER& t# T$ L: B7 K9 S
}: k/ g( x; Z8 J
并更换
2 U: ?5 q* C; @5 QCode:
4 z Z$ J0 d0 B A! K% ?4 [__FLYFF_INITPAGE_EXT
J( e' S! K: @ c定义
4 \2 m2 ]0 [0 O
- J" ~3 T' ^' M4 z$ r
4 r# t( h% t p k6 ?- _. v2 Z
& J9 [$ m4 M; t, r3 t& W5 A( i$ k8 }6 C# M7 R' i! `9 A1 Q% X
现在终于删除我的狗屁加速...
1 C! n/ K- @8 H
5 B" ^- A: L' u) e' `
* h4 s ]6 V" i: L# i9 Q$ h1 z1 w$ q$ y
|
|