飞飞世界论坛

标题: 自动饮血和登录视频 [打印本页]

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:# P8 s+ P7 s$ a) D; L4 |( r
尾翼:- X% T, K% L7 g" t  j4 ^) x
) t  q& c, v7 K# G5 a) Z- c
代码:. P" n. \  g% I  g, b
CWndAutoFood::CWndAutoFood()
- v, l4 F- m7 e; O) M# d5 Y3 ]{
1 m: R) A- Q, j9 \9 b3 {        m_pItemElem = NULL;  z7 V! i7 f# F4 P; ]( m* h: g
        m_pTexture = NULL;
4 k/ }! j  i9 \9 Y4 m        bStart = FALSE;: T* H2 g& J( t$ z
}
6 f1 L# X+ j) }/ J, h- m
: V: K# C+ u; C% A# @7 B& hCWndAutoFood::~CWndAutoFood()) n! g6 b+ b$ }# {/ h4 X5 {& Y
{0 N: [; e8 p  s8 Q2 c
        AfxMessageBox( "AutoFood ist gestorben " );
% P, t. S/ J; X( f0 O5 T}3 G) o5 V: E0 o- {/ f
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
6 q* w' k, y, O+ U: H: }& n{
9 \5 y/ p. A9 D4 w$ p) J        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
; U# }  T9 r- x, j% R( q* a}
2 N* a8 ^# B" \6 y7 o+ k' Y& V* u3 Y) a* O
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
9 J# D/ M4 P; l& g0 z{
$ z5 A% b0 O9 }5 ^- d% R* }        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
& D( f  C/ ^! A5 X1 `5 n        CRect rect = pWndCtrl->rect;
  t# g+ f1 a# J3 \6 R  p        if( rect && rect.PtInRect( point ) )2 s$ X$ V: @! U& U/ m6 z# y
        {/ k+ j8 f7 |2 x$ i; M6 v
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );4 r' b0 Y  j+ @2 w; _4 w
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )) U) r4 Y. B- q9 d
                {& s, U0 V' c  r( [
                        if( m_pItemElem )( d/ c6 Z/ X, [* @% _5 v
                        {
: q; X9 A* V- j* Y& ^$ z                                m_pItemElem = NULL;
! Q* Q1 ~, g8 x8 T                        }4 T: N9 D* c8 w# N5 ]
                        m_pItemElem = pItemElem;
- @$ b( t" b7 w2 O4 d0 y                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );6 z1 @. B& B# ?
                }else{
1 g  u+ `% l5 X5 _, X9 w( B9 ?                        SetForbid( TRUE );2 U8 c2 ~6 m% S0 a) O) `
                }
+ V; r6 C, L& T+ L        }else{0 [5 {8 }/ d" _
                SetForbid( TRUE );
, O8 C. s/ f* `& @& C! u( ^        }
- ~- A4 M7 Y5 X! z        return TRUE;
( p' j4 f) Z* o; E# e' A' p* F. c}' s! u8 V( S6 c$ `4 W" r) E: P

0 N  v  {  W: k  ?8 E! s& EBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
! v. T4 D/ D' `4 c5 ^4 j& x1 e{
% N' s7 I/ ~( q+ p        switch( nID )
3 v  c2 A* K1 a        {* j' N' }8 J. P! P, d6 A
        case WIDC_BUTTON3:/ S( x" v& I6 O% P0 K7 s
                {
% c. M; H9 G8 r& D                        bStart = TRUE;: @+ A+ o, _, G- y' [3 c- o
                        break;# _& N5 F  U) w5 w+ b
                }
- v3 H5 ~0 b0 t" P2 V3 m7 G        case WIDC_BUTTON4:$ R8 D# u  k0 w& w' Z3 Y
                {. J$ s+ @/ n* h! c2 Z: k  D
                        bStart = FALSE;
6 G+ n, c$ O, h9 z) h/ z7 U                        break;
% d3 o$ l% i9 G5 M# ~5 N                }1 `# T* ?: K" K
        }# D4 ~$ K3 R5 P, Y+ Q6 T2 a
        return CWndNeuz::OnChildNotify( message, nID, pLResult );4 `4 ]4 x: g& v$ m
}       
' M2 S: [" o9 S; q8 Jvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
: c4 t( b( B% j+ r{2 b8 `  R7 W4 o% o$ ~
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );+ ?, P6 G4 W6 @. V0 W6 o2 i
        if( bStart || !m_pItemElem )
5 g1 ~  I* T% u: M  f3 `5 ]        {& T1 i6 i1 N0 W1 @$ V& p
                pBtn->EnableWindow( FALSE );0 E" K6 u! k$ C2 T" ^4 ]) M& O
        }else: c  y) D7 d8 j( g$ ?- S/ B
                pBtn->EnableWindow( TRUE );$ z1 A" W0 u: A
        if( m_pTexture )
9 f% E7 v: H! _1 r1 m! v* Q        {
% [6 ]6 t5 K" ^2 {- D3 u4 ?                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
3 i( v. K- W( ^8 G" d- I9 C                if( wndCtrl && wndCtrl->rect )+ q' @- M4 Y& t1 b7 J0 x; L
                {
/ O. Q: D9 _3 I3 J, k8 [                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
! |/ j0 I# v3 g: q' I3 u# m                }) |: K" B! y& v4 ^% }
        }
6 W" @; a  [& ]( N: X}( e6 r8 m; }+ f. E/ ^: s' ]

. u' X7 H! i9 s# l6 E* g5 Y. m* fBOOL CWndAutoFood:rocess()
, ]$ a, n; y" Y7 C& `! J: A; f% f{
" J: k( [; j$ K- M, I- @$ {        if( bStart )8 ], ]5 Q! v) E. L
        {2 z" v. ?* c: q8 f' Z$ x) d
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ), o$ a1 A5 U: B& f
                {1 I& I- m3 i! j# C. ?  H
                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )9 J& \# n2 j9 B/ h2 F1 ^  _9 E! @
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );( C% W, K- j4 I( O
                }else{
& \2 u6 W4 E# a. c                        bStart = FALSE;. H5 x' k4 M$ D  N( d% O1 d. a8 i* r
                        m_pItemElem = NULL;9 a% ?0 A7 ]9 Q2 K- H% }% r( F' j
                }
, [- k2 @2 B0 ]$ p( E        }
+ ~5 _* {6 Z' A        return TRUE;" j' R: `/ z- o& p
}; g1 {6 w& Q1 `: Y$ d+ s
- w% E, b8 D3 ]: P( z' H" ?
登录视频废话:+ O% }4 F6 q# D9 s: v5 A5 G
尾翼:( I* j+ I( _: F* @; o& A( n

, }5 Y. S4 D9 \& M1 r8 U; d代码:
$ _$ C3 s  f# @4 D. v0 g/ M) T, Q  P: Z1 @9 t; s
void CWorld::SetLight( BOOL bLight )
8 [1 O0 ?- ], _" wdurch* j' H, r7 \8 U8 s$ x
Code:/ M4 a; P+ n& ?* ?
void CWorld::SetLight( BOOL bLight )( B: z5 s: o: y) g
{! z& C9 j  P& O, J- c
        //ACE("SetLight %d \n", bLight);" _7 m8 ^3 O; z& x8 V
        - B$ M( @2 u. G! e
#ifndef  __WORLDSERVER
% n$ a. p9 Y* T: R  T9 V        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
/ j+ T0 F+ O1 |2 `        CLight* pLight = NULL;
7 D  O& m* u, Q$ w5 |& Z: \9 T4 k7 \- Z3 u/ ?: Z$ @! y* e1 M8 y
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
& x! x+ e0 ?# e6 N2 V8 n
3 k1 m" F  f# A( }        pLight = GetLight( "direction" );; H- m4 R3 S( M0 `1 G. I2 o
, m: y1 d- n! n
#if __VER >= 15 // __BS_CHANGING_ENVIR
; t: R  w' e) z) ^5 O: R9 P        if( g_pPlayer ){" h) Z' M2 N) \2 Y% F* h
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
4 V4 K( e% G- I4 I9 R. H  X% V                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!/ g9 K3 b9 G/ X
                {
' b( y% P2 L# D) f9 ?6 R                        if( pLight )
% D" q) m8 L7 H5 K( R                        {
* O+ Y, E( _% \* b                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
$ l' U; b* }( O/ |                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];- H5 Z7 Q& U( o2 o: n. S- B
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];% a# e5 K0 [& \. W" x8 j0 s' ^# X  x$ T+ C
* x9 {' Q/ M. _& {. A4 r
                                pLight->Specular.r = 2.0f;
2 r) V* ]/ U9 S3 i% x  k8 c                                pLight->Specular.g = 2.0f;& X5 _9 O( N5 P; Y* o! j1 C
                                pLight->Specular.b = 2.0f;0 D  E' G4 B$ |8 m1 p; s
       
: r+ v( U8 H; f                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];% I6 Y, V$ o4 ]  ~
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];# c7 l9 ?: J3 n& V+ J: o
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];1 Z- F! Y% Z$ [0 F
       
( u6 I: C0 W' j8 x                                HookUpdateLight( pLight );
6 ?: q1 I: n' a  Q+ n( L0 X3 f% m0 H( W( ?* t! f8 I1 ?. J0 g
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ D) @% f  y7 G* j               
1 T3 [- A' N( P- \                                pLight->Diffuse.r *= 1.2f;4 h4 j" T& J1 N( \: |6 S
                                pLight->Diffuse.g *= 1.2f;
7 F8 b# k/ B- j: f7 {; v                                pLight->Diffuse.b *= 1.2f;
6 C, ?+ Y+ _" `4 ~5 \( i# |' R, u* G. T7 ?+ U0 \- ?
                                pLight->Ambient.r *= 0.8f;3 S1 ^9 a  k% C  k
                                pLight->Ambient.g *= 0.8f;8 k2 ^5 G! `- I5 N+ b, \, u; F
                                pLight->Ambient.b *= 0.8f;
  d6 P! j7 u' l. z0 J1 q( p       
5 J4 {" Q+ o1 Q( }: t                                memcpy( &m_light, pLight, sizeof( m_light ) );
5 i/ f2 z" s( z- i" U: P7 B- Q8 o' r$ ^
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
& x+ A' y: o- @6 O( x                                 D3DXVec3Normalize(&(vecSun),&(vecSun));
, g2 x8 Y/ h, H+ w                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ! A7 u# b# {2 ]6 Q& H5 {  w
                                pLight->Appear( m_pd3dDevice, TRUE );% R2 V) O9 S8 }4 v) ~; ~( o5 P
                $ `5 N; V# E6 x' P7 n4 m: p8 K1 |
                                DWORD dwR, dwG, dwB;4 o7 g4 A5 g- F* F3 I: X
                                dwR = (DWORD)( pLight->Ambient.r * 255 );
$ b% ^4 o) g" ~, [% @4 j2 |                                dwG = (DWORD)( pLight->Ambient.g * 255 );
8 U% }5 U- C, _$ `                                dwB = (DWORD)( pLight->Ambient.b * 255 );
5 D. K* Y6 r; ~                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; i; L. k1 P0 `: E' W                        }- ?% k& Y" O7 r& }, e5 B/ u
                }
* X7 @3 F- q9 _, w% A. \        }
' `& D0 ?# y* x! c6 ~# W        else! ^% B$ ]' k+ `5 h/ x& O, D* j
#endif ! Z2 `6 C: v' M9 }( W! F2 f

' ~) c) h  L' G6 m' J/ I0 I        if( m_bIsIndoor )
. w9 ~2 H2 f! G5 _) X) i) {        {
  {; [/ k0 @; B+ e                if( pLight )
4 K! F. b2 h& H) D- {) r3 d" {                {                # o( S' }5 T' m* {4 h9 a
                        // à??μ oˉè*
6 V/ p3 s0 P% M; \                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
2 D( @* w7 s. @% ~1 e                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;$ e8 X. V3 A) q/ l2 H( O
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;- G) Z7 |6 i) p$ f5 r
  {: W4 q3 h, u6 X3 o7 f' K) e& ^9 b
                        // oˉè* ??à?
: J' X8 ~" `) c2 L& x4 }                        pLight->Specular.r = 1.0f;
* I: Z6 H0 }: i( l# F1 C                        pLight->Specular.g = 1.0f;, q6 S* e' S% z3 z+ B! Y6 ^
                        pLight->Specular.b = 1.0f;& T% k1 E8 G1 |/ r
                        // àü?? oˉè*
! p( `- q8 m  S0 L. o                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
4 b) {4 k! l( s                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;) L. h- R+ y8 E0 V
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;- I% R9 B- n" S/ z1 M" [. j

1 Q4 y; l9 u) E8 C% ?- z* ?$ X                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??." ]& r' s/ p! x8 d+ U
                        {& O  Y' ^9 M& m6 D* @$ L
                                pLight->Diffuse.r *= 0.6f;
( Q( {% ~, j6 ]  n; n& E& z                                pLight->Diffuse.g *= 0.6f;( B5 a9 }7 A2 ^" i( f, A
                                pLight->Diffuse.b *= 0.6f;
9 T8 ~. t: a" y                                pLight->Ambient.r *= 0.7f;
2 }: D5 C8 K9 k8 o) s( U                                pLight->Ambient.g *= 0.7f;; T8 I) Q5 }; V- B" \% ~8 k3 `% }5 @
                                pLight->Ambient.b *= 0.7f;
' y8 z* H7 q0 [# ]$ V; Z                        }# Y9 D" Y8 l7 J. n9 c# Z8 ~
" a- X/ Y' E- Z
#if __VER >= 15 // __BS_CHANGING_ENVIR
' O( I2 L2 m2 I2 |+ m- d' u                        if( g_pPlayer )
( W, c9 r' L% ?$ g! m                                HookUpdateLight( pLight );1 d: m+ q* p. F1 c* p" ?
#endif3 B, F5 O# @; s4 j. R
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );1 G7 r  m1 l* ?! d) X- e% R% ?
7 w- w+ K: o3 e
                        pLight->Diffuse.r  += 0.1f;7 z) N+ Q' v, z
                        pLight->Diffuse.g  += 0.1f;) z; n/ ?7 }% C' E: A$ o: r" Q
                        pLight->Diffuse.b  += 0.1f;( `$ p8 [+ O4 N6 L+ H* L4 W; [
                        // oˉè* ??à? # C% j6 I, o  m- a% S% V
                        pLight->Specular.r = 2.0f;6 T6 t( Y' O  b0 l/ N& @
                        pLight->Specular.g = 2.0f;
5 J8 P( K$ e$ B/ p$ k9 |; q                        pLight->Specular.b = 2.0f;' G8 \. Z, m: x
                        // á?oˉ
; M  a) |& C$ ?1 e! u                        pLight->Ambient.r  *= 0.9f;& `) X$ V+ b" |5 G9 `  @
                        pLight->Ambient.g  *= 0.9f;
+ ?) D2 u( E7 Z! o3 c                        pLight->Ambient.b  *= 0.9f;: ]3 @8 D1 o! s% S4 w
/ E# _" Z- C9 D6 W1 K0 T% R. v
                        memcpy( &m_light, pLight, sizeof( m_light ) );" d  m4 ?& ^+ L' H% v& P4 X6 t
                       
% g& V9 j2 O* E4 _2 e1 i                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );1 _; S+ v$ Y$ s9 {
                        pLight->Appear( m_pd3dDevice, TRUE );
% _- U7 y+ n: ?" \3 h       
2 W# R: I& I$ m- m, a" G0 R                        DWORD dwR, dwG, dwB;" |9 N( U# s* {( R
                        dwR = (DWORD)( pLight->Ambient.r * 255 );2 u8 F" }9 y( v
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
8 F# P+ J) h- Q3 M/ n1 N; \8 _, z, O                        dwB = (DWORD)( pLight->Ambient.b * 255 );4 G. f2 Y( }  K6 B9 T" W# b1 Y
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );+ n7 }1 W8 F' O& w
                }
8 ~5 N  Z6 C7 {1 F        }
; S  I1 N" Y1 l9 [; h4 V        else5 A. Q& M, L9 `# J+ R6 B3 `1 [
        {
' u+ M8 M' Z. H  C  T! A: K                if( pLight )
) C+ Y% f% T  {8 \                {3 h6 d1 q& ?" ?* t
                  f+ S& \$ ^" L1 j4 }2 K3 k
                        int nHour = 8, nMin = 0;
  G2 r4 P8 d. r" L+ V2 {        #ifdef __CLIENT
/ m' {) }$ S: {( x  Q. D, k! E                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
- @2 E: n* M; Y" x                        nHour = g_GameTimer.m_nHour;
& P+ s$ U2 S( L7 P" o- Q                        nMin  = g_GameTimer.m_nMin ;
2 C# \, u4 Q" e- |$ b5 R        #else, }% T! D. Q9 ]  h
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
$ f' ^% D/ z' _+ j                        if( m_nLightType == 1 )0 o9 F# M+ A4 {. |7 v, e0 T7 X! i
                                nHour = m_nLightHour;( y, O6 N8 M( ^  ]* P
        #endif
' `  U) Q3 Y9 L- U                        nHour--;; M. \0 A+ `& B- I- g: }) F
                        if( nHour < 0 ) nHour = 0;7 F/ @8 W" Y0 Y6 t
                        if( nHour > 23 ) nHour = 23;
: W8 }, m; ?# p5 T1 x) }4 u( w/ `  C: S' T. [
                        //if( m_bFixedHour )' n6 M/ g+ d2 y4 e0 t$ V7 Q7 z( O
                        //        nHour = m_nFixedHour, nMin = 0;3 S( A: v) J5 @. t6 h  Q! ]
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
. G/ K' E: o1 a) p7 j% }- I: {% ]                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];1 F( G) g+ i* C
1 R$ h; O0 j5 _5 j) u" w
                        //m_lightColor = lightColorPrv;1 Z0 e& h7 M9 D, F+ Q# `$ K2 I
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
5 U, ~& _. b# E' a5 e+ U                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;- l+ E8 Z+ v( w7 {1 K* q1 ^
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;2 _4 s9 G$ A: t) f3 n. `' Q
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;( P9 \( f9 s) c; A6 h
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;/ q$ d$ o' D$ T3 {. l
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
' D  x8 C; t0 b! `5 _                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)  R+ U0 {# @5 f* O: \9 ?

) {- X( q7 k' i; F/ O, _                        // à??μ oˉè* / l+ r7 u/ k- @
                        pLight->Diffuse.r  = lightColorPrv.r1;
/ h& v$ K* K* L5 y. R  s% M9 h                        pLight->Diffuse.g  = lightColorPrv.g1;
5 ^3 n! |. q* M  r/ {                        pLight->Diffuse.b  = lightColorPrv.b1;
- w& e4 c: W7 u/ W                        // oˉè* ??à? ' K- M) S0 @% P: ~
                        pLight->Specular.r = 1.0f;/ J4 @* \, B- W9 c
                        pLight->Specular.g = 1.0f;
1 M6 Y0 T: m2 d$ B3 S- O6 L* w                        pLight->Specular.b = 1.0f;
0 d( @" e. A: p1 l3 N                        // àü?? oˉè*
( h8 c6 v& C' Q1 D( H8 V8 p                        pLight->Ambient.r  = lightColorPrv.r2;; [/ m7 l' w2 |* w$ O( B2 n
                        pLight->Ambient.g  = lightColorPrv.g2;
. W. p+ c. x- b" |3 l+ R% l0 W: Y                        pLight->Ambient.b  = lightColorPrv.b2;
. g( r7 {1 X  D4 s2 i! ~6 Z6 i5 H+ r
! p' \% T! u) \                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.6 j/ [3 J# K8 [- R7 I
                        {/ [7 z0 z' B. v5 O& r& O
                                pLight->Diffuse.r *= 0.6f;
( e1 x& M' e# W                                pLight->Diffuse.g *= 0.6f;3 z, S$ Z) X2 |8 T* S- R
                                pLight->Diffuse.b *= 0.6f;* Q9 S' Q6 B1 S8 `* @, b/ |3 z7 X
                                pLight->Ambient.r *= 0.7f;9 H0 u2 i8 J% ?5 P9 L
                                pLight->Ambient.g *= 0.7f;, _, g3 J$ ^" N1 U1 }' s
                                pLight->Ambient.b *= 0.7f;+ }  ^- H  K5 H4 T/ s$ _
                        }7 w4 T$ D: J" g4 N) o- l, `2 a/ `
                       
7 V! S$ j4 S: ]; j5 J#if __VER >= 15 // __BS_CHANGING_ENVIR* a2 V. ^; o. Y( U, C  }
                        if( g_pPlayer ): ^& `+ g# h( x1 P
                                HookUpdateLight( pLight ); : Q1 u8 |' Q( L1 b# n3 c
#endif
8 w0 S+ t3 ?6 A! F+ O, m                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );7 a% J$ l: `8 a+ i( i' u' c
5 K1 D! z* @( N3 k2 Q2 H; B
#ifdef __YENV0 R3 Q! T: r/ y% T
                        pLight->Diffuse.r  *= 1.1f;
% s" C1 |' t/ A  l  C                        pLight->Diffuse.g  *= 1.1f;
5 o6 K! \" _3 {                        pLight->Diffuse.b  *= 1.1f;
: l- W  _, R+ w/ j4 k& n                        // oˉè* ??à?
; g: O8 r0 h* C7 j) A7 |7 B, n                        pLight->Specular.r = 2.0f;0 q  G" W! B9 J: |
                        pLight->Specular.g = 2.0f;
  s  ^# C! F6 Z                        pLight->Specular.b = 2.0f;
5 O0 ?. x6 V, j( z                        // á?oˉ 6 a3 c+ [. q' p6 k1 n  w
                        pLight->Ambient.r  *= 1.0f;
6 ~8 @4 [: g2 o/ t: }6 \                        pLight->Ambient.g  *= 1.0f;  Y" E- c0 {' V6 z8 m& M$ @
                        pLight->Ambient.b  *= 1.0f;) r' b1 U3 i* g( t. \
#else //__YENV
! Z- [0 Q1 c( R1 ?8 m- F$ O8 E7 V                        pLight->Diffuse.r  *= 1.1f;6 E( ]: w: {' ~/ y$ n5 O
                        pLight->Diffuse.g  *= 1.1f;$ b# M0 v, Y, u  S1 N
                        pLight->Diffuse.b  *= 1.1f;* X. c2 f9 f+ n6 J) ~
                        // oˉè* ??à?
8 ^9 `/ [+ s  A1 g5 o                        pLight->Specular.r = 2.0f;. O, B$ R5 f4 T- R0 Q2 e! `% C
                        pLight->Specular.g = 2.0f;& ^5 B8 ?+ ]( V
                        pLight->Specular.b = 2.0f;; e5 E: J- a& G# ^, @
                        // á?oˉ / Y) P& {- y! O/ Z: E5 J# \
                        pLight->Ambient.r  *= 0.9f;2 d5 ]' k- `; t  \4 X4 W
                        pLight->Ambient.g  *= 0.9f;
1 Z/ ?& o" @8 w                        pLight->Ambient.b  *= 0.9f;
5 \* A9 C) \+ H: B$ Z$ f  p#endif //__YENV 3 S( X! Q$ r& {
                        8 |: u5 @: i; O# `! {, x
                        memcpy( &m_light, pLight, sizeof( m_light ) );
( O& Q) ^/ @. z9 V' ?                       
% Z$ W4 b  z( y& x; e' k6 n                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
0 b0 R) k9 ]# n6 i8 t; z' F  W                        D3DXMATRIX  matTemp;
% [" C+ o( |# S0 _8 ]: M                        static const float CONS_VAL = 3.1415926f / 180.f;) r! c0 [! O9 i7 I  E4 n' C3 s3 F
& i7 V- k, e$ H. K
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);8 A% k  K8 J+ @
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
1 U. `7 s9 p* {: }) A* J* C; A6 g                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
+ D' _/ i' ]2 K- G! q% L( b* p  F                        pLight->Appear( m_pd3dDevice, TRUE );
4 t0 a  ^9 {" p8 o6 O9 N1 `% s$ T
' ~6 [9 R( {. D9 l+ f, p                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
! e1 T+ b* {- |9 }. G                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));& ~6 v( g: e" }3 z/ e2 O
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ) u2 D" K2 R! y. @0 U# B
- G9 V5 k5 v  Y; K
                        DWORD dwR, dwG, dwB;
/ N1 X; _# N* e  ~                        dwR = (DWORD)( pLight->Ambient.r * 255 );
4 P9 O% E8 G5 z4 W                        dwG = (DWORD)( pLight->Ambient.g * 255 );
+ r1 p% z& E" F* W2 c  v                        dwB = (DWORD)( pLight->Ambient.b * 255 );
& s+ a: u- \7 D) `6 S0 @                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                       
! G& J6 \9 N( C                }
. \8 {2 B& N1 K  S! M        }  h3 W6 x" T3 Z1 b" H1 j1 e
2 x+ j$ n9 F$ }# y
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );* A2 K9 X9 ^: ~7 l3 n  c, 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) );6 j! M9 O* G3 @: V# k% f9 S, p: e' l
        ::SetLight( bLight );
) s3 ^3 C4 t% }6 g0 D& T! v8 w! A* X* M; Q
        // ±ao? ?D?í???ó á¤à?
* [* u  x: ?& w4 f5 R        m_pd3dDevice->SetMaterial( &m_baseMaterial );9 ~) T/ h5 r$ W7 d2 h% C
        - ?6 h7 S% b$ N2 t
#endif // not WORLDSERVER
: ~. ?9 [1 c: g$ m5 o; `}
% p# }* o6 \& \1 q& T5 T  D并更换
; e* n% k# V/ cCode:$ Z2 J) G3 ~# I
__FLYFF_INITPAGE_EXT
( Y7 [; H1 i! u! {- @定义/ n1 [: }- s. |

0 I! [6 V; a3 W
! ^& ?( j* o8 ^! j; M6 u% B  W5 U4 s) `+ }1 u
; @  D  U: |1 @) h- [/ `; K1 J1 H
现在终于删除我的狗屁加速...
. `( n, w/ h+ J4 b
$ O- U( Y+ ]+ v" T
4 @3 c' `8 K0 H- y0 V
2 j8 T* X5 ?1 B: Y. w" W




欢迎光临 飞飞世界论坛 (http://www.ffwold.com/) Powered by Discuz! X3.2