飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:6 e1 [- u# F/ v8 \# Z, O0 E
尾翼:
$ g7 ?5 `: L3 ]. C
* L. @1 J. H. X代码:; |  ?# p9 Q4 e) G8 a3 w8 C* d$ w
CWndAutoFood::CWndAutoFood()4 R' p% x2 V' \
{& \4 P- s( T( p7 t" N
        m_pItemElem = NULL;* I3 T' c! P2 q& C
        m_pTexture = NULL;
7 X0 `* p, N/ }        bStart = FALSE;
3 W: O' T% j% ~) s# r}
: A( I1 W8 H2 V+ b8 t( l! K# }2 C! W& C3 m
CWndAutoFood::~CWndAutoFood(): `8 e. R! I6 m% o# O6 `, ?* G: O. |9 R
{! J" a7 i8 {$ }3 l: I0 V; {9 @+ @! \
        AfxMessageBox( "AutoFood ist gestorben " );
0 p/ _1 P; z, U3 h4 v' ]& n% W0 O* E}
' L) O6 G$ y' h' P% e3 EBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )1 E1 D- `1 z; ~3 @7 k
{
# i0 ^7 I5 v  Q0 f# O1 k5 b5 l        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
" x$ u% X( E3 L( F1 x1 {}1 y. i5 `: @6 l2 E2 x9 k7 }

5 t  H: A. \3 KBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
( ]; d+ C  Y2 o. e; M$ _{
' \/ P) T. T" r. h* {0 d+ X) S5 Q8 y  r        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );4 y9 P2 ~& l6 P$ n2 o. d2 f
        CRect rect = pWndCtrl->rect;% C7 B7 s( M: r% }8 `( n% f3 _
        if( rect && rect.PtInRect( point ) ), q0 y& k+ V* r; t8 L
        {
- y. \( N7 w8 k$ e                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
% f- K3 f/ L, n2 p4 c                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
& e4 W4 t$ g4 M" {/ Q* o. P2 G                {, G/ Z3 O/ _% {' t- j5 k
                        if( m_pItemElem )0 ^; H2 h; Q) Y  d; |
                        {, h# ?, o$ Y/ q
                                m_pItemElem = NULL;
' a. }* A! M9 x2 s! R                        }
" r( u" G7 k) s  H$ a3 c& F                        m_pItemElem = pItemElem;
+ _1 Q$ P! Q. R+ ^* q                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
$ D8 U, p* k* F( V# z9 O                }else{
  \3 b2 }" }  ?                        SetForbid( TRUE );, s0 a* @# T9 B' [( h( F
                }# p% F& I5 A$ ]
        }else{
% }  q0 y+ p# z4 n5 H: Q                SetForbid( TRUE );
4 ?. r, i. ^1 [! W' G8 I  |        }
9 w. |# j6 d. _" u: R+ b5 S        return TRUE;
9 q% l  [% `1 ~' U6 e+ R! S6 }}. k+ F. W, c/ r
6 k0 R3 n, W4 v
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )0 k& i# a! s7 d% F+ f1 }
{
2 U* h) a6 K5 a8 c        switch( nID )2 Y4 r, G) C* A0 I1 j8 N: U! v
        {
* {: T- F3 n3 D! I        case WIDC_BUTTON3:
* J  L1 \9 Z/ u; ~: H                {
) _3 ^% S( [+ K& y5 a* D) x                        bStart = TRUE;
0 Y+ d7 D2 H. Z4 w1 f7 G: {7 a" G                        break;
7 m8 c+ K0 W2 t% x& p# k( r: J                }8 v7 Z, d4 a2 J; {( @4 V+ f
        case WIDC_BUTTON4:
7 t. Q. l- f* \4 G2 S                {: d& C* [7 F- J: y; h1 j
                        bStart = FALSE;: v1 W0 o2 M9 v. M
                        break;& P) G+ V8 I$ V- }2 p9 k
                }
/ L* v: G, c" r; R' S+ ~3 m        }
% b3 ~) z. P/ |- \$ a2 W; ^        return CWndNeuz::OnChildNotify( message, nID, pLResult );8 E3 z5 {8 ]6 E
}       
( B4 e1 H8 z7 n) Y- I8 @) Gvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )% d' C$ q6 o' H( z' R9 S. ?7 X
{4 u4 B; j% C1 I' t+ @8 s
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
9 w# `( i3 G' L: S# ]. j        if( bStart || !m_pItemElem )3 Q& t8 i( P, E
        {
2 k( X2 P5 o, G7 |% D% t                pBtn->EnableWindow( FALSE );
+ Z+ S5 o4 D) T/ [        }else6 R6 k6 `0 _7 s
                pBtn->EnableWindow( TRUE );7 E# R  p9 E4 H0 w4 i+ Z, ^' P
        if( m_pTexture )
1 c) K# @& u9 }        {
& X' L# j, E$ L2 e0 C                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );0 u, |' _2 b6 f) O8 a- C$ G
                if( wndCtrl && wndCtrl->rect )& W5 w% P3 P  {
                {
0 W1 r: D& \+ \. f, D4 e                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );, D8 L8 p$ ?1 l7 S
                }
3 q1 \6 `) a6 h* {- e' d9 f        }
% ?0 G* t: a" _& ^}5 I1 q% {) z  f3 a+ i
. S9 ~8 `) X1 v
BOOL CWndAutoFood:rocess()
2 ]# F7 `( D. g6 t' R4 l{# B3 ]' d- m# Z
        if( bStart )
( p8 N8 f2 y  D- E# a" }        {/ L1 K) w! I8 z& q+ ?3 r: R
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
/ _$ Q* \4 u' a2 a                {
" A% z* V. T5 {- Y1 X; S; H- `                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )6 Z  k. J! Y+ J) Q4 L3 r  l4 I3 Z
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
9 m' u: i/ `# Z                }else{) x+ F( v! u& T6 \; u, w
                        bStart = FALSE;; g! E- V1 f' q1 x) f
                        m_pItemElem = NULL;9 c1 I0 L4 e8 C9 ~! J' e: x# Y
                }
- L9 w- h* E# Y/ J5 O, R& }; k        }
) r2 ^4 A2 D$ q; w        return TRUE;% u* a# V+ F/ P6 Y6 m7 ~# Y
}
& l7 p$ o3 r- O$ W  s+ c/ [2 v$ E
) C" u. ~# i) K4 r) O' j+ m. A登录视频废话:
4 J0 D  n3 C. p尾翼:1 |! `3 l5 ?" G* ?7 Y

2 ?" V; d6 B; A' a7 D2 y$ \2 C代码:  @9 {) t3 S7 h
% S/ f8 |8 Z4 _  |" Z
void CWorld::SetLight( BOOL bLight )# r7 a3 ?9 O& b
durch1 c# V. C# f0 J7 l+ Q# |3 K
Code:& A% h* O- R# |
void CWorld::SetLight( BOOL bLight )- j& x0 j. R" O
{: R, S" }" r8 H
        //ACE("SetLight %d \n", bLight);4 t1 t" C+ w$ |% y0 M
       
6 v$ U; e0 O% {2 N) X6 M" S+ T: c" {! A#ifndef  __WORLDSERVER
+ @4 T0 y% |& F4 i4 |1 T4 |& E        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
6 s2 ?& p% O* E# b" M: H* E        CLight* pLight = NULL;- N9 _, N" O) h% l
: z& f5 C0 ~" ?0 J% h+ k
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );' @; ?7 i: N6 s4 }9 o5 x# U

7 L! @7 C, l; G! Z! n+ |; E# p        pLight = GetLight( "direction" );
9 c+ V8 _( j2 Y2 N! }4 B8 S
' L& y+ g2 `* r( L/ S, N#if __VER >= 15 // __BS_CHANGING_ENVIR
6 g, J+ P2 [; c6 U2 w: y* K        if( g_pPlayer ){) i: q2 X; l* _$ t7 R9 m2 d# K: u
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );8 z3 U; T8 q) h/ D2 X, L5 i, l9 B0 w: U
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!& m  R% T; k5 L, D& e. |
                {
0 K" {0 z8 b4 T! r1 h$ C                        if( pLight )
) Z: i* b  }, q- v/ M1 D! g! f' E                        {9 t0 N6 J9 U5 G2 j" x) z
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
/ B2 l( {; p; t; G" J6 Y3 g                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];9 ]/ o8 o/ f3 f& o% b4 O8 p
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
3 b7 o/ d$ z! I$ v6 U- |
$ o( {! y8 L$ W+ ^: w                                pLight->Specular.r = 2.0f;
! U+ ?5 u2 }( a, M- X2 c) h6 A                                pLight->Specular.g = 2.0f;
) ^% P% O! [" J. ~/ R3 u                                pLight->Specular.b = 2.0f;1 _3 {# x' n& t" g" |+ m8 f/ k7 ~
        4 g9 s: \: X; A0 w
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];& i1 ^4 _$ o/ j/ O, D
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
* I: u" c) n7 v% }" D                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];$ k, L0 a5 V6 _  {0 Z
       
, H2 Z+ U; |0 O" i% v9 B                                HookUpdateLight( pLight );
" Z) V7 v5 }( S: V2 D0 S% A+ u9 W* h1 D& ]5 S8 ^+ E
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );* v1 a* o8 ^- Q
               
4 W& y. R/ r; c& o) B6 M                                pLight->Diffuse.r *= 1.2f;) l# n6 Y. T+ z6 t$ ]
                                pLight->Diffuse.g *= 1.2f;. S' I  t# O; E' \& V) O/ p) g
                                pLight->Diffuse.b *= 1.2f;2 Y8 L) U4 d' `# c* n" z
& i) o4 H6 B$ n# i
                                pLight->Ambient.r *= 0.8f;5 p* V2 c, n" ]* e
                                pLight->Ambient.g *= 0.8f;
/ R% w; d' f6 y. p) v                                pLight->Ambient.b *= 0.8f;
; v+ s0 \. w4 j4 x       
+ I; Q7 o$ H* q+ ^8 Q- j; _                                memcpy( &m_light, pLight, sizeof( m_light ) );
' P5 I. l) _( J$ n6 ^" y0 |
# Z8 t4 X. j( w" Y: \                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
, A& ?+ d) }0 X  q                                 D3DXVec3Normalize(&(vecSun),&(vecSun));
" T9 q6 g5 ?: ?1 q% A9 d2 L3 e7 F$ [                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
- T; }; [/ g) h. r( d                                 pLight->Appear( m_pd3dDevice, TRUE );
& R. N+ c5 T4 J& {                & q4 U8 m# m1 x6 n' {6 f' L
                                DWORD dwR, dwG, dwB;- t# S, D, o+ {3 N) ~
                                dwR = (DWORD)( pLight->Ambient.r * 255 );
  W. C9 M" }0 o$ d* o0 ?0 o, p) U                                dwG = (DWORD)( pLight->Ambient.g * 255 );
$ w; v( o- _$ G* X3 v8 n  ]8 p* R" n! p                                dwB = (DWORD)( pLight->Ambient.b * 255 );
5 }! G+ J; g) F: Q% M; _                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );7 v1 z  d- H' ?4 Q& w' m
                        }
" F+ j8 r5 z) S7 |                }& X5 d2 A" W( {. J$ {- j* p
        }& v7 h4 |& B. Q. ?( _1 c
        else
, B+ T, c! E4 Q5 d0 R$ Z* C. Y#endif * \- ~/ o$ E* v5 [

* |3 b4 r, s5 H4 G# y. J  y) h' K        if( m_bIsIndoor )  P3 H( z" e( b) a' a2 I# n/ T
        {. @' O$ c! W1 Z* H+ p2 H
                if( pLight )7 G1 j3 N- d+ e! t% s
                {               
7 H) m7 Y8 |$ d; ~                        // à??μ oˉè* 2 A0 V' B: W. i+ [5 o! a
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
+ a/ W9 w$ d1 a! y6 O                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;& w( Y3 C) V8 H1 c/ s
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;$ L8 u4 b/ A! g, o- Z' \
" ?( y1 D0 z% Y- z* J
                        // oˉè* ??à? 8 e4 M2 Q5 Q- V; a* y+ F( J
                        pLight->Specular.r = 1.0f;, O7 R) S! ?; _: t
                        pLight->Specular.g = 1.0f;
3 F! }# f% o0 C. }; {4 `/ m                        pLight->Specular.b = 1.0f;
* O  N- l% b! V' R                        // àü?? oˉè* - }( c1 x7 B2 z! W  k% ~
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
+ I3 J* g. O" ?$ Q2 {+ o) f                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;2 B  H, Z4 y" B( R
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;8 C# l7 m" O: i( Z- Y6 Z

- Q% N+ ]2 m$ a                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
7 P! g2 j* t/ d                        {
+ V# @# J& ?& r4 A7 a                                pLight->Diffuse.r *= 0.6f;5 w/ `; }0 p3 T3 x" g8 _' T3 N
                                pLight->Diffuse.g *= 0.6f;# D/ H7 `  o- _# P- K, |3 Y8 f
                                pLight->Diffuse.b *= 0.6f;
' s5 Z& O9 m4 b8 `                                pLight->Ambient.r *= 0.7f;3 C* W: w8 f3 R- ?. m, Q  @
                                pLight->Ambient.g *= 0.7f;$ |1 x0 Y, |) W, @. G' M. ~
                                pLight->Ambient.b *= 0.7f;
' Z+ a$ L  }) g! J5 |                        }( a" ^4 `) c2 T
) ?9 v3 a4 m# ]4 P' P) R* f' K
#if __VER >= 15 // __BS_CHANGING_ENVIR
% r9 ^9 Q, m( d                        if( g_pPlayer )# ~# u8 v- X! o2 o3 j7 l
                                HookUpdateLight( pLight );
" O; R4 e* g# G/ s/ R5 U$ U#endif
3 e' q; D9 s7 p. L4 t3 g. O7 l                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );9 c8 [% K& e* i! U8 A( X/ p5 s
3 W3 B' \$ B8 D5 w: F
                        pLight->Diffuse.r  += 0.1f;1 F- K) n4 B% b3 n
                        pLight->Diffuse.g  += 0.1f;
) T; ~! w) A0 Z7 W                        pLight->Diffuse.b  += 0.1f;: I, ?) i3 j9 }$ B: |" Q
                        // oˉè* ??à?
- G7 L+ E) {$ K3 e: T' l                        pLight->Specular.r = 2.0f;% P' Q# X* a$ I0 Y. y
                        pLight->Specular.g = 2.0f;
3 Q9 t8 e, ]( s: A8 `: r. c' k                        pLight->Specular.b = 2.0f;
$ ]; h8 |5 S, G                        // á?oˉ % o& \. n% o5 E4 z6 i; F# N, b* I
                        pLight->Ambient.r  *= 0.9f;* S- V/ O) t4 n7 X; M4 }* p
                        pLight->Ambient.g  *= 0.9f;+ h2 k; Y1 i$ K+ ~4 w) c/ o; m
                        pLight->Ambient.b  *= 0.9f;
& O, H+ m3 p) O# M8 F9 F* j8 t1 C# o& k4 U' b$ w# r# ^
                        memcpy( &m_light, pLight, sizeof( m_light ) );
6 }8 i9 R% C3 a# p* b9 z# c                        3 K, C2 c' K8 H5 f8 I
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
, x+ H: t( u9 u7 K+ e* ^* i                        pLight->Appear( m_pd3dDevice, TRUE );
" a/ Q$ X+ l9 n: `) I8 O        " B$ u' M! _& E, q2 Y
                        DWORD dwR, dwG, dwB;
$ P5 N( w  X# k                        dwR = (DWORD)( pLight->Ambient.r * 255 );
4 ^+ S1 i' b# [  ?                        dwG = (DWORD)( pLight->Ambient.g * 255 );
  F& d: K6 ?& [* ]3 [                        dwB = (DWORD)( pLight->Ambient.b * 255 );
$ U$ t7 \) H8 E7 S, C8 K( Y, ?) L/ W                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
5 c2 k. {+ h8 R  [7 s                }! @& H8 R+ B) p  C( p; b; h) V
        }" Z8 a$ W* e; _9 F
        else9 w; Z3 @4 x! T5 B5 u/ i
        {
0 L/ }/ c! w: z$ @* H& t+ m                if( pLight )
. c- R6 B, X- L8 o0 M                {
1 D  ^4 @3 C! T* w                7 M/ g6 ]' V  I* x7 U0 s: ~
                        int nHour = 8, nMin = 0;
8 l4 d6 E0 @# C* O7 {% x        #ifdef __CLIENT' W5 Z* H: q8 }$ s6 l
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
( }% W( M/ a1 ]$ N                        nHour = g_GameTimer.m_nHour;
4 O. `- P9 h: h, M: a6 ]                        nMin  = g_GameTimer.m_nMin ;3 v7 r; r  ?& W1 B( ~
        #else* E* d( ~* c: O  P+ q
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.) c0 ^! [( l* b/ b
                        if( m_nLightType == 1 )
4 c2 D( ^$ Q9 j( V9 Z( L                                nHour = m_nLightHour;, i+ ]- q+ @6 e
        #endif
  S& F7 i/ E/ t$ `5 H0 S* g                        nHour--;
! N/ ]( Y" d' y                        if( nHour < 0 ) nHour = 0;
1 }: `* G& v2 a5 c5 [                        if( nHour > 23 ) nHour = 23;9 {8 f, J! x8 U8 `" q- y

2 e, d7 ?6 w" w: z* W; ^                        //if( m_bFixedHour )
. L, _9 L0 }  ^8 @$ }: z                        //        nHour = m_nFixedHour, nMin = 0;
0 W! _7 g, L5 X) E0 `' c7 d                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
7 W/ O1 m2 I7 I, m& d4 O3 P! T5 U& x                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
  N( `' |& g" @* b5 R% i' c- v- V% |* ]& t% Z
                        //m_lightColor = lightColorPrv;
4 _2 N, V& R# n5 n4 B" D* k                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
! W8 k, j$ F( w1 |                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;$ c  o8 s: M$ U$ I; {6 T/ a$ Z
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;8 A( p1 p- r6 R: e- I! s7 ?
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
6 O8 A" K' I; Z$ ~7 {                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;5 F" ~+ }8 U1 i0 `8 y
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
, t; z6 T; M5 K* V( U                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol). c6 R0 Y) [, J

6 Z! ~0 e5 Y3 p! R$ r6 Y) N, \                        // à??μ oˉè*
7 v4 ^4 E: y; ?3 Z7 y) g# i                        pLight->Diffuse.r  = lightColorPrv.r1;6 _  q- L- ~+ E& U. p6 o, N0 J7 \
                        pLight->Diffuse.g  = lightColorPrv.g1;% d& C6 F( R, p! y: B2 ?# u
                        pLight->Diffuse.b  = lightColorPrv.b1;! [# K0 C# y6 Z  U! ]* J3 X4 c$ n
                        // oˉè* ??à?
2 Q2 w6 s0 r' i% B' q                        pLight->Specular.r = 1.0f;
8 y9 f( _$ l/ n                        pLight->Specular.g = 1.0f;
7 l" L1 b2 t) M0 C) l' Z: j                        pLight->Specular.b = 1.0f;7 Q/ p8 k# d' k  z; N
                        // àü?? oˉè*
2 X9 m3 d' y& V                        pLight->Ambient.r  = lightColorPrv.r2;, A& k' Q+ J$ e, [
                        pLight->Ambient.g  = lightColorPrv.g2;
# b  [) X; H* d% m* W+ z7 d                        pLight->Ambient.b  = lightColorPrv.b2;8 J1 R- O9 W$ }! w! J
. m1 X) \4 Z) `& ^7 D5 X2 X
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.9 W' ~' a& D9 Z% M. i, l, E
                        {
9 {6 V, C0 e/ `( \: x                                pLight->Diffuse.r *= 0.6f;
; J+ E# W6 z. L                                pLight->Diffuse.g *= 0.6f;8 x# x- S8 v% X- z  z& |4 z1 ~
                                pLight->Diffuse.b *= 0.6f;
2 ~/ i; r, y- ?! X5 l* O$ j- n                                pLight->Ambient.r *= 0.7f;0 l$ A5 `7 ^; ]
                                pLight->Ambient.g *= 0.7f;; J' T2 y. M: G. m
                                pLight->Ambient.b *= 0.7f;$ C/ K3 Y: c) h$ Z, Y6 K% b. D
                        }& i- r; Y+ ]' w! v5 G' Q( V
                        " c, h+ \; S6 q3 N' P
#if __VER >= 15 // __BS_CHANGING_ENVIR
  W. g; [, q! V3 a                        if( g_pPlayer )
% p# a9 j: I& S2 S; c) R                                HookUpdateLight( pLight );   s. F& C5 n. J; Y
#endif, ~6 T" j5 B0 t0 a! T7 b( S  G
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 w: N  m. I: |. M# ?% G3 F
( k$ ]/ r0 h1 ?#ifdef __YENV
( z# @& G  F6 \* Z( a4 ^& v                        pLight->Diffuse.r  *= 1.1f;- J( D: k! B2 ]" s5 _( y
                        pLight->Diffuse.g  *= 1.1f;
* N  b% @* U' U0 p* a                        pLight->Diffuse.b  *= 1.1f;
) L! O2 B8 K2 w6 ?2 n* e6 k                        // oˉè* ??à?
5 ^- Z$ Y+ o2 B8 t; O5 C, u$ y                        pLight->Specular.r = 2.0f;
) B5 \  g+ W" F) D7 `                        pLight->Specular.g = 2.0f;
* A5 V+ H; T1 F5 p) Y. l0 Y                        pLight->Specular.b = 2.0f;) K7 r9 H9 U4 C
                        // á?oˉ
; ?/ d6 r$ N+ M% q! h1 f0 U                        pLight->Ambient.r  *= 1.0f;, c7 c. y0 y) y4 i$ S" \( \
                        pLight->Ambient.g  *= 1.0f;6 L$ D& ?) g' R+ N$ W$ r( Q9 H
                        pLight->Ambient.b  *= 1.0f;
/ f& ?' j: X! M#else //__YENV* k) [6 \0 K; }8 c
                        pLight->Diffuse.r  *= 1.1f;. W; j/ g& y9 i9 ^" D$ _- x' ~
                        pLight->Diffuse.g  *= 1.1f;+ S" R; y* W0 @9 S; g
                        pLight->Diffuse.b  *= 1.1f;
( t7 B& L/ K3 k( {9 h! D; P1 W* w                        // oˉè* ??à?
# w4 o& y/ N% W4 I9 ^) H. P                        pLight->Specular.r = 2.0f;
0 N5 i1 I$ c7 o                        pLight->Specular.g = 2.0f;* V, Q3 R& L& M8 e; k
                        pLight->Specular.b = 2.0f;
$ P# S8 r& ?2 I* ^                        // á?oˉ
  O* I: i) Z! }) j) J% s9 l                        pLight->Ambient.r  *= 0.9f;0 J2 @1 F# ]6 U: ]) U
                        pLight->Ambient.g  *= 0.9f;
2 D5 ]: g! d2 J0 [                        pLight->Ambient.b  *= 0.9f;9 g  w2 M8 P8 ?+ v6 O# D
#endif //__YENV 0 b8 v5 ?2 w' Q; ?' c
                        6 Z; Q, _: ?7 O4 J! M$ M
                        memcpy( &m_light, pLight, sizeof( m_light ) );
& f7 F  R- J: H( e) T                        : H. x/ ^" M/ m' y5 {  l! N
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
0 h, s4 _+ O/ K  ?5 j2 `: y. c                        D3DXMATRIX  matTemp;1 x6 x7 g: r5 @3 M0 T
                        static const float CONS_VAL = 3.1415926f / 180.f;3 l) j, ]" [( _. Z0 B& `1 c9 U9 R0 Q; v

8 e% {5 U7 x' y                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
% l+ `$ R( o! J) `, b! U                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
3 V. M' j. |5 ?                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
" ~: ?' t' L& W9 V                        pLight->Appear( m_pd3dDevice, TRUE );
5 p8 c, H' `' P/ p* g; ~% b- w2 R& H# v$ O
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
' g/ Z0 @9 u7 d+ T  n' J/ Y                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));: K: ?2 f% q) G( F
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
  l( A- J# L7 P; i' K5 A9 U
) j& U" D" l5 t3 A. Q, g                        DWORD dwR, dwG, dwB;
3 V; i/ l  i/ N3 {                        dwR = (DWORD)( pLight->Ambient.r * 255 );
% _7 g, K# X/ X                        dwG = (DWORD)( pLight->Ambient.g * 255 );
( s5 T2 K' g) c* S+ x                        dwB = (DWORD)( pLight->Ambient.b * 255 );
! H$ W! `7 J8 w' j( a                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                          A" q9 w( ?; [
                }
/ n! S" ]0 m: a& [9 c8 Q: y% W3 a        }* `! G' j+ ?  s$ i$ t5 s& v

8 ~+ v, ^' E* m) M5 _1 K; x        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
" M( |! i  g" A3 R0 C& b/ ^, x2 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) );; S) P* R- L- ^
        ::SetLight( bLight );( H7 N3 D1 w! I( X2 c

# ?9 h: i5 [  O9 ^        // ±ao? ?D?í???ó á¤à?
8 }- R9 `% [9 ]2 E        m_pd3dDevice->SetMaterial( &m_baseMaterial );
; i2 I  q) ?; w, M3 K8 b; ?/ O       
9 {  v( k: R/ f. H5 S' F#endif // not WORLDSERVER
' y, @/ U( b: H}
/ U- M/ S6 k: b: Q5 i; m3 o$ Z/ z并更换' @2 [1 a: M# ?6 F4 o. E
Code:
. S, X* f) S2 e0 x* a6 ___FLYFF_INITPAGE_EXT# t2 B5 _4 i9 m( |3 _% U
定义
, L' G4 B' _- Q$ l4 O& a0 q9 n5 U3 e7 y
6 N- k' P3 ~& ^2 d& M* z. f
1 H' w8 U$ `, P' z0 p, ]/ |9 h
9 \  Q& f# r2 e$ y' v, E
现在终于删除我的狗屁加速...
  s7 n) a4 V, P) F2 O
% Z5 u2 x, [% \& L7 Z2 v* D2 S, t6 j4 R5 V& A

- }  m5 f0 ]+ J* v- M" \8 E5 c, k




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