飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:: K% j' u* ]! T. g6 R
尾翼:
) ^. a5 F( ]# M# D4 D; V% ~
2 {. }) s, A* k  K: {- F1 C代码:
4 n2 s4 @' X' |" GCWndAutoFood::CWndAutoFood()# ~- X! {( t5 `
{& l" z" M, g4 ?+ X' U5 G
        m_pItemElem = NULL;
4 ^+ i4 n# Q9 D        m_pTexture = NULL;
+ N+ [0 T1 `$ B) F6 T( w        bStart = FALSE;
& _' n+ Z" v; g2 \' F6 M5 N( S}
* m# i% x& F, W/ I# Y0 J+ q1 y4 l/ \
5 N6 p5 f  l8 t, o- w/ H* F7 uCWndAutoFood::~CWndAutoFood()
) j. e: T" u) V( r: t4 p  F{
8 q" x  @3 b% R8 D$ \9 u        AfxMessageBox( "AutoFood ist gestorben " );5 a0 j: L% q1 n, [
}
6 p5 f. H! V. E7 b; z! M; Z7 q; Y5 OBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
! ]4 ]( x! J# S{
2 i+ K! ^( P7 V        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
( Z% `0 x7 F/ w+ Z/ k+ u4 E9 s}
( z  `0 h( s" L/ l% m  ?" @6 C3 n% ]- w8 }( ^& N
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point ); W9 l7 |$ @  t+ |
{
. x! F% b  i+ Q! z0 a& o        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
2 f! `1 @% W& O. d        CRect rect = pWndCtrl->rect;0 Y2 f+ |4 V) u2 G2 O0 s( U+ w/ h
        if( rect && rect.PtInRect( point ) )
0 b# z+ [( o7 b' B* w  W        {: }9 W& d' H( Z7 e. V: \
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );+ G$ I+ I3 d- r% H) W# I
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
" v# `6 U5 g4 v* m5 o9 d9 Y( U# W* M                {, N1 ^' }& D$ o8 {
                        if( m_pItemElem )( a, z' G4 }, q5 u# }" b) n3 v
                        {1 L* s; ]% w1 ^& p+ H/ }
                                m_pItemElem = NULL;
% F! v6 ]5 |8 n3 d. C- D+ m                        }8 o8 t9 J/ r8 T
                        m_pItemElem = pItemElem;8 Q# T! Z- h/ l8 L# c
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
. X0 J. J" X5 q* F; ^                }else{" a* ?0 P0 D3 w2 {* X) z4 Q
                        SetForbid( TRUE );
1 m" z3 g! i: _9 T. T                }1 W' X" P3 l7 D
        }else{. h3 h+ \4 y8 g! F
                SetForbid( TRUE );
% S6 u, `4 G6 C* T9 Y) F  [: |        }* {2 {! V: O6 e% U% Z" m  w3 b% W
        return TRUE;
6 P, D8 N- T6 t: H, I3 U/ S7 L( {}
1 E* R& \) i: ~+ a" @8 B' V8 i2 L) n/ B+ X
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
: K7 U8 {* o$ G. @# c7 o{
/ v+ C+ W) n+ [$ V8 t. d* L( _' e        switch( nID )
7 Z$ w% d8 R: _3 [* c: g! O        {
5 Z+ D: [, @8 v4 C' d6 a        case WIDC_BUTTON3:
! A6 s$ J* `7 a1 M! e                {! M- Z# A! d4 w4 H& t0 k5 B
                        bStart = TRUE;7 L7 D2 W& U. N
                        break;
. }- h. U7 _  T2 M" d+ M                }
6 v% i" l( K6 Z/ L5 u9 f7 x( Q        case WIDC_BUTTON4:
6 g# f# W. e, \- q+ c8 s" [                {3 V% g* J7 }3 N: Q  ?' C4 Q1 n
                        bStart = FALSE;
' m5 X' j/ h1 V$ B. c                        break;! d- T: ?. G4 l; J$ `* @
                }
+ Z. p# n3 z9 ?2 a        }
7 G# @& d# {+ }( ?4 U/ |9 @9 V        return CWndNeuz::OnChildNotify( message, nID, pLResult );! y3 [9 u) ?( `/ a5 m( o
}        ! o$ S1 j/ G. O
void CWndAutoFood::OnDraw( C2DRender* p2DRender )8 K# C3 B* [" |% R4 C- d- S
{# A1 Y$ m- O4 r' d5 Z5 z
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
. i6 e* ?+ G7 H+ e        if( bStart || !m_pItemElem )
) Z% [0 O! X  U& D        {
- g: y; I3 _. |                pBtn->EnableWindow( FALSE );
6 Q! g8 l8 G+ y* o) h' @        }else6 W# P. N9 {8 o$ M. m# P
                pBtn->EnableWindow( TRUE );
$ c5 c; V4 Y' [# T0 ?        if( m_pTexture )
8 w; P5 [* O2 Z! O/ ]# F8 `6 |( n        {) a+ e; V5 J+ j
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );% ]- H& h! F( {4 Y4 ?% c) x9 e/ S* L) i: L0 e
                if( wndCtrl && wndCtrl->rect )
1 [# A) S! L9 I+ |                {
+ n0 f# f5 k/ N" x                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
6 @* t% R  X- x8 H                }
, x" p1 X5 K( \9 N2 p7 d; t+ x        }
( D4 ^8 c$ w/ g. l}
" \' U+ g5 g( p) A
: `+ b$ T% A# l& ?8 HBOOL CWndAutoFood:rocess()
3 }- ]/ n2 |+ ]# Q8 p* G, M{' w. t+ i; q& A0 x: e, W& ]4 n
        if( bStart )
# q. \) R/ e, Z" }2 a5 s& r        {
, C# Q) B+ c+ {. p9 n# A/ _                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
& \* E! I7 L5 j. M6 k7 A                {
) g% D0 H# n2 w6 o                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
0 r* e6 W' W# o% w5 J, |) ^                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );' k# g7 ^9 K- v2 \) z( s, |
                }else{
' G5 Y6 T0 B: ~$ L                        bStart = FALSE;% S8 U; M8 E4 t/ c' F
                        m_pItemElem = NULL;6 Q7 j; s  e, s1 K! y/ D2 A
                }2 ]: u' k* n4 d( @- f. t
        }* f9 F) x( s: }  {7 s
        return TRUE;
! @) I) [$ j  t3 {}7 f0 N6 S% w- R# m( x& ?; Q% C

% @7 p6 G) D; M登录视频废话:
! [8 b5 _+ j& v9 a尾翼:; H% x& f) |) s) c/ c

; X- t4 x# L# `2 T% ^0 O代码:
9 f6 ]: F1 g  h! V+ ~
% Y/ s* G2 V2 W8 M9 o  g" gvoid CWorld::SetLight( BOOL bLight )! H% `3 I5 X. G- u8 m, a4 E
durch
. I6 d# F9 G+ d0 ~! nCode:
3 E" {/ ^0 w7 w! |3 y9 j4 a' c1 Uvoid CWorld::SetLight( BOOL bLight )
8 C3 Q* D" r) ?{
+ a" j' U6 b2 V" \' ?  z7 U% y        //ACE("SetLight %d \n", bLight);
) R1 s+ a" \" b3 i; a- ]        + G; h, Q3 o+ B
#ifndef  __WORLDSERVER
! d5 w0 y/ |1 z* E% Z7 f! P        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
+ F$ A. C1 T2 e7 x/ s8 @1 e        CLight* pLight = NULL;
$ q0 K! E1 l5 \& t" L) N5 ~3 w
6 \  _  Q9 a% [: e        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
$ f/ ]1 l# _' ~% G5 r2 u/ U/ O" Z2 }  x; a1 D
        pLight = GetLight( "direction" );: }( o: Z' G: E" O( s) Y

$ d' _! M7 z) J- K#if __VER >= 15 // __BS_CHANGING_ENVIR
) Y+ l, h2 F* w( S% B  l. U4 p        if( g_pPlayer ){; t0 U6 k/ z' M+ d7 E0 m
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );4 z/ G* Q0 }7 N# u8 \
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!- O' ~6 U# X# f, o/ Y* E
                {; F7 J9 S% `* q
                        if( pLight )
( R9 a, z0 }* V1 V  K6 V( {                        {
" V6 C& ~* r) H/ f; D                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];+ }6 _) s1 k+ C* n
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];$ F5 J$ {& i. p0 u5 [
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];- ]9 x. M$ l  x5 T

; g- B$ C/ C- ^6 b& ~" @. J                                pLight->Specular.r = 2.0f;$ Z/ G3 n' }& K, `, o+ D
                                pLight->Specular.g = 2.0f;
* M, B8 F" c: x" Y& A4 ^# M1 Y2 R                                pLight->Specular.b = 2.0f;
  U& ^1 I% T8 V0 D3 r, e: I1 H       
( [0 w+ e/ |% ]9 `2 v3 H                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];: w& u! c+ `) a& }/ O3 `) ]( p# V
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];/ \1 ^+ t3 ]4 @) U3 g; ^
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
4 w* z( d5 V+ Q2 \9 @       
& E$ o! R! _2 X& m0 `$ B                                HookUpdateLight( pLight ); 4 r- {' ]5 M2 q, q' z. ]- m: e
& O- |% K0 p2 ^: X" \9 g) H
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );. C5 {- Y" o2 |/ D$ V' O6 `. |$ {
               
' X- P9 F* T( C' M4 M! v                                pLight->Diffuse.r *= 1.2f;7 U3 J: n# G; e5 I% k
                                pLight->Diffuse.g *= 1.2f;
' _8 T8 o' W8 L. z  R                                pLight->Diffuse.b *= 1.2f;
7 t4 n$ e9 W& o3 y1 O
0 Y, i* k* R/ m8 Y                                pLight->Ambient.r *= 0.8f;+ c' _9 w6 S* |0 Q) e* O
                                pLight->Ambient.g *= 0.8f;
. z4 E' S1 E& p                                pLight->Ambient.b *= 0.8f;4 `1 G& `% h. P
       
# @: d" G& J. L                                memcpy( &m_light, pLight, sizeof( m_light ) );
3 g; [$ m8 L9 D( k% T8 Q# A+ l( U1 Y3 ^- l2 d5 \6 g
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- A' Q% I$ K4 r0 }6 C
                                D3DXVec3Normalize(&(vecSun),&(vecSun));7 G0 z+ Q% n/ @
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ' ~, S" z+ {9 A
                                pLight->Appear( m_pd3dDevice, TRUE );- O, {# G9 m3 s$ r  e+ W! l' m7 n- ~
               
$ o# V0 M$ k% W' R8 P  {                                DWORD dwR, dwG, dwB;9 ~- C8 W; Q1 p* |/ ~
                                dwR = (DWORD)( pLight->Ambient.r * 255 );
! d) h- p# m2 q6 u7 J                                dwG = (DWORD)( pLight->Ambient.g * 255 );* P/ z- @) J5 u7 ?# I
                                dwB = (DWORD)( pLight->Ambient.b * 255 );
5 A; p3 {( q! C1 A3 ^) [                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );. s& s: T, V. i* C6 N
                        }
) O1 l) o! l& N3 X                }/ ~/ p% c& m7 i% e0 G
        }
* Q  ~% g- d6 e9 m6 z        else0 L% v9 O/ Z. d4 Q# s
#endif
( [+ w" T2 j0 m1 ]9 p5 r
: @! j; w  ]; E1 k5 `        if( m_bIsIndoor )
% ^/ f; E' l; D2 Q        {; n4 w- L+ e) ~6 L& Y; K
                if( pLight )
' F- k7 _3 P# C& S  x                {                $ c# m6 g( A: M  h6 k6 x; G* K
                        // à??μ oˉè*
' A  {  T1 Q& q; F& g                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;; A& a+ \* y* e
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;' Y$ b8 ^; a& s! U0 k
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;& L: `1 [& |* d- p& t6 L
8 w  ]3 U9 m3 d2 M
                        // oˉè* ??à?
) o2 b  @- W5 a7 N) O- ^! j! A                        pLight->Specular.r = 1.0f;
+ h& U/ ~' y' z' x                        pLight->Specular.g = 1.0f;
2 y) x1 i9 t4 {9 K" j% y" _# ~: [                        pLight->Specular.b = 1.0f;' n7 M. G  ^" p( M5 ^- [
                        // àü?? oˉè* ; k7 k* \3 T) J% L
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
: L5 D" S* n# W- I, F! P                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
; ~& e; u+ Y9 J6 N$ I% b! p                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
8 h4 F9 k; _9 `# D- P* V, ?& Z$ O
& ^8 ]. l! S! W  ^* J5 ^                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.) Z: D2 ~) ]  v$ m. H' J
                        {3 c# b3 R3 w7 V# O9 f' R& h
                                pLight->Diffuse.r *= 0.6f;' ~$ w  a3 b! g3 m6 O4 [6 E
                                pLight->Diffuse.g *= 0.6f;
! G3 w! e7 q5 L9 Z8 M# x& L5 {                                pLight->Diffuse.b *= 0.6f;
; Y" A( B" ~$ u4 f# q1 \                                pLight->Ambient.r *= 0.7f;
  D; i& D! U& D3 c5 ~( j                                pLight->Ambient.g *= 0.7f;
9 Z6 i% ]( ]" o- O( ?" Z8 I3 x                                pLight->Ambient.b *= 0.7f;
3 W' F* S0 t) N                        }
6 j' x" n' {, V( x' W6 ?+ ?9 {
9 E3 {; z# l) D0 V' r3 X#if __VER >= 15 // __BS_CHANGING_ENVIR
! V+ `6 K& x' d& ]& U3 U                        if( g_pPlayer )
6 R% \4 v9 ]7 U7 t; B                                HookUpdateLight( pLight );
( I, Y. ]5 H( o7 K7 _' G4 q#endif
/ M& F; K; Y5 y3 {, J2 v                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
8 U& y3 M7 [7 o2 C) |$ ^7 m' _6 ~
3 w4 w+ V2 ~; w& G- M                        pLight->Diffuse.r  += 0.1f;- C) P7 S% Y6 p1 \  r9 h! t
                        pLight->Diffuse.g  += 0.1f;2 c3 Q: j# d. @9 X6 N+ Q
                        pLight->Diffuse.b  += 0.1f;
5 w2 F- B; |5 P6 f+ F: G                        // oˉè* ??à?
- n. u# J! ?/ a& ~1 K( b* e+ \# w2 w                        pLight->Specular.r = 2.0f;
7 Z+ O) o! c' k% G- j0 j                        pLight->Specular.g = 2.0f;
( ?0 s0 |- d/ q& i! c" `+ n                        pLight->Specular.b = 2.0f;
2 Y4 N2 _# `" |" w) |                        // á?oˉ
. t; a2 ^0 M- Y3 ]2 q- O                        pLight->Ambient.r  *= 0.9f;9 p1 ~4 \7 m" ^0 o, F1 h# C
                        pLight->Ambient.g  *= 0.9f;
6 C$ O$ h& u" m. Q+ z                        pLight->Ambient.b  *= 0.9f;
, `5 C" Z6 T7 O; O7 ?* E, v9 n% e  F! g: l: T
                        memcpy( &m_light, pLight, sizeof( m_light ) );3 R9 \, O$ \- C! W' \7 r: c
                       
8 W0 P) _6 v! v& x                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );, ^. }7 ]2 k. Q9 T# N7 g
                        pLight->Appear( m_pd3dDevice, TRUE );1 f1 G: j) w; a8 a/ L
       
3 a; \: x) u" t: _7 `2 ~8 Z                        DWORD dwR, dwG, dwB;8 t1 [+ U. N, U) s$ P- i; D/ Y
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
% v" Q" w' ^& ]2 w3 V* s                        dwG = (DWORD)( pLight->Ambient.g * 255 );) ]* [" t* [; @! S4 C
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
) N# L5 y& o  ~) x2 Q5 f                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
6 e+ G* R, {; I& L  R9 D                }- f2 ]/ D* Z8 {& }2 ?3 c/ a
        }9 h  |; |: |3 _5 H$ r
        else
! q& ~0 X6 Q. w" V( R6 O        {
* x, I. k6 z7 W" x9 o                if( pLight )
5 l3 b) {, u; c8 z7 @7 D                {* Z' |4 @! E) F4 q) ~' `, X
               
8 Y# U& m3 s6 A- e                        int nHour = 8, nMin = 0;
4 Z; A! d% t; t$ i' o# S        #ifdef __CLIENT
4 e5 ?  j. _9 W                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
0 D/ @3 f& o7 M0 w                        nHour = g_GameTimer.m_nHour;$ n$ Z. x! W' s# W+ }
                        nMin  = g_GameTimer.m_nMin ;7 ~* n" e2 @+ O* @4 [
        #else
  t! _! ^% U( p5 |                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
4 J8 m& S, ]- h' ?' H2 u                        if( m_nLightType == 1 )
2 C9 L0 Q. z. I4 l. z                                nHour = m_nLightHour;# V+ m" q* \& V( z7 h: B9 @
        #endif; U1 s+ j( q/ W4 D: D' q; U
                        nHour--;
/ g1 `3 {6 t8 t                        if( nHour < 0 ) nHour = 0;
) p6 o4 L, t- Q  t" F& J+ G  Z                        if( nHour > 23 ) nHour = 23;
5 r0 X7 \) B2 [% D1 M
* d! M) \, a' g/ r+ _& g                        //if( m_bFixedHour )8 v2 L8 A% y, B
                        //        nHour = m_nFixedHour, nMin = 0;) l9 X* s4 D6 h. s& C$ R
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];& j1 g/ B7 z: p5 X
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
: T9 }. b# d, ^0 Z/ E( l
4 x7 |6 P/ v  ~' S# t9 b+ ^                        //m_lightColor = lightColorPrv;+ W# Y; ]& r* p6 B' o4 A9 h7 T* W* o! V
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
0 o( o8 M! u% e& h) _  y, Y                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;9 U. @, E* j  W0 w7 ^4 L* _" p5 x
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;, Z4 L+ i& u; s, q+ U0 i; H
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;/ T* ^1 j" H1 j  @  N
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
$ B* u" s/ C  S" s6 g                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
) D7 o/ T  w8 P                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
* }* d% ?0 F6 J6 f; s/ z" x; X$ ]0 W& p) M
                        // à??μ oˉè* ' T7 u7 n# u+ l. [: b9 b
                        pLight->Diffuse.r  = lightColorPrv.r1;7 R6 I: U$ x3 P& M) b
                        pLight->Diffuse.g  = lightColorPrv.g1;$ y) X% u- g8 z) x/ T9 C; w2 M$ @
                        pLight->Diffuse.b  = lightColorPrv.b1;
2 p) `% b# L4 f& Y8 p2 B                        // oˉè* ??à?
( l6 z  _: V0 J                        pLight->Specular.r = 1.0f;
6 }# C6 t1 U8 p8 B7 D7 }" M# U                        pLight->Specular.g = 1.0f;- d$ @8 R: \0 k  A8 K' Y# Q8 j" T; j
                        pLight->Specular.b = 1.0f;
' H- [3 |3 [; Z$ V  w                        // àü?? oˉè* ( ^2 c8 h, S" r0 n% H- V
                        pLight->Ambient.r  = lightColorPrv.r2;
- q) a8 E  e" a/ A: H; w# U                        pLight->Ambient.g  = lightColorPrv.g2;
& \$ M: x; S# A9 T                        pLight->Ambient.b  = lightColorPrv.b2;
0 g) v' v( i0 {3 \( h- j
" ~. k. ^! ~  X                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.' _& `) i8 a' H
                        {- U/ M- I7 j; z! o
                                pLight->Diffuse.r *= 0.6f;: J% I# J5 z8 f! N0 i1 b2 h9 ]+ _
                                pLight->Diffuse.g *= 0.6f;
  G6 J# D0 l: a  ^' d                                pLight->Diffuse.b *= 0.6f;1 S  p# I3 T: c+ N. M; c
                                pLight->Ambient.r *= 0.7f;
/ }* f+ @7 k: M% z+ h  J- U" B9 ~                                pLight->Ambient.g *= 0.7f;
+ m) Q& H& c) P% z1 y                                pLight->Ambient.b *= 0.7f;
$ m( c; D; B0 W8 T# u, u( I! e, K                        }
8 {6 G  w7 x9 ]/ W: j) ?8 g: f                       
6 _4 F# E, ?7 r  M" k# X6 w6 R( o8 j#if __VER >= 15 // __BS_CHANGING_ENVIR: Q% q( I/ B; \# q. T, e* J
                        if( g_pPlayer )! a, E, \4 O. s7 n6 l0 Y9 l
                                HookUpdateLight( pLight );
7 o6 n/ ]% t; Z4 e2 k6 M#endif  x5 m$ n! F/ x3 p3 ~" O
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
" s! Y" `. F2 J" F; F' x) c
) d- r# d  K1 |1 V) z( T1 g4 i' `. r#ifdef __YENV
/ r4 Z5 ?! J- T9 q/ ?: I                        pLight->Diffuse.r  *= 1.1f;- y  x# `, T# C( H3 R
                        pLight->Diffuse.g  *= 1.1f;
2 [8 O8 e! |7 o0 w                        pLight->Diffuse.b  *= 1.1f;
3 v: q! n$ c: t( Q- W                        // oˉè* ??à? / e5 U( A* [% }
                        pLight->Specular.r = 2.0f;; [9 l7 ?3 l! j2 p0 ]' T0 k; F
                        pLight->Specular.g = 2.0f;1 I- q# ]+ h% o0 {4 B0 [+ i0 H
                        pLight->Specular.b = 2.0f;# F3 s$ K' l, ?8 Q% A
                        // á?oˉ
: c5 T: E0 `# u; N- A2 O& i6 C$ z                        pLight->Ambient.r  *= 1.0f;
. n" q' T$ r3 e                        pLight->Ambient.g  *= 1.0f;
2 o) `3 K2 L2 Q- a) z! w                        pLight->Ambient.b  *= 1.0f;3 O0 l# O  ]) L7 A. O, y% I
#else //__YENV
% h% }) s  r1 \0 t) ^: K. \                        pLight->Diffuse.r  *= 1.1f;0 {  J# f) ?' r" |% ]7 M
                        pLight->Diffuse.g  *= 1.1f;- w# W3 ~( I1 E+ g* Q+ H, E  x
                        pLight->Diffuse.b  *= 1.1f;
7 {5 q' Q* }/ _9 v/ h, c) W3 g                        // oˉè* ??à? 4 Q  ~& m( ~- A9 j. s
                        pLight->Specular.r = 2.0f;
2 u: N6 N% ^  f  |, _" s& ~- L                        pLight->Specular.g = 2.0f;; N! y" l/ [$ q6 e' d
                        pLight->Specular.b = 2.0f;
3 A( I) E+ p" z" L# |                        // á?oˉ
- P# N  Z0 |! v2 Y8 h; t7 n                        pLight->Ambient.r  *= 0.9f;
8 Y$ g+ }8 l8 |, h1 r                        pLight->Ambient.g  *= 0.9f;& i! ?# q5 K2 x
                        pLight->Ambient.b  *= 0.9f;
7 `, I& i/ B- X#endif //__YENV
) e& v4 D3 S6 F. ^% d                       
1 g0 o8 r2 ?, R5 E" N                        memcpy( &m_light, pLight, sizeof( m_light ) );
" N7 b  ~0 [0 p, K- v1 U. Z                       
  e  p$ l- }0 N; J) o                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);/ M" X' O$ v" K* Y9 `* l4 M
                        D3DXMATRIX  matTemp;" j1 N  W) M  B
                        static const float CONS_VAL = 3.1415926f / 180.f;2 C1 a( l; j% j3 T  Y0 Y7 ^

4 h9 O2 p* B0 u. z                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);& H7 D% z! h6 O
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
/ V9 b3 ?, ]6 K  |* I) L! q' k& J                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); - u  q9 F% S- g2 v
                        pLight->Appear( m_pd3dDevice, TRUE );# d+ X/ \* i" b" [8 m$ _

8 C, T( Y; S0 X+ t$ T                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);# @: K, v$ {5 Z' o+ Y8 T4 i. W
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
9 i3 q% `3 O7 j5 V2 Q                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); / S8 d/ O6 C) w8 {" }8 v9 B

  X* H# K" R2 o* z+ ]                        DWORD dwR, dwG, dwB;
' V3 i6 u1 x2 k' z5 V" o                        dwR = (DWORD)( pLight->Ambient.r * 255 );# f% N- J8 P4 t/ m* X" `- F
                        dwG = (DWORD)( pLight->Ambient.g * 255 );: I3 h3 n% t" z  z! C1 t( r9 f) N% \
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
# P# I' Y1 m3 x2 q4 k& l                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        * Z8 ^9 P" b" V9 d5 f8 S
                }3 w, v  }9 e0 o* p0 `: y" x
        }
0 P1 X6 u- h; M7 p
, q: W6 f" J7 ~7 c6 B3 J        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );& f* s: m& ]0 X5 m- H7 i7 }7 F! 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) );
  ^; e( O6 Z; J6 Y' Y  n        ::SetLight( bLight );! ]( F: z4 e, k+ l+ @" C

' J7 w0 [' o+ _7 U        // ±ao? ?D?í???ó á¤à?
: Q8 y/ t8 b9 H* j) s& Y        m_pd3dDevice->SetMaterial( &m_baseMaterial );
- W7 [* `! I; m9 y        4 O9 W/ X0 I. u9 A8 f9 [
#endif // not WORLDSERVER: G( X) V; U* b; u( G
}
: t! Z: @9 M1 ]; g并更换
, u* A# Q$ L. g5 j. ]8 Y" bCode:
& u6 w( f; T6 ~' M6 m6 ___FLYFF_INITPAGE_EXT6 J8 X# c0 U+ Z8 R2 @
定义8 K  f2 m* t! P$ l: S0 r( V
, u0 @$ \. o: x8 c% t
7 O3 E6 i/ g0 Z% k
; D8 e6 @/ ?4 J5 z
7 A, V% x6 `6 H8 M6 d. v
现在终于删除我的狗屁加速...& F4 H9 O- x! o

- N/ V  d% u7 z% m, x1 \2 o, f8 j8 ]% F) m2 v, {& h3 s
; Q7 m  l2 \8 l2 c7 ^- y





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