飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:1 e" U  \( ^  D' \$ U6 b5 y
尾翼:
" ~' S0 u( n) G8 W
* k/ o4 X6 z  V, p1 F, _代码:2 ?6 e* E. s$ m, f: @2 K# O5 f- O
CWndAutoFood::CWndAutoFood()
, O6 o9 \  d# P6 y{9 K% t8 i5 `8 Z/ ?. S/ k+ y1 d
        m_pItemElem = NULL;4 C: J' M1 ^) Z
        m_pTexture = NULL;
: f# t2 F+ o: H* D8 ^, [/ j        bStart = FALSE;
+ X( l- d4 n( V' {, o1 `( p}% z% N* {" f* c5 |6 j

+ ?6 y7 s# Z" y/ a: `) X2 w! MCWndAutoFood::~CWndAutoFood()
& S1 @& B$ z0 Y% t' b( C" h! w{. g# F/ h6 ^' A
        AfxMessageBox( "AutoFood ist gestorben " );3 ]8 D- n' }# U% U0 Y
}: k1 T: d6 P$ H, v! S' D: d; W: q. c
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )$ C. I2 G1 V. ?; g) }) g) w
{
8 S  l5 x. Z! U$ J        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
  f% J( q& F3 ^5 n6 N9 K% ?}' `$ V/ F% g4 F: }( N

5 e8 K6 \  F" ?3 V  [BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )7 p: U, \; \$ R- l: Y4 A0 ?# h
{3 F4 G1 G* o  q( e& C+ d
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
8 V8 y7 Z+ N6 b$ a; y        CRect rect = pWndCtrl->rect;4 {$ ~+ g7 n% M8 X
        if( rect && rect.PtInRect( point ) )  {, [# g9 \# ]" F3 A9 ?
        {
  P3 A: n- P8 b* n                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );) x9 K$ h8 R6 j. ?/ ^3 x0 G
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )7 D4 l6 @5 Q" h7 ?6 \7 _/ M
                {
+ n, u# u. |: b, t% x; `* g, F                        if( m_pItemElem )
' N) K, B+ I; h  e  q3 u: x                        {
: |/ `: J( p8 F# z2 N                                m_pItemElem = NULL;
% i" F7 q! c: w$ _! E% k                        }
  W4 N4 o1 z; G  e% m$ O                        m_pItemElem = pItemElem;
) T1 j7 M( m6 A% }% f* o; P$ ]                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
& k# H+ _1 k7 _9 I& _  |                }else{
) r" H' R0 L+ C9 ^                        SetForbid( TRUE );" F' C. w! W" V. b1 K! I
                }
0 e' m5 x- a- R' Y        }else{- M7 |, B) E' w" g$ J
                SetForbid( TRUE );
5 \  u! X: T0 z9 g. u7 S+ K        }
) I! U$ o5 u8 p  \" d        return TRUE;' X4 O" Q5 f5 \& H- M
}; [( N/ j: \% e8 _/ P

. a' r& Q/ N; s2 ?) d& ^% uBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
- i( Z8 C# ^! s1 ~! {! e4 l' T{0 e- W% T" y! \
        switch( nID )
- k  T( Y% x) ^        {
* y) a" ~1 Y1 p, v0 f4 N        case WIDC_BUTTON3:8 T" |* N$ E4 |2 I! u" y# Z
                {
5 C3 g9 l0 N0 {8 C$ j                        bStart = TRUE;
7 L  O$ A# v& s' Q                        break;
  Q0 _; I3 Z9 d0 [/ [                }
5 e6 G( u- `$ k0 y+ R) q) `        case WIDC_BUTTON4:& i: P+ S" }2 ~- Y& F5 s2 G
                {3 U8 P; e0 @$ \8 P
                        bStart = FALSE;
2 y  y  S/ j+ n. C! G( z' e                        break;
4 L# Q/ u: S" S8 B. |                }
, Y( o  y" A( [& j7 D        }$ a( u8 m8 g& `, _# I1 b* T
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
% g7 `( H# Z! w}       
2 T& j+ x- U& D- fvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )4 ~1 u" P. f* ?" {! p3 a8 D
{' Z. N9 l" U0 J! Y
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );9 b' O0 |# c2 w
        if( bStart || !m_pItemElem )
& G! s& R% _$ h/ g& P: }        {
* l! U1 E9 t: E7 U# a. `  }$ l7 p                pBtn->EnableWindow( FALSE );
) H% c4 m% k3 [7 k4 j" ]        }else
9 p/ A, P) S- a$ N                pBtn->EnableWindow( TRUE );9 M6 t0 B+ z4 u( q  u( C8 Q
        if( m_pTexture )
3 L' q% I. P, N" h& ]        {
7 p! I& C/ w: n" t                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
, F/ h* o/ L( _1 n3 [1 [) |                if( wndCtrl && wndCtrl->rect )/ e9 I/ r. n# [" Q& i
                {* Z1 m5 _/ z) n5 w
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );% ~% J( Y( m. R. d. @# p
                }5 h- q9 K% o- h1 F, }5 J, A
        }, D/ P$ I) M) m* S
}
9 a: Z( j% F0 p% c9 }. x! Z7 c$ N/ G1 K" i; W5 ]$ E
BOOL CWndAutoFood:rocess()
* \) `' h3 h! {0 W; [2 S- p+ _{+ G( }" P" o5 V* D# P, d! x
        if( bStart )
' y/ p8 F+ {* `        {, Q* v2 G4 E2 d9 K
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ), \$ z! N( v- [4 W" Z& Z
                {  R3 e& r9 b8 z5 p; x" Y- ?9 x
                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
* v( U# D0 T5 k6 G% E, q; m" v6 i                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );1 a  a9 f$ t8 n& \. s7 K4 Q
                }else{+ Y: \2 t! r4 c. s& E/ K
                        bStart = FALSE;# e1 J+ J- p( b+ P* K
                        m_pItemElem = NULL;' ~  K& S% i6 P; x# ^
                }7 \3 C% j! b' k8 x" l
        }; e) O, @( v# q2 f* Y1 g
        return TRUE;
) ^& F  e1 e' }& N3 U7 ^! H}
' x8 j" K7 Y, j- d0 j# n5 D# I8 E; ~4 D% ]; x
登录视频废话:  O, l: K' C: L: }* n
尾翼:  d2 P6 \; a! [  }- R, U
6 F. o' H6 E3 X- y8 T  h1 X3 u8 ]4 @$ ]
代码:$ R! N' G. ~* v, J, v) t4 d. s
7 \5 I/ i! S; P; P1 q9 P
void CWorld::SetLight( BOOL bLight )
/ T; |$ d" J. L+ kdurch
5 K" C5 l" U. ]0 a; @+ ~Code:; }9 [/ x* e( a9 q
void CWorld::SetLight( BOOL bLight )' A. \3 k$ {: \0 H" q. _9 Y
{
5 j6 H$ z7 B, u        //ACE("SetLight %d \n", bLight);$ n% u5 O8 c- V$ A4 C# [6 g
       
% j6 n) Q& n) T4 U: F  h#ifndef  __WORLDSERVER   ]/ j: ?" A5 k5 a
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);6 u* ?1 q# F, A0 {
        CLight* pLight = NULL;
7 b' y# _& k6 Q. d( h  w! B5 [0 _4 R4 [1 V9 f
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );+ t  j% C+ a3 m

7 T, R$ @( n4 O        pLight = GetLight( "direction" );, u3 |# F* D! X% @* T, v6 q  I
' J* C- Z  T" i3 M
#if __VER >= 15 // __BS_CHANGING_ENVIR
1 |' |0 z/ B* [/ L5 p0 ^        if( g_pPlayer ){
! c/ ?2 t2 R. v7 o4 O1 G# i                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
8 F  l# }$ n1 Z                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!) A" l; d( l, [
                {( {: R  Z% e1 A; U
                        if( pLight )4 t, K* E6 P$ [3 s) T1 i7 o- ^* }
                        {
5 A. Z% s& ~9 Y! W  v                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
: p6 n: s, H$ p) T6 W1 t. q& v                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];- y  H( `6 t4 E1 B9 p( ?! Q
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];( D) }4 B& C' e  D2 P4 W* e5 G# p# p
7 i& R9 _" J4 C" \: @% t
                                pLight->Specular.r = 2.0f;; z  p2 c' K9 q
                                pLight->Specular.g = 2.0f;
5 I. q0 l. o- L# ^, |2 y                                pLight->Specular.b = 2.0f;
8 l" e# J% v6 L+ Y& w0 m       
# h" ^' U1 D. }+ P4 l                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
9 t" E; Q1 F5 Z  g                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];1 ]7 Z2 y9 ?. ^
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
. Z7 o* D, N9 ^" Y4 `* }4 Z# h        : g# s0 E* h- R7 y# p' [
                                HookUpdateLight( pLight );
+ U; a" |4 l; P1 }$ H5 ?" z& t" D
- H& b# L% S8 z& C! \% d% R                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );% g# [) @; h" w
                4 ?" R  ], E- S0 w' N
                                pLight->Diffuse.r *= 1.2f;
( k4 o# Y/ J- d8 R( t                                pLight->Diffuse.g *= 1.2f;1 F" X6 E/ [# U2 f2 m
                                pLight->Diffuse.b *= 1.2f;
  B1 P$ u9 m$ A- I0 O
5 B, x( ?, M  X3 N; O3 l# M                                pLight->Ambient.r *= 0.8f;$ K  O, C  }& W# H. R( \" v, S
                                pLight->Ambient.g *= 0.8f;
( J5 X7 \- g& c" T5 {! D" o                                pLight->Ambient.b *= 0.8f;" y3 i7 O0 X; K7 @7 Z
       
5 g( Y" Q: x* _" A" F0 H                                memcpy( &m_light, pLight, sizeof( m_light ) );( D+ C: x/ |6 z  f4 X
3 y6 V& G  L3 d0 M8 \0 P
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
. p& ]+ G; z) o1 R0 d& S5 i/ x. F                                 D3DXVec3Normalize(&(vecSun),&(vecSun));/ I' P, p% K3 ]8 ^2 n; e. v
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
2 M8 J3 A0 N! F5 y                                 pLight->Appear( m_pd3dDevice, TRUE );
; E! ?! O" k9 v: K4 C2 ]( d               
3 r1 p* O: c3 U% r                                DWORD dwR, dwG, dwB;
5 x- |5 p/ Y- `$ o& D) {; b                                dwR = (DWORD)( pLight->Ambient.r * 255 );6 u7 G8 k0 x, g0 q' _
                                dwG = (DWORD)( pLight->Ambient.g * 255 );
1 c1 c$ y$ G0 D$ G/ l+ f4 B* {                                dwB = (DWORD)( pLight->Ambient.b * 255 );
1 x% D' t! u3 x# c  L9 U2 ^. G( Z                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 ]  h- G9 c! P$ C! t1 P: m/ [                        }2 Y0 h. V# }2 Y9 x' s+ @/ s4 z
                }0 j' t2 v- {* z! H# ~* R# W1 ^
        }' @, h7 l+ g1 c0 M5 y9 e
        else
0 p! ]# D; ]* u' U) ?" c) \#endif
6 R3 c* I1 u/ W, k' ]! L# F/ _% u4 v; w! ]2 n1 C
        if( m_bIsIndoor )
: v, w/ `2 B+ S% h8 r) }        {
/ V  W4 v; p( a                if( pLight )
' d! d% h0 n% f$ l* j' J                {               
! x9 Q, B# k" B# x9 H6 L. M+ n                        // à??μ oˉè* ) g$ [/ E& ]  X6 C
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
; X/ b% o- t6 W$ E5 \$ S& x                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;" Y3 Q7 ~  k. z% S. ]8 N
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
5 o6 }' q( f9 K1 T7 z% C
( k3 V6 m; k. I$ V" J                        // oˉè* ??à? # y( K0 w7 I1 {; {8 ~4 r6 x. b
                        pLight->Specular.r = 1.0f;& n' Y- P- R3 F; G
                        pLight->Specular.g = 1.0f;
, d* B1 U6 J% W                        pLight->Specular.b = 1.0f;
* w8 K7 z) O4 O/ ]                        // àü?? oˉè*
% t8 I  Q; b4 p                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
- D+ K1 {- ?/ w( ^1 X                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;% Z2 H1 l% A; Q5 g$ A! F$ q/ b
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
) F" r/ k% g0 y& t; d2 @- i3 r6 @) M
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
1 N" w4 ^( F8 ?, E& ~1 y1 a                        {
/ D( l7 u6 f" j+ Q: ~* b3 l                                pLight->Diffuse.r *= 0.6f;
, `0 \6 r$ H5 D+ F) C- E                                pLight->Diffuse.g *= 0.6f;. O; @  z. H2 M, G
                                pLight->Diffuse.b *= 0.6f;
: Z9 V4 x, \( A' J% h7 e5 {- X9 r                                pLight->Ambient.r *= 0.7f;
# U7 C3 e+ G# o- A. A( e" a                                pLight->Ambient.g *= 0.7f;
8 Z8 L: n9 x4 r! q                                pLight->Ambient.b *= 0.7f;
2 |0 x8 k9 M% J9 K5 d' x9 L1 w( j  j                        }/ L3 ~" ?/ R2 {' d/ a* o- c
9 T! U8 `5 r, [( x
#if __VER >= 15 // __BS_CHANGING_ENVIR
& z4 T$ ]! F! e/ P                        if( g_pPlayer )3 K( Q0 H' Z/ }* u+ Y* u4 m
                                HookUpdateLight( pLight );3 f% H) M& R# U
#endif
( ~5 D- \; ]8 X# o                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );& D3 c: v6 ]; ?9 r

) P. D1 D" {, `% L1 a                        pLight->Diffuse.r  += 0.1f;5 m) q# b! F+ G1 v4 k
                        pLight->Diffuse.g  += 0.1f;, E0 I; O2 o+ @: Z9 N2 O( I) i3 h% w
                        pLight->Diffuse.b  += 0.1f;/ }# T9 f4 g; X9 Z& L; h0 ]  ?
                        // oˉè* ??à?   S  @& ~) v1 q- Z+ Q' j4 O
                        pLight->Specular.r = 2.0f;6 R# l1 w! S# @
                        pLight->Specular.g = 2.0f;
5 A3 X& k& ]. ~: h                        pLight->Specular.b = 2.0f;' w) H5 [; L" H7 {7 O6 C1 r
                        // á?oˉ
* J( W6 [; g4 o8 r) ]1 \                        pLight->Ambient.r  *= 0.9f;
! i6 Y; Y9 m; z/ o) P9 m8 w                        pLight->Ambient.g  *= 0.9f;
: Q3 T5 p7 e% B                        pLight->Ambient.b  *= 0.9f;
' ]& h- l/ O+ q# \
0 v3 B3 U+ L* ~$ S6 q1 [                        memcpy( &m_light, pLight, sizeof( m_light ) );
- a$ ^1 H8 k6 n# P, f; u                       
; d1 @) W; K. k7 r# Y                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );+ y$ A5 I+ o9 p: s) H" M! {
                        pLight->Appear( m_pd3dDevice, TRUE );! ^0 M5 [) X- H3 D5 W
        9 g3 Q* Q) n8 i
                        DWORD dwR, dwG, dwB;
1 {! l/ x# p/ b6 Q; E: F+ s                        dwR = (DWORD)( pLight->Ambient.r * 255 );
5 c2 |7 V7 u) a3 {# f                        dwG = (DWORD)( pLight->Ambient.g * 255 );
/ [3 D( L  _( D( ?2 e7 s5 g                        dwB = (DWORD)( pLight->Ambient.b * 255 );
5 \9 j. Z: }8 s1 L5 _9 l7 o6 v9 o                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- P! h; T, D# F                }
3 l7 j2 L( c1 X& G        }
" T$ a& X9 T9 i2 f) T1 S        else8 b( q9 c$ s) a; }! r" k7 ~
        {7 w  ?- a, v" W9 j$ T  r1 |
                if( pLight )/ T  F8 w  H! J! ~
                {6 u$ |; T: W2 u* d$ |
               
6 A, t9 \/ |; y, _' d4 n( S                        int nHour = 8, nMin = 0;5 w0 S2 R- C. L3 I! m
        #ifdef __CLIENT6 g" n6 T: F7 \+ [
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. - M: x) `8 `! W% c4 Y9 i; m6 c/ e
                        nHour = g_GameTimer.m_nHour;
! ]" _, G  J" C+ F                        nMin  = g_GameTimer.m_nMin ;1 `2 ~' S2 {2 y' G9 U2 C. O1 \  N
        #else5 K+ S' |8 S/ X& R  N& h" f3 d
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.1 X2 S' ~; j1 D$ f$ @! {
                        if( m_nLightType == 1 )
6 J- S2 }& n- F. ?$ v- u                                nHour = m_nLightHour;
: h; _6 V$ i( M; V% o        #endif0 o6 x2 ~+ z5 c- e$ ?/ D
                        nHour--;  e. X. L" r$ G: r0 i3 j! f) ?
                        if( nHour < 0 ) nHour = 0;
, y# i7 P  _: ?, B1 y- i% _" Z  t                        if( nHour > 23 ) nHour = 23;& D' b4 H9 H: j. K

- t) G7 W7 c' i6 a2 Q                        //if( m_bFixedHour )2 [' d: U! K  _+ d- L
                        //        nHour = m_nFixedHour, nMin = 0;
  S% K$ f7 M+ j2 A                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];* `% v& ?. k, \( L8 @% q
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
! C  n) u/ l- n# i" ?% a- V7 i9 Q3 N" U7 h" f* ^
                        //m_lightColor = lightColorPrv;. _& W0 x& w  U" _. Q; f. y! W, @
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;% K1 V# e* b5 c8 q# O4 i( y8 j$ a  Y
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;  Z6 c* E$ \1 V( n% ]6 u5 b2 ]4 o
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;& x4 T0 e) x- P/ b# A, u; b7 V7 e  R9 J
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;) A" U2 H: C( O. S2 S9 R
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;- \  T; V3 M$ R/ U0 B9 ]
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;( X# |! m3 A0 |' _
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
# U/ X. Y  w! {$ q3 ]$ t
; L" y! {0 o, q+ n! W& U% T) p                        // à??μ oˉè*
. `$ F) X! T/ {* |, u0 A7 O                        pLight->Diffuse.r  = lightColorPrv.r1;
* R; a1 }1 I) G; d4 ^$ g% j                        pLight->Diffuse.g  = lightColorPrv.g1;
9 m9 n4 {, p  K: u                        pLight->Diffuse.b  = lightColorPrv.b1;- T3 G! x+ l  g  Q5 j
                        // oˉè* ??à? 7 G5 F6 p+ A/ |, q# ^- k& G, B) S8 H
                        pLight->Specular.r = 1.0f;
4 e/ r! p* w" Y( p. k0 r                        pLight->Specular.g = 1.0f;7 o$ d! R9 q4 B3 k" W
                        pLight->Specular.b = 1.0f;
$ h. t* M# ~6 _2 |; C( N                        // àü?? oˉè*
' w% `  S  l$ ]; J6 ~" g* ^                        pLight->Ambient.r  = lightColorPrv.r2;
  Y8 N6 T: F$ O6 g5 h6 m                        pLight->Ambient.g  = lightColorPrv.g2;
: E9 ^+ i& ]! h; m- {$ e1 o+ m. a% A, r                        pLight->Ambient.b  = lightColorPrv.b2;4 M5 \" Q3 z" `. X2 D
7 v* J! c5 X, a: ?
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.8 C5 ~! H. ?! X9 w  J
                        {9 G0 ?9 H7 k6 V5 r, X+ W7 j
                                pLight->Diffuse.r *= 0.6f;1 X& Y0 W, ~" d$ ]: P
                                pLight->Diffuse.g *= 0.6f;% H; i8 C, N) {$ A# ~
                                pLight->Diffuse.b *= 0.6f;
/ E, M) `2 V1 M* @* h$ l* u                                pLight->Ambient.r *= 0.7f;/ v- z/ @; N  @( Z- i2 N( `- r, N
                                pLight->Ambient.g *= 0.7f;
$ f6 i- U% a2 ?/ I; F6 T: }                                pLight->Ambient.b *= 0.7f;
) o3 n6 Q# s# x/ t( j  i/ q1 l                        }* C9 \6 a, d* `
                       
, s8 [* p: U; G' o, ~) I/ `) l( U3 g#if __VER >= 15 // __BS_CHANGING_ENVIR
  m( s" p9 k# O+ @* ]9 I                        if( g_pPlayer )
# F4 k* y& g7 v( a% ?" j8 k                                HookUpdateLight( pLight );
4 W$ o* C) F9 f# L0 \8 R#endif2 g' i8 [% z, n; x' r* N
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ C0 u8 Z, t! q5 @* Z  y. L+ ~: B3 u/ z
#ifdef __YENV
: p0 E! f2 U* A. b                        pLight->Diffuse.r  *= 1.1f;, w* W' `5 A4 L; }7 a" G! D1 m; I
                        pLight->Diffuse.g  *= 1.1f;
& n& P2 J+ D# E" R0 y0 m                        pLight->Diffuse.b  *= 1.1f;% x* |( w' \. @/ `2 ?
                        // oˉè* ??à? + z$ n. ^' s! c
                        pLight->Specular.r = 2.0f;
  Y0 \9 K7 G  H                        pLight->Specular.g = 2.0f;# K2 }/ }4 d6 Z& ]  {' ~- Q9 T
                        pLight->Specular.b = 2.0f;
4 Z. F' }$ p% |1 I6 R, v                        // á?oˉ
$ S$ A) [1 o, B                        pLight->Ambient.r  *= 1.0f;
5 }! P) X& `* Y( D- a, s1 P3 ?! t4 C                        pLight->Ambient.g  *= 1.0f;
( O1 E" a4 E8 {6 u1 q& \4 A/ G                        pLight->Ambient.b  *= 1.0f;# S5 S! H3 M& U: m" p3 |
#else //__YENV  i+ o! H6 D/ X* w: S- \
                        pLight->Diffuse.r  *= 1.1f;
$ H; N% d4 Y' ]                        pLight->Diffuse.g  *= 1.1f;
/ Q7 {  v% A1 ]' s  [; B( ?                        pLight->Diffuse.b  *= 1.1f;2 S$ o7 X6 v7 K. }2 s
                        // oˉè* ??à?
9 |  e; R4 X2 o0 B( U; ]6 ?1 ^                        pLight->Specular.r = 2.0f;% @) M$ D5 d/ {# e: K  }
                        pLight->Specular.g = 2.0f;# [" Y2 [0 |$ @* F! x
                        pLight->Specular.b = 2.0f;! u8 t1 {4 `) ~8 U6 @4 ^# E
                        // á?oˉ % ]4 Y  P9 d* s7 K9 k' m% ]
                        pLight->Ambient.r  *= 0.9f;
. e7 g( C9 U* w. M                        pLight->Ambient.g  *= 0.9f;
1 t9 n) r  Z4 P/ }9 Q                        pLight->Ambient.b  *= 0.9f;
  z  S" |+ H0 j- V: r#endif //__YENV : |, [+ o$ T$ j+ [% ~( Y) r
                       
' z, }9 [# p; j! e) W- Y                        memcpy( &m_light, pLight, sizeof( m_light ) );
, b1 R/ b, j& E6 c9 b                        # ^& R9 W, Z' _4 H( a
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);9 a! p$ G6 m- m5 m8 m
                        D3DXMATRIX  matTemp;
2 L6 z' m; m& [; L' G6 a/ n                        static const float CONS_VAL = 3.1415926f / 180.f;3 Z/ x3 I: v' T7 i
( }9 R; b7 F3 S5 R2 P3 Z  z, O
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
7 ]5 x! j% _  _. J                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);9 a/ C1 y( w; X2 B- s
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
7 p3 k' L* @, z3 k" _/ C/ y                        pLight->Appear( m_pd3dDevice, TRUE );6 i) ~  v6 d) d7 _- p

3 O$ Z2 V7 ~2 q0 W                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
% R. `# T. a- e' i3 ]/ k8 d# S                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));; D  ^3 V* J9 @
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. k* ^) ?7 @2 z- X8 k2 r& K4 w4 V6 p" c+ t9 I& n& e* Y
                        DWORD dwR, dwG, dwB;' N: r' z& `* ?
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
, v( I: \# ?' }& t; ^                        dwG = (DWORD)( pLight->Ambient.g * 255 );; W4 E) Q8 @$ s* K+ D
                        dwB = (DWORD)( pLight->Ambient.b * 255 );4 c; S; X# ?& z4 z
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        ) e) {% V5 R4 m5 P) I
                }
3 c& t( n, @  `9 Q, B1 t- `        }5 ]8 q! J$ L6 E' `3 K' ]

2 I9 R; _/ |+ k! X6 G- H        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );: m: \4 N8 k1 b# M  U* b) S$ ]( z; j: R
        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) );
8 M" b" }6 z& ^8 X        ::SetLight( bLight );
2 H  T9 q+ r& s9 N0 H; m. g% S) I2 y( o, e
        // ±ao? ?D?í???ó á¤à?
  c& d  O& j- m3 S        m_pd3dDevice->SetMaterial( &m_baseMaterial );+ H% t, M6 P) V1 b
       
& H% n% S8 V8 q4 P. a" R#endif // not WORLDSERVER- L' W2 p0 w' k9 h5 o8 d! a
}
6 N& g2 g0 ~4 V; [2 `并更换
( ?/ h9 X5 G' Q- i$ d3 H4 ~( C* Z& z6 mCode:
$ d) z, n0 f( C- L( s3 b__FLYFF_INITPAGE_EXT. y4 m  o% F) O. W& u7 ~# q7 B
定义( n$ T. ]- f! M
3 l" {0 C+ o& b' K3 A; P

6 q& n% M2 U% m+ [1 D& Q  F
9 C6 {; F* E$ X5 k8 Q7 a6 ^5 K5 F5 X# ?) q4 i
现在终于删除我的狗屁加速...
6 m( n7 v1 U  a: N' c" u# L0 U* Z, J; \* N( d$ N+ T2 y
4 z4 \3 T1 ~5 E- ~. p5 w

* a1 t" O, i9 g0 `8 g' ?8 ]' f! ^: g




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