飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:8 S$ |# D- z, {0 u8 \5 Q
尾翼:- c, D! T( Q5 m

  V& M# B5 `3 x- Q) l) b" Z代码:
7 d0 \8 b) Q1 nCWndAutoFood::CWndAutoFood()
! m4 n! z2 ~9 f6 _% f{
$ ~8 x, j* b3 y- ~9 ^        m_pItemElem = NULL;) k# r6 m7 t1 v+ B+ a  q2 N
        m_pTexture = NULL;
1 F/ s9 a8 N$ S; f$ X3 C        bStart = FALSE;
0 }5 n% W: H5 q- e}, d6 O/ D" Z1 l7 Z, L8 p. G: V
/ u- z/ x7 N+ g1 K9 R( H
CWndAutoFood::~CWndAutoFood()
, J1 s0 C+ i$ S/ U; c9 ~9 B3 K{5 c' n" f: \. C( D
        AfxMessageBox( "AutoFood ist gestorben " );3 n) ^- p- {3 c# X9 K$ V  \
}
' F% Y! P) @: d0 f+ n6 GBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
/ }" a% v. P: j4 R2 _. q{
( ^9 B! y8 y6 |2 r+ b( b        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );2 @( F  ?, `0 V$ X! Q
}  c5 T% q7 I5 N4 L* h5 Q
+ n) c3 ^4 [: X7 [
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
: h, A9 r+ p9 n3 ?% \, r7 W{
  q# I6 n- g' @        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
/ j: A# i+ `5 M: i& ]3 X4 h        CRect rect = pWndCtrl->rect;% m& Z9 I; T- J/ @* C' U
        if( rect && rect.PtInRect( point ) )
; N, f) W3 ^5 F4 f$ C7 O$ j        {
) k0 ~8 \- f3 O" L. p! q                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
* c3 }4 w0 V+ B2 p5 f5 ^/ K2 z                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )2 l2 G. ?; P3 p3 C/ s6 p- X% a: t) t
                {
' \  `9 P6 l- {% P                        if( m_pItemElem )9 `( M, B4 S( [* ?8 R
                        {2 Z& T4 Z8 R1 r% Q( ]7 S( C9 N
                                m_pItemElem = NULL;7 D$ F7 c+ W0 G2 J9 n. X1 N4 Z* R4 {
                        }5 U, I* B& b- p8 P8 E) P
                        m_pItemElem = pItemElem;$ o# O0 k1 R6 T" L3 }+ }* w
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );$ |4 e/ e0 Q; ^. d. E4 R! F1 S
                }else{
& U7 s8 U0 \' _; G* c% V' q: r( P9 p. O" T                        SetForbid( TRUE );
9 s- b, r0 H5 i! g* a/ w( m# n$ e                }
! N: J* D' }+ X        }else{
: j3 O2 _- L$ w: Z/ P; y                SetForbid( TRUE );# h2 a) N4 }) B+ C5 a4 v$ w
        }) ^1 L1 ^2 N% s( N5 [* }! [
        return TRUE;6 p& X) E, T% p& \- v
}
* w2 [1 I5 x. q3 I- c6 P) c' B$ U/ n' M
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ); W' ?7 t: }3 o& v  Z1 @8 t
{) S; J0 A$ Y( T6 Z, S
        switch( nID )
) w$ R/ E$ ]" z- q# h  l( N$ \( Q/ W        {! [7 b& N3 f6 h7 \0 k% |1 T9 G
        case WIDC_BUTTON3:
; y6 k" o0 P/ }  H9 x2 J2 A                {6 X+ y+ _4 T/ o9 y- b: e
                        bStart = TRUE;9 O! G0 ?$ `- b
                        break;
( k. F% _0 O, d                }
# O5 A, A. E( i; J6 N- C/ C0 u+ {        case WIDC_BUTTON4:
6 D+ X# {4 c! h, C6 L! |                {
4 \$ M  D& a2 Y& w                        bStart = FALSE;3 m# H- M( _/ U7 C
                        break;8 L/ n" w% P2 P: N  Q6 G4 e' c; O
                }
; b) I$ n, n( j7 j3 x: j' o8 ?        }
( _; q5 O1 h7 z% O        return CWndNeuz::OnChildNotify( message, nID, pLResult );9 Y" U1 l: b% u% h! ^# t( L
}       
  d; u4 E6 |2 Z7 _* Dvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
  \9 t" Q; y& _+ {{4 i6 w+ K- p1 a6 ^9 L2 y7 s
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );% {1 f: M, h0 j. V' {& I7 ?
        if( bStart || !m_pItemElem )
: ^* @1 }, U  }; Y( I; d8 v        {
1 R! y- A3 f* _0 i                pBtn->EnableWindow( FALSE );
( K, a& x: z7 G( O8 q! D) p        }else5 x! w& S5 x! I) M# G. O
                pBtn->EnableWindow( TRUE );
6 q- T: }; w# f- L        if( m_pTexture )8 k& W/ ?" O3 B" D, i8 M
        {) [0 ~! H. _) S% n) a( D
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
# ]$ m, Z( x9 T                if( wndCtrl && wndCtrl->rect ); Q% l. s9 P, @  R9 z1 ^1 ^
                {
. u4 E  j/ j; m                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );( E' i3 J7 t  f4 q" P
                }) z+ c* ^' ~+ Z% R$ Z
        }; ]! e0 S1 |- Q* V
}0 P. U. i( m6 E

) A1 ?* A4 X9 fBOOL CWndAutoFood:rocess()* k1 D5 K( e- g4 a0 O8 p5 k
{+ ~7 m! x$ l. L+ u
        if( bStart )# P% Y( V& _: U8 M
        {! a; x3 ^$ ^! L- X/ z
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
8 Q1 Q2 P5 X: T                {
$ f. p9 U+ W& |% v" I$ 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() )3 p. ?) F& R( V* p
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );  |- l* [/ ~4 l4 X
                }else{
" {+ ]- f: Q/ F) P+ K4 N( m                        bStart = FALSE;
9 D$ ~  M) }1 H1 \& Z4 C4 p                        m_pItemElem = NULL;
& j, n4 s2 a& }: c7 F+ v. k                }4 z: ]2 F. `- a* M! _
        }4 J9 h) v/ n* q% w
        return TRUE;
3 A& X/ j+ W7 }9 n; o4 U% J: ?}
! \, u2 O+ [2 @) r, Y
; r3 X1 ^0 r& n  [  w+ M登录视频废话:
/ A  A6 u- M2 C- W1 j尾翼:% o+ n; e& C6 ]. A) O2 n
9 h: X. V5 x; ^) b/ R8 A+ u3 |# A
代码:6 Q3 q6 G. w) P
  V! ^6 z2 M( c9 N  m  z4 ^
void CWorld::SetLight( BOOL bLight )3 e9 z* i  O) V1 e  g0 b4 K& k
durch$ y5 X( K6 T" i3 w
Code:
! i" T' P' Y" `4 m6 z& ^void CWorld::SetLight( BOOL bLight )! O( g0 H$ q, @# k3 }
{/ ^2 b! ~( Y; N; X
        //ACE("SetLight %d \n", bLight);) p) \% r" Y. ?8 b0 L* f5 x
        7 ~9 B! R# B( p( `) k# e% `! L
#ifndef  __WORLDSERVER 7 s+ E& `, W9 `) T# ^) l
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);5 r$ E/ j/ d# Y$ \2 P' Y
        CLight* pLight = NULL;5 h5 r# L/ N1 E0 y# l: k. c7 A( u  h
/ z) g; }" s/ K4 s  S' s
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );% Z% U% ]9 c8 z; o0 @
! m6 ^7 |3 p  c% W! S, [! x
        pLight = GetLight( "direction" );
. A* M" n! k% ^* ~- _; V
0 c; t- ^- T0 X8 d. M) \#if __VER >= 15 // __BS_CHANGING_ENVIR
6 N, K7 [! k: U7 n2 k) T; _, Q        if( g_pPlayer ){
+ ^. D9 v( u* i& U9 r( D- z                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
8 c1 u: p5 p8 y3 j! v                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
9 Z0 f6 y. D% ~4 {% [6 W( Y/ z                {
, C6 T9 t+ j5 p1 k                        if( pLight )" C/ W' A$ k5 H: B7 x. q7 X
                        {
8 k' f8 S/ x; h9 D3 o/ t' N                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];9 D5 ^1 E; p! O0 `2 C- b
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
) ~" O; h3 F& X                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
9 c/ ~. Y; X! D. t' c  X+ G# S# J/ t/ [9 b7 V/ _
                                pLight->Specular.r = 2.0f;
% \0 B  y1 w' Q  _9 v                                pLight->Specular.g = 2.0f;# g0 x, [1 M! X; s# U
                                pLight->Specular.b = 2.0f;4 l$ h! [5 w  r! n% _
        + i' P/ V9 u9 ?) f9 M
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
  z- i/ b& j: R                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
0 t2 f5 y1 Q" i5 ?  h! \% q7 X8 k6 z. Y                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];; U" _- \' ~3 @) z4 H- F
        8 `- u3 W( m6 @- i3 I
                                HookUpdateLight( pLight ); 5 ]* D/ X" S9 Z4 ~- A; B

% Y0 Q/ n( F2 _1 g                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );+ O9 m. Q5 S7 d0 q
               
4 A( o" b$ \1 Z/ P                                pLight->Diffuse.r *= 1.2f;" N- D( S0 {$ I, h( z$ H
                                pLight->Diffuse.g *= 1.2f;
3 N. @% ~( F/ u- ^5 f                                pLight->Diffuse.b *= 1.2f;. ?4 W/ i- w, t; E8 N

& `; Y8 T( U2 ~, f" T                                pLight->Ambient.r *= 0.8f;& D  Q6 N. |5 l% M. L
                                pLight->Ambient.g *= 0.8f;9 N1 r; P: v) |8 W' ~- k& n
                                pLight->Ambient.b *= 0.8f;2 V) t# m) N1 h+ l. }2 o- _
       
& f0 N8 v  T" `+ W. J                                memcpy( &m_light, pLight, sizeof( m_light ) );$ c. \8 i! T1 e$ Z( I9 ?% B

) q0 t8 W1 ]* ?5 e7 y7 k: Q2 v                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);3 Q; G6 \; T5 }1 l/ d) g
                                D3DXVec3Normalize(&(vecSun),&(vecSun));
1 L" u' G  n! C, W2 ^                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
8 n8 g5 Q/ m+ t                                 pLight->Appear( m_pd3dDevice, TRUE );
6 o1 I5 M& B5 g                $ x3 e7 C9 u7 p
                                DWORD dwR, dwG, dwB;2 J6 n: _, d6 C' j
                                dwR = (DWORD)( pLight->Ambient.r * 255 );
  P) W8 q2 m( T7 \9 X                                dwG = (DWORD)( pLight->Ambient.g * 255 );8 M% y& ~2 c  s- l1 P1 m; ~
                                dwB = (DWORD)( pLight->Ambient.b * 255 );
* b6 g, W  W( a& o1 d% k' d                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );* E9 `. E5 B/ j2 ]: z$ T2 V( l+ u& ?
                        }8 _0 ~9 x- {6 a0 X4 d. I  S
                }
+ G/ R% m% T' [4 K& @( o3 C; h4 I        }, s; h2 ?& N& i& ]' i! H
        else
* U8 P9 V+ K- @#endif 6 s' `) z1 V$ \9 P

- p7 U' ~+ l) H/ o2 S        if( m_bIsIndoor )
% b: ^: }9 F& H+ l; F6 g        {: I6 ^+ m& q8 N% R
                if( pLight )
# s( d* I1 q5 b6 j+ E2 b+ P6 w                {               
1 p& c; m7 o6 c) E" }- t* \! U1 X                        // à??μ oˉè* ; n2 N0 v2 a" L* a, ~0 a0 z
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;8 Y. ]! Q$ l) ?7 u* Q) m! Q
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
. T& C. J' a8 L5 z" |% I$ P/ ]* k* c                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;8 F% ]. M- C+ t' y1 V9 O- Z7 g1 P

, d9 T' C/ a9 k' a+ V5 Y# `8 N, d3 ^                        // oˉè* ??à?
+ l$ r  l5 |7 m& X8 Q                        pLight->Specular.r = 1.0f;
; h) n' O+ A' p1 t) K                        pLight->Specular.g = 1.0f;
' J8 Z7 j  P  z% i3 N4 _0 Q& A3 I7 m4 [                        pLight->Specular.b = 1.0f;
! u0 S, Y4 {, H# ^  e7 a                        // àü?? oˉè*
! g, m. I8 Z$ Z  ^1 q3 X1 d                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;+ T$ P  ]5 Y! T% j' X
                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
. e; \" S# g* H% W: L9 H. V  r+ Z2 [                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
1 s9 _6 P4 H) X' F5 ~. Q
, |4 K5 l8 H6 z3 e' K                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
/ M4 W1 ?. L6 A( v1 X                        {2 k  X9 u6 J; J1 g8 a6 [) }
                                pLight->Diffuse.r *= 0.6f;* S' N. a0 Y. m
                                pLight->Diffuse.g *= 0.6f;5 q8 I2 H! _& k/ t% E$ `; l4 a. r8 p
                                pLight->Diffuse.b *= 0.6f;
" F3 R8 H0 {. H" i                                pLight->Ambient.r *= 0.7f;/ N6 `/ W, W8 q: Q
                                pLight->Ambient.g *= 0.7f;
7 t+ b6 {! P3 w                                pLight->Ambient.b *= 0.7f;
" y* ^+ P1 R8 J, e+ Y                        }
: R6 S; D/ }9 x+ y0 z6 }! X. Z5 T& w- b6 a% p! l: X2 ~* W
#if __VER >= 15 // __BS_CHANGING_ENVIR$ o* r* f. p# X+ C' {
                        if( g_pPlayer )5 r0 l0 E# O6 ^; x, ~  _: y
                                HookUpdateLight( pLight );
6 y" Y. J& W- ?) j- e  N#endif
: O6 m  S6 E0 h( T                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. ?7 n7 I, j; G8 I
- w" H4 }  b# t+ S- r                        pLight->Diffuse.r  += 0.1f;5 {( }8 m3 |; C  D+ s1 z1 c0 i2 @
                        pLight->Diffuse.g  += 0.1f;6 V' U- \$ i* o4 h2 E
                        pLight->Diffuse.b  += 0.1f;& z6 g6 j+ s' k$ a2 v$ c* ^# U
                        // oˉè* ??à? & q. ?/ l( f) g
                        pLight->Specular.r = 2.0f;
0 s, Q  c+ V1 M$ M+ ]3 {* d                        pLight->Specular.g = 2.0f;% O( V4 B6 X9 Z& ~4 b9 R, H  B
                        pLight->Specular.b = 2.0f;
- O& y+ L: n' F0 Y( q: i! Y) a                        // á?oˉ 1 ?5 h7 \, n! ~( b& D# e
                        pLight->Ambient.r  *= 0.9f;
- s6 k- X7 V: c+ }- h% ?6 G                        pLight->Ambient.g  *= 0.9f;& g" ?, @. L# y! e, _/ R" C% O
                        pLight->Ambient.b  *= 0.9f;3 U1 a" b5 T0 c5 f

- N8 Z0 r, V4 Q2 h) E! [: e                        memcpy( &m_light, pLight, sizeof( m_light ) );5 T  ^6 k% k$ I
                        ) l9 [1 ^6 A( {( M& ]' y
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );8 h. O: u' z- b' [
                        pLight->Appear( m_pd3dDevice, TRUE );; c8 }( x! [% r* m) V: M
        ( `, u  F$ q( U2 d0 ?9 I
                        DWORD dwR, dwG, dwB;+ _* N) m& P* i; _# Q8 [
                        dwR = (DWORD)( pLight->Ambient.r * 255 );/ d7 }; R' a8 |: z6 j9 [! }, t
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
6 ]2 O% y5 h' ~1 h8 q2 h                        dwB = (DWORD)( pLight->Ambient.b * 255 );
- ]0 Y& I$ [- Z                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );( L; z, j, }2 Z
                }  g0 y+ f* q3 }- Z  I" h
        }
0 J& f6 C( G6 ], H7 w        else
$ f- z) r4 m% c$ c: l2 q        {
1 g* _. M' D8 W$ W/ f0 R                if( pLight )% Y! C1 V$ X: N! v
                {) a" _* o* o' l: _) F, J! |
               
9 H0 T7 o" O( e1 h! Z# f; h9 M                        int nHour = 8, nMin = 0;0 h- m# T9 n5 J' [, o# N
        #ifdef __CLIENT
% N6 o+ H3 D& k8 o9 J8 r( B                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
  j2 H% R; |, B, `" c( z7 W! l                        nHour = g_GameTimer.m_nHour;
/ b9 S7 q% q4 X                        nMin  = g_GameTimer.m_nMin ;
0 y8 O$ i8 m4 p) z! @        #else
6 c  o7 ]. y( V6 N+ A0 V                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
# B1 _; J; c, `$ ~9 ^: L2 [                        if( m_nLightType == 1 )7 s5 c, h! m' w! [
                                nHour = m_nLightHour;
6 i: D' o+ I# g' N        #endif& P9 Y( K  r0 q) I0 W/ E
                        nHour--;( F5 p4 L& T* |+ F+ f- W5 ]
                        if( nHour < 0 ) nHour = 0;+ I4 Q2 Z. u% E4 R( f# J
                        if( nHour > 23 ) nHour = 23;
1 g% W) J; i  J
1 ^6 X' p6 T) B/ ?4 @  I                        //if( m_bFixedHour )  \& @0 ~6 @" i7 q. R; H
                        //        nHour = m_nFixedHour, nMin = 0;
1 G$ V% h3 v$ j0 J$ f7 ?5 {! l                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
" g* J$ A7 s1 {$ j                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
# Z! l) ?+ |# T* E$ [8 C& w) u9 i
5 w( W; t  Y$ a( z                        //m_lightColor = lightColorPrv;
6 m' |3 f$ C/ @7 g  W1 ?0 l                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;4 [6 D% ^8 x  O3 b
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
$ ~% V# n) ^" `5 |, y                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;; e) d2 D4 B0 \* y7 o: Q' i
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;! b2 m( ^% n+ u9 A- _: U
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;9 C  B$ M; N4 h/ S  F" A
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
) N; @; T: _; V: _( h/ q                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
1 C; z. R+ B/ {5 Q' n+ J# w% U# e( J6 w8 ~/ w/ _* _8 Y" L% M- F
                        // à??μ oˉè*
: _& Y$ q0 V6 [  S# [8 q0 }                        pLight->Diffuse.r  = lightColorPrv.r1;
; p( c* y; ^) {7 U* K& [                        pLight->Diffuse.g  = lightColorPrv.g1;
8 ^/ U' j& T  ]2 G2 q" X+ ]                        pLight->Diffuse.b  = lightColorPrv.b1;! V$ b1 {* P* {' V4 d8 n( ]+ q
                        // oˉè* ??à? " A. B: L! n7 L0 i- ^" x4 a
                        pLight->Specular.r = 1.0f;
% E2 D% [9 @$ o8 ^% m/ b/ E                        pLight->Specular.g = 1.0f;
  k3 {, E# ?9 R- z                        pLight->Specular.b = 1.0f;* I1 z. ]' d- x! ^$ y
                        // àü?? oˉè*
( u0 [; c' L3 M& k/ V# C                        pLight->Ambient.r  = lightColorPrv.r2;2 s; t: e9 K( @4 s
                        pLight->Ambient.g  = lightColorPrv.g2;
( M& T0 m" g8 a                        pLight->Ambient.b  = lightColorPrv.b2;
+ i+ w% G  k" P: o7 z" n0 y+ t0 z
' Z( ]7 P+ [6 @! d* n& s  p9 o  O                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.5 H6 S) g4 ^7 R% C  i( @& v
                        {! g+ {: b7 J: n. m4 j4 p3 I# |
                                pLight->Diffuse.r *= 0.6f;# ^  A; x' p& b$ h7 f
                                pLight->Diffuse.g *= 0.6f;
9 t. N1 v  P% t+ L7 T- Y% S                                pLight->Diffuse.b *= 0.6f;
) M8 f8 c+ w- B' \% I                                pLight->Ambient.r *= 0.7f;) C3 x& C2 v/ f) B# U; w
                                pLight->Ambient.g *= 0.7f;# ?  V+ T2 C  Z
                                pLight->Ambient.b *= 0.7f;
# o7 P$ a) [! I' [& r( d* M                        }
! N; D; w4 O8 {( T) p: t; W! B$ b                        ; `  _! W7 V9 K7 L4 J. g8 c1 h
#if __VER >= 15 // __BS_CHANGING_ENVIR0 L" l5 A/ B/ f- E
                        if( g_pPlayer )
: q! R: X( s5 j5 `/ h/ b( ^                                HookUpdateLight( pLight );
7 X: N( ^; h& Y/ Y3 {: R/ s% D1 a( @* a#endif
, p) a  H* q( a" m                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );  h& v2 D; \0 b0 M: y: r# b% y! R
  s# y7 Z  Z0 o: K
#ifdef __YENV
8 e2 T$ E9 N7 s+ e( r1 O( Y                        pLight->Diffuse.r  *= 1.1f;
3 `0 ?' K5 ^* {2 [                        pLight->Diffuse.g  *= 1.1f;
1 I$ B% D6 }/ Q% H                        pLight->Diffuse.b  *= 1.1f;) i5 s  g$ p( v( m$ H3 f4 V, r
                        // oˉè* ??à? & ?  C5 d2 m9 _2 [
                        pLight->Specular.r = 2.0f;
& f: F. T) O+ @  W& u( R                        pLight->Specular.g = 2.0f;
: f' f3 _6 p  C4 f                        pLight->Specular.b = 2.0f;
1 \$ Q+ {" ?9 m" M" C8 k                        // á?oˉ
  `* A7 L- m2 n3 M- P                        pLight->Ambient.r  *= 1.0f;) l2 ^. }+ ~$ ~4 Q. ^5 b. d
                        pLight->Ambient.g  *= 1.0f;8 V& q# ?0 ]0 Q. M
                        pLight->Ambient.b  *= 1.0f;
" n5 c( Y; V; r* J! Y9 h; K( X: a: G0 Z#else //__YENV! V; q% J- p# c( p* o* c3 c
                        pLight->Diffuse.r  *= 1.1f;: h' _" T; S3 Q4 M  a
                        pLight->Diffuse.g  *= 1.1f;  k2 I7 C3 c+ }4 N& E4 @0 G
                        pLight->Diffuse.b  *= 1.1f;* x- N3 a7 ?1 f/ \: Y
                        // oˉè* ??à?
0 u; H' j" s, J! G                        pLight->Specular.r = 2.0f;& ?2 T: p# |9 w) Q
                        pLight->Specular.g = 2.0f;$ Z+ o5 T7 d! c! q! k
                        pLight->Specular.b = 2.0f;0 a5 v4 U* c1 {, ?7 s0 ~7 i* p
                        // á?oˉ
- h5 E3 I4 U0 n4 L                        pLight->Ambient.r  *= 0.9f;
% o( Y" W+ c: W2 R                        pLight->Ambient.g  *= 0.9f;: @2 z$ _, ]- K& W) x
                        pLight->Ambient.b  *= 0.9f;
, J- u- j' s; }#endif //__YENV
9 c: F: N  s* m. X: h4 P4 t                       
, o: \! l) r: F                        memcpy( &m_light, pLight, sizeof( m_light ) );
7 s# v' A% A* T$ j$ }$ n                          |3 l' R. U4 k, k, ~7 L
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);9 N* r9 R% ?3 C; T
                        D3DXMATRIX  matTemp;6 N, x$ }% z4 A2 ]
                        static const float CONS_VAL = 3.1415926f / 180.f;
' Z0 p* b* p, A( z, r) O
4 K# P, }6 V% v                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);) }* Y: f! I0 Q; Z( f  b% C
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
4 \* w$ B: c4 P7 y% m+ \+ V: k' G% F                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );   c1 m5 J: X0 k. m: S
                        pLight->Appear( m_pd3dDevice, TRUE );
' `3 ]: d$ L9 `2 j
9 _9 X! |% a1 n4 \9 t, f                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
8 v; [3 S: O) F$ r; T/ C                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
+ R+ ]" s8 G5 p0 K' x. A" K                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
& p2 k/ y5 S- N) u
  x5 {! p* j6 c6 s- d                        DWORD dwR, dwG, dwB;
$ L, B! H; X/ K+ x9 Y, c7 l                        dwR = (DWORD)( pLight->Ambient.r * 255 );
) G- p- E% z" c( r5 ^8 d2 }                        dwG = (DWORD)( pLight->Ambient.g * 255 );# d& e5 W7 W$ z  v( z( o/ J
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
- J6 V8 F/ E1 _; O) E                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        4 z. ]. W/ V8 O1 @) j5 n  B
                }7 z  T( m5 I- O/ b1 |# [5 y
        }( Y; {* `$ t7 _1 k3 J) T( Y
: U. \. S' n' h; P2 z, ]
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );% j0 z! \; L% H$ G
        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) );
4 b0 R% k' t$ W# x" |+ \        ::SetLight( bLight );
( r; g2 [8 x# N& W& {( i8 `6 }& o. B" U# w# b+ R7 W8 u
        // ±ao? ?D?í???ó á¤à?
* R6 [4 Z; P' n0 c& i        m_pd3dDevice->SetMaterial( &m_baseMaterial );) L+ `9 o" P0 e; ]+ I; j
       
% d) W! i0 b; A7 M#endif // not WORLDSERVER* z; x& C' s$ v+ _1 p3 S
}
0 {% ?% k! W( m* z并更换
; ]" {( m' |. x, l6 `7 QCode:
- I: k. b( s8 [! H2 C4 V__FLYFF_INITPAGE_EXT
5 J- f( N! P% p8 ~" P定义
+ l8 ]( L- K$ V1 r- g( Z0 p; A' L
# N6 c) e, M9 [$ o3 u8 h" Z' V& o$ E. F! z" n4 s) q8 L- M; t, Y4 ]; L
" x5 q! z" s# [9 w/ s

6 P  R6 U: Z# U现在终于删除我的狗屁加速...
) `( o, b/ ?2 _' [' }$ T  E7 H' W/ i5 \% L
: o/ H# o# ~" `( k* T; G
! i: i- A. `' _





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