飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:7 d7 H, K: b! F  m7 u
尾翼:
; R; |! }, s; y( }# g
8 G1 a* f& E( ]代码:- u% a, h2 a0 h* ?  @% q  }6 z0 v
CWndAutoFood::CWndAutoFood()6 O. x* x* V) [. ~( M
{- y- V  D# c! J+ \  |8 I  w
        m_pItemElem = NULL;
& v: F0 i" L8 r$ s        m_pTexture = NULL;
) \/ V0 K9 h& o; W8 J! e        bStart = FALSE;
" e$ w  s3 N% C# e& P5 E: T4 Z}
7 q' G2 J, `! ^7 q; X" f2 H/ e3 S9 V4 V
CWndAutoFood::~CWndAutoFood()
& W5 c# {4 h1 {' @{; M2 q) [* e# r3 I1 K2 L
        AfxMessageBox( "AutoFood ist gestorben " );
8 G9 f+ k  L, q, ?# T}
& }( j# ^1 i1 L& ?0 N* y3 h6 A% gBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
! {5 o' s" t2 {, s  }% Q{3 e, V0 n3 h4 ?) Z- [
        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );5 ]6 w4 d, d* @; [) L6 u
}5 I5 w& o- @' u7 R
4 e( ?! G* N9 a
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )- O* r5 o( k2 @& f
{+ W7 V* w. }" D6 M, W
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
- m/ v; ]. a3 q) N5 a8 s7 ^        CRect rect = pWndCtrl->rect;
8 d( b6 B9 c* B- X5 h" s( M        if( rect && rect.PtInRect( point ) )" i0 W, E! y* l/ m  l# @; G
        {
3 l+ q7 d7 F- z8 _3 s5 q; R                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );7 [$ w2 U6 t5 k% g
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD ); `% z2 R! k# \/ f. F: M( `+ a6 j
                {
3 z5 Q; x8 j) {  w1 f+ D! H$ _5 w                        if( m_pItemElem )1 W9 h- g1 m2 O  L8 @5 c  w1 D
                        {5 h8 W: d% u& |4 Q/ b
                                m_pItemElem = NULL;
+ {" X" @- y. |) Z5 y" H                        }6 G% l3 r  l! f' L9 M% x
                        m_pItemElem = pItemElem;
/ S& A% O; B) H  N: q8 h                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
" R) E  I* v/ B. C* V! e3 Y( G                }else{# q3 f. v& K, Y3 @' X7 D
                        SetForbid( TRUE );
+ ~( w9 i. B. K; g5 Q, n                }0 c5 R! Q( Q+ Z- g9 B& q8 c
        }else{
- A+ z$ l% Q6 {9 @; u9 N6 ]                SetForbid( TRUE );
9 P3 h! X. q2 ?* d        }
/ C% p+ s+ [9 l2 y# g        return TRUE;
" ^5 m$ e9 \, x! S7 X7 G' e/ n}3 f3 d4 D' k  z/ @& k% ~
: L! ^. e; w  B/ U1 S
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )2 L- W/ U% S$ v
{
" h/ O9 ~0 t/ k& o: w0 n. c& H        switch( nID )
  _' C4 n0 D. f  d: Y, F        {0 f' M; U6 c, y5 \) O
        case WIDC_BUTTON3:
& v+ n( Z+ f" R) X3 l9 g                {
6 V+ e/ J- v4 J5 c0 A                        bStart = TRUE;
  t- c# U5 ~3 r1 O% W, C                        break;
. M6 o8 p0 U/ d  M& W                }
: H6 Z' _9 S5 m0 O        case WIDC_BUTTON4:
3 X  a" K) \$ f9 q% s+ |                {
, H& M* `' ?7 n                        bStart = FALSE;( y9 z4 x; k& X9 {1 l  `
                        break;  m/ w' H0 @( @  v/ L0 C
                }
7 K5 p6 f; i$ z' d* `( C        }$ b5 u+ v0 m; z
        return CWndNeuz::OnChildNotify( message, nID, pLResult );2 V! D1 ?$ e3 _; t$ M" E! `  N
}       
' [9 \# j3 K7 L' O+ A+ h* C4 Evoid CWndAutoFood::OnDraw( C2DRender* p2DRender )- `) a$ {* U; Z. J, ~+ a$ I
{
8 g& G/ q% W, u- q' x+ d  L1 B        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
: X  _  {3 H: H0 e! @        if( bStart || !m_pItemElem )# r* |& ?: H) l  m
        {/ ^+ r, s8 S0 g; z  x1 S
                pBtn->EnableWindow( FALSE );
+ j) U* Z/ ^4 T) H2 u1 ]3 X        }else
/ W: h) e* x% H4 t1 z                pBtn->EnableWindow( TRUE );
/ F' d) v' ~' H6 p; l$ ]2 C        if( m_pTexture )
6 H7 J8 f: a% y1 G( p        {
( c: K. @% O& n" K+ J                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
5 q2 U. D% t" T2 Z8 J( q9 k                if( wndCtrl && wndCtrl->rect )
* y& \( U! ?- q! d                {
' e) G" E( D. \6 G  k7 z9 \                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
; O1 Q2 V4 R) R. ]! F6 |                }
: D' u5 l' y' S0 G        }
7 t: ?  Z5 {' J7 A0 C. \& S}  s9 G5 Y4 \% D2 U

- s0 b) \1 S3 @- v6 h% P$ W$ l  _9 kBOOL CWndAutoFood:rocess()
" a/ I+ K2 ]9 D( P) K5 s{0 a& s: o' K& G( ~: J, ^
        if( bStart )
" w0 Q5 m9 R1 |- U        {
; m/ Z: x7 d- v                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
/ }9 y& i% K6 c+ \' K                {
  A1 u2 l" f' o. v                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )0 X9 F8 S  c3 s7 K; B
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );1 M- `% Q3 }5 Q
                }else{  R) m: T9 [$ k
                        bStart = FALSE;
: {9 k' V! Q$ A( {3 ^3 t* E8 z; N                        m_pItemElem = NULL;
% D8 z6 Y- J0 t% H+ Y9 E* p                }- g/ k) z, z$ c0 @2 q& X6 z
        }
4 M* R. m2 l& `2 n) f' p        return TRUE;4 Y& b. J: D6 m
}$ }: A, Z3 l8 j& K0 ^
% [* f& b( ?( K0 x: C
登录视频废话:
: I; q+ K- q2 f! f- d! E尾翼:  u0 m2 S6 A0 v

/ ]: U0 S6 ~' @/ |2 |( w2 f代码:
+ I9 R2 B. Q* O3 r' y& t* z
  X/ z" |; \) vvoid CWorld::SetLight( BOOL bLight )
9 E- @$ o  N1 Vdurch
$ t1 d6 S$ {% ?; q$ ~( ]Code:
# J$ p1 V8 F/ F( T5 Hvoid CWorld::SetLight( BOOL bLight )  S/ D' R. r8 _+ p* o, ~
{/ R3 N2 s9 W" n0 i  ^
        //ACE("SetLight %d \n", bLight);2 p/ H3 i* _4 k) k) M- x
        6 K% K  O- k$ b: k% o* k0 M
#ifndef  __WORLDSERVER
* k  r% ^  B9 i" D        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);$ g2 T& A3 H, ?7 ?; Y
        CLight* pLight = NULL;4 z+ J1 w. O3 H0 b

" ~0 i7 R- {3 w9 V        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );5 B3 m' v# v) O: f- F8 H

( @' w" R2 Z/ u" x% Q' L. z8 h4 r        pLight = GetLight( "direction" );+ k8 [4 i) l2 u) K- A& W3 x. n' z
8 V1 X2 n9 k( i  z* J4 K
#if __VER >= 15 // __BS_CHANGING_ENVIR0 D5 f) P( @: P- \6 n  y
        if( g_pPlayer ){6 T+ U+ E% ]8 x, \7 F
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );: W% v1 l2 A3 G) G) y; M5 y
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!( Y% }" W7 }8 g3 r; d9 i7 K! h8 K
                {$ a% V5 ~  ?  H; Q  J5 E4 u
                        if( pLight )
# L( p. c& @4 `* J& d5 @                        {
7 [1 E$ S2 O3 o0 e/ _/ C  ?                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
( |- ^4 K: r* p4 o/ Q. W                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];! z  S: J+ g7 x+ p/ Z: f: P  H& ^9 w
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];) }% V( _: N6 P" s& p4 t4 P! Z

+ g2 t  @8 O- @1 q& U9 p  Z                                pLight->Specular.r = 2.0f;
5 u- g+ D  H" v3 ^2 @, J4 I                                pLight->Specular.g = 2.0f;4 E$ c+ U  \$ V/ n. [3 O$ J! {  K9 k/ [7 [
                                pLight->Specular.b = 2.0f;4 D% q: m$ E8 V6 \& I2 P" S9 B
        " Z; t+ p2 Z2 e( u, J
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
' m+ e. o# j3 }: P6 i2 W                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
' v8 Y( v3 [. _5 F; M( W: Q                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
5 ]4 O, F4 S) O       
0 D( d. {, t$ N0 h) r" m4 F2 o                                HookUpdateLight( pLight ); 1 V  g' `6 W* R
3 |# c* G0 z  R+ v9 ?
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );+ E3 u) S; [4 c0 a
               
% I( q& A9 l* F) B: W                                pLight->Diffuse.r *= 1.2f;0 C  V2 Y% o# V% f) e5 E
                                pLight->Diffuse.g *= 1.2f;( w: a, C; @1 u% r6 l
                                pLight->Diffuse.b *= 1.2f;
+ b3 X& Y/ W# o4 v6 A( J0 H5 F% z0 [, E* i: D( q
                                pLight->Ambient.r *= 0.8f;
- b1 X" w0 N; D5 x3 [9 _+ U6 }) x) y                                pLight->Ambient.g *= 0.8f;
: ]3 G) A0 P+ w2 G                                pLight->Ambient.b *= 0.8f;
. g- j) P3 F! W6 ~        & M3 C- z; h- {5 V3 e* \4 _
                                memcpy( &m_light, pLight, sizeof( m_light ) );
$ X" n1 H% j- c. V2 h6 q& ~4 x: S$ ~  m" f9 w* ?9 o
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);# Q! e0 k% X+ u  c
                                D3DXVec3Normalize(&(vecSun),&(vecSun));
4 h$ h2 }5 I: k0 u; O" k5 K                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. \4 `- D- O9 e; I& g                                 pLight->Appear( m_pd3dDevice, TRUE );! c& \+ |( A4 z) Q0 ]0 I
               
+ n! ~9 Y+ W+ R& W6 P! \5 ~% G/ M                                DWORD dwR, dwG, dwB;
+ o7 V3 y5 |8 G                                dwR = (DWORD)( pLight->Ambient.r * 255 );6 f$ x8 {7 C# j5 T3 E- ~
                                dwG = (DWORD)( pLight->Ambient.g * 255 );9 L( x  A1 z) M. {
                                dwB = (DWORD)( pLight->Ambient.b * 255 );
1 y. c3 v/ P) X* s# K( Q                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
! Y( P" |7 D; I0 W# K5 Q( t                        }5 N& h9 m- I5 B8 j! _
                }
) \8 `% i/ w1 N/ c, a- s        }/ Q% i* }: U3 ?
        else1 G3 z5 g2 g* N0 ?, i8 @9 l
#endif ) }7 E+ {1 H* W! o! ^$ I% s+ m: R) \

* c  z, D, |4 |, V6 G2 L        if( m_bIsIndoor )  {. D2 Y0 ~+ V/ N2 B( ?
        {
$ K8 W- B3 v* m3 b7 h$ ^4 H5 ~                if( pLight )' v- b+ p$ S, Q/ z; c
                {                3 V' ?6 K2 w' {5 _0 N- F! M
                        // à??μ oˉè*
3 g) O1 h) b* R                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;- p/ [5 X! R2 v" a$ I
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
6 b" I8 V6 L4 |2 m& ?7 H8 u                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;* L, j4 {8 v. M( d/ M+ H/ P+ F( \

# ?# u/ q$ N+ A. {. u, ~                        // oˉè* ??à? , I- w$ ^5 o$ V. |9 I& ~( X
                        pLight->Specular.r = 1.0f;
, _: B+ U2 U: H$ P% n0 n8 j3 ^% u                        pLight->Specular.g = 1.0f;
& Y/ ^/ O( h+ p4 T: E' j1 H$ w                        pLight->Specular.b = 1.0f;0 F  y1 |! [' v4 z8 Q3 ]1 O
                        // àü?? oˉè*
, x9 o: c/ O, u$ q                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
; h6 z! r8 E1 e$ k/ x/ ^# f                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
0 g2 C% \: p- E8 `                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
( ~' ]1 q4 i6 c: S! a
5 `: w, M: G3 z* H) U                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.* n% Q9 f6 g3 @2 d- O6 J% S
                        {) c. G4 U) e5 l0 V, O, Q7 Y; \, Y4 X
                                pLight->Diffuse.r *= 0.6f;6 W% G; j$ t$ {0 |
                                pLight->Diffuse.g *= 0.6f;
  g! a$ C6 h% z8 ^% u$ w                                pLight->Diffuse.b *= 0.6f;
9 [. K' i$ V  `& e; m                                pLight->Ambient.r *= 0.7f;
& V0 x/ b& k1 `+ I                                pLight->Ambient.g *= 0.7f;7 o4 Z' M3 r2 j# L9 q
                                pLight->Ambient.b *= 0.7f;* Z- X: I/ `7 A$ i
                        }9 J8 }# T  T8 t7 {2 v6 N
7 U3 j1 V4 Q7 Z# c0 n0 D' }( b
#if __VER >= 15 // __BS_CHANGING_ENVIR* A8 O8 |' @# i! X  w$ ^
                        if( g_pPlayer ); S6 Z, @5 \. A6 q, w
                                HookUpdateLight( pLight );8 U+ B% s# v# F8 Z
#endif: ^% Z9 u3 |$ ~! W. B
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );* @; {! l" n- }( I2 D# Y9 K# v

5 Q8 y2 N6 o# A7 F. c                        pLight->Diffuse.r  += 0.1f;
+ f: o% t! k& P" I- u, h. \5 m' M                        pLight->Diffuse.g  += 0.1f;
+ Y9 U# B) P! ?  X( J% U                        pLight->Diffuse.b  += 0.1f;/ w8 @5 q' y  F& z6 d
                        // oˉè* ??à? $ w4 m9 @- W7 _, g
                        pLight->Specular.r = 2.0f;% _) R  }& |1 p# _  D+ V5 _
                        pLight->Specular.g = 2.0f;
# F2 a) [6 M5 [7 E                        pLight->Specular.b = 2.0f;
/ {0 s9 ]0 B8 ]1 F+ C                        // á?oˉ
& ?8 [& _8 c2 U4 M- T4 |9 L. N                        pLight->Ambient.r  *= 0.9f;4 M& G% s2 ]; t! g+ N
                        pLight->Ambient.g  *= 0.9f;
) e, I: g" ?4 X- z0 t                        pLight->Ambient.b  *= 0.9f;
4 h" X( d/ ~: T* r  R) n# Z0 V* X8 H9 g4 F2 d) k! @6 r2 k3 y
                        memcpy( &m_light, pLight, sizeof( m_light ) );
' L' U6 C# w/ x  Q, i                       
# [" B3 }1 V! o3 z+ J; f                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );+ `! R/ a% }! \& p& F! v
                        pLight->Appear( m_pd3dDevice, TRUE );
4 r) O9 F$ |' L7 ~       
' c6 h) Z$ e+ I) g/ H                        DWORD dwR, dwG, dwB;$ {! [$ h" Y, z: F9 d. {% M
                        dwR = (DWORD)( pLight->Ambient.r * 255 );. n# ]; t1 L' U  }* W% `/ Y( @
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
. t. t) n/ R" r; c' x                        dwB = (DWORD)( pLight->Ambient.b * 255 );
% s* D! @' k- D                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );9 S: J& h- M7 ?% Y9 W
                }
+ V; x9 f9 W- s# }: i8 _        }
4 j) E* s1 b* p4 n2 T5 O        else5 |" \* q) x5 S$ g, ~1 [% S5 v
        {) I8 g- k' V" X4 ?" V7 ^
                if( pLight )2 k' b# |# K3 Y/ n; Y
                {
! ?# s; O+ `+ e9 n/ S" `3 }( a/ `               
" h4 q: e( k7 x: n3 m4 N$ ~0 R                        int nHour = 8, nMin = 0;
5 l- s/ p/ q+ E7 u$ h        #ifdef __CLIENT- T5 ?" x6 f, L0 Z( M, }
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. ; z2 ^4 |- \* B7 l" T8 f
                        nHour = g_GameTimer.m_nHour;2 I, i$ R- ~# }& L5 d' u; C# R
                        nMin  = g_GameTimer.m_nMin ;* u4 O6 H$ r- l, t9 I  f3 Y
        #else" X5 w6 F8 f0 L3 e. C
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.6 ^) q! ~5 \. m. d
                        if( m_nLightType == 1 )- J. |% q( \3 O' A; F
                                nHour = m_nLightHour;
- N. Y5 p: V: j* w& S* ]/ X        #endif. f3 o% ^& ?' j" m1 K7 z
                        nHour--;
% |3 [# ]  r9 c7 t$ Z                        if( nHour < 0 ) nHour = 0;
3 P- F( t$ o4 S0 u                        if( nHour > 23 ) nHour = 23;- J! a( ]$ E8 J9 T; a3 [
: L/ @; ~1 R1 g! A( f* _
                        //if( m_bFixedHour )6 N# ]( x; ]9 F+ ^( D
                        //        nHour = m_nFixedHour, nMin = 0;
$ l; t( u- c) p% Y5 D. k  s                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];- w! o5 d, }9 X: K, U! f
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
# y+ s* H, @+ v# A0 @) ?/ V& u% m4 ]# f( l
                        //m_lightColor = lightColorPrv;
# R1 ^! v5 [2 n# A                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;6 s& d0 _/ v1 J% Y
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
+ ^7 E1 s, ^0 I/ u- p8 R+ A8 e                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
% I9 r' n& N8 G8 T                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;+ W2 \; w  c0 d9 _3 P+ h4 }% N
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;+ }. r* V2 c& ~
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;9 Q' O! t1 c+ \+ ?0 r
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
. l3 M# s3 Z2 Z8 f- ]1 T8 Y. d7 h0 s6 {" v
                        // à??μ oˉè*
- c% D  u/ l& j  _$ A6 u1 L                        pLight->Diffuse.r  = lightColorPrv.r1;
; u, c6 g+ [6 i$ e                        pLight->Diffuse.g  = lightColorPrv.g1;; e$ N$ s# f6 B( y9 m
                        pLight->Diffuse.b  = lightColorPrv.b1;
3 L/ G5 L6 H! e; g7 g                        // oˉè* ??à?
; F  z. E9 h# x& M0 w                        pLight->Specular.r = 1.0f;: b, f3 B5 F# h) A5 L% \
                        pLight->Specular.g = 1.0f;2 l+ c5 ~) d* n  F
                        pLight->Specular.b = 1.0f;
* G( L" _7 |( @9 z4 _8 O  ]3 Z) u; B                        // àü?? oˉè* $ O; H" W/ B6 C' t/ h
                        pLight->Ambient.r  = lightColorPrv.r2;8 q* h3 r4 d' T6 {# g3 V
                        pLight->Ambient.g  = lightColorPrv.g2;( ~7 h' m0 q6 i% }/ P* n
                        pLight->Ambient.b  = lightColorPrv.b2;
  k* G: i, M! W( ]9 g( j6 A2 O# B2 K7 C2 D) u6 N$ @
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??./ c6 n3 M5 f+ _9 L+ m
                        {  ^8 E4 S2 F. X+ M3 I" l* r
                                pLight->Diffuse.r *= 0.6f;  a: t- \) l$ l# d
                                pLight->Diffuse.g *= 0.6f;
; |7 S4 J2 k7 E& [% }) [                                pLight->Diffuse.b *= 0.6f;, F4 R6 d! K- H: l& f" Q* `
                                pLight->Ambient.r *= 0.7f;
6 _/ o4 X0 K. R" n, d% U& }                                pLight->Ambient.g *= 0.7f;
9 A4 W4 s" |6 e) a# W% G: q                                pLight->Ambient.b *= 0.7f;4 w  K' ~. w) k: t
                        }3 G) ]- ~( O% C- @7 x& }4 W8 x
                        # F6 I7 u' V; [/ {& Y
#if __VER >= 15 // __BS_CHANGING_ENVIR1 J7 g; u' i9 z8 C) k+ U1 N
                        if( g_pPlayer ); M- p$ B2 `% p4 \/ Y$ `6 o: [+ t
                                HookUpdateLight( pLight ); ; ^, _! V. D) R4 y5 z+ }
#endif( J' @/ P& c& {7 [  T
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( P) I( s' A) I: ^
; W" q0 Q8 B) ?#ifdef __YENV
. K- ~4 U4 U! B) N9 V* P                        pLight->Diffuse.r  *= 1.1f;  ]. X& T( y# C$ D7 C
                        pLight->Diffuse.g  *= 1.1f;
; i# U. Q1 e7 I0 c4 H6 M* H                        pLight->Diffuse.b  *= 1.1f;; j' `# X1 o3 _6 @5 x! @
                        // oˉè* ??à? . |) O6 k1 H/ I) O# f$ C3 k% A4 k
                        pLight->Specular.r = 2.0f;, q, {7 |' e3 _
                        pLight->Specular.g = 2.0f;6 p+ ^9 B7 C, T- p1 L
                        pLight->Specular.b = 2.0f;1 K; M9 B8 v+ ?
                        // á?oˉ
( B* v% U: Y0 _6 ?* i/ \5 e7 [$ {                        pLight->Ambient.r  *= 1.0f;
3 G$ [) f1 Q% E+ Y5 q                        pLight->Ambient.g  *= 1.0f;
9 ?7 a, E5 B* D0 |# B: P# Y                        pLight->Ambient.b  *= 1.0f;- v' b1 z0 `: }  _% V
#else //__YENV
$ r5 O( d, W5 X+ z1 y9 l! q                        pLight->Diffuse.r  *= 1.1f;( K: I+ n8 b0 I  c
                        pLight->Diffuse.g  *= 1.1f;
" |& X4 L# m/ x1 X                        pLight->Diffuse.b  *= 1.1f;
2 M0 a& q7 ]! y5 |3 w                        // oˉè* ??à? 4 A8 i  Z/ s) q3 N# U8 \: F& P& W
                        pLight->Specular.r = 2.0f;; a- r6 b; b5 r" y/ P9 p. Z
                        pLight->Specular.g = 2.0f;6 h# l0 f" H; c, N6 ~- K2 b
                        pLight->Specular.b = 2.0f;
! q; q/ B4 A+ Z# C! }- }* @                        // á?oˉ ) N/ b" B  f" A+ F
                        pLight->Ambient.r  *= 0.9f;- o) h0 Z# c2 A6 V) b
                        pLight->Ambient.g  *= 0.9f;5 }  l% j) @: [1 L
                        pLight->Ambient.b  *= 0.9f;
3 e. d) Y/ Q0 v7 W$ V+ e#endif //__YENV / S& i0 H( L- j" v/ J1 B
                        . z- d* p0 e$ W- t4 _
                        memcpy( &m_light, pLight, sizeof( m_light ) );- J" U% W2 x8 d2 }) l8 A% b0 K1 j
                        ; v8 F1 O2 l$ b' L
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);4 w/ {3 [, a" ^- R
                        D3DXMATRIX  matTemp;
5 y6 {. u- i: H# N2 E, N. M" N4 D# y, R                        static const float CONS_VAL = 3.1415926f / 180.f;
2 C8 d+ k2 `! u. d4 V1 h0 v+ z8 t  S8 r5 s+ u
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
! X9 f/ t* ~' y" E) z9 K                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
  m7 p) R. E: D; ]& Z6 Z0 U. r                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); . x, c; L! \) R% F
                        pLight->Appear( m_pd3dDevice, TRUE );
. [% Y$ o6 O$ W, c7 k% y5 [9 I, \. C* C
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);3 V$ e4 L' z1 I' N; a0 G& X/ W8 `  r) f
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));* b. p- U( M/ u0 p
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 6 i0 o: D6 F9 a
% D/ b) C% }9 |# ]% P3 g3 k2 E* t
                        DWORD dwR, dwG, dwB;
6 ]$ r; {% _' l                        dwR = (DWORD)( pLight->Ambient.r * 255 );+ l$ t6 B: i! Q8 w3 ~& U
                        dwG = (DWORD)( pLight->Ambient.g * 255 );' [6 q5 U7 i$ L# ^* g
                        dwB = (DWORD)( pLight->Ambient.b * 255 );1 Q$ K* b1 `8 Q/ H' P* b$ `  [* Q
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        3 i  z/ [! _4 @' K- i8 ~9 X" N% j5 }
                }
) T7 m, e& C8 ]- M2 Z: S1 }        }! I7 Q$ T8 e2 R2 }' X( Y
3 Q  [. M' P1 h" {+ K
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );  L# H* Y5 A, Z( G) V9 x
        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 r- F3 c. \/ e7 j        ::SetLight( bLight );
* S: I  r% G2 ^1 t5 E
  W( j$ t* ]# M% V2 _6 Y        // ±ao? ?D?í???ó á¤à?
3 h! o& h! j8 G+ t6 z/ F        m_pd3dDevice->SetMaterial( &m_baseMaterial );
% M; @. j% N4 P+ C        3 L* u& u7 N2 {& v! v
#endif // not WORLDSERVER; R% I/ r  U: J# j3 K; B" ^
}3 S/ D" U9 ?+ `. r% `/ n
并更换2 C8 K. w& }! ?" w6 Q/ Y" J# A2 w
Code:4 \; e) Y6 ?4 T: L& P! [
__FLYFF_INITPAGE_EXT" b) p$ J3 s/ {: C+ T0 |+ ^: u
定义
4 V& u1 t8 k! }6 Q
. D- o; N4 y. t' d; `4 j: X! p' a1 g7 L7 j  Y
8 J: L& W6 t2 p  `) e' j
- a5 N6 M" T' H& B6 A0 R
现在终于删除我的狗屁加速...( G: S! A1 e" K& N( M5 k, j2 o

, C% ?2 }) Y5 r6 t* h" M) l2 [! ~! o  g& M
, {3 L; R0 N0 z# A' R( B1 X





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