|
|
食品车:
* x4 u/ o5 u0 Q尾翼:3 ]' U7 o- q; @- R. s+ u8 ^% }$ I
, e3 S; t9 E% @/ o4 _, k! p代码:# l) m$ W6 o; v$ }
CWndAutoFood::CWndAutoFood()
& \; m/ J8 c: j5 r; M{
" N: D0 A& S! T/ b m_pItemElem = NULL;
( D1 b8 v% w1 d3 q' h m_pTexture = NULL;
; t5 g, w8 [4 Q; J9 h4 ] bStart = FALSE;, {$ m; Q. N- X5 `& y
}
; V6 Q- [9 ^- h0 m% r- x4 A6 p- ^& F5 `- ^
CWndAutoFood::~CWndAutoFood()$ C2 U! Z! w9 p; p, U
{! \& T; i( ^0 p' B; q
AfxMessageBox( "AutoFood ist gestorben " );
2 e. y. G: u" z F: y2 s}% d5 z& |* C. A' q
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType ). q$ J7 W4 Z' f/ A
{
. h4 E8 y* Z% Z# d0 \ return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
6 N5 W2 J! G( a}* K6 j( @9 x$ h- k: ~' h* D M: |
% x* I" J* ?1 Y j3 H! I, W
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )' h: F) s8 _) d F) O9 z
{0 ~8 H# ~1 c. @# T' F
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
* @. P' [/ x3 A* S% e/ T! ? CRect rect = pWndCtrl->rect;
5 |2 U9 B8 x" _3 }* b if( rect && rect.PtInRect( point ) )3 N o% s( R! _6 ^
{6 A- Y8 h& t7 V6 w c( u# |2 B. Y
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
+ E! {5 _6 E+ B9 G% c' S if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )- g+ J: p+ m: w
{5 `- Q) U) u: h3 r# z3 O4 @" `3 x
if( m_pItemElem )4 R! K( c4 H# A
{$ U/ H7 x' d% E7 |
m_pItemElem = NULL;
* J" _+ H' n& V0 w' I5 }& P }1 ?$ u* G! ]8 c# `& v5 w$ V
m_pItemElem = pItemElem;
& w) ^% A7 _3 e" t& `0 [/ ]. Y: j& e m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
4 v" a7 n: J2 d: Q }else{8 D) z" S" A& _" v2 z$ l
SetForbid( TRUE );8 W- D- }- l; \* s# a4 F
}
8 A' J6 \; |& ^6 N: h4 H }else{
, Q- h2 Z, u; v SetForbid( TRUE );, [* B- h$ ?8 w U$ w/ N6 F
}
E" s, ?. n+ d% G2 ]+ e3 ~: o1 F2 w7 | return TRUE;. i4 P; D7 o7 q
}
4 l1 L5 V/ m5 x1 T- b* Q2 m9 I2 m' c% y4 q) A; W6 ]
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
& Y, e0 C/ Z7 ?+ n& i{' t! P9 C0 @( Q1 n
switch( nID ); b* E0 p3 T( G6 x/ _
{
) g0 m7 O9 U4 i) V case WIDC_BUTTON3:5 a1 ~: V* `* L' |3 G, } Y
{0 R( x3 ?( {. g
bStart = TRUE;$ V* D; x' `1 l) ?3 W3 G( m
break;) a2 O0 |' V, K5 N* G9 B
}; u E7 |( t+ c7 k4 j/ I/ d
case WIDC_BUTTON4:
% d. y/ H9 b- [1 Y4 D7 ? {% J* C/ {$ q0 P, `7 K: y. U
bStart = FALSE;0 |" g, Y, y' O+ n& u
break;
0 ^- b' p/ h1 K' l+ `% J }$ |# c" H. R! h
}
B/ m/ G2 y6 v1 u, R1 S! `# w return CWndNeuz::OnChildNotify( message, nID, pLResult );
1 m' y# n, l' q4 t}
: x' `2 K. \, ` s7 h4 M0 Xvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
% n: L8 W* ~* P- y1 k) K9 [ {{+ v4 c3 `- r ^/ L9 b; o6 v
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
3 j! r3 b) z+ v, S0 {7 m; } if( bStart || !m_pItemElem )
; J3 `6 Q# }7 L% L7 @7 U0 D" U' n {& m' M+ Z, H7 F. l* Y: B) |
pBtn->EnableWindow( FALSE );" r" l+ y, Y+ C% E U# I
}else3 E2 T4 r3 [7 H T0 r! h* ^
pBtn->EnableWindow( TRUE );: q. ]4 h+ M7 U r
if( m_pTexture )
7 g. |/ m4 s% P {
2 b; o# A2 t2 x8 C, y- t; @4 D: I LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );3 K6 r' e6 L4 H' W, x+ l+ H4 Q: V
if( wndCtrl && wndCtrl->rect )/ I& x% v( G* d2 f+ v1 X& H; ^
{
2 g2 O( V, @4 b- g1 R& W j m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );" Z1 y" W l, I. l" t; t; k e
}9 n' y( [" x6 C o# K6 i O5 o
}. c/ c7 W4 m( e' M8 ]) e! ?
}9 _$ s8 t |( ^7 F, @( O% |4 R
. I7 R- }# i9 `; D& F6 W" j# K
BOOL CWndAutoFood: rocess()7 Q" W2 Y2 K( G4 E4 {4 _
{
( ^+ s* `/ R$ Y; m {" P if( bStart )9 r( C) X8 L3 u n- a: }/ F* _1 V
{2 h2 X J+ |( F# i$ V$ W4 |8 ~
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
# f6 ~; D' h% v$ B& x8 V {+ R! q$ A$ V$ y" n
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
0 W" H; L$ |5 V1 |- g( t7 { g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );7 e2 e0 _1 ~. A8 @; \/ l
}else{ d4 b6 c) [8 C5 W& c
bStart = FALSE;, n& S: J4 p, G' k
m_pItemElem = NULL;
! r, w2 N+ L. c4 @# r, a- v }% V, T$ q. I- @0 C* O
}
( p6 ~* P% F& O4 d return TRUE;
1 B+ t. ]( r% y- W1 ^}2 {7 D7 {& B, K. j% A. A
; ?" R; _7 m1 W! z1 b$ H/ k; S" X登录视频废话:
" X' }" j' S3 o& c" y L尾翼:3 j8 G6 m. v+ n- s
. P* f! [) Y- U" Q7 j: F: |) z代码:
* k% q( J$ K& w. V0 v/ s& @% h: C& X# L! V
void CWorld::SetLight( BOOL bLight )
0 H& v- k4 U$ M' o0 Fdurch
, I) E# ]6 d( ]8 DCode:6 u* w( J6 G1 u2 s/ }/ i2 a% I9 ]
void CWorld::SetLight( BOOL bLight )
! `$ `. J j$ Q3 u; @1 r{( V, I9 v& j+ N( U$ M$ c! w$ S1 p
//ACE("SetLight %d \n", bLight);
i( e/ P" U4 F9 w
! m7 I" U4 L0 f& N#ifndef __WORLDSERVER
}: X. V. J8 a3 I) u DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
. E8 Q3 \$ }9 P: D CLight* pLight = NULL;
4 G% G0 Q# q" n% i- H8 w1 z- j, \8 S, Z' t$ l$ n
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );* {1 l9 Y* \+ ? ?, H! C
' y4 I' p' a" `3 h: X8 t pLight = GetLight( "direction" );8 b* ]9 S% t. j& ]9 x
9 M1 r) g; O" l" @7 C+ |1 ?#if __VER >= 15 // __BS_CHANGING_ENVIR
1 ^# z' Q L- A9 A if( g_pPlayer ){5 H; E' n P0 l/ o6 N
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
' z3 Y7 B4 n$ r1 w if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!$ M' H- l, u+ h$ h
{# |: ~# ~4 z5 U: b/ _
if( pLight )1 D3 F0 s( u- h$ t7 T) q0 L
{
; S: [& Q `0 [8 M, k7 v pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
0 i# y! ?* b) O* D/ n4 }4 C: @ pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
2 a/ F6 A3 k7 Y2 b- v% U, H pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
5 N1 l+ C1 N; i. y* S; H5 I x" |& p$ Y7 w7 R0 K3 }
pLight->Specular.r = 2.0f;
" f9 c- w1 [! M2 H* J pLight->Specular.g = 2.0f;- X4 N# F2 h! i' E4 E
pLight->Specular.b = 2.0f;2 O/ y% f6 y0 h
) _0 O# J. E& C( `; p2 F' k
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
! p6 e* o& N& Z7 F pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];/ Y7 G- m( N; i
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];: j+ u @4 l! D
! z4 [: G& O1 ^
HookUpdateLight( pLight );
+ G8 y' H4 P3 ]+ z9 N5 p2 A6 ?9 e w2 [1 f3 d
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 { p) Q) A5 N: {( P; g! ^- ? 5 s! _9 A0 {; E5 Q# \
pLight->Diffuse.r *= 1.2f;
; F8 Q! o& l3 n3 }1 r pLight->Diffuse.g *= 1.2f;
. o7 l ?) n5 L; D l pLight->Diffuse.b *= 1.2f;8 T: k% w5 c6 u1 |" v7 \0 y
- \9 g% Q. u8 c
pLight->Ambient.r *= 0.8f;
2 h; u, X- J! f1 {* `4 m! y pLight->Ambient.g *= 0.8f;
4 D0 j$ |0 T" p4 {( l/ I pLight->Ambient.b *= 0.8f;. \2 v+ _- u6 l7 F3 @- L
5 c: v0 x0 d9 X4 A# S
memcpy( &m_light, pLight, sizeof( m_light ) );) V3 X$ l2 j/ A. K: g% D4 o) f
& q6 ^; W* @4 [( G D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);+ ^& ]3 v1 F# ] U
D3DXVec3Normalize(&(vecSun),&(vecSun));
+ e1 B% [0 x, s# S: d pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
l" g. V' L2 d pLight->Appear( m_pd3dDevice, TRUE );
% A+ a' ~- c5 k2 W$ D
: Q$ {1 \/ P' ~, A3 s/ P8 R4 L DWORD dwR, dwG, dwB;6 N& f: p5 r6 {6 y
dwR = (DWORD)( pLight->Ambient.r * 255 );
7 b" W6 A6 \: l6 H* u( } dwG = (DWORD)( pLight->Ambient.g * 255 );
( w7 r, T7 q& D: e" U dwB = (DWORD)( pLight->Ambient.b * 255 );
( W4 L+ d2 F2 P3 ? l0 ] dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );5 B; I8 u+ S6 J( l
}
0 w& J; }* J, D: o }. U9 b4 R- W3 J0 G0 h2 w
}( t; |- r6 L1 O: t' A" v
else
4 ~; }# h& ]- w f0 y5 Z#endif $ M3 |0 P" }$ J |6 @
+ {8 h$ h, }$ k: }" ~- G: L if( m_bIsIndoor )& Y$ ?/ U* [" B+ ?3 X1 V/ ?8 y: T
{
" s; |1 A6 x5 b& P7 z- I5 _ J if( pLight )
' W, b1 {0 I7 y4 P { # i, r1 D: e7 @ i; |% C3 i
// à??μ oˉè*
- A: c) ~# j& `1 @& g! V pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
( {0 y6 H& L9 r1 Y9 h" E/ u pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
) K1 w$ f$ ^* P pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
7 C' W) b; ~# Y. W! r3 m8 {
2 `3 z `" S% r+ O // oˉè* ??à?
7 ]6 V( ?- x, A pLight->Specular.r = 1.0f;
% g) c8 a x6 [1 m pLight->Specular.g = 1.0f;# X* f/ X# A- U8 y" l0 O% g U
pLight->Specular.b = 1.0f;
( `- `5 @" V6 s5 o8 {* O4 I // àü?? oˉè* + V! B5 } O1 I5 I9 k$ h3 ?
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;6 S/ Q2 o* K+ @. \
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
. y: e- t% W* o0 K( M pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;1 k1 U) T* j7 H, v
' W) t& a/ a7 V Z, Y: H if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.2 Q' N0 W( z: o1 Z% I H
{ p) N7 i. U& n, d, L! H
pLight->Diffuse.r *= 0.6f;3 t& d9 [4 \- ^1 c( Q" \
pLight->Diffuse.g *= 0.6f;* _& D2 Y8 \ `5 L
pLight->Diffuse.b *= 0.6f;
1 r: z$ q& r W# N pLight->Ambient.r *= 0.7f;! j0 l' T( n3 d
pLight->Ambient.g *= 0.7f;
8 w8 n& {; Q, e; G) ~' C# ] pLight->Ambient.b *= 0.7f;
* s1 Q9 J0 ?) h/ t+ Y" f }( z$ Z S/ k* B9 v" P1 P' W
' M) c8 n5 ]% ~$ T7 g6 R
#if __VER >= 15 // __BS_CHANGING_ENVIR
: p+ |$ V; J1 b5 @3 h9 B if( g_pPlayer )$ m7 c" X, X. _
HookUpdateLight( pLight );
9 E: H( P7 c4 v) w5 q2 M8 ]5 m#endif% A: Y! d& e4 M' H m
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );( T1 F& X9 S5 l1 L+ a' w: A/ l
' b$ o( |1 a+ U pLight->Diffuse.r += 0.1f;
0 u0 K% b+ b0 q* _! y; _. o pLight->Diffuse.g += 0.1f;
7 Y1 N( V* y% f) N pLight->Diffuse.b += 0.1f;+ \* \0 u& p* _2 b5 ? ]$ w& u/ e
// oˉè* ??à? 5 U' c, V& i+ z/ x; }
pLight->Specular.r = 2.0f;
5 n" E+ p2 c1 l) z: g/ I pLight->Specular.g = 2.0f;
+ [3 p9 c/ y$ n: x8 e pLight->Specular.b = 2.0f;& P+ A( U8 Y& F( l6 |
// á?oˉ
2 A% x9 ]" b/ p0 D4 W$ d! h4 g pLight->Ambient.r *= 0.9f;
2 f' \4 Z, j! t' q pLight->Ambient.g *= 0.9f;/ H$ Z1 A/ V% L5 q% I7 ]% P
pLight->Ambient.b *= 0.9f;3 q9 S4 m! e+ V: A* d' { b4 z
1 H, f: l& U/ }8 u5 F
memcpy( &m_light, pLight, sizeof( m_light ) );
3 D9 D# t" o% n( S) c" L4 `
" i- n7 v/ s' ` R6 b pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
1 Z% B* \' D# O pLight->Appear( m_pd3dDevice, TRUE );
2 I4 B! n2 @# A 1 F1 N+ _ u2 {1 t8 w) T; O
DWORD dwR, dwG, dwB;
* s2 _/ T5 g& s6 E8 e) t' l( } dwR = (DWORD)( pLight->Ambient.r * 255 );5 L0 w w6 B8 k
dwG = (DWORD)( pLight->Ambient.g * 255 );5 B5 X* K# ?; A
dwB = (DWORD)( pLight->Ambient.b * 255 );
" {; N- n' d- ` X4 a dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );$ C; ^/ s/ i+ `9 r/ Q/ f+ P7 E' ^
}
, H6 r E5 M- K( j1 W6 F+ o }
6 e! H1 Y7 c1 @* d0 t9 I else
. P+ Z6 g l$ {6 C$ d0 @ {
/ [% G/ }8 r0 ?& l6 R if( pLight )
, E" z7 y. ~& ~6 n8 i! M0 Q8 p {1 @' ?0 V( q+ e+ ~+ f4 \/ |
0 [4 n- Y3 u8 \0 q1 n
int nHour = 8, nMin = 0;
8 G- ^# e7 r) b j+ F- m. l #ifdef __CLIENT/ `+ a8 K) ?. h0 b# a
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
# ~2 L% \+ H) k t* \6 T6 ] nHour = g_GameTimer.m_nHour;
& V0 w5 D* D- b: \ e9 Q$ P5 j nMin = g_GameTimer.m_nMin ;3 A0 K& q! b' b8 u0 c$ i
#else
7 e; ~" G7 u( i( M( K4 s; i // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
7 T4 F% t; w6 [ if( m_nLightType == 1 )! l' l, e+ I' |+ E6 {
nHour = m_nLightHour;$ ~ _/ d' O* k+ e! t* V. \. w
#endif
; b6 E9 _2 p+ c1 ` nHour--;" p( M0 J8 x8 o) L# f8 o
if( nHour < 0 ) nHour = 0;, B5 P' a3 n4 F# D. _ w3 ^7 [0 @# l
if( nHour > 23 ) nHour = 23;
$ ]' C( K2 F+ n; e0 N1 q7 t3 b
* M" v$ G# g. L: z& Y3 E' W //if( m_bFixedHour ), c- `+ L, [# P3 X; J9 S. \" d2 P
// nHour = m_nFixedHour, nMin = 0;
" J# ]/ K: U9 Z# c* ] LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
! J6 | T2 Y; e1 a- X$ X- T LIGHTCOLOR lightColor = m_k24Light[ nHour ];1 _* C3 O+ q. L0 C3 ~' Y* S5 I0 L
* J5 @ r h* a' ~! g3 d9 g //m_lightColor = lightColorPrv;
& G8 u! w+ l' P" r) t lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;: }& q6 L3 F( H+ F6 Z) u6 ]5 t) i3 W% }
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;5 w) j2 T6 |* x$ [) _; L3 m) Y
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
+ Q2 W7 ?, Z9 v6 J lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;) C2 w9 X) x$ D* `) D. L# S. ]
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
/ p6 E- N* H! L$ l% ~' T: }4 ^+ C7 z( L lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;3 T/ [4 Q% m' O3 x
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
`3 s4 A1 U- W; O" H, ]. [9 J8 @
, @. x3 d b# y( ]: s // à??μ oˉè* # [3 X7 Y2 h+ _9 S# J* g# Y
pLight->Diffuse.r = lightColorPrv.r1;! \* K' W% J% k3 X# N! o$ E J
pLight->Diffuse.g = lightColorPrv.g1;
, F C. ~+ t. O; [4 I pLight->Diffuse.b = lightColorPrv.b1;
, T9 D' H8 k. s! O // oˉè* ??à? 8 ?7 C& T8 Z! O/ C0 F+ f {
pLight->Specular.r = 1.0f;6 h! Y8 t* k+ _1 G, i$ |: p
pLight->Specular.g = 1.0f;
. R) f0 a: `' ` pLight->Specular.b = 1.0f;
. ~: V3 h. c4 i8 X7 R P- H // àü?? oˉè*
8 O; {! @" M" E! L1 g5 y pLight->Ambient.r = lightColorPrv.r2;
. m& V# `" g0 s8 a6 m, j. V" V pLight->Ambient.g = lightColorPrv.g2;# y7 U/ \2 y+ I& o+ z- R
pLight->Ambient.b = lightColorPrv.b2;" `1 \0 \7 C- e3 V# {9 g# U
0 T" l( B% o7 B: H if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
! B8 h9 }3 P1 N {
- {% c- n9 r2 L$ w% E pLight->Diffuse.r *= 0.6f;
% O# C N* u) ~ pLight->Diffuse.g *= 0.6f;5 q+ v2 q: R! b; S3 k1 }
pLight->Diffuse.b *= 0.6f;
# g7 i$ l5 ~' S; X7 U E pLight->Ambient.r *= 0.7f;8 [5 ^; v' w: _
pLight->Ambient.g *= 0.7f;. e6 q# Q: h3 w
pLight->Ambient.b *= 0.7f;1 r) E ]9 g& ~% N0 @
}
$ M( N; M$ O; k* ]# Q( ?
- s( t4 P2 A; ^1 o#if __VER >= 15 // __BS_CHANGING_ENVIR
4 V9 @: s6 B4 Z9 |7 v, I) z4 [. L if( g_pPlayer )* Y; I9 |! }* q
HookUpdateLight( pLight ); % F5 T! f2 ]0 D2 _% F6 r; o* T
#endif
6 g+ w7 Y9 X3 S* ?' k memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );& q2 J3 I* F$ r3 m# [- m4 @& D
5 B5 d8 J; }7 O& D#ifdef __YENV
7 ?$ R' Q, M% i! m6 Z$ H. S pLight->Diffuse.r *= 1.1f;
6 u( L, r8 K8 f3 S pLight->Diffuse.g *= 1.1f;
1 z, K, j4 J4 C" t6 D& @ pLight->Diffuse.b *= 1.1f;
7 x# a ~( g1 z1 ^( k$ I // oˉè* ??à? 1 E2 Q7 c/ F- |
pLight->Specular.r = 2.0f;; h8 m) |3 F- O
pLight->Specular.g = 2.0f;3 w) u4 k0 G- K, ^
pLight->Specular.b = 2.0f;- T. ^2 t8 E' `
// á?oˉ
! P+ j0 R* A4 m7 {/ @ pLight->Ambient.r *= 1.0f;
E' O6 t n& W( r pLight->Ambient.g *= 1.0f;$ A! ^- Q- G* z6 A$ T
pLight->Ambient.b *= 1.0f;# h" h% g9 z9 [2 r8 L! ]
#else //__YENV7 R, i/ `+ ?' T+ s; B) l- H6 t
pLight->Diffuse.r *= 1.1f;" Y! U4 h: P! j
pLight->Diffuse.g *= 1.1f;
! {0 ^5 P- x; k pLight->Diffuse.b *= 1.1f; X; l% ^4 B3 \ W
// oˉè* ??à?
* z- v: e& o; U( j0 A* b4 y5 P) q7 {0 X pLight->Specular.r = 2.0f;2 \4 k; Q; y4 t1 T; \, Z6 \; j
pLight->Specular.g = 2.0f;
% l( |; M* T4 o! N% W+ c' P7 J pLight->Specular.b = 2.0f;+ G, k/ K, N) p3 s7 N, A# O
// á?oˉ 9 W$ e/ `) m7 g7 D. F% o
pLight->Ambient.r *= 0.9f;. X. v! W: j5 x/ g8 W4 C
pLight->Ambient.g *= 0.9f;( J5 k0 O) }/ f7 ]
pLight->Ambient.b *= 0.9f;0 H9 u8 Z- {. O1 \
#endif //__YENV 2 s/ n" H. [+ q4 W7 g1 K
& g) x2 x' r" x5 V. b memcpy( &m_light, pLight, sizeof( m_light ) );) S1 u! n$ y% W
0 X/ B3 x: N+ ~ D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
( P" h8 U' ~! n% W# O% N; d D3DXMATRIX matTemp;7 u1 O) I% H q# m
static const float CONS_VAL = 3.1415926f / 180.f;
7 E5 ~) A* [5 v9 j% j
4 _' Z0 {2 }/ T; W1 G3 Z5 i! z D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
, e/ J; x0 h% U1 u% C D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);: n- L4 @9 }/ f
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
# ~, L5 n( p3 n pLight->Appear( m_pd3dDevice, TRUE );
# \0 Y& M+ s# Z% Z' @6 Z
0 x% z* [0 D9 s: i1 I // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
( A; Q5 z. p- O# V- Q // D3DXVec3Normalize(&(vecSun),&(vecSun));; X3 h/ P- Z. M2 K. }
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); & K) ?1 l/ [9 c. Y& _
( o0 U5 r: x3 s4 \/ _ DWORD dwR, dwG, dwB;
D+ q! q5 H2 L! d; A6 ` dwR = (DWORD)( pLight->Ambient.r * 255 );
1 y0 a. T6 Z* p$ V o5 K _: } dwG = (DWORD)( pLight->Ambient.g * 255 );
5 l9 I& m8 |- z- t" y2 h v# q dwB = (DWORD)( pLight->Ambient.b * 255 );; Z7 i, W% Q' ], u
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) ^( h- T9 d2 n- b6 N }
) [7 J% D& z4 N' E1 f4 |. z }2 c1 q1 o8 g5 `9 @9 o' z
, p0 E2 H; F! J/ C/ R* p" A m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
( Z! B" v4 R2 ~) |" X1 J/ d+ G f 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) );5 p% q, j, t) H, |" a) ]4 R* ?
::SetLight( bLight );
* Q% q/ M+ t! H( X
& ? b2 K; z' @8 Z% c // ±ao? ?D?í???ó á¤à?
8 ?/ l2 s7 y% D0 z m_pd3dDevice->SetMaterial( &m_baseMaterial );, J3 S7 t% Q$ p) ]) t0 B2 L
! `" Z2 _, t- X& c2 g- d#endif // not WORLDSERVER" z" k! S& G) {9 @) Q% B% E6 d
}9 C2 x2 |! C% G" R# s
并更换
4 c2 X' U( P7 X4 x1 dCode:; d2 `0 E: h) v! x
__FLYFF_INITPAGE_EXT+ z8 V% E) d! n! |. E1 U1 s
定义3 R8 d. M! B f0 o% a: S5 @
. |; W1 q5 d N: @% q- w5 K+ b3 o2 c2 X
( T- V+ G9 X3 b- @( x/ t C. G4 ]
, L% v0 Z! l: W$ k4 }2 m现在终于删除我的狗屁加速...8 ]5 E- _! p# Z
1 V" Z2 y' s* |5 H t
) w: Z, w2 N6 b% M: w. T% O/ m
j- |; Z4 M# P; h9 L% v |
|