飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:+ j3 b3 Q# b: b* R" j! q
尾翼:. `5 {  N1 u1 e5 U, c: T' p

+ Q( K1 [) w1 z2 I: y0 q代码:7 f: `* r3 Z, e" ]) J9 h# Y
CWndAutoFood::CWndAutoFood()! Q) B& m4 B+ h' r
{. r  B- ^$ S7 R5 i- \
        m_pItemElem = NULL;
" o7 R" |$ ]( G4 ]. b* L9 {        m_pTexture = NULL;1 F" Z$ }% R( ~7 a, f
        bStart = FALSE;( L. X; T% O* U% `1 Z. R
}% U% \7 @9 A2 V
$ c" m4 {2 J  |. v2 ^2 z9 I3 f
CWndAutoFood::~CWndAutoFood(): \% f% q1 b! L8 e& R7 T' K
{% m! k5 X- B0 o. x- a
        AfxMessageBox( "AutoFood ist gestorben " );% J; J7 f2 [& v7 l6 m
}
- d; p# Q$ u) C3 iBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
( i5 p8 y5 F: f: f{
% c' h+ r) m" x' K1 R' ?        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
1 |" n( ~- r( O4 w- i# H}: l' t$ P0 p; B* T. e

4 q) I: r. O1 K$ X7 n: WBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )5 q% ~6 H, |9 ?: F7 ?9 i
{! K" \) X, X6 X3 {- C' v
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );+ y) \5 k# D; }7 \& B* u
        CRect rect = pWndCtrl->rect;
# L5 _: E6 Z( ?; N% b! j% v        if( rect && rect.PtInRect( point ) )1 \9 P! `0 M2 _$ w0 T. l9 T8 p( v: t
        {3 g- ]+ I/ |. [" r
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );$ i9 Q( [8 v) r0 v. R& S6 ?$ t. K
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
4 n3 ?& ]9 B8 h. [                {
4 f* _# Z  M4 E; V3 {( z                        if( m_pItemElem )2 }  c" e7 L( ?
                        {
! a" H" }( W3 x$ y3 ^                                m_pItemElem = NULL;' v) e* P; E6 n1 R7 H3 Y# O
                        }2 ^$ `/ Y5 n8 D' y) B1 ~5 d
                        m_pItemElem = pItemElem;
  c7 f4 H# X# ?0 r9 A. a6 P- g' W                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );$ U7 G. q) c2 o9 _+ v
                }else{' h; L9 _7 L0 \' D
                        SetForbid( TRUE );# D; `/ [* j  l) @. H; G
                }
0 G; U9 y$ N0 N) p: i        }else{& ~0 }7 A) }  [
                SetForbid( TRUE );
) Z' ~8 L0 W3 W" N4 u0 U8 J4 E' L        }
/ ~$ C' b, y( q+ w& U        return TRUE;. A1 B6 z) b& k; A& H
}) l# y) m2 w+ x: N. e

6 k: g) f, J: {; yBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )3 i5 n2 K- l$ U/ w4 X* K% l2 C8 X- j
{
9 Q& z4 s" w" z: R9 i+ b        switch( nID )
- F. c- Z+ g8 l$ V7 h        {
( I/ c' B! R* B) G5 U        case WIDC_BUTTON3:- w8 z/ G/ I; {
                {
8 k2 N2 x1 K5 b. q& F# r6 i                        bStart = TRUE;
5 A% L! ?9 Q/ U6 E                        break;7 l* |: y$ s. T6 d
                }
& l& P, p( t1 K2 f9 v" r        case WIDC_BUTTON4:
& t+ k1 _" H- ~# C- t                {% M7 z* m( x" S7 F6 {! v
                        bStart = FALSE;3 b7 W5 S6 x3 g4 \2 C
                        break;: i9 }5 X4 h) z* ~
                }
, D0 O) N* a2 _: h1 M        }2 D7 |/ i) I. t4 h
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
" g1 f: s- G" x# T8 M  R/ |7 n" Z}        ( m# N. k. r1 P! G+ e( l) h
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
2 u6 n! N) @& J{
: }( P4 E+ U5 B% T# w9 f0 V        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
# ~0 J% q: l: t9 G        if( bStart || !m_pItemElem )
! I0 c5 q4 |* w        {# [% ?/ P8 C2 @- y# I% P
                pBtn->EnableWindow( FALSE );
+ n& L% A) F7 m: k        }else4 }, b  ^' y" i1 s
                pBtn->EnableWindow( TRUE );$ b3 o& B. [# a! u6 ~* m8 ~
        if( m_pTexture )
! A& t- c, h4 L( v( h        {2 h( s4 _. S0 C* m$ q
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
: }1 ^( h& t7 G' [/ i                if( wndCtrl && wndCtrl->rect )
1 E3 _7 C  X$ q                {3 w) z, G4 @8 \  _. `5 [
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );, N; ?& L9 m* m" j
                }
' `7 r- ]1 @* ^. p  ]" c5 U        }
& J$ |& i/ G% L, _8 m}' L- d- `: \9 K8 l7 {
7 L0 u7 ]- W. y
BOOL CWndAutoFood:rocess()( V! z+ y3 v+ q2 E+ B4 [! n% ]/ {
{) R( Q7 Q: p+ R0 n( a0 Y6 M: \1 U
        if( bStart )
/ \: o0 E$ s! o) @        {
8 J" R5 r# A2 _$ W6 i                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
5 u, }% f' m( A/ `, b( N2 b                {) y- |% O& A0 [2 k* l1 X2 }* M
                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
8 v; W/ O& N; X( I, e/ G                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );4 ?  |& Y% h& N  Z
                }else{* u! q% }3 a, g' s% F
                        bStart = FALSE;
/ F% d( ^  V/ h- B4 s- n0 C2 z                        m_pItemElem = NULL;5 x( q5 r( `6 A! S0 c7 ]
                }9 a& z( I3 N! M& _! H" Z# k
        }9 B% r$ t: L* P
        return TRUE;( Q, x* D# C* l5 Q5 P
}
* |6 p; {) n8 i' }' a$ i5 ]
7 u0 D3 A4 i- ?# |  Y# n8 q登录视频废话:
. g5 v# l! P, F) d尾翼:
% a, L2 g( h$ z! R" D; J8 V0 ^$ ~4 M6 a0 P
代码:9 i- a8 B9 z5 a, N

$ h2 g0 X" V# Q1 Q2 ]void CWorld::SetLight( BOOL bLight )
, ^& d. w1 E  D5 P9 odurch2 U# \4 _7 y8 ]+ \  x' r. B
Code:
- t; L# h8 T- w, y, h2 Tvoid CWorld::SetLight( BOOL bLight ). e+ u- Q# V" m0 d: n, b
{7 ]1 m& X0 o3 o! _0 u; P4 t
        //ACE("SetLight %d \n", bLight);) E5 S: u/ B5 c2 \3 ]/ @
        : k5 {! F# q& O( U1 r5 B
#ifndef  __WORLDSERVER & h% x" S, H: Q. K3 ]/ d
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);6 D- J0 l0 p. v5 ?
        CLight* pLight = NULL;& j/ l1 b( S8 c2 a2 A" p, H8 P! Y
! `* i6 i7 y' C- y3 Z( _) P/ `5 u
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
) n6 |& }  |' ?# K) s7 `$ k: Q( o4 W, U- F6 v8 m* p
        pLight = GetLight( "direction" );! N" m! X! s( d! v9 q

, F# W5 l  o% w$ W#if __VER >= 15 // __BS_CHANGING_ENVIR6 ]6 z0 W' `$ V9 Y, d0 S
        if( g_pPlayer ){
$ _) u  _6 ?/ T3 d9 y; ]                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
1 m4 z" f5 ?, }9 o3 p0 v                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!! W$ s6 Y$ L8 J4 O$ Q
                {7 i/ j9 u! z: v7 f
                        if( pLight ), x+ O7 R8 R* W; H2 u
                        {. v: U4 q3 c: A: u" l! t4 d9 c( C
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
0 J# X0 O$ H" E3 Q: S0 A8 x5 p                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];) v, ?, T4 I+ N$ K* }0 c
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
0 w* ]+ M1 P  Q' H! p% y
9 i2 c( S) M- u) R5 }& `                                pLight->Specular.r = 2.0f;. J7 ^) E$ ^9 z, L1 D
                                pLight->Specular.g = 2.0f;; y3 C  c! H: N* W8 O
                                pLight->Specular.b = 2.0f;
- T! K5 h. X( e1 v       
8 Y: H" d0 t" L                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
* o) T; d* T4 D" k/ Z% u                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];* s- |" p' ~, f8 x
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
  g- f$ o2 c" t6 N6 [) ]' b9 N0 k. v       
4 M, h3 e9 j  ~( `8 S                                HookUpdateLight( pLight );
/ w* \" }0 D' b2 l) E& S) V, T6 e
# o; W7 y) [/ y/ F6 J                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );% n) D2 J2 C! [# t
               
- J* e9 R2 k3 m( V8 c4 W  h  d                                pLight->Diffuse.r *= 1.2f;
' Z, S0 H& O7 u                                pLight->Diffuse.g *= 1.2f;; l8 Y: P% p# q, n* [
                                pLight->Diffuse.b *= 1.2f;! z9 g8 i- U* _, l) R3 E

6 B* U$ i2 h  B2 E( Y# ?+ {) y                                pLight->Ambient.r *= 0.8f;; C0 n1 l1 d. W% D: F& {6 L
                                pLight->Ambient.g *= 0.8f;' k. L  i2 H* f0 i3 {
                                pLight->Ambient.b *= 0.8f;
$ H, P- t# ?0 m8 \# h: Q       
& }  a) Q' |7 l+ Q0 ^; N                                memcpy( &m_light, pLight, sizeof( m_light ) );/ T; {1 R! O4 ^) ^' ]* h7 ]1 b
6 V0 P! t' ^6 T: [
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
  I- x; S& l, W$ @2 t) _                                 D3DXVec3Normalize(&(vecSun),&(vecSun));
3 @7 i, i  n' ]                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
( L$ m- M) U4 {- u7 n; x8 B1 ]                                 pLight->Appear( m_pd3dDevice, TRUE );
/ a. R( Y" R* H! x                ' M6 P9 y9 x" A" T% Z
                                DWORD dwR, dwG, dwB;
: U" L( Y- C/ v8 p+ K1 e( b                                dwR = (DWORD)( pLight->Ambient.r * 255 );
- ^( L/ E. e5 o4 M& _, ^                                dwG = (DWORD)( pLight->Ambient.g * 255 );
& c) m$ j3 |6 J6 q$ j. H1 o                                dwB = (DWORD)( pLight->Ambient.b * 255 );
. _3 |' d& y) l% m" l7 N0 ]                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: a" Y8 g$ n& U. b  G: Z                        }
7 d+ S' _4 W5 j5 P  s                }* T" Y- E  N. P3 B
        }
) n; v/ ^0 ^% N$ @2 ?3 Z- S        else
+ c3 a5 r" @$ ~" g#endif 6 q8 ?# {% u: e( o; ?9 Q3 s9 b& r
' ^" ~9 \6 c, S1 l4 O) W
        if( m_bIsIndoor )
) @. \+ x0 W! q4 l% M/ `2 ^# c4 i        {9 N6 F, D9 C: E9 ^
                if( pLight )4 F2 k/ D- Z& y# y  @$ a
                {                " g0 t- W4 ~( j1 ^
                        // à??μ oˉè* ) ~' U7 R3 k* N; o; S& n1 Q6 a
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;/ `" Z0 _; Q8 X9 e! u, U9 p
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;4 f3 ?2 Y! p  A
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
( Z6 N( W4 L$ s) v! L' G8 t+ P& t8 s
                        // oˉè* ??à?
) h$ b/ \! b& S                        pLight->Specular.r = 1.0f;
# P7 L8 s" }0 K7 f3 E0 @                        pLight->Specular.g = 1.0f;) ^2 ]. r' D0 G9 f+ e: q
                        pLight->Specular.b = 1.0f;
; J9 {8 H# r  Z) i$ e                        // àü?? oˉè*
! C9 H) t2 I! Q2 B% Q1 o                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;3 ?: c/ c9 v% v; @4 O6 l" T
                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
5 B" O5 i, Z; F* `                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;# {! C7 l! v! B* _

2 S* b3 a; ]/ Q: @" x4 c3 \4 K/ [                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.! M2 b" Y4 }" o+ O  ]* P
                        {. C5 P0 \/ K5 R
                                pLight->Diffuse.r *= 0.6f;
4 o; B5 E. w" _# e0 W) Q1 l4 S                                pLight->Diffuse.g *= 0.6f;
1 m( B# `3 z0 D                                pLight->Diffuse.b *= 0.6f;
1 C9 P$ U# G0 {3 R) z* ~! [                                pLight->Ambient.r *= 0.7f;
) U' f/ U. |/ I* i% n! e3 g                                pLight->Ambient.g *= 0.7f;
* q9 A  N( u5 E6 y9 R( K                                pLight->Ambient.b *= 0.7f;4 r& |' M& `+ x" o
                        }4 R+ N7 r5 v. i6 G% @) @! T

- I1 F) o7 @! N4 @, ^; Z: Y0 E7 o% g9 Q#if __VER >= 15 // __BS_CHANGING_ENVIR
2 }9 }% \7 g. a7 R- N8 L# n& p- U                        if( g_pPlayer )& v! y- G$ g7 Q# U% k
                                HookUpdateLight( pLight );
9 I4 l2 Y& v# B' E# s#endif
5 b8 n+ _5 E2 D                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );0 @0 k+ c# p- z" o

+ c& [- |  p) G8 l% Y                        pLight->Diffuse.r  += 0.1f;
3 u+ T; X) z) k: s4 Z% h$ B                        pLight->Diffuse.g  += 0.1f;! K+ N2 ]- s9 _8 @9 ]
                        pLight->Diffuse.b  += 0.1f;/ K6 l6 J+ I3 X
                        // oˉè* ??à?
) a3 ~) {% M; I                        pLight->Specular.r = 2.0f;9 t+ [; g% ~3 r2 Y: @" @
                        pLight->Specular.g = 2.0f;
" q5 e! p$ J8 w% Y6 m, k# Q! x                        pLight->Specular.b = 2.0f;  ]. M3 p2 n; t+ r4 E: \
                        // á?oˉ , g5 k4 A2 o1 c/ x
                        pLight->Ambient.r  *= 0.9f;: w1 o0 P: C8 m& Q
                        pLight->Ambient.g  *= 0.9f;
: o) V5 u. l/ [3 m4 \# z                        pLight->Ambient.b  *= 0.9f;! w2 U0 O4 B2 }
* T( ~/ B1 r: o* K- S" w2 l8 u' U9 a) K
                        memcpy( &m_light, pLight, sizeof( m_light ) );. K  R2 H+ S( q6 j  f' O% l
                        2 z- M  W( V/ a- M/ A6 |& H$ y
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
* Y* e1 v3 ]  v9 g7 c                        pLight->Appear( m_pd3dDevice, TRUE );
. q4 }( x% J; z1 o$ L        4 Q+ t) d1 E  Z- z$ s1 |
                        DWORD dwR, dwG, dwB;
4 X" Z& y& p( E* ?% t( k                        dwR = (DWORD)( pLight->Ambient.r * 255 );
. l8 _* M2 A; q' N* G6 ^  k4 a                        dwG = (DWORD)( pLight->Ambient.g * 255 );
" e4 E$ l1 d- {% o2 K, l                        dwB = (DWORD)( pLight->Ambient.b * 255 );
- S. E8 W1 C) n5 x1 u                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. H7 s. O& D( j                }2 n5 l+ P% ]1 ?4 S* G% D8 h4 q$ H
        }
) j  |* X. a7 ?        else! Q- |! p7 k+ Y- N
        {: S& |& M9 b5 \" d' P4 z0 N
                if( pLight )
# |" \) C# [1 O7 V& i  g                {( j5 z; J4 q, |, c& t4 N* W
                  p2 |# s7 l9 l8 K1 T( r
                        int nHour = 8, nMin = 0;+ j1 n$ n# R# }$ z9 Z; z& i& ]" O
        #ifdef __CLIENT
/ P, C  V6 }6 a; M7 o, y/ h* e                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
0 u! U; `8 |% ^4 C; P. R                        nHour = g_GameTimer.m_nHour;: p) `0 j, _. e) B$ T/ D
                        nMin  = g_GameTimer.m_nMin ;
2 V" i/ ^. o/ g, N) P        #else
8 A. L' ?3 w+ R" R0 f* p                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
! J/ q+ w  x+ P, o- g% u5 {4 C                        if( m_nLightType == 1 ); d# \* V. N6 j+ P, y$ f8 F  T) {
                                nHour = m_nLightHour;
( u- S3 P! f0 `8 z        #endif5 P- C3 R/ C4 R+ A$ J4 j7 v
                        nHour--;
0 W+ o/ ~! X# W! Q9 w                        if( nHour < 0 ) nHour = 0;
$ g3 E. ?5 |! u  m& {2 `                        if( nHour > 23 ) nHour = 23;
3 _! m8 M3 ^0 d, X- b3 a8 v+ [6 h% N0 _& Y
                        //if( m_bFixedHour )
2 d: l- ?" \. h3 X: j                        //        nHour = m_nFixedHour, nMin = 0;
$ t& i6 Z! ^* d' ~4 [                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
  \, ~1 U. {( m5 B9 {; g                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
* M7 K9 |2 T: j. w7 Z
2 Q, |  p2 Z4 c0 }6 y5 y0 `                        //m_lightColor = lightColorPrv;. ], T0 H) ^, ?  o8 n* f& Z1 H
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;1 X6 ?5 Y/ A/ \/ L3 Q
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
: h7 A/ g3 U" o" P- O# U                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
7 l7 P/ x. W. Y: F4 O6 m                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
' m& e# v" |. c  s1 n. B                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;) ?& Y1 j2 n" }2 x9 r6 g7 q
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;3 h' S  e$ [" p! D% R! Y+ b
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)6 F& x* O2 b* q

# ^) T: ]5 `, }3 j                        // à??μ oˉè*
( }; Y/ G7 U2 Z8 y                        pLight->Diffuse.r  = lightColorPrv.r1;# \6 n* B" e) ^% U: R/ y
                        pLight->Diffuse.g  = lightColorPrv.g1;1 S, z& r5 q, J, |+ A
                        pLight->Diffuse.b  = lightColorPrv.b1;: ~2 J) K; n# n; S/ G
                        // oˉè* ??à?
6 y1 T7 w  w1 [5 V! }9 a' D& S                        pLight->Specular.r = 1.0f;, g9 o+ a9 p; ~
                        pLight->Specular.g = 1.0f;9 l7 @# ^1 o* j
                        pLight->Specular.b = 1.0f;2 M# r/ w" ~' I8 w" ~) Z6 l
                        // àü?? oˉè*
! M2 z$ h( \/ |4 ^; i( ^                        pLight->Ambient.r  = lightColorPrv.r2;8 n# o$ k* s6 C0 o  ]
                        pLight->Ambient.g  = lightColorPrv.g2;% p1 {3 m% t$ m- W6 H9 }
                        pLight->Ambient.b  = lightColorPrv.b2;; R# q8 e% H# {. M+ Z# U" ^
9 U+ K  J+ ~. D4 x) B0 j6 w
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.) P5 w' n5 s: ~+ G  P3 o
                        {
+ G' }) X! e, X2 h8 _( `                                pLight->Diffuse.r *= 0.6f;  \+ F+ c) e6 F# x1 C
                                pLight->Diffuse.g *= 0.6f;
/ g4 ~+ U9 G* `* U                                pLight->Diffuse.b *= 0.6f;
7 \+ v; F6 K2 W. X" i! F                                pLight->Ambient.r *= 0.7f;
" h1 `& e; m: G                                pLight->Ambient.g *= 0.7f;
: `% f1 [' }+ X2 h7 p                                pLight->Ambient.b *= 0.7f;
3 o* m. L& u+ s0 g2 |2 F6 s- o                        }  L$ v2 A& ^' ]' S9 K
                       
6 t7 a7 v9 q0 a$ X#if __VER >= 15 // __BS_CHANGING_ENVIR
4 t6 q: {+ Q1 E7 F9 f2 v                        if( g_pPlayer )- H% e" L0 G+ F7 \! C( ~/ N
                                HookUpdateLight( pLight ); 0 Q( W$ ^4 ]' y" N. j4 q2 @, s
#endif/ j2 `2 ]! [* u& ~3 z
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );* j  ^* J5 |) \+ `* ]1 N+ M( c

7 Q; ~) o" v- B5 _6 Q#ifdef __YENV
( F7 S1 `) c5 P# y# N; U1 U6 ]- I                        pLight->Diffuse.r  *= 1.1f;* y. T! U. {- H" O, P$ r& a3 N
                        pLight->Diffuse.g  *= 1.1f;
" }5 T6 r+ L( L                        pLight->Diffuse.b  *= 1.1f;7 I) ~" l: S" c' w9 K2 m
                        // oˉè* ??à?
: E, w% w6 S6 `9 \                        pLight->Specular.r = 2.0f;
0 g0 `# [! O  v% H2 x) {                        pLight->Specular.g = 2.0f;
- W3 L% r, N$ I4 t9 i. F                        pLight->Specular.b = 2.0f;
+ E8 e) c9 I- K' l3 n6 m. W                        // á?oˉ
% W" n: x) x! ~8 m$ ]                        pLight->Ambient.r  *= 1.0f;5 y$ c1 a, e  t. A9 [! x
                        pLight->Ambient.g  *= 1.0f;
# d/ b. e; C3 p- S  q. T& A                        pLight->Ambient.b  *= 1.0f;
: i1 j9 g& i5 c$ n0 @#else //__YENV9 d: h9 }4 v8 N7 y- [
                        pLight->Diffuse.r  *= 1.1f;% x& D6 J8 a3 n, G6 q2 X, J
                        pLight->Diffuse.g  *= 1.1f;1 o0 R6 ~( K1 Y- u2 W- I
                        pLight->Diffuse.b  *= 1.1f;
5 c& A- Y; P7 |' h7 t                        // oˉè* ??à? 9 s- d0 S' r: v% p/ R+ L: _
                        pLight->Specular.r = 2.0f;8 u' u! F/ O  S/ H. ^& I
                        pLight->Specular.g = 2.0f;' e, Z/ N$ s) R
                        pLight->Specular.b = 2.0f;  Q  o5 l6 ?$ i7 U+ ~
                        // á?oˉ
  `7 }2 s$ m& U! p                        pLight->Ambient.r  *= 0.9f;2 q9 {1 S$ P  `0 N" ]( i% h
                        pLight->Ambient.g  *= 0.9f;$ k: W- `- u! y4 F6 J
                        pLight->Ambient.b  *= 0.9f;
) `6 A4 q- y& C  f5 v6 ?#endif //__YENV
% \0 h3 g  D; R8 R                        ' _( ?/ D9 q8 H! |
                        memcpy( &m_light, pLight, sizeof( m_light ) );) y; t5 d  {) H6 j) [8 X% v$ M
                       
+ l0 `6 U2 g/ m: S& W# M                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);" i; f2 h1 F7 x: T2 k6 v* Q5 d
                        D3DXMATRIX  matTemp;$ A( D4 t! A/ r; E2 ]4 U( q
                        static const float CONS_VAL = 3.1415926f / 180.f;8 [3 l6 @' \% c4 N. m( C. ]4 g

5 _3 v. Z' T" i# C7 r( G                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);9 @  a+ F6 T  w6 M2 L
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);$ u4 w$ ~; h) F* O1 o- ~2 J
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
7 O% j& I7 x8 M) T4 F" ^9 I                        pLight->Appear( m_pd3dDevice, TRUE );
: I: i5 a4 l4 A2 g5 h- z. `
, j2 v4 L8 |9 t* C( B                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
/ R. a- `# x  e, c5 w& [9 z                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
' T7 M9 }$ ]. L' P0 u8 Y- ^                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); + q( ]1 h* }* V: R0 T
& L5 i" U5 |$ C8 u8 ]7 M
                        DWORD dwR, dwG, dwB;
3 S& E3 M' H& j3 e& v' m                        dwR = (DWORD)( pLight->Ambient.r * 255 );
) L, B0 L( Y! P( ~1 [; n                        dwG = (DWORD)( pLight->Ambient.g * 255 );
% Z: o# J' h, {                        dwB = (DWORD)( pLight->Ambient.b * 255 );* z. I% w8 [0 \6 D4 h& i# v
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                       
  X& b4 z+ j$ F6 Q9 U+ x0 H/ x                }9 q8 r% U  J6 X, {! u: O( ^3 X+ u- D
        }
8 Q* m7 Z' K4 a0 i8 q0 M+ O# S/ v6 H% p( l
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );# L" z7 V0 V0 s5 q/ O
        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) );9 K& g+ k4 t( k7 u% M
        ::SetLight( bLight );
: c7 D: {, v7 b. W) Z6 x. v& ~+ a# x0 D: d$ n- l- C# s" q
        // ±ao? ?D?í???ó á¤à?
9 K5 U' H6 }! O" c        m_pd3dDevice->SetMaterial( &m_baseMaterial );$ g* g9 Z  a6 J4 p, |! e, [/ [1 h
       
# r- e5 j% h$ N#endif // not WORLDSERVER
6 U. N8 _# U+ C. m6 X" ^6 |( @}
5 A9 W- F3 Q( w并更换
/ d0 l- S- D9 U* ~1 b! o( C# }Code:# g7 f0 h2 s- h( L8 J) l
__FLYFF_INITPAGE_EXT
4 u* i4 r1 n1 e/ y4 }+ y定义+ t% R! x- `2 O1 H5 N& d( l

) k8 D' P) H2 X! p
3 o% g3 a- r$ V$ f) `6 ?6 G7 v0 t' t0 e- m$ t

* b, u4 I' K( t5 p$ z/ y4 w8 w现在终于删除我的狗屁加速...
8 Z, l- C& V- ~
5 T! {7 n3 w2 [7 V6 z7 l% j/ f  k: R/ l' x- X) [/ \

6 H. _8 B3 G+ L& L  q% K; \




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