飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:8 \# c! T" J6 G# F, u4 _" W+ H9 ?, b
尾翼:% C# O% c9 w) z* t

7 N: y9 \* k6 F& g代码:
- p8 {# ]7 V. W- V% f" WCWndAutoFood::CWndAutoFood()8 M: b7 Z! J( V! }/ A, @0 z6 @1 u
{
: [' f0 m/ @. I% W! ~: l        m_pItemElem = NULL;4 }+ }. a# f% g
        m_pTexture = NULL;
/ R2 {9 P9 u: C  x4 C        bStart = FALSE;
8 b  d" Y, ~. K7 Z0 ?}+ M: P5 {4 F7 K  C

2 @+ E/ V8 w+ Q; nCWndAutoFood::~CWndAutoFood()
! u  _* [% G5 K7 {{7 t# [5 p2 @; D5 _- @
        AfxMessageBox( "AutoFood ist gestorben " );, a0 w3 d3 W3 T* Q5 s
}
9 ~# d7 u( T/ [1 ?+ jBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
' }5 I2 R/ }0 F{
0 e- p# k7 s7 ~: @/ Q: s& i) }9 ?        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );) J2 r7 t. O( j/ k' C, L
}
; q2 S( [  C; G- _$ `
5 T& v$ w, T2 I7 LBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )& d% ^' m9 `1 g* O
{
6 x9 b. u2 j/ ]9 g* j* B" D/ f" g# ]        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );, [" Y2 t' ~: `; _) L
        CRect rect = pWndCtrl->rect;
* V9 G- `) P/ ?8 C        if( rect && rect.PtInRect( point ) )9 H% _. k& G. d9 \, v; k1 {! x1 b
        {
# Y) h* T% j* r# m+ v6 A  m                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
: l1 M; G: U; v8 ?% e2 G                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
  m5 n6 f& j, [# \: X/ H3 O                {% D2 [# H1 e4 Z& O' H
                        if( m_pItemElem )# P5 Z, j/ C; h5 ?/ X+ A2 X$ y1 Z. ]
                        {
( r0 c' U" ]9 I+ T  H                                m_pItemElem = NULL;$ d4 o& @! T5 L5 ^2 |; Z- C: j
                        }
3 x6 {+ l. M: X                        m_pItemElem = pItemElem;
7 {+ S) t/ h. v, @- y# K  E                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
8 [- S- Y2 D3 t                }else{
3 \1 O0 Y7 e8 m/ F% {                        SetForbid( TRUE );* {' A" t. ]1 o) Q, M' ?+ f  n3 ~
                }
4 e+ x: Q" O3 ?' @# E* W0 M( v        }else{" ]4 m  a4 D7 b& s
                SetForbid( TRUE );
2 |' A& h- k5 m- s8 u' ~        }
$ V& m- }1 d& n' j/ `5 P; X        return TRUE;
- O2 U! _3 r2 B4 j* g8 T7 T# M# Y}
$ x1 D: g: y& L2 e2 M0 \8 @: P# ~# C# b
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
2 S& x; Y5 V9 e! _{
: c- d7 C$ }% y; `5 K. r        switch( nID )  V9 H. s/ a2 U$ `! _# W& }3 M
        {
4 o' o1 D( t) _0 R( G+ J        case WIDC_BUTTON3:1 M+ |1 P* P6 V* N( t7 E) u/ l' ~
                {
& s$ d3 T. p  p5 g, p1 ~/ E                        bStart = TRUE;7 p3 W* d! P9 X9 e6 x9 k
                        break;9 b2 J  J7 g$ b2 J. n& \
                }
) c5 _, F% i! m        case WIDC_BUTTON4:
7 X7 k$ f  p) A9 \  A' U& z/ n; N! F                {; W. j0 Q) V# Q* H8 V0 r& b. y; B1 @
                        bStart = FALSE;: u7 l4 X# M  n0 z8 E2 F
                        break;4 G2 ~& `' I3 a# M6 k
                }& C) P. ]% [3 A" Z% N2 N
        }, {2 W7 b1 z0 N
        return CWndNeuz::OnChildNotify( message, nID, pLResult );5 y! f0 ?1 ]: J: t
}        - j1 t7 M# a+ H& v4 o
void CWndAutoFood::OnDraw( C2DRender* p2DRender )2 ?& s5 j' m7 U- k
{
! L, a+ O7 O1 I+ |: o        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );9 t# ~1 Y2 n* g- P9 K
        if( bStart || !m_pItemElem )
; p1 t4 k9 Q' A0 L4 m! L$ [$ a        {
9 U1 O4 k4 N: Y* A1 m4 @                pBtn->EnableWindow( FALSE );
9 i# v3 Z4 }. |+ N/ I        }else
: a& B. D: a3 N$ g                pBtn->EnableWindow( TRUE );) x! h) w3 g+ O* p
        if( m_pTexture )* G/ R8 y& J( d8 Z! t+ V
        {
5 e! v* ^  C0 f' N4 _                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );, d+ w5 l. p. N0 J7 A2 {
                if( wndCtrl && wndCtrl->rect )6 a8 ^+ O+ _' ~* M1 |
                {
# _) ~$ A6 c0 H2 O                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
7 `8 e# f9 M- Y1 {1 p/ x0 ?                }
; O1 _0 V! E1 U1 }4 @' n; ?        }
( I$ }9 H5 B% W1 r}6 G9 [: Z% m+ U: s

- G: }% ?  j% @9 @' B& wBOOL CWndAutoFood:rocess()
' {# S7 ^" A3 g6 B{" s6 Y' U' B+ D3 F9 o: R: f! I$ c
        if( bStart )8 K$ G: V& v2 u" t. v$ c+ e/ M# s" D
        {6 t: D9 R3 @& }2 G$ _' j6 @/ ^+ G0 e
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
5 V( m/ I, `( b1 O9 k. \4 B                {
6 c  b' m( {, g7 N                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
& w& C/ ]( T' x7 n" J! p8 h                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
" y6 {1 }/ Y. y, H, t                }else{5 |  W7 A- G! m9 q! W
                        bStart = FALSE;8 Y7 h7 Q2 ?& T0 L! }$ u2 o
                        m_pItemElem = NULL;& T% p$ Y( S/ k7 N" ~$ L5 T
                }/ J3 X! O3 d% B
        }
& n' c: l+ g! p' n9 s- [        return TRUE;( E- m9 g! W$ o
}
1 |; G; ^  V4 @) z
# P' F3 u/ ?2 V4 G0 Q登录视频废话:% ^3 @' p$ c% h& M  Q
尾翼:8 A5 G" b& Y9 }) K7 E
& o( p+ {0 Y( z9 W% R; o$ N4 M4 K
代码:
* a$ _* x. d* y8 |& l% Q) l
) p/ j) J! Z8 t( d9 L6 D: T5 g4 mvoid CWorld::SetLight( BOOL bLight )
0 N* D2 S# U4 K  S7 M2 h& \: p7 _durch1 D& m$ h/ j( U& [% n8 k6 C7 R2 z( A
Code:
$ f$ B+ N4 O4 h) M1 rvoid CWorld::SetLight( BOOL bLight )
' i% h7 L  K% k' y( w- X{
3 O, K& \6 z2 i        //ACE("SetLight %d \n", bLight);
$ w! q/ J# z) L       
! x9 A# M. z2 A& m& J  B: U#ifndef  __WORLDSERVER
3 f( n5 v$ U1 Y! r/ ?5 @; u5 X        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
( J' t. ~% O5 l5 m. F: z. |: D5 J) G        CLight* pLight = NULL;
9 ~4 o4 e) P! ^3 S# a( |6 {
! b, T0 M. T) V        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );( l! i& x; i9 x2 @

0 l5 F+ G& C2 V        pLight = GetLight( "direction" );7 k/ u& I8 ?2 a+ q/ u

: i: Q% R' U; R9 U" A#if __VER >= 15 // __BS_CHANGING_ENVIR
! L* b3 Z/ Y+ t% ^+ G1 r* u+ i8 f        if( g_pPlayer ){
- E5 y7 T  }  \" K) N& e                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );- d: P% f( I  O, @- M2 C
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!  b4 n0 k( T( i! W$ r2 S6 l
                {! u; R7 s. G/ D# O0 V! Z
                        if( pLight )
3 z: O, m2 K$ T  e2 i                        {
2 Z& R8 f+ u% Q3 |                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
* k! V+ J2 n: p$ |& _5 ~# b( `                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
2 K( o/ R; {2 b' n3 ^2 w( a                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];8 m' Z7 @. P2 A) S

( s+ S) O) {3 _, d1 m+ m                                pLight->Specular.r = 2.0f;
( Z, t* F& E  Y3 Q9 l, e- E                                pLight->Specular.g = 2.0f;
8 m. r7 u0 v) H                                pLight->Specular.b = 2.0f;
+ y: j6 j0 m( v8 o" ~       
, A; x1 }; f- W$ r( N3 @4 O+ w# R1 v1 L                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
/ n4 _: q* K8 j9 R, c6 p                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];- g: _9 [0 g$ N7 `  O3 Y
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];' B! d" J! P; D$ N- s; Y
        # S$ N6 Q! l+ {' G# [" h5 ^
                                HookUpdateLight( pLight );
& J! `/ S6 `, Z0 l' X3 v. C, J4 {$ t% e
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );% w2 z, |! c" S+ Y
                0 C% Y3 r, @6 g: F1 z& D  O% F1 h& G
                                pLight->Diffuse.r *= 1.2f;2 b4 e8 c% m9 W+ y1 `
                                pLight->Diffuse.g *= 1.2f;
. K8 Y2 B' H* X# b7 f8 S+ C9 ]                                pLight->Diffuse.b *= 1.2f;) g$ y! {5 v/ L! @6 k$ x( P3 r
( }. I0 K' g8 Y- k8 `" u) a
                                pLight->Ambient.r *= 0.8f;4 C( R6 A2 W* r7 I
                                pLight->Ambient.g *= 0.8f;
8 ~8 g" w# h& a& o+ F4 h9 l                                pLight->Ambient.b *= 0.8f;
2 x) \- |+ J4 X# g7 ?4 `        * K2 V  B# I8 |1 @
                                memcpy( &m_light, pLight, sizeof( m_light ) );2 d9 `0 }. q3 @1 J- Z; H1 `( G3 r

% K, ?) j6 V5 D* j6 _& T                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);! f2 F7 y! d; P! u* x* C
                                D3DXVec3Normalize(&(vecSun),&(vecSun));; b. x7 D8 I+ s; M
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); % I% N& _, l6 c1 o  y- m6 l3 A
                                pLight->Appear( m_pd3dDevice, TRUE );
# J# D& y3 M: Z/ e$ X                7 P6 U) C( b+ Q2 I
                                DWORD dwR, dwG, dwB;" ?. {7 n. |( n6 w$ @
                                dwR = (DWORD)( pLight->Ambient.r * 255 );6 B- X3 |( x5 L. {! _- ~! X
                                dwG = (DWORD)( pLight->Ambient.g * 255 );" D8 I3 x. n: _  S
                                dwB = (DWORD)( pLight->Ambient.b * 255 );  F* x' Y1 M2 G: r3 f9 ]4 I
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
6 b0 s# T% g7 \3 |# Q0 H( ~2 q                        }
. o3 \/ c, h( Z$ }+ C4 z+ c/ C                }  A/ e6 n  P; k
        }
( Y5 {  y" ~( N. E* j        else7 o2 o; x* G% Z5 s
#endif ( }/ z. @( T2 m. ]9 |! }3 u

( ^+ I  b" r# q        if( m_bIsIndoor )4 U# j6 G4 |- l( V- z
        {
2 Z" t& ~4 V1 D                if( pLight )3 z, E! }; V4 p, A3 f
                {                5 |* v7 }4 R" O0 s
                        // à??μ oˉè*
/ V4 w# H3 s0 z& I- l                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
; Q& R1 K# R' ]- D3 J/ e0 f                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
( N7 r0 A4 ]; H; @- w' P/ v                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
; l/ o; {1 J" w. u7 E% w. p8 B7 K0 A/ ?
                        // oˉè* ??à?
" X% _, f4 x) L& |                        pLight->Specular.r = 1.0f;
, }0 c  M# d* u5 E0 z# q                        pLight->Specular.g = 1.0f;
4 t7 Z$ G7 W( [8 O3 O) A                        pLight->Specular.b = 1.0f;0 L$ s' X5 r- K- n
                        // àü?? oˉè* & o$ z& H* ?* S' e$ D+ [. `
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;6 a( I$ c' H( Y' }! Z" E$ x
                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;8 f* G( Y) W, c) V1 ?- V
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
3 S- T2 L' P% q  d7 l8 g4 P# ?  N2 o5 [
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
( l' A3 o8 B3 a. J                        {, n2 Q" `5 u8 d2 K; d
                                pLight->Diffuse.r *= 0.6f;: W5 q) Z+ m  F/ W
                                pLight->Diffuse.g *= 0.6f;( l6 x4 z6 O; e  p, D( c' p
                                pLight->Diffuse.b *= 0.6f;
4 ?3 J$ D$ T( P# D- r# W5 p                                pLight->Ambient.r *= 0.7f;6 s* n2 [8 Q9 K- W: j: j6 Q
                                pLight->Ambient.g *= 0.7f;
2 H3 F- |( ^# w" K3 x9 _3 q/ N                                pLight->Ambient.b *= 0.7f;) W. x+ _# s% t. o
                        }
3 G" X  z% U* M- r& j- T: C& i" x8 p4 }9 d
#if __VER >= 15 // __BS_CHANGING_ENVIR6 M% ?$ F: T8 w% i0 G3 p
                        if( g_pPlayer )6 Q9 d9 G2 M, Y9 M! @
                                HookUpdateLight( pLight );( J% O+ B# i9 ]4 }* h. v
#endif- W$ b' P$ |+ G! t9 c* W
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );+ x" N3 I% N( W- s6 D+ Z

4 ~) E8 F: s; x% t                        pLight->Diffuse.r  += 0.1f;5 F4 j. }9 c- k  \
                        pLight->Diffuse.g  += 0.1f;3 U2 r. l$ V  t- i6 o
                        pLight->Diffuse.b  += 0.1f;" ^3 [+ v0 e+ t2 f- [8 q% m0 x
                        // oˉè* ??à?
$ X/ H  {  t. G+ Z                        pLight->Specular.r = 2.0f;
  ~6 h# B4 v' v7 D; u- a! d0 i                        pLight->Specular.g = 2.0f;
; q; e: V+ }: R4 ^4 p                        pLight->Specular.b = 2.0f;  n$ ]& h4 h6 n7 S, N
                        // á?oˉ
! y& Y# d5 v# d* W' d                        pLight->Ambient.r  *= 0.9f;" l- B8 p( ^. M
                        pLight->Ambient.g  *= 0.9f;
, u* A+ {0 z- B. ^, e) w                        pLight->Ambient.b  *= 0.9f;0 r, i" ^3 @- _- K! K6 V
2 {1 k1 D$ a, M7 l3 }
                        memcpy( &m_light, pLight, sizeof( m_light ) );
0 u2 h9 P4 g: _3 m* X' w! f( q                       
3 w7 O# C7 t- @                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );; D) J7 [! l" `
                        pLight->Appear( m_pd3dDevice, TRUE );
" w% l' S! N" s. e7 V3 d       
- E9 M- C# q( |: o4 o                        DWORD dwR, dwG, dwB;% a- I3 B4 d8 h5 G, G
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
# H3 f4 y' n% P4 N" y0 U* |4 L                        dwG = (DWORD)( pLight->Ambient.g * 255 );
' D, |# @4 E" o# v* k, J, r                        dwB = (DWORD)( pLight->Ambient.b * 255 );* \, {7 |& Q8 K. j' i( {* M; b
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 ^2 k2 ]+ |; Q# \6 q0 P                }
1 H; T, n4 w" j2 i        }- s7 P; L( ^% V9 m2 Z
        else
' T" r: U4 ?  ]; ?7 c+ d9 r  {        {
* L: H: `+ \! S; l                if( pLight )" T  X" J1 `0 ^; O; j( ^  Q0 H
                {
1 H* g2 P; t" t- _2 b, Q' B( ^                % i) n) |/ }- `, ]- i; M+ @5 i$ u
                        int nHour = 8, nMin = 0;& X- G6 x  N: s4 W* h
        #ifdef __CLIENT
: A- N$ U- s% F8 [8 O                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. ' ?2 I; g( G0 d& `
                        nHour = g_GameTimer.m_nHour;
% }3 J* A5 Z, x& }% ^: B                        nMin  = g_GameTimer.m_nMin ;: C9 R* z: M1 v) z# W  }3 Q$ T
        #else
( Y' U+ m: V- k" \6 I6 v! r                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù., E3 j! c* n1 I) F3 l
                        if( m_nLightType == 1 )" I  K8 I" s" ]/ G& U; V+ s
                                nHour = m_nLightHour;
& r* r: c0 n: |. \5 _8 ~" L        #endif
% _" h- F+ L. h' ~8 v; s! S- R                        nHour--;
# X0 s6 w2 C& F4 l0 ]3 p                        if( nHour < 0 ) nHour = 0;
9 v8 O, w7 U* |8 |" c3 u- A, Q                        if( nHour > 23 ) nHour = 23;
+ i" [6 D7 P% U- m$ ^( i# t- ]) r9 b6 v$ @$ [
                        //if( m_bFixedHour )% E6 R. M* o  S! g: ~
                        //        nHour = m_nFixedHour, nMin = 0;: ~. L8 i# b4 ]) O5 V, U/ s
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
& @! m/ Z% O* c% h                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];! X% X' ~) w+ Y/ {

5 l. W7 ^$ z6 M" r                        //m_lightColor = lightColorPrv;
& f0 v, A1 O" k8 R+ D/ f                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
7 j  b5 y/ G) l# t! o$ K( o/ b: B                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
) g% G( P, L' v: ?4 l1 a) t+ H                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
. ^2 k! Q9 G- D: A# @                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
* i. [# X) E5 J' _  c                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
$ t% C4 X' p) M                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
1 Q$ I" Y4 K/ h# j) e. W                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
, C7 h, k4 C( x) k9 C
1 r8 `  ^7 e$ l7 e                        // à??μ oˉè*
4 i% O1 |2 P4 r2 }' N3 \; N% |  E                        pLight->Diffuse.r  = lightColorPrv.r1;- ^6 W$ w+ z7 b2 K
                        pLight->Diffuse.g  = lightColorPrv.g1;' y% [& `0 i8 K2 j: o7 M
                        pLight->Diffuse.b  = lightColorPrv.b1;, q  {2 O3 Y3 j& \/ b
                        // oˉè* ??à?
' ?  X# D: R/ K" ?( C6 I- M                        pLight->Specular.r = 1.0f;
4 S1 O5 Q/ @2 b                        pLight->Specular.g = 1.0f;
  @9 |5 x0 c5 _& {8 ~: t                        pLight->Specular.b = 1.0f;* B% U6 j$ \# c& p! e
                        // àü?? oˉè*
0 L- P# `/ [6 ]" a; R! i                        pLight->Ambient.r  = lightColorPrv.r2;
/ h4 k5 ^0 t4 N8 J                        pLight->Ambient.g  = lightColorPrv.g2;
& Y4 q) U7 |. W                        pLight->Ambient.b  = lightColorPrv.b2;+ H5 w9 B# }/ e$ I. Y& v- p
( j8 I1 d. r( u; K# F
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
4 S% k# }( Y2 x/ ~1 B$ l                        {- C2 w9 C/ Y* ]4 s/ u3 H
                                pLight->Diffuse.r *= 0.6f;
2 r6 |7 [- t# O: G' Z: i                                pLight->Diffuse.g *= 0.6f;+ k& c. D* {, B# W5 {
                                pLight->Diffuse.b *= 0.6f;
4 E) j/ f& M, J* u. P8 o$ a: g                                pLight->Ambient.r *= 0.7f;9 f8 i0 x, N  \' L7 E, v
                                pLight->Ambient.g *= 0.7f;/ K7 C7 J6 a0 U4 I  ?
                                pLight->Ambient.b *= 0.7f;; P' r4 j  Q/ o
                        }
+ k, q6 t, Z) q                       
5 N- a, b+ @) O2 i! @" O6 q#if __VER >= 15 // __BS_CHANGING_ENVIR. m# ~& B5 E2 p# Q; U% O; N. H
                        if( g_pPlayer )
. Z& G( t6 U' q                                HookUpdateLight( pLight );
& L$ w+ N7 r( ]9 x' U/ m#endif
& `0 ^) [# c  A% V5 w& m                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
! h/ T5 S# L. ^/ H) P. f3 G: \
' c! Z! |' \1 i" c; r#ifdef __YENV
/ Z, m( d9 A& T  L* @; H! z                        pLight->Diffuse.r  *= 1.1f;- `0 v: i+ Y& ]. A- U- k  N
                        pLight->Diffuse.g  *= 1.1f;3 H/ w( l) b6 g# M
                        pLight->Diffuse.b  *= 1.1f;
7 M. u- r3 l, D5 W, Y; P' m                        // oˉè* ??à? ; M# X, u9 g9 O9 k
                        pLight->Specular.r = 2.0f;
8 a. o" ^" \8 g3 `                        pLight->Specular.g = 2.0f;
5 j5 f6 R2 S+ l# |, Y1 r( O: a                        pLight->Specular.b = 2.0f;
  n* D* p/ D) r7 s6 g5 n; K                        // á?oˉ + _7 Y2 G9 O9 u& V. V
                        pLight->Ambient.r  *= 1.0f;. q) `2 ]* e: I' t$ L
                        pLight->Ambient.g  *= 1.0f;
1 Z5 U' }7 h& D# D0 r- }% ?                        pLight->Ambient.b  *= 1.0f;" s; r, p9 F+ I& J: E& f( o
#else //__YENV
: P& B1 J2 v+ _; d: g+ C: z( J8 a9 v                        pLight->Diffuse.r  *= 1.1f;; i7 L. ^' C/ g& Q
                        pLight->Diffuse.g  *= 1.1f;  H# x$ v2 ^, `7 z4 \) H
                        pLight->Diffuse.b  *= 1.1f;: T& Z+ ]' K5 g. N
                        // oˉè* ??à? ) J* Q8 U% f0 w' u
                        pLight->Specular.r = 2.0f;
+ [  `6 ~, \% D" |" E/ p                        pLight->Specular.g = 2.0f;
$ i; R$ w2 I3 L1 ?" r                        pLight->Specular.b = 2.0f;
9 u8 C9 c- i0 I6 Y; U                        // á?oˉ 4 i% \* P3 B3 o9 Z4 e5 I* E
                        pLight->Ambient.r  *= 0.9f;
& b2 m4 h# ]/ _+ s( S: t                        pLight->Ambient.g  *= 0.9f;& A5 L* |0 E) `' a4 h0 |$ S9 U
                        pLight->Ambient.b  *= 0.9f;
2 c/ J  K: Z. G9 g' }#endif //__YENV 1 I$ w3 @# [: [% L& ~  k4 V& s
                        : p5 }' S; i4 O, E+ q
                        memcpy( &m_light, pLight, sizeof( m_light ) );: W9 Y9 Q9 m8 j* g: _
                       
& g* k3 T& T% R; F" Y( j                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
: I+ r! D8 n) z+ i% h; W                        D3DXMATRIX  matTemp;- u; b+ O; q- U) _/ e! y& ^+ L
                        static const float CONS_VAL = 3.1415926f / 180.f;" Q4 h- [5 B5 G% ]6 u* a9 ?$ F0 ~& z& i; M
6 U1 L: ]% a) Y1 |
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
, K9 h, E$ k; N4 ]& s+ b                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);( c+ k. W! V4 d+ E0 s' _3 c
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
2 t9 N8 H: E* k) r! r                        pLight->Appear( m_pd3dDevice, TRUE );! R' n9 p# Q: Q: K- x
7 X- K0 c: l* K0 R3 [
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
  w' X* G* a/ [1 p( p8 ]) B& t; E                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
+ a; L. M4 R2 o* A- u$ s0 \. z                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); + p2 Q7 V' v5 d  v, w

1 J. v4 A0 f- ?& @                        DWORD dwR, dwG, dwB;9 i* o8 R3 A6 O# q  [
                        dwR = (DWORD)( pLight->Ambient.r * 255 );8 R! @( w7 v- @- H
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
# Z1 v3 s$ t7 E  H9 s# g1 D8 m1 I) |                        dwB = (DWORD)( pLight->Ambient.b * 255 );
" X4 u8 c7 r/ N/ ?                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        5 N+ E7 ?* s3 @* i
                }
  e5 y4 D7 ~' r0 J6 O        }& b; s( g" |5 n# }) g. J3 d# V

0 A6 m8 A5 K4 w) s$ F% @% Q        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
1 N2 r9 t4 E: M/ h# \. [6 @        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) );% `, W% R/ |) J; f
        ::SetLight( bLight );# ]- R8 }6 M+ b+ J6 A6 v
5 K$ ?8 V7 |: q+ Y
        // ±ao? ?D?í???ó á¤à? & K  N+ \1 u- c; ~0 F
        m_pd3dDevice->SetMaterial( &m_baseMaterial );! z, z* H( ~$ j
       
4 f0 U0 h) v+ z2 N#endif // not WORLDSERVER- j7 U; F" }! P2 _& s7 e
}
; b7 M( u" j9 A  h) d并更换
: M% O2 [' Q" F1 Z% jCode:) y0 H' m5 b6 G# y! b% t
__FLYFF_INITPAGE_EXT/ r" T0 Z* }8 y4 y3 R( A( D
定义
! i4 y5 O7 K0 V! E3 N* H
/ Z/ y- S$ I5 M' s) F7 Y% `
0 N, U" j( G" T0 D" G3 [" {! I
, x4 s3 P. _, z4 p$ r0 y& F+ \3 Q
1 J& c; p) O; W' M* Z现在终于删除我的狗屁加速...
; u0 K' v# C$ d7 T& a  n" o6 h4 j: M# y' D! K8 C/ z" t1 J
/ w. n$ G) ]9 E0 D) l4 w3 c5 y: H

' Z: ^- q  p: ]( w) I7 t5 }




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