飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:% ~( m/ n( f& t3 Z% ^) `
尾翼:6 z' x6 k* X7 R& J4 D0 e: C

6 L- e+ Z$ D( S* }0 _/ Z8 k- Q代码:6 l- B! U: L4 ?/ i5 q9 T
CWndAutoFood::CWndAutoFood()
' n" m: e3 A& T8 D{) t2 s* h7 J6 S: m0 V) F+ p
        m_pItemElem = NULL;) x6 p5 g7 d/ j! }
        m_pTexture = NULL;: L$ V1 |8 r( f% {
        bStart = FALSE;: h/ T. M1 [$ e4 G
}
% X, g( R4 B/ [  B
& c4 Q8 s0 h/ _$ R% |1 PCWndAutoFood::~CWndAutoFood()
& ?% V" b1 \2 w' v6 Y6 v# c{
2 W0 Z' Y) U; a5 S& b! }4 [9 Q        AfxMessageBox( "AutoFood ist gestorben " );- X. _7 Q; s# h( w/ X7 a! y
}0 q5 v" d2 T+ P& ]+ Q. H
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType ). d7 l5 [4 T# y- h- b
{
9 V8 v+ D0 H, _1 p  a( f/ v* w        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
- l3 r0 a) x3 h. C9 @}+ K1 f' V! N) l* d! R
( W, `* R# h2 ~! L
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )) b  s/ k5 {6 ~+ R3 P
{
, P3 ]+ r! o+ t. H        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
6 v$ d) Y5 }/ X; l$ J        CRect rect = pWndCtrl->rect;0 x( R2 H7 `% x+ Z# Q* i
        if( rect && rect.PtInRect( point ) )* O3 @) b; Z- K2 E
        {+ e6 {$ N4 y7 ?) d8 _, Y; d
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
% `+ J) n+ S/ ?6 S6 W# {                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
4 j4 o7 w8 E2 @1 `' M! D* B                {
6 s! T& W9 W& O0 ~! r: m9 [                        if( m_pItemElem )
6 P8 @: Y6 b& k* C$ k                        {
# V" j; n- `0 h: N( ]                                m_pItemElem = NULL;
+ H& I: \, \2 u# o                        }
9 a9 g/ z, P* O  P1 g1 p                        m_pItemElem = pItemElem;
+ g  c, D- g! l/ f) [1 q: V- I                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );8 }: X6 c8 z& |8 M( l9 o) D
                }else{
, ^9 I$ E9 c# N+ t( b  z: z                        SetForbid( TRUE );
) }+ v; a+ i: J6 v8 ~" }$ _- W                }
# u7 `; x6 T* v2 F# |        }else{6 b3 b6 |% j, F4 e& q
                SetForbid( TRUE );
, M9 A, V% O  N2 D/ z" Z* g. d6 m' R        }6 d5 q: ]( C6 G3 _' N4 S, J$ ]
        return TRUE;
) J8 ?) U5 ^9 g5 U& p}: I- h2 w2 o' K6 @( X( b
/ n) S/ A6 p, r( d
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
0 i8 ~' ?. `; @8 Y4 M{
0 A3 m9 o) }: v, |! ]/ W0 t1 [        switch( nID )
" I) i) O4 \+ F) v  G% g$ ~        {7 n& B' r  V7 o3 `) h5 |& v
        case WIDC_BUTTON3:
& Y6 j! }9 ]% C                {
( I: x7 z( E( O* \+ M5 p                        bStart = TRUE;' y( }! S5 [5 U. w  B# f+ R! D/ ?
                        break;  T3 p. k" x& T* d3 T7 U
                }
" E6 e  C$ e# e1 R        case WIDC_BUTTON4:
8 J$ D4 P$ W* b* e2 _. u: s                {9 S( J1 U( o& R' B( p% P
                        bStart = FALSE;
) ?+ b4 q5 S- x1 E* n                        break;2 n- ?& X- H$ A6 @7 a4 I
                }
/ u& I8 Y& J. _7 F6 G        }
/ W% I- D4 _$ j# k        return CWndNeuz::OnChildNotify( message, nID, pLResult );
2 T8 `  y% B! k+ `. ^  k% D+ Y}        9 I2 \7 f' d7 |  X/ }6 V
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
" d7 ~7 p0 [# @" F; v. X{
( L# o: K. `. S1 B" N! T8 j4 m        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
2 [5 Z- [8 X& _4 x$ ~% j7 M  t3 r" C        if( bStart || !m_pItemElem )
# [8 l( A- C, |0 y% M        {6 t' b: H% j2 W2 B
                pBtn->EnableWindow( FALSE );
, P# K' p% x2 x( C        }else8 O7 z6 ~8 E8 t$ @
                pBtn->EnableWindow( TRUE );9 w4 f% K: d) t' c8 P, C
        if( m_pTexture )
) ]( Q2 z  U& }& t9 t. N/ @        {* C7 h" W4 r! S+ r2 b1 u2 E9 Z3 t8 c
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
. J# o  _4 Q' I# ~                if( wndCtrl && wndCtrl->rect )  {, o# j' O! }  V
                {
: N4 i( V8 ~2 E                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
7 v$ b/ T- S- i6 o. i                }: Q3 l# I0 u/ }" l. }
        }
; f' D5 v/ B! m* \) f3 F}' q3 Q0 [9 E4 s9 Y! I# a/ P$ K

; I5 k! n( u! J) H" ~BOOL CWndAutoFood:rocess()4 z. a- z) X& w% `* Y3 t$ b
{5 q! ]) |8 U7 z8 X
        if( bStart )
3 r' B. G7 }0 c& ]  @% x: d4 l. }        {
  x- b2 K9 z+ u; y& }9 L5 X1 s5 @                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )4 R! B! m" o2 Q( B* W" Q/ l
                {7 k* c- j. f/ G+ Y3 L5 w% u5 A; T  o
                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() ); S/ k8 S: v  Y6 N' Y0 s) E. b
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );. ?" d6 e3 n6 B) b3 `* z$ s
                }else{% x+ x* n" ~1 S6 `3 e( D
                        bStart = FALSE;; f: ?! ?5 z7 x
                        m_pItemElem = NULL;
: j9 E$ h5 f- J( p                }
2 J. S0 w% ]5 u7 H, e+ f. t, U3 x        }
/ `. Q: p% ?+ _' a        return TRUE;) `/ H3 m0 X+ e
}# F# J4 R+ u4 K1 V! O* R7 D
( C* y, ]2 r# O; _* t* Z  I
登录视频废话:
4 g' E  v+ h+ |1 \/ f尾翼:
% ?) I8 H2 Q/ l( g6 W. ~( k9 x$ b: p/ h' g9 @% X( C, q* x
代码:
( i5 B6 f5 H: _
. f  ^3 L) N; o. @1 }* P: _9 svoid CWorld::SetLight( BOOL bLight )
* d) {! f  P- Pdurch  z) E5 C' ]+ r4 e7 U4 C
Code:
$ I; s5 U* _  j) I3 Wvoid CWorld::SetLight( BOOL bLight )$ e9 c1 |+ [+ l1 |
{
: z- \1 `: \4 _; |' D- _  U% ~        //ACE("SetLight %d \n", bLight);
: S! Y# z  k& w       
9 E( M9 o) Z) }$ f#ifndef  __WORLDSERVER . J6 i" ^" y; k5 D4 `: e
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);: B& U! I7 j0 V, \0 A6 f1 d
        CLight* pLight = NULL;$ E( H) x7 K% S# G$ |

6 }8 l# A6 Q6 n* T- n1 z: u2 R        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
' x2 y' m& F# n( _4 H; o/ T( C" W3 X$ w& c/ t
        pLight = GetLight( "direction" );
3 S! J% S. E$ ?5 i! R9 y5 I( B6 n2 b1 j) S1 t& i- s; w
#if __VER >= 15 // __BS_CHANGING_ENVIR6 v6 x6 P' H. t
        if( g_pPlayer ){5 B, a, u8 ~3 `0 d: M0 a( e
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
. N% [, R" C- s$ F% W1 E+ H5 @9 P                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!9 V. U/ e/ [9 D* ^
                {% ^" Y2 V1 C8 L6 N3 S$ w1 W7 W
                        if( pLight )7 X$ z& H- p0 e' t) w! w5 w% E& S. I
                        {
" P' B* y. ^9 Y2 O, h                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];% k9 ]9 y$ e. A0 l) J
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
: c& W2 g' {9 X& u& x                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
. C: C) b3 X  i$ X$ Z. u
% o2 |6 A7 _$ _+ {0 i( X                                pLight->Specular.r = 2.0f;  C' e" r; A8 V% s* T
                                pLight->Specular.g = 2.0f;5 a/ ?" t, P; w! K' m# z
                                pLight->Specular.b = 2.0f;4 A/ P1 k2 s0 O7 a6 R1 e
        8 e& V* `, T# k- p$ W, A3 b! M! I
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
' {4 o* [, }& F, n7 }0 K                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];3 g, O. h) B" }/ j) v# E
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
; E0 `% G" c; N6 f       
1 R% ^* Y- k; Z7 h& T                                HookUpdateLight( pLight );
% `" u- v( R( l1 m* W& D1 n
8 ^( @# }8 U2 O' q4 F                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );8 k* o% v0 y% p* @4 k
                , x( Y. p* F, l5 q6 X+ J
                                pLight->Diffuse.r *= 1.2f;1 Q2 q. H# r- T
                                pLight->Diffuse.g *= 1.2f;# E8 q& W% o* ?# m
                                pLight->Diffuse.b *= 1.2f;; V- F) T. Q: X0 `0 c
. k3 W5 a3 l- ?$ z; n9 l6 Z. Q3 s
                                pLight->Ambient.r *= 0.8f;+ n# w: A6 R' ]" _/ I- n4 n
                                pLight->Ambient.g *= 0.8f;
0 x: U! N( P' D* [8 n6 ~. O. Y                                pLight->Ambient.b *= 0.8f;. a- G$ ~$ l5 Y
        ' A+ K& q1 g% T9 o$ G1 B2 i
                                memcpy( &m_light, pLight, sizeof( m_light ) );
2 \6 e: m2 N  e5 P$ m; [* l3 O- X) |. Y  l7 {! f
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);+ u' u1 G  S& V9 [  O% S4 w
                                D3DXVec3Normalize(&(vecSun),&(vecSun));
+ D) v' W6 ^8 T- R2 a* a/ a# ^! G+ r4 e                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
: g+ P5 y( L) o3 L                                 pLight->Appear( m_pd3dDevice, TRUE );
0 e6 u5 O0 w- J! G, b  C  D9 m               
, J" n7 u, [4 S" Q                                DWORD dwR, dwG, dwB;( c; m$ Z9 j$ k1 d5 M6 d- n
                                dwR = (DWORD)( pLight->Ambient.r * 255 );4 [) b( w- Y7 x7 f
                                dwG = (DWORD)( pLight->Ambient.g * 255 );
4 n! Y1 ]$ g5 e) z% n, k7 }- m' i                                dwB = (DWORD)( pLight->Ambient.b * 255 );
$ b" m$ A3 ^0 W3 m                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );, v; }/ F, a- H# {1 f: _( F, ?
                        }
7 i' N& v; J" \, I2 d                }: n  P, z! S% E
        }
( \; s- `" i. u. }        else  Y: k9 o) B, [/ K1 K; `
#endif
9 H8 C; q5 Q# L; y1 f
* F  k8 g' O- F' X5 P) o5 h        if( m_bIsIndoor )
+ {1 B5 n1 ]" S' {' H" N3 E8 \- b$ O        {
1 a# P6 E. t4 _                if( pLight )8 E6 B  ~* }9 ]1 a+ p
                {               
$ ^4 m+ p7 U7 Z                        // à??μ oˉè*
) G7 `9 z0 a7 B! n, n                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;3 U5 I* ]; Q) @
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
- }7 k( J& S5 h                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;  e; V" n; \5 R+ |; X9 }8 q3 U
1 g- k% ?2 Y# l; o7 p8 c9 N; O6 K
                        // oˉè* ??à? ( N/ q. b* q" [: P6 e! L
                        pLight->Specular.r = 1.0f;$ `1 y# R( o6 S3 p
                        pLight->Specular.g = 1.0f;
9 H+ y  b8 q* r" D+ k  Q& v                        pLight->Specular.b = 1.0f;4 {! B0 d/ I! I3 b- P% @
                        // àü?? oˉè*
, T( ?0 D) @. E. s6 N                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;+ [7 L- D& p% S
                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;" z' R+ ^4 \& [0 ]; U
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
) y8 L" }5 S$ D7 D7 U" C3 y" d# F; u
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.. [  N& w, O# C4 P$ _  i
                        {) w, u( G) E8 q4 [# `+ J
                                pLight->Diffuse.r *= 0.6f;
* r# y6 R7 e5 }2 w7 ^2 ^& J5 ^; u                                pLight->Diffuse.g *= 0.6f;2 l0 T, M0 H: a: b9 ?& r) i6 A
                                pLight->Diffuse.b *= 0.6f;
8 I' r. J2 I& R1 s) |& E  f                                pLight->Ambient.r *= 0.7f;
/ A- C2 d' Z1 [$ Z5 x6 Y2 ^                                pLight->Ambient.g *= 0.7f;+ h! t/ z+ k/ z4 C
                                pLight->Ambient.b *= 0.7f;, z3 X# h( G1 L; V8 ]! d9 h
                        }' P! P' R+ v; e! T# A5 m

  a5 z- f& z# ^) [#if __VER >= 15 // __BS_CHANGING_ENVIR
8 t0 G  ~( Z4 x+ r$ s9 l                        if( g_pPlayer )" ~" J& I% ?$ }- k: I) ^; P
                                HookUpdateLight( pLight );
" ]+ _% Q! m$ O! q4 a% [) t, i#endif( K/ D8 x$ ]" S0 G
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# [8 r" l$ H2 O( p" N* D7 s5 u# Q/ ^6 ?3 s! v' B4 [) k' J
                        pLight->Diffuse.r  += 0.1f;
; I, O6 i, P: V; v! q! V                        pLight->Diffuse.g  += 0.1f;
! _* }. a6 s) @- w                        pLight->Diffuse.b  += 0.1f;" [' s6 ^( {  y/ S. c
                        // oˉè* ??à?   ~1 z# w. i) q3 j5 L; F* i
                        pLight->Specular.r = 2.0f;
& ^1 N. A1 f9 Y% o1 t% J                        pLight->Specular.g = 2.0f;% e/ V$ [% {, T/ |
                        pLight->Specular.b = 2.0f;
7 r% z8 i$ r0 L! L4 Y  ^                        // á?oˉ 0 |3 L! o3 o; c2 D, U
                        pLight->Ambient.r  *= 0.9f;# X% Y% S: H8 p" o" {
                        pLight->Ambient.g  *= 0.9f;5 E: u! }+ s/ N  N, L) x3 {
                        pLight->Ambient.b  *= 0.9f;7 ^+ F) t" n( B- _, H

( ]/ [' ]4 |3 I6 h! v- {6 D                        memcpy( &m_light, pLight, sizeof( m_light ) );1 p( ^2 R* d: a6 ~+ q4 i! Z4 B
                       
  `# V) M6 d9 J$ q& m                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );% ~% t, j7 m1 w# T1 d1 a
                        pLight->Appear( m_pd3dDevice, TRUE );
6 j; C' [# y9 i2 q2 S       
  g% ?, C1 ?0 ?% w) y+ u                        DWORD dwR, dwG, dwB;/ a5 X$ w. n1 j+ Y* C/ X1 o! A
                        dwR = (DWORD)( pLight->Ambient.r * 255 );" m: D# H! t! ?" F+ ^
                        dwG = (DWORD)( pLight->Ambient.g * 255 );) I" @8 O! I+ J3 v# ~
                        dwB = (DWORD)( pLight->Ambient.b * 255 );# J0 o9 @8 h" C0 `( p; j
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );/ r6 b2 H( E  }( n
                }
. r# l5 _7 A8 }( W8 n/ W1 h; v        }
/ x& y" W! ~3 J        else
0 o1 p  i2 G$ ~5 r! ?        {
1 a- e( b3 [+ B7 b$ j7 M- K                if( pLight )/ T, I5 ^7 E/ b0 V: }
                {% Z: m7 U  r& t, [
               
! j/ n* l. e3 }4 h. x9 {) F+ D                        int nHour = 8, nMin = 0;
% ^" a7 b8 @! \, ~6 t5 }+ s        #ifdef __CLIENT
6 B4 A4 K$ i* ?7 v. ~# ?3 J8 b0 G0 M                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. ! p* a. V5 O& }' K# i8 c+ a* V
                        nHour = g_GameTimer.m_nHour;3 a1 X& O# G4 k: Z" t" w! \' s; q* r4 c  V
                        nMin  = g_GameTimer.m_nMin ;  |- ]7 U: D! t9 n0 n9 `% ~  |
        #else) b0 j' c. d( t" X  L1 N- U1 a$ }
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
5 T& V6 T! u! y( E. ?# Y. t' M3 h' I                        if( m_nLightType == 1 )
6 T: \  H! [: ], c2 Z- L5 x                                nHour = m_nLightHour;
. Q! J& W) T3 O. ?: Z) c1 M        #endif/ z/ I4 \5 R" q( y  p
                        nHour--;
7 ^8 a  c5 m- n# T$ N$ {3 Z                        if( nHour < 0 ) nHour = 0;3 k8 B! J, l3 T% x, U2 i
                        if( nHour > 23 ) nHour = 23;
2 Y+ ^+ ~" a% R6 A: I7 b0 b0 b
4 e# R7 E9 N+ ?1 b                        //if( m_bFixedHour )3 t  L- S; @( m( [' Z7 m9 o! T& u
                        //        nHour = m_nFixedHour, nMin = 0;4 \! ^. y8 {8 y; W
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];& r# a/ O* u* @. W1 X2 n: g/ e& _
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
5 \1 B2 M9 \; m# s0 P* U; I% X4 V/ {
                        //m_lightColor = lightColorPrv;
6 a/ p8 x9 O) M# x- a- L4 b                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;- [- |5 W1 g. b$ p& ?( @+ W5 b
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;- ^8 X! o* y& _+ w: D" O; I$ ^
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;& l* ]/ |. T/ z. B. ~7 r
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;- [# \+ M& E' H5 k2 b) z& D; G7 U$ ]
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
. T) O* C; w, F: V/ m                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;7 Q+ |( K! G/ a% |. V+ O. H$ y' w. U
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)  p, j8 c% c7 j; x3 E6 i8 R5 O

* p  e) `. M& q* O! w                        // à??μ oˉè*
4 t! n$ W. R* s' u1 \- M  z                        pLight->Diffuse.r  = lightColorPrv.r1;
5 x  b( ~1 p# ~8 t6 I                        pLight->Diffuse.g  = lightColorPrv.g1;
; ~- u9 n7 C$ {$ Q4 ^$ Y2 o                        pLight->Diffuse.b  = lightColorPrv.b1;$ |% |+ m/ ?1 p0 ?
                        // oˉè* ??à?
" ^: T" R- r& |, @0 r: `                        pLight->Specular.r = 1.0f;
9 u3 O; r& T  e* ^, f# }                        pLight->Specular.g = 1.0f;
8 B0 J; b! A% I  V4 c                        pLight->Specular.b = 1.0f;! ~: X% @2 K, S, e' H5 v2 E
                        // àü?? oˉè*
) o1 T. V3 Z: L  ~                        pLight->Ambient.r  = lightColorPrv.r2;
( r9 z" e/ V% Z8 C                        pLight->Ambient.g  = lightColorPrv.g2;1 e: G) q. ~- L8 `7 L
                        pLight->Ambient.b  = lightColorPrv.b2;
7 C5 ~% V+ F# |; z8 D1 k2 J3 J6 _! G* |3 M) `& e2 a; h
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
" _- R) |+ c/ B7 K+ |+ h                        {! }$ c/ N* |/ ^* J& L& {
                                pLight->Diffuse.r *= 0.6f;5 M$ J; h* }" ^! O; s
                                pLight->Diffuse.g *= 0.6f;. j. c1 L7 P6 p
                                pLight->Diffuse.b *= 0.6f;
1 S3 L. _+ a( M$ ~                                pLight->Ambient.r *= 0.7f;
9 z$ }1 }3 g5 _5 L1 F% R' C/ O" R                                pLight->Ambient.g *= 0.7f;
: ^& v1 f8 ?5 N# _4 t                                pLight->Ambient.b *= 0.7f;% ^0 l( X( ?: B% q% l, S0 W
                        }
  ?0 M6 {$ o( b# l9 `0 j                       
) H* a+ a- ]( |1 O+ j" g#if __VER >= 15 // __BS_CHANGING_ENVIR7 @# f8 B/ ~9 X9 J! [2 k3 ^6 ]
                        if( g_pPlayer )7 y3 l6 ?+ E' o# \$ |; |
                                HookUpdateLight( pLight ); 6 Z# o8 U+ d$ J/ @0 h
#endif5 f7 B, V6 b3 e  o. Q# ^4 s: I& O
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( r, ^1 b3 x" r( ^) _; i- O' P5 o, _# l  s. e
#ifdef __YENV
: O" U+ M5 W4 U. v5 S5 y                        pLight->Diffuse.r  *= 1.1f;. e0 `# U1 A; Q9 C+ J
                        pLight->Diffuse.g  *= 1.1f;
) y1 }8 V3 J& G8 r9 X1 s) F                        pLight->Diffuse.b  *= 1.1f;! u' I) N* v* w) Y4 u! j
                        // oˉè* ??à?
- r& V5 i" }: I. d: y                        pLight->Specular.r = 2.0f;, J$ u. {1 Z, b0 Q, F. a8 H
                        pLight->Specular.g = 2.0f;
8 L9 P7 F% o( N+ i                        pLight->Specular.b = 2.0f;
2 G) i! b$ s! j3 v+ D                        // á?oˉ 6 Y" p6 r% X7 y4 _/ P5 r" Y" @! e
                        pLight->Ambient.r  *= 1.0f;; o( ~# _( v' x, y6 D$ ~8 y* _
                        pLight->Ambient.g  *= 1.0f;
  I/ h  J4 x' c& t8 }) @( M7 o7 o                        pLight->Ambient.b  *= 1.0f;
3 ~8 O& o$ Z! F#else //__YENV
! B& h" n) n3 @& e- s                        pLight->Diffuse.r  *= 1.1f;: s$ L0 Y7 n" I/ ~6 u5 h
                        pLight->Diffuse.g  *= 1.1f;+ C4 B3 O- Q: n1 @
                        pLight->Diffuse.b  *= 1.1f;1 w: g4 ]  F# h4 N4 Y. s; C7 t
                        // oˉè* ??à? , t. I; q! ?. o4 u( i+ a
                        pLight->Specular.r = 2.0f;
% a+ O; K3 m: ^                        pLight->Specular.g = 2.0f;
/ Z& @! w# g/ L3 ?/ W                        pLight->Specular.b = 2.0f;8 k2 P9 j# D5 G. _4 \: e# h4 W
                        // á?oˉ ; M' _, t, @* I* F/ I1 x6 C
                        pLight->Ambient.r  *= 0.9f;  W0 @- z3 C, G/ D* J# v7 k
                        pLight->Ambient.g  *= 0.9f;( k9 q- S) h4 c. N9 z% n+ \
                        pLight->Ambient.b  *= 0.9f;" D+ O% A& V% O( }/ e+ G+ o/ |
#endif //__YENV 1 G# h  `6 d5 `7 x7 N! s
                       
! q( O5 X" B5 @: |) W                        memcpy( &m_light, pLight, sizeof( m_light ) );' e" G/ ?. O5 c0 T% m5 p* g
                       
, i; q' }8 T+ q' U9 g7 Y6 S                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
9 f3 t& R  M2 |                        D3DXMATRIX  matTemp;
" }$ m) ~9 B/ l' ]                        static const float CONS_VAL = 3.1415926f / 180.f;7 ]2 u* p3 J  w+ I
/ `& g* A' j. B$ L% |7 C, T% U6 L$ ]
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
) E) k* Y$ J: I! `2 x$ `                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);/ s' v5 y/ o, s% k. y0 M
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); - u4 Y! \$ M) Y% d" z( c$ U
                        pLight->Appear( m_pd3dDevice, TRUE );
0 x4 D/ t  R+ v6 z6 [. }2 n0 C$ w: A% I2 P6 D* w! _
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);( y2 a  L  T3 H7 z; O+ Z
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));  R0 X" o2 m- f5 q" ]" {6 e2 Z7 V% I
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
2 V( Y% Y  M  e7 U  W4 t8 k
" F4 P0 o+ B3 b                        DWORD dwR, dwG, dwB;
3 c7 k7 f) s1 g                        dwR = (DWORD)( pLight->Ambient.r * 255 );
5 z  u9 [) r$ J$ f                        dwG = (DWORD)( pLight->Ambient.g * 255 );. E3 U* P% z- ?- v1 X6 g( C
                        dwB = (DWORD)( pLight->Ambient.b * 255 );* J  t% G% `  a  x. M# @: D
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                       
1 i: O9 f1 p( X7 U0 J) W1 V& w                }* @; \; }8 ]2 U2 L% o( s
        }
% c. ?$ h$ h5 [; E0 o! L7 o
& Z' H; k- I" c! ]) j        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
; Y8 U* k& H0 g! v        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) );
; v$ _) ?+ n+ t; [        ::SetLight( bLight );
: V! v( H2 p' E# h0 }+ D3 @! M) L5 @( {$ `
        // ±ao? ?D?í???ó á¤à?
8 @* c! Q7 Z# E        m_pd3dDevice->SetMaterial( &m_baseMaterial );
! V+ ]; B' H+ C: @$ q0 |5 B$ n       
& W! J, B7 }" J#endif // not WORLDSERVER0 O1 [2 _. ?1 d0 g% a2 d
}
) J2 b3 y- J; D" J% V6 _, {并更换
  Q: t3 X9 s8 `2 f8 hCode:
' x  ?! j6 j" ^! I/ |( V__FLYFF_INITPAGE_EXT
" h3 K3 {! z" z/ k! T定义
* L) Z. ^0 z4 ^+ P
- c3 q$ W  g; m2 O$ X) g% h5 q7 ~3 Q! R+ o

  M; Z0 A+ U5 m- n. ?$ B  H  l  q
) k( n: n, u3 x  |$ f, s现在终于删除我的狗屁加速...( A$ B$ g2 \( T" S' ]; l- x
$ \) B3 q% v4 w
  k" M) i7 s2 l4 ]. d" D0 _

4 E( {- Q2 n. `9 u3 E




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