|
|
食品车:
2 v3 Q% a" b7 y1 R! h尾翼:! {% J3 V7 M) s
" W! _* h$ L3 B! n, V/ `代码:
# J/ q1 R9 e) ]* p6 k1 R& E9 NCWndAutoFood::CWndAutoFood()5 u1 W+ R; K( f
{& b: ^$ L' a5 K1 N$ J
m_pItemElem = NULL;
# r; |. b6 d7 E% H' U3 Z m_pTexture = NULL;
8 d" A% ^' {7 u: [( ~ bStart = FALSE;7 m! }/ ]1 e% c3 l" D7 u' i
}
7 b5 T% `% q: R4 W4 O& }/ X/ C6 y% i# E1 s) `- x$ W9 ?# @
CWndAutoFood::~CWndAutoFood()2 w; U6 v4 A5 C) L4 `
{! x7 V. U6 c# B4 [/ v
AfxMessageBox( "AutoFood ist gestorben " );
% ]* _: w0 E8 R; L& r: Z}6 G" B8 \" _# s" Y5 d: s# q, T
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
7 ]! L6 N) A1 j% p6 r- `{7 w: u1 q- t: ]8 ?+ F2 J
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );/ m$ ? d: p/ V, I7 ?3 s5 }* Y7 q
}
4 L( t2 s! g! f* D( S, N. S2 p# q& M$ A' ~4 ^
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )- E' R5 v; ]7 I0 Q' y* G7 A$ C
{
/ J5 x+ U: ^' A) I% A9 n5 f# {7 [# M/ a LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );7 n& [1 l# d3 W+ i- Z
CRect rect = pWndCtrl->rect;4 Z/ w' x1 F/ e4 r6 p
if( rect && rect.PtInRect( point ) )8 M& V/ ]( a' h K. N3 _
{
) s0 D" Z: G2 G: |" B, G CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
' }3 U& y& {% Z' n8 X( h. g7 \ if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
& M4 N3 W4 A4 ~$ R$ }, } {
+ [" C3 z) J% j9 U% g if( m_pItemElem )
$ g N" A* K ? R/ ] {
& r3 S3 g6 R1 \8 F: p! L( Z m_pItemElem = NULL;
. i9 b5 S- _' w" {9 I3 _ }
: w! G; ^3 S3 I1 q1 y8 Y; c m_pItemElem = pItemElem;$ A p; F9 _5 w+ W; @, g( z
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
, {5 O) v3 r' n) c5 Y. q }else{/ Q/ H& W; n" i9 u
SetForbid( TRUE );
5 k; Y; d0 L+ R0 W; E! l3 X0 w }
; P: g5 O9 i: r( ^" z& v. S( [6 @ }else{
; y7 ]8 d. S. R7 }$ g7 F! R& l SetForbid( TRUE );
1 ^# z" a- ]! R& j }7 |! k# g4 C' _& F7 i( H, N
return TRUE; }. S; o% W) v, A7 R
}
4 w2 z6 J0 c* z1 |" m& _% d0 }% d2 \! `. J6 P! T
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )5 I( l- z" w& Q0 E N( ]0 L8 r
{' B2 c! b/ b" Y
switch( nID ); @3 g0 l* g" y" y& T" m. c! S: S
{, X1 l0 S. A, o
case WIDC_BUTTON3:
1 `' E% V, r2 w; d {
) M& S& L3 m- U5 L bStart = TRUE;
9 J. b! ?2 v4 @) T! H' w" `, X. e break;% W: w" ~" V. h7 Z6 q
}! z0 M$ Q! Z# a8 b8 Z9 {3 j
case WIDC_BUTTON4:1 @9 T8 l0 v# W$ q% k
{8 d8 \. L/ q1 x9 Z# B* G- ]
bStart = FALSE;. v) \& Z E; G+ U! ?: {, Z* g9 r, ^
break;
2 {; X/ a9 i* C4 g8 K) D5 E, Y) M }
0 o* O* C3 e" K4 w" x. i }7 O9 P. q( k9 q9 Y
return CWndNeuz::OnChildNotify( message, nID, pLResult );
5 W$ Q, i. W d8 |$ q( |} - @5 D" N7 p1 ^0 L
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
2 G$ J+ |( f3 _8 G1 R5 D! x{
% ?2 ]; q6 G8 S K9 j5 j0 ~ CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
* W, }4 q8 F3 ^+ D4 \ if( bStart || !m_pItemElem )
; P! |/ W7 g& ^ {
# J% }& y7 D. c5 ^" N% q! L8 A pBtn->EnableWindow( FALSE );
, e# ~; E5 Y& a9 W& A }else
: j+ n) X* W+ Q pBtn->EnableWindow( TRUE );3 w) B' {' n2 M0 `
if( m_pTexture )
" R: c8 i; h) ?7 ]$ A& o {
: q3 Q1 ^, G+ g LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
l k! V* ? D& H5 _ if( wndCtrl && wndCtrl->rect )& @# x/ ^1 n& g# E7 O; T: k
{2 K$ \# B6 }$ P6 \( }# q8 q/ A
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
& |0 l* }% W: T* Q$ t$ x }
- |5 H! m1 A. l* V* h) @ }$ ~2 f' R& o v q$ d' I+ P! b
}
5 v/ \/ S" S3 q1 x: k4 i2 _) Q* ^2 L" P. d. q3 b) G+ G' O2 h
BOOL CWndAutoFood: rocess(), t4 ]0 V# t$ q/ {- y: _
{
" ^: I' @: c5 r* A; Z# M% c if( bStart )4 w; j1 V# X9 A1 H! R1 z6 }
{6 j; y C9 [0 o
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )/ C+ d) Z N6 I* Q
{# T- h3 b4 Q3 I1 j5 b
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 [# p) v1 w" H+ Z g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
5 w; l6 \& l; e( ]3 j- W/ J* O }else{9 o# b% J5 L2 }+ @5 x" }& c
bStart = FALSE;
. h9 ]9 B2 u( ` m_pItemElem = NULL;7 a8 O+ N8 e1 Y5 o: l
}
$ l* E1 f$ I2 V& D9 _* s5 b }! a# K5 ?; d. J( l. z5 i
return TRUE;
4 w8 w' ]2 K9 N7 I. J8 ~8 W}
1 h& G( u/ h, n: h+ K' [; e G; v; T
登录视频废话:& H& V% P4 B+ a3 d8 ?* m
尾翼:
5 \7 _0 I3 M; }/ n! f/ Q8 f% ?# Z
代码:1 v6 i8 @0 [8 Q1 F
" k; E. H$ g5 ~' B
void CWorld::SetLight( BOOL bLight )2 O# D3 T4 f7 @7 G0 K
durch
]' \# w# D- J/ sCode:3 \6 Y: C3 F6 ~; ]' ]/ U' r
void CWorld::SetLight( BOOL bLight )
! A; k6 q) Z8 q( ]{
7 S- E6 x F8 R) F2 G //ACE("SetLight %d \n", bLight);
2 Y* @( x; D5 ]
, k, x# e' x/ j6 n$ |#ifndef __WORLDSERVER
- L2 {; w' T; y( U0 ^5 Z; }. V DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);5 k0 E4 c/ W! q! W
CLight* pLight = NULL;" B+ Y8 v6 x- o% w& |
5 w) t+ D( U8 _ D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );" W' h7 Y/ D' P0 r Y3 |
. N3 `+ B3 O8 G6 j1 N" n pLight = GetLight( "direction" );
! l2 F) C! a. X H
5 r4 S8 X, @2 ] U- J! l, U#if __VER >= 15 // __BS_CHANGING_ENVIR
' S2 A5 [9 L8 N ~. K, u& G if( g_pPlayer ){
8 y5 @2 {8 _4 Q0 } ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );/ E) e5 l2 }3 j8 O" E$ Z# @7 K
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!5 e- T$ [9 T, _( E
{7 ]2 B) U M6 F) A- w& ~' s
if( pLight )
8 H& y) m% U7 U* o2 B; I. W {" Y9 T \2 i9 f# v% a1 ~
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];9 C; d# V7 h' n9 k+ D3 K
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
6 y3 d5 x8 G' |* f# K( a( n: Y pLight->Ambient.b = pInfo->_fAmbient[ 2 ];3 Y- }* S: b K' m- g" a, x
4 M+ y" ^2 S: d5 q pLight->Specular.r = 2.0f;
O* X3 N" z# Y4 M7 e1 f8 D6 W, ? pLight->Specular.g = 2.0f;
! @& V0 Z/ u5 W+ @# |5 W3 \ pLight->Specular.b = 2.0f;
/ ]* l; ~, r) T% J# ?, h ; D! v. b( O7 G
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];0 R- G/ X* B# G* ^% b
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
& R6 l L' c( t+ L% I1 } pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
* }6 Z5 N, g3 `0 {9 U , @2 s, D- P# D1 ?2 E) \
HookUpdateLight( pLight ); 0 U7 g! J' Y3 }- s) B8 j/ G0 w! {$ {
" Y7 I/ Z% m1 c9 k1 U memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) H; s+ Z( ~6 Z- R( i
1 q, m& e4 U* R! G$ q: _7 B8 h pLight->Diffuse.r *= 1.2f;# J! L8 w I7 I- {* ~
pLight->Diffuse.g *= 1.2f;
$ B! h% j% N, Q0 T pLight->Diffuse.b *= 1.2f;4 A: m# q: V! N, s3 _/ w. W1 g
3 v* }! V! v9 N3 F9 b pLight->Ambient.r *= 0.8f;, K( O) S& y$ \8 c9 _/ v
pLight->Ambient.g *= 0.8f;
$ [9 _3 c2 }! R) c3 `# c4 V pLight->Ambient.b *= 0.8f;
' T6 o# x5 O( Q' `6 x9 Q$ B8 Q ; |6 d' N) O3 c& z! H- R. N* x! L
memcpy( &m_light, pLight, sizeof( m_light ) );
( i: h4 a* n+ `" I& D5 S- g& F
. W C4 P6 b& z D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);8 m5 R6 |( C1 m, P+ m& u4 J
D3DXVec3Normalize(&(vecSun),&(vecSun));! m; h% J, Q. N$ D4 [
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 0 s6 p: v8 j" c8 Q7 Z
pLight->Appear( m_pd3dDevice, TRUE );6 x$ S7 @: A: u# G6 g
* _( R5 w' v1 u( t/ P6 p7 A- ? DWORD dwR, dwG, dwB;; U$ b, w4 ]) j8 V
dwR = (DWORD)( pLight->Ambient.r * 255 );
$ P6 b* Y* g5 k0 Z! f1 b, M8 r dwG = (DWORD)( pLight->Ambient.g * 255 );1 F& m1 T' ?" s; c8 u' T
dwB = (DWORD)( pLight->Ambient.b * 255 );: H+ k7 v( y( F) n" W
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
7 D" [7 ^+ C& E" I }, U$ F5 h. ~2 }/ R" d, H E, ~% X
}8 p- J( Y$ ?0 s4 d e
}
' |8 C% q+ d% C: y8 ]% _& K else: `; r4 t( o \) `* t) N
#endif 1 h' T! _+ Z1 l' }- I6 A3 [, h
0 @' P! ?: I- h! r
if( m_bIsIndoor )
4 m9 G+ Q+ E: e% ]5 { {
( s$ N% x2 V; R5 K0 k+ s8 G if( pLight )' J1 J5 j% {; p6 @3 }3 v! S4 R9 R( q
{
$ S) d7 R4 v$ `4 Q- n // à??μ oˉè* . e, s$ a# P: g4 n
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
; S" t( _/ K" I3 @+ o( P+ L pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;7 d0 ]" b! a* g& W
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;& p3 x, p% ~" ~
* D5 b$ `' J8 h+ X // oˉè* ??à?
" l; H' g1 M$ b, A( i pLight->Specular.r = 1.0f;
$ u# {/ x" j' r4 l# G: G pLight->Specular.g = 1.0f;
4 _: D9 I& t ^" v7 T pLight->Specular.b = 1.0f;
" P" k o7 G) n0 U // àü?? oˉè* 2 Z- @4 ]3 o, v' F) z2 `
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;4 X j; T7 R9 E0 ]; k* Y
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
! c `1 f- J" ]* g, E pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
d; k1 y* z- z+ w3 o. L3 u
" n9 K9 O) a0 Z) q) M7 | if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
% X+ h. u5 n7 i: J* d- |4 k6 a% A& { {
0 T6 D3 C" \0 P2 M pLight->Diffuse.r *= 0.6f;/ i+ M! q' v3 J% S3 I$ C2 T
pLight->Diffuse.g *= 0.6f;* l0 K7 W# j0 [2 O4 A& n7 c
pLight->Diffuse.b *= 0.6f;
3 R2 w4 W/ Z3 [, I$ J. p pLight->Ambient.r *= 0.7f;
5 l1 b% y& ^& `1 @8 H) n pLight->Ambient.g *= 0.7f;( E6 v) {. j4 a) [
pLight->Ambient.b *= 0.7f;
* b1 W4 c( Q! k0 n }
+ g$ o* x( @$ w0 Z% B* P4 s" \# P3 Z' |: p% P8 s% d
#if __VER >= 15 // __BS_CHANGING_ENVIR! C- [& c+ V' d! [
if( g_pPlayer )
! V, u; i1 @: ]# Q/ S HookUpdateLight( pLight );3 u: F& c( G5 J$ P8 s6 Z7 {
#endif
' s% @2 V. [! B3 I( s memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );' [- G. n8 _2 O- s
& N, Q1 u0 X& ~! L2 p3 q% O( O pLight->Diffuse.r += 0.1f;
/ C3 v2 L) N! e5 E/ m4 g$ p! K pLight->Diffuse.g += 0.1f;$ F! u& U/ N$ \/ D1 e
pLight->Diffuse.b += 0.1f;+ n' |4 L3 y! I% x& h
// oˉè* ??à? 3 h% U: Q/ y6 c) q# ?
pLight->Specular.r = 2.0f;
) t. e' `( M+ _# }0 J pLight->Specular.g = 2.0f;" J' k; I+ z# s5 c8 V8 X3 }) ]* p7 }
pLight->Specular.b = 2.0f;$ q9 d0 V" d' B. \3 g, v' E4 F" c1 _$ r
// á?oˉ
) _6 p: e H. u! N# h8 g$ N: J pLight->Ambient.r *= 0.9f;
# v6 p, j5 Y8 T pLight->Ambient.g *= 0.9f;0 v- ~( f* K3 C. l. C
pLight->Ambient.b *= 0.9f;
; B) q( O, ]; ~% U- K9 W g- N
/ j$ Q5 G% A0 y2 \4 f memcpy( &m_light, pLight, sizeof( m_light ) );, E1 f( S* @. _
" Q t5 j# U7 X+ @$ y6 H
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );" D* s c4 o7 c' }- q
pLight->Appear( m_pd3dDevice, TRUE );' P( M7 [* o0 C5 Z
8 X) X2 `" g9 ^3 I5 Z
DWORD dwR, dwG, dwB;
" H* T/ ?" }6 q+ ?3 W0 E8 f; I dwR = (DWORD)( pLight->Ambient.r * 255 );+ D, t9 x# Z$ e% K
dwG = (DWORD)( pLight->Ambient.g * 255 );
" p% S( }2 }6 i* j5 C; s dwB = (DWORD)( pLight->Ambient.b * 255 );; o; g. k& R5 C
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );& o+ Z3 }2 G: l, T0 {. y4 @
}8 Q2 g" u$ h/ ~
}
, \6 ]) D$ m6 T( @4 H0 B else, {5 d/ H0 ~; k0 h; s) S F, D9 Q- O
{
# k# D2 _$ v9 u* k# V- z5 g if( pLight )$ p. J y' S$ t2 \
{
* c. p" @5 G6 X; h0 D" c . u4 i p3 p% J! Z, E2 ?3 A( s& c0 [
int nHour = 8, nMin = 0;
7 [' `2 d3 v! ]# S. } #ifdef __CLIENT! J/ v) w1 M! \! R5 p# `
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
8 L7 o/ H- O) {- {: V nHour = g_GameTimer.m_nHour;! A% ?+ |/ Z t% X# i, K
nMin = g_GameTimer.m_nMin ;
. p% a, ~: A; V6 v) w, \ #else W$ c4 n* C0 s6 I$ r' n! j" B
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
5 `/ e4 [+ J' Q6 R' G' ~% v/ z if( m_nLightType == 1 )
/ s* J/ t! {; g& }; p nHour = m_nLightHour;9 F( n+ S( d7 x* J& ?
#endif
( M7 w! x" P8 `, j3 s nHour--;6 | [" w) g" R
if( nHour < 0 ) nHour = 0;
; B# O* l4 k0 p# B if( nHour > 23 ) nHour = 23;3 T) a7 y5 P4 K& r8 U/ l
) C. Y. j1 N) s* a' f! } //if( m_bFixedHour )- s* Z( I, Z' O( Y
// nHour = m_nFixedHour, nMin = 0;$ h* r- q- d9 l8 U* q5 \0 K: Y
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];* U% ^3 b& G0 v& ^4 L$ e
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
. G; {+ F( _8 l! Q) Z, L1 u) Y
: ^6 _0 u* C! W8 z" [ //m_lightColor = lightColorPrv;
* Z5 X) w& V- K+ u# P6 a lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;6 D: l2 z0 l# |: M' u9 C! z
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
: Z* v/ I6 q0 W0 _& {8 T5 O lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;& K8 S9 C, [ ` p0 y& @+ g
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
8 t0 S# X B \/ C+ Q1 }1 q lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
: a7 s) x; ~) c lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;5 \0 i9 @; f% E0 a, |
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)) Q3 D1 T4 [0 a
, d% l1 h: w# p3 i/ E // à??μ oˉè*
" S; ~; J, @/ M pLight->Diffuse.r = lightColorPrv.r1;
3 Z& F v3 K. I! p' V+ ~ pLight->Diffuse.g = lightColorPrv.g1;
! E/ q' L2 Z+ w; Q9 ^ pLight->Diffuse.b = lightColorPrv.b1;% }. P6 u& k% g3 n, {
// oˉè* ??à?
: A, A2 \4 f" p# j7 J) P1 V pLight->Specular.r = 1.0f;, V5 U# S1 u3 A5 |; j
pLight->Specular.g = 1.0f;
; G' N) D r: O2 p6 k" O4 ~/ v# b2 x pLight->Specular.b = 1.0f;
6 i2 t6 {) o8 i/ f N1 ^+ D# ^ // àü?? oˉè* 7 N. f+ I8 c! t' ] m
pLight->Ambient.r = lightColorPrv.r2;
3 p8 q2 C) S5 V; v: t: U pLight->Ambient.g = lightColorPrv.g2;
, }( v0 s- n1 b! z pLight->Ambient.b = lightColorPrv.b2;: J* @( O/ f; L4 o
+ c7 J& r5 Q2 J if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
9 x9 h3 `% E! H- M+ ]: `3 Z( o {+ T) ]; X& K2 P. f8 c+ {* N H
pLight->Diffuse.r *= 0.6f;
. S$ N9 f/ m) a% a pLight->Diffuse.g *= 0.6f;+ p- w x* }4 \7 {" I x, e5 I+ p
pLight->Diffuse.b *= 0.6f;
' b! ]9 ^; X( ]* j pLight->Ambient.r *= 0.7f;. I1 m7 t4 b) ^/ J# \6 y
pLight->Ambient.g *= 0.7f;
- H2 K! Z7 d9 r8 h pLight->Ambient.b *= 0.7f;
5 }& X) z% h, x# O4 ]- e' u }
* \) ]$ h* B. @2 R8 B0 T9 e5 f
. X9 O B4 u* V* \1 Y: D#if __VER >= 15 // __BS_CHANGING_ENVIR
$ ]6 E3 m6 t& N# ]2 D- Q if( g_pPlayer )! ]8 k) ~0 N# f4 b, Q( m; s: h
HookUpdateLight( pLight ); $ t, t2 h3 ^ H, L: f+ ?8 K
#endif
0 `1 q# i, |9 F/ l memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );9 V. Y+ A0 j4 y; [/ w5 c
7 B" ?' K1 P8 x; h% E& B9 m#ifdef __YENV
* B% R; ?- a0 E pLight->Diffuse.r *= 1.1f;) f, [: D9 a+ }6 E
pLight->Diffuse.g *= 1.1f;
- @4 Z; C! G# ~ pLight->Diffuse.b *= 1.1f;3 w$ Z1 }& v1 u d; C& B. N. c
// oˉè* ??à?
! i7 g1 E" x1 D! _7 }# } pLight->Specular.r = 2.0f;4 ]( @7 o( D" g- g) J9 j* r2 I
pLight->Specular.g = 2.0f;
3 N- |4 e9 q' b0 p5 D pLight->Specular.b = 2.0f;
8 b+ _! c1 h7 a/ Y% V$ U // á?oˉ
& p7 i4 A7 ?( d. B8 F4 s pLight->Ambient.r *= 1.0f;- D4 x$ [5 i8 F8 O( O
pLight->Ambient.g *= 1.0f;
/ o& J4 k1 c% g0 _$ W5 K pLight->Ambient.b *= 1.0f;& j1 z+ M$ x* t# g, j
#else //__YENV
/ J9 |3 u: E7 m% A pLight->Diffuse.r *= 1.1f;
1 s( ^1 Z& E" V s pLight->Diffuse.g *= 1.1f;2 d, Q0 ]2 q: T4 v% a9 M; J9 i
pLight->Diffuse.b *= 1.1f;' y' ]! c* V2 H1 `
// oˉè* ??à?
% L+ X7 j* r- Y( V$ V) r8 x0 ? pLight->Specular.r = 2.0f;' F9 \8 _- S. m( k1 A
pLight->Specular.g = 2.0f;: }& |! O/ X0 t9 l- U! {9 S
pLight->Specular.b = 2.0f;5 `0 E, p( O0 }8 ~, x) w. ]
// á?oˉ
e! C3 R, R/ l; E- t pLight->Ambient.r *= 0.9f;0 u! E" D, w; B$ D7 _
pLight->Ambient.g *= 0.9f;/ {7 U' R' j% a5 Q% O
pLight->Ambient.b *= 0.9f;7 g* b+ A Y" `& h3 ~8 L
#endif //__YENV
) Z% X& p) F p& S. L
" s4 n% Y r/ g/ H1 k memcpy( &m_light, pLight, sizeof( m_light ) );
+ {# [. i: A7 m+ s( M: A # @, k6 ], r. h8 V1 p* Z
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);) p7 q. L( Z* j0 a( G
D3DXMATRIX matTemp;( R3 w9 F& X" I, O( K. W& F! r
static const float CONS_VAL = 3.1415926f / 180.f;$ \8 v$ O9 G6 ]' o9 ^$ e1 l' A
) A) l D. a$ O( P k D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
# E, P7 R2 y. C* l, S D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
5 z6 L, e% a4 w0 l. t pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
' s6 X e& w7 v x pLight->Appear( m_pd3dDevice, TRUE );
) n2 E& {3 s7 V6 F& Y- y
2 R! _# x" Z; V; g+ Y4 _6 k9 C- T // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
+ T! n/ D6 o' J- t. I" s0 m' Q // D3DXVec3Normalize(&(vecSun),&(vecSun));1 M# c( l7 S2 q- x9 c" ~7 j" _
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); . C5 `/ G' _4 k J4 t' l
! W* }: u$ T* a% N) X3 f& N
DWORD dwR, dwG, dwB;
- _9 p( g E2 h dwR = (DWORD)( pLight->Ambient.r * 255 );
4 j2 \7 R. I* o) I0 y7 N dwG = (DWORD)( pLight->Ambient.g * 255 );
! k- D3 Y d# g: t dwB = (DWORD)( pLight->Ambient.b * 255 );
6 e2 `+ U! l9 W- J dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); ' S! q- Y9 s) Z7 v3 x" |
}
6 H5 [) }; J5 z, }0 o9 d& b: v1 @ }
. d' }. w1 G2 a) |; L, H1 Y1 X' r9 q2 {. t7 N+ w9 w& i
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
* }/ q% J3 D4 ~9 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) );: M& O+ Z- N8 N* e1 s
::SetLight( bLight );, d9 a1 l2 u% [
" b; F. }6 F( s6 v% ^# L // ±ao? ?D?í???ó á¤à?
' ] B9 H1 z5 m% z m_pd3dDevice->SetMaterial( &m_baseMaterial );, q" M! m5 t6 N6 x1 ~/ }* \
; @/ w" U- ~7 F& }
#endif // not WORLDSERVER1 a" R$ v' }4 a2 q
}4 f6 ~3 T: X' O8 t& f
并更换
. [/ T% X% V9 |& p. T3 TCode:7 I% R4 L; Y) U2 G: ~* K9 ]
__FLYFF_INITPAGE_EXT. ^+ r9 z2 g- [; m
定义- o7 j; ~( F7 ~" p# r
" R2 A* y; l- s& c. T# T
9 V1 ?3 V g6 y& H) r
1 ^& F) I5 ^0 L" N2 \$ T
5 r$ Q3 l1 G5 O
现在终于删除我的狗屁加速...
/ M; x* {) j; Z3 A; i
D B! V+ E$ ^1 b0 k1 k% E- `, F# }6 D( M+ N( u, T! J
2 B6 [$ z. [) Q7 ]# f# w+ B |
|