|
食品车:( p, D! A$ Z8 V" m, G
尾翼:
8 A3 W9 j) Q) U4 C; V0 D. G
1 f" |# t, x" E# w代码:
. b/ p4 B4 [# j' ~7 Z7 v2 iCWndAutoFood::CWndAutoFood()
0 p0 V* }+ A" s9 }& i2 r{4 q7 _4 x9 q( \* T' i9 c6 f
m_pItemElem = NULL;
4 H1 p7 k) R8 O m_pTexture = NULL;! |; Q* S9 |/ @& @ P: b
bStart = FALSE;
' ^4 R2 o" \$ v5 k0 j0 o}
+ U1 Y, b* L" r g5 K, U, P9 P7 \, b+ [* U' A
CWndAutoFood::~CWndAutoFood()
2 w6 w$ z! {$ Q% v{
+ s3 o" s; c1 s AfxMessageBox( "AutoFood ist gestorben " );" N9 D" |0 S$ {9 f
}6 A- e, n) Y1 F! \
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
: a1 j7 W3 C5 ~9 \* L{5 D5 a( T/ T/ i. ~1 u, O8 \
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
: T; e: {- c1 s$ ]$ P}5 c% \3 H: m; Q3 a, c5 @
8 b! z% O0 U0 R
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
. X: C% v4 F ~ Q- U{
: @ C" E- L" t9 W) [% e: a LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
8 O7 s2 ~, J, V CRect rect = pWndCtrl->rect;+ B6 |: f. l O- h* Y
if( rect && rect.PtInRect( point ) )
+ T/ J/ E; l' x6 L {
4 V1 s' G; t) I# S+ j CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );& Z j4 J2 {; ^* a6 O; x
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
$ k4 H+ y+ A& S9 |& ?% ? m {; `7 K# X: E6 h; S8 `9 p
if( m_pItemElem )* e* \: m9 v" f" b
{
- i, _) E) @- [6 r m_pItemElem = NULL;
5 W% G& V* @2 U/ X' B }
# z6 r; v5 M& x2 j7 Y- B# ?: d: Y/ Z m_pItemElem = pItemElem; T- P. e. g5 X. J4 b+ P% U q
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
# V4 Q% D" V6 k }else{! D, i0 P& @ [4 |8 ^
SetForbid( TRUE );. [6 E* T: k4 I/ i
}
/ c$ A; ?# a0 P2 k7 t0 X5 x }else{
" V# Y/ z) A+ }& O SetForbid( TRUE );& e' ?6 y8 I4 O. z5 p' @
}
+ I& \' S5 }, I return TRUE;7 W! b* n5 @9 p7 l* [4 f
}, O* u7 b! l, Y
0 \6 [) X" i2 LBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )0 x4 {4 @9 z2 v4 { r
{. w2 V' t( w# j
switch( nID )1 S4 X! s9 Q- r5 Z! }3 m! Z2 c
{
' J1 G0 v1 z" M5 c case WIDC_BUTTON3:
9 r; J; [- e) z0 g! p3 w* f8 W {- r ^7 B" V3 Z# Z* g) ?! r7 l
bStart = TRUE;
5 C1 p$ c8 F+ C3 ?6 t break;
2 ~" ~ G+ ~& _+ `2 c8 N3 E9 u3 @ }" n! a2 s0 s$ w" y1 F5 n! W
case WIDC_BUTTON4:
. O1 U/ `6 b2 V8 Z {+ }% B! v1 Q; \- a% d9 _
bStart = FALSE;( Z3 F5 o3 u% K& s' V
break;4 l5 t. [( i0 m& _4 n; ]
}
' n) | u3 E1 H3 o: w }
5 {# o- M2 F! G/ p' [1 x return CWndNeuz::OnChildNotify( message, nID, pLResult );
& D; z; k& a/ H" a9 f& I1 i} # ]5 u; ^! j. T4 _( t. M5 V6 V
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
% q) d5 n0 o1 v% G/ Q- [{" k, [! N8 C7 D' e
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );0 J. }4 z7 C: ^7 r( n9 ^; I: a1 M
if( bStart || !m_pItemElem )' k( t9 T: z& h
{/ i! N, F E$ G# u/ z1 }
pBtn->EnableWindow( FALSE );% p3 ?: e- V( i! h' i2 J' K& V
}else1 @+ l4 D; [: T+ G5 f! J
pBtn->EnableWindow( TRUE );: m8 |# Z( }. d; M: S& V
if( m_pTexture )
2 U0 r. h1 }( n0 Q9 z; R1 q# l {# [* E. P( [% Y$ t' B7 e% Z
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
$ _! ]: M. U' u' |- H& u2 D if( wndCtrl && wndCtrl->rect )( k/ c& [+ {- \9 C1 ?) V
{# C, I8 z/ ^. m3 E
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );" C b5 w/ V4 f! _# f
}
8 n/ x! {& \7 E8 O { }
& T, a# D+ `6 q/ q8 g# u; u}
6 K5 c7 [0 ?' o; v. F& E7 S- R/ N. @7 I
BOOL CWndAutoFood: rocess()3 F) b2 ~+ |# ?
{
1 I p/ N4 b' v9 i+ ^+ z if( bStart )7 L; Z% |2 o% r( k) T
{
% z: r/ h- G4 S: y! h- E* [ if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
' z5 h" B6 O8 [ {- b4 H& z* [8 T" Q/ E+ X2 b( i' 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() )" ~$ E! Z6 m9 {5 C( g6 e
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );5 V5 [6 y- z3 W p7 V* {8 R" Z
}else{
i2 \: G( u% y" X" O% d2 Z bStart = FALSE;
; Q' `' J) D/ m m_pItemElem = NULL;
2 ~5 `2 H5 z4 ]( u }7 [' C: V0 v% [1 C
}
9 E+ w7 B' j' C B! I return TRUE;* W; k/ V4 q* ^/ U# i/ B- Z1 M
}4 q" n# h& z% N2 B! {
2 F9 y: d+ _" _) c登录视频废话:8 C: p$ d H3 c5 Y1 f* _$ Z
尾翼:
& T7 ? V/ x p$ H! P) ^7 d, b2 e2 m4 {
代码:
$ A4 E2 [9 n! U0 \: _
\+ Q' s9 F" B, Avoid CWorld::SetLight( BOOL bLight )! R. H' R+ E+ t( _$ Q3 Y
durch
$ m' p1 `- M1 W( P, aCode:: j4 B0 P# a: ^+ i9 m$ K
void CWorld::SetLight( BOOL bLight ). x2 D' V' @: q- {- F* q7 F) v
{; b# S$ H/ U& B: ^. H4 o
//ACE("SetLight %d \n", bLight);. J2 D6 v, _. L
% _6 h! l* B1 H, X# D7 B/ T: S
#ifndef __WORLDSERVER
# q$ j* o0 @8 J- C) J DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);- S" s& q1 @& A4 i
CLight* pLight = NULL;
b% E6 e9 m" w F; q
5 m3 E. }. V, T" {' b D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
' C' W+ {3 {; y3 G. }2 x* I% V
pLight = GetLight( "direction" );$ F% p8 P0 g& W% G
; \6 u3 x! I( j/ o) S2 I#if __VER >= 15 // __BS_CHANGING_ENVIR- I8 w5 S) m0 D9 a' |9 _
if( g_pPlayer ){
4 v# H& q% p. [! m/ ^ ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
/ e% [* u s" v$ S& Q" X2 o" L9 | if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
Z& E( _6 s" d I; s" f7 B& M {' ]8 j/ _5 T5 k) W3 }0 I
if( pLight ) B8 h. g, W2 Y( u: G
{
' t+ l/ V, c2 L$ Q. H pLight->Ambient.r = pInfo->_fAmbient[ 0 ];7 Z( n3 i/ p% u8 D
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
- A( L) {5 j5 Z. \! j: g/ j* P pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
# N h7 g! Y7 J' j# D9 f0 V# L" ], Q" F4 W5 ?- T8 \# [
pLight->Specular.r = 2.0f;9 u0 f4 m; S3 P& O G, M
pLight->Specular.g = 2.0f;
% Y* ~* \/ v9 h2 n* f pLight->Specular.b = 2.0f;
; ~0 g. f0 o" h$ ` $ p( ?; E/ u! l, h
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];3 J0 f H5 {' U+ n
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];% N+ G1 S1 r0 q6 L [
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];0 |- ^/ `1 @7 l1 B7 l! a3 _
0 z- G: Z t& _# E! b- }2 O* K HookUpdateLight( pLight ); $ p0 ^# \$ m0 U) l/ r3 J
" D3 I+ F7 g; t/ J8 ?6 D+ V
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) ); ~- A' B, b6 M" c2 a* f9 U: z% {
, g6 S3 O, {! w# |: v5 F8 t2 e& g$ w
pLight->Diffuse.r *= 1.2f;7 z& x* k+ A- W: H' G
pLight->Diffuse.g *= 1.2f;" }6 f6 l: M7 o# C1 G
pLight->Diffuse.b *= 1.2f;- A4 J' k+ ]# e* Y9 q" ?- u
* w3 u3 ?4 D6 W) T$ V2 e
pLight->Ambient.r *= 0.8f; @0 n8 Q4 m, l% H* S+ D+ F' }
pLight->Ambient.g *= 0.8f;. O" \; T4 g! D! p6 S& r; G( w
pLight->Ambient.b *= 0.8f;% M" d2 k% A* A1 j4 f0 Y
: {- o( k3 o3 Q4 }( [ memcpy( &m_light, pLight, sizeof( m_light ) );) _# p0 S. b) J w
3 K( l0 [* C. Y% G$ E8 Y; `
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
( h3 ]" f9 {* |( Q( [ D3DXVec3Normalize(&(vecSun),&(vecSun));
+ d3 y, { G1 E5 s pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
4 p7 N6 x# g! b7 Q* U pLight->Appear( m_pd3dDevice, TRUE );
# M8 u# d' u* r $ f% I9 k& u. Q, n
DWORD dwR, dwG, dwB;
& B) m& D0 V9 ~: i" u( A; @0 l dwR = (DWORD)( pLight->Ambient.r * 255 );
' O9 }' y" ]+ E, V dwG = (DWORD)( pLight->Ambient.g * 255 );. ~4 y% E( m! o% f' W
dwB = (DWORD)( pLight->Ambient.b * 255 );
7 k. G1 o! p( ]8 G dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );7 d5 i- R; `8 A
}2 w' E i [8 v
}
" C! o1 f; }' J0 j( v) G }
$ [0 w: f* M& ]6 D2 O- j else) E3 I6 i: {1 k! A/ S
#endif * D+ F7 _7 j1 W) R7 g: }4 w6 q
: Z4 u% O* X( M" a4 E: z2 B if( m_bIsIndoor )# V( Y) s9 r0 ~$ ?
{. J; s; g! V" m4 x7 {. L# O
if( pLight )
% b3 \' n7 n6 m3 D0 d {
* q6 X4 h7 ^/ @7 B* P2 Z. Y; j) X // à??μ oˉè* O; l2 P8 g( W1 o2 l
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
( o4 S3 u, A0 {1 Y- s9 ? pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;9 Z* q3 J2 K( `( G5 Y) K( Q
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
! j# b% C+ p; Q+ A6 x& \) x6 X9 l4 u% ?
// oˉè* ??à?
. o l- W, ]" q: v( m3 d% o# D+ S pLight->Specular.r = 1.0f;/ Y! R0 n" B2 B
pLight->Specular.g = 1.0f;2 Y; H+ d! I7 K, V ~0 n
pLight->Specular.b = 1.0f;
4 \9 B6 l6 l$ ]( r5 x // àü?? oˉè* : m5 U1 ? t, f$ M% W/ O7 y
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;) m7 O+ Q& `' |( X% g2 K7 ?
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
6 g7 j2 l1 b0 e pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
1 r, \2 A0 J5 d& v8 Z: ?3 j7 x4 q* c
# i, a, S& {$ Z" f- ~" S if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
% E% K, `4 o' a% H& \% a6 ~- n {
8 V- M% z1 J! B% Y; y5 g pLight->Diffuse.r *= 0.6f;8 o% p! i) R' ?& u3 Y
pLight->Diffuse.g *= 0.6f;% X) |* y X5 c6 E0 w* c1 \( R! @
pLight->Diffuse.b *= 0.6f;
! t) e( k# @( O pLight->Ambient.r *= 0.7f;
6 T" M$ r: M( R, Z pLight->Ambient.g *= 0.7f;
7 Z! [+ P% Z: G/ {8 J$ _$ s pLight->Ambient.b *= 0.7f;
; q# ?% E1 N) i8 M @9 m2 \. E: _ }
N8 F, t1 e6 l1 j/ P. e. |$ d0 Q% d" u8 F! X9 H
#if __VER >= 15 // __BS_CHANGING_ENVIR
3 s! h3 m) R0 k if( g_pPlayer )
3 Q$ M4 o( u9 I3 I1 ]# K HookUpdateLight( pLight );3 q5 b! B& Q/ t' y; K6 T
#endif
$ W9 Q+ \) D' {8 t7 b4 F memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );( H/ N& u" w7 {( E) Z' P
* o3 S! `# G: s. }0 l' F7 \8 z
pLight->Diffuse.r += 0.1f;1 o+ q" e A4 ^- A2 y9 Q
pLight->Diffuse.g += 0.1f;( L- z* j- \( Y0 O( F' Z
pLight->Diffuse.b += 0.1f;/ D; w/ r* ] w$ T" C% {
// oˉè* ??à?
( v, d* g' Z; x5 G* ~5 u$ j pLight->Specular.r = 2.0f;
% u0 E0 @; G1 b4 l pLight->Specular.g = 2.0f;) N8 y8 q& {, k n2 U
pLight->Specular.b = 2.0f;! c6 S2 ~* L$ F" o' j3 j
// á?oˉ
& v/ O6 U2 w0 _9 a) ] pLight->Ambient.r *= 0.9f;; [- x( _( L1 ~2 v9 L/ j
pLight->Ambient.g *= 0.9f;: }) m- M' D9 R+ ]/ [9 e: q8 u
pLight->Ambient.b *= 0.9f;# @+ o; r2 [' {' k
; k+ {: P4 ?+ H
memcpy( &m_light, pLight, sizeof( m_light ) );; [& J' r1 T" V: ~* e
C4 g- p9 S8 Q pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z ); }7 ~8 K- ]& y( M" D8 B
pLight->Appear( m_pd3dDevice, TRUE );( x6 _2 f/ s2 f; G5 a$ P6 M
! C# f: p( N2 \( n* \ DWORD dwR, dwG, dwB;
5 H, h, u b- N! X4 F# {$ A dwR = (DWORD)( pLight->Ambient.r * 255 );
4 O: B/ b6 V' ~% W7 f* _/ R dwG = (DWORD)( pLight->Ambient.g * 255 );
! D9 I: K" t F dwB = (DWORD)( pLight->Ambient.b * 255 );9 h: r: \$ Y4 s9 Z
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" v! R; u/ r3 F" h( N. H0 H } V4 O) j4 t$ T4 q
}
4 {" C' `5 N4 a4 z( T; W& ~$ x& F else
3 f! j- f* y; Y5 S, B6 B6 z8 e {! U6 f- a' A' f8 X& o
if( pLight )7 J3 e4 s. [7 q1 A
{% C( S! B! {" r1 S+ o
6 M5 B7 ] K3 R int nHour = 8, nMin = 0;* b- z: A8 Z7 B) S% ^
#ifdef __CLIENT8 B! K% ? u" \8 L: c9 A: Q* h( _
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. - ^4 l" Q- p! x4 U
nHour = g_GameTimer.m_nHour;
8 ~3 y6 o- r" K0 X nMin = g_GameTimer.m_nMin ;
1 B; t0 {0 g5 m% R I #else
% d" t: |% R; f2 N // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
2 [7 g' `; c8 d if( m_nLightType == 1 ). G( i* l( j! Q4 E
nHour = m_nLightHour;
$ w' F& Y; r8 ^ #endif
& V2 P% T& G8 N! f1 V nHour--;& N+ x5 ]# y9 ~9 \; o) g" _$ H
if( nHour < 0 ) nHour = 0;
' ]6 |8 M$ O/ a' p) `0 d8 l5 u if( nHour > 23 ) nHour = 23;
4 h; i: E# j0 s& E& l# ]. S- G1 D7 f2 B3 w3 k- f. V6 i3 L
//if( m_bFixedHour ); ^$ k' E$ W. H
// nHour = m_nFixedHour, nMin = 0;+ E- p9 s/ t- l4 U4 d
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];% x+ H7 r/ F2 T& x1 q; L
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
- {& w N: ?- P6 K3 t( s8 C
: ^1 R3 ]: E5 B/ j X //m_lightColor = lightColorPrv;) l% m- p/ q5 P+ b0 ]
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;4 D) ]/ E8 C. T0 B* ^9 x
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
& H) X7 f: ^& e0 P4 l; o lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
# _ B4 O" \* J) w( `, W lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
3 H, B6 d$ k+ P3 ?8 ]. A- N lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
; ~6 N! S+ O& J2 C lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;' Q- ~# A; s8 Y, s' p. F3 r% D
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)- F" v% f! c1 U2 i" w! Y
% l/ k" N# ?" m
// à??μ oˉè*
' n- b0 b0 V5 s. h+ y pLight->Diffuse.r = lightColorPrv.r1;! |! G! L4 E* A, }0 i
pLight->Diffuse.g = lightColorPrv.g1;& K* Y% H C- l7 k$ w+ H
pLight->Diffuse.b = lightColorPrv.b1;
8 ]2 m9 e, y7 }2 `' E" A5 k9 E4 m // oˉè* ??à? 8 S4 u% r i w: B6 i2 S" Q" x6 _
pLight->Specular.r = 1.0f;
/ n, s6 b6 h* T; ~ _' x pLight->Specular.g = 1.0f;7 T8 O" \4 f* `
pLight->Specular.b = 1.0f;
9 R A9 s7 ~; P1 c, X9 k6 J // àü?? oˉè*
6 ~. [$ s+ k$ t" d" t3 a7 p$ e pLight->Ambient.r = lightColorPrv.r2;" n; |# m* r& B, k% G
pLight->Ambient.g = lightColorPrv.g2;; [" ^" x0 r: S& p* @
pLight->Ambient.b = lightColorPrv.b2;
]% `5 Q! n/ m) U
3 t4 v+ r2 y! P8 f if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.+ [6 |4 s$ Y7 z
{! q9 y2 S) \* J
pLight->Diffuse.r *= 0.6f;
- Y6 y$ l6 P- F pLight->Diffuse.g *= 0.6f;( g) b# G& I, _$ X4 K5 R
pLight->Diffuse.b *= 0.6f;
( `" Z d3 c% V* Y7 K pLight->Ambient.r *= 0.7f;: |& ~5 c# W$ P9 k. u" h
pLight->Ambient.g *= 0.7f;
. Y5 e+ z6 h$ Z7 ~& ~( c pLight->Ambient.b *= 0.7f;3 Q, y' g$ c/ K; B
}
6 X1 \1 S7 _: Q% \3 d # ^( O2 y: [/ q# ?
#if __VER >= 15 // __BS_CHANGING_ENVIR
/ q* f& i: q& f9 R2 q' G- t$ | if( g_pPlayer )
2 V. \+ ]6 W, \) J. I+ {) r6 Y8 ]3 A HookUpdateLight( pLight );
! ~8 c# I( x" R; |' Y/ \, p8 ]/ e#endif, z+ N% H/ d4 C: v. \4 {
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );& c/ x9 P3 ~0 N* I; {+ l
' }% z. k# u( I4 g* v#ifdef __YENV7 \2 a5 s$ r2 t
pLight->Diffuse.r *= 1.1f; L' _# \+ W8 W! l# D+ ~. C
pLight->Diffuse.g *= 1.1f;4 C' Z1 ?: T: \: J! F* j
pLight->Diffuse.b *= 1.1f;
; W+ ]( |# }# {' `( r4 E // oˉè* ??à? 4 l3 P6 ^. ]$ L* d9 x4 j' C+ W- _6 l8 X
pLight->Specular.r = 2.0f;; n1 F4 O. F: b
pLight->Specular.g = 2.0f;( {( v0 x( {) K7 A" c3 m4 t
pLight->Specular.b = 2.0f;
9 [9 e3 U& L% M) }) J; c3 G // á?oˉ
" F1 q) {2 w* u3 o$ Y! h9 S. M0 R! n pLight->Ambient.r *= 1.0f;5 K. s! D6 ~8 M$ b& Y$ A
pLight->Ambient.g *= 1.0f;: q. d2 b% y# |4 [
pLight->Ambient.b *= 1.0f;6 s) O% ]* z# Q- K
#else //__YENV
& {* g, w. Y, | pLight->Diffuse.r *= 1.1f;
! f6 }- q/ |4 I/ ^- y. v5 V pLight->Diffuse.g *= 1.1f;
1 g" v1 h# v. Y1 }% r" q% n" K pLight->Diffuse.b *= 1.1f;
" Q) C/ Q5 W! h8 ^6 Q/ ]; Z // oˉè* ??à? : K% R2 ], a+ a7 _. N( o/ r$ s
pLight->Specular.r = 2.0f;7 C- J6 t2 [: f
pLight->Specular.g = 2.0f;
8 F q5 O3 W; c. w! S7 `( F( y( j* ~- Z pLight->Specular.b = 2.0f;
2 B# m4 v; G- p // á?oˉ # M0 x8 k3 d3 x4 ]3 ^" f* W
pLight->Ambient.r *= 0.9f;9 b0 s. Y9 Q: U
pLight->Ambient.g *= 0.9f;) O7 H ?# k& k9 U K4 k
pLight->Ambient.b *= 0.9f;( x# l& [+ y$ F# ?' z4 w$ Q
#endif //__YENV # e P* Y, k. {% N8 T
7 p1 r8 Q6 M: g8 ?% V memcpy( &m_light, pLight, sizeof( m_light ) );4 I7 d h% e1 W" X! ^
4 N! z' E8 J m; D6 S( \
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
- ^. z1 @( m* E5 s# u( D, H D3DXMATRIX matTemp;
, I, X5 Z7 m/ p6 D static const float CONS_VAL = 3.1415926f / 180.f;! j4 w* c# r o
! ~/ I) C U/ w$ P D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);3 V! B( q' A: p4 F% T6 q
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);: P/ s4 e8 i3 O( ]& P# s; n
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
/ c8 {$ `: m' C8 }5 {8 k pLight->Appear( m_pd3dDevice, TRUE );4 W" ]7 y; K+ [; L) b4 y0 ^
7 n& t7 ?' h& v4 k& q$ F- f
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
( y) Q+ `: A( N5 p6 p; l // D3DXVec3Normalize(&(vecSun),&(vecSun));
- S1 @& }* y; ]8 \' ~6 h a6 L# K // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); . [, W0 R9 c+ h7 A1 n) P* |! |3 s
y) Z2 |% P5 @( ~
DWORD dwR, dwG, dwB;
8 x8 x* p: @* _ dwR = (DWORD)( pLight->Ambient.r * 255 );
: t/ c9 D8 E% E dwG = (DWORD)( pLight->Ambient.g * 255 );
/ f6 E! s2 L9 b4 n dwB = (DWORD)( pLight->Ambient.b * 255 );$ V1 A/ H. b$ j, I( a
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB ); 3 G& h" ^: ?: T" E* J( e* y
}
5 A- b' b. S: E3 j- c' O }
# O* P. Z( e( t8 c4 [( I( u( l1 W
8 N- Z; Q b2 h' O m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
0 O- n" r& G' G: e. q( S 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) );
+ o! k, Q6 l3 h0 B3 r4 k ::SetLight( bLight );1 o: x9 t, _- N3 q0 D. w+ I
6 u. |7 Z6 d( }! V2 {
// ±ao? ?D?í???ó á¤à?
) J. I" e6 A1 k8 u1 I5 b' N m_pd3dDevice->SetMaterial( &m_baseMaterial );
, i6 K5 G& a" h7 V $ m6 m9 V8 t2 O5 T$ Z
#endif // not WORLDSERVER. ?9 \, v% h6 t4 x% \. h1 x" `9 e
}0 l" v- K# C H1 I# r
并更换( W- u+ {* K# N# i+ }# c
Code:
+ D% S9 d1 i+ X$ L. ^7 S2 I__FLYFF_INITPAGE_EXT& p) G8 Y0 c% y: V+ {4 {0 V
定义8 V5 @ V7 Z$ `
1 U8 w' y; {) d' _" n
3 Z* Q$ }7 ~# a
) U0 X. R! q& l! Q$ R7 Q. n c" x/ `0 K2 r
现在终于删除我的狗屁加速...
+ b' P, A5 w0 b4 p4 k3 X. |6 S" c1 P: }( z+ ~
8 ^4 \# |( w1 ]2 Y$ H# `3 V6 r2 L V0 R- G1 N4 R+ L
|
|