飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:
( p& @; V+ a9 g! W尾翼:9 p$ V( p0 q5 p* w- l2 u8 \

) }" N7 s& q# c1 O( L# _代码:: h9 I& n+ g+ J! h) P3 f) G
CWndAutoFood::CWndAutoFood()8 g7 |! c2 Y0 E3 G  a! `9 [
{- R3 c  L! N) l/ m8 I% p5 P5 V  B
        m_pItemElem = NULL;
* K% X; z8 A" b* n; m' o        m_pTexture = NULL;
7 k4 Q! _) B0 n/ n8 R; U7 E        bStart = FALSE;
3 F- ^$ ]2 n0 S, L+ ]; ?}. T) j* R0 d* x" e
1 r/ X6 L7 H* R) M% s
CWndAutoFood::~CWndAutoFood()
. E6 S% ~, D3 d: z3 c% B{, ~6 z* ~$ f5 Q2 [8 q
        AfxMessageBox( "AutoFood ist gestorben " );9 @  n& f& A& R4 U+ _! k$ [
}: B. Z& h$ Z) i7 h6 T; }$ S- {
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )( w$ N) L  e: g! E
{3 f. i; O. }' J# |
        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
& S6 F$ N7 c* P. a. ]# F}
! D* Q& W( ~5 O2 ~' h) _
! e. X! e# [- z2 O! o7 j% c) r; RBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
5 T, p$ y: Y8 Z{
+ @6 k2 }$ w2 Z% {        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );6 q( J/ [6 I5 x" g! O. {& g' r9 a
        CRect rect = pWndCtrl->rect;; J" n$ D0 w& E' A8 F
        if( rect && rect.PtInRect( point ) )
; _: [3 Y' R  k" G" |$ I        {1 O6 _3 o# I. |6 @. @
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
& B+ Z& X4 S  v5 Z# A" @                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
! ~  {: @0 w& |5 H7 K: C                {' z) X" [# i: J- ~: a6 M% W0 Q( D5 ~
                        if( m_pItemElem )& Y# w/ ^: G3 T
                        {- I6 c' n* S, {
                                m_pItemElem = NULL;7 x8 r" m$ b6 g) ]* |- m' g5 M
                        }
' R6 T- B% s. a2 s4 W& Q) \                        m_pItemElem = pItemElem;; I7 f2 I) H: z, J
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );. V& h. A. u  \- @. z- I
                }else{
5 D# e6 G, F1 f% [( g                        SetForbid( TRUE );! l4 [; a- e% M4 q
                }4 H' q0 I) u2 i. w
        }else{+ G, h" O7 \5 X, t4 d; G/ P' U- n* y# ]
                SetForbid( TRUE );
0 r7 v. M# r0 M. f0 }6 a! n        }6 ^. i8 O0 ]8 ]' x8 y( _, T: g0 R
        return TRUE;( f3 E3 j8 j7 T
}
# L+ A7 z# x! b* O( H
, y% ?5 B; A0 L- zBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )/ y% Q7 V0 {6 Y5 Y% n/ N
{
6 z) p7 a' Z$ ?4 |% N        switch( nID )
( C# e1 x: q; y        {
* _( _) [8 F; O* z6 b" _        case WIDC_BUTTON3:* L0 L; d2 W" i2 J( k' R$ Y" p2 z' b
                {" q, W4 \1 o" e. O$ S! F, P
                        bStart = TRUE;
4 ^- Z, S5 y: D+ |; B& r% j. [6 }                        break;
% k6 L7 H2 C  w                }! ^4 g' J& B5 C  ?7 e9 ?" C7 @& L( T
        case WIDC_BUTTON4:& @' `& {( C. l4 R1 D& \
                {
0 V, y' V+ h7 f3 o" d- C; ^, v                        bStart = FALSE;
: L, ?* d/ ?. l( O; `* m7 w2 `& L$ T                        break;
. Y! g! x( u3 Y0 F: D$ c                }
' a+ n& k& p( ^/ p; X        }
/ @: ^8 e8 \5 l$ G+ A, E9 a+ @        return CWndNeuz::OnChildNotify( message, nID, pLResult );8 ]/ k$ G  ]! K
}       
' j2 f5 M! y% k1 @+ Z$ i" T( evoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
9 h  H4 C5 O% I{
$ p& _: `3 x8 m- t5 _# N4 ?% c        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
6 t- z; l& ^! K        if( bStart || !m_pItemElem )
' n( k8 `! X1 x3 L! P        {* H4 `# U9 @) J- m  _7 `; U( b; l
                pBtn->EnableWindow( FALSE );0 }$ `8 G; M" d0 v  o* Z7 c
        }else
7 [' z5 `4 f  u6 p0 M) O                pBtn->EnableWindow( TRUE );5 T# ]# e& u6 I* h1 O
        if( m_pTexture )
: E  Z2 L3 F" k6 j0 r6 ~  n2 V* q        {, \4 m" {* n. p/ P
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
8 n$ e8 E9 H- `6 k1 f- \- x& {) v0 e                if( wndCtrl && wndCtrl->rect )
( x8 `: F- d1 M6 b* u9 x& {                {
5 _# S; t8 R6 G1 t6 V1 \; x$ f+ S                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
  z$ |" o/ X/ |                }
8 ?+ w( _9 M7 A) ~  A0 f        }6 E8 V8 E6 _  N2 V! b
}
4 K1 a5 U( g$ v
8 d% S2 b! l3 @& r# kBOOL CWndAutoFood:rocess()" I' a" X! l9 |9 B4 X4 S# O; w2 c
{
# f( v5 I# Z5 S5 p        if( bStart )7 L0 n/ _0 e, g- R9 g2 k  C$ D
        {9 `/ |( K  @& U! D- z
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )& R- E# `5 R& R9 p. U: e/ e
                {
# }' l) b3 F+ ]" P! o+ H* y                        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 M6 v8 _' Q$ P/ F# u                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );; H% P+ n& B9 c5 v
                }else{% ?0 Q9 H3 c& N" x3 X7 ?  |
                        bStart = FALSE;
$ H% S5 x% K+ P3 ^                        m_pItemElem = NULL;
, f; W' `. y" D. _6 U# I+ H                }$ A- ~4 l$ O# f* u5 a: Y  A% r) ^
        }. L/ @3 r/ A5 j$ m5 [1 `9 R& O
        return TRUE;3 V- _- C4 b$ Q) E1 _# h/ ]  U
}( U0 C3 d& c9 P

1 J1 R6 c, w2 s$ _  r, A登录视频废话:
& I& ~) u5 ?" J: J# i尾翼:
5 V9 ^( i4 t! ^5 d( I* S
1 `, b6 z+ i7 B  Z0 `代码:2 L( M8 k8 f" C0 n& V' Q. {0 Q

8 }, E" w7 [9 j  }1 z9 [* fvoid CWorld::SetLight( BOOL bLight )
3 x* ?- a0 [6 W) L* qdurch* G2 P/ O- {& `. M" x5 X
Code:- {: D( {8 g; v1 u! w# b/ Q
void CWorld::SetLight( BOOL bLight )
3 [" O9 d- h4 c" F. ]8 @{
3 K, d" e( _8 t9 _# w        //ACE("SetLight %d \n", bLight);/ u: X& D% Y" O7 |. P/ ?; f" p
       
) _5 r  }$ h0 [- X! t2 F9 x* ^#ifndef  __WORLDSERVER
! {) t% a( {. Y) N, [        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);4 ]1 f5 s  T* ~. h, `
        CLight* pLight = NULL;3 Q4 r# x) F& x4 ^
8 o! H( Y0 n1 ?8 ?
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );6 ?+ M3 n) u8 y: R3 L5 v

3 }% E0 l% q6 N2 D+ ^$ }/ u        pLight = GetLight( "direction" );3 O+ ^( L# H6 P# x

5 {# w  k4 D9 @, N& I5 V& ^( e#if __VER >= 15 // __BS_CHANGING_ENVIR
- P# S/ h$ _0 A: {6 H% i: I        if( g_pPlayer ){
" l+ L9 [' V& m6 j3 ]# f3 d9 }                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );; R$ Z0 E% J, h# c
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!5 V) e- g0 k) q' o5 K
                {
' Y; M8 R6 F6 `5 Q+ d1 ^                        if( pLight )
  \: W. p& ]1 \& q6 F* Z                        {% @& ]7 ^. p7 v; {- S7 T; I
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
; T! O% f: x. j! H5 L                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
* @0 m4 }/ M. n7 u+ z- a                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
: X1 ]6 X1 S& _! i) |: @
9 i) P; X' T8 O/ n                                pLight->Specular.r = 2.0f;# [. Z+ `; w8 m
                                pLight->Specular.g = 2.0f;
0 u7 }' P( X6 L$ j' D3 Z' N( h                                pLight->Specular.b = 2.0f;
. d* ~. F: e' P; z, Q       
6 {: Y3 T1 |9 m8 P" p                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];! n3 A, X' S0 t$ F3 J
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];8 Y6 @: [/ f& F% G  h" `! U- n5 S
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
1 r1 q) o- @, h# |/ w6 F          U& H5 j1 Q  ^
                                HookUpdateLight( pLight );
& z- @$ j2 j; k; Q, z& ^5 w& S5 ?  ^4 ~2 u" W
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# U; ^5 [; o* |- E) `! E               
- @4 `9 [' q, R4 J2 C                                pLight->Diffuse.r *= 1.2f;
) X: f# c! H8 v7 h( \, p& ^- |                                pLight->Diffuse.g *= 1.2f;' b) [4 f9 T" B! Z) u
                                pLight->Diffuse.b *= 1.2f;
0 ?- X* O' a3 W" b+ A
6 W6 U, ?- W# J  ?( ]. t                                pLight->Ambient.r *= 0.8f;3 F$ }* Y. K. A( Y1 t4 W0 s
                                pLight->Ambient.g *= 0.8f;
- C% }( K: t) c6 ~7 f# q; r6 D" v                                pLight->Ambient.b *= 0.8f;9 d) \2 c' L" F) Z
       
. ]% |* r. N! s: w" O8 s) L                                memcpy( &m_light, pLight, sizeof( m_light ) );
( L- Q. C+ e# M7 f+ p  w- h- Y4 ^% P3 S
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
9 ?$ a# O% P  z: X; ], i                                 D3DXVec3Normalize(&(vecSun),&(vecSun));
! z1 H+ ]6 D1 O                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
1 Y% J( A  O+ @' F! ]                                 pLight->Appear( m_pd3dDevice, TRUE );
  {/ ~9 [% P4 y8 o; ~# h               
2 q: d$ y/ F! I                                DWORD dwR, dwG, dwB;
% a5 z+ S5 |) ]) h8 k                                dwR = (DWORD)( pLight->Ambient.r * 255 );
! I$ q; ?  n$ c# d" q                                dwG = (DWORD)( pLight->Ambient.g * 255 );  V- h& S0 @" Q1 }1 }
                                dwB = (DWORD)( pLight->Ambient.b * 255 );2 F! K. ^5 F6 c4 i* G- I* [% o& ^
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );) z6 J/ ?8 T; N$ o( ~$ W! E
                        }1 Z- q! a% {" X/ o9 C
                }, y# O4 ]& Y- G8 P
        }& }+ [1 g2 {6 f
        else
5 f/ p8 o3 }6 J7 Y9 L#endif ( u4 D$ \! q2 X3 B' J, s
5 r$ A5 K0 H4 F4 |( x
        if( m_bIsIndoor )
# l5 ~) V3 v; y( k; G  X        {
) n& p. N& Y7 y! Y  |                if( pLight )" R/ v+ F1 H8 F" L% N  L5 |
                {               
  \. l# B8 ?) E- N0 @                        // à??μ oˉè* " U" J( r3 N% e# D: o
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
" v4 T# l9 ]5 a, d5 ]' Y* z" J$ h" g                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;5 N; x) k! w' f8 r4 r+ e
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;6 E2 {% p$ g6 p/ Z) ?/ V: [

, u$ s9 A; [/ n6 u2 e$ u" M                        // oˉè* ??à? $ a4 V- ?% H7 v8 y
                        pLight->Specular.r = 1.0f;
  o0 P( A+ H) g                        pLight->Specular.g = 1.0f;- A, t' V; c" k0 t( H. H6 T9 [
                        pLight->Specular.b = 1.0f;
; g5 K" z! f. Z3 A                        // àü?? oˉè* 9 H  n( E  n" _$ x" @) A
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
4 K. [! @/ q: ~                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;8 W; Q# N: }8 O( N( ?
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
# M& [: T" b8 n: T' Q" ~3 n
  o' F, S1 w/ Q! g# s9 T                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.8 o1 ^# l9 T" x- [
                        {, d  J0 U2 x- p- p
                                pLight->Diffuse.r *= 0.6f;5 I- r& W0 k9 i; p
                                pLight->Diffuse.g *= 0.6f;/ i- \' f) A; r; E6 o
                                pLight->Diffuse.b *= 0.6f;' J, E8 B% h1 P  s3 D6 w; B
                                pLight->Ambient.r *= 0.7f;# y% m6 X! Y5 X) O, }. a2 p
                                pLight->Ambient.g *= 0.7f;6 z2 G2 I% j% N' q( G
                                pLight->Ambient.b *= 0.7f;, Q, u6 w' X. b$ l! q
                        }
/ O2 D! m  L4 W6 W) }
, \% ]3 F# P" W#if __VER >= 15 // __BS_CHANGING_ENVIR+ V; {- H7 u% q" S6 ~
                        if( g_pPlayer )' U$ ?3 K$ B( _
                                HookUpdateLight( pLight );
9 ^! f$ z" w. D+ {2 L, c; o#endif
: S  W( ?1 y) Q) J& O2 V8 x# _                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
9 _" N5 K+ U0 u" l3 `2 f0 k5 i9 @% D, p- U  y
                        pLight->Diffuse.r  += 0.1f;
' n3 K8 @* h2 f& E* f) J                        pLight->Diffuse.g  += 0.1f;
: J' E9 p$ G, ?  H- ]/ \- |# a                        pLight->Diffuse.b  += 0.1f;0 j1 V* ]1 R! R+ r9 ]! m
                        // oˉè* ??à?
5 G; G2 m- f* Z2 H2 u                        pLight->Specular.r = 2.0f;/ l. f+ i! z. w# R
                        pLight->Specular.g = 2.0f;
$ Z  C# m& Z4 T8 Z9 f                        pLight->Specular.b = 2.0f;
: [4 L; d  w9 ~/ q1 u                        // á?oˉ 3 `: y9 ~/ l/ m4 B4 J3 h8 ?3 o
                        pLight->Ambient.r  *= 0.9f;
8 m3 |' V) L. ~+ V# r                        pLight->Ambient.g  *= 0.9f;
/ y& y1 D, d* h% t. D2 Q. s                        pLight->Ambient.b  *= 0.9f;) X8 l- v1 i  q! Y6 Z: w

! W& ~0 U8 v6 r) b: k% x/ s" |                        memcpy( &m_light, pLight, sizeof( m_light ) );5 s0 ]3 P7 U7 y1 k1 A
                       
" k' h4 Z6 e5 N3 g) q3 q: V" s                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
1 `/ ]! K5 ?* k                        pLight->Appear( m_pd3dDevice, TRUE );
/ _* d  \5 `1 X4 Q, J       
# m: b0 `7 p, O4 H6 Z                        DWORD dwR, dwG, dwB;1 ]0 Z( g/ z" t
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
( ~+ F! [; i5 D$ ?  W                        dwG = (DWORD)( pLight->Ambient.g * 255 );5 y$ ?: Q3 d, t6 W# V
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
0 l  b, t5 [; l2 c6 l6 m                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
+ I& k% ~1 N9 o                }
# {3 R, O* J$ [6 w$ \        }
! d  R6 q. B- U# k        else1 n/ ]. m1 o) h+ n# `4 o
        {
3 V* v+ @% r6 m6 T- i, W+ d                if( pLight )9 Z9 B; d0 S( p/ r; k* v8 ~
                {
# l9 w% y8 C3 Y$ {               
8 ^  }" y7 W% \' h! T& y5 c! S                        int nHour = 8, nMin = 0;! x6 d, `. Y  I  c6 r5 M, {
        #ifdef __CLIENT1 K3 ~: H. ?4 v" s
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
! j0 v) r, e! v, K+ l                        nHour = g_GameTimer.m_nHour;4 c3 q& G3 i  A* U" |/ b  q
                        nMin  = g_GameTimer.m_nMin ;( x8 @$ I8 d0 l# ]! _
        #else& B9 u7 o9 X. O, T
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù., N8 Z3 o/ E& X
                        if( m_nLightType == 1 )
2 ~5 V3 X/ |3 [' [                                nHour = m_nLightHour;, X  C7 p! n. j& k- H
        #endif
% Z* X0 A/ p4 h; w0 M" `0 p                        nHour--;
1 \# j& W0 Y. R9 i& ^* V3 @: I                        if( nHour < 0 ) nHour = 0;4 `$ L, d) \6 k( A0 w+ ?' b( k
                        if( nHour > 23 ) nHour = 23;/ U4 K; e) n  z% F4 q4 u' S- s" ?( k
' a6 F3 l; S4 |* r/ V# Z
                        //if( m_bFixedHour ): }4 K. h9 K6 a6 J0 J' ^0 {
                        //        nHour = m_nFixedHour, nMin = 0;
" n; a8 x. Z0 b+ K                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
: M6 y% g/ R+ O) W- q, a3 A                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];) A: B1 W* D1 F/ E
; w% [7 `  k8 g8 H$ I3 e9 B
                        //m_lightColor = lightColorPrv;5 l0 d* n$ ]( @( R
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
0 n1 t6 O- s$ ]5 T! t9 Q$ I3 {                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;5 }2 [6 t/ y; M
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;' G9 B" U0 w6 K$ s  |
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
6 G3 z( O( s+ j' I* H4 `+ A                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
/ X" G& t2 L9 ^7 \$ \4 q! i                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;* u% |6 K7 B* d& A% ]3 }6 E" @
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
# R9 j: c6 F: n2 T9 U
& h9 d. ]( K! r6 b  ~                        // à??μ oˉè*
$ ^/ Q# g, E% a" r                        pLight->Diffuse.r  = lightColorPrv.r1;
/ ^$ n' H% E/ s6 m                        pLight->Diffuse.g  = lightColorPrv.g1;
2 Q1 H+ i/ [$ I5 U: g$ m) g& Z                        pLight->Diffuse.b  = lightColorPrv.b1;! u& R3 s+ G) G0 b$ q5 a
                        // oˉè* ??à? 4 b- G2 z6 H8 b& X+ U
                        pLight->Specular.r = 1.0f;
9 z% @6 V* [8 u/ S! a                        pLight->Specular.g = 1.0f;" x. K; d+ ?# ?
                        pLight->Specular.b = 1.0f;2 P8 q! \$ e% r" m4 j6 a/ E
                        // àü?? oˉè*
; ?+ E$ c/ D7 b  A- M* Y1 |3 s  j                        pLight->Ambient.r  = lightColorPrv.r2;2 O3 W* ~: n/ `2 Z9 L3 k. S9 X
                        pLight->Ambient.g  = lightColorPrv.g2;
( q/ g! Z& Y- w/ I                        pLight->Ambient.b  = lightColorPrv.b2;
* ^' m6 t$ W6 i
/ F4 h0 A$ |( B" \$ @& J, l4 b. s                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
  W2 R# ^, y. ?# I# j                        {
( T" K$ b" Y: V9 i8 ^                                pLight->Diffuse.r *= 0.6f;. H/ C5 r( k+ w9 C
                                pLight->Diffuse.g *= 0.6f;  w  @1 C2 Y) u' I
                                pLight->Diffuse.b *= 0.6f;
8 W1 b* P0 i* `                                pLight->Ambient.r *= 0.7f;
& U7 w) o* z! e& Y8 C, N( J: a* D                                pLight->Ambient.g *= 0.7f;
8 ]$ S5 C* c& W) ?' ]/ P                                pLight->Ambient.b *= 0.7f;
3 I' S: {: N- C8 {                        }! V: x' @( O/ P1 k
                        . K5 g0 a) K6 ]: i8 K
#if __VER >= 15 // __BS_CHANGING_ENVIR0 @, ?" |" q& Z/ g
                        if( g_pPlayer )! C( [; X+ h: f
                                HookUpdateLight( pLight ); 0 D- _& _& ]" E/ Y+ {
#endif# U, r# P7 q; @. X" H
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ S' s; J6 c. G# @  b% i% x$ j0 G4 K9 U3 s& y9 a" [
#ifdef __YENV, g. v& U2 Z1 L  C, f. s
                        pLight->Diffuse.r  *= 1.1f;1 p; W5 h/ J7 j7 ]% j
                        pLight->Diffuse.g  *= 1.1f;& k3 T" U0 k; f0 l+ k0 a7 u
                        pLight->Diffuse.b  *= 1.1f;+ J+ c  G( n8 ~+ B+ O, U
                        // oˉè* ??à?
6 e2 V& S7 ~/ q0 K                        pLight->Specular.r = 2.0f;2 K3 h3 k0 ~! m6 r) g
                        pLight->Specular.g = 2.0f;
  y$ w2 ~8 ]9 V5 L+ Z3 \, v) H' h                        pLight->Specular.b = 2.0f;; H& r; b( D0 m& M9 U' J
                        // á?oˉ
- M( V) l' [6 k$ a. n, I9 o                        pLight->Ambient.r  *= 1.0f;
. m  d2 n6 `& X8 W2 E& P/ B                        pLight->Ambient.g  *= 1.0f;
; G4 X/ R2 u$ y3 {* ?                        pLight->Ambient.b  *= 1.0f;' i6 l. I" l4 V8 [
#else //__YENV
, @. V+ \0 e4 m8 C  G                        pLight->Diffuse.r  *= 1.1f;
* l8 d7 G: [( G/ m: |                        pLight->Diffuse.g  *= 1.1f;' `7 [8 i) m- S* W4 Z. c
                        pLight->Diffuse.b  *= 1.1f;9 I3 k3 e, M2 p2 Y) t, f% c# \
                        // oˉè* ??à? : h+ y! \4 g; e- e% y- o( w$ s
                        pLight->Specular.r = 2.0f;
) X: V; @. L3 n5 m: R( p* C* O4 n                        pLight->Specular.g = 2.0f;
1 x- `+ {0 @: i3 \                        pLight->Specular.b = 2.0f;
& r0 ?' u, C, Y/ o                        // á?oˉ
" E  D- N" z. _% J5 c                        pLight->Ambient.r  *= 0.9f;
) p) Y+ r" Q/ \9 p, }) E/ d                        pLight->Ambient.g  *= 0.9f;
8 `0 r* B& }3 A8 y; B' m                        pLight->Ambient.b  *= 0.9f;. T1 A+ o) F( C. F2 C! L
#endif //__YENV
! Q. ~  e, N# _2 W; T' a* }' O                        2 y3 t5 b/ o: c# R# p% R, Z
                        memcpy( &m_light, pLight, sizeof( m_light ) );
; S% g' z7 D0 }; o                       
/ `( m9 M' N; c8 @% L. n                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
; _1 b. j7 g2 N) X7 @3 L# I- v3 X                        D3DXMATRIX  matTemp;. M0 ^6 h4 F. f/ @' M
                        static const float CONS_VAL = 3.1415926f / 180.f;
# D0 ^" r+ h6 v( B( v# H5 I5 f
# [2 ~- \. t  I                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);& {6 U3 b1 w' ^. N, k+ U
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
% g& Q& |( M0 I6 j+ A" u6 X; y  B                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
* A" \, R0 k& p8 [! o                        pLight->Appear( m_pd3dDevice, TRUE );! @# A% q6 L0 \. z; f; B' }

+ m' a  m! C5 R2 X& L                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
  b/ {, R* q( n2 e: p                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
* _  H$ V7 Y$ @% K( h' m9 i- E                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
6 z- {- d6 O9 [; X7 }9 P* Q- w* E" X% f
                        DWORD dwR, dwG, dwB;9 t- _, C) ^- p- d. c# X8 D0 ^# x% J
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
7 }: G: w3 F( C# g& J% }9 z% s1 H                        dwG = (DWORD)( pLight->Ambient.g * 255 );1 `5 M7 I1 {$ G- K9 d1 j$ j% C; g6 l- n- _
                        dwB = (DWORD)( pLight->Ambient.b * 255 );/ F3 _: f' k& N$ ]9 T
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        * p! N7 K5 b6 `; v- R3 a6 _
                }
2 ?! o6 q! s- p  n; C3 a4 n. p1 j        }2 `& h' {* C6 ]$ ?7 t

1 a2 B* t& P( s2 h: d! u        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );7 L1 t( [& h- w
        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) );
, c1 h, |5 a, b% \0 ^* d        ::SetLight( bLight );
6 o' H0 H; \' p: n; c/ b5 m  b5 p. e  h9 z1 G7 V0 u
        // ±ao? ?D?í???ó á¤à?
) ?- E  K, y  v# d( ~* S        m_pd3dDevice->SetMaterial( &m_baseMaterial );
* J- P; y) d5 }( ?) d1 W        ( B: v# s4 |. e5 M7 a' ?! m" P. R
#endif // not WORLDSERVER- W4 e+ Q2 E" K: N' G
}+ p6 j& f/ |, E9 t. V
并更换
$ K6 n9 i' X% X! y% Y3 e* WCode:9 j& S, [  r9 Q1 L
__FLYFF_INITPAGE_EXT7 P, u! }  t# R5 v/ M% X& I
定义
. h; F/ P! W  ?2 {7 T+ r. I/ K2 G
: ]6 P; l* W! Q/ B5 S$ E3 [+ L$ S0 K; X2 V* B1 Y; u5 w
  B. g3 Q- Y; h# [  }8 G& y& q
7 X) [+ e% B! ?  V+ l6 C) }! c
现在终于删除我的狗屁加速...
" N7 d9 z6 ]+ Q& i; X3 |- {7 x. r$ [: X& v6 ~& c$ H) O
) z+ b* h" I, y  e

4 n0 h3 j1 F4 {6 d$ t* C$ R* e( J5 `




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