|
食品车:
4 p' P) R* o% ], i4 u尾翼:' I4 r6 N7 I4 M- o4 ?" I3 j- c9 f% M! c
: z$ K5 y- n: g. I: J" ^代码:# {: @( y/ g1 W5 B* r
CWndAutoFood::CWndAutoFood()
/ b n) e( Q2 ^{
2 o8 C. R+ e# `: W m_pItemElem = NULL;
* I9 Z, x8 u' o3 D: h m_pTexture = NULL;
* i F6 y& }) h( S9 T s% f+ a bStart = FALSE;
4 t2 K, Y8 i7 n}
- z' H V) v7 ~/ f; Z2 s
% z# D/ v: A' gCWndAutoFood::~CWndAutoFood()
( _! S# B) g# Z) d& |! t{6 {/ M1 ?, D6 D, \( r1 d
AfxMessageBox( "AutoFood ist gestorben " );
% j, x! K! [7 \}
# b( a& _1 b. ]' m; rBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )+ K7 v4 N4 \+ [: T( E
{2 d l0 a7 p# j1 U- x
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );4 v5 t k3 v j! r- W
}( I( i4 {5 Y+ y( i& _9 d
. J; b" @. X$ k# U
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point ): e* b4 o1 G2 A) O
{2 b2 { V; B) z$ k9 s2 s1 F
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );9 s3 X6 c g5 G2 h% f' t6 A! e
CRect rect = pWndCtrl->rect;
: c7 G7 w4 I* @- H5 W; W( K* p if( rect && rect.PtInRect( point ) )
2 [+ e) y3 W* ~! b7 z# H5 N5 s {
5 T: ?! ?6 r( Y" U' |- G- r6 k CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
) x1 l6 T8 M8 H, c0 W! C# O if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
3 j" G; `8 o' e, U: P3 U {
' N( X6 `6 s/ l7 K$ @- [ if( m_pItemElem )4 y: g" H2 @1 V% i3 @
{! I8 w' `$ ~3 R1 Y
m_pItemElem = NULL;
0 |+ D% S9 k' E! c }
+ B0 \9 }- O9 J m_pItemElem = pItemElem;8 V" r5 _( m v2 d- G" m3 @
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
# M; W# T" F2 ?. f* Q }else{3 p0 R* H9 @( ] f1 M
SetForbid( TRUE );
' q" Q- \; O$ u ] f }
) h9 w7 R8 U4 @. Y }else{$ Q1 d) U! F6 C6 a+ _
SetForbid( TRUE );, J! h1 y- l7 j* \8 B b O
}' _8 q+ G9 M: Z, [) j% M3 P
return TRUE;
. e2 I: o* E1 t}
1 V1 u5 \/ r1 \, H) C5 L, E
9 t3 X7 i U" ABOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )/ j/ Q( U s+ j$ P
{4 S+ B: \. i: L2 ~
switch( nID )
& h, l* Q: T4 g. g0 j {
2 j+ g5 S9 i- I2 r case WIDC_BUTTON3:4 |1 U! i& e/ v9 z: S' P1 C
{
; \9 Y3 K0 o& D- b, | bStart = TRUE;
# O, y' p2 b" ^ break;
* b! e% a% A/ {" P5 I }) U4 R6 p7 x9 r S8 o2 X+ K
case WIDC_BUTTON4:1 x' T4 _8 ~% `# @5 M
{
6 L# J7 q) D( y4 H: @ bStart = FALSE;& O. E8 j$ Q( p8 l9 p Z6 K
break;
; L' H- I; z! L: j }! P }
1 A- _; S1 X1 V- ^' E }! i x! d2 Q# W+ C, ~
return CWndNeuz::OnChildNotify( message, nID, pLResult );: W5 O! ~/ a& z+ m# X
} . c0 N* b' W, |6 S: c
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
/ J1 U& K" m% H) ^ c9 S6 ^: d$ Q p{
9 w( I1 e$ b/ P* h0 H: n CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );1 U2 {2 q2 I0 \9 e3 ?/ `0 H6 F$ L
if( bStart || !m_pItemElem )
+ F& e7 z1 y' {7 A( m( a" ?0 S {! P) ]% N( Y. \+ b
pBtn->EnableWindow( FALSE );
- w+ v2 A, N: |& u; o: k }else1 n9 i: t( v" k4 }# O* |! y
pBtn->EnableWindow( TRUE );4 k }2 }9 J% x$ h4 i4 ^, Y$ Q9 O
if( m_pTexture )
/ i$ d' f3 ]) g" g% `0 m* }! C8 e {$ T A: G% F- d' C8 I; {7 ~
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );3 c3 L7 L1 n& B3 K6 z' h8 k8 x
if( wndCtrl && wndCtrl->rect )
; j) o% k4 y' c4 f! B. K4 H {
. R Z) z; @, m+ i m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );& ~7 j! ~2 c* y
}: o8 U/ J) u7 Z
}
/ x9 O/ E; G2 s9 S}6 Y3 [, v- u+ M7 A' y
# O1 m. F8 U* u& Z, iBOOL CWndAutoFood:rocess()
0 _; v6 V3 ` N$ X( z% k{6 Y( c7 p1 B% W9 N$ k
if( bStart )
& a& g5 J: w6 Z {
( y' j) G( E+ }# x1 @ if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
- }& N4 e7 v/ \+ Z* G' @ {
( N7 ]3 R6 i7 B' p C" \ ~ if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )! O( Q3 g$ s3 W. k; X& j
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );# A4 q2 n' W# l7 R$ c8 Q" i
}else{
- c8 t, s( E+ ] N5 s" l bStart = FALSE;
, {' Z3 ~* {) o; G1 N; U m_pItemElem = NULL;
4 l2 Y+ i, Q4 t# k }
- h; J4 I/ ]* P) F9 T0 k }
! R4 |2 _1 u; ^; j7 L! x6 H9 S* E" d return TRUE;
& p) _1 F' C, L( R3 v} p* }% i0 R+ |& L5 P( y+ N! X
( f0 T# r9 C" r2 {5 l8 z! T! k! F登录视频废话:( D& P* ?) o6 _$ @. x
尾翼:
' T. g0 }* k o; N/ u8 u/ i+ q2 R4 M0 ~! t) ^6 [: Y/ @
代码:
! h. G8 F% T! G5 W! j, V% B V6 p- A! i/ _3 ?0 {$ n, A6 Y
void CWorld::SetLight( BOOL bLight ) h# w, _% v/ p( w# F; h) Q
durch
0 x& |& ]0 s6 A/ I6 ?5 YCode:
6 x( K8 k" f0 U `# wvoid CWorld::SetLight( BOOL bLight )5 U' [0 i, K1 m$ T ^
{
5 _# l P2 q/ {. h //ACE("SetLight %d \n", bLight);
. S* O4 K/ b' U2 d, ^ u
3 i, }& g$ ^6 O* n8 D#ifndef __WORLDSERVER ' R8 f' M/ g) y) ]
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
# o% t7 H }$ [( u: y3 Q8 r# r CLight* pLight = NULL;
5 \3 c3 d c' L% R/ N; t% x7 _/ e* g% p% d. @! w; r% m
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
5 M6 ?$ `4 m. c# e6 i& g
, ]: a9 }; A# D8 O" b pLight = GetLight( "direction" );
! S7 R; D. |3 @
4 ^' L0 E5 T! T# O; y#if __VER >= 15 // __BS_CHANGING_ENVIR8 `, M6 C9 d! h* o2 d% {4 C8 _" }
if( g_pPlayer ){
" t3 x5 Q6 J R# \7 P- d3 V( Z ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
& @/ b1 @% j5 E& b, s if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!7 b( T: \* e6 H8 R3 W; ]
{9 [( K1 a" h/ K
if( pLight )4 {8 Z" e: ?9 K6 E/ J
{* B4 b4 t$ O9 j6 w4 M
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
: r1 E, D8 L; z$ P7 y& M3 u0 n pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
# l2 m/ f2 x+ J' n: w& u pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
% y* F7 l6 y' L$ N. J. J! z; x& |$ O. R7 e J7 w# k1 _$ _7 q
pLight->Specular.r = 2.0f;/ d5 }! {( c/ f: S
pLight->Specular.g = 2.0f;
) y8 d7 Q2 [7 P/ }+ E pLight->Specular.b = 2.0f;1 c* p, ^$ |' n' P
" W! P O. h" L& B
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];. d/ x, _1 i3 V& h) h0 V/ k
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
' e0 J% K$ K/ C) P; G; r pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
- ~& U; Z7 w1 d2 n: E+ y/ ?
$ v9 X8 Q3 C- n* k& y, Q HookUpdateLight( pLight );
! j2 N9 U6 n4 O
4 _) y# m8 e7 q4 k3 ]8 _" Z8 O memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ c+ r) L, ~4 K1 N" x+ O2 j ( Y+ t- y' b/ m+ m6 G+ U. v
pLight->Diffuse.r *= 1.2f;& r8 @( [+ @2 R. a% m5 j3 q/ ?0 N
pLight->Diffuse.g *= 1.2f;- f# e# ?' S- M8 o
pLight->Diffuse.b *= 1.2f;8 _# L: \8 X2 X
- W6 K3 ?! l# O; z; ~9 E
pLight->Ambient.r *= 0.8f;3 j. G" F3 q$ E5 [+ M9 W/ k
pLight->Ambient.g *= 0.8f;
a2 h) U- n0 d8 y) B& o% V- @ pLight->Ambient.b *= 0.8f;
% F- h4 |" J6 Q : E) F6 ^1 ~# X7 G! K F
memcpy( &m_light, pLight, sizeof( m_light ) );& C- f* Z- Z4 P: J: B- H* d0 p
3 X! ]- K& R( {4 N) g9 v4 _ D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);+ M0 E9 j0 y, K0 x
D3DXVec3Normalize(&(vecSun),&(vecSun));+ M. X2 m8 Q7 w
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
5 ]3 Z& X; Y% D" a pLight->Appear( m_pd3dDevice, TRUE );
6 t$ j$ E+ d4 i: U5 u 2 T7 N8 Y \: V( k
DWORD dwR, dwG, dwB;
3 S s: q" U: i dwR = (DWORD)( pLight->Ambient.r * 255 );; `! J+ V' y$ J7 S: ?
dwG = (DWORD)( pLight->Ambient.g * 255 );4 g9 V" {! S5 E2 f* i
dwB = (DWORD)( pLight->Ambient.b * 255 );
8 v5 G: k9 m/ f d( Y dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 D. ]9 h" D: _/ W; ]) h- R" N }' l5 x5 u6 n) {, T; p1 S: w# P
}
( Q! I* s9 P5 k }
! G( H4 t/ W+ x6 U+ @ else
+ Q Z$ U+ M: ~. ^/ A- J9 O4 }! k' l1 Q#endif : O# W1 T/ ?1 b$ @- l4 ]3 L N
7 ~' x3 h6 E- ~5 z3 z8 n if( m_bIsIndoor )
+ p+ \- r4 D2 d {
5 U/ x' d. N0 \6 { if( pLight )0 V. ]8 t6 q! [ i) [5 I
{ * C$ N( Y% l# a6 b( h# V- u# a
// à??μ oˉè*
* h5 |( n+ Y- |% G, I pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
- i4 I& T/ ]4 m4 { pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
, C( r2 q5 K& f1 b- B8 u! M! j9 G6 \ pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
- l' g' H, U# D2 p: j2 o2 W5 \. B& G) U P1 }5 E0 q; ?' m
// oˉè* ??à? ) |# ~( z) J+ W, h: O4 P
pLight->Specular.r = 1.0f;& I; r( ?! n0 {5 S( w
pLight->Specular.g = 1.0f;7 P" t. M' w9 y
pLight->Specular.b = 1.0f;
8 s1 a4 z5 v( n& K( o // àü?? oˉè*
! h- a6 f+ A4 o. O pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;0 v) v7 P9 ^3 ]7 M. F/ K8 c
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
7 ~3 m7 B' s) u0 c) l pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;; q8 W! G$ o7 V7 _9 Y8 T0 D
9 e6 X" H' e9 ~8 e( [+ c: F' l
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.# `7 p; C/ z: E: T" S
{0 ~. T- m6 N7 b1 M% i4 h/ ~3 x
pLight->Diffuse.r *= 0.6f;
4 S) @& L5 X. z7 Z pLight->Diffuse.g *= 0.6f;
+ w% I7 K2 ^9 W( ~' r: _) W' r4 H/ ] pLight->Diffuse.b *= 0.6f;0 `* r. c. r' |) O* S
pLight->Ambient.r *= 0.7f;
8 {& _) A+ B$ C pLight->Ambient.g *= 0.7f;
0 a) l4 t3 M4 W2 O$ v pLight->Ambient.b *= 0.7f;5 y0 g; l+ _4 Y) D4 a4 a
}- Z6 \8 o; M3 [# _2 l' L" B
/ X* R0 j6 K5 i# ]5 k
#if __VER >= 15 // __BS_CHANGING_ENVIR/ y# \, {" P5 k: s; z
if( g_pPlayer )
- U, N1 d! H$ E. v HookUpdateLight( pLight );
% C# a s9 e% a5 |$ L#endif+ G% R8 m: d8 ~3 S
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );+ X' f6 o, ^7 f
* F0 }% Y k4 p1 B# I+ I9 d/ h pLight->Diffuse.r += 0.1f;; h" {) F+ @& X0 g7 q
pLight->Diffuse.g += 0.1f;
+ w3 n% Z. ]7 Y" C) ~ pLight->Diffuse.b += 0.1f;
6 _! u4 m, U6 {! a // oˉè* ??à? 1 W; h# ?+ t7 m" p2 ]
pLight->Specular.r = 2.0f;
- x- g: }$ C$ T. A9 j# \; r pLight->Specular.g = 2.0f;
7 q S' ^' q, ?# A) `4 I9 L' W pLight->Specular.b = 2.0f;9 W5 F. P! F; U. P6 \: e; B
// á?oˉ
7 E& ?) \- B3 U( Y) M5 M' Z% ~9 P pLight->Ambient.r *= 0.9f;
/ T2 A2 q, f& x) t3 X- Q2 j pLight->Ambient.g *= 0.9f;
/ e, M, M$ i- V4 X1 [% w. K pLight->Ambient.b *= 0.9f;
- l, a6 ~8 |1 ]
- Z- G4 D2 G+ P memcpy( &m_light, pLight, sizeof( m_light ) );
( r/ N! ?, A2 `* N: Z, @6 M+ V
4 [! Q/ F3 Y& S& d pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );0 }* M$ v" |2 L/ s4 ~$ Z. f9 e
pLight->Appear( m_pd3dDevice, TRUE );
% e; C% [4 a. n- b& D
2 Y9 f! L( K1 @! w5 F- x DWORD dwR, dwG, dwB;; P" o+ a1 o2 c
dwR = (DWORD)( pLight->Ambient.r * 255 );7 h$ d( J' Z8 g) }
dwG = (DWORD)( pLight->Ambient.g * 255 );
7 c0 @# S" a5 c dwB = (DWORD)( pLight->Ambient.b * 255 );! y S2 m" @2 d1 k
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% l2 }% \% G; A( m; }' H }* A* }9 t- h; U0 M& u# W8 i
}4 {5 Q; v5 y4 u% K( c5 b) \; v
else! k6 u! E" b; g
{
0 p) G# W1 e: _. s9 g if( pLight )
" ~5 R5 `1 ~4 r" A; @8 s {
- C7 e5 k8 @* `+ u% C' l $ C2 O1 |% [) P h9 Q" X' Q2 A
int nHour = 8, nMin = 0;
. F S" z- B' [. {7 y #ifdef __CLIENT& R1 @6 k& z4 y5 o7 C# N6 Y
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
" ^7 L# p2 I1 P; J+ r: ? nHour = g_GameTimer.m_nHour;; @9 Q' ]6 q% h# u* r& z5 O$ w
nMin = g_GameTimer.m_nMin ;" C: o. O. F4 L, Q+ m8 S
#else
! C' {$ Q, Q. X; n/ \* x2 K) b // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.& o% L. X0 F3 X. x: p* j
if( m_nLightType == 1 )7 T8 b( K4 G2 D5 b( E4 m
nHour = m_nLightHour;
7 x! F# L, s3 s: Q #endif
1 |+ x2 z' ]' r/ t$ Y nHour--;
9 I6 _6 u: _/ D' o% L g if( nHour < 0 ) nHour = 0;2 e2 F- ~4 {' x/ F6 G/ _) X# T7 T# J
if( nHour > 23 ) nHour = 23;
% `% C# E0 X, ~
$ o. L4 {+ H7 P- m //if( m_bFixedHour )
+ @9 O$ \# X* _8 Y- T // nHour = m_nFixedHour, nMin = 0; F0 D( ?' ?7 L% G' T# Y
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];# R4 V! B8 v% M* _9 y: v. ~
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
/ P% h3 ?1 h4 h3 ]
) ^- g' c0 m" f0 L //m_lightColor = lightColorPrv;
p9 _# ?+ L9 F4 S lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
9 p9 k8 ^' `; g: V4 a# p lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;' l6 O, }( T: |8 ]
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;3 G% B3 a5 a, W' y5 M! N2 W
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;: K- `7 S+ [$ E" Q7 \
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
: n% G6 n0 O# n2 ~) b5 d lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;6 f% L! @/ f& I/ C& ^
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)" W3 A$ _4 E4 c' {7 X" j; m; r
. f# L* [" i+ C0 Z; G- k/ L( P
// à??μ oˉè*
/ y: j6 F( c, Q2 v$ T/ I pLight->Diffuse.r = lightColorPrv.r1;- B; \9 ?! d1 X: p
pLight->Diffuse.g = lightColorPrv.g1;
% F! d. e: Q/ {! S! n& F" @2 \/ F4 g pLight->Diffuse.b = lightColorPrv.b1;! P) c4 X1 I$ e5 S3 K( u6 ?8 z
// oˉè* ??à?
) A, G1 N, N% v& T) Z; D pLight->Specular.r = 1.0f;
! s4 d) Z- B# r) {4 A0 m* X pLight->Specular.g = 1.0f;
2 K2 F" Y; t8 n9 U& n7 Y2 Q pLight->Specular.b = 1.0f;- n; {- _* |+ g2 u( `; @" g
// àü?? oˉè*
& k4 p: t' |4 |) N; V3 o pLight->Ambient.r = lightColorPrv.r2;
# X& \5 @- ?6 R9 M; A! e9 K8 g pLight->Ambient.g = lightColorPrv.g2;5 s5 p o, f j" w; u0 b# h
pLight->Ambient.b = lightColorPrv.b2;
I8 H5 B5 e/ w# [" e8 v% i+ v: L; Z( P- x
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
- k" _5 `( h- f9 F, p2 R, s {! B: U$ w* l) u3 J
pLight->Diffuse.r *= 0.6f;
. g- O: p$ O/ `4 H! U8 J; U ] pLight->Diffuse.g *= 0.6f;& a2 s# b" F4 U
pLight->Diffuse.b *= 0.6f;6 }9 q# J" g# z% k4 i
pLight->Ambient.r *= 0.7f;
; V% e \+ \# P pLight->Ambient.g *= 0.7f;
0 ^; r5 `% N( Y8 f0 C( z0 W8 S o pLight->Ambient.b *= 0.7f;4 j5 c; J* h" z8 Z B
}. T3 z( c( Q* t4 }, j/ Q# \
4 Z; k7 M2 H* X9 X* S- G#if __VER >= 15 // __BS_CHANGING_ENVIR! s4 u/ r/ ^. N9 R
if( g_pPlayer )4 U$ h, i/ e0 C* V# ?8 E
HookUpdateLight( pLight ); 5 Q9 C6 m. h+ e5 {9 I
#endif( ~6 u* g8 m5 s; o( R# [
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );. J- b" F: S8 Q [- G1 R% @
2 }$ f; W: |" S, |! _3 }: i
#ifdef __YENV
5 ^! h# {- N) P8 u5 y6 Y5 P pLight->Diffuse.r *= 1.1f;( P* W# b, P3 s* X3 K, {% q
pLight->Diffuse.g *= 1.1f;7 W" q- I6 W9 H Q6 G8 ^
pLight->Diffuse.b *= 1.1f;- e; ] T4 D& T
// oˉè* ??à?
% q8 Y' d* T* K: B pLight->Specular.r = 2.0f;
* [, E- m0 [( N1 {- g pLight->Specular.g = 2.0f;4 \# l! p' q* j$ u; \! d
pLight->Specular.b = 2.0f;
# a1 [# A9 a: e; X7 J // á?oˉ
3 n7 }& `+ u5 y3 ` pLight->Ambient.r *= 1.0f;
7 K) Y, U+ f: g/ t5 E pLight->Ambient.g *= 1.0f;
W, k, p9 D; Z2 @/ K pLight->Ambient.b *= 1.0f;8 [ k' i" H" m$ S- X
#else //__YENV7 u3 Y2 w, u3 E, l( {- [
pLight->Diffuse.r *= 1.1f;
* }1 N. U* Y( [% _7 l( { pLight->Diffuse.g *= 1.1f;; t8 G2 K3 @/ r" v: h6 h
pLight->Diffuse.b *= 1.1f;
+ G; I% F( X- r2 a& a5 q // oˉè* ??à?
' ?6 G' c( f6 V) } pLight->Specular.r = 2.0f;% b& ]& H* e$ y+ r$ l7 _0 a
pLight->Specular.g = 2.0f;+ e$ a/ y6 a( e1 O9 o
pLight->Specular.b = 2.0f;
9 L0 a$ V+ {( [2 n: d. ~ // á?oˉ - ^2 M/ [/ @3 b4 k; G6 x/ b4 S
pLight->Ambient.r *= 0.9f;3 v H9 B5 a' F% [3 T- J& x
pLight->Ambient.g *= 0.9f;" _' C) p$ \* w6 L1 t9 L/ x5 C5 g& y
pLight->Ambient.b *= 0.9f;& \$ v2 |; J/ c2 i" Q5 k9 `
#endif //__YENV - j) g8 S3 B" ?
7 {6 n- A; D. e! b: F) Q
memcpy( &m_light, pLight, sizeof( m_light ) );
. h( n) k% B+ j0 p8 L
; f: r9 d% a& |; r- i/ n* [5 e D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);; m+ h$ g& K% V! Y1 h- A; B# F/ a
D3DXMATRIX matTemp;
3 {2 V1 ]1 d4 P static const float CONS_VAL = 3.1415926f / 180.f;' \9 {; t: t T: j" t0 T6 ~* i
[5 r. A3 s! N; r. V
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
. C$ b; L2 ~- z' Y D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
0 t$ H3 I& c0 }4 ]5 d& K pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
( ^/ [" q0 V- p3 z pLight->Appear( m_pd3dDevice, TRUE );! l1 ^+ Z4 y4 j ?
7 b; r( P+ }! @, a5 R3 \ // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);0 n" C" N0 P4 C2 {
// D3DXVec3Normalize(&(vecSun),&(vecSun));& ?' _% r. b5 t+ U- ?! U% L
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
* k3 Q! y3 I2 J, e k, U" h% n+ l- v; }& R! N/ G: A
DWORD dwR, dwG, dwB;
5 z, w( P% c* L* w ?2 \9 ] dwR = (DWORD)( pLight->Ambient.r * 255 );
7 U5 Z- L ?. C$ H dwG = (DWORD)( pLight->Ambient.g * 255 );
2 S. E! P9 B- m+ \: X y dwB = (DWORD)( pLight->Ambient.b * 255 );: y! s% j. p8 g! U/ e, A
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 B7 O$ O; a) s- D1 t4 W( K6 T }6 z& t. {4 B! D9 _
}2 k7 |; N$ @4 C5 l
2 E7 x2 |) t4 o: |9 p; m m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );$ S; o% l% V4 W6 B/ y8 b
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 J) b t0 Y ::SetLight( bLight );
/ _% m- `' A1 d, d6 o) ]4 X, X
) t! g$ x% B) q$ \$ p // ±ao? ?D?í???ó á¤à? ' R7 X5 z( ?$ ?" Y A7 G3 \$ P
m_pd3dDevice->SetMaterial( &m_baseMaterial );
w$ [& d$ P- o* } 0 m% D3 H, S2 Z- K$ @! y
#endif // not WORLDSERVER4 {# U/ j. N1 c" t: J- c5 B
}
" z2 W# q4 I2 [* K5 v# k# g并更换
' `: h# c0 ~' VCode:) \; D* X) P% {! y
__FLYFF_INITPAGE_EXT
9 [' o W) @, N! V9 t定义
7 c2 y" y, [9 A5 I0 U# l, r2 T$ k1 f5 ?, h N
$ T4 S L6 W* e! O8 w
+ I& }( w) ?7 x
/ r1 C* C7 V% X% ]/ R' ]* V
现在终于删除我的狗屁加速...2 \; X; r5 a& |5 H+ g2 ^$ S
/ l$ }# z5 o( |. |8 w4 j1 A, A
+ t6 R9 A4 J% x0 N7 e8 v' C2 T0 g: u4 ]
9 Q( ^; I4 o: m' [" Q$ p |
|