飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:
- W7 Y& E/ k+ @# a7 y- f' s* O尾翼:& K6 b3 l- p$ @* q0 i. K2 W, n
" `  s8 t8 K# X' }7 m# G
代码:1 z9 s7 G, d  \5 h  r4 j2 @
CWndAutoFood::CWndAutoFood()
* \' A# I2 L9 ~- x{
6 B" R5 I6 W5 g  T6 [5 r        m_pItemElem = NULL;
; H% v5 S7 D2 Y# d/ U        m_pTexture = NULL;
9 t% ?2 {3 O8 C; c" e        bStart = FALSE;
4 U6 @. _5 |( |}6 f4 B6 M* Z7 B+ ~& Q
& ?" A0 x  \& t
CWndAutoFood::~CWndAutoFood(), B0 Q% W+ c+ z7 K
{
- [; x  H1 R: Y( e7 R9 }' ^$ g$ I; `        AfxMessageBox( "AutoFood ist gestorben " );
4 G- M9 }6 g4 @- S) a  k}! B0 h( d3 s. M( A; S8 I
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
2 G3 V6 J: a# x1 Z{
3 `+ C8 A! o; B) ?1 p* Z% F0 P2 g        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
3 V; E& D' ~+ O5 {}
, O9 g5 Q( K8 Z! M; h; O* ^' O* {$ ~+ v# h
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point ). |+ w8 b$ z' I) q8 A
{9 k/ Z. y2 ~" |/ N: p# L1 ]
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
5 m2 [  i+ q# w        CRect rect = pWndCtrl->rect;3 i4 w* o1 V) @! X' T4 \
        if( rect && rect.PtInRect( point ) )
$ f( y% d0 u- Y: |) W$ S- G        {
- n! X! B- L, o- z( i( o4 H                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
% f  c# j7 e! [" b" ]# g                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )) m: M3 P0 L' L. |; w
                {
# y( B/ U6 I2 Z" z+ [! }! h                        if( m_pItemElem )# H8 w+ r; M8 o, t5 I+ L
                        {
1 ~5 R) R$ G5 \/ m- A' c                                m_pItemElem = NULL;- R/ b. X0 Q0 V) Y( _, W: z
                        }  _5 c/ f/ H0 {) v# L* e1 n
                        m_pItemElem = pItemElem;( b. P# F: P; x- s' n
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );& c3 @1 w" j/ ~4 @
                }else{
7 F! ?% Y, B4 Z/ Z                        SetForbid( TRUE );
/ d" ~4 g. x$ ~1 K1 F  h                }2 X, I, W. b' I+ A" D
        }else{
6 b$ J! |' m$ z                SetForbid( TRUE );& p( k9 b% \: P; G5 Q) d
        }0 z& b# e$ ?% T' W9 H4 N: z
        return TRUE;3 l+ N. _' `% v! @$ j! a) t" U+ a6 a
}1 d5 U  d8 M/ p) L
' [& G( b7 v6 d) G% {# p" M
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
0 S5 C$ p: o6 i1 @  ~$ G% D{* z4 Y) W0 c% {- a; \) y+ N
        switch( nID )( @- Y! J1 _) p- M# j
        {
7 D2 R! v+ y* P8 d* {3 g        case WIDC_BUTTON3:; p7 ^" v% T+ Y% L" T1 @/ R
                {
$ K+ H1 K# o& C                        bStart = TRUE;8 r. ~* u. k+ @7 R+ ~
                        break;
8 w3 d" `4 N4 c. b2 d$ d                }
- e' ^) Q# y) X        case WIDC_BUTTON4:
* F0 V/ s  ]% t  o                {
; b; m* c/ Q  s0 F* J( Y6 [+ c                        bStart = FALSE;
6 Z, m( I! O- ^7 p' H) d$ i" M" U                        break;
0 u% T/ o) i3 [8 _1 t( B/ q9 v                }
/ k6 c2 z/ I! n$ y; D* Q        }
$ w% y" T* a9 l, [  m        return CWndNeuz::OnChildNotify( message, nID, pLResult );
' C5 M4 c; H, y; A  q/ L1 x}       
- Q. f% A/ K; M0 v& ~( ovoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
0 |* X$ P2 `$ `- `5 W3 Y$ L{
4 ?& N( ~. Y+ ]* |/ H/ P        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
; i# W. z$ \% S1 j, g; I* c# W, [        if( bStart || !m_pItemElem )( [$ o. _; z5 K, M, \
        {
, l2 `# M, D7 d, S! V! ]                pBtn->EnableWindow( FALSE );
# m1 W0 n: {1 R        }else
  b; u* S, m( ?                pBtn->EnableWindow( TRUE );) h$ V0 i6 m5 p2 I1 o+ K! b6 d
        if( m_pTexture )
  ]/ ^" C6 Q3 g- [7 W1 s- P        {  E# ^* L% Z( Z$ K- Q
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );$ k8 A( q$ v$ ?+ @
                if( wndCtrl && wndCtrl->rect )
1 S1 P. K0 u9 [# v2 j                {
, F! n( n( K/ q* ^0 D                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
( t4 I; ]! `! z4 N5 P                }
# \% L1 V( V$ ~7 f: n- K        }  R: S& ^9 {/ E) [/ _
}
( \; w7 u/ H% Q  I, {( t1 u, U* y% k% i  T/ n. y# R3 A2 `3 k" _+ D
BOOL CWndAutoFood:rocess()
8 [! F; Z1 X/ B7 P8 W{
: F0 m4 y' Q0 a, h9 B" G3 Z# ^' P        if( bStart )
& i+ F1 E$ s' o- a0 C6 q0 ?        {
- H6 V1 ?" B6 \# z( P  I0 Q! R& k( a                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )) d% p+ w) {0 B+ }
                {
3 G- z7 B! L4 F! u  @7 E- h& C6 U5 K                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )1 b* y% B. `4 N' W- a1 F1 `, W
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );4 O9 j: z& R2 p
                }else{
1 `0 U; r" s7 v' K6 b* w                        bStart = FALSE;/ F2 i1 Y6 e* N+ Z
                        m_pItemElem = NULL;
2 Z* J6 C3 _$ n# M                }
; t6 S& K" a: `/ L" w- e: `" L: \& g* X        }
% J0 y2 J, }6 r* k4 s        return TRUE;7 {  I$ X/ h: t8 g5 `) u. l5 v
}, d: z: n8 |2 f1 y: q+ l2 ?
& J3 m& R' S9 f& J  _3 X8 F) E
登录视频废话:
7 Z" M) q  T. ]% X* l. d尾翼:1 d4 ^/ r0 O1 ?3 T9 y
# S, E7 h1 y2 [* K; X
代码:
0 U/ E4 _0 s, |* i
/ }! C) t  h5 @+ N0 ~void CWorld::SetLight( BOOL bLight )
0 A' d( E! a1 z* ~) S- Ldurch
4 y# ~" R0 q, P! M% bCode:! ^1 \. D1 U! F: ]. @9 H
void CWorld::SetLight( BOOL bLight )9 p- T. W% q1 O* ^1 O
{
+ r+ d* @2 ~  H; q. g        //ACE("SetLight %d \n", bLight);
. u+ _3 ]0 o5 H2 h9 {) I( c+ U6 _9 D        / b2 |7 P- Z* l! T; ?! b
#ifndef  __WORLDSERVER # a0 A. n5 q, O5 b" t
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
: L( x& F0 q. ^% w" |        CLight* pLight = NULL;! N. E+ C( W3 B( o7 H9 A3 {/ Z
5 F4 }: b- |3 y* R5 u+ |# |2 @
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
+ U- u% z% c7 R. D3 N
/ G% F3 w# e, N" i' {. Z( D8 |- @        pLight = GetLight( "direction" );
  E" e! ?# N% T1 c% p- ]1 b+ m6 w5 n- r" G; y
#if __VER >= 15 // __BS_CHANGING_ENVIR
$ @& _# ]9 H8 N2 P- s        if( g_pPlayer ){( R  O- T& `5 {( N
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
4 Z1 {0 Z! m" v7 x& _$ {$ e                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!. [( q% b0 \8 q* s) p! @0 L& I: I; {1 M
                {+ g4 X- ~4 f0 F. }- {8 L9 e
                        if( pLight )& i5 N) z4 x3 K
                        {
: [3 N9 y$ @- I# g! u% ?& j& K7 U                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];6 _3 e% }. O7 l& c
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
8 `7 Q5 B. N) \# V% I                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
/ R, [: b1 ~& A, |1 b
4 N8 H  `' D, S, h2 C                                pLight->Specular.r = 2.0f;
' Z# b. j* E! i3 C& i2 |7 T  T                                pLight->Specular.g = 2.0f;% j) \4 c% p% C
                                pLight->Specular.b = 2.0f;3 r$ M- O( R8 A' X
        7 u! B6 Y$ P$ G/ o2 _
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
/ Y) _# h2 s" Y: J  g                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];# Y0 z" S! k# L9 E) K" w
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];/ z$ y. V3 b6 I3 W2 o
       
2 b: |' C% C0 K; i! v7 ?                                HookUpdateLight( pLight );
; j) Z3 u5 u9 i  V# m" W. {7 K  T; f' U2 t4 U
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% M: H& e; G3 y2 Y& c                : `- q+ _# K3 v0 p% x( }+ k( w8 X& Z0 \
                                pLight->Diffuse.r *= 1.2f;2 Q/ P% Z- _  K6 B; l
                                pLight->Diffuse.g *= 1.2f;
& }9 X! Z& H  {) k- {9 z                                pLight->Diffuse.b *= 1.2f;
% H; h( e% A% E$ v
: o, |4 R( x: K* E% D; I! Z                                pLight->Ambient.r *= 0.8f;
2 h# P: d3 \* r6 w/ ~                                pLight->Ambient.g *= 0.8f;1 G3 V" H* @0 k
                                pLight->Ambient.b *= 0.8f;
5 j* i1 M6 U0 A0 s       
6 d; z! q2 e$ N: N- P                                memcpy( &m_light, pLight, sizeof( m_light ) );
) G. H6 j3 z9 \. L& {7 O8 M8 L7 k) z% c2 I: B# P" V
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 E' q; e! \. |5 e  ]                                 D3DXVec3Normalize(&(vecSun),&(vecSun));2 i4 u5 S: R% w9 I
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
+ b4 |  K+ P" Z7 G1 C, G                                 pLight->Appear( m_pd3dDevice, TRUE );
) E! E; I% L2 Q  _0 B0 U               
, p: a* l9 _; c) S! A4 ~+ B% x                                DWORD dwR, dwG, dwB;
$ q! P* V: @% `% I% M                                dwR = (DWORD)( pLight->Ambient.r * 255 );% y: L# g5 M! v: h& y3 I
                                dwG = (DWORD)( pLight->Ambient.g * 255 );: |+ X8 ~. v! x( e
                                dwB = (DWORD)( pLight->Ambient.b * 255 );
' ~6 S- ^; |7 q4 y, k' P                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) v5 {8 y: D  j; t5 _8 k! ?                        }: Q8 h$ y1 P% y/ ^* B4 C
                }: @: f  \; I# a
        }( P6 x; |, U: T' y+ z: [8 }
        else
# W4 X$ V1 g: B$ g3 s' Y#endif
5 W3 u2 g6 n; K9 e" c) m7 j3 S6 s# z
        if( m_bIsIndoor )
0 D; w% v5 h0 T6 \$ Y) V4 @        {- E& I& [1 ~8 a  O/ {0 b, l$ A. L
                if( pLight )) ^5 z3 U6 ~# U# v2 O$ c
                {                0 G: v  a! r4 }
                        // à??μ oˉè* 4 ?3 e  j- t2 M2 y
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;, T( I8 W, j: _9 [0 G4 X) ^, Y
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;$ d% r, y" D, m: v# P5 _6 r
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;7 w: [7 Q( y7 U# v
+ `! l: a4 I3 r; n- ^
                        // oˉè* ??à? 9 d1 i" w! h3 R* X! c  j7 F7 k
                        pLight->Specular.r = 1.0f;8 }3 I3 D0 _" ]& n# r/ ^- q1 u: ~
                        pLight->Specular.g = 1.0f;
# M" C7 p' R# F2 E( c! n                        pLight->Specular.b = 1.0f;! [7 F; C7 v; ^  Q! p
                        // àü?? oˉè* 0 a; D+ Z8 o+ r
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;5 l6 a% S, O, L) ]8 q
                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
, o7 r1 p9 x% {7 K3 ]& D' e                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
. R. j! U/ z3 l, [: F
$ @% ?' V$ f9 [6 D2 [                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.* g% X: R9 G- E" N9 W1 d& D
                        {
  b+ o2 @; Q5 S! @                                pLight->Diffuse.r *= 0.6f;0 Z' j! L7 `3 m! ]$ I
                                pLight->Diffuse.g *= 0.6f;) ?$ E$ `& t6 Q* g$ @. q9 s' _/ u0 h7 F
                                pLight->Diffuse.b *= 0.6f;
# w/ j7 H0 x' J' ]3 X                                pLight->Ambient.r *= 0.7f;
. O. |' E2 z. v9 ^* A# f+ C6 `                                pLight->Ambient.g *= 0.7f;. X6 M% s* H8 U1 \4 [6 H4 i
                                pLight->Ambient.b *= 0.7f;; J. H' z) [- M; }
                        }
, Y: Q+ Q7 e: F# K& t7 n3 ~; s6 O
#if __VER >= 15 // __BS_CHANGING_ENVIR
! e  \8 U# M( v                        if( g_pPlayer )
* F" r2 _, L" p9 m; E% ]+ H                                HookUpdateLight( pLight );
6 F% A5 u' d3 b#endif
" h  ]% n6 ^/ T. l  i: K                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );4 X* I+ M( Y9 `2 `3 ?: H

. Z( _9 H# r7 Z7 ^                        pLight->Diffuse.r  += 0.1f;
! N! G0 q! Q5 ~& `                        pLight->Diffuse.g  += 0.1f;+ Y7 w( z( u6 g* t8 o! x, a/ b
                        pLight->Diffuse.b  += 0.1f;
  a% B( D! g9 G/ n4 B                        // oˉè* ??à? 3 m3 f* D: }6 z% u
                        pLight->Specular.r = 2.0f;
* I+ ?$ i" _8 }9 j- h+ ], t                        pLight->Specular.g = 2.0f;
, ], r+ A4 ^# q) s, z  |) n$ l                        pLight->Specular.b = 2.0f;
: m3 L$ R# [/ ^, u/ U6 g9 ?                        // á?oˉ 5 b( B4 z6 E8 q& Q0 K$ C3 ]1 t
                        pLight->Ambient.r  *= 0.9f;
; w7 d6 g, D8 M; }                        pLight->Ambient.g  *= 0.9f;
& k: L% u: y) r                        pLight->Ambient.b  *= 0.9f;6 g  {: D$ }$ x) F/ ]1 ]* E4 x' {: s- a

* u  U% p- s0 o0 ~9 C4 J% W                        memcpy( &m_light, pLight, sizeof( m_light ) );' J" _! b. d0 ^, h
                        % P8 N7 t& c, F7 b1 ^& y. b: @
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );( r9 k4 Y- i5 h  X4 k
                        pLight->Appear( m_pd3dDevice, TRUE );/ C1 d  E" r# f* v2 [( Q
        " n7 ^9 Y0 T  Z, `- K) _* b
                        DWORD dwR, dwG, dwB;, J! Z6 k4 b4 S) h8 j# M2 P
                        dwR = (DWORD)( pLight->Ambient.r * 255 );$ k. s6 O9 Z0 R  @. K. `' N
                        dwG = (DWORD)( pLight->Ambient.g * 255 );2 ]/ e  p$ m7 f5 k& Q
                        dwB = (DWORD)( pLight->Ambient.b * 255 );! s  c3 W2 N, ^- H0 p
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: f# P# Z. N4 Q: W9 J3 h, c                }
# I4 F8 y3 ]# H! ]        }
, X9 a0 @# \5 I; _" _5 G+ K        else
9 S; P5 R# I  A        {# ^$ @2 z. b) B$ S
                if( pLight )1 W7 B% ?4 l% |5 g* {
                {
1 }( M# A$ q# I/ y4 [               
1 J' B" _3 M6 r7 G, W6 h                        int nHour = 8, nMin = 0;
* G' _1 B' N: m. R$ J        #ifdef __CLIENT
  T$ @# ]! ^; j5 {5 V                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
. V8 W7 ~9 l) \3 V$ p! [1 ~' q                        nHour = g_GameTimer.m_nHour;
" s0 {$ W- E" j7 i2 T7 X7 f                        nMin  = g_GameTimer.m_nMin ;  ]: ]% Q. A) U' m' C* B# p* L: B
        #else
; J# z  u+ {, q                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
( F  V9 D! W* b                        if( m_nLightType == 1 )
3 q; c( n& f9 o) j                                nHour = m_nLightHour;
; b9 N5 O/ S' s) X        #endif4 y* _; y) Q+ e
                        nHour--;: p$ A; ~, J* E: K1 f' D
                        if( nHour < 0 ) nHour = 0;
! `! r0 l+ B7 h1 ]. Y                        if( nHour > 23 ) nHour = 23;
0 t  P" [8 P6 [, U/ D1 m( w4 G: @. r& L. ~1 H
                        //if( m_bFixedHour )
/ }; T# F. d9 r% U2 X% M" e% h) r: w                        //        nHour = m_nFixedHour, nMin = 0;
  u) ^6 Z# Q0 Y" ]2 Y6 V  s: R                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];. o, Z5 n/ j; L
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
' N& ~! ], o8 T& T% \+ l! J1 s) A) J" P! F# S# X, _
                        //m_lightColor = lightColorPrv;
& S: @) X* C% ]8 r                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
8 o" |. _% t1 L# Q0 @                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;3 l+ @* `. A# D& M3 c
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;! G$ V, t, x2 p9 X
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
% x9 A* t4 Q! w# I& ^                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;+ d6 ]! f8 N/ |! }- P6 P( `# h
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;0 P' A9 z0 n7 C) U% o5 L
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)3 V0 z+ Y1 t! N0 T* j0 f# _  w% s# l

1 L# Z/ f9 ?) J$ Y/ z1 m! ^                        // à??μ oˉè*
, R+ I7 L$ `) \0 m/ J                        pLight->Diffuse.r  = lightColorPrv.r1;
0 @4 ]6 t2 a4 M$ Q' A                        pLight->Diffuse.g  = lightColorPrv.g1;
+ D6 f+ y0 c7 F                        pLight->Diffuse.b  = lightColorPrv.b1;9 N( m! N- a1 z" }, }. G# y) U
                        // oˉè* ??à?
% n0 n* P& p  e* n! g# u! j8 }                        pLight->Specular.r = 1.0f;
2 d" a% d' ~6 x; f: {& k: Y                        pLight->Specular.g = 1.0f;. ~  r. M) O$ p- {
                        pLight->Specular.b = 1.0f;
: A: ^/ @. p' i: _2 H2 d                        // àü?? oˉè*
4 D8 P0 h0 J$ v6 D  {                        pLight->Ambient.r  = lightColorPrv.r2;
! y* q" T7 Y" {# ?                        pLight->Ambient.g  = lightColorPrv.g2;
& J; ?2 a" K7 O, l6 h7 S5 \3 x& R2 }                        pLight->Ambient.b  = lightColorPrv.b2;. Z1 z6 ^' s# t& u
5 c( D0 C% k  i" U
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
) f# b! O4 t0 H. r' c                        {+ r, C6 |- I3 P: D7 S
                                pLight->Diffuse.r *= 0.6f;) Z" l, S8 ?, o( w1 i; E4 `
                                pLight->Diffuse.g *= 0.6f;
' E/ N! y; U4 K! ?                                pLight->Diffuse.b *= 0.6f;
# M3 Y- U$ G2 i. k  ~( R* b. M                                pLight->Ambient.r *= 0.7f;# Q/ y$ ~9 h2 _6 a7 ~% b0 e5 \
                                pLight->Ambient.g *= 0.7f;- E/ }% X- o/ _
                                pLight->Ambient.b *= 0.7f;
& D- |  E! w0 L* o' O/ x$ x# u# e' F                        }, b; \* D8 X) O7 e* G4 p. f/ M
                        : z' w# G) u9 b" _" L8 C1 [
#if __VER >= 15 // __BS_CHANGING_ENVIR
. M9 I' [: Y( H7 J+ y; ?, G8 F                        if( g_pPlayer )
4 W$ p8 l. {% W' M                                HookUpdateLight( pLight );
  R; i( Q+ R2 S) g& Y/ D3 K#endif
4 l9 N7 I/ E4 [! y3 y2 ^                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# J6 t' a& ~4 z0 H. s* x) L, `
: Z& i7 x7 \9 s! ?0 L#ifdef __YENV* b6 h9 e( K' c. j9 z- w: N5 A  o
                        pLight->Diffuse.r  *= 1.1f;( ~1 s& b7 b: G% t3 U
                        pLight->Diffuse.g  *= 1.1f;
. `1 ?+ j7 h- M2 [7 Q9 O                        pLight->Diffuse.b  *= 1.1f;
! J' R) z4 a# ]8 |2 a! t% g                        // oˉè* ??à?
9 ]! c" }, q) \5 n4 H                        pLight->Specular.r = 2.0f;
5 ?* P3 Y5 S4 @6 P7 B: l$ Z                        pLight->Specular.g = 2.0f;- A2 V) r6 }. b: p8 |/ A
                        pLight->Specular.b = 2.0f;/ e8 {9 I: f4 }
                        // á?oˉ
9 Y2 |+ Y( H2 \4 w0 Z, C5 R% i                        pLight->Ambient.r  *= 1.0f;
" G  A3 m, \0 `* s1 e5 D% i                        pLight->Ambient.g  *= 1.0f;
6 K2 m* \' t! _, I8 Y                        pLight->Ambient.b  *= 1.0f;
6 Z+ h3 ?5 ~- U, ?9 W#else //__YENV
6 c# `% d( m1 G% F& S1 o4 H                        pLight->Diffuse.r  *= 1.1f;" a: g$ z; q1 l: l* }
                        pLight->Diffuse.g  *= 1.1f;- t! n: G  ]% _/ ]/ w9 |
                        pLight->Diffuse.b  *= 1.1f;
7 U& X6 ]& O% n; D0 ^* N. P                        // oˉè* ??à?
' L& i9 F7 X+ z8 A. P2 D: q1 y                        pLight->Specular.r = 2.0f;
0 V' V6 [$ B1 O- {. d* \                        pLight->Specular.g = 2.0f;
$ Y+ H) Y; W, Z% P) X% S                        pLight->Specular.b = 2.0f;
1 f# L9 B# e0 r6 k( T7 j' a! w% f                        // á?oˉ $ h8 ^4 R; D% c" ?
                        pLight->Ambient.r  *= 0.9f;  I4 l2 J1 O& A( _% L
                        pLight->Ambient.g  *= 0.9f;* u% f3 M4 R0 y5 l1 @' v  i* @. U  O
                        pLight->Ambient.b  *= 0.9f;0 K' x8 k( i- A* y' K/ y
#endif //__YENV
& i3 K/ P7 K, J3 i/ I: t" l0 f                        $ Z% ?& v+ E& e. Y# K! S
                        memcpy( &m_light, pLight, sizeof( m_light ) );9 x  [9 D' y: u  E# E4 @) ^
                       
0 d6 W0 q1 Y2 A5 f  }, X3 e                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);# q5 F. E4 Q# V3 R' g0 g
                        D3DXMATRIX  matTemp;
: v8 N6 P# U+ I  o$ {- n                        static const float CONS_VAL = 3.1415926f / 180.f;0 s" f: Y6 [" A

& W! q& L" R9 u, L& w8 Y. _; U" U                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
1 F$ }/ ~& b2 O: I4 s4 E1 X  ^                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);0 x2 u# W9 m1 j+ t% r9 A' y. t
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
5 Z" t) M( q& Y, U  g                        pLight->Appear( m_pd3dDevice, TRUE );; n8 D/ j# q9 w1 P$ g: R1 P

; R2 X! s# ]3 j: c                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);, Q: X' B  L  l' i
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));$ b, m- S2 I* h9 y3 J
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
: y: n+ U8 y1 I$ K5 u$ k3 u4 c* v& a* Q
                        DWORD dwR, dwG, dwB;5 h/ A  k( M5 A# e2 e( S
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
6 Y" G+ V3 c# b1 Z7 u1 H- g" S! M  X- ]                        dwG = (DWORD)( pLight->Ambient.g * 255 );' Q0 J" r  w; e( |
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
/ d) A: g* m( @; n$ g# o                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                       
9 Z5 R6 j+ g$ \3 q; s                }: Y; ~+ c- l+ g8 R1 x( D5 u$ Z! h
        }6 S. N+ M. z1 E, O

- D) E# u' v  \7 }: u        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );/ o* K, O( W4 |. u  N. C% C+ F
        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 O  `6 }2 u/ K
        ::SetLight( bLight );" l+ T, U0 |$ t! S

3 N' l( j& }/ v; B4 v  Q        // ±ao? ?D?í???ó á¤à?
3 a& _4 d/ Y2 E) I7 {9 X: Q9 {        m_pd3dDevice->SetMaterial( &m_baseMaterial );
$ U+ e' @( L- r5 a% i; d1 j        & Y) H7 P9 b: l" a1 e
#endif // not WORLDSERVER9 M' }7 L" o: ^  l4 D7 t
}
5 b) h; }% D& q9 _并更换
1 B7 C" Q* O( x) H0 g- KCode:; d: G& m+ I( x3 j& T* E7 I. {
__FLYFF_INITPAGE_EXT1 z9 ^$ C, v# K% B$ D  r# ]
定义) I$ b' N: P6 w9 H
  q1 P5 y- u4 f6 `7 o0 r; q

* r: V% H$ y9 {! s% w+ b9 G9 t" P3 s9 {

: o! }- o) d& T' N现在终于删除我的狗屁加速...& L$ a* v7 Q5 O4 k. r9 o( Z

. |, G6 B5 W9 l- q: x5 J+ @3 ^. j+ w+ h

8 T( g& J1 D3 t9 E& W




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