飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:6 ~% E3 i+ g6 N( M' N
尾翼:
6 ?2 e2 J  H+ F/ ~, j$ l# b
5 Y1 V  T6 @) n/ F# `5 n代码:: b* ]4 k+ m4 Y
CWndAutoFood::CWndAutoFood()$ }0 [" S8 E/ {5 V1 q0 Q: X" `2 a- @
{
" q$ w# x! `9 A: p' \. K        m_pItemElem = NULL;
1 [7 h$ s: E5 }6 l/ d* A* s        m_pTexture = NULL;8 u: z& u7 k4 G- g6 b- v& g
        bStart = FALSE;+ i/ j& Q$ d& h; X+ @
}: H. R- }- E$ M. J! t- F4 j

4 J6 S. }# |: v: Z: @CWndAutoFood::~CWndAutoFood()! G! U& o3 _% ~& u& C8 |
{
( _. E% K7 K: z& H  Y& o' n        AfxMessageBox( "AutoFood ist gestorben " );# v  a5 ^& L8 L, @  n
}
. L1 J0 c% A5 {7 L* nBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
9 t6 B! i' w& Q8 T% T1 h& U{
/ R$ ]( j8 L0 x9 l2 [        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
6 p9 p+ m7 R0 \: B9 P3 P}
8 P  V9 e! O7 ?  j3 _& n; }9 j0 Q/ a8 F# }% K
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )7 f  s1 S4 q4 b1 d7 [& r3 Y# c7 k
{
/ F4 m  s  U- P: f  v        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
+ L0 c+ y7 A& g' g7 b: ^9 b        CRect rect = pWndCtrl->rect;' H3 p5 u6 C* X& _7 f: _
        if( rect && rect.PtInRect( point ) )
0 j3 w4 W9 N) D9 ^; j        {9 o0 f, V4 r8 O, K: O
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
0 u4 c% H$ c7 u                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
% H$ M9 a; [3 Q) R) s7 V2 V7 z                {
. t1 H. a/ h4 b( Y8 Y3 L9 P                        if( m_pItemElem )$ V( s- _; Z- Z( w, O) K
                        {
2 p- E4 D( x$ p: i  B' ^                                m_pItemElem = NULL;
" c9 f# d! d9 P                        }
; O" t, y. i2 O/ m0 ~                        m_pItemElem = pItemElem;6 R2 \( Y! X. h5 N3 V
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
- c- p4 K7 h3 \5 @+ k4 s                }else{% f: }0 U) J2 I
                        SetForbid( TRUE );
; o3 h' w6 e+ `: [6 y" ^                }
5 T& l$ e& b8 O: @        }else{
& F3 Y- p4 {) A* \6 u# F0 Q5 a                SetForbid( TRUE );. `0 y) A# }) ?, ^# A+ F  {0 B
        }& M- Z0 p5 {" q7 ^/ D
        return TRUE;0 n+ F  {) Z5 e
}- z/ X2 W8 u6 a3 o7 x7 p0 {

) p+ M. f& A4 Y+ ~: N+ ~BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )# U) M3 D. G/ |7 e
{
' T0 \6 A9 f: v7 e  r! a: w        switch( nID )
) _* s, L1 ~! c$ o0 ]1 D        {
3 V3 o1 ]. {6 u, F        case WIDC_BUTTON3:
0 K4 S2 i# y- c. v' Z  S: M                {1 K  T, j# l2 Y( h5 X/ E; _
                        bStart = TRUE;; y  c8 V0 O$ z) q" v
                        break;! l/ ~. Z" \  j% x4 ]# O
                }
: F5 |) d# @$ e# K3 P        case WIDC_BUTTON4:
/ t% D0 s# u- r" @4 }                {
8 B9 L$ d1 U) g& j7 J                        bStart = FALSE;
3 V2 g, n& z& q                        break;- w4 [2 ?: P( n
                }5 c. l% c6 h' @3 ~2 |
        }
2 b; y9 ]7 i( `  q        return CWndNeuz::OnChildNotify( message, nID, pLResult );0 O5 W- S0 p, A* j6 b+ _# ~9 `, Q! t( `
}       
. |$ L5 c0 `6 [) R, q: j% p6 {  uvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
# E. K0 k' w8 y( K7 ^{
; h& x& J( E$ J9 c! ]% \        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );7 A0 a! r% a( c  ]7 I/ Z
        if( bStart || !m_pItemElem )
- ~$ Y. P' W6 g& H7 J        {* x4 d4 H% V: X5 ~% W
                pBtn->EnableWindow( FALSE );
% h, e3 O0 c& O        }else
* d0 d/ H2 |- B4 ]' y                pBtn->EnableWindow( TRUE );/ U$ J" G# T# B& G) a
        if( m_pTexture )
( c4 d3 b' t0 j5 q, U        {$ m* p  M$ Z' ~. r- U5 E) \# [
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );3 U4 m/ r+ U% T0 i/ J7 T, t% d3 C# h
                if( wndCtrl && wndCtrl->rect )
0 J3 w# U) y% p                {
+ T2 `+ G: I; n                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );+ G( L2 T( ~; I5 B) P6 Y
                }
2 l2 g5 ]) j, g+ c/ u        }
+ a* y" z/ E: s& a) n/ l' a2 i}
0 n* d4 H7 r. i7 j+ k6 Z! l# L0 @" r1 [. g! H6 H/ v3 M* A7 c# o
BOOL CWndAutoFood:rocess()
( T+ N- p0 }* k* ?- B6 }) |{
! q/ f# O# |' z5 W        if( bStart )+ x2 k! \4 g$ w& S# D
        {" N( R; T5 F0 M- r
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
! a: U1 L* t) ], O                {* X$ x" `' ^' a, N$ R8 ~8 n7 B
                        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 L/ K4 @. N; U+ N9 U
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );, f. ~5 L: z* ^
                }else{1 n) e& n' R& u# K
                        bStart = FALSE;
, |+ \( X0 b5 b) w                        m_pItemElem = NULL;8 c  N1 f5 y' ]
                }/ b. W8 e, R5 w9 Q
        }
( C0 Z3 @  j! y0 O6 U1 W        return TRUE;
) Q- @2 y5 x$ M6 F0 i# o}
+ @$ k; L+ @- _) B/ Y5 ^+ \
  Y/ E" o. ^0 F( }; f登录视频废话:
$ F8 w$ X8 r# p% b- }尾翼:# E; _: ~) i3 @( F6 f
$ t4 S( I  |; N8 O0 V1 c4 Q' F$ X9 R
代码:
6 a/ @$ a: o5 j2 M2 L( l4 g* X
% k% j( @- P4 k/ L5 y/ Rvoid CWorld::SetLight( BOOL bLight )
- t( m+ P: ~. l( w: W& udurch
9 P7 m5 C5 n+ b! I1 f6 Q  `) ICode:
4 Q% ^7 O; j# ?4 U8 Y, e+ i/ svoid CWorld::SetLight( BOOL bLight )
1 \$ @$ V9 j+ `+ U2 T: N  f0 g+ |6 E{
7 I4 H% R8 b/ k5 A. n        //ACE("SetLight %d \n", bLight);4 \0 i8 c  x* M( i7 r- Z
       
4 Z/ j, F* o+ _$ f4 z#ifndef  __WORLDSERVER ; A* Y* R) i% J  H% l
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);/ s; Z3 p5 ]  w* I! `! L
        CLight* pLight = NULL;5 i" H7 {% ?/ V8 F+ Q
6 `2 F) S8 h5 }$ I
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );8 [- z4 J7 @/ e. `: R2 m& x, I
9 d5 s# }, P7 V
        pLight = GetLight( "direction" );; ?% c$ D) f$ y& G# o+ R& T! q

3 [8 v1 L; Y) K' n+ g#if __VER >= 15 // __BS_CHANGING_ENVIR5 \( I& Y' M7 p% J
        if( g_pPlayer ){1 F: N% b0 L% y; p1 U7 W
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
* J/ a6 {4 \1 ?                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
4 H' w$ z  E" `                {- v) Q4 I, C3 Y0 q
                        if( pLight )
' m; e7 p) R4 _, R2 D; _                        {
/ E2 m- M: _" t- u                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];2 W# ]2 ], V* ~2 J; j
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
2 I0 ]$ }3 q8 p5 K8 h) l3 M                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];9 e% L$ v$ y& s
8 g3 I$ L8 ^  U  ]4 ~$ O
                                pLight->Specular.r = 2.0f;
0 _/ d7 Q( _4 z8 ^- Q% I% R8 Q4 i                                pLight->Specular.g = 2.0f;
% _9 a( R" T* G9 }( O+ {                                pLight->Specular.b = 2.0f;
6 ~' Z. F: w: B, d        0 ^9 |2 X( W$ `( r5 A8 ]  _3 w
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];& L5 N3 |( L; z2 `7 m9 B
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];! U4 |+ N) i6 L% _* _6 E: r; \
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
6 Z2 l1 X! U7 M1 Z: n        ! z& F: J6 r( [! ]6 C
                                HookUpdateLight( pLight ); ! k/ Q0 k) z& a) [5 k

1 R. _. F4 L2 v4 o$ m  [) v                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );$ m+ q& A( ?. Z6 d5 x* v
                9 L5 T$ B  z" W; U( ?
                                pLight->Diffuse.r *= 1.2f;
' {7 L; j6 c$ P! g# S/ P4 _7 O) Q/ \                                pLight->Diffuse.g *= 1.2f;% W; @/ P( c2 h' C. m
                                pLight->Diffuse.b *= 1.2f;6 z8 q; ?$ X. A# L
0 w; |4 ?5 H' h# @$ V9 a
                                pLight->Ambient.r *= 0.8f;
- J2 }5 G. h/ }- w, u2 H1 @                                pLight->Ambient.g *= 0.8f;
' M/ \# K/ M/ u2 R% q* |                                pLight->Ambient.b *= 0.8f;
& [0 {, g" c* l  i% L6 W        " o! @$ ]  C; j% L  [
                                memcpy( &m_light, pLight, sizeof( m_light ) );
; y1 R9 S3 M$ s% z  f! G, X/ U* f: o; k9 r' m
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
9 X/ t+ y* Z  F                                 D3DXVec3Normalize(&(vecSun),&(vecSun));
4 h" d8 r- r) [8 D                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); & I, t9 O- d4 b' ]3 y
                                pLight->Appear( m_pd3dDevice, TRUE );, h# b$ S, \5 X1 {) s) S) n% c
                1 G' F3 u7 `4 C- E! l, E: F
                                DWORD dwR, dwG, dwB;
: e( z2 N! l7 ~6 H* j                                dwR = (DWORD)( pLight->Ambient.r * 255 );/ t3 U# ]0 M6 v3 j2 [- s9 u$ t
                                dwG = (DWORD)( pLight->Ambient.g * 255 );
/ B! M( m, j( ^5 ]. G                                dwB = (DWORD)( pLight->Ambient.b * 255 );3 {8 N# u" [6 W
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" z7 x" d1 h) Z9 B; ?1 T+ B1 @                        }8 g) z8 L$ i+ M) ?5 q) J$ i5 N% Y
                }8 X9 f7 ~- U* B& l+ O8 P# n
        }
, Z6 ~+ L  `+ E) d- c+ Y7 ]0 U# l        else
3 {! \: Z% W$ m, M- y#endif
2 A9 n% Z1 ~% x) ^$ {* {: |' {' N2 F* L7 l. g6 s$ Z/ r
        if( m_bIsIndoor )
* K( H9 T( ]" c  {5 K/ R        {
+ h2 E& }" s( _" b/ H8 L' ^                if( pLight )+ m- |: m- T2 G  H# ^# _
                {               
6 Q  b( c8 P- j: C. R$ |& `' d                        // à??μ oˉè* ( a7 ?1 T3 t- B5 p
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
9 u& o; u6 ?% ^; h                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;7 O& K8 `# \2 J7 ]- w7 m" ^- N
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
0 e/ ]3 ?; u/ X  |1 I) j6 A8 }+ N. n# c, i3 |) s& R
                        // oˉè* ??à? 7 [+ c4 V- j- S' m$ o
                        pLight->Specular.r = 1.0f;( O, y2 w. [0 m4 v1 M
                        pLight->Specular.g = 1.0f;
" t) N5 d8 v6 @5 i+ g                        pLight->Specular.b = 1.0f;
6 v" |  ]- l" a, q                        // àü?? oˉè*
' m4 Z3 E' U. f0 C9 K& m                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
- r. _2 O' |  R2 v                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;8 `+ m+ t& L1 F4 z
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;2 r- @& X" a9 t
: \( `' p7 ~2 M( U
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.9 w5 G" y! \9 j7 m# Z
                        {' s, [. D. q1 h1 V3 _; H
                                pLight->Diffuse.r *= 0.6f;
+ M9 h: D* U2 X4 W+ l                                pLight->Diffuse.g *= 0.6f;( |, a2 ]9 i& M- y4 N6 z
                                pLight->Diffuse.b *= 0.6f;. u7 U" K  R; i8 |
                                pLight->Ambient.r *= 0.7f;
6 j. f: @$ l/ I5 ^* P                                pLight->Ambient.g *= 0.7f;
: t7 q0 ]1 L/ l9 z  s                                pLight->Ambient.b *= 0.7f;2 i- @+ B$ p% W& ?) n( E3 [
                        }
4 c3 U1 k2 Z. O2 d7 k
- m# s1 d" J# V#if __VER >= 15 // __BS_CHANGING_ENVIR
9 H* I: D/ n6 c2 g" l; J/ X: v, ], \                        if( g_pPlayer )- a) v& r; ~4 E0 t6 J! U
                                HookUpdateLight( pLight );
3 G. D5 E! D( U6 N! }( ]6 U. O6 i#endif+ K) B8 n8 b- z% @3 Y' R8 J6 N4 K
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) H  x  F9 p) Q
) I: {9 f* D- g# i, u                        pLight->Diffuse.r  += 0.1f;' D% S; J$ X, }+ b* X4 n
                        pLight->Diffuse.g  += 0.1f;( l" f, i: o6 D. B( P& }
                        pLight->Diffuse.b  += 0.1f;
5 ^* e8 d6 t8 a2 g7 n/ U% g                        // oˉè* ??à? # ~# B% m- T4 S, s
                        pLight->Specular.r = 2.0f;) P% `7 p+ ~3 X# d/ e6 M
                        pLight->Specular.g = 2.0f;
7 A  Q7 J, Y3 {& I& O+ ~. T- _5 a% K                        pLight->Specular.b = 2.0f;
% \" v' R' }' ^$ `5 _7 A2 w                        // á?oˉ . u, V' }. G/ Y9 ~
                        pLight->Ambient.r  *= 0.9f;  K; m! m; j( m
                        pLight->Ambient.g  *= 0.9f;
) Y# ?2 ?1 [2 p9 f9 I                        pLight->Ambient.b  *= 0.9f;# h! [3 c) M4 Q* `+ W0 h
# W" ]6 ]( ?- |# t  V8 |7 @
                        memcpy( &m_light, pLight, sizeof( m_light ) );; {  E" j7 @+ F/ q4 B
                       
  D$ F. {3 H# h5 t- a7 |1 c& u. ~                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
7 T" b2 r  U9 d& j                        pLight->Appear( m_pd3dDevice, TRUE );+ C2 r" C$ @1 H7 H5 X- a- f5 l
        3 ?1 l+ H% o+ M& B  k, Y
                        DWORD dwR, dwG, dwB;
+ q. E# x2 u4 ^2 d7 [8 R( P' R                        dwR = (DWORD)( pLight->Ambient.r * 255 );) O" l  c: Q8 Y9 V. a& Z
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
7 G' n) q9 G0 \+ m  i3 o' P# g  E                        dwB = (DWORD)( pLight->Ambient.b * 255 );
  H, h. W" h( t- Z! Y8 s                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );" Y# }6 z/ u, c
                }
, m- j9 M0 I2 ?' j3 c( p, W) x        }9 T% w& s- n+ m$ Z% [
        else
8 l3 F& m8 p6 Y7 f$ G        {% G1 Y6 ], _2 i/ r
                if( pLight )
7 h! a3 ]  r( O# x: M2 k                {
* e4 v& t2 ^) d5 V, J/ f' i2 S               
# T  H9 K$ P# O( Y. a9 T                        int nHour = 8, nMin = 0;. m) y  ~# g( {4 r# l  A5 \% L
        #ifdef __CLIENT
+ ~7 k# o; f2 Q# J3 {                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
  ~: o0 Y! n4 T5 ^                        nHour = g_GameTimer.m_nHour;
" g7 y% A; R; H  j8 q5 q                        nMin  = g_GameTimer.m_nMin ;6 L! X4 k' M0 O; D2 C! B8 U
        #else6 }' Z$ i0 i! e8 w, b% c. Z
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
3 f# f7 _! r  R2 D9 b1 g- s3 V                        if( m_nLightType == 1 )
; P1 o7 [' F% P* a                                nHour = m_nLightHour;0 M/ G! A+ F5 m/ S8 y2 v
        #endif
& G& f* s; f7 S+ v! C                        nHour--;+ K1 N9 e. Y$ [1 _; n  l& b
                        if( nHour < 0 ) nHour = 0;
, }! n9 K- L5 c- [6 [# ~9 J                        if( nHour > 23 ) nHour = 23;
- V. O8 w' E6 E$ ~" [- K9 P8 i* T5 _; ?$ s7 s4 ]/ y3 }: A9 r
                        //if( m_bFixedHour )8 t# w$ F2 X3 d; G" u1 s# N
                        //        nHour = m_nFixedHour, nMin = 0;
+ C% ^1 c6 h9 D3 X                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
) S7 Q5 y: E: s8 F                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
. ?( L' `) `* l( ~& H* v$ p8 c) |* C0 Y" F' L
                        //m_lightColor = lightColorPrv;
5 ]! V, P% G0 l# B) j1 _2 f1 f: H                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;$ p' Q$ K2 D+ s( D( ?6 F& X
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
+ b* |! X& \  K5 H# R                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;, z3 ?) v( A, f
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;3 \- q/ f, }" r0 d' j. `" R( D
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
/ ]# x* T. s( x, Z  V  A                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;- t5 }" C4 G; r' `3 c; L
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
; g5 n. @) o2 C' H+ M% w$ X: f- L" S+ ?3 z
                        // à??μ oˉè*
  K$ ]! D0 `1 [0 A7 q                        pLight->Diffuse.r  = lightColorPrv.r1;5 y2 ?/ h! C$ E2 ?4 S3 u1 a! |
                        pLight->Diffuse.g  = lightColorPrv.g1;, {3 F) I) D6 h1 E' w; W1 w
                        pLight->Diffuse.b  = lightColorPrv.b1;
6 k  z0 K0 F. U: W9 k- \+ O" Y; r/ |                        // oˉè* ??à?
/ k" ~8 A! R; C, X: w9 B                        pLight->Specular.r = 1.0f;% N/ a4 _0 y. v) g3 s: x3 T9 S+ V
                        pLight->Specular.g = 1.0f;
2 h/ G7 _. F9 I+ f# X: g                        pLight->Specular.b = 1.0f;
. o- e  A  e" q+ ~1 ~$ I( V, T                        // àü?? oˉè* 3 Y2 ]/ S) O* e
                        pLight->Ambient.r  = lightColorPrv.r2;+ M! W5 j  |: n+ I* a3 d
                        pLight->Ambient.g  = lightColorPrv.g2;
. T3 K# l. g: Q: ^/ k                        pLight->Ambient.b  = lightColorPrv.b2;6 ]7 M7 D" J0 P7 X: H5 G
, P. d- e" w' W( f. |. Q$ c: f2 ]
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
- \3 V, t2 @7 f! b& f9 y+ K                        {
* w/ b* ^. D/ M* ^9 i5 i                                pLight->Diffuse.r *= 0.6f;
& N. b6 r% l  O" K: E9 `                                pLight->Diffuse.g *= 0.6f;
- ^$ k$ v/ ^  w                                pLight->Diffuse.b *= 0.6f;
9 _; @( k( h! U+ ?7 `7 v1 I                                pLight->Ambient.r *= 0.7f;
1 x% T' R  b6 |" u, c                                pLight->Ambient.g *= 0.7f;; H- c8 T+ M0 y/ r. q& `3 O. a
                                pLight->Ambient.b *= 0.7f;. R% M/ w9 e/ u( T: h' v. s
                        }) k" F3 r8 x6 d
                        4 E0 T: o3 U5 n: r& B  v
#if __VER >= 15 // __BS_CHANGING_ENVIR+ w9 O" _+ k1 @4 g9 ^$ y6 t
                        if( g_pPlayer )
+ T! Q  T& W+ W7 I5 n" _! V9 |                                HookUpdateLight( pLight );
4 D, [3 c+ ~4 \8 i9 O#endif
$ U$ T) S$ C/ _; U* q' d                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
  J2 |0 @% d& j" h& d9 N( s% n
  m7 B  j5 y4 N" ]#ifdef __YENV
0 ^$ H7 {" y  e1 Z! ?1 k9 b                        pLight->Diffuse.r  *= 1.1f;, Q# J1 U/ J9 S0 `2 ^
                        pLight->Diffuse.g  *= 1.1f;/ I: M( F1 P6 M% E
                        pLight->Diffuse.b  *= 1.1f;
' Z& p/ `2 t$ ]                        // oˉè* ??à? , n% G* D' B6 U% k8 D, _' t
                        pLight->Specular.r = 2.0f;
* J/ N& o2 Q3 v+ m* |4 K6 D: G+ e: k                        pLight->Specular.g = 2.0f;8 x) L# b+ `  \0 }8 y1 e+ B
                        pLight->Specular.b = 2.0f;5 p* I5 D( q1 L6 ?" f
                        // á?oˉ 7 j! C' r  H) Y
                        pLight->Ambient.r  *= 1.0f;
2 t4 |" c, v5 v1 `2 t                        pLight->Ambient.g  *= 1.0f;. U" M+ ]3 n) Y0 Q
                        pLight->Ambient.b  *= 1.0f;7 z4 L4 m) q3 T: w
#else //__YENV% S! N0 D+ w( L0 a; T6 }8 s
                        pLight->Diffuse.r  *= 1.1f;
4 G4 ?" {" {7 \                        pLight->Diffuse.g  *= 1.1f;8 Q% o: W; n) d; A. \0 Q  x
                        pLight->Diffuse.b  *= 1.1f;
# U) T6 x5 L4 o1 O: B& n0 G1 z                        // oˉè* ??à?
$ o% t5 N( I: l                        pLight->Specular.r = 2.0f;
  }7 U4 v5 V5 a9 K9 x                        pLight->Specular.g = 2.0f;6 U. n( H, c8 |3 C4 u7 \
                        pLight->Specular.b = 2.0f;* s  v- L" q# b6 i: p3 H5 L
                        // á?oˉ 7 ]) @: a- l7 E! Y& W" `4 B2 T* K: N9 ]
                        pLight->Ambient.r  *= 0.9f;% l0 F# X2 \( u: S7 Z9 }* v3 i
                        pLight->Ambient.g  *= 0.9f;; b- K* r) Y& s1 f
                        pLight->Ambient.b  *= 0.9f;! K- o+ v, f" i0 S
#endif //__YENV 4 x6 M/ _/ N* n" H6 f/ F( B& U: ?
                       
& H7 h2 v  N+ w                        memcpy( &m_light, pLight, sizeof( m_light ) );8 N# s# e  K; r+ h8 T6 h4 q  l+ K
                       
) [) X1 p7 v5 w" W( B" z                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
: |# I8 m1 n4 O8 |8 y/ u5 s                        D3DXMATRIX  matTemp;4 J' ^5 D& S0 s# k
                        static const float CONS_VAL = 3.1415926f / 180.f;$ D: Z5 Y) Y3 z7 Z  |" H

# f4 w( ?, L& d- \2 }5 q                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);% z. C- V. v; v. q2 O7 I9 m3 N
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
1 ], G& F4 P- s6 `  e/ o: X& y                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
2 g% Z9 F4 Q& T* J3 u                        pLight->Appear( m_pd3dDevice, TRUE );
0 f) @6 z4 q! A) R, y8 K; m4 X, k9 ]1 T+ l. b: B9 ]" k
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);1 `3 N1 u7 O# c4 Z8 |( i1 \
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
- F0 W/ S9 S7 t4 k, Q, D                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); + S8 ^- @- i) |. a+ y

0 S6 o* a; S9 z4 E2 [) u                        DWORD dwR, dwG, dwB;% S1 p: H% _2 y% w
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
; k5 C3 ~+ o8 W' W, W5 G. c                        dwG = (DWORD)( pLight->Ambient.g * 255 );
, `0 b4 n0 [$ g9 z0 S                        dwB = (DWORD)( pLight->Ambient.b * 255 );
4 q! B% ^4 U( J                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        9 I9 m* ]; i* Z! x6 n8 ~1 \
                }
- C6 t! ^( N2 B( `+ J        }. D* l- q( N5 z4 Z2 L

+ o  [. _" K$ Z' R, A        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );; e& R  }! V8 i1 g0 N
        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) );
7 P+ ?# x9 d: j. P4 ?1 q        ::SetLight( bLight );" G5 ]! z* i0 _7 u, O$ E
5 A1 S6 d+ p1 T
        // ±ao? ?D?í???ó á¤à? ) b8 D- \$ I. V& G% k, `
        m_pd3dDevice->SetMaterial( &m_baseMaterial );, e  b8 }8 B2 `- X" G
       
. o& n# O  r/ u: e5 O: y2 T: e8 X#endif // not WORLDSERVER5 }2 s" Q( I+ y" y7 Y. y0 v1 ^, N
}
4 |9 N& m# k8 l并更换$ K# o5 f  p% ~) x  l/ |  r+ `
Code:2 B: `- `. i+ {! W( Q0 a; P
__FLYFF_INITPAGE_EXT
1 S9 q, F  P2 R+ o% h定义; ?5 ^$ `% k! T, b. _' n

4 ?6 w9 H/ F1 K$ I+ ?' c. s" m2 `* n1 X/ |; g

3 z* B% n. ?% B4 y1 H( ^7 G5 o  H$ h5 c3 b, V$ R9 o5 ^& `% s1 I4 ]  W3 n
现在终于删除我的狗屁加速..., F' {+ B5 c0 `3 p5 ~
8 d& S* z, Q# A* D) `5 i2 p
: B6 Y) b) P2 r, I, z
# K6 `" F% l" `9 q5 z





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