飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:
1 m- X9 {8 M! Y8 i& i* W# A! {尾翼:0 \/ c, i' i  P& E
6 D( P3 s$ B9 r5 K
代码:4 u3 f- W  O5 N7 {6 w" y( U
CWndAutoFood::CWndAutoFood()' ]1 f- M  x" B/ S. h, J. _( b
{
3 `9 |  b: B9 W7 Q, x+ s        m_pItemElem = NULL;+ F$ c( |2 \6 \6 n: {( x
        m_pTexture = NULL;
) R# G) e! J1 H$ f9 {* F        bStart = FALSE;2 M; ^, ]4 w. S8 t# T9 L9 S6 q- _
}, ~' ]2 R; [; S' v6 r3 Y
. j/ [6 H* }' k
CWndAutoFood::~CWndAutoFood()
" a4 Y0 v0 i! d2 u. ^3 c8 `  Z{3 O$ c+ ?/ Y  h* k/ O
        AfxMessageBox( "AutoFood ist gestorben " );+ B' `4 Y4 e7 z+ z) a2 P, g- Y+ }) D
}" K, N0 E( I" s, v: S
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )0 ]3 f! [: F. v7 @$ V9 S% _4 B
{
( @3 v  p' p( ?* B4 ~) {3 s        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
) d( U  h6 K4 a: |}
* I1 F6 e' ^5 k& H+ ]0 x
5 ?# T+ W. |( }- D6 Z" s9 }  r' [3 K" NBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )/ i4 [  L: S/ Y
{
7 B# m7 s* n+ S2 H        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );) ]1 @4 B& k( D! K8 Y% Y
        CRect rect = pWndCtrl->rect;/ m; v3 y8 W6 u& [4 a
        if( rect && rect.PtInRect( point ) )5 f* X; K1 d! l% F9 b, l
        {) z0 h! R3 L- |9 ]+ j
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );  a9 Q/ |# E) H* }4 b5 h
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
; _7 i, n- @( v- }1 S( x                {' e* J$ J& {. R5 w0 A4 b
                        if( m_pItemElem )
8 G# @( b; C5 j" x" s3 ]. F5 u                        {  Q& W8 I0 j' k6 w  x! N5 `5 ]: w& H
                                m_pItemElem = NULL;7 R* k% }  o( J: y7 t
                        }
0 R- j( r9 a- Q6 N$ _1 f! W                        m_pItemElem = pItemElem;
/ b: ^3 |; @' \* D- f( A. C4 i                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
: O+ o+ _; u4 b8 ?  A: l                }else{
% I: h& t  Q% M/ t/ C5 O                        SetForbid( TRUE );" W7 c, g7 G1 W3 C' T  Q; _
                }7 b5 e* Q+ A+ ]- H  y9 T
        }else{
2 u1 f2 J/ G3 q/ U, m                SetForbid( TRUE );/ P  F+ U  U4 N
        }
  N/ N% I: X8 x8 k8 s0 s7 t, V        return TRUE;% h0 y3 w9 S% S! e  W" S6 R
}
: L9 ^4 ]9 q( f, ?# g6 [' q( I, k# |) Z3 Z3 W
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )- d$ L+ ?$ W0 g; U6 k
{7 a1 W4 i3 X, M3 f# S7 E
        switch( nID )
% H! A3 W: [6 m) ?7 F' b( n        {3 X1 B6 p+ w* g: k, a; b
        case WIDC_BUTTON3:/ d: L1 M& H& t1 u8 U! }& m
                {
7 I$ B1 ~! G$ F2 y                        bStart = TRUE;
5 [! c6 X  Z1 V6 j' c$ W                        break;
# Y  a, o4 ?( o8 R* Q+ l                }
- p' e9 s$ ~3 m/ b" d$ Q% L2 U        case WIDC_BUTTON4:
! r4 b) c! {, n: l& t                {
  W" U8 B- o6 e& R3 u- F                        bStart = FALSE;
$ D4 C& k/ D; K; q. m                        break;  I' A6 Q& P& ?2 P3 T' [
                }: R' G: Z$ X- v+ K, W5 N5 O
        }# S* r) N3 b1 o2 V# W4 S- y
        return CWndNeuz::OnChildNotify( message, nID, pLResult );3 N$ K/ N" ]. y
}       
! ]. r! v5 ]9 z+ ~( I' d9 Ovoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
2 W$ q7 e; f& h- a" v7 W{0 [- S7 A7 ?. s" E/ Q
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
3 u# z  O6 r4 s5 s% o& A        if( bStart || !m_pItemElem )
$ {/ T" Z0 B9 e$ Y5 _8 O        {5 v7 X' ]9 u- l
                pBtn->EnableWindow( FALSE );+ _5 G% {) W1 N' C4 {
        }else, {/ E: `5 U9 O+ H8 X1 W6 k
                pBtn->EnableWindow( TRUE );
* t. O" v3 _1 E- {) Q        if( m_pTexture )
5 L! W0 Z0 t$ Z3 l1 W& y$ D        {! U# E. E# H7 F/ {1 ~2 b. Z5 O9 P
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
3 b" b  w$ F, ]1 _                if( wndCtrl && wndCtrl->rect )
; @( l" I4 P" N4 ^- ?) S' s. D                {
+ t; @. {3 R  u7 \# e5 {- h                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
" S/ z$ i" A7 G# ?+ v6 j) v: p                }
* o6 x2 f" D& K# q        }. m2 l# @7 x6 ]6 a* R8 p
}7 j$ a' {% `+ |4 F  w
+ X6 P7 W3 W+ K: I" e9 i
BOOL CWndAutoFood:rocess()
% P4 J3 B8 v- p/ L{% G% d/ X) o) {$ X4 w
        if( bStart )
, o/ m" G1 B1 H. n$ ~" {# a2 J' A        {8 p3 d9 g# s& h+ `
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )% o) A; J- e! k, L6 w4 d$ n1 {
                {
0 l" T. T. A; h                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )' H, s, P* O/ n" \& ?# c
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
3 w# b; k$ _- D                }else{4 K( C! g" K: P% i
                        bStart = FALSE;
5 t. P% Y9 ^: X; Q; U                        m_pItemElem = NULL;3 Y& c3 l! B8 k& G5 p2 l
                }
4 k) @6 ]3 Q! Q; C5 P        }( P; V9 ]8 R; }1 q
        return TRUE;
+ C5 b& `, X3 F. ?8 U6 V}; k6 m- S3 @0 P
1 E+ k8 k- a: Y% _5 b7 Z& T8 J
登录视频废话:& {' n) S- m* ?" H! {& n
尾翼:' v# N5 n: o* V6 q) l

2 G) t# B- E" D, Y1 l  |代码:
. c/ G. G5 ~( R7 P7 Q: `$ `( k9 O8 g' L
void CWorld::SetLight( BOOL bLight )
/ l: X& e% q* F% @0 ~- S" Mdurch) O& Z9 h" A- N3 r4 z" R
Code:/ v; F5 F4 Y) |2 L
void CWorld::SetLight( BOOL bLight ), Z5 S0 b  w6 [" l
{
$ w  P; J# l% T3 p/ S# C        //ACE("SetLight %d \n", bLight);9 ^0 J: ]$ A' M) W' r
       
5 C' o6 c% L: S( i; g. n#ifndef  __WORLDSERVER
- X/ @4 V+ k2 Q" l8 k5 |1 X! E; w        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);* d0 l2 g2 {" p7 c! O/ c4 V
        CLight* pLight = NULL;/ O1 j7 A5 f* g' Z( [

. t- y& x: A* y. l$ e0 B) G/ K: E: y        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );4 k6 ^8 j( K, V+ q
% b, K! A' Y3 B* B( _: P
        pLight = GetLight( "direction" );: |7 ]. v& ^) H/ i3 G

1 R, Z+ B- J2 r' u% e5 d6 k+ X#if __VER >= 15 // __BS_CHANGING_ENVIR
: E7 H! \. v& d- K# k, Y, o" k( K        if( g_pPlayer ){7 ~( i! d* `" D" Y+ G/ r
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );4 ~" u* f1 e6 t0 J: J8 }4 b
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!* {9 R% }: X0 |- z9 ?1 z
                {
# ~8 g' C# _& [' |                        if( pLight )
; j% Z& ]4 I2 L; m0 a- e. I% y; e                        {$ l' i9 X* K3 `5 n$ C, A% Y! A
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];, w7 H2 X7 o3 d% ~. b5 j
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
) X( Q+ Z4 @7 K% M% E1 Z6 n- j                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];: ?! E. O& l, o0 H; p# @! D

- J- w: o( \6 G8 }- Z4 M4 g* _) l                                pLight->Specular.r = 2.0f;
  B9 k4 p4 R* Z                                pLight->Specular.g = 2.0f;
, S3 E( e4 a2 w. y# r                                pLight->Specular.b = 2.0f;
/ r& x1 K9 D8 `  ?6 A       
. a! s' k/ P8 G: l; V. o: l                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];! A+ p: `* ?& Z- G+ O/ K
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
5 O! z& }5 M0 g& Q  o# L                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];# b6 I7 j- }" C) @
        0 o' c" ^0 \7 K& P* Q' m* e5 O) f
                                HookUpdateLight( pLight ); + m8 h5 f; P" |4 J: R
7 P6 U1 L! t3 b2 M+ N
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );. M9 g$ p3 Q) t+ |# ]% |, y* R0 B8 N
                8 e" R2 u$ C1 P! j2 A
                                pLight->Diffuse.r *= 1.2f;1 ~. P( o& {; k
                                pLight->Diffuse.g *= 1.2f;0 [0 Q) n0 W1 F
                                pLight->Diffuse.b *= 1.2f;2 ~- W) Y. d+ e! O2 ^7 i8 Y, G
8 I' m; X. i7 o, }
                                pLight->Ambient.r *= 0.8f;
* ~1 g' w1 e- D                                pLight->Ambient.g *= 0.8f;
5 z$ J+ T4 h, C+ o                                pLight->Ambient.b *= 0.8f;
) w$ J7 i/ g# X- A6 H* r+ x        ! _$ R7 t* F- D, v  O
                                memcpy( &m_light, pLight, sizeof( m_light ) );
, C2 n! y1 _* Z2 t+ }4 Y
  [# T3 L( V2 g6 `8 O  ^                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);$ b* g! x! x+ w& J2 \! g
                                D3DXVec3Normalize(&(vecSun),&(vecSun));
* z4 L& M: o) Z                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
6 P) S* K% k' ~! h6 e                                 pLight->Appear( m_pd3dDevice, TRUE );; o) c8 w' x! l) y+ Q2 O$ M
                ' ]/ {  S; `& P- c3 |% E& S8 B
                                DWORD dwR, dwG, dwB;
  @4 W* J: H$ d/ `; f* }2 i                                dwR = (DWORD)( pLight->Ambient.r * 255 );/ [3 [* k& J" @- Z% P1 x
                                dwG = (DWORD)( pLight->Ambient.g * 255 );
( D8 E7 g3 q! r% E' J5 h1 E9 \                                dwB = (DWORD)( pLight->Ambient.b * 255 );
4 {, b( {; p7 x                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) o5 d/ p. d; p4 s+ {                        }
; m  @2 [1 j; n                }
9 d3 h0 E0 \, x* F' m        }! [4 ~+ p% C6 L) Y$ R8 Z! F
        else
* Y2 [% M/ S$ L+ j3 B#endif
) i; }1 S( f# ]0 P4 t& v1 i: n& W( U5 ~: p
        if( m_bIsIndoor )
: l5 C9 q  b" G. S1 Z$ {        {  A6 g7 l4 T, e0 h+ A
                if( pLight ); V) t8 ]5 e- \6 h3 W0 Q
                {               
3 i- e* d' ^) Q# }: X8 _6 R* L                        // à??μ oˉè* - D' l6 D2 t" o9 |4 W3 \  q/ n
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;4 V7 U0 }" l& L
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;( U+ i. j# y3 n: o
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;4 A: Q, d3 @9 d" [8 j

6 u5 a+ B5 l! q* k) u4 Q8 o+ g                        // oˉè* ??à? * O  |) Z# [* \* `* B( R6 [9 |. F
                        pLight->Specular.r = 1.0f;
# z$ j, |' U+ X: q, s  g                        pLight->Specular.g = 1.0f;
# k- J; M3 s5 A7 E% c8 \                        pLight->Specular.b = 1.0f;
: X# g1 E* I' }1 I7 E                        // àü?? oˉè*
. |; B: J! f( H8 K- E2 m+ o& a                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
! r" f! u' B, M! M4 z  _                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
: ^2 z3 W  h4 E9 V                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;1 F  s$ W" u0 a7 T! ]0 A

' H- c0 X1 n* q$ v/ t* y- Y                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
" ]5 I3 Y% n7 v! f1 j+ z                        {4 f0 i! S6 @3 n2 O! y6 T
                                pLight->Diffuse.r *= 0.6f;
; B( V3 o$ ~7 W+ u! j                                pLight->Diffuse.g *= 0.6f;
5 _8 d* _$ y) L                                pLight->Diffuse.b *= 0.6f;
" V; e$ t3 U0 v' Q+ Q, Q& r                                pLight->Ambient.r *= 0.7f;: W4 [; R5 V* I( g3 x- [
                                pLight->Ambient.g *= 0.7f;" A0 B$ f2 q7 n$ F% j* r$ B: @1 ~
                                pLight->Ambient.b *= 0.7f;
" w" I3 v3 D+ u4 c6 c                        }/ q# a+ w! I) {4 _

* ^, N4 i  N. X4 f#if __VER >= 15 // __BS_CHANGING_ENVIR; [' N8 M8 e" F* f) g  D
                        if( g_pPlayer )
) ^7 A; C* b, j                                HookUpdateLight( pLight );) Y1 O6 w2 B- C$ E! ]/ \
#endif
* m" _* P* h0 t                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 c; `( l) s" R0 _) Y4 [+ K; f. B: P! k& _/ P* j, @. S2 Z
                        pLight->Diffuse.r  += 0.1f;) `) X0 ^* J+ G3 Y8 d% J
                        pLight->Diffuse.g  += 0.1f;
" T6 B& y/ j% ~8 E# F                        pLight->Diffuse.b  += 0.1f;
1 O$ Q+ ^; I, A/ J- E2 E8 m8 `/ {                        // oˉè* ??à?
$ k2 D9 w" m5 w, M( w                        pLight->Specular.r = 2.0f;# \* u/ `  i/ `, @; Q: i3 U0 _
                        pLight->Specular.g = 2.0f;) y4 a6 a- _+ w) {( t  C" b6 X/ Z
                        pLight->Specular.b = 2.0f;, e. n! M2 g# J$ @
                        // á?oˉ
; v0 o9 l, @/ `: L4 @9 K6 |% z                        pLight->Ambient.r  *= 0.9f;( L+ Q3 K( \+ \2 t
                        pLight->Ambient.g  *= 0.9f;5 p" T( Y' P( k/ J1 t0 ~2 L
                        pLight->Ambient.b  *= 0.9f;
' k6 M2 L7 b" R8 L" `
% H! z6 K& x1 _$ ^$ g, d                        memcpy( &m_light, pLight, sizeof( m_light ) );
5 R; \4 @: {1 H                        7 P. z9 Y6 m" `+ d
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
$ z( f7 l8 s0 w' _2 w5 c/ k                        pLight->Appear( m_pd3dDevice, TRUE );% r. i# g$ Q; F: T" g6 i8 t, `" U
        " [/ r  d8 f& v6 H2 O  n# y' e
                        DWORD dwR, dwG, dwB;
; X2 V5 E4 M; R                        dwR = (DWORD)( pLight->Ambient.r * 255 );
9 H# H3 F6 G# h8 ~2 m! g                        dwG = (DWORD)( pLight->Ambient.g * 255 );
9 @9 }4 N9 `4 Q) N0 [                        dwB = (DWORD)( pLight->Ambient.b * 255 );
  L! v+ h5 N3 |" g                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );8 y0 s+ d2 l9 X: b% B
                }
5 y! q) w; w  K! l5 C; Z& P( b) _( a        }
0 ]3 f% c0 `$ F# q        else& l1 `4 j8 L2 g! D- G5 {
        {
+ M6 \) `% q4 b6 Z8 G4 |                if( pLight )
( `$ G* v- l) X, [( B( K                {1 Q, y. @  v' F0 d7 G3 S
               
3 T* a* ^1 i- L, s* n7 J& G                        int nHour = 8, nMin = 0;" z3 j; {) a" l( F7 L$ X
        #ifdef __CLIENT
* s* a: t& p! `1 G                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
- M# [! F7 L5 m2 S                        nHour = g_GameTimer.m_nHour;- J4 e- ?: a* D6 [( Z
                        nMin  = g_GameTimer.m_nMin ;' a' |. b/ ~# U  [7 f
        #else! T0 g+ p6 W) x! |
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
( O& w! z+ i  n8 d' Q, f                        if( m_nLightType == 1 )  }5 |7 z7 ^; x
                                nHour = m_nLightHour;+ u" ^/ y* |( K: E' {
        #endif5 M+ a% @( S: b" x9 [
                        nHour--;
$ ]/ E9 B/ I/ s, T5 k                        if( nHour < 0 ) nHour = 0;" l4 X) U+ E+ Y  S2 M6 V4 J5 W( Q; t4 f4 J/ o
                        if( nHour > 23 ) nHour = 23;! C& [' B* B2 W4 F, R- a  E
9 V2 x1 U. }+ `: ?% p6 x
                        //if( m_bFixedHour )
) o1 p6 r  Q" C- f8 Y, a5 e$ a                        //        nHour = m_nFixedHour, nMin = 0;4 X( }' h  ~( s  r" ~4 m
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
8 N" X6 I& M% b- h                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];0 A& {1 n# n, }: q

. X, M3 G8 S7 i$ F4 l& W7 I# h                        //m_lightColor = lightColorPrv;' o8 x) _# v. k2 _; O$ J/ W) O( X
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
( @( x6 L, h3 T1 S3 L# r& b# \                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;( l' t0 l  s% O9 r+ k
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;: s2 M( U* s* B( ^( V
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
0 p8 c. g! s' M' V+ k# {7 X                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;: F# F* W2 a) T: o& X
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;2 m/ n/ _6 Q+ @/ E, z5 v
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
, @. r0 ]# f5 P  g( D% O, I5 U3 h! \- M5 }6 r
                        // à??μ oˉè* ( k  J  A) ^) `
                        pLight->Diffuse.r  = lightColorPrv.r1;. r2 R! L4 h1 r6 S' K
                        pLight->Diffuse.g  = lightColorPrv.g1;
3 p" A( X  a8 [  P                        pLight->Diffuse.b  = lightColorPrv.b1;& T  r' ~7 n+ R3 h* \& o9 c3 s
                        // oˉè* ??à? : Y/ ~+ ~1 q- k& b' Z! L
                        pLight->Specular.r = 1.0f;4 s2 S6 t# w# ?& y
                        pLight->Specular.g = 1.0f;8 j6 C& l6 s$ |9 o. G( O( r2 p
                        pLight->Specular.b = 1.0f;& k/ j2 [  z! u5 i) T
                        // àü?? oˉè*
, x% R+ n1 \! o1 {                        pLight->Ambient.r  = lightColorPrv.r2;
- @# q1 i2 Q7 v, F0 u+ W3 E                        pLight->Ambient.g  = lightColorPrv.g2;
2 B+ c4 f7 q. e                        pLight->Ambient.b  = lightColorPrv.b2;
0 \* d. R1 \, O$ t" f; A. }
( ~7 a  y! S) y5 P$ l  Q% \, i# g                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.  _/ H+ P; _! k% Y, _+ ]6 v4 ?
                        {# p8 K' Q$ v. ]/ K& X. q7 L5 Y
                                pLight->Diffuse.r *= 0.6f;& w1 d/ M6 L4 y9 r
                                pLight->Diffuse.g *= 0.6f;) P/ ?# k9 q0 d2 M# X
                                pLight->Diffuse.b *= 0.6f;
. {3 d  [, f7 p" R7 T5 `+ r) l                                pLight->Ambient.r *= 0.7f;
3 Y3 i; M# u# H7 P$ Z                                pLight->Ambient.g *= 0.7f;
- R& s- q; k* {  J: ]: w' f                                pLight->Ambient.b *= 0.7f;
+ P, v) J$ R& D" V2 B: I                        }
/ V( L% _5 A1 r/ M. t                        . @/ X# Y+ R# `* T; G) Y7 j
#if __VER >= 15 // __BS_CHANGING_ENVIR& O3 U( E9 V7 T& [8 i- W' C, a1 x9 p6 u
                        if( g_pPlayer )
  @  C2 O' W8 h5 F0 X+ m                                HookUpdateLight( pLight );
" D. R# h4 m. H. y7 V#endif
+ L  _+ \' x# c3 W* M% e% A8 ~                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );- K& R' r# k0 _, E" }* a0 q

' n6 ^$ r7 W1 B" r0 j8 ?# Z1 G#ifdef __YENV
& D: ?) @5 M2 ^4 a& q" ^3 s( o$ X. b8 s. L                        pLight->Diffuse.r  *= 1.1f;
/ T- ^; H" p: ]1 Y9 Q/ r- N5 ~) B& I                        pLight->Diffuse.g  *= 1.1f;
5 a4 Y& A/ ?5 r) H! ^* l. w. Q7 ?5 s                        pLight->Diffuse.b  *= 1.1f;
5 y* ~# `7 ?$ z3 u' R- z/ @                        // oˉè* ??à?
2 J  I/ }6 e  J! a( M                        pLight->Specular.r = 2.0f;
/ P  P6 I7 u/ \7 s5 N8 D  W/ e                        pLight->Specular.g = 2.0f;8 l. k% W( l$ T3 V) @: w
                        pLight->Specular.b = 2.0f;* |4 K) X; I4 p4 c  R
                        // á?oˉ * d1 ]: L( h4 d' h: N& q; ?/ T- i0 N
                        pLight->Ambient.r  *= 1.0f;" C" A: ]$ u% r8 G3 ~
                        pLight->Ambient.g  *= 1.0f;0 _- v: Y/ C  L1 {
                        pLight->Ambient.b  *= 1.0f;
: }$ T' W! j' `#else //__YENV$ U) p/ n" L" S: [( Z+ O9 J* c( k9 d
                        pLight->Diffuse.r  *= 1.1f;" S  U3 F% i8 D  m3 d8 h9 C
                        pLight->Diffuse.g  *= 1.1f;; D8 d: p- ?1 K) Q% e3 l4 x
                        pLight->Diffuse.b  *= 1.1f;+ j5 C2 a4 N& [
                        // oˉè* ??à?
/ E* ?/ P& l0 E# j% [8 w                        pLight->Specular.r = 2.0f;
: i+ w* A' o) T  v3 K                        pLight->Specular.g = 2.0f;
. d7 y. r# i7 I/ f7 L& N# }                        pLight->Specular.b = 2.0f;5 T/ j/ E5 g' P: q" d
                        // á?oˉ 9 e8 q& i/ I& m5 ~  e1 m, K4 C
                        pLight->Ambient.r  *= 0.9f;! N5 q/ W# r* ~8 |
                        pLight->Ambient.g  *= 0.9f;, X* ]" p4 _( r6 c: [/ _: @6 h0 u
                        pLight->Ambient.b  *= 0.9f;) K/ T9 ]3 [/ \
#endif //__YENV
4 W4 y' ]2 a3 P4 z) _. q- ]$ S                        & z' H- U$ j7 C8 @) S
                        memcpy( &m_light, pLight, sizeof( m_light ) );' W- i! R" N7 s& f
                        ' M! q# e& ~6 }3 u  x) h
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);4 D# s6 ?% E3 g; n
                        D3DXMATRIX  matTemp;
4 J5 p2 G8 q- @* o                        static const float CONS_VAL = 3.1415926f / 180.f;. v) N+ S8 T# X* I# [2 J4 _4 w
1 z9 N; b. ~  l0 e
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
: E0 G' M4 ?  Y+ V                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
3 u/ D3 X' m- T$ h                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 7 `% ]9 D+ n  b. P: P' V8 n
                        pLight->Appear( m_pd3dDevice, TRUE );
8 f, @& E( a, W  T4 B! `; E
4 ]1 S% E; K: ?; w3 n- Q6 a) v                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);. y; {# z; K4 i) |; l+ g9 _5 R
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
9 Z; F( z5 y8 w' ]2 L                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); % J# a- }8 N7 G/ \; w) s  Q

5 V& u( B; e; t9 I) B8 s/ G                        DWORD dwR, dwG, dwB;3 W# O  K% E6 y
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
/ Y6 ]* P7 R% F% g5 u% n; g                        dwG = (DWORD)( pLight->Ambient.g * 255 );
2 @$ K  T! k5 b! T; c                        dwB = (DWORD)( pLight->Ambient.b * 255 );
$ J: a  J* H; G  N                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        ; R  t1 q) B/ l) H
                }
0 |4 v) ]9 p" K        }
2 p! p" r% v6 Q; S; m: s; N2 N8 m8 p& O; G) M1 q
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
" Y' W* c* @5 i5 D8 V% y7 ]0 g        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) );
. V* S& n% B% O$ @( j+ b) y        ::SetLight( bLight );& K$ j5 f( B+ m  B2 H

  p% N4 O  i) o  D# L4 W        // ±ao? ?D?í???ó á¤à? 1 P, o7 r. n) c; t) q' Q
        m_pd3dDevice->SetMaterial( &m_baseMaterial );
8 x1 @' P& M, {* U) M       
2 z5 p) P0 b& o- u6 a#endif // not WORLDSERVER* r; r& v: d# u+ C- y2 R' @* m3 v. |
}7 L' q. B9 {- y( m# p8 i1 E
并更换! X/ d6 ]: T- [) ^3 N
Code:0 u& B* B& B4 C0 u
__FLYFF_INITPAGE_EXT0 d$ _$ e  |) z; p9 |* ^, s) A
定义) W- ^5 H! J1 v# O. q9 m4 `0 E

( W9 q, N$ X$ N6 F, ~6 k% J$ i
, R: U: [8 Y; a" B( _# Y4 p% u
; U, g, g, _  L8 v4 ?+ [& M! o# M+ I5 G. Z) r; ~3 p6 d
现在终于删除我的狗屁加速...+ S9 f; V' D( \  W1 `+ C
; K! N! g& X* D) k  T6 l  C, N

2 f6 C( p% `2 q+ v$ P- u  _# V& K! S2 h6 e





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