飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:4 {  F! v0 F/ N! {3 {2 P
尾翼:
1 z2 O5 c. }/ x# P
  O. n! A" ^/ R+ h. b: L代码:% R, s: E2 c* v. x$ |
CWndAutoFood::CWndAutoFood()
$ @) q# j8 W, l. N5 u* c% k{
) b7 ~' j* q. @- [. E1 U        m_pItemElem = NULL;9 U' o3 \8 n) B, B$ @0 q* ~
        m_pTexture = NULL;& M7 _: X0 k* R8 L4 {( W( a
        bStart = FALSE;) w* s7 ?  ]8 T3 j- V- D
}
+ g- T1 m- v! t4 a9 Q0 y8 a  y/ p
6 m( t( f0 m& `1 q8 MCWndAutoFood::~CWndAutoFood()
# s' g  S# j: R4 P{
. P' D9 Q- n* J        AfxMessageBox( "AutoFood ist gestorben " );' H- d3 A9 d( G& J1 M6 h' T7 D
}: H7 j, w9 x2 e
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
! Z. F; L% x/ `/ \) J( |{
( K. D& T7 @# \$ u  a& o0 i" V5 l9 \        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );: d0 D7 V& J+ c3 r# T# B' F, b
}
% s. ~  R9 _. ]* Y- }# E- a
: d. P; O0 d4 D2 ~. d: m& lBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
, _4 s6 [$ u3 \# a{' H5 [. G4 k0 f; u
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );, ]# q: m- y/ ~6 p
        CRect rect = pWndCtrl->rect;: e3 K( q0 O7 r" k( A) p& q" u. J" ~
        if( rect && rect.PtInRect( point ) )
, L+ ~- }! K+ J! g0 A        {$ b. R" w2 d* I" C" `% |+ X# {& T; a
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
' G* V2 \" S9 d                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )! r. R" w- S# s% G+ t
                {
& g' r. D" P# B. C; @! j                        if( m_pItemElem )
' X; e+ E3 b: J. E4 o; ~                        {
- u) K4 f- ^+ {/ `( w( V  I( K                                m_pItemElem = NULL;1 |( |, E' c/ F  u0 [! J6 m/ Y& D
                        }
3 y- u; C3 _5 ~% j1 t; G                        m_pItemElem = pItemElem;; k3 ^* R; p3 ?/ o' l; j
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
3 \& F6 g, a1 E  n  a4 U: D                }else{
1 E* ^/ ]: v0 i                        SetForbid( TRUE );- r* Z8 x, c4 I; y- X5 D
                }% I( W8 n8 e( O# z1 }
        }else{
, K" V0 g1 f8 C' n3 G0 @9 [                SetForbid( TRUE );1 J) @# h3 u1 m% ?* V3 X: d! G
        }
: @1 K8 M' G, B        return TRUE;
& x: A, W8 w& P, _1 L$ ]8 t6 h) \}
& Q) @* C' h2 U: W2 ^9 Q5 w4 h* [6 R# m
+ P9 q$ G+ r- {  d  O7 [BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )% }6 W* O4 ^5 d) N% H5 j
{" j' V2 P3 [1 a% Y- C
        switch( nID )
8 g- i* `% `7 N9 F$ G0 B5 y! W        {/ P& m# P( Z: g3 z* U' H0 y
        case WIDC_BUTTON3:
6 o$ O$ S& S; T' d8 e                {4 m. B) l: E6 V* g
                        bStart = TRUE;
8 i- d' z/ @6 m                        break;5 V8 W# `7 D5 x. [/ Q! n% E5 G
                }
2 M0 e1 r4 U) q( O; l3 ~% G) r1 W        case WIDC_BUTTON4:- T, @, k5 `4 U+ b" e! D, t: C7 x
                {
4 C( N. v, ^5 @4 _( J                        bStart = FALSE;
) t' J8 t7 F9 _3 s- E" m. |# s                        break;
: ]5 D9 ]; ^% e                }& ?2 U2 ?; d" h% i
        }. \& i" G$ Q4 ?' e
        return CWndNeuz::OnChildNotify( message, nID, pLResult );( Y* g8 X5 N' ~; U- z
}       
+ |8 F: @) k7 W- V1 a& V3 i1 Xvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )* R! f7 Z' d5 Z' c" i; z! B, T% t
{
/ z, v, c4 r! f1 M3 {) @4 w        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );$ ~$ H9 S  `; M; S. l/ G* Z
        if( bStart || !m_pItemElem )( c8 l% b# H  Q; K$ I+ y5 `, {6 h5 R
        {
, K. F4 u, [& i0 u$ ~! n                pBtn->EnableWindow( FALSE );$ N  v" G& J8 M$ E% }
        }else' G. |( x+ |  ]9 f! R
                pBtn->EnableWindow( TRUE );
  @; Y6 i1 y/ R/ t" m+ p# b        if( m_pTexture )+ l" t7 Y$ y6 H5 }. w( U
        {
, [/ A% W; A/ H( |: ^8 S                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );8 n/ [, ^1 }: ]$ a* s; P
                if( wndCtrl && wndCtrl->rect )
, Q" V  y6 R# u                {
4 F/ D( K8 e& {1 d  I                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );' o% G2 C- a+ O( C
                }
5 m0 m1 n7 d) ^* e% G0 z! F        }
& L1 s" t* r0 A' d" b}+ G0 K2 l- m6 c* ~! ^
5 P' q2 O6 z. E
BOOL CWndAutoFood:rocess()
# Z# I, q& T' W& J* L' g{6 e6 `  h( ?# j( a! B
        if( bStart )! i0 c/ n" C% v$ x
        {/ x8 z" S! B) A& n/ m  x
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
6 O' E0 a, |% J5 v2 \/ w. J                {
( Y0 w$ L& l8 L5 m                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
9 \  r; g* N5 t3 p                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
, L" Z! r5 P5 s  m( ~& z                }else{
5 b8 ?# b9 M& A& {. W# L; T                        bStart = FALSE;
" S1 x, Y/ `0 q4 B. O& B7 P: ~5 g. z                        m_pItemElem = NULL;# }/ @; `+ ]" V7 O% B1 q6 {
                }
+ n6 l4 Y& ^6 J6 J8 m        }# x! F! |& ]0 @+ a+ E
        return TRUE;, K0 _+ r5 t, T2 ~2 o
}
# x: R: X4 k) E7 B9 v0 P
/ e6 Y+ u& `+ P+ I! i' W' I" Z2 p登录视频废话:
# L8 B, \: e* W* O) N5 `8 D" h尾翼:
0 K' P7 i$ `2 N: ^- p) a2 c$ q; M+ u; b$ k/ f6 x
代码:+ U5 p. f. w1 V" C# E! ^5 H

, h' H: q9 Q) O) Zvoid CWorld::SetLight( BOOL bLight )
6 l+ l0 M8 D* v9 _: \! g6 V  ldurch& N+ W7 S/ [! ^; p
Code:4 {8 R7 Y/ c2 y$ k
void CWorld::SetLight( BOOL bLight )4 k; {0 {5 y' C& _4 k0 [9 u
{
8 z+ [; C2 S' \+ u, Q2 u        //ACE("SetLight %d \n", bLight);
3 b( V6 C1 h& t( v5 D! R5 B- a       
1 b/ z9 o8 z, x% R#ifndef  __WORLDSERVER
. t. ?- X* b4 d- T2 U        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
4 B/ X- r" e; {2 E' o7 v        CLight* pLight = NULL;4 j+ n+ p# n: R- O3 P6 O- E

0 r9 h; c& @( p8 d- K        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );% d5 r% d+ b- ]& o1 K
- o! B& `: S7 {9 H! k& q, B
        pLight = GetLight( "direction" );9 T6 i4 N+ P* \. [$ n" `

8 q# M+ f* g, ^" O#if __VER >= 15 // __BS_CHANGING_ENVIR
0 v( e, ]+ B, X; e8 c- l4 Y5 O        if( g_pPlayer ){* _" }2 u* f) {3 o9 w% @* [3 V! j
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
" `6 _/ x% y3 l: W2 r" A                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!: K9 E$ _% S, G* z9 J+ B: ]
                {, T% W; S0 o) G: P
                        if( pLight )
" h* }$ X2 G  N& n                        {( f* ]0 X3 V7 o' L8 C( H
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
8 ~3 T4 @# p! a, Y7 o                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
" d1 {, q3 L# [7 R+ E+ s; j                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
+ d+ {. K4 J4 h- N$ T
$ c. o& u: e. ?" V3 y                                pLight->Specular.r = 2.0f;
- s$ o% M/ k# e1 [  K1 C                                pLight->Specular.g = 2.0f;0 A  y6 r% g9 `
                                pLight->Specular.b = 2.0f;8 o$ t' x: @( ~
       
0 S' D$ R6 w) r4 Y3 [$ y                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
/ ~6 W& S+ T# X2 |                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];  `/ x7 g5 \1 S, m' c
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];  Q# _2 z3 y$ C' p* l
       
- I, R' D& h- T7 p7 S) B3 A                                HookUpdateLight( pLight ); * d! ~6 ~7 v) |# h

* x! p3 o3 L" q8 Y# X                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );6 q' _) o& e+ d4 n" O* ^& `
               
7 t' `8 ?) V4 v5 \$ D- q                                pLight->Diffuse.r *= 1.2f;: Q" ^3 C' |7 w) s" a0 Y: j6 J
                                pLight->Diffuse.g *= 1.2f;4 |5 [4 b$ [, u
                                pLight->Diffuse.b *= 1.2f;( \1 r, O' i+ S  t5 Y5 b) `7 R
7 o% m2 R" J0 I- _1 [- u
                                pLight->Ambient.r *= 0.8f;4 [7 K3 d' U! v& |" m
                                pLight->Ambient.g *= 0.8f;1 H- `+ a6 O7 J$ k
                                pLight->Ambient.b *= 0.8f;" x" r) q8 F0 h! T
        2 ^9 `% e1 {, z9 W
                                memcpy( &m_light, pLight, sizeof( m_light ) );$ W& v- _* Z& a  l" S- A8 U6 w0 X

# v# \! ^3 m1 K1 H& m4 s                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
) s: }; K3 [6 x  a0 y3 Q                                 D3DXVec3Normalize(&(vecSun),&(vecSun));; X7 A+ x1 P. }$ z/ \
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
1 G0 B/ J1 c& i! p( w* ]                                 pLight->Appear( m_pd3dDevice, TRUE );! |1 w" u0 N/ S% d7 R6 M; A3 f& d
                ; _' |5 F) c7 `2 z4 B  p
                                DWORD dwR, dwG, dwB;
" v( u) ^6 D, E# z/ x: F5 E                                dwR = (DWORD)( pLight->Ambient.r * 255 );7 ?" z( n& R) u5 ^# \0 v  {3 h
                                dwG = (DWORD)( pLight->Ambient.g * 255 );
0 a' k4 Y$ f& L0 y5 S! T                                dwB = (DWORD)( pLight->Ambient.b * 255 );, O5 n8 b( j. d* T0 x
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
7 ]  e+ D: |* \; b+ F- ]0 r$ W. W! U9 q                        }6 |& i$ }+ v! b# f1 M9 e- n  ?
                }
8 x8 |" A5 O# R        }
7 E5 {& {9 Y2 D, v% Y4 Y        else
0 l7 b8 \5 w" u#endif
, ]/ C4 W+ H! [, w5 Z" k8 S4 q& \# S3 W/ G0 y, \  I
        if( m_bIsIndoor )
. i: ^6 Q3 a* ^5 s        {
5 A* ~0 a' e7 t! f% I4 j; j                if( pLight )* G" Q0 x6 }5 f
                {                9 m) k, D, o' {4 j5 t& d
                        // à??μ oˉè* 9 s0 u7 p# v. G
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;' h# P5 |/ S" A; A
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
9 A! U$ z' t' B% I7 C) v7 @                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
- {2 r; Z. c0 Q4 V6 K- j& t) b2 x) q' F1 }* y
                        // oˉè* ??à? 9 K' r( R$ k! ~4 E( L5 |- s9 E' z
                        pLight->Specular.r = 1.0f;$ }- s1 ]* I- H* ~8 i- ?9 T4 Q
                        pLight->Specular.g = 1.0f;/ ?" Y+ P) f4 s6 b
                        pLight->Specular.b = 1.0f;5 y, `3 p3 I0 @* k( }
                        // àü?? oˉè* - O+ l7 j* L; F( Q; C- `4 v
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
1 ?- |) q  C. N/ |6 e/ [5 i                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;: m/ P7 M* ?) F, C  R- {! v
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;' _, F! z( K+ n5 L; M& [

# q6 c( D' T/ ^/ ^) o6 w  l6 W                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.' f: P/ {6 Y* m' P
                        {
% p1 n2 E- ?1 _2 w+ M" d                                pLight->Diffuse.r *= 0.6f;
5 b8 t3 Z% j" X6 H% v                                pLight->Diffuse.g *= 0.6f;7 D* H+ [" R) W  e/ _' f
                                pLight->Diffuse.b *= 0.6f;, t- W# ]6 W; [% ]" ?7 B
                                pLight->Ambient.r *= 0.7f;% w5 W5 \$ F; n- o
                                pLight->Ambient.g *= 0.7f;1 [+ R. A# {* Z9 v) X/ M
                                pLight->Ambient.b *= 0.7f;
- g( w: |+ r" \0 w* E* n5 K9 c1 i4 q3 f                        }& z/ r) {. K: i$ p6 D" \' [

$ R3 [$ y, U" p0 A#if __VER >= 15 // __BS_CHANGING_ENVIR3 f9 ^9 X, u7 B0 S: W; F% q- @
                        if( g_pPlayer )
9 n: n$ p  q$ O' K& P+ L                                HookUpdateLight( pLight );
: Y9 j( K) _% A! n  g% Q#endif
( }% z; D% g: K; [+ p* P- h1 Z                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# ~  X  G# S4 Z3 [
" ?# }: _5 w' F' ^5 K. g                        pLight->Diffuse.r  += 0.1f;* e) u; a( N  q2 M. `8 y
                        pLight->Diffuse.g  += 0.1f;
( J$ j! `3 S1 a% p9 U, x! a                        pLight->Diffuse.b  += 0.1f;
1 ?7 i" N2 y2 ?                        // oˉè* ??à? % N1 O2 ?  I1 @; k. ~8 t
                        pLight->Specular.r = 2.0f;( Z/ G. W- ?- B7 \3 k- y- }% T
                        pLight->Specular.g = 2.0f;# u$ ^/ T% }& q+ n# t) X; D
                        pLight->Specular.b = 2.0f;& _+ `( b2 i- ^1 q% e' d9 K. W
                        // á?oˉ % z. o/ e- O1 M% h3 a
                        pLight->Ambient.r  *= 0.9f;
+ p5 f0 [3 Q  }7 w% C                        pLight->Ambient.g  *= 0.9f;) j! I6 p- L& `+ W. q; N0 x3 e
                        pLight->Ambient.b  *= 0.9f;
: R2 Z0 L3 G6 Y" X: p2 h0 F! z4 X# s# ]  {( t
                        memcpy( &m_light, pLight, sizeof( m_light ) );
# o0 H7 i7 C  c* R+ e% F  }, p                       
) w& Z- T- O9 k! j5 b9 d% J                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
- Y5 a+ Z# x' J0 K/ e                        pLight->Appear( m_pd3dDevice, TRUE );/ I9 d% m1 A) l
       
" k+ ~2 A# n* C& [! e                        DWORD dwR, dwG, dwB;
, P8 L, S2 L2 w, J* L9 l                        dwR = (DWORD)( pLight->Ambient.r * 255 );6 Q+ u4 o! x* R9 l7 J/ T
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
& e' s$ S. x. U' k# ?                        dwB = (DWORD)( pLight->Ambient.b * 255 );
  `0 `3 [" ^5 d, J0 `0 Q( H                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );+ r8 R" `" ?% r& y' H$ Z0 X7 G$ f  ]
                }
, W# p: s/ Z+ z  L) N+ e4 D        }
9 R( L  L& [2 K+ F3 E2 K        else
' w, o: p( V$ E' @5 q        {
$ r! U% U) g! n                if( pLight )
" i7 C- S, H% Y6 u7 m, u& g                {
0 _; t" O. }, C, k7 o& p1 z                # ?: H7 I+ Q! p' Q- s8 H2 Q
                        int nHour = 8, nMin = 0;
( X0 f8 ?' N. z; [1 @        #ifdef __CLIENT; C5 u1 u/ D9 }
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
7 x$ M$ Z4 Q0 T1 G2 j% c                        nHour = g_GameTimer.m_nHour;+ z* n4 m. r; F( H4 ^
                        nMin  = g_GameTimer.m_nMin ;
% J4 x' Z+ G, _( `        #else' N1 Z+ R' ?5 N% x( H6 `
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.: N5 G! T' q6 H/ ~2 E! g
                        if( m_nLightType == 1 )
" Y0 }3 [2 n& @6 s( Y; }8 W                                nHour = m_nLightHour;6 o0 h: Z5 Y" t: J
        #endif. v- p) `+ S+ j& h
                        nHour--;" y4 H' E- F" N
                        if( nHour < 0 ) nHour = 0;. Y- d/ J7 S1 R5 A$ F- B
                        if( nHour > 23 ) nHour = 23;
4 [7 A7 a% F4 v0 y0 F* e: ?1 `2 F+ R4 C+ s
                        //if( m_bFixedHour )+ _. K& W% X: m3 l$ F
                        //        nHour = m_nFixedHour, nMin = 0;
4 y" L9 m; N0 k+ x9 L2 s. g                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];; H) v+ \" G# n
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
- V( c! o: z/ r/ q# b6 y4 N" q4 l. ~  \" K
                        //m_lightColor = lightColorPrv;# U- r4 S) A& p. Q
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;0 t" y+ ]7 X0 M6 m" z, d
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;; l2 D: x2 G+ I& y) N% E7 W- j
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;6 J) r" ^9 ~3 ?# k5 k  v6 ~) S
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
: W. `2 s& U( N" S, J0 R1 H                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;: Y, s$ B( |, {8 T# y
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
) V  F2 n5 G9 i. S) P/ ^0 J                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
% W: _) k+ C! |+ u
3 D8 e8 V; D9 ]2 t/ w8 O                        // à??μ oˉè*
9 _( \! \/ ?/ ]                        pLight->Diffuse.r  = lightColorPrv.r1;
. Z; ]0 d/ e4 b9 d3 o7 j8 i3 t                        pLight->Diffuse.g  = lightColorPrv.g1;3 L" ^' u. k- `1 c
                        pLight->Diffuse.b  = lightColorPrv.b1;
+ R* R, c6 Z7 x                        // oˉè* ??à? 3 O6 ~. Q6 V6 ]0 A. _# s: T$ W: _
                        pLight->Specular.r = 1.0f;  R. V6 B$ l8 z8 z& @9 n
                        pLight->Specular.g = 1.0f;7 @. S, y' `% n7 r
                        pLight->Specular.b = 1.0f;
$ p9 d( j0 ^5 w/ O                        // àü?? oˉè*
  j. p+ P" x4 ]. q                        pLight->Ambient.r  = lightColorPrv.r2;
# V' P* K; f- @6 o                        pLight->Ambient.g  = lightColorPrv.g2;
& a0 ~+ B( h) f+ U. I                        pLight->Ambient.b  = lightColorPrv.b2;/ S: G, x8 ^$ p6 r! Y8 z3 A* y
4 b- N9 O0 ^/ D+ @0 z
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??., l3 \( v# X: r6 a1 `
                        {8 i+ d, J3 L% s( Q1 b9 \: q
                                pLight->Diffuse.r *= 0.6f;
) \1 }+ S1 d; f  v8 i/ m+ ~( g; X                                pLight->Diffuse.g *= 0.6f;; ]2 R8 b; X; r
                                pLight->Diffuse.b *= 0.6f;# A7 u, I6 b9 ~! v7 R
                                pLight->Ambient.r *= 0.7f;7 Z' S3 L( N4 q2 v8 ~
                                pLight->Ambient.g *= 0.7f;
: f) {% _' V7 R                                pLight->Ambient.b *= 0.7f;  V$ f( [1 Z  v! g. F- g4 h
                        }8 l! P# ]5 u  R# O
                        ' I% B( @7 u5 D
#if __VER >= 15 // __BS_CHANGING_ENVIR. I% m' |' u8 O5 i: E' R
                        if( g_pPlayer )0 y! }; p1 P3 q, [
                                HookUpdateLight( pLight ); 2 Z5 s, q: H' x9 o7 B
#endif
! i% ?+ L0 l- o                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );) b$ C( R" X  l7 R/ M
# b" ?2 O. F) [% b: N6 _, p5 k* I
#ifdef __YENV
9 J9 _' ~! _$ g( M! M+ C1 m# g. R                        pLight->Diffuse.r  *= 1.1f;
, M3 S0 X$ ?0 S                        pLight->Diffuse.g  *= 1.1f;6 x3 D- q& N2 J; r
                        pLight->Diffuse.b  *= 1.1f;
& J. Z# y" t$ V4 H' [0 i) a                        // oˉè* ??à?
' g. s, A+ S# o- y# c  D                        pLight->Specular.r = 2.0f;
, I& F; Z, o9 x1 w2 G6 g/ i                        pLight->Specular.g = 2.0f;
- O/ \& n' R& V: b9 X8 @5 h9 N                        pLight->Specular.b = 2.0f;
7 Y- I1 q5 c) W                        // á?oˉ $ t, v( e5 X9 A1 g- ?' I1 ~" w
                        pLight->Ambient.r  *= 1.0f;( h8 x7 ^. f% o& B/ |  |; B& _
                        pLight->Ambient.g  *= 1.0f;
' |/ J" {4 o/ F' \$ Y3 g" v                        pLight->Ambient.b  *= 1.0f;
( \. n9 \& z$ I/ q+ Y4 [#else //__YENV
4 T6 s- k+ |: {                        pLight->Diffuse.r  *= 1.1f;3 W& F% [" k! e* {. q6 h1 z3 B$ k
                        pLight->Diffuse.g  *= 1.1f;
* v3 ]) H; V. ^4 o$ P( O8 y( }% K                        pLight->Diffuse.b  *= 1.1f;
! `8 `. w! i3 N1 R4 ~5 W) q1 I/ E, Y                        // oˉè* ??à? * y0 p6 [7 l  K  C
                        pLight->Specular.r = 2.0f;
; p0 ?, f3 }' A6 J4 o* A& }                        pLight->Specular.g = 2.0f;& r) {- n) k- N8 Y  K# n+ ^" p
                        pLight->Specular.b = 2.0f;7 o1 }1 Y) Q) x# X. z: G
                        // á?oˉ - C: {8 g" ^# D8 b/ {8 T, B6 r
                        pLight->Ambient.r  *= 0.9f;
6 U3 ]$ x* L$ d8 x4 y8 D% F                        pLight->Ambient.g  *= 0.9f;
$ |" F5 n& W6 P, L' A5 ]5 l                        pLight->Ambient.b  *= 0.9f;" I# P( M2 u* P0 I0 R# b4 |
#endif //__YENV
) {/ q2 y3 b. i# e& M4 |1 W                        3 X0 D: V2 E. {2 _6 Y& i: j9 R
                        memcpy( &m_light, pLight, sizeof( m_light ) );. z! V$ ]  U- S9 _
                        , G, j6 s7 k# o( f8 D; v6 N5 ?
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);$ y% P$ U, x" @& O8 ]$ n
                        D3DXMATRIX  matTemp;# W; z1 t0 h/ n% I. z: V) H6 B
                        static const float CONS_VAL = 3.1415926f / 180.f;. O  Q: R# U: D+ [: ?1 o- j* H: V

+ O* R: Z. j' W) M( A" O, q# u                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
1 w. o" @# {$ `3 K' x3 }1 I6 J6 i! M                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
; ]5 \' M/ G, [4 t/ f) W* L                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
+ S  h" E0 u/ ~8 a                        pLight->Appear( m_pd3dDevice, TRUE );4 @6 X5 N5 x; c% C0 \0 e

: E; K' Y! ^+ I# x                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);0 Y8 M# C! c" S% n3 d
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
+ d9 F" l$ o$ ~2 s                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
; G! l% m, o. z0 _. H+ y' c( N8 h7 a) _( ?
                        DWORD dwR, dwG, dwB;
% i# p( @, J6 `! f3 ^6 c                        dwR = (DWORD)( pLight->Ambient.r * 255 );/ w3 {/ w, {1 N$ D4 h
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
! S+ \  U9 H. [$ G* H                        dwB = (DWORD)( pLight->Ambient.b * 255 );
0 _4 N% C. |! U; p                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        ; K, X  _( i) u4 E2 p; k
                }
$ l( O! u# X% l, V4 b) w        }, j/ d9 r8 h3 ?3 E  t- N$ m* U

) M2 F2 O/ c1 i5 @1 W        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
% Y# ^3 D8 c# A6 ~, @' L3 q        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) );; q9 i( j* e" H, \. y
        ::SetLight( bLight );
6 `7 W: R% F$ m9 R9 x; U
! E4 G- a0 \9 j% c        // ±ao? ?D?í???ó á¤à?
* Y* z3 v2 S# H( x9 D; `        m_pd3dDevice->SetMaterial( &m_baseMaterial );
, U" V; n0 t( X        * c4 R% }: _! U: D, l/ h% u" ?
#endif // not WORLDSERVER  U& E. w2 c4 L. m0 u7 b
}
2 X! H' y. b6 h( G/ |$ F并更换9 I- h6 G- @# C% m' ]! [
Code:
% y; M/ K2 p( c0 \# L1 q4 C' x__FLYFF_INITPAGE_EXT
) ^# P2 i4 ]( |" A7 t/ Z/ B- d3 d定义) M- d( d6 k9 e4 P0 Q# m
% p, H5 ?; F- e9 m: _1 \
- L1 b4 J* O' G6 [" @7 {" W- Q" w8 q. y
/ R/ |4 i$ h/ _: N" ?
" x0 N! \+ G/ j, r
现在终于删除我的狗屁加速...
/ A8 p# N( b3 N/ ^$ q& W) ?4 F2 J8 b) Q4 t2 m
3 @- h3 r- s, r) z  K& ~; S+ y  x
# J% u6 k* R; o6 q, c3 y$ y





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