飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:
0 q) G$ ?4 m# r, n# ]: G尾翼:
# I" r+ |* ~- P# W4 P* P' U4 h4 @$ h9 s  w1 A
代码:; a8 E: D& T4 f6 {* r
CWndAutoFood::CWndAutoFood()
3 |: D# A9 n9 {; i9 A# |{3 k9 M3 c6 [- b0 _3 [3 B
        m_pItemElem = NULL;
% b2 d" S& G/ i        m_pTexture = NULL;
" y4 i/ n7 Y8 V% a/ t: u        bStart = FALSE;9 V3 \0 R/ m7 J$ w
}: {4 e. a$ r. O

" K) w) p; @+ f2 n9 ACWndAutoFood::~CWndAutoFood()
% t9 A2 ?$ e2 t$ _+ J9 b) d{3 b: Z, ~3 ^6 T* _; X1 H
        AfxMessageBox( "AutoFood ist gestorben " );7 w9 [. x" @# i& U: D
}
/ i  b% Y5 }8 _9 \: \5 l3 eBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
0 Q. X! i) [- t% R{1 p- r& Z5 ^; S5 v- _8 f
        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
+ s& E/ r$ p7 G4 a) }$ l5 V}" |0 `- Z) `: q4 ^5 W+ W

/ f  g1 l3 m5 y% w  |# ?BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
3 |  k# }9 A0 B! d* C: u{
8 x, a! J: S. B3 I! K% O        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );' q- {% k. l) f1 x' c
        CRect rect = pWndCtrl->rect;9 ~( z2 o0 B' r0 b8 q9 E. F8 B! q
        if( rect && rect.PtInRect( point ) )8 g7 P4 ?4 c3 V# y; t( B+ I, ]2 O
        {
5 O3 l! T" P$ c                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );. Z/ g5 S7 T6 L
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD ): ?- F& ^+ ?) {% r7 o9 w4 O7 \/ ?* Y( M
                {5 O1 l' T& k4 V- Y5 F5 ]
                        if( m_pItemElem )1 ]+ n' t$ w" ?: V% O8 [  |
                        {; N( h& x. @" f. t
                                m_pItemElem = NULL;$ V1 B' |  y6 j# x3 e6 }
                        }+ X! X0 C7 P- f/ Y0 O* p2 x0 r+ i
                        m_pItemElem = pItemElem;, O$ i( E6 e( g. P
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );- x, T9 h% D& I& b5 `7 S# [, \
                }else{! ~1 Z% }: @* f6 G0 u- i6 t
                        SetForbid( TRUE );! [& Y% m* v  }# o
                }
& V# w+ C& T+ s        }else{" }+ I  q: X2 f2 G6 X  O; Y
                SetForbid( TRUE );3 j& D, I, ^: e- C/ U/ i! }3 @
        }
3 P" v9 c8 L7 ^; r0 C, `9 i. o9 z        return TRUE;
) o6 u1 h2 v7 f  z; x/ m! L  T}5 u$ K6 \0 p4 X1 F9 o6 K+ c
2 f+ h% ~2 s0 a
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )7 e% H- I6 J2 B1 i
{( @+ P- v/ N2 K0 d/ u
        switch( nID )
" Y9 C! i! g% p- W* c9 `5 w& O        {% d/ u: I6 c( z
        case WIDC_BUTTON3:. v7 W4 t" E9 v/ O0 t4 r- F. B
                {6 u! v7 d$ h3 y4 U$ k
                        bStart = TRUE;
# @1 p) `5 G4 @. i/ d* [, A                        break;, k( C6 I( Q- q! q! |
                }
. _! b0 e! h* F( ~        case WIDC_BUTTON4:
' X0 _' d, W% i$ s' Z  ]8 Q                {( z; I2 D6 d; @$ }$ a- x
                        bStart = FALSE;! m1 J0 Q/ c" y/ Y5 \
                        break;: o3 n& A9 R( {6 C
                }
8 Z* P% z( x0 T, l. {        }" g& L* C) ^5 Q6 `$ D+ B' Z' T  X
        return CWndNeuz::OnChildNotify( message, nID, pLResult );  I' X( W3 c4 a6 U3 @( ]  x
}        ; F: ]( W( r, w; x6 ^% k8 x* b
void CWndAutoFood::OnDraw( C2DRender* p2DRender )! k( Q# n( v0 w) y% @, C
{: p  k) B' r+ |$ O' \
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
2 h+ g$ h7 ^# ?: w        if( bStart || !m_pItemElem ); o/ x* h! r" g* }1 D  S
        {
0 t2 H& p6 U2 O5 n- U: R3 v                pBtn->EnableWindow( FALSE );5 ]$ b6 b+ n8 _
        }else
$ V# M6 P4 T3 j% l! a$ M                pBtn->EnableWindow( TRUE );
% }6 g6 }+ ?5 u! J8 O        if( m_pTexture ). I" ~' n( y: |2 {$ a( Q0 M
        {8 d+ M1 y+ g$ f+ u; R1 K! ~
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
' h0 v( ^4 @- Z. d' m3 k) k* C: C                if( wndCtrl && wndCtrl->rect )
& `7 w4 }$ r# d$ h5 s                {2 O$ C+ {& R! [! X/ B, Q
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );/ |1 R- Y7 L2 Z, l& H4 r( ^" W" t
                }
2 r' c  F: h6 c  v# M% _& l2 S        }
) z( V( Z2 m, v/ \1 M5 M+ T}( k1 x8 E' A, T% v/ p
, h: V# }  y' K  b2 |3 L
BOOL CWndAutoFood:rocess()
; c/ q% ?% M: v' F4 j{
9 Q+ l2 M, N" g3 q4 |+ K        if( bStart )
5 o3 l# s/ E' o        {* V1 }. `3 \- G
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )( e4 O7 f1 ]  {# @& s. ?; F2 n: j
                {; s) H5 X: ]+ ^- p% q8 h( S% 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() )* i) q4 d- e. `& w$ A1 l( z, b% `
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
9 W* v! C1 e" ^* V                }else{9 n0 V& H( U% z$ O: J
                        bStart = FALSE;! P4 V4 S2 g8 G- G3 I; p
                        m_pItemElem = NULL;# j' U# W( V; r( t+ e" g
                }
) i! y0 l1 i$ }: \8 m6 a        }
4 o8 u/ A, e/ y8 i5 Q, c' L        return TRUE;
1 H) e& K; l2 B# _}
7 k5 r* j5 t' Q; v
; M# H5 A5 U& f1 d0 }登录视频废话:
1 N& [( c# ^( L4 u0 A尾翼:
" q$ L$ ^2 \3 ~+ j' \3 S- P% g2 Z5 {& Y# Z5 P
代码:0 u9 }9 z7 F2 S5 Y7 H
  g/ L7 N7 Y' r* m: d
void CWorld::SetLight( BOOL bLight )
) F# Y& N# O& |9 {6 [* M# pdurch
, S- \+ F/ J2 M' t8 s) R% q: pCode:
8 k9 C/ r' O0 B  e: o5 dvoid CWorld::SetLight( BOOL bLight )
9 A, k, N! X0 A* K' r{" l6 r" r* _& [: s* g/ |
        //ACE("SetLight %d \n", bLight);( T% i( g( W: v0 M
        & G8 E6 O7 O4 W
#ifndef  __WORLDSERVER
! |: B4 Z- t7 I$ V+ K. V4 \) Y        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
& x3 Z% o% y/ P6 o9 ?" j: r        CLight* pLight = NULL;3 _0 }5 C0 k& X0 Y
1 Q6 O& z, q6 x- t5 F: d8 k9 `
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );8 n( G+ D% X! m& Z' Y/ V
( h5 Z  O3 V' V
        pLight = GetLight( "direction" );
0 N/ i4 J% P" Q2 X+ Q6 f. B0 `: s
#if __VER >= 15 // __BS_CHANGING_ENVIR8 f. i; [( {. ~* x# @: z
        if( g_pPlayer ){
  o3 @& O- ^1 U( k1 F. L7 }( n0 r* P                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
) o( N1 i1 A0 E8 y                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
, a, Y0 Y! C0 e                {
( B) s2 P3 o7 F7 z9 w                        if( pLight )/ B9 A* t4 w' l) {( Z2 k
                        {& z$ _0 i+ }: _# i8 C; O) `5 D
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
0 I+ G* n  O  |: y- j2 _4 O                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];1 ^. T2 Q1 e/ ^* t3 [/ J
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
! l- e' e3 T0 k3 N* O& X2 k7 M& S1 L1 `6 s1 A5 f1 Q( e
                                pLight->Specular.r = 2.0f;
5 W  \9 g9 i5 A' X1 K' u5 n                                pLight->Specular.g = 2.0f;$ W7 x1 i. ?' f7 f
                                pLight->Specular.b = 2.0f;8 Q) _' z4 Q) l# X  P" Z! ?
        6 S4 i2 T! b% a9 x3 {& L% Z
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
3 m" f4 b' f: ]# e9 g                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];5 q, ^/ c9 x- Q0 [
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
# {" _, g/ g' M! J  t       
) s9 w7 R1 `: S7 @* g# B3 I                                HookUpdateLight( pLight );
5 ?$ \8 b  v1 h" n8 k5 U
, @# d6 O" j: O! N# ]/ O- H' K                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
3 m1 R/ S/ q. N) {1 \5 @                0 j* P. K% g7 m7 Q( P
                                pLight->Diffuse.r *= 1.2f;
& f$ l: n* H) C. A5 t( p1 R  z                                pLight->Diffuse.g *= 1.2f;
# N( ^2 P! e8 Y0 M5 n# e                                pLight->Diffuse.b *= 1.2f;
+ ?$ F$ g8 {; C7 a$ {9 }( g% T2 M/ {5 `
                                pLight->Ambient.r *= 0.8f;
8 L" [; a8 }5 ]0 ^, N2 o* R8 Y                                pLight->Ambient.g *= 0.8f;  z1 D9 k8 \# a: M( H' I8 w. ^8 g
                                pLight->Ambient.b *= 0.8f;
9 O; j5 C& ?  |; z5 ]        0 A3 ]. V0 F; D2 P
                                memcpy( &m_light, pLight, sizeof( m_light ) );
8 Q: K1 W/ j, _9 w; d$ Q: `. d, T0 g: k8 J; K+ g- M$ Z
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);, M+ ~) y- k4 m6 Y8 o
                                D3DXVec3Normalize(&(vecSun),&(vecSun));
# ^0 x; ?& D3 H! p3 G& I  E                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); $ U6 n! H( z' p/ i( H
                                pLight->Appear( m_pd3dDevice, TRUE );& D4 }# L9 W- c2 ^+ E
                7 T: T7 X" K# m' n4 o- X+ @3 G1 R
                                DWORD dwR, dwG, dwB;
' d6 K8 U4 e, x( L( _& m* L& d, M1 O                                dwR = (DWORD)( pLight->Ambient.r * 255 );
! Y: `: H6 v, l6 B8 ^                                dwG = (DWORD)( pLight->Ambient.g * 255 );
: y- F; y4 E9 P3 _0 ]' z" Q. W                                dwB = (DWORD)( pLight->Ambient.b * 255 );
0 h- x, g1 l: H0 w; d; @; H, P                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );. w, n; o9 |- t3 C
                        }9 M4 X" U+ R+ O4 `: D7 d
                }
, e, n) p5 H. @" @) x6 e        }
+ R1 @5 W$ a3 S/ R; b% e* ~        else# O/ Q+ Z7 g/ b0 q$ }: h# v" K
#endif % E3 O7 j! b, |$ u' n
0 c0 E/ B. N! K" a9 R( a
        if( m_bIsIndoor )
: U* s) y; s; n  J3 U        {
/ H' k1 L6 `6 S' w2 u3 V                if( pLight )4 T  n7 `' F3 {; W
                {               
9 z; A. [" Z6 P/ q  K3 w/ {4 Z) H                        // à??μ oˉè*   C% O" {; \0 ?
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
) c  L5 y+ ]7 `" x                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;4 Q3 ?) Y0 K7 q
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;0 K! ~1 d$ |# C& y+ A1 ]
' G6 L3 c: o# _1 l4 ^5 u# N5 V
                        // oˉè* ??à? . }! {8 X2 _( D: |1 I; a) E4 _# m
                        pLight->Specular.r = 1.0f;
7 @4 `2 w" e/ N+ T  g- D4 }* O5 q9 i                        pLight->Specular.g = 1.0f;) L, L, c. i6 \! f, U
                        pLight->Specular.b = 1.0f;
+ `, o' J2 q# \1 r& ~' ]                        // àü?? oˉè* % }$ f' P% r( s2 n" a- D; r" A
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
; N, M* i: Y2 l7 s$ \% J- [+ c                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;: |& Y& o# J. H- }' ^7 \
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
4 V8 g' m' c- Y, \) g2 X: V4 b& t6 e2 z1 u6 z
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.$ _0 e' \1 D; b' h* R
                        {% C4 c4 X+ J: ~! l
                                pLight->Diffuse.r *= 0.6f;
9 |: g5 ~. `( r" c1 ^& d" a; v- U                                pLight->Diffuse.g *= 0.6f;
* R0 s% f" v7 V% z  U                                pLight->Diffuse.b *= 0.6f;  i; `0 x# t. o/ J
                                pLight->Ambient.r *= 0.7f;
: M- x1 S' u! ?1 h3 z* o                                pLight->Ambient.g *= 0.7f;
$ n: ?9 t+ x+ z4 W8 i  f                                pLight->Ambient.b *= 0.7f;8 }6 `9 [! g. m) i. W" T  L* K
                        }
' k* r; ~8 N. V3 i% g8 ^, x* C  r% a+ s$ q( [4 i! h! |
#if __VER >= 15 // __BS_CHANGING_ENVIR
4 }; f8 V" ]9 ?3 z                        if( g_pPlayer )
/ h) R/ g5 G/ Y                                HookUpdateLight( pLight );
" e- A$ R4 |2 Z3 [#endif9 I3 d1 I  g' D( p
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% @0 o" c: L; Y, B" p! T* y5 X3 z
% H3 l1 Y% ]# Q. I( [                        pLight->Diffuse.r  += 0.1f;
: M9 Y' f2 x$ }6 ^7 z1 T6 ]* d                        pLight->Diffuse.g  += 0.1f;
' ^' d8 G# y) J                        pLight->Diffuse.b  += 0.1f;/ ]: i4 k" R" l
                        // oˉè* ??à?
4 Z8 m% G3 x5 x2 @' l- t- |                        pLight->Specular.r = 2.0f;( Q# O9 t9 B6 R* R3 q
                        pLight->Specular.g = 2.0f;
. C$ p2 J7 `' v                        pLight->Specular.b = 2.0f;
! f0 m+ D8 @# v9 w9 t' B                        // á?oˉ 0 A8 }; F) N' P' k+ @  A
                        pLight->Ambient.r  *= 0.9f;- T! D0 ?( e- j: k! H( g
                        pLight->Ambient.g  *= 0.9f;: F% \9 u2 u6 @5 }* a/ I
                        pLight->Ambient.b  *= 0.9f;
* @1 T) d& D6 f3 G5 C, c8 H3 a& b+ n$ J5 e8 C2 v
                        memcpy( &m_light, pLight, sizeof( m_light ) );
4 G, q' P/ e& L* s                       
+ x0 Y: @$ J) p# l! m                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );  ]1 D/ Y! L" r, s% h9 w8 _1 v0 |* L
                        pLight->Appear( m_pd3dDevice, TRUE );& T' k$ R1 x8 D, i$ m' p1 [0 H
       
8 U& r! t( F3 K3 k& @# F8 K                        DWORD dwR, dwG, dwB;
  k. S0 Z4 u: H                        dwR = (DWORD)( pLight->Ambient.r * 255 );
; q" F( y, R, S) @  L                        dwG = (DWORD)( pLight->Ambient.g * 255 );
, V, m6 b  ?# N1 g5 \) J                        dwB = (DWORD)( pLight->Ambient.b * 255 );. f" w# G( I7 Q1 c0 z7 R
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; p/ F- q( j& ~9 U9 M                }# x+ f3 O5 f; Q& I
        }3 P6 z; A4 l. H1 |1 x. P
        else
% h- v4 D+ R' Z! Z) |4 L' }        {# D- f+ j; C4 O* `! D& {$ z6 F
                if( pLight )( `: ^4 B1 |, k5 b  u+ Q
                {
, n/ X2 e: d0 d" c                5 `+ r1 b3 ?2 o# m. A0 {
                        int nHour = 8, nMin = 0;( ]7 e5 ]( W3 x
        #ifdef __CLIENT
! O: L* L) k- {3 X, @2 X                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
: g! ~  Z$ w+ e2 ]( d- G                        nHour = g_GameTimer.m_nHour;
6 w; K. e) g! w! u                        nMin  = g_GameTimer.m_nMin ;
. R: ?- j, Q8 V" i/ `6 o        #else
8 @. Z* l' s' V4 Q: u& a: l  {                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
  |  H: z9 _% F  j3 u0 W% S. s8 _* w                        if( m_nLightType == 1 )( J* H" j# W: N( K1 G! ]; C/ `
                                nHour = m_nLightHour;/ v$ v; j# A* A' {3 K0 l
        #endif
  y! A. g3 h- ^, B$ P  }                        nHour--;
2 S0 V( H, Z3 z  @4 z                        if( nHour < 0 ) nHour = 0;/ c# k$ |! o; J! V. P
                        if( nHour > 23 ) nHour = 23;
" F: \0 C9 p  L$ i1 Q0 B, Q5 R& d9 U8 U7 x9 R" g' v- X
                        //if( m_bFixedHour )  K' D6 n7 v( ]2 t: B% M
                        //        nHour = m_nFixedHour, nMin = 0;6 k' n* B$ [8 ?
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];* r# v9 N1 h0 d% E
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
( |: B# U; \' M" Q/ @  J; h) {( G4 T& ?+ Y" T
                        //m_lightColor = lightColorPrv;
) o. v$ Z8 H/ T% p! h. M                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;( m% t  i2 t$ F; m+ ~3 B
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;8 b. h+ [- G1 n/ Z9 g
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;) {' ]' S) T& g7 }4 G
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
* Z  t8 n% u8 A7 V5 I; J6 }                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
+ e2 [& v/ s8 s- j7 J                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
1 X: `  G/ j* k  B& P3 T9 Z- r                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
1 H5 n: ~4 S/ n# n
) P, |* \4 ^( @" B1 A2 i                        // à??μ oˉè* ) f5 V3 W2 F4 v1 G; {" C; L
                        pLight->Diffuse.r  = lightColorPrv.r1;) d' o* z; ]0 t6 A3 h7 p$ S1 ]; B
                        pLight->Diffuse.g  = lightColorPrv.g1;, w- @# J/ ]6 ^+ G3 s
                        pLight->Diffuse.b  = lightColorPrv.b1;
* m% l4 f) P- Y                        // oˉè* ??à?
7 r, N  U6 n" h' b$ M7 }8 i                        pLight->Specular.r = 1.0f;
$ n) O, A( b4 j" }  S% F+ L- k                        pLight->Specular.g = 1.0f;
" n7 a4 a! L8 c" V& ~                        pLight->Specular.b = 1.0f;6 j( @: U9 S/ [) [: n
                        // àü?? oˉè*
% ]8 B( O4 `+ K" ?3 B! {                        pLight->Ambient.r  = lightColorPrv.r2;
3 K6 q" H$ P- d6 v% g- J                        pLight->Ambient.g  = lightColorPrv.g2;* C6 j0 C2 T4 d2 d' o
                        pLight->Ambient.b  = lightColorPrv.b2;
# O1 T- `" d. ]2 o$ R9 ?
2 W# g9 s5 {: K) ^( r: E                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
3 l6 g1 W4 X8 C2 l                        {
7 D3 N# ^5 U& Y; O/ X4 d                                pLight->Diffuse.r *= 0.6f;4 K! F5 s  t$ d; n2 t) U
                                pLight->Diffuse.g *= 0.6f;
  q1 }' I" |& l, Y                                pLight->Diffuse.b *= 0.6f;
8 p+ @- a" {' ]0 `- h) c0 K( k                                pLight->Ambient.r *= 0.7f;4 q. B$ }/ N; l$ A% m& k' g, v
                                pLight->Ambient.g *= 0.7f;
1 ^% O; I1 S& l4 V                                pLight->Ambient.b *= 0.7f;
  R) x* X- k; z  U6 b4 g                        }
* v" |( ], F( G* f4 o# q                        ! d. L) Z( F/ T4 O/ M6 B. d
#if __VER >= 15 // __BS_CHANGING_ENVIR
; ?" Z, h7 b$ U. z  P2 ~5 s( N                        if( g_pPlayer )3 L( n$ b' _0 o" k2 Y; ?9 B3 p! n& c
                                HookUpdateLight( pLight ); ) u3 n9 e. k6 b2 v% n$ R& \
#endif% X! B! E6 y$ U. H$ k0 D
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
  Z) W! O6 n. t% W# g* W6 R7 m: N
#ifdef __YENV! s# I- X* Q. M1 t" s/ S6 S  Z4 c4 |' ]
                        pLight->Diffuse.r  *= 1.1f;# Y- T) _- r* B( [
                        pLight->Diffuse.g  *= 1.1f;, G5 |3 E  ~' H
                        pLight->Diffuse.b  *= 1.1f;
7 @6 B8 E& U2 e9 j1 Z3 P                        // oˉè* ??à?
+ u% E; v% `% W' D$ e                        pLight->Specular.r = 2.0f;( n" f6 d) M" a0 q8 Q# |
                        pLight->Specular.g = 2.0f;
7 ^2 n# P$ E6 x  E6 K; }1 N, K# z                        pLight->Specular.b = 2.0f;
/ l. J/ j/ ~. B  S5 L2 L0 T                        // á?oˉ
" G$ K4 n; q% w+ [6 a* n                        pLight->Ambient.r  *= 1.0f;/ O+ C6 n7 n  k6 N4 G
                        pLight->Ambient.g  *= 1.0f;5 O  `' P3 |. ^& z, Z
                        pLight->Ambient.b  *= 1.0f;
# S" }! P5 F( D$ ^9 U! o+ S#else //__YENV
/ H: y) t' M! L" X+ N7 g, d5 N                        pLight->Diffuse.r  *= 1.1f;
" Y, M# h7 }7 l: c) }  a- W9 y                        pLight->Diffuse.g  *= 1.1f;
! b% r% O" h9 Z6 p$ v; I! `6 z                        pLight->Diffuse.b  *= 1.1f;
' v" y! v2 W0 x/ s1 ^                        // oˉè* ??à?
5 y% Z, }, Y; [" c# l                        pLight->Specular.r = 2.0f;
, C7 l" K/ b0 o6 ~8 u0 n                        pLight->Specular.g = 2.0f;
) i: G8 [  y% M+ P& [! l                        pLight->Specular.b = 2.0f;- Y3 }' B* y. O7 ^$ ]
                        // á?oˉ
7 ?) V# u8 L; w8 j/ |# Q/ l# a. n                        pLight->Ambient.r  *= 0.9f;! [9 T0 u1 h' i( L3 @8 }
                        pLight->Ambient.g  *= 0.9f;
8 m' T8 A# G  k7 J$ X1 u                        pLight->Ambient.b  *= 0.9f;
% N6 T5 R  E$ ^7 \0 U#endif //__YENV & G  p: z! ~4 H6 h$ N
                       
: Q7 ]* X: i# u" u                        memcpy( &m_light, pLight, sizeof( m_light ) );$ d6 Q% w+ Z* p
                       
" |- S. U" v( b3 U# y8 D                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
" [+ B! O/ u2 ^7 ]                        D3DXMATRIX  matTemp;5 I3 o8 k9 q- C" `& P
                        static const float CONS_VAL = 3.1415926f / 180.f;
2 a  {+ ~5 D: U4 a: i
: B' x& i  C8 f4 z5 F1 c                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);9 P$ ?8 v. D- V, c( @; L
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
& C& V; s0 I% P. ]. H                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); & l1 f9 T# ^! ~( E4 D
                        pLight->Appear( m_pd3dDevice, TRUE );: s2 ]& v1 n5 O/ v$ e

& V; ?6 q5 L0 M: F# t                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
* {0 j# x' H1 K; N                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));% Y: Y$ d5 Z1 F; A! Z- w5 v
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); : O' r; u8 T0 L
% j( H( `1 j' Z" ^# G6 ]" W
                        DWORD dwR, dwG, dwB;2 ?, _  h* M3 e4 _$ G( C9 b
                        dwR = (DWORD)( pLight->Ambient.r * 255 );1 U# W1 m# W( a3 o" t% O5 x" E9 }
                        dwG = (DWORD)( pLight->Ambient.g * 255 );- Z8 U: ~! L0 C- `) W
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
& G( g, o1 P) P  Q/ h8 [5 f1 E                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        ' l, a3 ^! v  Z  J+ Q# p
                }8 Q4 U& s# d  J8 H4 {
        }
* D$ F7 p  F$ Y4 U. J9 O- S! w
& q/ D" O# W% q. F        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );; x4 j. E3 ]$ i7 o
        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) );
, C, f! G6 P/ R' l8 f  x1 T/ o        ::SetLight( bLight );+ s( I0 x$ R6 j7 h! ~. v; ~7 M  n

: w2 @7 |  R% y, L4 @% b        // ±ao? ?D?í???ó á¤à? # O* g1 A1 ^. A
        m_pd3dDevice->SetMaterial( &m_baseMaterial );1 P! ^$ I( l+ W! n: B
       
9 Y% ^6 W  t( _; c/ y#endif // not WORLDSERVER
7 Q8 A$ w5 g7 g+ @; i4 c}
% B# g% O% ]$ r' ?+ [" F, V) J$ l并更换% l: ]' G' o' I6 e/ ^1 d' C
Code:: S- e& w* d# g
__FLYFF_INITPAGE_EXT
4 F* F/ v7 }8 k- Q5 }& h+ @2 |  ]定义" K- T9 x1 W( |- }& W$ o
& X1 t$ |( H# a$ _- j5 N7 o! S

8 t1 N7 B$ x. P  u; d1 G# S* ~8 I7 I$ [$ V: K- r* @

$ Y# ~. Q3 Y8 n( N2 h现在终于删除我的狗屁加速...
+ D) A+ T1 c) T) z' Z% h+ ~) l0 x! v$ u. d2 n" q$ S

  {! @  F  ^; d( F2 t% p- x9 `
' ?% d" s% s3 A( C% ?, N: A




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