|
|
食品车:
3 _: X, k2 \5 {8 s" z' I尾翼:
6 l \, E X! Q+ M5 p S# F! b2 F+ u+ F+ H
代码:
: @7 }% w5 n6 X" d* I$ JCWndAutoFood::CWndAutoFood()1 \4 q6 g/ R$ [/ u, M
{: i8 {9 ?5 m' f* I# [, t, o( g
m_pItemElem = NULL;
; ?# b3 w. P$ i m_pTexture = NULL;
. ~ i' Q9 C$ b/ i1 ^ bStart = FALSE;
; \6 }1 |! f4 \: J7 K& l/ R# C% g}
! F' \3 j) V1 a. t" V4 ?3 s6 Y
2 E: t: C2 Z( P5 p2 t' SCWndAutoFood::~CWndAutoFood()
# o. X9 M5 l$ m n$ Q{
( w/ x, X+ f0 L* f" e$ y AfxMessageBox( "AutoFood ist gestorben " );
. j, P! H2 D! g* |3 G}& h. ^" t* S! w' d: t6 o5 @5 b. M
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )* o% a X: A1 v+ u/ Z
{
+ p9 q* g8 Y2 O6 b6 l: l$ C return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
9 r% o3 K* k |- A4 m# k, J" G" W}) W" H# q6 N- }( V5 b0 X6 c
4 |+ {0 ]' ^1 d J" U- IBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )' ^2 t: o, Z& O$ V
{6 m D$ a" @" d# Z H
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 ); g. P2 d3 r: l: P# p
CRect rect = pWndCtrl->rect; A5 c+ D3 ]: F3 t# y1 J- {
if( rect && rect.PtInRect( point ) )
4 d" F' p' f6 E ?: P# T5 \$ L: W! d {
8 E. P1 p, s1 r) j CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );7 Q6 t2 P7 A) b8 T
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
7 j( y% x$ V9 s5 _. i& o {
% E9 d% _4 Q8 E& {: @( M if( m_pItemElem )
) i5 z; r' z$ e @8 T, i { |0 [$ u3 h* S4 z5 _: z
m_pItemElem = NULL;
9 l8 V/ r A5 W& c0 y5 @- o2 u3 M }7 x2 O! L) } a7 N; w$ T. [
m_pItemElem = pItemElem;
8 _, b1 z' j. e* d1 g m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
5 ~# r. `" B4 A }else{8 d& e) y) u4 V2 E+ E
SetForbid( TRUE );4 b7 O: v& L- S
}, @- P1 ~0 S* @$ u
}else{
1 i$ x: k6 I- g) Y' I' T/ i. I SetForbid( TRUE );; @8 P' C5 ?, o3 A3 _) n
}
1 ?2 S5 [+ K9 E7 b" V% R5 F return TRUE;/ L. ~( L! L; \2 Q, X0 M# ^
}: N2 g; V, d; x* A' F6 X# ]( N
1 F! J, y$ e4 d& k; Y
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )/ K5 k7 U5 f S9 `. ]6 n/ ~
{! H j8 q% _1 C4 g/ k/ n
switch( nID )
; r+ \2 b4 @4 w& Q {
( y" W" l5 K# N' r& O2 @! R4 j$ P case WIDC_BUTTON3:
. G9 \( i& z3 g E1 O! V" v# A5 F {
' y) A" m9 a5 f; Y( R7 E- x bStart = TRUE;& ^/ d" e" Z$ O0 L2 U/ M- d% _
break;
( B+ r) O! U' ~9 I }) t) u, u+ \* }0 t
case WIDC_BUTTON4:4 P# y: y$ L: M' R" k* ]3 U) r
{! |/ N+ y) X) Q; T6 P
bStart = FALSE;% E3 g7 J3 j {1 \4 n. C% I
break;
$ s& N) P# `( T# K V }
( h0 m- ^* [: `- x }
6 J: l4 F% M2 {( E& S return CWndNeuz::OnChildNotify( message, nID, pLResult );
; S8 G% w% s- J5 L} ! o8 f+ [" p: B1 R7 H8 c
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
+ N3 B* `0 O- r" ~/ d{5 G! r; t. ?2 z B* o
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
* [, f) n0 \# A) e/ Z, O1 O. G% E if( bStart || !m_pItemElem )6 `+ H3 L1 i6 \
{1 R* q- ]: w# @( l5 o( ^5 S
pBtn->EnableWindow( FALSE );6 k0 P8 f4 p/ J+ A% z
}else6 j$ z- o& z" i$ _+ ` ~3 A5 M* w7 B
pBtn->EnableWindow( TRUE );7 k" a. Z" Z: b& [2 d
if( m_pTexture )
: M2 \6 X ?- X, H' u2 G5 B( n {% k3 ^8 B7 }' k$ V3 k
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );6 S; P2 k u: T. [+ U9 T C
if( wndCtrl && wndCtrl->rect )6 ^8 x6 K5 H) d9 p, f) @6 R- a
{
* O4 T7 d: M y3 m" c; b m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
9 M$ @' I% N9 a; [ }/ E" j! M5 W4 p1 {2 n2 N: I: z
}5 O$ k6 o- o/ Q4 P6 ~0 n3 N
}
( h) T" c0 l& t6 y& j
1 H5 t5 |; i* U) y( i8 [ wBOOL CWndAutoFood: rocess()$ x6 k& K8 N$ a s' _
{
2 [4 X; |: m( `1 o2 f# N$ c if( bStart )# ]. a9 b2 u2 U9 _2 t/ J% A# J
{
) [0 x* _, P7 y$ f# w* n if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
, y, @5 x4 m y5 h! X4 x7 [ {5 g3 u& E" ?/ i( A, k" G
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )" z4 n4 g: o# r% `9 r! ]
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );* K$ j1 {( q) v+ U
}else{4 I l% C6 P: T# d
bStart = FALSE;& S4 b- b. z5 p
m_pItemElem = NULL;
1 {) s1 v9 @! x% [ q' ~( w }, d/ {- s" ]" K& Y
}
* G: i4 U& {6 T* E9 M; i5 R return TRUE;
; F* i' \* Y0 L& q( }) {1 x}8 c2 h+ {6 `- Z1 p: {, [% i
, q+ u9 w* e) m+ _$ c$ @; Z
登录视频废话:+ Q1 c% d5 M7 G; c/ S
尾翼:
" y: b8 Z% l k! a+ L( A, V/ }/ e
: U" M6 ?$ u0 v0 o0 H代码:( H2 }- G$ \3 e" T
, m( V* V9 _* D! B9 ]void CWorld::SetLight( BOOL bLight )
1 U& ^1 V. i) w9 J) d# T; k, n Tdurch
7 p; _6 o7 [/ c9 Z9 |- ZCode:
( ]9 B# r+ u2 c9 G1 t. |2 U/ `void CWorld::SetLight( BOOL bLight )" s0 h6 V! Y: L
{
, ]- q% V& ]9 o1 O$ H3 E C) X. o //ACE("SetLight %d \n", bLight);% _; b) n3 s1 ]
3 z$ \! m; r# E( I* d3 Q
#ifndef __WORLDSERVER
5 \( |" j* m5 M DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
0 T; M: L) X9 E CLight* pLight = NULL;- d# @: _8 m6 q2 [) e
" c' K. u) d. I) G" i2 l
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );# Z7 `3 s2 v% G; |! a6 m1 [
; E1 }7 L+ M) O1 W' Y& V! _
pLight = GetLight( "direction" );0 X' I4 R3 a. v
2 y8 H1 j4 _ s' Q' `
#if __VER >= 15 // __BS_CHANGING_ENVIR
2 ~$ P& x8 H6 m/ ?( v) M. Q4 U+ f if( g_pPlayer ){
7 N1 X! f% N1 c' s, M ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );' Y# e- q$ V2 P) t1 i, X
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
; `6 C$ A3 Y, q {: B/ H4 G; s j3 ? g; @
if( pLight ). |% c% I: G3 a9 i1 \8 n! Y+ f2 d
{
3 Q) W, {& E2 ]1 y pLight->Ambient.r = pInfo->_fAmbient[ 0 ];- \; b6 U2 {7 d/ y. {
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];( G, B6 q. ^9 p& V% M% N
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
5 [1 [- F- s; b0 ~) T: G" V
. s9 Y& g$ U7 \/ i1 o$ E pLight->Specular.r = 2.0f;; U9 `6 ]2 Z) f% a, q9 [
pLight->Specular.g = 2.0f;$ e! m9 t3 T. v
pLight->Specular.b = 2.0f;
$ I9 `- N( b: q$ }
$ Z; D6 s$ t) R1 [/ b pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];! k. |3 P4 O# P+ V$ D/ r
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
: Q3 w/ F+ S7 ^% ?& G- [ pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];6 e5 _5 }1 w+ g# ~: `
- H& i+ W; x) E* n: [9 v8 |
HookUpdateLight( pLight ); 9 r3 a$ p i% T9 w6 o7 i2 w
9 f# u/ F5 Y- k% p
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
0 a, z! T7 r* ^; U" d* ? Y3 M' C8 s5 O
0 Z4 M# \! h1 D3 A0 K pLight->Diffuse.r *= 1.2f; {+ G5 a' N& a9 t [4 o0 s
pLight->Diffuse.g *= 1.2f;3 i* }# e6 K" r d
pLight->Diffuse.b *= 1.2f;
9 ^1 A- [5 O! Y/ U. K" Q1 x! ?
pLight->Ambient.r *= 0.8f;
; Z' a) c2 W6 z: Q C/ T% M pLight->Ambient.g *= 0.8f;
- V E6 }: R" o* Z3 h8 e! l pLight->Ambient.b *= 0.8f;9 F9 k5 W% P+ s
: n8 ~9 P/ E [( i; d memcpy( &m_light, pLight, sizeof( m_light ) );) t$ A. [. V1 p; p! Y. e% ], R
7 V, f; U& v+ Q0 ?' r
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);7 X' V) x$ F) R) z: O
D3DXVec3Normalize(&(vecSun),&(vecSun)); y3 d$ K- d5 G ?/ I! k
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 7 L0 d$ R+ r9 U9 s6 s8 I* Q! I
pLight->Appear( m_pd3dDevice, TRUE );2 U- f A" n) T( |/ Z8 u. w
( [5 K( x& W+ K3 G! B
DWORD dwR, dwG, dwB;
9 H6 ~+ f2 |$ @+ L; U7 u- ? dwR = (DWORD)( pLight->Ambient.r * 255 );( [$ V8 \+ J+ V9 t
dwG = (DWORD)( pLight->Ambient.g * 255 );
5 n( g" v" Y3 G6 @6 ^0 X dwB = (DWORD)( pLight->Ambient.b * 255 );( A% i+ U% n6 }. R$ ?
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 c7 D1 T) P4 u4 E/ t }
% v% f5 Y. D* Z, c' ~5 m% @ }
4 _* d5 S; Q+ `0 I' E }$ p s1 w+ j- V; \ d/ {$ F. _
else9 M5 D* f5 s# e
#endif
% p6 S9 j0 N# X2 G
5 e$ a/ ?$ G, E$ L if( m_bIsIndoor )0 e) B0 i$ l. j/ ]
{
, ?- D) E. h v$ s+ x1 q if( pLight )) D8 L; F9 I5 d3 Q) x0 I
{ : U- k0 M! }. D1 B3 m) m- W1 C5 \8 f
// à??μ oˉè* ' q% M5 w; V: Z1 N* N
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;# @* w7 n8 i- U, O# @- g# x3 f
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;) ^( J* h/ c: N9 @8 @ m
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;- t Y/ v8 U7 S! w4 ]9 u) A. S
( x! B# i" K v* ~; _6 ^
// oˉè* ??à?
. D8 L1 m- s2 F9 P pLight->Specular.r = 1.0f;: Q4 z, w8 `0 ^9 }, E
pLight->Specular.g = 1.0f;; j0 @& M, D1 f
pLight->Specular.b = 1.0f;. {& H8 z1 _- V- ]
// àü?? oˉè* ' a& w- Z: q& ^4 l: U
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
2 q& j" y* m. h- v% W" c$ i: r* C* J pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;& V; A) s2 }3 r: }8 q6 D* Y
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
3 [3 ?2 ^2 V, I& i8 V0 z3 r2 R) J8 }' t) p
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
: y& ], g! p0 F {4 c- j3 i! h2 v( e( p' [ O& _5 k+ m2 ^
pLight->Diffuse.r *= 0.6f;
4 D6 V6 w9 s# R7 \9 r! q pLight->Diffuse.g *= 0.6f;- w7 |2 u ~9 I& T2 I
pLight->Diffuse.b *= 0.6f;0 n9 I( a2 n3 m- v% k
pLight->Ambient.r *= 0.7f;
7 E; X7 J; R5 o/ _; u2 j; r9 w pLight->Ambient.g *= 0.7f;6 Q, ]6 C1 _/ ~0 E# c$ d2 F
pLight->Ambient.b *= 0.7f;8 M. D5 W( W8 T
} O$ U4 n7 i6 ?# L8 f7 y
0 M8 q( K# ~$ b, _% x#if __VER >= 15 // __BS_CHANGING_ENVIR, }# F& u+ x& Z
if( g_pPlayer )$ g% w. \& I" `7 b# W. b' O, S
HookUpdateLight( pLight );
8 _/ L1 R' F7 o& d1 V6 m) v#endif
# U+ b% x# p0 a- y) ^# q memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );- f9 v/ Y# o! w+ e; ^
! |$ d( J; W+ e pLight->Diffuse.r += 0.1f;2 l3 t1 L+ H+ T
pLight->Diffuse.g += 0.1f;
+ D( x$ E3 ^5 H) i% F4 @5 d" \ pLight->Diffuse.b += 0.1f;
! U {% i1 b2 e // oˉè* ??à? 1 n& c A( o$ w+ M' J
pLight->Specular.r = 2.0f;$ p) \9 U$ N/ s" \
pLight->Specular.g = 2.0f;
' t4 n( x/ D3 C0 u2 j& F# E# Z pLight->Specular.b = 2.0f; b( e+ r( L! }9 R4 s
// á?oˉ : h1 O2 ^* `" ]! o5 x
pLight->Ambient.r *= 0.9f;
$ G, c4 L5 I, P( W pLight->Ambient.g *= 0.9f;
, C: i' n/ Z- Q4 P2 U4 C! R4 [ pLight->Ambient.b *= 0.9f;
/ L2 W6 P& D, w, N6 i$ h E
, Q4 Y; S7 \( W memcpy( &m_light, pLight, sizeof( m_light ) );
0 e1 t2 G9 J$ j. f, J8 d" l * I# N: o$ x& v+ v" u$ N
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );* @9 L" ~7 q( M: M% s6 ~9 L
pLight->Appear( m_pd3dDevice, TRUE );5 z! X/ Y. K9 G5 @+ @
- f3 F# L$ @" A. T" a DWORD dwR, dwG, dwB;0 ^1 l- y$ ]: d4 ^( G3 c' }$ m
dwR = (DWORD)( pLight->Ambient.r * 255 );
9 u9 q6 g) j9 T3 F0 Y dwG = (DWORD)( pLight->Ambient.g * 255 );+ s3 G% B7 Z) q
dwB = (DWORD)( pLight->Ambient.b * 255 );
" L8 C8 v3 a6 b; c2 B3 h dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% T5 Q% ~7 \: U% R9 I& \8 k5 ` }
7 v2 V, {6 \) G! `6 b; G }. t, P3 z+ D. e( u) a: y
else
! i% C# _$ l, V+ B {
" L- U! g6 D: l6 X2 \ if( pLight )" ~* ? Q+ Q! @0 B3 C9 G. b) N( ?
{
- V$ {2 M2 Y, {2 A. Y* w9 S 2 p- `) @' L P8 |( h* R
int nHour = 8, nMin = 0;9 k' [3 P5 \3 v5 I
#ifdef __CLIENT- V9 l& E/ ` M u
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
* g5 c: f) R' R$ R6 b8 _& C% m% j nHour = g_GameTimer.m_nHour;' y! w' f. x9 i+ k2 c
nMin = g_GameTimer.m_nMin ;
: T5 I- V* P7 o; Y# O8 q8 [ #else
. C% x4 }# Q+ P. B' o, X+ r) h // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.9 Q. j5 x: M: @0 Y+ N$ R
if( m_nLightType == 1 )
/ \1 F+ S' \7 Z0 ~1 m+ o% l) G4 f nHour = m_nLightHour;: b6 m# }9 M( [
#endif2 B: {$ l9 M2 Q# D# h _" t4 @
nHour--;
: Q& O( a. {5 t& |* U. i! ~ if( nHour < 0 ) nHour = 0;( Z# n6 s# e7 R2 U! ?
if( nHour > 23 ) nHour = 23;
N6 z& _4 s- q+ k$ d) W; K: k- ~
//if( m_bFixedHour )
% G9 f& K; G" f2 ~ // nHour = m_nFixedHour, nMin = 0;" s1 }+ ]& f5 k; ~5 U0 B
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
7 Z) n" h% T; Z5 a$ E LIGHTCOLOR lightColor = m_k24Light[ nHour ];
3 g+ [/ p, i% R: R6 h) }( v, l: u
% E7 ^( b# j8 m7 O$ V% h7 U //m_lightColor = lightColorPrv;
( y0 U) I* Y, n; b0 P4 l lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;. F' {. A: Y; |7 F' `
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;- i6 o; K) b0 C- i( A# |+ ^% ]
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
+ t( S: q6 h+ g; ^ lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
7 |9 Z; s! [0 a3 E( v, n lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;! W3 Z9 W9 K" ~- C0 i' ^' }- s7 g
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;" W. T7 j; m/ J+ I4 y
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)8 W/ X% S: M) B. G! W: q, S6 v
% S) c/ R% s4 b. K9 y! H5 O // à??μ oˉè* * X& U. b# r7 m
pLight->Diffuse.r = lightColorPrv.r1;' O( ^, M# C x; G3 v% h
pLight->Diffuse.g = lightColorPrv.g1;1 q3 t8 ]: e' V1 U% v. M
pLight->Diffuse.b = lightColorPrv.b1;
4 h5 F9 G7 Y8 J8 D8 w9 l3 | // oˉè* ??à?
1 y' n& Y% }) L) j pLight->Specular.r = 1.0f;2 }4 B5 e: q! u$ V
pLight->Specular.g = 1.0f;
9 e( @% T8 O" n1 u' J5 j& A- s1 O4 o pLight->Specular.b = 1.0f;7 ?( V1 `$ ~8 C5 U7 g: l* p% {
// àü?? oˉè* ! C" `+ v3 E7 l! e) L+ S
pLight->Ambient.r = lightColorPrv.r2;) Q* u* u: i+ N) c( J# e0 g
pLight->Ambient.g = lightColorPrv.g2;# m z+ `; u& |: h- n
pLight->Ambient.b = lightColorPrv.b2;
& h$ u1 p- m1 q& u* H: c% x5 B0 B. R# S+ U, l- q# s
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.; Z7 T6 c) w1 v/ N P6 S8 Q- l
{
7 t! q$ G+ R j# B: Z2 r, w4 W% q q pLight->Diffuse.r *= 0.6f;2 h1 L9 O7 ]9 H6 n/ E+ F; M+ G
pLight->Diffuse.g *= 0.6f;
# D2 F3 z( z- V' e# l/ D8 g) w" S pLight->Diffuse.b *= 0.6f;
* J% l3 G5 y9 M. G pLight->Ambient.r *= 0.7f;
+ J+ o% u- J, ~: K pLight->Ambient.g *= 0.7f;; n \/ Z* M# k$ ?8 o) { y/ X( G, o
pLight->Ambient.b *= 0.7f;
5 n. w- w8 U; i( T. m9 @, x- b }
) ~* r: ]/ j+ U o2 Q3 ] , m! i( C1 J% v1 {
#if __VER >= 15 // __BS_CHANGING_ENVIR
' q8 j r( N0 T5 Z: h% \/ N6 V! |" Y if( g_pPlayer )
. t3 N% S, G; O2 h+ w. y& a HookUpdateLight( pLight ); 4 b9 S' w/ K U# N8 m- G
#endif8 a I L: y2 [2 S+ E
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );# F2 k$ U) v. W
% V) f4 p/ g' n3 H& w/ c
#ifdef __YENV
- k- h* v# T0 o. j. A$ F, c pLight->Diffuse.r *= 1.1f;
1 M- U+ c9 }4 ~9 { pLight->Diffuse.g *= 1.1f;
5 W( v1 c* }* @% w4 ?1 B, J pLight->Diffuse.b *= 1.1f;: O6 \# O4 _$ t; L
// oˉè* ??à?
`5 ^9 A$ V6 C6 _5 [1 }% | pLight->Specular.r = 2.0f;
( y8 n4 X, \ i1 R* e: U& k pLight->Specular.g = 2.0f;
. Y- {6 t( n3 @( j! n& d pLight->Specular.b = 2.0f;
) ?: z! P4 X0 H! r, a2 v7 ? // á?oˉ ! k b9 M9 ~% A" B% s$ w$ q& D8 E) }4 T
pLight->Ambient.r *= 1.0f;
' V) U6 K4 F: q- ]5 S pLight->Ambient.g *= 1.0f;
! M) i1 W' C* S9 m o* ?7 Q$ o pLight->Ambient.b *= 1.0f;
' p0 ?* `7 ^% W3 D, _0 f#else //__YENV6 f- F- p: A/ I/ r5 X5 Z
pLight->Diffuse.r *= 1.1f;
. f; o$ g, j2 z3 Q2 |. F0 F pLight->Diffuse.g *= 1.1f;
; F* _- m- Y+ ?8 S+ Y# a2 v pLight->Diffuse.b *= 1.1f;
0 i( |) |) B7 W( h; N4 |$ c // oˉè* ??à? 6 H! s" ?2 E7 l
pLight->Specular.r = 2.0f;
1 U4 I# P8 b" b6 _ _# q+ T9 k pLight->Specular.g = 2.0f;* o4 P7 Z, r; p; }' J! [) f
pLight->Specular.b = 2.0f;
0 I; _; ~, U! `1 u // á?oˉ
3 i/ V% X$ f2 ?, _ pLight->Ambient.r *= 0.9f;
. L- C- q$ o, R9 b: M4 F pLight->Ambient.g *= 0.9f;
) W8 ^" s9 y- M" _) Q r pLight->Ambient.b *= 0.9f;
, |2 g( K1 _$ p( z1 E. n8 V) J6 Y* L7 m4 i#endif //__YENV
6 c" F' }/ E) ^* U + d, K& R& m) }+ R7 {* m* c5 l- n: A
memcpy( &m_light, pLight, sizeof( m_light ) );3 s) F2 K$ Q/ j% ^, y3 N9 }
% m/ d; X7 A8 J B5 N) k& U. D. O
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);+ G, |, I; n* B4 C5 T: g+ {
D3DXMATRIX matTemp;
0 Q/ Y. `! b/ b+ D# } static const float CONS_VAL = 3.1415926f / 180.f;1 B# i, M' v: Q% j6 A
& U/ L3 X/ A1 E D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);* o5 u: d# g1 s8 O- ?& J. N
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
4 a$ R& l, B+ }' G6 Y/ I pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
: B7 r, m b2 }& t! f pLight->Appear( m_pd3dDevice, TRUE );8 J5 T; k; _% b9 i
. \0 r* Y# @$ X b2 N2 K
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
! {# U, J/ ^: g6 m9 D d1 R // D3DXVec3Normalize(&(vecSun),&(vecSun));$ i, ?% {/ @3 @; k# `9 f
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); . e/ z' e& `8 ?- z, p
6 I$ `* |9 ^4 R; Z* n3 y
DWORD dwR, dwG, dwB;
" Z1 I) h' n9 j# c s6 H: q dwR = (DWORD)( pLight->Ambient.r * 255 );8 A- V0 P) m: ?
dwG = (DWORD)( pLight->Ambient.g * 255 );% x1 a) e5 Y6 m4 O
dwB = (DWORD)( pLight->Ambient.b * 255 );
2 K% d1 i' V8 Z dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) y: p7 v5 y, G8 R4 _$ Q t }
% k' p- [6 q- w f4 g }" {! b S3 X l# F9 i6 k+ ^- M
# B0 Z0 | N& }1 v3 u( o$ n$ y m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
; A* q9 A7 K/ `3 O; t 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) );8 e5 G E k1 ` A
::SetLight( bLight );
5 U" Y4 p. \; o, c$ V2 D# L7 Z
0 _ K6 d1 i7 W D2 p# R( K: T/ E // ±ao? ?D?í???ó á¤à?
3 x( q5 y# M# ~+ n5 B. } _ m_pd3dDevice->SetMaterial( &m_baseMaterial );
! Z3 N/ V) j0 J' i6 Z 3 n% i/ G. r. L- [; v2 m) C/ F9 y( Z# ?
#endif // not WORLDSERVER3 r6 U# l& A& N6 L! Q( a
}% q6 `0 W3 }/ l8 ]$ h B# q. d
并更换1 a: x+ w: F2 v% r) [
Code:
G" G+ q- T5 @__FLYFF_INITPAGE_EXT
+ B* U$ _0 _4 C5 u# o定义
# q6 k. g. m, n l& @7 q. _1 F2 |
$ w n6 B$ V/ \2 U/ g/ f8 {% i2 B4 P2 Q% @5 [
0 Z, l8 s( [& |$ J! B
7 d6 P& @' o+ r4 \1 W" g现在终于删除我的狗屁加速...
}5 q1 o: [) v- @4 Y9 H" I* g9 \+ t/ V6 C
0 T* H T* A, E4 T
0 u G) J7 G, M* `) [' U q |
|