|
|
食品车:
$ d( R; T9 b& X3 \5 Q尾翼:7 T) F; z% f. w1 Q& l* f
" T) E5 W3 N/ `5 [8 Q3 e& ^2 X代码:
3 ~+ M8 @ {: G9 C3 YCWndAutoFood::CWndAutoFood()
( E6 T! X1 c; n+ C* F9 V: i# y8 S0 Z{- O6 z+ N; g7 o3 P9 I
m_pItemElem = NULL;
2 r6 }- f4 L9 o k! [. n m_pTexture = NULL;' G }5 j- S2 l) [2 w* K" `# a$ |* S. o
bStart = FALSE;
! ^9 k7 J/ Y2 |; i, F! L}
% M( }! x0 O C, m1 a
! M0 j1 p: X+ [! H6 [& _6 _" R+ D. qCWndAutoFood::~CWndAutoFood()
$ b( E! L* P. ~& v{, l6 U0 H. R# C" `0 b7 ~1 N
AfxMessageBox( "AutoFood ist gestorben " );& L* `" k4 \ M. Y
}
! [& |1 U- D! q4 n" tBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )& C+ @! S7 w+ z4 @
{
" i# s! `5 ~* {+ k# g5 Y return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );$ R" m/ Z: I* A2 I" l0 m) D
}
$ ~# x7 b5 ?( {3 g, H# f) y- ]7 h7 U
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
- @/ m/ u& }' l1 \{* B! V0 r$ f& q; Q* L. V/ G
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );1 a# ~3 h; m% Y8 K1 Y8 a" i
CRect rect = pWndCtrl->rect;
2 j C9 ~8 V# y if( rect && rect.PtInRect( point ) )
5 [' V) m- Z2 Z- G' r {
' T' R/ [! t( i" q CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );2 R1 m! _- D, y( h. {
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD ), b& S& ? \8 F
{- ~" I: S) a/ W% ~7 P( p
if( m_pItemElem )+ H5 y' @3 G6 \* j1 v
{
# Q& {5 m$ [$ j5 @: _1 P m_pItemElem = NULL;
# Q! k3 N3 Q3 ^# e }
4 I; N v/ p( Q- P1 ^) n; h: J0 ] m_pItemElem = pItemElem;- |. K% ]) Z: k! u1 W
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
( R5 ^3 W+ F2 f: ~: p$ t9 g# n6 X }else{0 A P: m4 X4 m
SetForbid( TRUE );5 q$ _" M7 E; _& h: t
}
5 ?' P5 j' X' F }else{# f8 x* k$ Z/ }& r+ k3 k5 o* X' D
SetForbid( TRUE );
* A4 O! P4 c5 E8 m/ k. c: Q }+ y+ d4 J- h& C7 y6 D
return TRUE;
; @; \( P, Q/ ]* `! Z}
% n9 L: V; [3 F6 I) p0 y5 K* |( B: r; ^3 J3 k3 X8 Y* e
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )' ~$ a4 W; O4 P
{$ S2 F1 Q5 K+ `$ ^4 h( N" u8 G) a
switch( nID )
( p# n4 N* [7 W& |1 c% e5 A {" b+ O' E& Z0 o0 E. N2 J" ]2 G
case WIDC_BUTTON3:
% T: H* }1 F. J! ^ {$ W8 T9 c; `" W. m% @. i# q$ h4 u
bStart = TRUE;) w( b# y' p& M% |9 D7 L
break;
8 [/ O- \5 l% g. N }
7 P$ a) L% Y7 ?4 w u, H; P case WIDC_BUTTON4:
0 s$ T7 @" K! S8 H: B {
) v& T' n4 X/ ]$ L3 R bStart = FALSE;0 T+ }+ I* m8 p e5 g& Z
break;1 F4 N W M u) L% e- F. s
}
" \6 e) k! L' C2 S9 n% M! i }
2 u" k1 @/ h3 N8 K6 n6 ~5 y9 @; l: N return CWndNeuz::OnChildNotify( message, nID, pLResult );7 g( o( b3 x$ s; p7 R2 U
} ; n- M. x D, C/ O/ P2 u
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
# \' a% R8 J' x8 }{7 c# [4 Z2 W/ a5 ]' |
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );9 ]/ `; W/ S8 U- S! w
if( bStart || !m_pItemElem )4 |& H! |# G1 D: K
{
/ D! U2 c" n7 M2 C- N- P4 F- e! D pBtn->EnableWindow( FALSE );
* m9 P; ^7 A2 g }else
2 n" Q- E1 X$ ^! ~6 l+ ] pBtn->EnableWindow( TRUE );
0 Y( q7 `- {0 g" t P$ [4 b$ E6 n5 t if( m_pTexture )
$ ~7 Z9 b1 a0 y: X/ b, h# w3 E5 ] {3 h8 K2 J$ O5 [
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );9 r5 ?2 |& M- I I
if( wndCtrl && wndCtrl->rect )# f; Q0 |! {/ J; X% Y
{, K# L$ t: A& E4 f4 P
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );2 J( u: o& a* e# e
}
- j& g: ?6 _% }8 z/ `; u# G( X) Q }5 u- C4 B8 s' v! g
} J B) L4 D/ p4 O. _) p
9 P) \- E! z" _* o$ @7 N) B, RBOOL CWndAutoFood: rocess()8 b0 |$ \1 B7 F( D0 m" {
{( t9 b" m+ T+ c1 [5 @, w9 r3 b$ V
if( bStart )3 L# a7 w' u" y, R& \- n6 |
{
* H; o5 [8 h: s5 p0 w if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )0 t1 B* s' [" A/ R
{5 R3 V8 i. m; W+ h
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
" G; Z! _: ]! p3 i! K3 H g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
+ u; |, v1 C' Q9 J+ b5 w e }else{% b# z; W" X- [4 T+ K6 z
bStart = FALSE;+ c/ U+ b' q1 }6 l: A: T; i
m_pItemElem = NULL;0 X2 H% |" k# N
}
: `; H* m( n' y" Z* u0 B }
9 w, r5 v5 m' N# ] X$ s return TRUE;% b- ~+ M5 [/ I( z( ~" W! c
}0 J1 V( ^. b! m. c6 H
6 Z* j6 r8 y$ r& S! K4 p登录视频废话:1 h S z) c a
尾翼:7 `7 T+ |4 S3 B. M% q- ~
. h8 M5 X* P2 P$ A
代码:
[+ {9 _/ ?; ^# h4 F5 ^! ]3 R& o2 ^& V5 G v
void CWorld::SetLight( BOOL bLight )
1 z9 B! x) M+ w3 w I3 {durch
8 C2 G! N& @, SCode:* n' p; o$ V8 `1 L
void CWorld::SetLight( BOOL bLight )
* e, x- t. x5 R1 ` E{
' l( `" o4 w( w1 a, T% C //ACE("SetLight %d \n", bLight);4 x+ v& H$ g0 L9 _ ]4 A0 A
, O7 Q" d$ _: Y, k0 S' n
#ifndef __WORLDSERVER ! F. I/ Y. ~% L) k
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
) W( u: D1 r$ s, p CLight* pLight = NULL;
) |, A, ~& a& }. D
) C6 M+ B+ h: ?4 H- [0 I' o, N D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );) f# J4 G; ]1 p4 `6 }
- n* {) P% _- b |5 [ pLight = GetLight( "direction" );
4 ?$ M. I, l: T J# y8 x5 }( r$ B5 Q4 V" F' c6 x( O) p
#if __VER >= 15 // __BS_CHANGING_ENVIR" k7 b" t& m$ `/ G3 Z* q
if( g_pPlayer ){
- u# O+ j m+ E8 q& [8 W ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );4 @, a. L- P2 x. ~
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
; Z% a0 F, T/ {# } {
/ H, K8 Z2 C! y# R0 [/ { Z" F if( pLight )+ V6 }* p {& D- ?
{
& J4 ?( W3 Z, n: J" p+ G pLight->Ambient.r = pInfo->_fAmbient[ 0 ];! Q+ I2 W. |1 t) C) M
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
. ~! I4 {( M0 {( o pLight->Ambient.b = pInfo->_fAmbient[ 2 ];" k; e7 Q6 d0 V N7 Q: Q
- t2 w* c( P% |+ `- T& P
pLight->Specular.r = 2.0f;
3 @" b/ U$ H. y; N pLight->Specular.g = 2.0f;
% m9 f/ O7 w7 b. t" j% R) c pLight->Specular.b = 2.0f;0 S& c) K: |& b$ {8 a" m! U
. w+ p( F2 X2 G0 x
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
. \( T6 o/ Q2 r; c. [/ c pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];% r7 u8 f; X' \" Q+ G
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];; `5 I, `. I' O$ f) Z$ D* E
# u4 I& ]& a2 }6 M3 _
HookUpdateLight( pLight ); , c) g! |% z( E- T! ]9 o
' }- P0 ^- E3 P8 i) |. P( L8 V
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
3 z0 e3 Z# t. O+ Q6 C * a6 W- a) O% @8 r o
pLight->Diffuse.r *= 1.2f; q$ I1 L7 ], l( r+ b: ^
pLight->Diffuse.g *= 1.2f;8 R* }# L8 x K/ E A; w/ A$ \" v
pLight->Diffuse.b *= 1.2f;
# C+ D q& |4 J# S
7 D" i* K2 I; C: G pLight->Ambient.r *= 0.8f;
5 ^ W& B1 ~/ l) v: f pLight->Ambient.g *= 0.8f;
" l, a6 c1 N3 {7 C9 c pLight->Ambient.b *= 0.8f;
2 x# _# }4 e: k( D. O
: D' v# g4 G: f5 F5 p memcpy( &m_light, pLight, sizeof( m_light ) );
3 E3 q/ V: P4 t. b) l( `$ p$ @
0 K. L. B/ f6 M5 D D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- L: Y1 f) v' q" T( a9 M. l
D3DXVec3Normalize(&(vecSun),&(vecSun));
- \# A" u9 S" x( |/ W3 U pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 3 N; U7 U" s( S; \
pLight->Appear( m_pd3dDevice, TRUE );* x! M1 Y( C, @6 H4 O9 O0 c
" v, C" B* b$ g" D) g
DWORD dwR, dwG, dwB;
) p1 S& P" M4 g" Z- z; ~. d* ` dwR = (DWORD)( pLight->Ambient.r * 255 );+ N6 n D7 s) k, a
dwG = (DWORD)( pLight->Ambient.g * 255 );
4 s3 X+ n9 S! v! a$ g8 ?& i5 K P. i dwB = (DWORD)( pLight->Ambient.b * 255 );4 F& l9 N5 F2 } Z4 l
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
4 Z: a, g1 R( p8 H H7 b }! V6 U# @" r2 Y3 `' f! g
}
0 @6 F$ |6 k4 f }
2 @9 X# S& C% a4 x7 N u else& H* p4 P$ R/ u* G) l' x
#endif
4 r' d/ r" C4 }0 M* k% b/ _. t& C
' C" v D; K9 f# }$ } if( m_bIsIndoor )% g/ x. B: u6 m% F4 c) \: K
{
8 G' {" i: Y) u/ e `! p5 m4 e9 b" J if( pLight )/ s: Y0 u I+ S1 G! Z
{
% h7 Z' P% p9 \: {# d // à??μ oˉè* ; c( u2 Y1 b0 |! {
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
, P$ {6 j5 w3 s. i$ S pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
) h" \5 `; l3 j9 Z$ B pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;. z( L6 r8 ?( u+ R( \
7 y; B% c, I& `6 Q, m7 D: Y* ] // oˉè* ??à? 4 y% c( q% l5 C o0 {0 s
pLight->Specular.r = 1.0f;
0 c) a' a. [1 L" A* m pLight->Specular.g = 1.0f;
5 I) P: J+ \7 w. l0 X, z9 A pLight->Specular.b = 1.0f;7 z X( ~8 m7 r, ]* e5 g
// àü?? oˉè*
; J$ q3 v% i8 D. l: ` pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;5 P$ y# ~9 [' G; B
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;6 Y9 S0 p0 `1 G$ I& `
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;0 h8 J' Q/ a5 s# ^/ |
* C' W8 |+ I( f% W9 ~' o
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.' t# [8 f! X) J) P' e$ t6 z4 q# i
{
. s& \9 b, R5 K% ]# R pLight->Diffuse.r *= 0.6f;
! }; w. G9 p+ P& s$ w( ? pLight->Diffuse.g *= 0.6f;
@! h) k+ `- [! o2 j1 a$ z5 E pLight->Diffuse.b *= 0.6f;+ P9 Q; g; G; N8 j
pLight->Ambient.r *= 0.7f;. w, ?: o, Y; J4 x: l T3 i
pLight->Ambient.g *= 0.7f;
- ~$ W3 H/ F5 \! J9 X/ ] pLight->Ambient.b *= 0.7f;
3 m$ t: ?$ t+ X% Q" m+ s }+ Y$ B: R: i( a; Q! d$ N
{7 F8 m& T. ^2 }% }* `# M6 ]#if __VER >= 15 // __BS_CHANGING_ENVIR2 |+ W6 d/ S4 P3 t" }
if( g_pPlayer )
8 b% Z, z- y2 \ ^+ n+ F- `) o HookUpdateLight( pLight );9 v) M$ X& h0 l$ _$ |: u
#endif+ X, ~4 _$ s A# a. z# L
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
2 H6 J% e5 a9 v* h( K
" q- T7 h) v2 }" q3 ] pLight->Diffuse.r += 0.1f;! S& X5 L I4 E$ v) t0 p6 L
pLight->Diffuse.g += 0.1f;6 U- S- N, r" q% P1 Z0 H
pLight->Diffuse.b += 0.1f;
6 t& `& R/ G3 d; f // oˉè* ??à? 5 T9 \+ ?; `" Q1 \
pLight->Specular.r = 2.0f;- l9 {; {1 B. N& l ~; i
pLight->Specular.g = 2.0f;
6 Z* n+ m& w! x& A9 S pLight->Specular.b = 2.0f;! s. v! |8 F5 v4 ]
// á?oˉ
0 [3 F* v+ f0 A {7 D4 b pLight->Ambient.r *= 0.9f;
( R; M! l* X$ ~8 O0 L, @ pLight->Ambient.g *= 0.9f;
% c1 U* }2 m+ x$ p+ P5 D) P pLight->Ambient.b *= 0.9f;
3 o6 M' y, s- F; T8 {! H! U' D% z/ b- B; l
memcpy( &m_light, pLight, sizeof( m_light ) );
6 y1 g7 U0 \. I; m) Q* S% G x, E
2 T0 ]" A$ L. k9 V8 t3 g) W5 Q o pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );' ~& q$ b4 w6 r! j2 s
pLight->Appear( m_pd3dDevice, TRUE );
; s1 j0 k/ O1 B
% S' ~' r8 z+ S" X. B/ ?9 T1 d DWORD dwR, dwG, dwB;
! O: x$ f1 \4 { dwR = (DWORD)( pLight->Ambient.r * 255 );
. i' Y+ |3 H# P- {2 R' @1 h dwG = (DWORD)( pLight->Ambient.g * 255 );
7 C8 l/ Z" P, ] dwB = (DWORD)( pLight->Ambient.b * 255 );
[% x" N% @0 n dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );5 T8 p" E: T3 K0 V0 d3 j
}6 u& e& |; H5 M3 X* B# r D
}
3 V9 i/ G5 o! o+ E& c else
. K6 H: R& t7 C5 k6 w { p5 f3 g0 F& A8 `. M# U
if( pLight )9 Y; G8 r ^* B" I; W4 w% f
{/ E$ g j4 Y2 ?# w
& A; ?' H/ `5 u# w: i# R int nHour = 8, nMin = 0;- d0 v7 W" v W6 \6 d- ~, }8 d* H2 v4 |
#ifdef __CLIENT( T; G7 W- W' x0 I, q: x
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
4 C& f4 n5 r: c nHour = g_GameTimer.m_nHour;
$ d0 T, N" d0 d5 U; t: a nMin = g_GameTimer.m_nMin ;% \' }5 i" h) E5 n( ?1 S# g( M
#else- m, B5 S3 \, a% r4 ~( c* P
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
9 V& _" ^/ P3 c$ m R2 H0 F if( m_nLightType == 1 )- T1 C& M$ d3 {; J$ @0 ?* D6 g1 s
nHour = m_nLightHour;
0 R* P+ c+ p% t3 }/ {2 O! D% r #endif
8 y5 l6 z' R# q+ t; P+ [% w nHour--;
! L8 P4 B4 m+ K; [+ v4 s0 x if( nHour < 0 ) nHour = 0;1 j- n7 z6 C7 W% M! g
if( nHour > 23 ) nHour = 23;
' z6 ?0 Q) q H8 T! g% l+ Y8 l' S8 n
//if( m_bFixedHour )
5 U* `- e- }! }; l! O // nHour = m_nFixedHour, nMin = 0;; X2 J% q* m) U% s1 `8 ]
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];, M$ s# H& {& g! w( v
LIGHTCOLOR lightColor = m_k24Light[ nHour ];0 h% ^) I2 G$ p q- Q
4 r A& C6 E" O% ^+ I( T( _ //m_lightColor = lightColorPrv;
7 F% b4 m' X1 r. {9 _9 ]4 F' i% m" m lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
1 I+ f. m ^* Q3 L6 h6 s lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
2 Q* O) L) I$ I7 w# M! ?& C% D, v0 b lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;# D( P7 @0 [! w7 v7 s/ v+ b
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;" ^/ U6 Y6 n4 w# x: S/ H6 K
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
, B0 I" A: c" |! i X9 `5 ] lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
% y0 v5 V) j) q& @4 n# {. \# E // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol); j7 n/ H) z$ t2 p' F2 z2 T3 ^9 ~0 t! u
1 T- Q! y& b! N, l8 j$ v
// à??μ oˉè* . M4 ` X1 B/ o8 J" D
pLight->Diffuse.r = lightColorPrv.r1;! q# ?8 a. N5 g1 D ^$ F# X
pLight->Diffuse.g = lightColorPrv.g1;3 w. L0 {/ z& I8 f. E6 ~, q* o
pLight->Diffuse.b = lightColorPrv.b1;; K2 {4 x, g# R! A7 f0 \; a4 ^9 Y. _
// oˉè* ??à?
1 b! {0 n! v. Q6 e' M: U3 ~% e pLight->Specular.r = 1.0f;! x9 R; F4 \- e1 }( q
pLight->Specular.g = 1.0f;& y4 B: C0 y, t" c: b9 w+ @& Q8 ?
pLight->Specular.b = 1.0f;
% I9 i+ Q/ C1 a4 k0 @9 |0 u: k7 y! z // àü?? oˉè*
2 E- V/ I3 H0 X2 g pLight->Ambient.r = lightColorPrv.r2;
" f# n% n5 S- o7 u. J0 u' r, g; s pLight->Ambient.g = lightColorPrv.g2;% x- V" U" }" I4 M7 X
pLight->Ambient.b = lightColorPrv.b2;
" H8 R, O& E! S" w+ b, J' |, \4 h! A
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
$ l2 R4 Z2 t( Q/ o( G5 R/ O {# a2 Y; p7 o% P; B
pLight->Diffuse.r *= 0.6f;
" ]; J; }. f+ `+ | pLight->Diffuse.g *= 0.6f;
9 b L! x% g) u% C" u$ I. D- m3 E pLight->Diffuse.b *= 0.6f;
% \! W: ]+ a3 e$ Q& b; d pLight->Ambient.r *= 0.7f;
1 o |) ?) j) z' H* B pLight->Ambient.g *= 0.7f;
/ J2 F8 Q4 H& ?2 f: ~! m/ `, b pLight->Ambient.b *= 0.7f;
8 C4 ^( E3 @' `. h3 x* x }
% |2 {/ e* V/ ?( u, h" O- j 1 H$ M) w3 y: P
#if __VER >= 15 // __BS_CHANGING_ENVIR
( |0 V& K5 Y1 S& m1 i if( g_pPlayer )
& J5 f' s' X) U HookUpdateLight( pLight );
, q: j! K$ z8 C. _; }# w#endif
: J0 ^# E* U# i. B/ M. l( h memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );( R- S2 g9 c( a1 X$ j y
0 s- U9 x b/ {) ], j#ifdef __YENV+ Q! ?+ x5 P& X) b
pLight->Diffuse.r *= 1.1f;
8 T5 n/ @% m+ |) e8 x% ? pLight->Diffuse.g *= 1.1f;) e6 d( Y% a9 r
pLight->Diffuse.b *= 1.1f;% B2 Y# M3 t+ C6 A) L& m
// oˉè* ??à? , C2 e/ p2 t0 I4 w! A. s. c8 S
pLight->Specular.r = 2.0f;
6 W. h; h, b; j pLight->Specular.g = 2.0f;0 r; x2 T; }% i6 s
pLight->Specular.b = 2.0f;
. }$ V/ c, M, Y, G: r // á?oˉ
0 X) o7 N; e% r6 B+ P/ p pLight->Ambient.r *= 1.0f;
: d' g9 B$ p! Y( s/ H8 U! q pLight->Ambient.g *= 1.0f;2 Q1 a- L" ]0 a5 U
pLight->Ambient.b *= 1.0f;# G% Z& I8 V8 n1 M
#else //__YENV
7 U7 V# _5 t& y: b' k; C0 R- n pLight->Diffuse.r *= 1.1f;0 s2 e8 h3 a) `8 e5 e
pLight->Diffuse.g *= 1.1f;. ?, S2 u1 `0 W' F" {
pLight->Diffuse.b *= 1.1f;) A' w" l6 [+ E
// oˉè* ??à?
: S0 B2 N# @0 I: ~6 G pLight->Specular.r = 2.0f;. H% ~8 U) x$ q' l4 s7 `7 D; n1 W
pLight->Specular.g = 2.0f;
& j6 \3 K9 L% j+ B% u pLight->Specular.b = 2.0f;# B. b# b8 u7 Q" V6 v+ Z
// á?oˉ . I T* d% e6 D8 C) R5 c1 {; I7 C
pLight->Ambient.r *= 0.9f;7 ]. D0 m. }. l& V! n' P& E
pLight->Ambient.g *= 0.9f;# X, D) T: Z% W) U( U7 D* h
pLight->Ambient.b *= 0.9f;% l- @; l/ Q2 L7 D. x, o- o/ ~2 Y
#endif //__YENV
3 \8 r! z5 ~" |0 n7 B4 D
' D$ C' P% T6 ? memcpy( &m_light, pLight, sizeof( m_light ) );3 A; `7 o* }8 L' o& E
6 k/ u7 P% j5 K D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
9 e/ |; a& E% \6 P% K5 j2 U D3DXMATRIX matTemp;
' f5 T. X% d! J8 N6 d4 Z; U static const float CONS_VAL = 3.1415926f / 180.f;9 |; S5 t/ S" u: }8 i
0 a/ ]& j, P/ l D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
) K9 h8 E, V" C D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
) J' b3 i; m; A2 z, i5 z pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
& ?& s* n9 j4 u7 E c pLight->Appear( m_pd3dDevice, TRUE );
, N" @$ M# V) e6 ~ n; E( q0 k2 Q
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
) G' K0 G; H: Y2 t1 Y2 y" ]# s // D3DXVec3Normalize(&(vecSun),&(vecSun));
' ?; S- B" S' K8 u // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 6 W' s; t: M. L! B) I
/ ~/ b; X: Z" X4 M
DWORD dwR, dwG, dwB;( {2 x' w! K s0 ?! }
dwR = (DWORD)( pLight->Ambient.r * 255 );2 d! w; ?8 M- u, A' q4 K! W
dwG = (DWORD)( pLight->Ambient.g * 255 );
- c& J2 [- a/ V; T% K; _9 v0 G dwB = (DWORD)( pLight->Ambient.b * 255 );
4 g+ A/ Z) o6 d7 M- P4 e6 o+ v3 f dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* U6 ~/ E+ p( {8 r4 S5 F }
7 X: J& ^3 s6 F! P2 x' b$ M$ @" F' l }
# B7 F& X4 G! E! p3 z8 p/ M1 f& k; v+ b1 [. G( \6 b. j6 J4 d9 n
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
3 b0 w ]3 z/ f2 K$ ]" 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) );. w- n D3 e: n2 R4 ^( Q0 ^
::SetLight( bLight );- n! g y0 M# ~" y k( K
9 g4 N- L6 c* a/ | // ±ao? ?D?í???ó á¤à?
$ ?- v/ E. k+ k/ L, D8 U/ k m_pd3dDevice->SetMaterial( &m_baseMaterial );9 D6 c8 Z9 M. t2 \; N& }, i0 H6 e, \
' h' n8 G R" v* L; i; U#endif // not WORLDSERVER& w. p/ J d9 n/ {" q! f4 C
}5 o; m( a+ H' A6 b! a# r
并更换
5 T; p6 f: g: y; C- rCode:8 o7 C$ s" O$ U4 }+ n, G/ U
__FLYFF_INITPAGE_EXT
/ A' C( z2 F! x9 c0 y定义8 I6 S; Q0 f3 ^) X' B
X2 I: x2 u3 O2 c q) M* G
. w2 R# P* h0 i+ L, G$ q
! V+ }3 }! D3 W f3 U, h$ O
5 s( Q1 ?# J9 |现在终于删除我的狗屁加速...9 [# d: B& e& b" p$ _
2 ]6 P3 ^. w& D) z
% a$ A7 Z) ~* g; ^; i8 e5 E: x- d5 R" b: l* Y7 g. @2 {. k+ U
|
|