飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:# r9 e# a5 u  L) f
尾翼:
* n# F- m! }' B( f
6 D5 V* u/ U, K代码:
3 |  }6 k: R6 L- G; f/ r* U/ x5 \( H4 \1 }CWndAutoFood::CWndAutoFood()
! z8 Z* P" r1 P& v  l{8 a% E: M$ R! i
        m_pItemElem = NULL;
% g0 m  ^  i4 g! K2 D        m_pTexture = NULL;, N! c, {  D7 v2 w: G7 ~
        bStart = FALSE;0 z$ T: o; N! m2 P7 i& p
}' A8 {0 u5 ~/ O, |9 R

: H) p" O1 L. [! D( ^1 cCWndAutoFood::~CWndAutoFood()
/ w4 S6 ]% d9 ^7 O) h8 @{
8 k: F' _) s2 G% E: A6 h        AfxMessageBox( "AutoFood ist gestorben " );
5 W$ a; Y# \# E4 k/ D}
2 d& Q. A- S9 m( r0 K* z, JBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType ); z' Q- J7 q( ~4 O; o: M
{
! f, c; |3 O) L% y        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
/ ^* J! G) e" E+ p  x}- {3 j! g, q7 x/ Q

+ R2 A: Z1 K/ v- ^2 `7 n" H/ kBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
- S" Y( o/ Q0 u{9 y. m3 _0 j1 j6 \! ^5 ~( r
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
( ~8 V  [/ Z3 b0 P) w        CRect rect = pWndCtrl->rect;
6 J% q4 `9 @  X3 w  [        if( rect && rect.PtInRect( point ) )6 L7 n  x8 t/ K. m: @2 s: x( ?
        {% ]& K" j. y+ K/ T. m, l3 s$ h; g
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
3 z. x3 U1 u3 v7 n: G$ u                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
/ M) V4 o. T- q/ T9 T. c) U                {; j8 f+ m4 k# }& v- V! Z: W
                        if( m_pItemElem )4 M5 [. q# `7 C
                        {+ p" O0 W2 q6 D& n/ W; h
                                m_pItemElem = NULL;: c- j. o8 K8 s5 C/ \' c' V6 ?
                        }2 Z& K+ v- z7 Z; B
                        m_pItemElem = pItemElem;
  J! o2 ~! E* P4 l8 r$ D4 d% r                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
5 o$ Q5 u' P- I0 G; u  E$ z                }else{$ `3 O; a8 y. Z: l8 K, z/ A
                        SetForbid( TRUE );0 N' a- u: k( t' q0 Z# o& y
                }
7 f& T- N$ i1 X- \: ?6 o        }else{8 g- Q5 T7 z2 f' N3 R* }3 e
                SetForbid( TRUE );
5 C2 |  l) [& Z' U        }
4 L5 |; q% w: w8 A- u        return TRUE;2 c! s) q/ z* m# J& |; I: C
}% g4 E  D* g: [" }
: j  o, Z6 |: O: V. b+ i  [
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )8 J: _6 b/ j; [6 `+ y% K/ s  O3 V/ j
{
. ?& G/ P) o' x& o6 S+ G        switch( nID ): M* V' U+ q& U. R* E. M8 r
        {
( A5 d% B7 A# H/ W8 e0 n4 R/ e        case WIDC_BUTTON3:
2 e' n, B+ l! u+ h                {
/ j* x2 w6 h2 R7 M, o                        bStart = TRUE;; {: l% K, e5 W* ^( f- R. j
                        break;
1 @4 l5 i, \( a, a6 H- X' V# t# U$ D                }
- `/ [5 O2 [4 v( G* R        case WIDC_BUTTON4:
1 T0 ]% c% q1 y! q# t, k+ y                {, I3 N2 w- q, C/ Z3 O5 W  m
                        bStart = FALSE;
% g4 j6 K) C0 m, L$ C- D$ Y                        break;
/ @' w5 g2 q! [, Y. K8 G9 i                }
+ ~7 W( f5 {: Y. S1 C        }
+ g( m' j5 r# f4 {1 V. H+ O        return CWndNeuz::OnChildNotify( message, nID, pLResult );
- W* g1 r: H7 v}       
/ Z8 {0 o7 f. F& jvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
, ^# y& s4 }; N% V) v* R{
& d9 z9 \% G2 v$ m, b% n        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );' t5 ~  A" t3 ], H; q
        if( bStart || !m_pItemElem )
9 R4 a' |' q" Y& K        {3 q7 y7 ^% {$ Q0 h
                pBtn->EnableWindow( FALSE );
8 c8 `4 N  J% I$ g4 J* y        }else2 ]/ s6 X$ q" P9 [+ H
                pBtn->EnableWindow( TRUE );
2 }! {7 K5 J& E6 W0 x( B' R& _        if( m_pTexture )
  K/ d% ^1 Y7 v% Q8 R! g3 w1 g        {8 i% ~, \9 ^& y2 g
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
$ m# ^% }( t2 G  P7 O9 s/ W' U5 g4 Q                if( wndCtrl && wndCtrl->rect )5 p2 K+ w1 Z+ Y8 B2 C7 Q- c
                {
" e& w, y& o* M0 N0 L6 I                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );3 H0 r- ]# R" `5 s
                }
3 V' Z2 R, B" l3 R3 S; p( O# P% X" `        }+ Y1 k4 h- D. k
}
2 P* s4 g! L9 ?4 A- B2 S& L3 B/ l; I; E& b6 w% ^& x+ F
BOOL CWndAutoFood:rocess()
$ D; m$ u5 f7 H9 M3 ^: s3 I  M4 @# X{* p5 M, k; _7 O7 q, B+ `
        if( bStart )! f  Z8 B8 @! h! ~/ F2 y" u
        {
3 ?! s; R% l4 m7 S                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )$ Z# ^9 v* N8 }: M. O3 N
                {- h; |8 x  b# R, C' ^. E; t
                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
1 h  C; N7 [/ b% f4 Y  K2 [8 A                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );8 V. a" _+ ~( E6 g8 Z- f
                }else{! v# |  I, B/ ?$ Y3 q4 q
                        bStart = FALSE;+ B9 L5 v) s) H, [
                        m_pItemElem = NULL;$ ?9 f& W+ C- m( \3 j8 e
                }
& m; J# e4 y6 B* G: x2 I        }: d3 ^* B+ |% A  a* g
        return TRUE;0 g: H. F& G6 N7 A' s. O# Q! c  [. M
}) N0 V; Q& |) s- [  `+ i

0 Q! I- v4 a6 E3 j/ q6 p登录视频废话:
" r8 m9 }( k7 W! v尾翼:
- E6 n% z3 _5 n; k. u2 `7 b1 E
) m- \. u2 [0 o5 `0 d( J代码:, G1 }: J2 B1 o! ~

- n; p- d/ f; C/ q4 @void CWorld::SetLight( BOOL bLight )& E9 M' A& M  }* e8 a4 M8 [( C
durch# c$ n7 p4 s' t
Code:
+ @% ~! U" ?- X* C% K) dvoid CWorld::SetLight( BOOL bLight )
# Q6 i. l8 n8 K2 {+ a{5 O6 E) r/ G3 @% s# |* [  ~5 K
        //ACE("SetLight %d \n", bLight);
1 |  c$ Y( ^( u1 K* Z8 g        / [8 b- p6 [7 A% C5 b8 R  Q
#ifndef  __WORLDSERVER & k) }3 ^9 d. r. L
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
4 D6 N6 k: G! p# V: W9 v        CLight* pLight = NULL;3 G; H4 Q; q$ x. E% c  j( y

7 T" P$ e" j9 T: ~( I0 g, A3 }        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );" S- T- v, D! C, h

* e& _4 a0 Z/ x$ T" a3 `2 m2 g        pLight = GetLight( "direction" );0 `. h( ~6 h; J8 ]; [" `* g) X) ?- H5 L

' Q5 [) M, q7 l. J* [#if __VER >= 15 // __BS_CHANGING_ENVIR
4 t3 G( H7 B+ h+ E6 \& R) E        if( g_pPlayer ){
8 N$ L; d: v. x6 {; `9 P& m                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );! A. p' V; v8 |9 T1 |: V; a
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
/ M: K6 L; E' Q% w( a3 w                {
, n1 x) U3 c  _( X8 v& |                        if( pLight )8 F8 ~, _  |: y# S* w9 j* U  Q+ C
                        {
. h- T1 J5 Y7 K+ t5 `                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
8 H+ p6 N8 X* X5 `4 ~; B                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];# q) {  r& F! S' {, h# v7 y& ^9 C
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];! V1 T- ?+ H7 F, a2 d8 T

' k2 j/ [' p: V2 J& g7 ]                                pLight->Specular.r = 2.0f;6 z7 J3 g9 L6 B. S1 F
                                pLight->Specular.g = 2.0f;+ a) F% E( _( Z; f; A3 i
                                pLight->Specular.b = 2.0f;% M" V0 j+ |( S. `2 `$ u
        5 `" m" m# h. A
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];: J) I9 G: n3 T" w$ `
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
8 d& m, {. u8 u1 d. b                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
; M' {. B, s& B6 O, [( R        ! j4 h. E7 `& \+ Q8 l
                                HookUpdateLight( pLight );
) t1 m2 `) P/ v8 x0 F
: Z" k4 v) v# Y                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );( }7 S5 V3 i% i0 @+ p( {
                + b$ H* Z; i( D& U* t& Q2 P4 d: I
                                pLight->Diffuse.r *= 1.2f;
% V$ Q1 h& d6 G3 k+ ~1 [/ m                                pLight->Diffuse.g *= 1.2f;) c- k( `0 Z1 y) B" M6 B2 X9 i7 w- V
                                pLight->Diffuse.b *= 1.2f;; a" ?1 m- ]: o

3 |, z! Q2 B4 F5 Q0 I) t: w' J- \: t& \                                pLight->Ambient.r *= 0.8f;
( c0 e, O1 y  U* A$ I                                pLight->Ambient.g *= 0.8f;
0 p$ ^9 q6 q( l& ~! y* e: k                                pLight->Ambient.b *= 0.8f;
) s$ t! T: M2 U5 s3 J4 C        & J. O* @) x9 x$ O5 m
                                memcpy( &m_light, pLight, sizeof( m_light ) );4 `1 u+ S. N- S7 R6 P3 D

5 }. S9 Y# W. B  C/ U                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);) I4 ?9 p8 G! n( j) C
                                D3DXVec3Normalize(&(vecSun),&(vecSun));
3 q. w% |/ ?' {6 p                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
! v2 Q& @, ~. n5 g8 \                                 pLight->Appear( m_pd3dDevice, TRUE );
9 u& }+ W2 P" u                4 k/ |' i9 }- o& S$ _5 G9 c
                                DWORD dwR, dwG, dwB;
* H/ E# a1 Q! n0 u+ \. M& |                                dwR = (DWORD)( pLight->Ambient.r * 255 );
# G$ L, o, N! I8 j4 E# O                                dwG = (DWORD)( pLight->Ambient.g * 255 );
5 ^9 J* @2 q, K" s- \                                dwB = (DWORD)( pLight->Ambient.b * 255 );
4 F5 O8 ^% s. }% ?                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 ~# K# t  ]* r8 j% Q                        }( v' {, B8 s8 e1 z- ]. W
                }
# E3 v! Y8 ^9 y; {# v) M2 C        }
0 Y! R( m* P) ?  T, }        else6 y/ B! c+ @  v( |" Y1 ~/ W( c
#endif
& J% U4 p0 J+ C, S
7 ~4 ?! w; |. c# e% e        if( m_bIsIndoor )
+ t/ x8 n6 b# o8 h6 A( |        {7 [6 U1 j7 e. I, r
                if( pLight )
' B/ y' X( G& ^- _# b                {                2 Q9 [# Y' U. f6 Z
                        // à??μ oˉè* ! ~( M& a) D# |$ B# |
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;" B/ M" s8 `. y) _! o% Y$ M2 u
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
& A, ]2 Z" A% w3 F4 U# _( k                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;0 h2 g' p- I' q7 |' o
# E# r& }0 U+ V8 `
                        // oˉè* ??à?   ^9 u+ E$ w$ W/ Q- b* L7 r9 Y4 Y# _# z
                        pLight->Specular.r = 1.0f;$ k$ F( e! D; e' @" p9 I' r* i
                        pLight->Specular.g = 1.0f;3 ]' T/ \9 C8 ^  Z2 H9 Z3 k
                        pLight->Specular.b = 1.0f;9 s) g. L( e6 d9 a
                        // àü?? oˉè* 5 E) [  H+ D! R# Z
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
4 K! \( q7 ^) S' W' T                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;: @% I! i( ~) P1 Z9 X* P
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;$ _' |! F3 U2 m9 K

8 ]7 {: c! Z$ E4 F' ?                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
, H! m8 ]4 Z1 z2 g' {7 C7 Q% A: H                        {: ^& [+ g: [4 B3 X  v8 c5 |
                                pLight->Diffuse.r *= 0.6f;  G: n6 x# q1 }/ \+ ^3 r- F4 z
                                pLight->Diffuse.g *= 0.6f;% t" d+ a  f7 W/ P, {
                                pLight->Diffuse.b *= 0.6f;
& C; k6 R) u5 ^+ }) o                                pLight->Ambient.r *= 0.7f;
0 x7 ~6 B) P0 M+ Z                                pLight->Ambient.g *= 0.7f;
9 F( T' [' @4 p$ L                                pLight->Ambient.b *= 0.7f;- q# W2 U: {0 _* X; y
                        }2 v' e; G4 j1 }$ X& T6 h
/ C6 m9 G: O/ Y" g) V$ H
#if __VER >= 15 // __BS_CHANGING_ENVIR2 X7 |1 l/ `/ s/ O2 W3 J! H
                        if( g_pPlayer )& y  E' Z7 w5 M! _. n7 r
                                HookUpdateLight( pLight );
  G- ~# ~, N; R0 h; ~# J! E* m) F#endif2 q/ z# L& C, F" V& q# |
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 Q! U4 X* E- h
" _2 `& P7 Z. I( C+ k. y7 [  Q( G7 d                        pLight->Diffuse.r  += 0.1f;$ W7 H- V: p7 i& A6 I9 u! N
                        pLight->Diffuse.g  += 0.1f;1 }4 T/ L8 l* d8 P) g4 D
                        pLight->Diffuse.b  += 0.1f;/ c9 K& F3 e3 O: A) C$ W
                        // oˉè* ??à?
. q9 ]6 J/ A  }+ B5 s( d                        pLight->Specular.r = 2.0f;
% t8 y% X4 v+ f3 |                        pLight->Specular.g = 2.0f;& o5 j$ P5 u% t' Q& j
                        pLight->Specular.b = 2.0f;* X/ R  r; }: O( g5 b, t) E- v; z
                        // á?oˉ 3 O* E( _1 S( I
                        pLight->Ambient.r  *= 0.9f;1 L% P* E* I) h' j: F
                        pLight->Ambient.g  *= 0.9f;
2 |' N6 F  |! o8 K. H* p! w. C                        pLight->Ambient.b  *= 0.9f;
: H; Q) K( w( T( y8 O0 k) S7 z8 n1 R; G& |& `+ r) O6 j
                        memcpy( &m_light, pLight, sizeof( m_light ) );
7 K6 a" t& ~5 o. M+ J" m                       
, \6 E; T; o! m                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );9 {7 Z; [, t- d# P
                        pLight->Appear( m_pd3dDevice, TRUE );
5 d! m/ v8 h( k       
5 ^0 ]8 H9 V9 \" O) n* Q                        DWORD dwR, dwG, dwB;
6 y# a& ?) w- m+ S                        dwR = (DWORD)( pLight->Ambient.r * 255 );
5 Y% p& j8 i, N# N5 ?8 p8 I: D, o. g" ~                        dwG = (DWORD)( pLight->Ambient.g * 255 );
, E+ {& v1 i" L: ]0 ?, S1 L2 Q$ l                        dwB = (DWORD)( pLight->Ambient.b * 255 );3 M9 Z; T- z6 y  m9 u( S9 U
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );& e5 S6 L4 U+ n  x6 l) I7 g% P
                }
5 |6 e  A1 t. i' [- j3 a        }
( G: R3 M4 |8 K$ L$ g8 a7 a0 j# A8 e        else  }: r" o4 I; F) O& T& e- n
        {
$ p0 V  |; o  m& Z9 {  v. Y                if( pLight )
+ u) z6 k. X/ P( m                {1 `. {$ w; i1 s: Q
                - h4 ~5 S" s  u( b) C
                        int nHour = 8, nMin = 0;
! ?1 h& f/ U- P: b        #ifdef __CLIENT
" I, G2 b; X+ @  Y! _2 d5 _                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
1 C$ \: K! q. H7 k- [/ W% r                        nHour = g_GameTimer.m_nHour;7 T% K' \# _3 l& G
                        nMin  = g_GameTimer.m_nMin ;! i% b* E3 e7 f4 i$ ]+ N
        #else. A) M) t6 i- J5 W0 Y8 f
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.2 P0 @, i2 B' X2 W! B" `& a) d
                        if( m_nLightType == 1 )
4 O  G0 ^0 ^2 v. \, C                                nHour = m_nLightHour;
3 ]  d% J8 W. v! f6 E% B' t7 ]        #endif2 i9 Y+ \, g+ w
                        nHour--;
* v! O7 k# N% v  Y2 J3 O                        if( nHour < 0 ) nHour = 0;- c$ p3 K+ f; f  N) S) D* o) b7 m
                        if( nHour > 23 ) nHour = 23;
3 ?. \$ h% w1 ]( I4 D4 ~0 ?7 d) U* I' s: t/ G" e, F
                        //if( m_bFixedHour )
* P! ~" o# z6 H5 [                        //        nHour = m_nFixedHour, nMin = 0;
- U+ v+ C+ C  h1 D5 y' n                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];/ O7 L% w; |5 {1 U  U. }' j
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
" x0 i1 Y8 R& J3 r% T) s3 P6 z, @  M; e- Y$ c: H% s  Q
                        //m_lightColor = lightColorPrv;# v* J* z! ^6 X4 Y: K6 g, L; _
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
, Y* u1 q- r/ M3 X8 c6 `+ W                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
5 N' J- R7 `- l- e                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
6 A1 t4 h& a; C5 X2 f# A7 G  D                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
, P7 I7 Y1 F7 @& u: K0 B: T                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
9 z; W" L9 z% S0 ?- n                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
* N6 N1 Y7 N9 a* O! E                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)# A2 ?- _0 c4 q2 J- E3 c4 r

- h; I3 ]  z1 F                        // à??μ oˉè*
- c* G' g! C) y: x2 I" }# a) D                        pLight->Diffuse.r  = lightColorPrv.r1;
& }/ A+ ~# W4 Z- s) |9 r                        pLight->Diffuse.g  = lightColorPrv.g1;" @+ b1 j0 V3 J; N- S5 Y
                        pLight->Diffuse.b  = lightColorPrv.b1;2 s$ @, g" C/ c
                        // oˉè* ??à? & b+ j) d; A0 z  T# @
                        pLight->Specular.r = 1.0f;( M3 H2 Y- K7 {1 ^# k2 x
                        pLight->Specular.g = 1.0f;
+ L" q4 h3 c# |- _* K                        pLight->Specular.b = 1.0f;- F* j0 b2 X: W% P: ]# M" v
                        // àü?? oˉè*
; n& n- [' X0 y                        pLight->Ambient.r  = lightColorPrv.r2;% z& O, ^$ z" d+ P* Z1 P
                        pLight->Ambient.g  = lightColorPrv.g2;2 o: z, _, w% ?# L- D! M" e0 w7 f; l" I
                        pLight->Ambient.b  = lightColorPrv.b2;
0 n. N9 h8 K; |* f: p
; x! }1 r& J1 f2 o6 w3 r" {  S3 z# o                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
5 L6 a" h3 k+ d5 _0 P+ k                        {
' j6 U/ s, g& H3 ]; e6 I! }) A6 S                                pLight->Diffuse.r *= 0.6f;
; k) u' e* D, X+ ?# {) j, Q                                pLight->Diffuse.g *= 0.6f;9 [& Q2 Q2 R! F- M+ q
                                pLight->Diffuse.b *= 0.6f;- i9 Y; \5 l8 x4 M1 K! |5 i
                                pLight->Ambient.r *= 0.7f;8 s6 b. S6 y$ S3 A0 Q6 w
                                pLight->Ambient.g *= 0.7f;0 K, O, g# N" z$ |8 O4 z* U. ]& j' W/ n
                                pLight->Ambient.b *= 0.7f;
9 @9 ^: L8 P% g# m                        }; i, {2 R$ D1 D/ P6 J+ f% S
                        ) k3 V$ D; \8 [: K- `
#if __VER >= 15 // __BS_CHANGING_ENVIR
4 @. Y* z& E* ~5 |; K                        if( g_pPlayer )
$ y0 m- t$ u% Q% I/ l: F6 ?8 J                                HookUpdateLight( pLight ); 6 N+ g5 P7 Z" u& r2 L! U, @
#endif' J1 J" k. x* N5 W6 i0 ]0 d* S- @
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 Z& X5 i: Z5 Y* c& j. _
9 U9 _! u! W# ~#ifdef __YENV
0 f: l# R! ?- @% K6 Q                        pLight->Diffuse.r  *= 1.1f;6 t' S. A! l: c4 h' o
                        pLight->Diffuse.g  *= 1.1f;
9 f; r  W6 c- {# \9 q                        pLight->Diffuse.b  *= 1.1f;, p* o* l$ e6 D% h/ N6 `  @
                        // oˉè* ??à?
5 \8 N6 e* V8 ?1 `3 E                        pLight->Specular.r = 2.0f;
( }9 A' [, _# X) L( F$ H( a                        pLight->Specular.g = 2.0f;
. q- D5 }/ X6 Q5 r  F5 [$ l* ^                        pLight->Specular.b = 2.0f;
0 N: A7 k. O, ?2 c  q1 b                        // á?oˉ
( i. J9 T) b, y0 Q; f; y* i0 `                        pLight->Ambient.r  *= 1.0f;2 z5 m5 v9 k5 d$ j; Q. o
                        pLight->Ambient.g  *= 1.0f;: N1 j8 f- J9 q* @+ Q& v
                        pLight->Ambient.b  *= 1.0f;* O( D" [& H8 d9 I
#else //__YENV& Y, ?8 k. `1 {/ u
                        pLight->Diffuse.r  *= 1.1f;" A; w( X! W2 z0 F! z! V
                        pLight->Diffuse.g  *= 1.1f;
- L5 a; |0 d! Y- d3 c% R7 p1 s                        pLight->Diffuse.b  *= 1.1f;/ P& F; N7 W+ b) C! B, v
                        // oˉè* ??à? ' S3 Q3 j' _$ `2 L$ W# g, \
                        pLight->Specular.r = 2.0f;
3 H+ I% N0 q6 c) X  ^& q                        pLight->Specular.g = 2.0f;7 G- v% a. s# ]. e
                        pLight->Specular.b = 2.0f;! _4 M0 g! [& @1 C
                        // á?oˉ
( E8 Z) ^4 s# w  T% Z                        pLight->Ambient.r  *= 0.9f;
+ z5 H' x: u! W1 j                        pLight->Ambient.g  *= 0.9f;: j1 F4 n9 g+ G% G2 J) |
                        pLight->Ambient.b  *= 0.9f;
4 U) g6 F4 z" D% j" y#endif //__YENV / p8 O: g; d7 y  X( |, d' Q
                       
% P  \+ n) e- m9 Z: u7 l  i5 N                        memcpy( &m_light, pLight, sizeof( m_light ) );
7 u7 ?' ^. @4 L6 n9 @0 S! ?                       
  C2 a# Z3 \2 v7 }: ~& R% {5 c  m                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);; M2 W! T/ W* y' f+ o# N
                        D3DXMATRIX  matTemp;% w0 G/ l# Y, u8 D3 c2 D
                        static const float CONS_VAL = 3.1415926f / 180.f;
9 O5 N$ f! ?, B' r0 X& ]! {* h3 G0 s
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);  t! V" A& X- t, A- E# z
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);5 V. T5 l+ ~8 c
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
/ c5 Z" K; {3 P                        pLight->Appear( m_pd3dDevice, TRUE );4 y% p- [6 C) e3 j) v

9 t3 {+ `: I, H2 ^8 L: H                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
* Y8 [+ v1 e7 ~4 _                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));, {. K5 K& G0 f- D) ?; _/ K3 `# H
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
4 |9 T) Z: ?- F/ Q! C* ~& Z6 r
2 k! i8 L$ E, Q- n                        DWORD dwR, dwG, dwB;. a, V) ~8 }5 F, V5 Z1 @
                        dwR = (DWORD)( pLight->Ambient.r * 255 );! h& c& ]/ f+ B/ f& G
                        dwG = (DWORD)( pLight->Ambient.g * 255 );8 m: x, M4 c( b; }$ P: K
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
! B+ O6 a/ V& o" j  }6 |1 d                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        / ]/ ^( ]6 q7 A) Q
                }
/ U) h  m% J+ W5 n        }
- T( v# ?: a5 [
5 y" Z7 i5 ^2 k* `/ E7 P. H5 X        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
+ h9 o! V. `3 x        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) );& m% K9 N) h; C7 E9 M. `
        ::SetLight( bLight );
7 f. ]* t. f9 f2 t
+ T* l  D! I  A* O& i        // ±ao? ?D?í???ó á¤à? . n- q# K5 a* I$ ?, E2 Q! V8 ~
        m_pd3dDevice->SetMaterial( &m_baseMaterial );7 c& U) {$ c- r6 M* u1 w
        / ~4 m- e" \; v$ ]
#endif // not WORLDSERVER
( e5 F( G# b# ~8 v' t4 o}2 ]9 d8 U$ [, G# ]3 ]
并更换
5 R3 a& U" h4 }2 c3 ]) DCode:! R' z2 W$ X- I: Y; }& N* j
__FLYFF_INITPAGE_EXT
5 f. e3 v; L+ \" M- A" `4 Q1 M# B2 m定义
( A( M5 \5 f- e: d) H' V8 {0 G) e, L3 `3 M$ ?6 g0 ?

) s7 B! i7 P& q( t# |1 W) D( Y" T* t9 p, m6 _+ q3 o& Y0 F
( P- X- n( d% ?
现在终于删除我的狗屁加速...: {0 S0 c( X8 b( B$ D  Z$ I
1 E# x! V! U9 j. \' _! M$ T# a

" j& i& f& ?4 t6 Q# A; J2 O2 V
; O( M4 o0 {7 V! H% ^9 g




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