|
|
食品车:/ w$ E, ]* U2 _, E
尾翼:
! o) m) z! O2 r) w6 D& l2 E/ h! M" C% A
代码:
5 y: e# p' Y3 t1 i0 q( kCWndAutoFood::CWndAutoFood(), I" L2 I, E# q6 S. |
{9 y7 _/ f, N# u
m_pItemElem = NULL;
4 {' r. ^/ w* p* U4 H0 f m_pTexture = NULL;/ X% @! |7 o6 a2 O; o3 z
bStart = FALSE;
' E, o) K0 @6 j* j+ E}9 b6 m9 Y9 z% \! b
9 [, v# `5 ]$ q, S
CWndAutoFood::~CWndAutoFood()/ v. Y' K7 w0 P0 ]6 s$ I
{: Z" |1 @" i T6 W7 g# ~, ^
AfxMessageBox( "AutoFood ist gestorben " );
0 o6 h h' F: P* m4 l& p6 W}
' v; D1 P; [- x* }1 YBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
y* O! n# `5 r- R4 d{ \. ]/ D8 `1 l5 t/ I
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
$ U/ s& }4 K+ e' ~$ W}
4 I5 [- _" b* i: |- p
: O2 u8 T3 C- Q2 P: |3 Y5 VBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
2 I/ T+ ?7 l, n8 \{% o5 {0 l2 B$ j" Q$ ]
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );5 u& D# g2 _) o
CRect rect = pWndCtrl->rect;0 I: q9 P' `- U( f* |0 D) J0 A. e1 V
if( rect && rect.PtInRect( point ) )9 r" l& U0 w, O# Z- G8 {
{2 T9 h- U& P& K v9 e# I; E
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
1 L0 [/ a$ M1 f% }& B if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
2 V5 ]' u* q# C$ h. q {, _7 N* H2 L9 d) G
if( m_pItemElem )
' ?" e5 j* N3 I6 Q; D5 k {
8 r" @5 n8 w+ J6 t! O8 |* O m_pItemElem = NULL;$ B+ b) n* d0 z: \2 Q
}& s u' G- {% F5 Q3 r
m_pItemElem = pItemElem;: m# [/ f' l; ^" T! y
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );4 {, I0 e: e' L) ?7 {% h
}else{% q) I! v: c/ ?4 k
SetForbid( TRUE );3 P o. } e# x9 j/ W. T% i
}6 i$ U& t6 J5 W$ c
}else{
/ G0 n/ A* M1 K) x2 r SetForbid( TRUE );% Z1 d. o$ s) ?$ b
}
% c% s/ s8 ]6 m v, m9 M return TRUE;" T% C8 V# x* x; u2 ?
}5 K0 y) O3 t/ l; r3 `
; ^7 A& u$ ~+ Q8 Q$ k" l
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
* A& x" v( q8 R6 J) j/ H) X{
4 ^$ X! }. k7 a" s; |; e switch( nID )( }/ X; E7 i& l T0 g* C3 T
{& s% U! I8 {# ^( ]' q3 ?+ M5 R B
case WIDC_BUTTON3:
9 ^. {% L! a+ L" T V8 ^8 [ {( C7 m8 o4 C0 v6 s+ @
bStart = TRUE;' ^+ g) i+ A8 J/ G' i c2 X2 ~
break;9 ^: h7 W& { n4 O& P t
} i, M/ i6 j/ i6 S# c1 E3 U$ l3 B7 `: ?
case WIDC_BUTTON4:
: L% h6 {, _2 b* r {3 p" [0 H# n1 t+ g3 R
bStart = FALSE;
; f A5 _2 z1 p8 n. U9 H break;; j6 q. g( J; q( ?& i3 q! H' a; v
}" t/ S% k% S& w) N$ T" ^
}
: m0 c U" X$ n0 E return CWndNeuz::OnChildNotify( message, nID, pLResult );
& X0 p9 I4 k7 I; {6 E} : m' X. K3 _% _2 p2 m( I
void CWndAutoFood::OnDraw( C2DRender* p2DRender )& y; l0 V: f! u& V: j J
{3 `3 |1 ^6 F3 `1 n( S
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
- `4 K6 r1 I1 D2 {% W. J/ Y if( bStart || !m_pItemElem )( \; n: @* Y, b n- w9 E
{* x- {$ W* G: M, c1 N* m
pBtn->EnableWindow( FALSE );
4 C6 [( l( }. u4 T, z }else- o$ p; P8 d2 E8 H
pBtn->EnableWindow( TRUE );
7 M7 {6 L& T: c. X, { if( m_pTexture )! u; P7 T: h, b. |! O) V5 g
{6 Q6 q1 {+ o! v$ H' x
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
+ \4 F) U/ s+ L* G if( wndCtrl && wndCtrl->rect )
* T) W# @( u' I- K6 l0 }0 b {5 _# N C5 e, g, a, d
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );' Q+ g% m/ b( S7 `; B5 {
}
- k0 B6 l+ ]" y) P6 G" [% o }
K3 E9 N$ j) K5 \, t' N8 s7 t! }8 _}
$ d# A# v, D. `2 ~/ w" X, L
! j# k" \2 L% ^BOOL CWndAutoFood: rocess()- X9 H) }& s1 }" y3 U6 n. |
{
# m n( @9 N7 q7 X4 i if( bStart )
0 U/ H8 Q0 P1 U& p8 a {& \* C1 T- C2 d* C2 o" p2 c
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )" v: g7 w" W" t
{' |! @* L" @' L) {+ s+ F* s. 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() )4 m. a: s6 B: ]
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
, ^& O+ T/ Y F }else{
% z* L6 k- z+ }9 x/ g bStart = FALSE;
& K0 k, k2 R6 N2 U5 m0 | m_pItemElem = NULL;0 ^7 G6 o8 Y' Y) ]9 o6 b3 r' z3 e
}
) @* Q5 c7 }" k3 m, s }
5 J5 Z/ `; p( { return TRUE;0 _) ]- m6 L: S+ b" Z# @
}
: K2 J0 R6 t4 a4 T* Y+ d8 I% ~* \
1 g# Y" ?! O$ O登录视频废话:8 `& I8 L- ]5 u* x6 W' b2 v
尾翼:, L: p. J3 w2 F7 G& Y1 @6 J
; d/ _8 s( s% E6 l) J! i/ k代码:
+ x3 `/ ~; N1 V* O0 x
; t9 g. x0 b8 t+ g1 C, Lvoid CWorld::SetLight( BOOL bLight )4 f3 P" Z8 ^0 I6 `
durch/ \! s Z. N. }2 P! G2 x
Code:/ s/ `* |/ e- Y2 E$ G
void CWorld::SetLight( BOOL bLight )6 h, s8 s/ H# U
{
- A9 _* d. ]3 d1 D2 G. K //ACE("SetLight %d \n", bLight);; I% f1 M5 d- H
% u. r7 _: |7 E. @. g: N#ifndef __WORLDSERVER & M6 f& T& G6 G2 E+ P8 k) K2 ~* N
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);8 |: }* u# @: E' g+ C
CLight* pLight = NULL;0 `! s0 v. m+ V. x: n
( d+ E: W* T: C
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
' V! C. T, T b& c B/ o! N; t- K
. `4 O) S; [& k9 G, U pLight = GetLight( "direction" );
, {3 Y6 x5 X+ s- M8 }
Y/ z3 t/ b. Z( u#if __VER >= 15 // __BS_CHANGING_ENVIR
6 d. G/ l# O0 L$ V2 ^ if( g_pPlayer ){8 ^) F0 \3 n4 A. x; o) L# V6 g
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );* Q, `) H) }5 _3 ]( P
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!/ i$ \3 ~6 f, ^" ~2 t9 i4 n$ T# T
{
1 g6 f' R2 W3 l0 R- T; W if( pLight )# h% r# z" q5 E) N. B
{
" F: _- j. f5 T pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
& }- U- ]3 l% I9 r1 l pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
: B" l, {9 \* r. H- g0 y pLight->Ambient.b = pInfo->_fAmbient[ 2 ];1 G7 ?, G* v* ?& F, k2 ~
& R- w% ^4 k# J K8 N( X3 L. K
pLight->Specular.r = 2.0f;4 m4 K, g) {& u! u
pLight->Specular.g = 2.0f;6 d8 |. @$ ]4 v8 J% Y+ D
pLight->Specular.b = 2.0f;5 F2 e8 N' g0 @+ ?
. B. U5 P9 I A* ]' z. w pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];0 y( @4 ~: R0 T' l! b0 j! { Y
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];, |8 Q# [+ Z8 U- V) u" Y
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
" w9 ]9 c5 ]7 V" o6 s- x+ g V4 C& k5 m' a& E! Y
HookUpdateLight( pLight );
* Q8 [ S2 p r+ ^) s. ?* o( @5 c4 \1 i9 k, i3 o7 o
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );3 L9 Z# `% |( n# v3 T
8 X8 g/ h; a6 A0 @# E# e7 E7 G pLight->Diffuse.r *= 1.2f;% \4 B, \) k0 r' a! L) S& V
pLight->Diffuse.g *= 1.2f;' X2 N, I% O5 e7 W$ z
pLight->Diffuse.b *= 1.2f;
3 A1 T2 g8 N" D4 B
1 g3 z) ~% U( m1 A pLight->Ambient.r *= 0.8f;1 J6 I; d0 P3 ?5 N; u* s X
pLight->Ambient.g *= 0.8f;
, W- K7 c4 ?8 @/ x9 | pLight->Ambient.b *= 0.8f;! u2 p6 j# T& {0 w6 j$ w$ r+ q" l
( Z% B5 r! n/ Q+ k+ l/ k1 |
memcpy( &m_light, pLight, sizeof( m_light ) );
- C9 ]- @' a& d5 P3 z1 u
; ^/ W8 D1 k$ P5 \) s D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);# l3 `6 J3 v: F% H [
D3DXVec3Normalize(&(vecSun),&(vecSun));
$ p+ l) n) Q- ?/ G pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 9 u: d; y! E7 M. K/ N
pLight->Appear( m_pd3dDevice, TRUE );
+ N j) e0 I7 b7 M , B( w3 z( Y* W( T) v" R9 ?' m. N( K
DWORD dwR, dwG, dwB;- N6 ?* n: X- j7 P* q& R6 {, j9 Q* G
dwR = (DWORD)( pLight->Ambient.r * 255 );
0 R' J% A/ P; S* F* ^ dwG = (DWORD)( pLight->Ambient.g * 255 );
4 g2 F5 B1 Q. W! w/ }2 l, s dwB = (DWORD)( pLight->Ambient.b * 255 );
8 [6 z" k, q0 n0 Z dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) P7 b( E4 t1 A7 q' u7 G# v% a u }" h; V F2 s3 ^! q S5 i: {5 A
}
" }# p: F2 ^, y, s U# ]7 D } `: k0 w: T" h* F' w! j
else
( T7 C" s, F6 d$ n: k#endif J( Y$ F* F. M% l! m1 [
5 h1 q$ [; k* N& p: J
if( m_bIsIndoor )4 ?- G" v9 a) ?6 V" e! f; S, }
{
: C& v& }3 Y2 j3 u+ I( _9 | if( pLight )
( z. Z. P7 H8 r {
$ j$ L& q) V+ } // à??μ oˉè* 4 L& f6 ~# |1 K, p0 ?
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;9 z6 x; J, X, m) T1 |4 ^2 V
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;; M d' A' ]9 t k) \, T
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
- ^, F3 K0 @ x/ R" K7 S
; v6 R X9 p2 V. b: Q. X // oˉè* ??à? & m; M+ U* d4 T0 a2 w
pLight->Specular.r = 1.0f;
' C+ t$ K ]% u" P4 l- N- T pLight->Specular.g = 1.0f;
9 X7 [; D) G; B pLight->Specular.b = 1.0f;
# B5 ^7 N4 t) Y$ E // àü?? oˉè* 4 J( s& t/ L X- h! v& n
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;! I& k/ I% p [7 B
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
$ G4 m9 t3 L# B4 r# O pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;7 K! u9 D$ e- m, ^* |; M
" Q6 l6 ]2 i6 k! k if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.6 |* R# k. n" ]5 r
{& m) I8 F: p- A8 T5 ?; X0 _' s9 H
pLight->Diffuse.r *= 0.6f;. S* l: t, g& ^3 A
pLight->Diffuse.g *= 0.6f;
9 U N7 k6 n/ ?, d: ? pLight->Diffuse.b *= 0.6f;) p" _) `0 {$ D6 v4 a4 o
pLight->Ambient.r *= 0.7f;
" C- M, W6 Q7 @8 C8 @; s pLight->Ambient.g *= 0.7f;* a# Q6 p7 Y2 L4 r
pLight->Ambient.b *= 0.7f;
6 z2 u/ T6 W3 n5 p' G }
# b% k2 O6 s& t1 e; B9 u
. i/ c+ d$ W4 X7 b' z) S& Q/ n* O#if __VER >= 15 // __BS_CHANGING_ENVIR! T# V& t) f# t3 ~* K
if( g_pPlayer ): w H/ O9 I- l+ O2 h8 Q
HookUpdateLight( pLight );
6 J+ s/ r- ~+ N) `$ R% z#endif
4 R5 H+ s- u" q5 o- N! Y memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ g2 E+ ?& Z; E K! K- P2 C- X# Z* [0 n. c4 V
pLight->Diffuse.r += 0.1f;8 U1 `2 U; E: T& L
pLight->Diffuse.g += 0.1f;; F& c2 `7 `. a1 A% G
pLight->Diffuse.b += 0.1f;
* }9 b2 W$ D! @7 f // oˉè* ??à?
% X$ y z; j$ M$ G6 g' N1 ~ pLight->Specular.r = 2.0f;
" K& p! \) u% E6 @" @6 R ~* g pLight->Specular.g = 2.0f;: L+ h8 r2 ]1 p; z8 P$ `( P
pLight->Specular.b = 2.0f;
) w5 x% M. P6 {# C/ |1 e // á?oˉ ; v1 Y; c4 A$ a; ] U1 j
pLight->Ambient.r *= 0.9f;
. d9 z5 ^1 d5 j3 ~. _& X+ N" p/ C pLight->Ambient.g *= 0.9f;' D) p$ A3 s0 R6 P( [) y# X
pLight->Ambient.b *= 0.9f;9 |. J6 h9 R. q) q' t
! n& @# w$ C8 v memcpy( &m_light, pLight, sizeof( m_light ) );
7 ~2 I; }" b) X% ~; W; v8 [1 W
2 {5 d% D3 _1 j% { pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
$ ^" i6 e% Q& U4 b1 B pLight->Appear( m_pd3dDevice, TRUE );0 X* N' x% g5 X3 M3 j
/ L: x$ f/ h, R6 i0 m DWORD dwR, dwG, dwB;
6 S: M/ G& c% {% g. j+ g. O( _ dwR = (DWORD)( pLight->Ambient.r * 255 );# K' C3 f: z3 L* \+ X
dwG = (DWORD)( pLight->Ambient.g * 255 );: M' T* @8 n# e C
dwB = (DWORD)( pLight->Ambient.b * 255 );( Q* @2 H# d# C; Q p( k7 M
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" [% L1 p# c: D9 U/ s }
S* a& x" W, o9 H }
& m s, B" }/ l4 S& r else
' ?. D) m( ?# N; k3 L2 } {
3 }% s# o5 N8 F ~- g( g9 }% o if( pLight )
/ q$ M7 y1 [+ z& H j9 a+ ~ {
/ M4 ~* z: Q+ f, E, @* Q
3 a- k# C3 T) B* y7 N! a& Z* u( } int nHour = 8, nMin = 0;3 Y n3 ^" _* F9 o
#ifdef __CLIENT
9 g: l/ @# ^" h0 M // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. & s3 x C( X: w) G3 y8 {& [
nHour = g_GameTimer.m_nHour;& L/ v* }7 R7 q# E! k6 U/ w% U% q
nMin = g_GameTimer.m_nMin ;6 [2 X5 g# E- H! x3 J9 t* F
#else
" l" [- e+ p+ i4 F e" h // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.! i. O Q: ?: a, k' b& l w
if( m_nLightType == 1 )9 ]4 B8 v6 i+ T. k% m1 V9 @5 J
nHour = m_nLightHour;
2 @& I7 v+ a& H #endif/ d- K/ t J! _3 c7 ^/ r! D
nHour--;
( P$ Q# P) M; o8 j9 C if( nHour < 0 ) nHour = 0;
7 w3 \2 _( y. D; ^. K if( nHour > 23 ) nHour = 23;+ _; B* h) _% _% ?
- ]1 R7 O: I. g) { //if( m_bFixedHour )0 e$ J9 ]- H0 u* k5 Y* ?
// nHour = m_nFixedHour, nMin = 0;- E3 X9 m, M s( n9 o" b" N) N& s
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
% G C6 y% C5 C9 B LIGHTCOLOR lightColor = m_k24Light[ nHour ];
. K+ w% u9 }2 A# Y0 F! B( c( T- g. _2 V& [% j0 r" G
//m_lightColor = lightColorPrv;8 R( A* b, ?! V- w( }: B
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
- L k- G3 @6 I1 C+ j& Z lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;8 g& q! }/ V0 B% [- f) [) c
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
6 g" ~8 q# X3 Y8 A- Y lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;. o9 b! p- f) ~8 U6 d4 }5 S
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
( B/ T. |0 @, k5 B9 F lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;4 }8 a% S7 m" m! k3 M9 h) d
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
1 s& u! d2 V7 u* I. L0 O7 |; q! o; p; v
- y. V o( x E& Q. d# s // à??μ oˉè*
( B" o9 J1 {- r: V+ l7 U pLight->Diffuse.r = lightColorPrv.r1;
1 v" E$ \, w2 X( g8 P/ b pLight->Diffuse.g = lightColorPrv.g1;
; v& a; _ N$ k Q, @! a2 ` pLight->Diffuse.b = lightColorPrv.b1;
) l7 `, V; j1 U& R, v$ o2 T+ ~$ ?* ~ // oˉè* ??à? $ Y: U, ~& X* z% w
pLight->Specular.r = 1.0f;
7 U% [0 a) W' _; C1 ^8 Z3 P# l1 n: R pLight->Specular.g = 1.0f;
3 a! b/ I# P$ _3 h4 ?! {) S pLight->Specular.b = 1.0f;
5 B& _0 @( V2 _4 v3 o5 j& t // àü?? oˉè*
; `* p% O2 C7 x, w+ X/ P5 |4 s* Q5 U pLight->Ambient.r = lightColorPrv.r2;% X7 f7 G$ z2 i) V; H
pLight->Ambient.g = lightColorPrv.g2;6 x2 C: H' z& y+ [0 y! L8 O8 u- T7 R: m0 p
pLight->Ambient.b = lightColorPrv.b2;4 Y) d! U2 u" |- ?% v
2 [( j& t. c H4 Z/ v; E9 t* W4 W if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
+ Q& o' A0 L/ A, l/ t {
7 B# t; b, @' [5 ^) l. t pLight->Diffuse.r *= 0.6f;# F6 Q# l+ \/ v: E* u; c; [
pLight->Diffuse.g *= 0.6f;
, f$ n0 h# ]. }/ o i8 u, W pLight->Diffuse.b *= 0.6f;2 U% x( P$ y1 v6 O
pLight->Ambient.r *= 0.7f;
( a0 z& F6 g+ n& |- l) w pLight->Ambient.g *= 0.7f;3 R. B/ J, K1 H/ P" q5 j
pLight->Ambient.b *= 0.7f;
" ]0 r2 j! Q7 w; T1 S) B& c }
( v% D4 J& D3 x5 n: _
7 g% |! v- n( p6 l#if __VER >= 15 // __BS_CHANGING_ENVIR4 T+ v7 Y( k* `6 y9 @
if( g_pPlayer )3 N p6 ~% Q* K, R
HookUpdateLight( pLight );
/ [1 C/ b. u5 A5 u' \) q#endif
1 h6 C- r. v" k; ?0 V# J memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% o/ [9 o5 e0 ^) a$ j9 r6 N! K' r4 Y
#ifdef __YENV
R/ T8 `1 Z( e/ Z ?0 u pLight->Diffuse.r *= 1.1f;5 e G. J1 s8 Z: f3 S
pLight->Diffuse.g *= 1.1f;4 h3 l/ A3 y( L# a
pLight->Diffuse.b *= 1.1f;6 B: W6 G2 z& x" v4 @
// oˉè* ??à?
6 A/ V# Y" w' s2 E% c# f5 |' L, V pLight->Specular.r = 2.0f;+ s: A1 f5 |: v: B( y- ?
pLight->Specular.g = 2.0f;& C C f5 Y" c+ I3 w$ X8 h
pLight->Specular.b = 2.0f;# |/ E( `( ]- ]) Y% x/ G$ O
// á?oˉ 5 e* a" p6 D- q
pLight->Ambient.r *= 1.0f;! |( l% ]. F' t s
pLight->Ambient.g *= 1.0f;
/ @) R# D+ h: R! [! r: H7 \ pLight->Ambient.b *= 1.0f;
% |5 H5 L* D9 ~8 ^ J9 d#else //__YENV
8 c( X; N$ l4 Q; F. W7 V pLight->Diffuse.r *= 1.1f;/ q/ W' a4 W! i( [! E; [" w ?
pLight->Diffuse.g *= 1.1f;: n: F$ v0 l3 `8 u
pLight->Diffuse.b *= 1.1f;
5 D6 o& z8 \/ B7 C // oˉè* ??à?
. A+ P: K0 \8 R, A/ i+ ? pLight->Specular.r = 2.0f;
7 _8 e4 Q+ I" U# v( {: a pLight->Specular.g = 2.0f; U U6 [$ X1 n$ j% D
pLight->Specular.b = 2.0f;5 B/ f$ ?8 ]8 n) b5 k
// á?oˉ
# `3 Q+ F3 Y" f, S pLight->Ambient.r *= 0.9f;& D( W5 O9 C4 b7 i4 [
pLight->Ambient.g *= 0.9f;
2 O& |' V" O- H" X+ F5 y5 q pLight->Ambient.b *= 0.9f;
2 y: Z: `" e; _#endif //__YENV ) a7 G* Y& M0 k* B3 G3 S% O& u) n) h
. F& \, ~( F A' c$ q memcpy( &m_light, pLight, sizeof( m_light ) );
9 Y9 d4 P* }9 z- s
4 H# T3 J, R P) J6 T" H, U D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
9 K9 |+ |' f% E D3DXMATRIX matTemp;" I, y+ q0 ^, L3 h x$ w
static const float CONS_VAL = 3.1415926f / 180.f;
3 ]$ N2 E4 G% f
' `; n+ f$ N/ R& l$ K% T D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
5 j2 p* ^- A% ^/ u4 K5 K6 E D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
K* ]8 N& v* e4 S9 ^ pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
+ V& X- X) W* A) g6 _! V pLight->Appear( m_pd3dDevice, TRUE );
2 C- g) A% H, z6 l( K. ~1 a8 H0 f
' i! n7 D9 i- c% V0 W1 d // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
8 y) i: I( k* ?+ _- X h* W2 V5 T // D3DXVec3Normalize(&(vecSun),&(vecSun));- H. t/ S6 H1 L9 w, P: I* m/ c l
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
" E4 l, [5 H2 H9 o7 Z6 U1 o y' C% q2 s6 `- J. Z
DWORD dwR, dwG, dwB;
( r$ P/ h7 \: f0 k& l dwR = (DWORD)( pLight->Ambient.r * 255 );
8 S; h! {: f. d4 b+ o" n, ?7 S! N: v# e dwG = (DWORD)( pLight->Ambient.g * 255 );2 |. S% g! Z) ?2 F' t! w9 ~
dwB = (DWORD)( pLight->Ambient.b * 255 );
" R3 B$ c- G5 w# e D5 j% \ dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); * t: |( o+ k W) X5 i( p
}$ e1 D Y& X4 R( t$ C4 M0 I# k
}
! R! [& y; |! v+ n3 [7 R) H- u& u7 y/ I: `- l
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
: `2 D/ ]6 u7 ]* K( r 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) );
9 g3 K; N) {0 o* }3 x. V- W+ O/ h ::SetLight( bLight );
, L) j! s& @" N; o" n! D' U8 m. H4 t/ j" j! z& u: H
// ±ao? ?D?í???ó á¤à? 8 C! D- @8 r: S8 e3 ^
m_pd3dDevice->SetMaterial( &m_baseMaterial );
$ \$ A1 M4 i6 y& U% C( V0 c
9 B) V R: {, Z; z#endif // not WORLDSERVER
, K" S. |3 q, t4 ]( x. U) Z6 g! r2 q}
6 s3 W; t/ C% l& |并更换 g5 A7 W+ d: N
Code:7 e7 C7 W8 a2 s# k- A3 y
__FLYFF_INITPAGE_EXT# I2 R( w6 r; Y
定义9 c6 N% B5 G. @. x6 w2 a$ y+ O1 _: i; [
& r: F) ^# v- j* a6 |
8 s1 V E, }8 w- o; E4 e+ k k. v
0 z. H" O% p8 j# n( V
5 w ~& {5 D& F& U; r; P* m
现在终于删除我的狗屁加速...
$ G/ k9 g6 G# S i( J- O, Z( P9 d l+ [! F% N2 ]$ A6 C" r8 n1 d
C' B6 I b. Z& k9 w! N
5 @5 J5 S, M2 Y, y+ X7 @
|
|