|
|
食品车:6 G+ s2 ~& S: w) K! Y H
尾翼:" I5 ?8 g+ x- |* K) j; e9 B# R
: s2 k$ z0 x) p& x) @
代码:/ T. A- q+ O8 b0 l' n& k; Z6 I
CWndAutoFood::CWndAutoFood()
. `! A5 P+ J o5 P{+ d; F2 }' D1 c' s0 c
m_pItemElem = NULL;
* V# u1 k/ Q. J8 m m_pTexture = NULL;% E% S% ~$ Q/ I1 A
bStart = FALSE;
1 Q' Y' G6 W: W) h0 {" b}$ P* m+ o% d b! J) u6 O% C; s" U
; v3 M3 u- o4 P+ w8 w1 C) E Z( k. NCWndAutoFood::~CWndAutoFood()
$ Q2 D6 S- ~, z{
+ ?! s4 m2 C6 w( K! v% x4 ?) I AfxMessageBox( "AutoFood ist gestorben " );; ^5 n9 p, e q9 x2 A2 e9 U- t
}
9 s \, U- O( X' J0 k' _BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
& q1 O6 g- ]3 \; `& C{
) F8 }, k* Y- u+ a/ |( F: V! v W return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );( I; a! s. o' H% w
}* U5 m% c# M) ^7 l$ N8 U
4 q# d0 `) l' f' Z8 r3 j- U
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
$ x% ]& [" y$ y- j& L{) W$ c8 E+ N7 D$ I
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
" u) ^$ s u0 g$ D1 h9 b( ]& `, I CRect rect = pWndCtrl->rect;
; Q, C5 D9 v. T% U if( rect && rect.PtInRect( point ) )9 Z3 I% ~' G: R3 T! X
{
8 K: R" R6 m9 @" f CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );7 ~2 R5 d5 O2 t. B, n0 B; M- n5 F2 V; Y
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
- o( T( Q0 G0 ~( G) w8 R& J8 x. c {
4 O0 E2 }* U) [/ G; y; f if( m_pItemElem )- u$ r" {# M( Q3 y
{* e. O0 {9 Z* N+ K& @2 ?# X" _
m_pItemElem = NULL;
. Q/ B, y1 ?8 r }2 _4 u# Q, l; A6 P$ o
m_pItemElem = pItemElem;
& w, d; v; d1 G: @( P m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );- b; W7 A7 O, X
}else{1 w1 x1 B) f; F! ]5 n @" P5 D5 A
SetForbid( TRUE );
6 n+ Y5 U! `( [6 m1 k* E }4 E R$ u/ y" {
}else{
& S! U+ ^; \% z: [5 ^7 A SetForbid( TRUE );9 g8 j. C# [. B F2 P, q
}1 n2 z) b* K4 o0 d! e+ J8 E
return TRUE;
8 p3 K- w& g# A1 L% t}/ J8 h0 x9 w* k& ]) z! G
) X) q6 W1 u+ LBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )* I- d {& x" G4 U
{
, q* N" S$ @9 n+ G/ h( }0 d6 R: m switch( nID )
# D% q" ~) s* f# q$ \ {% a; {5 j3 e1 N" h* l
case WIDC_BUTTON3:3 {. t" F' E' G8 Y; X0 B& v9 O
{
: g w {+ r- N) V bStart = TRUE;9 ? Q9 j: k& ~
break;4 z( x( p, L) [: H4 k% c% j
}
$ L9 I; A, x/ M( D3 x case WIDC_BUTTON4:6 t7 }/ B$ v) s2 ^
{1 B' H& `8 i% \! Y: S- K2 r1 h9 S$ u
bStart = FALSE;0 |/ m# \; T' T# U/ P# M
break;
! k6 m2 V7 Q( e* C8 b }
, V* T- ~- x! r8 p }
4 q: R* K/ Z. O) f return CWndNeuz::OnChildNotify( message, nID, pLResult );; I1 v' S# b6 }1 l8 P& Y0 x; Y) a3 D
} ) U0 d, x' u4 f/ N8 E* D
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
, G, Q0 W4 o2 y+ n/ y5 }{3 Y2 Y/ C" C2 S6 V* I3 s9 r
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );$ P( |9 a( Y5 X( h8 Q
if( bStart || !m_pItemElem )) c% R% r8 o/ |* T" E8 p
{
% p7 a" Q6 w/ U pBtn->EnableWindow( FALSE );& T: ~; n3 `4 |- W: j0 k
}else
; K( y) w5 b) P pBtn->EnableWindow( TRUE );- {# d* F4 X) A/ ]7 |
if( m_pTexture ), F% d/ W" ]5 e( h: H8 g# _
{
; ~: S3 n) \/ {5 n) o LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );5 D% t* Z8 n, m, j+ T
if( wndCtrl && wndCtrl->rect )( \0 m! T' k5 C4 y- ~: B9 h7 F
{
" Q4 J3 z# ?0 W3 o+ P1 L m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
5 Z& {/ D/ v, q; S. @& J" G3 B _' K }
% O) M! N# s( t4 x3 k0 ?5 \ }" B+ m% b- g/ K* o e
}
3 y. X: a2 ?# L
& y( ]9 j: m7 J1 p/ P+ rBOOL CWndAutoFood: rocess()
$ l% D$ h" J% p" W: ?{
5 y7 j! N- `3 l6 Y. ? if( bStart )# `3 e7 t0 L8 Z% f9 s
{( K: C# L$ a5 o' _8 }. O5 m8 [
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )- Z @- D! Z" Q- R4 Q+ \* f
{
6 g H( w+ o8 W4 p4 I* O if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
4 X( j) w! E* d2 i# |2 T g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );5 `1 u, U$ A7 v6 |! x
}else{- I: @( h& ^/ @+ u/ B. e" O
bStart = FALSE;
) B3 D; \5 B+ n# K: | m_pItemElem = NULL;
5 d9 @0 b0 Y# u2 e }( p5 n0 B: u D
}
+ @2 r2 O' r. e% n: ^ V1 M return TRUE;
: C" y5 P! C$ S; x# ~( F$ B- X}* t/ l! D# @/ q$ ?, O. {- I4 c* B
( v# r; p$ j% s& h
登录视频废话:
4 I- T8 ?) o* U$ y+ g4 `+ o1 x3 G尾翼:
* ~! k# {- }! L: i. T5 F h$ A! ]' f; P6 G! S# e
代码:$ @ y* V- W4 ~, b9 Y
d8 Y' c% {$ D! K6 |1 Y
void CWorld::SetLight( BOOL bLight )- S1 }' }. t( P% B
durch
3 j" N$ b7 D& @1 K% QCode:
; \. d$ i$ A6 uvoid CWorld::SetLight( BOOL bLight )
6 j) S# W) e* a% C{: r$ L% x9 ^, o+ a& Q$ G( l
//ACE("SetLight %d \n", bLight);8 F" c: Q' B; d# C6 o* u
3 ]4 s# e( X( I3 F3 \% M; l" j
#ifndef __WORLDSERVER
& O+ D9 \, ~) n7 Z' _9 L6 U$ h' |4 k DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
1 |0 V& _. U7 q! o9 J2 r: G* |$ W CLight* pLight = NULL;
6 g& A6 p3 M m, M% N9 ~4 F! n. M6 P' }! C
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );5 l5 K. F. \0 o2 v3 L- n; ?
8 J8 f _* \# i# ]8 g% r5 a* { pLight = GetLight( "direction" );! A2 I& B' a7 {6 _% `, `& {
8 r, [. k/ S& v- F
#if __VER >= 15 // __BS_CHANGING_ENVIR
& X7 A- t' D+ Q( @2 } if( g_pPlayer ){
$ e) \. G" M3 g: M9 S" L# s. q7 M2 O ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );" d8 x( D- A. Y7 U: S7 ~
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!% w# t/ \3 p6 ^/ K
{* b( R* G* Q! d
if( pLight )/ D" Q; |$ ^% |
{
8 r: Y, s$ V: m. H ]# | pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
" C( W- e6 _6 z. i! Z, t" T1 y pLight->Ambient.g = pInfo->_fAmbient[ 1 ];+ y3 \! O" P% H7 A- A
pLight->Ambient.b = pInfo->_fAmbient[ 2 ]; \1 @1 i3 Y( n- M5 s
# B) \0 e" A* i8 d, J- w, C; t
pLight->Specular.r = 2.0f;; j! w/ g" V6 z. E4 r; ?7 q
pLight->Specular.g = 2.0f;( ~% O1 A7 W3 i8 [- n0 X
pLight->Specular.b = 2.0f;0 Y$ L+ [7 J" V1 v+ W
% {, i/ ~% S6 C R pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];) ?/ a0 c& m, \3 a. _
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
! F) R" P) e1 R& ~7 [9 O pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
, a1 E6 C6 w) n
# s4 ]0 @! ^& b* y- J( H HookUpdateLight( pLight ); + S0 H4 Y# f: ^5 _
2 \, y9 M) ~0 w/ E8 S memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );- u3 H+ _' J5 ]# T$ w
- ^$ m& R4 c: S4 V3 P' v
pLight->Diffuse.r *= 1.2f;8 w& l6 H- }0 D J. f
pLight->Diffuse.g *= 1.2f;7 \ s# W, {- w% M* r
pLight->Diffuse.b *= 1.2f;0 O' u" ^) ]1 Q( c; G# a% g
. {! V# D0 P; K$ A
pLight->Ambient.r *= 0.8f;
4 U2 k7 c9 N% g1 D: ]+ }; x4 f pLight->Ambient.g *= 0.8f;$ K( Y/ S3 L1 ]' H
pLight->Ambient.b *= 0.8f;
5 D4 x* @9 H( P! | ' r# T7 e9 N( {* C* [
memcpy( &m_light, pLight, sizeof( m_light ) );) j7 B# Y" n W0 }) l. |
- P+ y" I% H' K+ C, R6 ~ D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);4 W8 ]# N+ j) o# m
D3DXVec3Normalize(&(vecSun),&(vecSun));; e* Y* v3 U+ l# z( Q ?
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); k. @- N; y" X0 Q4 I7 j+ z
pLight->Appear( m_pd3dDevice, TRUE ); R7 e* w2 B% E
3 O: D8 }8 ?' `* k) F
DWORD dwR, dwG, dwB;- U. q; J3 n. U* Q6 S, F/ \
dwR = (DWORD)( pLight->Ambient.r * 255 );4 s: g8 P( \. f5 P
dwG = (DWORD)( pLight->Ambient.g * 255 );7 I$ v3 a$ I' Z" ~8 |# F6 g$ ?
dwB = (DWORD)( pLight->Ambient.b * 255 );
" F' W: j5 o1 y3 g9 g6 p* N dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
' e1 Z' L* Y) y _2 X( F! Y% W0 G7 z+ g5 \ }( N; l0 L/ W3 @, Z; |6 J e
}& m% G3 I7 ?! B3 G7 _. V( W
}
( S: j) M' |+ Z else2 ?) {# Z! D+ }$ w* {1 L" Q
#endif
) i- P! i7 T: K, k5 O$ O( u6 o4 [* f9 i" z$ Y) t. H
if( m_bIsIndoor )9 V. q5 a1 B1 W! G' B/ `1 [6 e5 p
{
1 G7 q) W: j8 w9 L) G9 E if( pLight )
9 e+ Y6 M7 [: p! W+ {8 S { ) h J( l8 E8 Z- [* g
// à??μ oˉè*
' W! [% D7 N) v: }! J g1 H3 e: X8 b pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;5 t* y: L0 v k: B
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
$ P' R- d$ }) P* H3 l pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
. s- ]1 s t6 r z7 T% E; y+ ^# l: [
// oˉè* ??à? & A* T! L( n6 Z
pLight->Specular.r = 1.0f;) V, Q! C9 W9 C8 r4 e. ~
pLight->Specular.g = 1.0f;, R* P0 m" |# }+ s
pLight->Specular.b = 1.0f;6 ]% X( x3 y( P# m( q
// àü?? oˉè*
/ k5 q" J/ j0 a( x! {2 f7 D pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;+ d/ ^ ^& m% J4 a+ {2 X9 |
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;/ |! q6 H( \! t2 q' C
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
( w$ N y3 |7 A6 w( G% A6 n
: q$ [+ m4 E9 q. W5 G, K if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.0 p1 ?0 h) c% v4 `; ]/ R
{! Q0 l, I/ f/ C, B
pLight->Diffuse.r *= 0.6f;
; }/ m* L6 K9 w pLight->Diffuse.g *= 0.6f;
% F% R: l0 {3 B pLight->Diffuse.b *= 0.6f;" y7 Z1 n9 ~5 H1 B5 W' ?
pLight->Ambient.r *= 0.7f;
2 G P. o1 n; m9 l0 g# A pLight->Ambient.g *= 0.7f;
; E' s! N$ i) n/ A' g5 h6 n pLight->Ambient.b *= 0.7f;
2 L& L/ d9 }7 q4 |: b: s }4 B& [, j6 y1 N* @* Q! [# o7 P2 g
7 V3 m6 }0 a/ W7 `) {% F#if __VER >= 15 // __BS_CHANGING_ENVIR; V' w* f' _& O: Y' R+ q: C/ O
if( g_pPlayer )
# W: B) h, v* d# }4 d, N7 X HookUpdateLight( pLight );' l, v% v& G; m$ W
#endif+ R0 h. b! M( O0 i+ R& E1 Q/ B ^
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
/ a" l' c/ n9 ?0 L- }9 R: }4 Y" L( {7 E" s
pLight->Diffuse.r += 0.1f;
2 V4 D5 C* F5 y/ s. E* }- x2 ^7 C pLight->Diffuse.g += 0.1f;
- _' K/ E: p) o8 j pLight->Diffuse.b += 0.1f;
& z" B, O# W R L% T* U: a // oˉè* ??à?
! a' F d& L3 f: f5 P pLight->Specular.r = 2.0f;
! q5 m0 S+ B, b2 k3 ?7 C! u pLight->Specular.g = 2.0f;
; I2 ^2 t9 ^, a0 Q* c+ h R pLight->Specular.b = 2.0f;
8 |/ c. `' V# G. Q( { // á?oˉ % @: F, t, v) @# z& w5 b5 s
pLight->Ambient.r *= 0.9f;
7 r, q( |& \/ t1 [5 {( x6 `" E8 K pLight->Ambient.g *= 0.9f;- k4 R J! G5 V5 z9 d2 f- Z& T$ I
pLight->Ambient.b *= 0.9f;
) a$ R$ ~& v+ E. \ o7 N0 ^3 e8 R; H% U+ [. |# Q8 I k
memcpy( &m_light, pLight, sizeof( m_light ) );
2 ?- }. Z* {9 Y$ D& x# W
& Z7 w( U! ~5 t pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );7 c E+ B: `8 e# U, Y( M, b# f A4 w
pLight->Appear( m_pd3dDevice, TRUE );
6 T* @: Y# t5 M ( K* I1 Z: u# y: ^9 {
DWORD dwR, dwG, dwB;
% i3 ?; U$ g- ^6 o; Q3 [. H. a# y dwR = (DWORD)( pLight->Ambient.r * 255 );# z1 j- H4 b* g L9 Z8 t4 D
dwG = (DWORD)( pLight->Ambient.g * 255 );& k& }7 d* D1 C' ~4 J3 I! \
dwB = (DWORD)( pLight->Ambient.b * 255 );
8 y) m& f. J' N* r& K4 Z2 ` dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );" \1 Y; G$ M. r1 e3 e
}
; s% V' S% P: y1 t }' N8 c! C4 _2 g7 A
else
0 o- ^. @& a) F {
9 `* B g9 K0 Y- O, v0 x if( pLight )1 z% t+ y4 A% ]# A0 |" R
{
6 n' g: ]+ s9 s: S6 C
" \3 V) `$ e- b& @. `- R5 t int nHour = 8, nMin = 0;
# A8 e" v0 h! x! S# {/ T; ]6 O2 v #ifdef __CLIENT
. c# ]' c9 L) [( ^. l; b // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. $ T+ Z1 ]6 H9 J- Z
nHour = g_GameTimer.m_nHour;& Z5 H* d% a# h+ y* G
nMin = g_GameTimer.m_nMin ;+ O) P, }/ k# G) e- C
#else* j" O6 `; `0 v# |7 @$ e" x9 K
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
6 _4 c5 N3 R) O1 C if( m_nLightType == 1 )
4 o8 V' K" m) Q2 [ nHour = m_nLightHour;
?. ~7 ~- G* h4 w5 ?4 _ #endif
, e7 R, e. o, R2 } nHour--;
( A3 Y6 A9 O' x, W9 G if( nHour < 0 ) nHour = 0;* R! ~! V' V- W, \7 N6 _
if( nHour > 23 ) nHour = 23;7 a- q9 Z. d" Z6 m- D: r6 N$ s
: I* c& K' v0 \, r6 M //if( m_bFixedHour )- D9 D) M, d Y1 X t+ s
// nHour = m_nFixedHour, nMin = 0;
0 D. Q/ o/ v, ]/ l1 [! D+ L LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
% b' E6 {' u0 ]) c! p v& g LIGHTCOLOR lightColor = m_k24Light[ nHour ];
4 ^/ B' ]3 V4 [4 R" }* H
7 ?. [$ `: U# R) T6 p7 f, U( T+ L$ C //m_lightColor = lightColorPrv;4 t. ^' M# P( P. G1 P+ Y; |
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
; `! n H) o9 w0 a lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
& G+ q! n0 |) |% U& a/ T: E1 p lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;1 i" L# @8 W3 T9 [8 ~! |% `. D- o
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;0 D6 W" ?2 x$ B& x
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;. i- M1 N! V. }4 t; t3 L
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
* P: t0 ]( k- N // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)3 y A- C+ n9 p# }
0 j7 C5 m5 O" |4 j // à??μ oˉè* # W' {$ |, r$ S$ I. R6 H
pLight->Diffuse.r = lightColorPrv.r1;0 P* a ]$ I9 T s/ d
pLight->Diffuse.g = lightColorPrv.g1;
7 z5 u/ L. |$ P2 k% Z pLight->Diffuse.b = lightColorPrv.b1;: J/ Z- e! L7 x( E5 y" _! r5 @# S; |
// oˉè* ??à?
3 l( p6 B% Z/ O; [, q! q# w pLight->Specular.r = 1.0f;
, j' G9 v) k5 y' f/ K! H/ i pLight->Specular.g = 1.0f;
X' `, N% w, L( Q9 D: o8 S pLight->Specular.b = 1.0f; ]2 b7 \9 K+ F$ `
// àü?? oˉè*
$ k) f$ M( n% Z# c2 } pLight->Ambient.r = lightColorPrv.r2;
' T- {0 r) m9 |& H% G) X pLight->Ambient.g = lightColorPrv.g2;
* x$ k) r* w' d) E pLight->Ambient.b = lightColorPrv.b2;
0 [/ H- y% x# u& r% h8 J% {' f S4 q* ~6 p0 I
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.- r% o1 s& V) a+ Q7 {2 p' {% W# g8 P
{
/ S/ d5 ^/ w7 ]- f: b1 I; I pLight->Diffuse.r *= 0.6f;
/ n4 g. z6 R" w% U) r pLight->Diffuse.g *= 0.6f;) y0 C" |! S* D3 a- w
pLight->Diffuse.b *= 0.6f;
9 l X1 n: Y+ d pLight->Ambient.r *= 0.7f;1 R* D" T5 _" {5 U8 p
pLight->Ambient.g *= 0.7f;
5 X, r6 o: F, } pLight->Ambient.b *= 0.7f;3 z9 a- T/ F: L% a" F
}% h! Q. V& o0 U2 g
0 R3 e0 g$ T: d4 r2 A! X#if __VER >= 15 // __BS_CHANGING_ENVIR
& _: c% }( h+ l& X$ {7 m f* l if( g_pPlayer )
8 Y2 j* p' E* X. b0 `# R- e HookUpdateLight( pLight ); , `3 o& J0 u9 m& [, W0 s$ y
#endif+ n- _0 q1 A" }6 z1 J! k0 Y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
9 }/ h% B8 B! _+ q/ S- B/ V6 Y7 Z( |7 h; ?' k, L$ J
#ifdef __YENV" w) z* e* T, L3 r* q
pLight->Diffuse.r *= 1.1f;, `! {+ |6 k8 _0 G9 i7 \/ L
pLight->Diffuse.g *= 1.1f;3 V8 m; |; P% {% K$ w1 g; C @+ b" Z
pLight->Diffuse.b *= 1.1f;9 g) p& F; o5 T* b7 I [7 X
// oˉè* ??à? , m7 V0 D; @2 v/ `0 z# L/ ^4 ~$ v
pLight->Specular.r = 2.0f;& x0 R! u- ?3 \8 E
pLight->Specular.g = 2.0f; w( D a# _: i& |5 z) B
pLight->Specular.b = 2.0f;4 h3 o1 t3 f4 d2 ~6 a
// á?oˉ 9 d9 a' g; ]1 ^
pLight->Ambient.r *= 1.0f;
2 Z5 U3 m& E' }9 S9 J pLight->Ambient.g *= 1.0f;
c# q/ j: @% K; k _0 F pLight->Ambient.b *= 1.0f;
, A6 t! w3 g5 ^0 Z#else //__YENV
n5 B6 E& Q/ w- F5 [ pLight->Diffuse.r *= 1.1f;
- j r; j, N9 m3 d+ j s4 [ pLight->Diffuse.g *= 1.1f;
1 ?1 t, r; Y/ m+ g! N& m# X- U pLight->Diffuse.b *= 1.1f;
0 I5 W! [- f7 r& z1 ~. o. \6 M // oˉè* ??à?
2 \3 n- p( ~! ` pLight->Specular.r = 2.0f;
2 M9 ~1 E6 \% Q4 C( a& ? pLight->Specular.g = 2.0f;
& ?9 ?' M3 p2 X- I pLight->Specular.b = 2.0f;
$ }9 W7 ?; i" G! N9 M0 o, D% K' C // á?oˉ
% K9 R: Y( Y9 `+ r/ S pLight->Ambient.r *= 0.9f;6 X. d! C; M6 c" H; I
pLight->Ambient.g *= 0.9f;- d" w" S7 D& Q }! d
pLight->Ambient.b *= 0.9f;- a4 f8 f$ {7 p: C) m
#endif //__YENV & z! \+ ^ ~2 D# o, G& k' v
! |3 b# z. c4 S D6 n" ~" _, b" c
memcpy( &m_light, pLight, sizeof( m_light ) );
8 g: W+ a& T3 }& J2 E" {! n
0 S3 P' N8 C, A D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);' h& Y) C( d# q+ ^5 G/ ~9 K4 z
D3DXMATRIX matTemp;( a) R- |6 d2 R- V9 ^1 C5 k
static const float CONS_VAL = 3.1415926f / 180.f;
6 {& T. o% v1 X8 ~6 J4 \) b4 h
, V2 ]& t& O- w. I% _" T4 } v" n D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
0 o3 f' B+ i. f3 q' {; j D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
% L& Z, p4 C% S! M! m' M0 W# h; M J# s$ u pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); " j- r/ U! S, N5 [3 z2 c6 h
pLight->Appear( m_pd3dDevice, TRUE );, F; n9 J4 J$ P
) _8 ^8 H8 n1 p8 [
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f); A8 }# i+ Y+ D8 S
// D3DXVec3Normalize(&(vecSun),&(vecSun));/ K$ U) h! f# p/ _+ P8 X. o) C0 f
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
( ?9 y( d4 X1 N x! ^/ D
8 i% M. U* |- M; T: a- E* n DWORD dwR, dwG, dwB;+ H1 i! j% T; z% z8 s
dwR = (DWORD)( pLight->Ambient.r * 255 );# H0 I+ @4 A, F, `5 s, b* p) S
dwG = (DWORD)( pLight->Ambient.g * 255 );" i1 n; A/ z! N% `$ `& B0 M
dwB = (DWORD)( pLight->Ambient.b * 255 );9 e1 t& S* w' U$ e) i
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- t5 \+ s) |8 w }
; F6 f/ G! C( l5 f( q! Q% q% W }
2 B) ?: {' u2 `8 M, f) A" b3 _3 W/ o; K
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );& B3 V9 E7 f- ?) n- @0 A) m
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) );+ t' `- m: Y+ y" W+ K. A! o3 N- o
::SetLight( bLight );
+ p( O" i5 x( G* H- V- A
! {- |& I7 d2 G O% a- R // ±ao? ?D?í???ó á¤à? 7 W# w' g* R5 g* i
m_pd3dDevice->SetMaterial( &m_baseMaterial );& b$ K* m- g+ L% C% }% R; \3 O
0 [/ z) H/ w) C- u @1 E4 ~. h
#endif // not WORLDSERVER
. h6 U) d6 N4 R2 O6 w/ o( \7 g}
9 J1 J- F) v0 S# m( b/ V并更换
& f' e. `& M: f0 k2 T1 e: _4 a2 P! c$ D: wCode:2 Y$ l& k( d" R" |: L8 b
__FLYFF_INITPAGE_EXT6 l' X7 ~1 m, p
定义* Q# c0 C3 i) F# u
# l8 y7 m" L0 [/ J# ^( \; i3 O: I6 G; [5 b
f+ l6 y f/ D! O/ h
! R# y$ J# n) ?7 h( i7 r现在终于删除我的狗屁加速.../ E7 [+ X1 j7 |% R# o/ h+ d; r
" u% g' e8 q* _1 I( f h, v+ j8 e L- J: N3 E
: f, _1 p% o4 O/ ]
|
|