|
食品车:
* x% l9 R. K5 b! ~% B尾翼:# W( C7 |8 V+ h5 Q. L
# b1 }* Z0 A6 Q/ D0 s4 X
代码:
3 f* [; a+ Z# D6 b O yCWndAutoFood::CWndAutoFood()2 M- A/ R0 }+ W1 [( q. D
{
1 ? ^- X I7 o0 d: e* u m_pItemElem = NULL;
, N! y, T9 o' Y# F$ a8 {; U7 ` m_pTexture = NULL;
' Y A+ Z# s0 e' y/ s% U/ o bStart = FALSE;
7 }2 U7 Z! p4 h' d}
: E$ y7 P* s$ L& r
$ }- G- X/ Y+ E5 eCWndAutoFood::~CWndAutoFood()0 ^9 C1 I+ f5 O' Y& h% m' j
{$ [1 |9 t& ?. i C. y
AfxMessageBox( "AutoFood ist gestorben " );8 M! L& Z0 z/ Q
}" }! C, z$ l, B9 d5 ~* T! g
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
3 Q* }, j7 X0 v! p6 E) L{+ g8 a# O. T' T1 \0 S
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
' K4 D* S# c6 }7 j}2 |1 s& q0 a* W) Z8 O3 A
+ f8 v7 M- D5 V2 X: j
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
: K& z4 E- u |1 v' Z' \{
1 e9 h6 D/ |! T( b4 m LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );9 Q' t$ o' ?$ i7 P
CRect rect = pWndCtrl->rect;
: W- X/ g9 {: f* J2 M0 \ if( rect && rect.PtInRect( point ) )( `. t- E& ]. d0 ^3 b3 i
{
$ K7 x. Q, K9 z v7 q1 w CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
% [* y# `: t# N4 |4 l) W% { if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
, X/ |4 J: v: W7 z4 d; a1 i4 S( b {) `, t4 G8 V* O' ]. q; R7 D# r1 ?3 s
if( m_pItemElem )
7 h3 m4 n( N5 n* ~+ Y6 n4 I; v: H {
+ Z w7 x% F* D. Q m_pItemElem = NULL;
; E; T; ^" A- k% s }
/ D5 V# E6 y1 v7 }+ X m_pItemElem = pItemElem;7 ^. W( j7 d- T& D8 H
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
$ X9 B7 D, Y% C9 l# r$ o, A- y }else{6 Z* v) m3 ~& Q2 U }+ ~
SetForbid( TRUE );% V6 D1 o* F$ O( a; n( ]" x5 M
}0 e# T- Z4 t8 D" Y
}else{- P" o1 f. c N9 S
SetForbid( TRUE );
- `2 R( }3 w( G% O8 O }
' ? ]- N5 Y5 W3 H, a( K8 ? return TRUE;
8 g9 i+ o7 i* s. j}' m% |5 A, {# @5 l9 q
+ Z9 p; n8 r! K8 J2 i4 v
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )8 ~* \! [; G& J: n" z
{# D' {" Z v/ z8 }: N8 F
switch( nID )
/ a* H# U+ u" I1 z4 V0 C6 O& v7 d7 | {
, X# K& ?4 r+ a7 N case WIDC_BUTTON3:+ c. y: i0 ?0 R! u% u3 i4 X& @
{- |! \7 N' B$ F# f
bStart = TRUE;# Z7 y: _+ h) Y/ ]! J
break;
3 G1 C m$ }) ?6 S' X r3 L }
$ D( C- R. y7 ~0 v2 w2 @% _ case WIDC_BUTTON4:- q2 {" l) T. c. {, o7 T2 F: _- V* Y
{
0 g1 h; e9 i; ?( m$ V! T bStart = FALSE;/ ?) g" w0 h8 }& o% W( {6 b% Z
break;
, n$ ^5 q2 p- p8 V, C w- E* }: _ }
3 K' m' G' Q+ f6 } }, O) o1 S9 t* M2 V9 I: I
return CWndNeuz::OnChildNotify( message, nID, pLResult );
1 i! _- Z8 x, @ P- `) |} 4 p1 R8 Z: _* f" t
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
Y% A( H& J' O( ]( R{! f4 U0 d' R% G% `8 i
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );+ _6 n; i1 T5 j: v2 h i$ }$ L
if( bStart || !m_pItemElem )8 H% b `3 q% t; x" C
{
$ z" l% S5 g% `' z+ {8 z pBtn->EnableWindow( FALSE );
8 a* d3 c2 b6 ^- O6 H( z3 K }else5 l7 V ~8 `, y/ {) R ^
pBtn->EnableWindow( TRUE );9 b# r! Z6 B2 V
if( m_pTexture )# F" ]! X9 m X" a6 X' J( Y4 u
{. x$ s. \$ N5 I$ |
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );5 y, r) s& I6 M8 w y9 ~
if( wndCtrl && wndCtrl->rect )
; p3 {+ @7 {- }; n5 p {7 p) j6 N. O* U: u$ I7 Q$ |
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
9 b+ B) e7 W* f }
6 H" W# K$ Q, i' X) J }
5 e! [$ \# c% m} u# R2 x) D3 y+ v# b! c: I
2 ?( _$ u e" Z3 @7 ~; Z) ~7 KBOOL CWndAutoFood:rocess()
: u+ K& `( W* X! @. W{
+ j- m" m% S3 a, R if( bStart )* o- v) p: f& Z% l2 g
{
; |# x6 O4 t% J9 ?: d- l if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
7 I+ k% g" V2 G" y8 J8 u& ^! i {
. D8 j5 ?$ r, {8 |. l8 A7 k: P7 R$ T7 T if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
C$ o1 B* V+ S5 Z) L g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );$ y: c5 a0 y1 s/ s! X& {
}else{
$ O. u$ m$ b9 ~$ ?, g bStart = FALSE;* b" I2 f+ V2 S3 }
m_pItemElem = NULL;2 M" S5 S' X) [" i0 Z. w6 w
}/ a: W0 [0 D) b: x5 K: k% S
}
Q" }' R) {! Q9 n3 B) c& N: N return TRUE;
. ?; R0 M7 z' A8 ?" W}; \! G2 O4 D! {. f6 i9 S5 k
4 V V& ^* H% S* D登录视频废话:
* L2 [4 Y; u- R/ S; K! p尾翼:
) k7 L- z$ }+ g3 Z, ~0 m
/ ?( W% B6 G/ l$ k4 ? [( x' c+ S, Q代码:1 u0 F( f' @3 l, p, M5 E: e) a
/ G1 Q5 g$ q5 I. g/ @) o6 P1 m
void CWorld::SetLight( BOOL bLight )- }# N* Z+ w; I& A" K; i; n+ T* e3 y
durch6 ]& ]8 W, s0 ]
Code:8 j6 [7 M3 B" z# A8 D2 X; \' a5 e8 i! M
void CWorld::SetLight( BOOL bLight )' d& H/ t; i/ \
{
& Q* k- t8 P( @, u7 P6 d //ACE("SetLight %d \n", bLight);
( U) }8 ?4 _5 }3 k- ]; j
: o: }5 t7 l& I#ifndef __WORLDSERVER
/ z% P V: C* @. c" s6 l DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
% r9 Q9 ^0 ~) Q( x ~7 K CLight* pLight = NULL;
0 w+ u K% I% p) V5 \
! [& h; R) ? \, I D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) ); v% }$ `& N. U! |* l$ {2 o4 E
& `) q; V" |* H# @( t pLight = GetLight( "direction" );3 B, m' z% m) {' p. u
1 c! O K- |( ?% t$ X! z! a3 G#if __VER >= 15 // __BS_CHANGING_ENVIR
* u1 c: x7 ~5 i3 { if( g_pPlayer ){. R6 t- ^; V- H1 E9 i6 A
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );0 q! J, [) y1 O- }. J$ S
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
6 r/ s; L5 V# C# S {
+ l" _) r1 p" Y3 v if( pLight )% Y* g5 @8 }" w) @0 e& g
{
, \& Q4 x1 M5 W5 ?( Z) G0 S% W pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
; V4 L8 G! ?- E0 Q+ U pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
2 _2 {/ Z7 c" o9 _ pLight->Ambient.b = pInfo->_fAmbient[ 2 ];. k: `: U, p* O4 H% _
`3 x s, z0 | j9 i3 q* ` pLight->Specular.r = 2.0f;
" B7 O8 q+ h- h6 i$ d pLight->Specular.g = 2.0f;0 w5 z7 D1 p: i5 ~* ?3 C6 h
pLight->Specular.b = 2.0f;4 m$ w( B) B% f: `4 d
/ c1 ]* y! d1 d' l2 d
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
- S- H3 x7 A+ w9 u t/ a0 A pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];1 E5 I( N8 b/ @* J* o& C
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];" Z* A s' V+ G; ^5 _# C$ _/ K6 U
! n/ K- S) Y* U$ d
HookUpdateLight( pLight ); ) P% \ m" H( ]& s) s, g
5 f/ F( I# ]' g O0 @* P2 C$ |& k4 R
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
/ g- N) i; M4 B k! f" R) m & G% y/ a2 n$ v! {. a
pLight->Diffuse.r *= 1.2f;" a2 r @/ J: Z. K6 I1 K
pLight->Diffuse.g *= 1.2f;
, Z% H8 K N* W! { pLight->Diffuse.b *= 1.2f;
* @! x+ f" M% \1 X$ c' A0 b
M' ~" H$ w0 ]* D$ s$ ^ pLight->Ambient.r *= 0.8f; I" |( f' p+ d* w" ]
pLight->Ambient.g *= 0.8f;! [( @8 y$ y8 M& O6 s
pLight->Ambient.b *= 0.8f;
" _2 W* B+ ?) h' O1 X
8 R: q6 c& T3 b. |" ~* Z# _ memcpy( &m_light, pLight, sizeof( m_light ) );- d: c$ a5 j+ F4 K
( x" I" b7 q/ {
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
( v4 l+ {/ X7 K: n4 ?. r E D3DXVec3Normalize(&(vecSun),&(vecSun));
0 H, ]* E# }) V pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); . _% J! B3 x* g4 P6 {5 x
pLight->Appear( m_pd3dDevice, TRUE );, q/ p, q& o E6 B/ B% A4 \
1 E \# ^# K( t' g DWORD dwR, dwG, dwB;$ m& V3 }" A0 ]- J' B
dwR = (DWORD)( pLight->Ambient.r * 255 );3 [: l5 V- \' o. b" ?0 b( }
dwG = (DWORD)( pLight->Ambient.g * 255 );
+ Q- _4 w6 a. l) j dwB = (DWORD)( pLight->Ambient.b * 255 );
- z. a* @! y a5 v2 Z) a% { dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );- X C0 }4 t6 Z( n+ |, e- J3 r5 J
}
* g; N' R- |5 _1 o) v5 N+ p0 y: V }
, ^' X1 S1 d" x2 ` }
8 K6 }9 O6 e% | Z" y# n8 l else
# y6 A; p( y n+ ?) R#endif " {9 H# Y5 ^; K- T- k6 n, e
1 ~$ Z7 q) S' t: u. W0 O2 G if( m_bIsIndoor )
' f' X/ s: o3 ?8 B! A {
% Z2 @$ ]5 J+ E if( pLight )
5 A# p. `$ a9 o1 K K4 ^ { # ]2 u0 `4 t2 G/ V( h& r% w* a! ?
// à??μ oˉè* ) ] G; |* O" F; Y8 w
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;) \- i5 M/ R- Y. }7 I5 n
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;: e5 b8 }8 M7 p5 z4 t5 U4 N
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;5 O$ B+ | L" e( a; J* ]5 X
. y. ]) M# ~$ ?7 o% h; `" `+ ~ W3 ~ // oˉè* ??à? + g' ]7 b! f: Y. A9 j7 o/ N `
pLight->Specular.r = 1.0f;
, H% C5 ^- O. L3 i1 Q+ r5 r# v pLight->Specular.g = 1.0f;4 a6 s6 W! o$ b) @! d
pLight->Specular.b = 1.0f;2 W. N, {) T4 h. I1 J3 P9 y5 e
// àü?? oˉè* ; i& c4 Z6 g( `7 V
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
1 Y* m. J7 g* k4 B8 C" D pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
1 x5 | q3 k4 l K+ c pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
" Y. S2 E: j9 \1 C- M/ O. j3 J" U( `! Z9 w( B1 a
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.% ~+ q2 I$ @" H; ~, K2 {
{& C, g* p! K! j* ~; Y! v' l2 u& C
pLight->Diffuse.r *= 0.6f;
" `: b/ G3 G8 I8 t" Y pLight->Diffuse.g *= 0.6f;7 q9 Y3 R: `$ ?- \) X
pLight->Diffuse.b *= 0.6f;
# x8 ?9 c3 D6 T) W pLight->Ambient.r *= 0.7f;+ V& y$ A2 t A& D1 c+ o4 q
pLight->Ambient.g *= 0.7f;6 l! |) b2 \$ d! a4 @" [
pLight->Ambient.b *= 0.7f;
/ ?, g2 r, m! j4 j4 ~ }: P& i8 w% V7 z2 y: H# X
4 s9 z3 }- x: E: s {. S
#if __VER >= 15 // __BS_CHANGING_ENVIR
, @+ s6 q P( k) c if( g_pPlayer )! _9 n# c% L- b! C: o& s) \
HookUpdateLight( pLight );
/ |8 m. S, t6 w6 y3 Z( S# O) c#endif
: R% j* d% P! M- Y! H5 N memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; _3 n3 l R8 u
" b/ b; V) ~ \3 Q" [- {6 o pLight->Diffuse.r += 0.1f;1 C& r4 k+ I4 s3 ?3 B3 C* _) J) B
pLight->Diffuse.g += 0.1f;
" Y8 {5 [3 p& ~- A6 q pLight->Diffuse.b += 0.1f;/ g3 P5 A7 ~9 D$ D* F& k% C
// oˉè* ??à?
2 u; @$ @' | E$ w+ h! ?; v pLight->Specular.r = 2.0f;+ K ]) i* q4 P% S2 O$ \; z) J
pLight->Specular.g = 2.0f;
5 s' z9 A8 z+ h, ?8 A; y9 S pLight->Specular.b = 2.0f;4 @! p$ c7 A' X% I' G
// á?oˉ
O+ v' V6 ]& o- P; j8 F& C" O pLight->Ambient.r *= 0.9f;; n- ]7 }1 ^: i0 q- n8 S
pLight->Ambient.g *= 0.9f;
8 v" e$ M" ?+ e" j pLight->Ambient.b *= 0.9f;- c! _" ^6 J1 V; j7 I8 z
4 y$ u) F" O2 D- R! M) Q
memcpy( &m_light, pLight, sizeof( m_light ) );
5 ?" _$ v; a" B# G
; n/ A z2 i/ b' [ pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );, I; o. t' D5 C, m; `1 X
pLight->Appear( m_pd3dDevice, TRUE );
5 z/ }1 J J) a . j1 Y' d. L- `3 I% \3 _
DWORD dwR, dwG, dwB;
1 I6 e# e6 S0 R, s0 g \ I' \0 Q dwR = (DWORD)( pLight->Ambient.r * 255 );
2 B" j# w3 J5 [; E dwG = (DWORD)( pLight->Ambient.g * 255 );8 F7 I$ x& X* |% ^ `# l
dwB = (DWORD)( pLight->Ambient.b * 255 );
7 P) b# x" b/ r" D' O8 h! H dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* V8 d4 Q( ]: ?6 y7 H }
5 ?. d2 [4 n7 P# n y6 O }+ H8 w7 K% y3 d5 Q
else0 M8 P( q9 @6 O$ }* w% y9 e r
{% \5 B" f; Z# a, H
if( pLight )% k! E& H2 Q8 J1 W2 T. o; c$ ?, U
{7 q& w2 i: |) ^) w6 u- `
, Z, S Y. E! K. `
int nHour = 8, nMin = 0;
, p! z3 t* x9 Z #ifdef __CLIENT
5 X4 e+ t: d Q; m0 v# M7 {7 @ // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. + _' F- V* c* a4 H. `
nHour = g_GameTimer.m_nHour;
3 N- i5 ]% I( t0 A nMin = g_GameTimer.m_nMin ; U4 W, J" Y) z/ L% x1 `' r) f* h
#else
4 D ]9 F. J# Z- t5 g4 ~$ f6 N) y // o??o??′? ??°£à? m_nLightHour???* °?á???′ù. |& S) ^ @/ F& e* z
if( m_nLightType == 1 )
% [4 ?+ L. } U# t nHour = m_nLightHour;
+ K( Z& p) l1 Q7 e$ o #endif
! @0 S/ r( |1 p( g nHour--;& J" b3 I# Q+ v4 q
if( nHour < 0 ) nHour = 0;0 _3 v- T& ]2 T/ ~$ @# w& @
if( nHour > 23 ) nHour = 23;& q% H+ y# ~, y8 M
- g2 ` ^. L4 o //if( m_bFixedHour )7 n- f* V& }7 d
// nHour = m_nFixedHour, nMin = 0;
) w+ r9 n' V: i0 ?, P LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];6 [. c) j2 Z8 Z) x' F
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
* P& E! A. C. f0 K- w! T8 Z5 f* ?# ?) ~ C& X4 x) W
//m_lightColor = lightColorPrv;
" v( c; P0 `' q- F. N) s9 |* [ lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;7 |' B2 R- E( j# l
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
( \2 n1 q! m& y& U5 R lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
3 b/ A6 G/ J( r1 _1 W k/ l6 u lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;/ H+ m" m7 X. h1 O" l! J
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
- G8 e; [! g: g ?( \- ]6 s lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;0 _( n% J3 R. r7 ~ ]" d
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
) l; [; r' w/ E) ]; k; r- E) }* O4 w
// à??μ oˉè* ; }7 C& H& S( J
pLight->Diffuse.r = lightColorPrv.r1;9 d: `! [! ]0 t, t
pLight->Diffuse.g = lightColorPrv.g1;. S: j8 w, Y, y9 b! U P
pLight->Diffuse.b = lightColorPrv.b1;
' n1 M9 t7 p/ | // oˉè* ??à?
2 [, U" Z6 @6 t _+ k, @ pLight->Specular.r = 1.0f;$ B: l. U" e1 K) x
pLight->Specular.g = 1.0f;5 v, P# }$ @" p, F" }3 x8 `
pLight->Specular.b = 1.0f;
, ?% `6 z) s/ K0 n$ \ // àü?? oˉè*
: f# T( P3 ]2 c pLight->Ambient.r = lightColorPrv.r2;3 n8 n* R4 |5 x% u+ ?, O$ j
pLight->Ambient.g = lightColorPrv.g2;/ b, N8 d- c' U; z9 e- g# C @8 t
pLight->Ambient.b = lightColorPrv.b2;) J! O3 s- Z+ q2 }* F& @, \
, d1 j/ [, J1 d
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
. R% a4 B( H7 S6 h {
h7 R1 d+ h5 v. T pLight->Diffuse.r *= 0.6f;) f" V# O3 `. N
pLight->Diffuse.g *= 0.6f;
/ C. }1 V5 W6 F) s, h8 m S pLight->Diffuse.b *= 0.6f;
+ ^3 u9 a# ]) s. W5 O' j8 c8 \ pLight->Ambient.r *= 0.7f;
) B) V5 ~! ]' x# u pLight->Ambient.g *= 0.7f;: A# Y4 ~( W- |& s! a; ]% @
pLight->Ambient.b *= 0.7f;
6 h8 C; Q& I0 o4 v0 C3 l& z }/ m6 h d' M) n' ?7 }& `9 @
- Z7 u% F# K( c
#if __VER >= 15 // __BS_CHANGING_ENVIR5 ^) I7 Y% }" v# V7 Y* |% G
if( g_pPlayer )8 K. ~/ g+ D! T' C
HookUpdateLight( pLight ); , C, |6 G0 M3 K
#endif1 e7 h2 z0 i- E1 f. Q0 X
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );# p& q! e' _& S3 ]1 z
: }" Z3 z: H( z6 k) I2 [" t. p
#ifdef __YENV* E+ n4 _6 Z: c) L
pLight->Diffuse.r *= 1.1f;
$ I4 R% L( Q$ I& x* l/ k' N pLight->Diffuse.g *= 1.1f;: W- O* Z/ {- p; o
pLight->Diffuse.b *= 1.1f;
& {6 X6 ?) k0 v! D // oˉè* ??à?
- [: n' f- {" V3 [ pLight->Specular.r = 2.0f;- P+ B4 }* h& {/ ~
pLight->Specular.g = 2.0f;+ P% D0 M. \2 R
pLight->Specular.b = 2.0f;4 k v1 I- k- ^4 U, E9 b. E
// á?oˉ ' \5 m( @8 m3 y/ I3 S/ i
pLight->Ambient.r *= 1.0f;
8 u/ b3 M+ C4 y( A. ?5 x, \ pLight->Ambient.g *= 1.0f;
9 J( t! g! W( d pLight->Ambient.b *= 1.0f;
: u4 _6 b! T2 F" h! X#else //__YENV
5 u( d% V, o# F8 @) ? pLight->Diffuse.r *= 1.1f;1 Z4 h8 c& k2 t$ A- y
pLight->Diffuse.g *= 1.1f;
) b( W. o8 b |" M* y" c pLight->Diffuse.b *= 1.1f; r6 @. v, C1 _
// oˉè* ??à?
- g/ k3 p' [1 S pLight->Specular.r = 2.0f;
: Y. a# Q. p, ]- u# h# y) x/ w pLight->Specular.g = 2.0f;
& N% K0 z1 y! R6 Z: Y/ i* W2 V) U3 Y pLight->Specular.b = 2.0f;
9 v+ h; V+ j0 J4 r // á?oˉ % W3 N2 h$ U3 I
pLight->Ambient.r *= 0.9f;; V- p8 H' h) h& e4 D& j
pLight->Ambient.g *= 0.9f;
5 { F6 j# V# h ?& Q: i' W pLight->Ambient.b *= 0.9f;
9 r4 _; j4 ]: B3 |1 ~9 f3 t#endif //__YENV
. c# i4 j4 O5 b& T7 Q: K
9 K2 z, z; U1 _+ p memcpy( &m_light, pLight, sizeof( m_light ) );
! F' c1 |: \0 D/ X ( Y4 e# N: a9 j7 f# t4 |# s+ o
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
* h" {7 K6 I" s3 h9 q D3DXMATRIX matTemp;
. a/ R8 I" x t3 z6 l( l static const float CONS_VAL = 3.1415926f / 180.f;
8 A r! J$ V, @' X% M0 u+ G6 d* _6 q8 J
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);% V' ]% s4 f9 e
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
; |6 ~& P" i; H5 s" k+ m2 b pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); * M) Z6 J% F) X1 r7 Z) C/ c
pLight->Appear( m_pd3dDevice, TRUE );" C6 k+ C8 ], ? B ~1 p2 a; l
: A1 h3 [$ a J
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);2 u4 d; s: W) v3 Z
// D3DXVec3Normalize(&(vecSun),&(vecSun));/ ^/ f' u5 n7 w5 {; M! h3 R( E
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 4 C+ y% m6 n% a& e; n* {7 M
& ?; a5 Z0 G( Q( k DWORD dwR, dwG, dwB;: F/ G+ Z2 t( {
dwR = (DWORD)( pLight->Ambient.r * 255 );
3 ~1 q3 t3 u2 ~% r/ _ dwG = (DWORD)( pLight->Ambient.g * 255 );
) |! Q2 u/ F. y# u! A/ L dwB = (DWORD)( pLight->Ambient.b * 255 );
- l" P! T! J+ c' ]" [& G$ t( t dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); * v: b; x' J' h, _3 b
}
. Q/ D8 X( u9 g8 F/ q& R | }
" }' g/ x6 y8 L& I7 V
8 W) D7 J# ?: A$ D m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
/ q: [8 b( D X, Y* m3 N3 V+ 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) );6 A" k: t; m7 Y6 u2 R0 v1 q' y
::SetLight( bLight );
& C" b u1 d6 v3 U, I# l% d% [6 _$ p
// ±ao? ?D?í???ó á¤à? 2 S$ A1 U$ c& j% r; Q) w; n4 |- C
m_pd3dDevice->SetMaterial( &m_baseMaterial );
- m' p R5 Z& W x0 y
5 S: H% P7 W* L#endif // not WORLDSERVER
! Y) I7 M% N, f}5 ?& |! \# ~8 x/ Z) X
并更换
# [6 \6 t P& |* @6 JCode:
6 Z2 p! M* ^) X7 X1 d: e' F__FLYFF_INITPAGE_EXT
6 e2 o) N5 n8 y7 y定义% Z0 n2 R% w) [6 H# p$ n" z) C
. i! T) S: D: B1 }* B" \6 f% M
8 p: p6 M' p# J( h7 Z
$ Z3 t; R6 h2 }1 G4 d. o' D1 U/ E! r: B
现在终于删除我的狗屁加速...
$ c0 v4 I+ q3 S) p
! z. P$ B# ?0 \
" V1 ?: r* w$ o) k' z9 F4 Q6 a* O6 H& ]' |6 Y2 u5 g! M8 l# c
|
|