飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:7 r3 I& l0 k# h: A( u4 U' j' N
尾翼:) t* o) j6 Y8 _; J# B# ]" a% v1 V
% ?$ j. z( B! N+ J* S" s2 |1 v
代码:" I# z# Z* A4 P( J
CWndAutoFood::CWndAutoFood()8 l( [, ?; D) z' x9 m
{$ A8 Z" t# e% I: M! V. F
        m_pItemElem = NULL;
% q% G- O3 X  b# G5 B$ O        m_pTexture = NULL;+ B# F! l7 R, K9 e" C) n
        bStart = FALSE;5 O+ k9 ^3 U, V1 N# ^1 V* ^
}- u! R' y% L$ a. _9 i2 q) }
- U+ \. z7 W1 n; M: I
CWndAutoFood::~CWndAutoFood(); K' j* k0 [1 S; T% X* @& o
{
6 y$ @. ^2 d9 G/ f1 V5 a6 q        AfxMessageBox( "AutoFood ist gestorben " );* a4 T! |( f* X# R3 z
}
7 X) v: d" l4 c& a9 VBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
) X$ Z: ~1 v. v" o  a{
3 g4 Q9 ]/ ?: c9 z; v$ p: `        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );- T$ n; n! H; K) a: R- S( f
}
. A; R/ R# U6 C4 V  g) [0 t  n3 U  e; x9 |& I& ]( N' L
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
7 u$ L- W$ l9 u% h6 |: O{: U# l! Q' P! Z
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );$ ~  a% [+ |8 e9 C! K- R+ B$ P$ X$ W
        CRect rect = pWndCtrl->rect;" Y6 P0 w# t: G' R- \# B/ j
        if( rect && rect.PtInRect( point ) )* W' F; O' L1 K, J
        {7 w8 G# E$ @$ D1 K) O6 L) X
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );1 H: U6 e8 Z5 V: u/ @) }
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )' n. d) d; P% D5 L. |
                {5 o  u5 D/ k! c9 |8 e- K- z& Z' d
                        if( m_pItemElem )7 V4 f) ~$ l' z" u2 n4 k4 p5 `
                        {
( d* m: t. t$ _4 d3 o8 k% A' J/ s* i6 v                                m_pItemElem = NULL;) t' j8 q- D2 r, Z" V
                        }
, ^8 L9 A8 a% S/ i& Y                        m_pItemElem = pItemElem;- N" F+ f: f9 C# w' j! j+ E
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );* H' T& E, C5 P: A
                }else{& I# g- y, p( Z7 `, E. r( ]
                        SetForbid( TRUE );
) a; r* z& \$ |' r% G9 `                }6 z7 T# h% \! U1 g
        }else{- f2 j# K: ~7 i$ b
                SetForbid( TRUE );' b6 p3 T4 b+ S* I2 b$ v
        }6 l) T& H4 w8 T' ]; j. g) m
        return TRUE;/ e7 s1 o& P& \( P
}7 r6 u# C+ q, P# N; y

0 k; m$ T# J0 g6 F/ e0 O, OBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )6 q2 }  z- U% D. A0 G8 b4 P
{
: f$ W( Q& A( Z" q$ W        switch( nID )
" h! ~" y) u. B3 j5 f2 Q/ ]        {
( |2 I) S, ^& {+ Y+ u  c0 l        case WIDC_BUTTON3:4 y+ ?' ?# `/ c  ?! T9 k
                {0 q. `# e/ G1 H6 |) K$ M
                        bStart = TRUE;
3 y) d+ `/ @. c! f6 e% ~8 ?6 K                        break;, P3 V# s0 y! l2 k/ Z+ Y$ a
                }7 B1 [  c' a" V$ H- M
        case WIDC_BUTTON4:, s) K9 F! y7 y7 D. Y% H, k3 R
                {+ v( M) j3 L3 O( N7 t4 K
                        bStart = FALSE;
4 A* E! Z2 Z( J3 s. B9 b                        break;
) y) U8 G3 l' _% k5 Z" r; S                }& W' A) i% Z! {7 Q2 |, |7 g: V
        }9 ~, N$ P/ i4 Q& i) _
        return CWndNeuz::OnChildNotify( message, nID, pLResult );: K: [! n1 {6 c2 F; s
}        ( J- H" g/ O; b( j9 \
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
1 m+ X& {/ b' @; y{/ [& H3 z0 e; l+ `$ @" ^/ L
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );  Y( _# S% ~0 ]
        if( bStart || !m_pItemElem )
; k% J5 x4 B" E& g1 N* Q        {
! _& |8 f7 \' r3 t- e/ M                pBtn->EnableWindow( FALSE );- a9 D' p  _7 j5 v. o' l- k
        }else6 A) m5 m( t! i8 V" G
                pBtn->EnableWindow( TRUE );
7 |( z- Z2 I2 x) L1 I5 ]        if( m_pTexture ), Q/ J9 X4 c6 i4 \9 }; e; E1 L2 `
        {
, `) p2 T3 l" z' k! Y6 `4 A- R1 U2 j                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );* y( s) S- _: V
                if( wndCtrl && wndCtrl->rect )
. i0 v6 e" H7 w/ P+ R: \                {  j0 s4 d8 P) r7 n
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );: N' b% m; F5 Q* U% y: ^
                }# Q8 ]% |+ R7 P  V# X2 _
        }$ j2 V2 M$ C, S
}6 ]7 k5 |8 W& M5 c) p; p

6 W% ]" ?, {& `. g1 |- IBOOL CWndAutoFood:rocess()0 q1 W( b6 Y4 ?* H( j. j! |
{
, s# ?) f/ z; z$ z0 T        if( bStart )4 r. ~. n) }) C8 W, f' g1 b
        {
& C) j  `; r  \' ?' f. z+ T% s                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
, `$ O% \/ D8 U- _: c0 T1 S                {
( L3 e" G9 @7 K% B& W                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
; C" o! D- V' v3 |# X6 D                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );( G% Q) a* o  B# k
                }else{& v/ r- Y5 l$ a# @- A0 b) ^
                        bStart = FALSE;
6 r/ u- C3 L$ Z/ Q/ x                        m_pItemElem = NULL;- ^7 j. z  ~* c" f7 p6 F7 p( h
                }( v- J8 b. h! m8 H% Z
        }
' D) h( Z8 d! }3 t4 z* G        return TRUE;
# T8 g, D! R- s7 ?9 Q}, n+ L9 n) C) n  H+ }' ^1 M. c2 Q

& g0 X6 \# \9 _3 A# c7 b6 r' P登录视频废话:; b: e/ W* q' U' I/ t; v7 n% x
尾翼:
# `- ?8 L- u+ p; q5 A+ o* I& H" A3 J2 O: i& r$ B5 R1 D$ ^# P
代码:
* ^5 ]+ E* r6 K" O) V7 B* p
+ S* a! Z# ~# v8 svoid CWorld::SetLight( BOOL bLight )
' u; G* M9 Y9 l' i9 tdurch+ H, U% h+ r' [( o% u. j" I+ q
Code:/ X  T5 e( d3 O! }/ X
void CWorld::SetLight( BOOL bLight )
2 _# @. D5 _2 ?{7 a8 `) M( q# c5 t' B
        //ACE("SetLight %d \n", bLight);
4 {4 t- D+ z+ y9 Y* v$ b6 w% P        & V" v% J1 E9 i6 @! w# {
#ifndef  __WORLDSERVER
6 ~: j; S( W7 z: D/ z! U0 A        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
% l* B0 q+ B9 A6 \' ^        CLight* pLight = NULL;$ v- v' t3 n" U  h2 P8 {( F' y
+ w* ~6 w. `) q& q$ m; _! N
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
2 Q! O7 Q8 `8 ^# c# Y/ _1 r0 J/ F/ J" ^$ H9 [% \* h
        pLight = GetLight( "direction" );
5 z" B. T( i+ F5 E4 J" M* w
4 x0 }' `/ l5 q0 m% u8 v#if __VER >= 15 // __BS_CHANGING_ENVIR4 G+ v7 z2 |$ w+ o; d6 q
        if( g_pPlayer ){
& `  G: N# E7 V1 ^; a  `9 U                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );% ~8 Z% ~" Y" A+ V' x4 _
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
1 M: o  z1 p7 w$ _, h. I) p                {  ^! |+ O  Q' |& H3 Z  k" ?; L
                        if( pLight )( M+ L. m2 b  U& F: ~4 a( @
                        {
6 f8 K. S; h, q! \, M                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];; x1 Y" Z. W( W, U& }. G( l
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];5 C+ C5 w  c! ?- |# b  E# w
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];2 T3 J0 d2 ^; k4 @4 e$ W! n2 `
, H9 T6 O5 m: z5 s
                                pLight->Specular.r = 2.0f;
, t" H7 e+ e) W: l$ v                                pLight->Specular.g = 2.0f;
# R5 x0 ]6 ~5 j  ^3 |                                pLight->Specular.b = 2.0f;: [2 {: T7 o. b6 z4 [6 E
       
& m4 V* n6 L! |' H" I! I& s9 O                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];9 [! ^! q5 P, S
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];& b% n: ]$ c+ w' U
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];) O0 R8 J0 N+ o
        0 S" o6 t4 Y( N$ X( K. E# r
                                HookUpdateLight( pLight );
, \, Y# s6 H( D: J+ V5 @) F! p) ~2 A4 h  Y( _$ d4 I3 A' \
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );4 ]+ r, q* i( T/ S/ S
               
8 E1 Y7 ]' g: U  C# B( K                                pLight->Diffuse.r *= 1.2f;
" C/ L( t- ~, K  s  a7 `2 H9 u                                pLight->Diffuse.g *= 1.2f;+ F0 C/ H6 h4 d
                                pLight->Diffuse.b *= 1.2f;$ u$ n5 B+ C$ B1 t" b
. r3 k  Y7 F' W% w. I
                                pLight->Ambient.r *= 0.8f;; Q) c% _5 J  P8 B5 W/ E" W% x
                                pLight->Ambient.g *= 0.8f;
' ?- ]- n5 u1 y' W9 I; Q' c8 h) d                                pLight->Ambient.b *= 0.8f;
) h7 H$ [7 @' q2 u: a# f- U       
" y! w: s1 A5 X0 m                                memcpy( &m_light, pLight, sizeof( m_light ) );
3 e( B& P0 F( w- I7 ?- \; b* G5 c5 F9 W2 E
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);) F* i9 ^  P$ C. x
                                D3DXVec3Normalize(&(vecSun),&(vecSun));! O0 \1 m. L! j* w1 B& m& g
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
( V; S0 e- X, {7 c& p/ e8 A                                 pLight->Appear( m_pd3dDevice, TRUE );
6 M6 |  O+ R0 r                2 ]8 n/ }$ Z# L3 N, p
                                DWORD dwR, dwG, dwB;4 g. e* o$ B  \! p1 k
                                dwR = (DWORD)( pLight->Ambient.r * 255 );
$ W- D" i3 H/ T1 o8 I& |; r; m                                dwG = (DWORD)( pLight->Ambient.g * 255 );
  H$ j* _! D" `' E# L3 E                                dwB = (DWORD)( pLight->Ambient.b * 255 );5 S. z" r4 ~7 b1 A7 j$ q
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );) t0 P7 B6 Q/ O8 R# j
                        }, H3 r; |% a, F) f- ^, J5 M5 s/ Y
                }: h4 F! g% j; i' P
        }7 j& J, n; w3 b7 c/ S- @# r
        else! e8 b6 R" D2 [. {3 O# \& q
#endif - v0 H  R( ]2 e+ c

, W0 V3 ]# V% v9 E        if( m_bIsIndoor )
7 a4 b! x( C. T6 ~9 u4 Y        {% H7 w, n  R3 @; O( u
                if( pLight )
7 I% q: w; E2 W* X/ R: s. t9 F                {                * |' |6 |$ O5 L% e
                        // à??μ oˉè* , \3 E$ a& q  i) Q8 }
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
; p% u9 b1 K/ x' v7 p                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;5 Q. D( b6 {1 h3 K  k( k, B! U
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
" |4 v0 l  M* C. i) m5 s- e) I+ |1 |; Z: ^3 J
                        // oˉè* ??à?
) T# T! F* I. |" {5 ?- g                        pLight->Specular.r = 1.0f;! E. ~& v# [  |& q3 P5 b$ g5 V
                        pLight->Specular.g = 1.0f;4 X# x+ ~7 P4 Y4 w% G
                        pLight->Specular.b = 1.0f;
4 E' \3 S/ K7 ^                        // àü?? oˉè*
  A! _, Z, b7 z                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
9 y  r) I0 I- u, P- T: q" d1 q/ ~                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
7 L, q/ C! R+ \                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;, g4 Y2 y# u) [9 a
7 N- R9 v' p: j6 e8 `$ `+ [6 n
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.( W& U; S% I0 [7 Q& W3 U' q; \0 Y, K) B
                        {
! ?4 T- W6 V2 m1 V7 A- g  {9 z                                pLight->Diffuse.r *= 0.6f;
/ T5 ~" i& h! I) N0 `7 t9 g                                pLight->Diffuse.g *= 0.6f;
6 a* E: |! C3 Y, L1 N% W& g& x                                pLight->Diffuse.b *= 0.6f;
5 O& Q, L' c3 {$ N' p7 P0 ~                                pLight->Ambient.r *= 0.7f;
. X7 L  H$ N# V0 Y0 l                                pLight->Ambient.g *= 0.7f;
8 }! _' g3 c, P0 R5 I7 @                                pLight->Ambient.b *= 0.7f;
6 Z6 y% _) D2 r' T$ ~1 L                        }
7 \8 E, c* I/ y3 [4 m0 v9 J7 ^
#if __VER >= 15 // __BS_CHANGING_ENVIR1 ~7 u% s; R1 |! ?
                        if( g_pPlayer )& e: |9 q6 g* z$ q' u: J4 ^
                                HookUpdateLight( pLight );
  ?' D( i* X4 S#endif9 Q  o# m1 P+ Z5 M3 W5 X: s
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ @, A" \) m  p) @' G2 l- ~
4 d2 |5 D3 R! B3 g                        pLight->Diffuse.r  += 0.1f;
" m; a# \8 i5 \" P+ o0 S                        pLight->Diffuse.g  += 0.1f;: f, V1 }5 F$ n; a' A8 ~$ }
                        pLight->Diffuse.b  += 0.1f;9 a4 d) u. O+ G1 d: Q
                        // oˉè* ??à?
2 y. r; }* E# T9 g- V' @                        pLight->Specular.r = 2.0f;
* b9 J, [8 {" ]' p' q2 r! F                        pLight->Specular.g = 2.0f;7 @: |! y6 ~; x3 A- I! O! S9 L* r, \
                        pLight->Specular.b = 2.0f;: N9 I1 t0 K8 z* Y  S5 ]- W$ c
                        // á?oˉ
7 A; a7 D) D+ p! ?$ s7 Q+ L$ I- n+ H                        pLight->Ambient.r  *= 0.9f;+ X- S: l# H8 K" z# r' O0 t# \. B
                        pLight->Ambient.g  *= 0.9f;  C3 O6 O) ?) z+ d- |: K6 O
                        pLight->Ambient.b  *= 0.9f;
, \) x, `" e! L8 f- u% U
! z* I' [$ W8 Q3 r' \# K                        memcpy( &m_light, pLight, sizeof( m_light ) );# f% @+ s9 o$ `# @
                        ! ?; \! ]$ M; w8 |! E- {2 o
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
7 {+ j2 y, Q# c  A7 _                        pLight->Appear( m_pd3dDevice, TRUE );
+ E* a1 f$ {7 @* s; p        6 r. }1 n, m8 M# m' n5 F
                        DWORD dwR, dwG, dwB;5 S: F* ^5 ~. i% \9 R, n) n- W
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
6 Q0 a+ q, v& S' x) `                        dwG = (DWORD)( pLight->Ambient.g * 255 );* J, a5 N! t1 T4 B% ]6 c
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
- @" D4 K* D8 d0 h) y  `, Z                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );9 [! u, t8 B- v! u
                }% p+ X9 `4 ?0 e1 M
        }
# V, G6 u6 n* M+ D  W        else
2 L* E5 \6 j" v        {5 w. C$ D' F4 m3 U3 }
                if( pLight )* O, c& W  e& Z9 p% k2 L3 M
                {
, g7 J6 r' F3 }               
+ n" ?3 l% E  M6 _                        int nHour = 8, nMin = 0;
1 A+ O- C8 V- C' S' `5 v        #ifdef __CLIENT8 ~. H# G4 V2 R3 a+ b
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. : _2 }6 ^. N1 V' E- c  v
                        nHour = g_GameTimer.m_nHour;: j0 q2 O  ~3 c$ |  t
                        nMin  = g_GameTimer.m_nMin ;2 b$ H7 z. Y. }  _
        #else" y+ b  n3 p( N7 J! z' N/ c5 @
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.# B5 b3 K0 G+ ]2 b. d
                        if( m_nLightType == 1 )& Q, _: }, w: i
                                nHour = m_nLightHour;, W6 Q8 L7 {$ j% \) C& S
        #endif
0 [) D( U- ~* G3 }" S7 ?                        nHour--;
" E7 `5 f9 g) |: b( w6 k* `- F' ^                        if( nHour < 0 ) nHour = 0;6 }7 w9 J1 t  U% O# F
                        if( nHour > 23 ) nHour = 23;) \' c: l, k* e3 I0 I6 y

7 Y" q+ [% W& l8 M/ s; m  D/ z" d                        //if( m_bFixedHour )
. ~5 B4 f" v8 m- P: J8 }+ Z                        //        nHour = m_nFixedHour, nMin = 0;& Q5 ~' b8 q. c/ `% q5 E  ?
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];$ j# Y0 u1 F' ^2 ]3 H
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
, ?1 G/ q8 F7 Z& n% Q7 W
6 n9 f1 m2 h$ [% i% b. r5 g, A0 B  _7 g                        //m_lightColor = lightColorPrv;: \8 e$ M  ^2 c  i  N* U
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
% y* {4 v& m- j" _6 H7 ~  I                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
/ d5 O! @; s* m& X                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;; K  ?5 q# O4 D" O; [% ~
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;% V+ J2 c4 w! q% {7 `/ l
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
# r' `& ^% D; b                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
' a% x2 J, ^, x# P                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
, ?4 j& Z0 K, Z' `' J/ R# z# Y3 p& R( m7 o
                        // à??μ oˉè*
# N+ w7 h" j. [4 W                        pLight->Diffuse.r  = lightColorPrv.r1;
6 B7 `& f5 z+ @1 n                        pLight->Diffuse.g  = lightColorPrv.g1;
( ~& H7 d& `4 F6 G$ ?                        pLight->Diffuse.b  = lightColorPrv.b1;+ _; {( h. M1 }, @( b
                        // oˉè* ??à? / L4 P' r5 E; @8 d5 u; b- ]' I
                        pLight->Specular.r = 1.0f;
& D3 s- }2 y  A* o( ?/ t9 z                        pLight->Specular.g = 1.0f;
0 L$ I6 F- B1 r2 h9 `                        pLight->Specular.b = 1.0f;
" I( q8 \1 H. C( @4 j! T2 c- @                        // àü?? oˉè* $ q! u1 j, N  z" Y4 t7 ~
                        pLight->Ambient.r  = lightColorPrv.r2;
& m* J" V! ^1 X7 _7 b                        pLight->Ambient.g  = lightColorPrv.g2;
7 e  k/ a  p% P# P/ |$ W) p9 D                        pLight->Ambient.b  = lightColorPrv.b2;
  E. C. T" N  {8 R/ s
0 q( T" A$ d, X0 \: B: n3 k                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
: {" F7 X- `: o                        {
" B0 t4 s! k% B# R" D                                pLight->Diffuse.r *= 0.6f;/ l% c' _3 }7 o, D6 M2 T+ b; _! o
                                pLight->Diffuse.g *= 0.6f;8 c/ r  l# ?/ M- {) H, B* P6 x
                                pLight->Diffuse.b *= 0.6f;5 n! K, f0 L( k- ^
                                pLight->Ambient.r *= 0.7f;( @2 l+ U8 c3 x* }
                                pLight->Ambient.g *= 0.7f;
2 [3 X# E! T5 E, F& H                                pLight->Ambient.b *= 0.7f;; u1 C& ^+ r8 l
                        }# R5 N5 \+ D. |4 I* `
                       
; P3 i& H& _0 L#if __VER >= 15 // __BS_CHANGING_ENVIR3 Q1 w" h- y' k7 g1 i
                        if( g_pPlayer )
# q- _3 Q* H# S3 [. [7 P7 d9 y5 O- ?                                HookUpdateLight( pLight ); / t7 N/ _9 h$ V+ J$ ^
#endif
- p7 e: p1 @2 B  S" d5 Y0 @3 [, v. o                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );" x7 C' s, p" F! ^2 `
, {7 |7 `2 X5 Z$ C; [
#ifdef __YENV
1 x! ]& D& N/ @3 V- ?# F                        pLight->Diffuse.r  *= 1.1f;
+ }- }8 J  x( r2 z4 t  k                        pLight->Diffuse.g  *= 1.1f;; L1 e! ^$ p' D. a4 \' K
                        pLight->Diffuse.b  *= 1.1f;
# ^& f9 F& J2 }' Z8 d                        // oˉè* ??à?
! r" p) X6 |+ k1 R                        pLight->Specular.r = 2.0f;
  ?# Y% i9 L: f* Q. V) f3 e                        pLight->Specular.g = 2.0f;
1 `# l- Q2 K  \+ e                        pLight->Specular.b = 2.0f;
! I* H! _9 ~. X# D                        // á?oˉ
) m# g5 C/ Q( A6 b                        pLight->Ambient.r  *= 1.0f;
1 Q0 P7 ^& d! Z5 ]                        pLight->Ambient.g  *= 1.0f;, I' m8 ]7 j- f; Z; T- d7 y
                        pLight->Ambient.b  *= 1.0f;
) O1 m- v1 ?) G, w; q8 D#else //__YENV/ l) T/ g' z) f  ~( Q6 K: h
                        pLight->Diffuse.r  *= 1.1f;
4 N& h2 v3 V- O, \                        pLight->Diffuse.g  *= 1.1f;
0 I$ v5 N/ H: l) i1 h) a                        pLight->Diffuse.b  *= 1.1f;
& p' D# m! s# x7 H                        // oˉè* ??à? 7 [" c: r1 ?" H
                        pLight->Specular.r = 2.0f;
. _* @2 c2 c1 z5 w  l- {                        pLight->Specular.g = 2.0f;
8 ?, l0 }) i1 f                        pLight->Specular.b = 2.0f;
. w! T( l' U. V& o% `2 ?: c3 q                        // á?oˉ
# w0 b, _# R5 e                        pLight->Ambient.r  *= 0.9f;
6 s; C6 ^; J5 ~' }; Q                        pLight->Ambient.g  *= 0.9f;0 q5 p; \! V3 ~4 |
                        pLight->Ambient.b  *= 0.9f;
( j9 s& {% }0 W#endif //__YENV 0 c& s: G# A, b- f. X. w* c, Y: k
                       
, O9 m- k8 p( c# D8 e# U, P                        memcpy( &m_light, pLight, sizeof( m_light ) );
! i% D7 D% ?4 U: D% G. Y                        5 K& _+ M0 L- j4 e) e/ o: }$ R4 ~
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);8 t1 x2 ]$ ?/ K- I, G+ h
                        D3DXMATRIX  matTemp;
% H6 v" X# K2 H- A. ^( f( h& I                        static const float CONS_VAL = 3.1415926f / 180.f;( \% E5 x7 R8 z2 a% ~* W" ]8 ?
, Q' @& K  H% K0 p4 H
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
/ c; v0 Y% K3 n5 [% X( _                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
! U. K' d2 R/ ]& c/ e( a! D                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
: O' p' I2 d- ?( w                        pLight->Appear( m_pd3dDevice, TRUE );
- u! s, S/ X$ q( i4 n1 C
" G; \1 Z7 X; v. M, Q* E                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
4 u9 V. @( A; N# L3 ^8 Z( X/ V0 O& _                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
4 d' j7 H& ^! j* m                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); * X% a# l% s% E1 N0 M9 E  Z

& u4 R! F. U) r% K& D                        DWORD dwR, dwG, dwB;6 X; r7 l2 w  t8 d* [2 D* x
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
) {& V- C5 {, y/ o! o2 v% r8 D                        dwG = (DWORD)( pLight->Ambient.g * 255 );% F# {; _' @9 t, L- I/ I5 d
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
9 L; p" h1 [$ z% A' ?+ l2 c                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        # I% E3 R5 ]* c5 y
                }
' D+ v4 I- B/ W- Y        }& r7 [0 D! v0 V3 r
1 }; @2 b# G% k8 t; n. F2 x( U
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );+ `- s9 x, V  U/ v3 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) );
6 X; p# u* w% V5 |; r; Z1 s        ::SetLight( bLight );3 R' `' z# h% S, J* q: @/ M
' ^# C$ C' u5 F( Q' X, P
        // ±ao? ?D?í???ó á¤à?
( y  L0 |: `9 _" W        m_pd3dDevice->SetMaterial( &m_baseMaterial );
) ^! T0 }8 A6 V% `        % Z9 s9 e3 f: u: @6 W7 V$ L3 E
#endif // not WORLDSERVER
& k& f2 v! E0 x}
' y8 u' d" D6 w并更换7 Z" V  g# a9 {  P3 N, ]) F% S; X
Code:; ^) j0 r+ u3 }* V  J
__FLYFF_INITPAGE_EXT2 ^/ \7 N3 C% q
定义; q% X+ S9 i! _' ]2 L  l4 j
4 D, U: B+ y- Q; i$ [) }7 v
* M8 ^( q% [) x8 c, r9 ]" Z; e
7 H9 Y1 n6 f4 K9 r5 z! }9 E
1 k$ y: ?  U$ B1 n) }
现在终于删除我的狗屁加速...
& W9 v1 V( X/ |5 J/ X: p" q6 B8 G( r7 B# z
3 [8 ~0 Q8 \& f5 [5 h# L3 l% [
$ H) i+ l# c/ s





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