|
|
食品车:
0 O- F0 d: b+ e) A( @4 A4 s/ h尾翼:) k, f2 H# |, [5 B8 }* c2 G
+ B/ n; y, U& N" m. y* O9 m代码:( ~+ M K% T! p, O% H
CWndAutoFood::CWndAutoFood()! d# p; O/ t7 k7 k- [# j L# i1 m
{
$ N J$ H9 S4 k+ O6 ?& i m_pItemElem = NULL;
, m7 _2 ~" x) D. U" j& i m_pTexture = NULL;
8 O! E ?8 m B# Q bStart = FALSE;
' B) L+ Y% Y& ~ ~5 J" H, D}
9 K- b2 K" H/ L0 m4 v+ u3 ~/ P$ @# W$ q1 n6 x9 e( ~. G! h& v
CWndAutoFood::~CWndAutoFood(). y0 M7 z1 X$ l g! G$ R K% x
{
$ S1 h- J- B# r% W AfxMessageBox( "AutoFood ist gestorben " );& t( W/ f+ g8 B' C( M' W
}
- o, L$ i/ S! _ f- f$ J" lBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
; `1 V% h/ U: [8 `3 x x{9 k/ p. y% _" M, @6 R0 a8 K6 P/ b- J
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );( s ^! c9 y h% x/ O+ h6 d
}4 w7 O' w9 z/ r: j. n% O1 ^
9 f- u0 O* p( [+ G9 u, D' BBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
, y! _; g9 O5 K4 P' W2 z{% B& K* M0 z# q
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
9 R& c% ]2 d1 c7 `, A* j CRect rect = pWndCtrl->rect;
; d: Y& ~2 d$ |6 k5 z) w* B0 H1 V if( rect && rect.PtInRect( point ) )
. O3 Q1 \$ ?+ I, r. y' P {
/ }% _4 z# H8 v" | CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
: J6 m- {$ |2 E; s) j0 b" Z$ B( v if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )! }. G9 {. q2 w( v4 L
{
/ V. F* D! h& L if( m_pItemElem )
, Z* {5 n4 h# ]! M# _2 g" Y7 T& R {
, l/ h' N, i7 L" L/ O9 i% F m_pItemElem = NULL;$ R! {9 D6 ? R7 i. f
}
( {9 K! c* ]$ r. m8 t m_pItemElem = pItemElem;
, q1 q/ w" i" c7 S8 h7 [% s) Q/ N m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
, u# r. U$ Q% F- v( U }else{' w$ @/ C, M; ]- S. x
SetForbid( TRUE );
0 `5 O- \# ^5 K$ m; | }
. W8 ~4 I: o1 S! X4 S3 z7 K }else{8 d3 ~$ R* q$ I
SetForbid( TRUE );
% b5 L, ~, ~3 J+ e \3 t' a }
2 F/ w4 J- p7 X3 p% q4 b! B9 ? return TRUE;5 @; W7 u1 s8 e* G4 J4 T
}) v1 r; L2 H8 y9 O4 v. w
, U2 B! ?" ]) F( XBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
: e* b; L' H# p. V{
; V I5 F. w4 Y+ [' b switch( nID )! ]. h3 T" Y6 W) g. K. u, d
{
! K* ?# q9 g) s Y case WIDC_BUTTON3:* S; I& J- x3 \9 L
{
# i* t8 k& M/ P bStart = TRUE;
% z& ^1 @0 f# I5 K" q1 V break;* H _& z# M8 I' C1 s, a
}
$ `3 ^, C1 [/ ?+ w4 Y( @* Z+ T case WIDC_BUTTON4:0 I' K7 k" V( q M G" @$ X* L/ H
{
. v3 W% d& u8 j, R& m$ {( ]3 ? bStart = FALSE;
C) [3 `7 d9 z, B* C. Z5 C break;
9 J0 @: F& h# c$ x q. k }7 Y0 Y" u" S/ y; A( V
}+ B! g! ~1 y2 I# g3 l
return CWndNeuz::OnChildNotify( message, nID, pLResult );9 V9 y9 u9 M* W) S7 `( h" O
}
: t% { a3 m' W6 a7 E4 ?void CWndAutoFood::OnDraw( C2DRender* p2DRender )
6 V) B: ]+ w1 `{
% E# `& T, y, Q. g* H6 q CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );2 e: ^+ ~0 M# ~! p5 H) e
if( bStart || !m_pItemElem )* X0 J" y$ U+ R3 \0 z/ M) D8 ]
{
E# K0 r# a( R( T/ q. {6 | pBtn->EnableWindow( FALSE );4 [/ L, R3 T1 h/ f# n. Y7 f Q$ n/ ]- O
}else2 }( q5 `" X& G4 }2 O" F
pBtn->EnableWindow( TRUE );1 Q+ q9 i6 x2 l3 P/ B0 U9 F
if( m_pTexture )
0 B8 [) Y: H7 N5 M4 v) x {
# `/ `, a3 P/ V, O" C4 ~) Q' }. d LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );) c8 n! P) f- ?6 g+ u5 x
if( wndCtrl && wndCtrl->rect )
; q# q( R! ?2 X: m4 [* x+ j {6 R, e: [. P. n6 e) x( x1 L" X0 I- @2 ^
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
% `, c+ [1 o6 D6 N2 f }; x S, o; N z/ f# D- H
}
- h7 o5 H q: M7 Q3 g8 p$ N' G& h4 e}4 z2 U, O: m' z8 G7 T! x8 |& g7 ~% N
2 |' v- j/ q% b+ [( p
BOOL CWndAutoFood: rocess()5 f! I" G; Q; R
{
- P8 R* u; K0 J r if( bStart )
. }4 s5 @. x$ S# {/ K2 J1 ?, s* y {( X! d/ W, a+ |. Z: T- O
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
% T& c$ [6 |9 X% c j* ]# E {: Z) a; i# T7 j/ O2 C% K% e
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
8 n/ ?$ u) G/ Z g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
) {$ W& C' W z }else{
. ^4 i2 j* e9 k; z0 d3 q bStart = FALSE;' [/ C! @% b- B6 H+ e
m_pItemElem = NULL;+ B u; ~( J9 s& {( E( T! k. _
}
2 Q# d1 M1 R! p. s; m: g }
) K4 q6 i- I3 X2 D2 G return TRUE;
8 @$ ^& J" l: Y' q}
z g7 V: K" y& p9 I2 I
) y5 z/ w3 [" K登录视频废话:6 C# E5 o3 ~. c) Z* Z
尾翼:) ~- E" t8 M% d" ?
" x! m. x' T4 _' A代码:
d& t" v% q+ g5 N$ |. u, M' d! c; d f& W- H2 ]9 k
void CWorld::SetLight( BOOL bLight )- B% a M$ ^3 ~( W
durch7 W6 f3 H( J @& D5 {4 K4 t) m
Code:" [8 \% `6 M2 x1 y
void CWorld::SetLight( BOOL bLight )
. K5 c5 \7 _* f* Q{
4 e- n3 k! z7 b; \8 X //ACE("SetLight %d \n", bLight);$ N R, ~' E; F1 C* s1 O* P
+ u8 _3 Z9 I4 N2 b' T6 B8 t#ifndef __WORLDSERVER
+ m- z. c* c; ^( q! P DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);9 v1 V, C) `+ b6 Q- J o& t, O1 e( x$ F
CLight* pLight = NULL;* T5 W! m* v, C
0 [) g* M: T0 I" }. l- ]. i' h D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );" g V( T+ u) x% C% N
1 s" w9 G% h, x! w- G pLight = GetLight( "direction" );+ q; w% f. e. W
' `3 ^8 l _$ B% L* R" K
#if __VER >= 15 // __BS_CHANGING_ENVIR n/ ?3 o, F! Y# ]$ E
if( g_pPlayer ){7 r) d) N+ D+ a( r, U5 \0 J5 F
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );+ I- {2 d$ l" ~: t. n
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
" c! ~) r* T% J# Y5 L {3 N' _7 ^( H! i; t5 c0 S% K% ^; S
if( pLight )
' n) @# O: x$ z" G8 p {
6 x: S# x( \( u- z( U pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
' s5 e, c) E2 w" Y( Z1 _) F0 C pLight->Ambient.g = pInfo->_fAmbient[ 1 ];% k0 M1 l7 j; E8 q) F. [
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];# J; R, F( g5 p0 A+ d
# `; M6 |* V+ R pLight->Specular.r = 2.0f;
! z x' r0 g2 i pLight->Specular.g = 2.0f;
/ @% H" G; s# E1 z4 S* L% Q2 O pLight->Specular.b = 2.0f;& d1 }/ I! ]1 j3 a0 f& {
' @8 G* @* R# v- S5 m pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
8 @0 b# v, x4 |' [ pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];/ {; x4 p6 C% a) M2 _( n
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];& n' C6 T( O2 Q7 V2 j3 ~0 v0 X
( Y& t4 N' U4 q HookUpdateLight( pLight );
Y0 b5 d' M* W, g" g( Y% X8 F3 p- Q5 _
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );3 C0 q i0 P9 n
6 p3 L+ l6 _. }/ e- s) q) z4 u; ^ pLight->Diffuse.r *= 1.2f;
3 D6 L! v3 Z. _9 ] pLight->Diffuse.g *= 1.2f;$ [5 s. Y3 V1 h$ n. L" Z
pLight->Diffuse.b *= 1.2f;. g" U% l/ {# [ K# I- n' L. I
/ T0 X- z' K& I5 @3 G; I pLight->Ambient.r *= 0.8f;% z: \% \" H$ e# C# A* g
pLight->Ambient.g *= 0.8f;
# f/ k6 Q& \9 P5 _) u pLight->Ambient.b *= 0.8f;! U% p# R. L5 F9 P
; |3 s; H! k" A! p. K- q4 J memcpy( &m_light, pLight, sizeof( m_light ) );
2 }, n; u) q0 Q% o$ T1 _( n# c" U4 t
1 @9 q& S, K n D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);0 ?8 G" N7 P5 e* g F* z5 _# d
D3DXVec3Normalize(&(vecSun),&(vecSun));/ {8 X/ }. A# ]
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
2 }+ H$ ? R6 l pLight->Appear( m_pd3dDevice, TRUE );
( F; P4 k! P! B H" A8 r- {; Q
8 ~! c4 t( D6 F5 ^5 b! u DWORD dwR, dwG, dwB;
% v5 q7 V2 t x' M8 b! J' J+ F2 X dwR = (DWORD)( pLight->Ambient.r * 255 );& \: ~6 u p* ]" l T. t( p
dwG = (DWORD)( pLight->Ambient.g * 255 );
. e) t; x. q9 a. E4 L+ m7 W- }. B8 Q a dwB = (DWORD)( pLight->Ambient.b * 255 );
7 t; {7 b d: ^" Y/ d9 S2 k5 Y1 y/ x dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
, {! r% G$ ~( x }/ q! }3 X# \; u/ p3 x
}
6 i+ e* Z6 r1 H: d/ u; |3 p, u }
: `8 b/ O( i q else
8 e: d5 ?# x! C G p#endif $ `1 q# [. N. [6 S- D( g% M" q
7 M7 n& g. ~4 a5 b$ G& P
if( m_bIsIndoor )
+ C1 P6 V& F2 p( x, H5 ]% V; k. _7 ` {
* O# C5 @% y( M5 a if( pLight )/ X# o$ Z/ |: a5 g& \' g
{
0 Z4 A# S/ C! H4 }5 z2 T# J7 L // à??μ oˉè*
( F, H! `9 S2 V# s/ C pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
5 u" ~9 w- h4 d pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
( V' F2 U# z# R pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;0 i; ^0 }0 O$ W& g4 D
# _# E$ w+ s: W0 b) L // oˉè* ??à? & Y8 }9 {, h) D6 M
pLight->Specular.r = 1.0f;
: m2 y8 I8 K" y0 s pLight->Specular.g = 1.0f;
; B4 L) O. \" ~* i/ P pLight->Specular.b = 1.0f;) L. ^4 {/ W b- J
// àü?? oˉè*
! p3 \0 Z, e+ }( K! r& r pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;/ H; M, l$ ]. P' z. T; n
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;- F- a. S) E4 M3 f! c9 g" `
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
( E+ N3 `" G- V4 h0 R7 X, b( a3 ~2 Z4 i7 H3 {1 g7 |
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.( c' i( @3 j) Z) P( N$ B) o1 e% Y
{
2 R4 e" L6 h: o- K! h4 u pLight->Diffuse.r *= 0.6f;& T+ X# }0 m" d6 e
pLight->Diffuse.g *= 0.6f;& l4 ?4 T# |! u" N5 S
pLight->Diffuse.b *= 0.6f;" K' f- P \9 `' k
pLight->Ambient.r *= 0.7f;5 h3 E( R. p9 \; \* T# ?# P
pLight->Ambient.g *= 0.7f;# N9 i% A' h2 N5 Q. W$ N
pLight->Ambient.b *= 0.7f;1 Y8 V4 l% F8 C- L% I" U
}- D3 z! p+ ?3 ]6 |+ I7 R4 S, Y
! L% P# ~& g& ]4 d; M
#if __VER >= 15 // __BS_CHANGING_ENVIR
; g2 V! B8 `% d0 W if( g_pPlayer )' }, M- [' Y* F) H k! Q) n
HookUpdateLight( pLight );7 d6 f. k7 b& v' u `2 A- F$ R& p
#endif
* l% b. U& i! C' D7 O memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );' ]: t+ G7 n$ G
7 ~. x) M1 s' v8 M
pLight->Diffuse.r += 0.1f;+ _; S9 n( T+ n$ k
pLight->Diffuse.g += 0.1f;
- {. P! i" G. y5 D" g pLight->Diffuse.b += 0.1f;
' A5 h6 d, S/ { // oˉè* ??à?
p" e+ c2 H+ t( B2 f pLight->Specular.r = 2.0f;
% }8 N6 ~' b4 w3 ~+ z5 [ pLight->Specular.g = 2.0f;2 i3 q: v1 B# w" m+ k
pLight->Specular.b = 2.0f;
1 i9 ~5 |7 f; Y4 j1 S // á?oˉ
9 S% j0 g( _5 v5 k. ~ B: _$ e6 X; A pLight->Ambient.r *= 0.9f;6 r4 Y \4 C; @2 ^
pLight->Ambient.g *= 0.9f;
1 S; D f7 }4 L2 W/ E3 a% P. d pLight->Ambient.b *= 0.9f;
, H3 s z b' T* d
" I# {6 }3 k& m+ b: h. F/ f" y memcpy( &m_light, pLight, sizeof( m_light ) );
6 P+ X- @, H" c: F1 S4 } j1 U 0 k- ^' y: j: q# R$ }
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );7 k* I" k$ D$ r, I
pLight->Appear( m_pd3dDevice, TRUE );
1 `# a [+ w& Y5 Z
0 ?# O P% i# y# _" r6 t- v DWORD dwR, dwG, dwB;
4 K6 m/ j. R0 X2 N/ ` dwR = (DWORD)( pLight->Ambient.r * 255 );
6 _" X! c3 p% g) b' `! l& M7 l# l dwG = (DWORD)( pLight->Ambient.g * 255 );
; G+ H0 L( Q0 n G* K dwB = (DWORD)( pLight->Ambient.b * 255 );
$ ?3 T8 m- f/ Y# ^8 C( g7 j dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );7 S$ S' G7 S. E# q
}
& v7 B% s1 c+ U% s }' C1 Z) n% J* b
else4 y) l4 D* v. o6 A
{
0 r! T6 } z) c/ {# R7 h if( pLight ). g. w9 B0 D( T" Q8 E
{8 G3 x7 G- B, a) {: Q0 B
- l0 l4 E9 b6 T0 ]" O1 F. z int nHour = 8, nMin = 0; P7 G2 v2 S8 Q; `
#ifdef __CLIENT" R0 L' ]* w) X7 P/ T
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. & l2 n0 r2 @2 a
nHour = g_GameTimer.m_nHour;
3 s" Z1 \. i/ V+ B7 r8 ?2 o2 C nMin = g_GameTimer.m_nMin ;
* k% {- k4 d4 D! j6 C8 M! }0 z5 M4 W9 t #else; }* ~2 k0 A/ ^4 x
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
# \% A: Q$ v3 C if( m_nLightType == 1 )
, ^" ^: {$ c. n' V$ n* t# X1 _ nHour = m_nLightHour;
5 @( q9 _/ X% F5 X* e #endif
0 s, [9 O1 O4 E/ ^5 y nHour--;: q" g) f4 n3 b) K: }
if( nHour < 0 ) nHour = 0;- ~- G# N) s9 _3 E( {! r1 s7 k
if( nHour > 23 ) nHour = 23;! k# i, d8 t. ~: s8 f! I: C" p
: w9 G& M- h i) [, }! |& c) K/ L //if( m_bFixedHour )
" x% W6 _; r& ~3 O // nHour = m_nFixedHour, nMin = 0;
5 l; {2 x3 [% ^' b LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];# p3 B$ d# D$ D
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
3 @5 [, h1 p3 D( K% W' A; G/ `) d+ [: v
//m_lightColor = lightColorPrv;6 R% c; i4 F5 E7 f* ]. b- K
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;. `7 a8 Z3 E2 X: c# x
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
9 s+ E& X& ]- S# O2 K) W+ z lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60; Z7 u) O3 M/ C( [# v
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;$ P2 s4 Z# M- C
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;0 i8 R: k# M3 N" m
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
2 R% o$ t7 ^% Y( P# @ // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
+ k/ y" x5 ], J' h' l; h3 q3 b" d' s F7 j
// à??μ oˉè* ( \ q( t% x" i5 D1 }7 b/ ~
pLight->Diffuse.r = lightColorPrv.r1;4 x0 o( R6 x2 p4 u
pLight->Diffuse.g = lightColorPrv.g1;
. b4 }* y8 X; {5 G( r4 } pLight->Diffuse.b = lightColorPrv.b1;
" ]& p& Q- \) T. M // oˉè* ??à? : Z8 i8 x e1 ^6 D* z( m8 Q% N3 K6 k
pLight->Specular.r = 1.0f;
5 \5 Z/ V! x# Y$ V: I+ O pLight->Specular.g = 1.0f;
) @. h0 P' M, g5 G( m5 \- d pLight->Specular.b = 1.0f;4 s# A# ^% z$ x% r" F# x$ E! B' L! s
// àü?? oˉè* 4 W7 H& Y/ a- n
pLight->Ambient.r = lightColorPrv.r2;. f6 N0 ]3 x4 _3 V/ s& A
pLight->Ambient.g = lightColorPrv.g2;
- I, _5 P" n& E1 t. b5 h' B pLight->Ambient.b = lightColorPrv.b2;
) L( G. q6 E3 T: X% V( V5 }4 D- B7 b; r) `4 f% ~8 I! _8 `" Q
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.% @' G& F8 r$ i: X# K
{
3 ^0 r l: d ]7 B, J. X2 z pLight->Diffuse.r *= 0.6f;
# |) B5 I4 f% t v. i( L pLight->Diffuse.g *= 0.6f;
% g; N% G$ I4 \3 m V3 c+ T pLight->Diffuse.b *= 0.6f;
. J/ m2 B L6 A% h3 Y pLight->Ambient.r *= 0.7f;, Z0 b$ W- k/ W5 n
pLight->Ambient.g *= 0.7f;
0 b( Z9 c' o& P+ Z+ t3 T2 q. V* H pLight->Ambient.b *= 0.7f;
# g, n) h0 t2 k$ j& ] }+ _- |$ V) V" q1 W- E4 b
! I& Z- ~, [& Z, Z$ h+ U* V
#if __VER >= 15 // __BS_CHANGING_ENVIR
Z$ b# x$ U. b2 y8 z1 s$ O if( g_pPlayer )
2 [) p- ]) {5 K HookUpdateLight( pLight );
4 s- o3 Z; d r! r4 ]#endif
3 _3 ?" L1 p9 e( _% m memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
! h1 L4 u1 _7 ?2 h0 a* [+ F+ b }# d0 R2 g9 k5 M
#ifdef __YENV
9 T1 z# S3 Z' u. s* ^ pLight->Diffuse.r *= 1.1f;4 E# L: E5 g; b x+ a, F/ O/ Q
pLight->Diffuse.g *= 1.1f;5 j, a0 E+ Q) n, [4 u5 l! q
pLight->Diffuse.b *= 1.1f;
' y- `8 Q* J, u& Z5 f/ p // oˉè* ??à? ! m$ a1 D" O3 a, ^) }' T
pLight->Specular.r = 2.0f;
* A! Q$ r9 |0 t, u4 j" { pLight->Specular.g = 2.0f;& l& B* T- q0 k9 \1 D! A6 x% M
pLight->Specular.b = 2.0f;2 Z" A, z1 v( |! t6 {$ h
// á?oˉ
4 d* V- y% C# b% H; ]+ ]3 o6 [ pLight->Ambient.r *= 1.0f;" a; e h! i% k! x9 M! _
pLight->Ambient.g *= 1.0f;' T# m0 {2 K3 F, Z: [
pLight->Ambient.b *= 1.0f;
. A7 o/ W+ p9 |; | ^#else //__YENV7 G: q8 ^( K; F; Y( o1 C. C4 v
pLight->Diffuse.r *= 1.1f;
5 X( U+ D: f: u" `* E pLight->Diffuse.g *= 1.1f;
5 [! |. ^# J5 C3 l" N pLight->Diffuse.b *= 1.1f;
/ g3 q/ t& e; R% k. o3 H8 g // oˉè* ??à? & O+ Y& P$ x% u/ {1 d/ q
pLight->Specular.r = 2.0f;
9 k5 q/ L; Q3 u7 o% c5 b pLight->Specular.g = 2.0f;
4 T6 l$ k+ [# d$ Z: c pLight->Specular.b = 2.0f;
9 N7 D# S3 l! y. R! V // á?oˉ 8 c+ L& [5 q7 Q/ D1 [
pLight->Ambient.r *= 0.9f;9 F& k. B3 s7 E3 m8 t. A
pLight->Ambient.g *= 0.9f;/ j5 Y/ D, i1 B2 ]* L. X( O
pLight->Ambient.b *= 0.9f;; k' e/ Y J0 N. K/ v) k
#endif //__YENV
( k- L" _+ q. n# O+ R9 t1 W7 r
# B9 \, G! T4 e: D memcpy( &m_light, pLight, sizeof( m_light ) );
* \# w2 Y6 g, w 4 W4 G- {# z: g9 d, r% Y$ `1 C! S
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
/ e( k6 s6 T( E. L1 t$ e3 ]/ P4 I D3DXMATRIX matTemp;7 r8 U {, e$ L8 K1 j
static const float CONS_VAL = 3.1415926f / 180.f;8 p3 U- l) Z) q! m! w$ C" k
( S% o( \8 N( h9 l+ k" W( i
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);' F! p3 V' w2 @6 P5 F
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);5 Q* q1 W% U0 Z' T9 D) l5 q
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
8 w% Q$ {: @' J. n* P pLight->Appear( m_pd3dDevice, TRUE );
/ J) _+ U6 _. {2 ]8 ~9 H- R" d" Z% X# K) o& R; n% J0 ~
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);$ K( l+ W* P7 l5 U* z; T
// D3DXVec3Normalize(&(vecSun),&(vecSun));- x; r+ e1 c& |
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
9 i$ x9 ~$ @* ~& o9 [0 e
( [; R/ i. r w( q7 W& i0 e DWORD dwR, dwG, dwB;* N' K5 o# O6 Q5 m Q3 @8 X. C
dwR = (DWORD)( pLight->Ambient.r * 255 );
2 G% L4 q/ _; U. v2 h dwG = (DWORD)( pLight->Ambient.g * 255 );" _% Y) r- X* R% q
dwB = (DWORD)( pLight->Ambient.b * 255 );
! e3 G. v' i* `' `& r dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 B# ?, e9 k' f! H' n- w p }
/ |# C# `. D* u" V0 r* v }
) [1 T X: \0 V4 ?4 ]- s6 ~5 t) A2 Z5 W0 X; [" V! U
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );: R# s; f/ @: n- {, O% b0 k% _
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) );
4 E; t6 b. C3 b3 _; E! r: ~ ::SetLight( bLight );8 ^1 ~) A5 _- \! G9 k
$ c, B- I0 N8 Q% v // ±ao? ?D?í???ó á¤à?
$ T. Z- S: ~8 p5 ~4 K m_pd3dDevice->SetMaterial( &m_baseMaterial );
" J# _- }! k" E% `7 K9 C
: p3 O+ n) @/ F w( c$ X#endif // not WORLDSERVER1 v7 U) ]; E# _* ^$ z. u
}
, O. n7 ?" M; c并更换1 r2 p! Z1 j" E" R4 n2 D* V+ w+ e
Code:
1 M$ |9 U @" p/ [+ D1 ~__FLYFF_INITPAGE_EXT
% g0 k" U0 ]1 R9 t1 L定义8 k' Z& g' v9 V6 a
9 a" H r6 P- C0 ^6 z# K
" M; Y2 y+ u: j9 `1 o5 _8 g# D D5 w% c+ r }
3 B. t' I. H! Y0 t7 b( w5 M现在终于删除我的狗屁加速...0 [2 P( x$ U' t3 O
* Z; h! f$ f* x0 c+ y1 D+ |3 l! m
: l$ x5 I ^0 _ `/ _0 C
; l7 ?- b; W% i( d! M0 x |
|