飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:4 F& O$ |& W/ {: n2 C. E
尾翼:
$ M+ b: H% |* v2 t5 N: C; \/ \( b
代码:
$ _/ S, c) k( n$ e, ^1 g. DCWndAutoFood::CWndAutoFood()
; z* z- `: N6 U) r2 m5 A+ ~0 r; o{. W5 \: c2 f/ y
        m_pItemElem = NULL;5 l# @0 G% E- F: |
        m_pTexture = NULL;8 z# J: J6 o! E8 z9 D" q
        bStart = FALSE;
2 h# i5 k- `4 S! F6 U- z}/ F7 O! F" y% n, t

6 n7 i" b6 F& o# I, ]1 g( hCWndAutoFood::~CWndAutoFood()
" {/ F, h" g: Z( P/ {{  q8 W9 i$ q/ c. d  u4 I- F3 v8 `
        AfxMessageBox( "AutoFood ist gestorben " );
: q8 H8 D4 d1 I) _}. q) T  t- A9 c, K) t2 X
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )# ?, B9 X% P- D8 M
{0 p/ ?% s, h& K. t
        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
5 i- _- i/ [9 A}
( S. Z) N- s8 i2 S4 f; ^4 c( `2 E
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )) O0 f8 P& Z9 f* c, k
{
; _" s4 e' U  _! x        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );: E9 ^8 l( P0 s
        CRect rect = pWndCtrl->rect;0 h8 G4 M- j" t
        if( rect && rect.PtInRect( point ) )9 l& O0 o- [- U# G
        {7 K4 h* ], i0 P8 N3 w$ w
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
+ }; f) O5 G1 f2 V1 t+ T                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )* a& X) }5 @" u  w7 c& r
                {& q# {- q/ y3 V
                        if( m_pItemElem )
: w6 O9 g" Y+ `: R7 p                        {
0 L( n1 N- |2 w  V5 k                                m_pItemElem = NULL;; z2 A8 w) Z) Z
                        }
2 t5 M* F! M8 T! [: m9 {                        m_pItemElem = pItemElem;
. m- f$ r" s+ y" X                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );2 d0 T7 Q* h- |! u. y3 r
                }else{6 Y* S+ {. i  D1 E5 H$ z
                        SetForbid( TRUE );) g* b+ `% n' z. w% x
                }
+ ]; }) F) Z* y# {) h3 L        }else{! k2 f9 n5 ^5 ]6 c5 |( n
                SetForbid( TRUE );7 F# e% x- @% `/ N) B
        }
9 U% T  R& `* s& I. o- r+ ]        return TRUE;+ G0 Y& U8 ]" c3 s
}
$ ?8 X5 W) y1 b* m7 C* X/ z
, h- Z' B# A) b3 K! f* R( J3 F& {8 Q  u3 cBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ): M8 n5 h7 n, F; ]$ S
{
& a4 z+ n$ n+ A; I7 |" L9 O$ k: v+ w0 {        switch( nID )) ^4 u: `: z4 z8 w8 o  C, s
        {8 v7 o8 R' {. X: M! \
        case WIDC_BUTTON3:
0 o$ O" W5 }8 {* {1 x                {
2 S& z( S- r8 T8 H+ Y                        bStart = TRUE;
! _4 ?- Q, B% f  D. a                        break;
0 j) n; K: H; v/ t& N8 J( R4 E                }+ e( D# c* ~6 Y
        case WIDC_BUTTON4:
7 g) H5 ^' |: n; Q; ?3 @                {, p# n5 @3 d) r7 |+ K2 G
                        bStart = FALSE;, e1 g8 j, C1 f) `
                        break;( k) S  n9 R9 R% B3 ~; m
                }2 G" o+ F+ D" I, h" d& P
        }: n% F$ k/ f( g+ ^- }8 S/ c
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
3 R- z' x. y! f% D- c' ?- q}       
, r2 L% e; e' ?5 jvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
8 Q! [3 r' g  \5 Z{
) r" }. n2 a3 n- @% r1 F        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
# }" E3 P- i4 r, M) v7 w        if( bStart || !m_pItemElem ): P  j) E4 p0 W
        {- ~" Z# ?) q- B, r. _
                pBtn->EnableWindow( FALSE );
/ A. J! z9 D' U1 M4 @. h        }else+ M2 e, h6 R/ F7 ]5 K
                pBtn->EnableWindow( TRUE );
2 y  H7 B2 Z: V1 B/ D2 y        if( m_pTexture ). h  ~8 e6 R, c: \
        {$ L% h5 z0 _2 ^; A' l4 c
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );; e  M6 T/ T5 y% G
                if( wndCtrl && wndCtrl->rect ): h! X, }5 K: f: P0 }# O* [" v
                {
% e, A/ b% Z+ d. |+ |                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );+ M8 o; H- z+ c
                }
' E; M" d5 O, {! @( l2 E: H. s9 t4 `        }3 \* L8 d, _) O( W' v. E' U. a
}
; H- j" a; O3 q* t( H2 b/ R5 i2 u
BOOL CWndAutoFood:rocess()6 D! `1 c" ~, ?% j) I
{
( R9 T0 L" P+ e" L+ c4 D, ?8 I  p        if( bStart )! {. [: W+ H. f$ ~* _% r- h
        {1 x: ?' x) `8 f8 t5 r
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )" f  w" g7 q5 @0 l: p$ k
                {
& I% C4 C" s5 |! L! v: n& T                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )$ l; n% q* N5 O" [1 m
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
$ [7 l5 D! b3 N& F2 I' e! i                }else{
8 g: g1 s1 q( s6 S5 C+ h  U                        bStart = FALSE;
9 l5 q/ b3 p4 k: J' F' f/ C                        m_pItemElem = NULL;
% M1 i. r7 t: j                }( F, {3 r! b9 N) t* c+ e, m
        }! i0 |" `9 x- Z" ?* a$ G% P
        return TRUE;5 \  ?2 t' Q+ x& x' H
}% S2 [. f6 H  k
+ S7 V4 e2 ?8 K% h
登录视频废话:, @7 O  \7 ?. P' h% b
尾翼:
2 _! q( F" X9 ^0 F. l; X. n+ b. G+ s4 Y0 H$ e2 J- C
代码:
* S& w" |7 L8 t. s9 s# D( f8 z1 X' Y7 ?5 N7 V1 N% r
void CWorld::SetLight( BOOL bLight )
; g: f3 c! |' f; g4 Gdurch
" n7 e7 v6 U8 `3 V' E9 pCode:
0 x! e8 F, m2 X8 d4 dvoid CWorld::SetLight( BOOL bLight )" D, {9 e. F- i# e' |# F8 Y0 w
{3 b# p- l* d6 }5 l' p, ~; z
        //ACE("SetLight %d \n", bLight);
" H% N* L' ^. H. a" k& n        $ q  F# ~: ~  Y8 K" m- A
#ifndef  __WORLDSERVER
3 m/ k; X+ Q+ s6 ~9 t, A3 N, @8 O        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);8 a( d. B8 _, }% T9 B
        CLight* pLight = NULL;
6 \8 }! T5 u  t) N7 m$ U" N- \  ^6 _" r, d0 h: j
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );# K" l" g# d: _5 V# X2 x1 k! G

6 Q! O, d# {6 g- s: y        pLight = GetLight( "direction" );% C( T. w: ]( F7 S2 c. A; |  |1 l' F
& a: \( m  m) k# m7 b7 }6 j$ ^" C
#if __VER >= 15 // __BS_CHANGING_ENVIR8 v  q# I7 [! C* _  w, k# v2 G! n
        if( g_pPlayer ){% T9 j% ^+ C; Q0 D
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
4 W6 [7 Q0 G9 ^2 }# A                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
* ~; K9 V+ Z% M; T6 w2 z                {
# J& y* }7 a8 r                        if( pLight )0 ?/ q: u8 I& O: D# ^
                        {
3 y" D" e9 V/ E6 c* j+ ]                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
7 |9 ^' z' m  y; T8 k                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];/ N- \. R2 r) y
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
  F# W! ~: x6 H- [4 B2 b" ?1 W" I! y  x1 q- n. |# _8 K, \$ F, X
                                pLight->Specular.r = 2.0f;
; l. }5 `3 f& o5 |6 [3 }, G" m! a0 N                                pLight->Specular.g = 2.0f;
5 m' {9 k" f* j$ P                                pLight->Specular.b = 2.0f;, ^0 j& p+ T( w. p
        % g- r, F7 q  U" o7 D8 }
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];# B1 g8 C- t0 _
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
$ j1 q: Q8 l! \) r  v                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
* ?1 }* k5 _, N6 ^% _* L3 T2 H% J9 I        / J- @+ L& k$ V4 ~: U3 H
                                HookUpdateLight( pLight );
6 Z( c; x7 M% E1 u# y8 w6 k* n8 ~) k  x- E2 S# K- L; m# F
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );5 |4 B, z8 R& J! q
                9 _- d6 u" i( X  D3 }- p) Z. k
                                pLight->Diffuse.r *= 1.2f;0 g1 z* M) y, ?- m2 l6 G8 w( P
                                pLight->Diffuse.g *= 1.2f;" U+ h/ K8 w+ K( `6 k
                                pLight->Diffuse.b *= 1.2f;7 B$ q5 [* c, L: e

. y% s) h. @6 u: f) g# a$ [                                pLight->Ambient.r *= 0.8f;
- T" N* p5 Z+ g6 l3 |                                pLight->Ambient.g *= 0.8f;$ R$ {; ^! }, `  e/ K' X/ d
                                pLight->Ambient.b *= 0.8f;
; I  I* k# u3 t  q) P       
; ?( [, Z+ v, j9 s& V                                memcpy( &m_light, pLight, sizeof( m_light ) );5 |4 n3 I" X$ F9 i5 G9 ~
( B: Y) P, o! U( i9 w
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);7 i6 q! o. z* B( A# y% X+ M
                                D3DXVec3Normalize(&(vecSun),&(vecSun));
$ U( n) v! ^: }                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ) n1 y, \0 s. {+ N) y! I& ~
                                pLight->Appear( m_pd3dDevice, TRUE );
: [0 i+ T1 D$ Q0 |, j                ' }+ z! y4 L# P5 [! b% `7 T
                                DWORD dwR, dwG, dwB;! c7 [, ~  F" W) \5 k2 [
                                dwR = (DWORD)( pLight->Ambient.r * 255 );
* D, Y5 A9 C& y8 O                                dwG = (DWORD)( pLight->Ambient.g * 255 );4 U8 ^1 P3 k2 E6 u, v9 B4 m3 ^1 f  N
                                dwB = (DWORD)( pLight->Ambient.b * 255 );/ \3 o. C& K: t! U8 B) Y9 l7 m
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );9 c' c, k( W& D& k6 u
                        }, t6 e' p) n% s7 W: r5 W1 B* S
                }+ k7 ]0 h! w( p; Y0 X8 {
        }
5 q( b8 `! K3 @5 O( f, ^        else1 c0 j. h7 x# g! W; \( z8 T2 M7 l
#endif
9 Z+ M. h# U8 ?1 |- I- I/ ~4 v7 k! s& J( D' y( r  P; z
        if( m_bIsIndoor )
( H8 Y$ ?; F. [# L  o        {7 g3 t% |; O; \/ S- J3 H+ a& w
                if( pLight )
3 F3 d1 K6 L3 {) V: I% z: Y                {               
% j% p% K8 V8 T3 ^% r$ Q4 j                        // à??μ oˉè* / n) f7 u3 {, F! T- |, y
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;7 e) `+ M% B; K
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
$ m% z' v3 q' s1 e: E( N- G% g, c                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
! Q, ^+ U1 i6 L/ P' T1 z/ M  \) S1 v/ B) Z' y+ P
                        // oˉè* ??à? + D/ T5 g6 V3 i0 ~5 C2 W
                        pLight->Specular.r = 1.0f;+ n& I2 W  C3 ?" L6 n
                        pLight->Specular.g = 1.0f;
5 A0 L+ J& |& j                        pLight->Specular.b = 1.0f;
! f- x8 G4 t/ e                        // àü?? oˉè* 2 u: z& e5 {. K; C
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
3 D7 S8 p& g8 n& J                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
# H* a  z8 ?* w                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
( {! I0 N4 h! n+ g
) A9 [$ [8 ~% Q+ O( [3 j. `4 t8 }                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.1 }3 @9 a) E/ ~
                        {
5 G* w9 i( E# F# e                                pLight->Diffuse.r *= 0.6f;
7 F, G. H. e& @# U" ]# L                                pLight->Diffuse.g *= 0.6f;5 b/ _7 \/ e, E) b- b0 `
                                pLight->Diffuse.b *= 0.6f;9 P* a, B2 }( i* u9 A
                                pLight->Ambient.r *= 0.7f;
$ o! K0 B# j7 v+ ]1 Q                                pLight->Ambient.g *= 0.7f;
3 ?# `; j; K0 H7 Q  w                                pLight->Ambient.b *= 0.7f;
. b8 p, o& Q7 @8 H" `                        }
& @: e6 s6 l, [) @. n/ Z% _/ m/ I% {& \+ f9 @
#if __VER >= 15 // __BS_CHANGING_ENVIR
  o; h& ~/ k  h4 e/ e                        if( g_pPlayer )
8 R2 ~& B+ j  O+ k- A+ D                                HookUpdateLight( pLight );  `9 k( N- M: ?# L+ l, y
#endif
  C, R/ ~9 w5 u9 \2 t. a                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
3 F" b0 c( M1 a: l: V8 h0 q6 p  R
) O5 _) D( I0 c# m% m& Q/ c( X                        pLight->Diffuse.r  += 0.1f;; K5 D' R* i! u' n+ |: _$ b& L& J
                        pLight->Diffuse.g  += 0.1f;8 h0 s; c0 |( d/ D
                        pLight->Diffuse.b  += 0.1f;& }$ |6 }; A9 M& F. F: ^( ?6 ?
                        // oˉè* ??à? % W  H! N% e- r" Y* t
                        pLight->Specular.r = 2.0f;' q) n; k7 F5 o0 w  b9 J7 P+ r
                        pLight->Specular.g = 2.0f;
5 A1 E+ s# ], T6 _# S6 h                        pLight->Specular.b = 2.0f;
7 Q3 i0 G. X, I2 |/ C                        // á?oˉ 5 [7 H4 j. G1 ^4 R
                        pLight->Ambient.r  *= 0.9f;! [3 M2 x9 {! G5 ]' X8 Z$ u
                        pLight->Ambient.g  *= 0.9f;& H/ w; k" z; h5 ?2 H; x3 k9 F  Z
                        pLight->Ambient.b  *= 0.9f;/ g. u! F( |- p' `' ^) P

; F0 w9 l3 N4 u% V% L: |0 i                        memcpy( &m_light, pLight, sizeof( m_light ) );
" d# X% D" R8 j( W0 k! V( J                       
$ e/ w, P$ h# k9 F5 f2 C                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );9 v" R' G' O3 y
                        pLight->Appear( m_pd3dDevice, TRUE );! T. e) F* C/ P  R" n
       
: K. L, ?$ V# ]. H/ m3 D$ s- O$ z2 @                        DWORD dwR, dwG, dwB;
+ C- R0 ]* l* @" Y                        dwR = (DWORD)( pLight->Ambient.r * 255 );: A2 {* B  K+ Q, p" L5 D% }0 `, z+ |
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
: w! y+ ~! u. J7 e                        dwB = (DWORD)( pLight->Ambient.b * 255 );+ F) I3 Q0 t& K+ u9 q
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% D0 `" t% K8 a( f/ H2 }                }/ q# a5 b3 ]$ W3 E7 O4 ^
        }
0 E% N. U' W$ ?" ]' [0 t        else
3 d8 ^4 X6 c' `- s4 p  |5 H8 @        {
0 N, ^; F4 C1 }2 \! _; c                if( pLight )0 _$ }# D1 |  l; c$ D( h" H0 s
                {. G. q4 P/ Q9 b/ y+ J
               
. ]  D2 Y1 a" `( Z0 w+ o, b                        int nHour = 8, nMin = 0;& K5 T% B4 O- |  c$ @, j! X) u
        #ifdef __CLIENT
  X% Z* a2 a; U6 j2 E                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 6 b) w# p  e2 a# e
                        nHour = g_GameTimer.m_nHour;
, b( s. q. f, ^0 t. J  f* m                        nMin  = g_GameTimer.m_nMin ;
$ I: q0 O* t" C+ f# J        #else- k4 z& d4 y' u2 k6 Z4 y
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
4 C1 v; g- N0 d1 E3 a1 @, n                        if( m_nLightType == 1 )9 f: ]# `/ N1 |* p* o3 Z
                                nHour = m_nLightHour;
( b/ }, z( |2 R: ?7 c- B        #endif
6 \1 j5 j. T0 T) v+ @* H                        nHour--;
. Z9 p/ D- j; z( p/ f3 {                        if( nHour < 0 ) nHour = 0;
) x8 S7 r6 B" u; {* f, ]" @                        if( nHour > 23 ) nHour = 23;
7 w/ i; |8 u, F# t4 r2 L0 ?. x7 r( a3 Q. B. w# D! V
                        //if( m_bFixedHour )5 K; m# t5 _+ R
                        //        nHour = m_nFixedHour, nMin = 0;
+ J" H6 T- u% }( _% V2 S                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];% i9 G% H3 Y" A. J6 M1 ?3 d8 P
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];' ^! L0 Q$ d$ B" {

' }, U( Y. I. P& j# I+ ~' g3 i                        //m_lightColor = lightColorPrv;0 @; K( `7 `; o# E3 i
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
6 W8 _3 M3 W6 t5 g/ t! e                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;7 C, z* k7 b- a1 {9 V% V& j
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;% O- K2 V: k, p
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
4 {4 R3 {- z* c& [3 R                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;, r. R! U) c- ]* E/ t
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;; X+ K# P3 g0 D" Z, P. Z' s; |
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)5 q6 \$ i2 M6 [  c5 ?
$ U2 e/ e( A$ I' j
                        // à??μ oˉè* ! f2 T* u( k) ?2 T1 h& y
                        pLight->Diffuse.r  = lightColorPrv.r1;5 |. J- {  n' s4 _; n0 l& D
                        pLight->Diffuse.g  = lightColorPrv.g1;
8 T) p. y  \6 O  c                        pLight->Diffuse.b  = lightColorPrv.b1;
7 {% [  s8 c& P) y                        // oˉè* ??à? 7 {8 g; a( X6 f, z+ T! e
                        pLight->Specular.r = 1.0f;/ x# x# t) A$ S' ]7 y4 u
                        pLight->Specular.g = 1.0f;
* ]; B3 U0 u/ v                        pLight->Specular.b = 1.0f;$ y4 x( e$ w* }# g, V+ e& F/ B" A
                        // àü?? oˉè* $ l% _1 U. m4 A4 |& ]
                        pLight->Ambient.r  = lightColorPrv.r2;
$ o2 u) Z5 ~% U' n                        pLight->Ambient.g  = lightColorPrv.g2;, d8 f- A( [$ T( F) H- n
                        pLight->Ambient.b  = lightColorPrv.b2;
8 p3 M/ m/ Y6 n6 r, z6 Y* E8 S4 B7 D9 g+ r
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
8 p# c$ t8 \4 J2 b                        {3 P. B0 D8 c* X7 d5 {2 e* o
                                pLight->Diffuse.r *= 0.6f;' f/ P; G+ I6 e1 [
                                pLight->Diffuse.g *= 0.6f;
6 o1 d! k- h: R; ^2 s0 w                                pLight->Diffuse.b *= 0.6f;$ a; X# V# D  m! ^
                                pLight->Ambient.r *= 0.7f;
* E" ^) {2 |/ z& D# B+ }4 x9 c- _                                pLight->Ambient.g *= 0.7f;/ G  p, I+ j& s) T4 X& i
                                pLight->Ambient.b *= 0.7f;
: c% V7 o6 V# g. l! T$ S                        }
- C/ Y* q% r, w; R# [- P                        + \$ ]- {8 t, `5 d5 M4 f
#if __VER >= 15 // __BS_CHANGING_ENVIR
1 C7 e9 ~2 P7 j. H                        if( g_pPlayer )% }3 s  x' b, G/ a' j- z
                                HookUpdateLight( pLight ); , P! R4 g/ M/ ~! R4 `0 j$ n9 [
#endif% N5 g  W1 f1 P
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ c) ]; G' Y5 n) T& ]! y' E2 Z
1 Y/ j, j& d  [* Y#ifdef __YENV8 _7 b. {1 |3 O# y$ z1 _
                        pLight->Diffuse.r  *= 1.1f;
# g% Y$ L- E( K* Z# N; S5 ]3 {                        pLight->Diffuse.g  *= 1.1f;
: e3 R! M. E: E& Q/ ]$ L                        pLight->Diffuse.b  *= 1.1f;
; M1 d, C7 R# z3 `) K) U                        // oˉè* ??à? 6 i: Y- X. d* u0 Z/ C4 I
                        pLight->Specular.r = 2.0f;+ c& _8 d. Z/ T7 F
                        pLight->Specular.g = 2.0f;
& O7 B7 W! v5 ?/ N4 y) j" j                        pLight->Specular.b = 2.0f;
! B. x' m6 i4 G, M# t+ g) ]" P' d$ ^) b                        // á?oˉ
/ k/ N: z2 }- @  `# a5 L$ w                        pLight->Ambient.r  *= 1.0f;/ u- ^0 I, [. z$ e) \4 ~/ W3 u
                        pLight->Ambient.g  *= 1.0f;7 q- x( F% \6 s9 M' j; k
                        pLight->Ambient.b  *= 1.0f;4 |: _0 \5 h! l; D+ f+ ?
#else //__YENV5 e1 S4 S0 d  \1 |
                        pLight->Diffuse.r  *= 1.1f;
; Q1 T! i1 a4 R4 g: Y* Z4 o                        pLight->Diffuse.g  *= 1.1f;
. o7 f, M; ^: I' `# v1 J" O, @                        pLight->Diffuse.b  *= 1.1f;
+ v$ w& e+ h1 y" n                        // oˉè* ??à?
( L% [  Q- W3 h3 ?" x& I8 R                        pLight->Specular.r = 2.0f;
$ B( T3 E% s9 q2 f" i+ ^5 V                        pLight->Specular.g = 2.0f;& |! l, C; `- x8 ]* \4 N
                        pLight->Specular.b = 2.0f;
8 v% h- }% G2 l+ V) L1 k: `                        // á?oˉ * x& G5 u" ?' Z, r8 x8 U; }
                        pLight->Ambient.r  *= 0.9f;
1 I6 C" P  D4 k7 x* W. W0 d                        pLight->Ambient.g  *= 0.9f;5 ?7 r5 {: {2 J; ^6 l* R1 w( Z
                        pLight->Ambient.b  *= 0.9f;- A$ u9 h  z  ^1 c( X
#endif //__YENV 7 c% v& K% W2 W( @  S4 L# s. ]. C
                        4 x4 `+ R; N! h, J( T
                        memcpy( &m_light, pLight, sizeof( m_light ) );
2 V' l+ w! i- Q  n                        ' X! J# f+ o$ _: q
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
( g, M& u& A$ j4 Z0 Q  [8 F. y2 W: |                        D3DXMATRIX  matTemp;
9 {6 W- Q% }1 C% T  G9 B! x                        static const float CONS_VAL = 3.1415926f / 180.f;/ c1 G4 B/ i- n/ {! o3 m

: F. G8 t* P8 h1 m. ~* R                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);; O& ^3 C$ h6 G4 Q3 \
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
1 S* o8 W  c2 ]/ y$ J7 p+ H                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
+ {# L8 G( ~" D8 ^, a# R                        pLight->Appear( m_pd3dDevice, TRUE );
; _5 w2 V1 F6 B4 l9 [! ?2 w  k* i
, u! V$ X, M) ?, o/ T% i; b# l: V                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- u2 I! f; t# r$ Z
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
, M1 F: P, K, m5 D                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 0 b; ]0 @% M) _, ]& l

) K. c" s) d7 F' E, g( j                        DWORD dwR, dwG, dwB;8 W4 G+ D1 t2 x) ~' E* z- G
                        dwR = (DWORD)( pLight->Ambient.r * 255 );; y& p! T* E, Q* \; n% x
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
/ g5 q0 R( {% j3 v& `9 X0 I                        dwB = (DWORD)( pLight->Ambient.b * 255 );
' i; |7 v, j) Y) X$ _                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        4 T' e- D1 s, F5 o& p: o8 y
                }/ y* Q7 R1 z( ?- C& F' Z9 V
        }) l& ^4 h+ t( R: C5 R  ~& \: j. |

# S- l! ^: ?" C: \- L2 D$ `. u        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );, B0 u8 p! G+ `( x# j" E
        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) );2 K" ]' m9 ?$ W' z# F' Y/ w9 e
        ::SetLight( bLight );% {9 f% Y0 ]6 }1 |
! ]3 `# r; n: N. K+ U0 y8 @
        // ±ao? ?D?í???ó á¤à? + Q: ?* i0 L  }' j# r3 o9 o! e
        m_pd3dDevice->SetMaterial( &m_baseMaterial );
, [* I+ |2 n  t8 }8 y       
& ^4 r! }( m; {. i/ v  z#endif // not WORLDSERVER9 {7 y4 a/ @/ L1 R; C6 o
}
$ [' q' K7 V( F% @4 ]并更换
1 \- b1 S0 g8 |& q1 O( A$ kCode:' x; k5 u. i( ?9 w5 f
__FLYFF_INITPAGE_EXT( m  G# \# ~9 ^" ]/ H- E
定义0 J( O9 \- _6 a
- N  y' k6 M" O& Q8 n6 I$ w
- D# f' y/ V/ E0 J# _( i# u# s5 N
5 C! Z( B- ^( |1 i+ Z* f

8 X% W/ @; X. O' K现在终于删除我的狗屁加速...7 o! P: T4 a; ]2 c' I) p8 S

2 q! h1 p( f) a# X5 O8 q- W' I4 J
( V; b9 `" E) {% ~





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