飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:
, v  O6 C3 x) ]& y* p2 Z" }' q尾翼:
/ E; A; O0 \/ o$ h9 C' I  }& e( _0 i% Q9 d0 L9 P$ J
代码:
& Y9 t! {/ ]- [$ O2 lCWndAutoFood::CWndAutoFood()
, D- S( F9 T( }{0 u0 d) c% a+ L2 R; f2 n
        m_pItemElem = NULL;% w$ z; [' d, e( D' L5 Z4 O
        m_pTexture = NULL;7 J# G+ M2 c/ c1 [
        bStart = FALSE;
/ D. p0 o, r7 t7 R1 J( [}3 @: e+ p1 c, ^0 ^8 P' E2 G

* ^4 j/ L' K& l4 NCWndAutoFood::~CWndAutoFood()' V  R5 `4 h5 j# w9 {1 j
{5 h# _/ N) }4 H3 m) ~7 T. `
        AfxMessageBox( "AutoFood ist gestorben " );( q4 l( E+ w0 n( B
}* h- `4 w2 p4 m
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )- ]; I: G4 ]  Y. Y* q( [
{
6 g3 _( x7 ?* L% f! ]. A$ V( S" l        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );4 x( }: x3 P$ H7 H, a6 e! R
}
0 \  p2 `1 G  U* E
+ E8 g# U, O. v; GBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
( x2 \! o  E9 e{
( |) ~/ {  T* M7 Y. W        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
- W) F9 c) i5 I+ X" f! A        CRect rect = pWndCtrl->rect;4 j; A% `8 Z" \' ]0 \0 J: t
        if( rect && rect.PtInRect( point ) )
% V% q- p' F* H0 K4 r        {+ p, k* L; h6 R9 r- Z
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
& ~$ {/ A- q) {3 S5 {                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
! P6 m2 z, a! O( y. K                {
# j' D) w+ \8 L6 _' m                        if( m_pItemElem )) |1 L. U! c9 {$ Y% c
                        {! @1 _5 F: e4 C( J1 R
                                m_pItemElem = NULL;
, f' y" h1 O/ E( u                        }- U2 o4 }6 J  U- d2 I7 J) j
                        m_pItemElem = pItemElem;
9 w: h% }6 m2 i, a$ [                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
6 ?. s: g/ v' g' D1 U6 w' |) b+ K                }else{
0 ^4 `7 S+ K7 v* |- P                        SetForbid( TRUE );2 {0 ?4 H) u, E- f- L1 h1 y
                }
/ C/ N1 o0 J1 D8 g  L8 W2 m        }else{
# C+ G  Y. T9 |2 o' B/ X                SetForbid( TRUE );
! L2 h9 ~6 w2 h        }
; k3 m: x+ l" b+ M4 z2 d2 R        return TRUE;, K* z! _- f. }% t. G
}) G, s, k% |# S- P& T! z+ q7 Y
8 U' x2 T9 p1 B! S) |2 A% m
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )' |& {0 p0 R3 b/ E/ ]3 X
{+ r4 S, R  D; K, b7 E1 k
        switch( nID )  f7 R% {0 [) V6 ^& X0 ~
        {
8 V' R7 f, P3 B( {/ H        case WIDC_BUTTON3:
9 B9 {0 w  \# H' E                {
$ j# t: ^. u4 X4 ?                        bStart = TRUE;
1 s. l- ?! X  x' Z8 x+ S                        break;
, F) |5 _2 c' ?                }. c  ]0 E+ Q4 G, o
        case WIDC_BUTTON4:
) u0 }  A4 Y9 {. a                {4 L1 h" B7 x" a" V
                        bStart = FALSE;
% U6 H, w9 y2 m2 Z$ ?                        break;
& \+ Z$ G. b1 u) n! D4 H                }
' B& O# l" t! S7 p# e        }
  o. }: c& |, _$ L% `8 N        return CWndNeuz::OnChildNotify( message, nID, pLResult );( ?5 a# W% M3 D% K, o! p1 ^' c/ _
}       
# q8 G2 |" H& Q, a9 f8 ~6 J, f6 cvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
9 S8 v  q) ?& C3 g6 @6 d{0 O; K! V2 r) \/ n
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );4 z! M# t0 z% f/ V4 X) g
        if( bStart || !m_pItemElem )0 u" E- l7 M& {8 y2 l
        {& N2 H( w( [- h, }
                pBtn->EnableWindow( FALSE );) m) R; w7 Q0 X
        }else
: k& C' E) a6 R" b3 [; X# n/ {                pBtn->EnableWindow( TRUE );# I5 b) o6 j. b9 G; o' w1 y
        if( m_pTexture )
" g1 w! |0 i2 i* Y! V9 `  n        {
& v7 r6 D( C# @- h* {, j- J+ R                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );: f" n1 A) q+ _7 v% D8 K' j! K- O% Q
                if( wndCtrl && wndCtrl->rect )
  o3 M3 K9 k  r0 }; k9 v* c                {( q* ~$ U8 x% B+ ?
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );. Z  ^+ D- I% C' W' S' A4 q
                }
4 x. X, N* F7 ~3 {/ }        }
& D1 B) L' l# H# d2 z- R" m}
' r! j+ E$ B2 z9 A8 J( A4 k( c* |8 ?6 t& y" ]5 l
BOOL CWndAutoFood:rocess()
% k! B+ j4 F; t4 _; l5 x3 E) f{$ s4 r2 r  @7 [
        if( bStart )+ c. u" Z$ q, s9 ~: @1 b5 e3 A
        {, |; S4 W& \8 c8 f! g
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )! `6 z+ ?4 j6 j# h
                {7 @! R0 \3 A: H4 p( i. y1 g" 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() )
# t0 \, b/ x/ F: Y0 d                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );9 O5 \( I) @5 ~3 i( F9 K1 h; w$ J
                }else{8 ~  j  x) C- X( J2 U
                        bStart = FALSE;  y' _( Q1 R# g
                        m_pItemElem = NULL;
- ^. P3 N* N% X0 ^                }7 j6 r) W/ I( b" l. D3 B& b6 {7 R
        }7 @! P: V2 z. Y1 Y2 Q) R
        return TRUE;
( @' l, Y# W2 w- L* C9 G( s}/ V& ^9 T# W/ L' F2 c" `8 S
; i7 m6 U  V! e2 G' e" @* d
登录视频废话:
) ^& Q  p/ F4 r尾翼:8 l: j1 L) g& p5 g

7 Q' ?% A, U- o$ w* f1 U代码:
" @7 e6 h5 M4 B* u9 a6 ^; Y( b
3 p, T3 n$ c# G$ o# g1 H& Nvoid CWorld::SetLight( BOOL bLight )
* Y1 @# B+ a( |, z, Adurch
, T+ ?( x# T  V% }4 pCode:
+ d+ N% h$ {7 Y. d  {) Xvoid CWorld::SetLight( BOOL bLight )2 K" j, S8 S: a& G: m
{
$ e/ h% D" {. B9 V+ A! C1 d) D        //ACE("SetLight %d \n", bLight);
4 _+ z6 ?. |$ L1 Z; W4 l        ' t3 ~* Y% o) W& n
#ifndef  __WORLDSERVER 0 w1 Q- ?! k# Q2 h9 E
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
( i  j. {2 J8 N        CLight* pLight = NULL;
' P8 J$ e, e7 @! f& h6 ?8 n  H8 r
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );: n( S$ j# q4 {# u4 q" W

% t" |: @  E. k6 Y: ^) M        pLight = GetLight( "direction" );
$ @5 P9 i( ~7 j; Q1 r4 c: o! ?' a0 _9 o) T2 j
#if __VER >= 15 // __BS_CHANGING_ENVIR
5 g0 ^, ~- m) s5 v1 I! ^        if( g_pPlayer ){
# H8 r, ]/ z9 ?8 |                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
/ t& B. O4 w5 y                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
$ v8 `( e' G" u6 H! f! D6 m9 A                {# W' W3 N, j( t# f( o, m
                        if( pLight )* \9 m; r: Q/ x; X2 n0 G* v3 [
                        {1 X( P, J0 f  n
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];) @  m# S$ \3 R! H1 m2 }, A
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
0 D; C& y1 }/ z  O' t( E                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];0 F; U) d- f. D$ Y

1 ?! k8 ~( Z8 b0 V" T  O                                pLight->Specular.r = 2.0f;
6 K; D/ Y4 G0 U) E6 R; p6 W9 P                                pLight->Specular.g = 2.0f;
* b2 L( c% D# |  B/ G2 O4 \5 t                                pLight->Specular.b = 2.0f;! Z4 P, {6 @2 O7 `- B
       
# c/ i2 n$ a2 w# Z- l$ g                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
% k# n2 O# s4 e. ?8 `                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
  w, k8 w6 \5 c( ?  B                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
, g+ h! Y9 f! g( b2 T       
' z8 {: ^! ~/ Q- A                                HookUpdateLight( pLight );
2 M" s$ L5 ]! [6 Q; E: o. H9 Y+ a# Q  U5 n5 j, ^. g; J- Y
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 m* d7 g  A  O* y. }5 |4 h5 t  q               
" u( G8 H5 _, {5 w* H                                pLight->Diffuse.r *= 1.2f;; A! {/ d6 U4 X3 y, Y) {. W
                                pLight->Diffuse.g *= 1.2f;, |) i# Q1 c& q9 q6 E5 U
                                pLight->Diffuse.b *= 1.2f;
. L6 t( e6 T" R6 ?7 |* e- M5 D) K: _' E6 K% E; h
                                pLight->Ambient.r *= 0.8f;
: y5 Z: O. R3 c1 }0 i% A                                pLight->Ambient.g *= 0.8f;: j5 y( t9 j+ [
                                pLight->Ambient.b *= 0.8f;
' T6 H0 D+ M# u) \: k$ o        ! P& m0 N5 a" F6 T3 \
                                memcpy( &m_light, pLight, sizeof( m_light ) );
8 G$ D- x1 V+ I1 m8 [5 q* \/ l" U" |4 F0 J3 v2 y4 y
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);/ l& J+ R3 q" t9 a9 Y. x
                                D3DXVec3Normalize(&(vecSun),&(vecSun));
& f8 m% B; Y! \( v6 Q+ u                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. w& C  w1 I9 @+ c( z                                 pLight->Appear( m_pd3dDevice, TRUE );7 U& |' t- ^: @5 {
               
8 S# Y- L7 w4 Q2 M; {0 ^                                DWORD dwR, dwG, dwB;7 W; p. D; A* A) x9 O
                                dwR = (DWORD)( pLight->Ambient.r * 255 );7 c, r, L8 Z9 o7 w* T: y: W
                                dwG = (DWORD)( pLight->Ambient.g * 255 );
' V" k8 |* H1 E, X! V                                dwB = (DWORD)( pLight->Ambient.b * 255 );" y4 i: y5 m2 g# n
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
1 J$ b# j& C! H9 h9 u- L+ ]* a3 J                        }
5 k0 J$ Q9 L7 H+ B# u                }
' B8 c' A  O8 C  P2 k! t        }1 T& d8 @# u" m0 {$ F
        else6 u5 P! H2 B+ y; S1 _, V+ n8 ~& w; U
#endif
9 p4 z! V# q6 w; o
* c" J& U5 ?1 a: w$ S  Q2 T        if( m_bIsIndoor )' G7 K$ |: T& k) N1 m; k, r
        {
2 v8 |) c8 P8 B; G% K                if( pLight )
- Z. I% V- w" ~' n' ~                {               
' X9 W* M! v* W9 Q, Q                        // à??μ oˉè*
( f) m1 Z; X# b) ~                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
! X: t  }$ `. U- k; ]+ o# i5 Q                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;9 a) `" y9 x. f8 L0 j% m
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;# q8 V+ j2 w( m

( A& v4 U- ?$ P9 [) c) z) }                        // oˉè* ??à?
( `9 {  s  `% {) G                        pLight->Specular.r = 1.0f;6 z0 e9 _" e9 H1 x
                        pLight->Specular.g = 1.0f;" T: z; [0 {; N: U
                        pLight->Specular.b = 1.0f;
$ k8 Y6 d+ @" g( E: P% I. ?; C                        // àü?? oˉè* ) T3 m4 r0 C( H! a) p+ P% I
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;( g( W( _% p% ?6 ~
                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
9 w; t/ I6 H: a1 f" R                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
& X. X5 G: z1 |- q' a, X0 I' h1 [8 A. V
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.* a7 ?; D; V$ i' R) L
                        {" }. ?2 z1 m2 q% W
                                pLight->Diffuse.r *= 0.6f;& A% i( K9 U/ H8 G7 u/ D9 [
                                pLight->Diffuse.g *= 0.6f;! t" o5 J3 y4 o0 k: E
                                pLight->Diffuse.b *= 0.6f;+ ?) j/ N; |8 k1 S( D# D
                                pLight->Ambient.r *= 0.7f;
/ n9 N- M3 X3 ]3 X                                pLight->Ambient.g *= 0.7f;
" E1 m& j+ B1 q1 m. u/ j                                pLight->Ambient.b *= 0.7f;
9 f) @$ h. r9 }2 ^2 k8 i                        }% {8 w4 G: ?/ O8 @1 Z: f. }, K

# U6 `; E, L( |$ i#if __VER >= 15 // __BS_CHANGING_ENVIR" A; ~5 V3 z, W8 R2 [5 Y
                        if( g_pPlayer )
$ @8 S$ [! u+ Y' O' h                                HookUpdateLight( pLight );
- Y+ G1 [5 ?$ m' O7 z" l0 l#endif
. p- `3 s, V9 y; M& X0 {- P. _                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
" }' X1 N- l$ ~* G) K% Y% |/ Y
- w6 V8 E9 o( O9 R2 M* a  s( ?9 S4 R' r                        pLight->Diffuse.r  += 0.1f;4 R  A" I) l5 Z! X* r$ i
                        pLight->Diffuse.g  += 0.1f;6 E& Z: i$ h7 j$ w! c
                        pLight->Diffuse.b  += 0.1f;
3 U7 ^+ _# O0 j* q                        // oˉè* ??à? 2 k. F3 ?; F* r- z
                        pLight->Specular.r = 2.0f;
; @- u( J4 n' A. k) H1 h                        pLight->Specular.g = 2.0f;1 \$ A* Y3 J" J, c/ |
                        pLight->Specular.b = 2.0f;
* a8 a* L- P9 G& g7 b                        // á?oˉ $ S% M1 }2 h' k5 b4 G9 H% \3 c. i
                        pLight->Ambient.r  *= 0.9f;5 n. T8 ~& Z/ h3 e
                        pLight->Ambient.g  *= 0.9f;1 H, G% m4 J2 w& c$ P/ x
                        pLight->Ambient.b  *= 0.9f;
4 {" _/ X4 c4 |: I9 l7 u3 s6 ?0 s( h6 @0 o9 e, l
                        memcpy( &m_light, pLight, sizeof( m_light ) );/ o. U& n) d& c
                       
: T8 G+ g: l& n' Q" h) F5 M# d                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );% e6 M- R2 [8 |3 ]8 {+ S4 `% P7 [
                        pLight->Appear( m_pd3dDevice, TRUE );
. [" @& `' p0 n, F8 Y        1 O( F3 a2 j9 }: c8 m: Q1 j& ]: W
                        DWORD dwR, dwG, dwB;& h' Z/ T' e: J  T
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
- C7 p4 i4 C" L- C0 d                        dwG = (DWORD)( pLight->Ambient.g * 255 );
% C" d( [1 G7 Q. K( z& t                        dwB = (DWORD)( pLight->Ambient.b * 255 );
$ K( }0 P1 R1 {8 l2 Z5 u% _8 @  G                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" o- s$ b' S$ J) J% Q/ X3 u" A  r) ^                }1 {% g" U% B# U1 a2 l5 O) S
        }
, `& T3 m( t( z; e6 l        else
/ j5 n0 w/ g/ ~9 p3 \/ ~6 ?        {
: x; {3 L2 _- S* J% f                if( pLight )
" `! p1 z8 i3 Z- @3 B                {, x0 C8 N& l( y4 n9 h8 R9 D
                ' T* a$ D, k2 a* q. N1 i% O8 F8 j
                        int nHour = 8, nMin = 0;
/ q9 f; [1 b+ a/ c        #ifdef __CLIENT) w. Z0 M$ z8 |- e
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 3 s$ Z% ?" H- Z, ?, w3 `
                        nHour = g_GameTimer.m_nHour;! [" T* Z/ K- r
                        nMin  = g_GameTimer.m_nMin ;
) J- w' }+ V* t5 g        #else9 g0 k+ l. M) ~/ G1 P
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.  M# e* |4 M! w4 J
                        if( m_nLightType == 1 )
! l7 R: t. {* |% f+ C                                nHour = m_nLightHour;; J( D7 e! m! R! X2 V, [3 t8 Q
        #endif9 i! a6 K0 u# L* U- O' L8 S( @7 ]
                        nHour--;, _3 _$ q0 T/ G, {8 I/ X3 t$ Z
                        if( nHour < 0 ) nHour = 0;* \- g# a3 `4 K4 i, o4 v0 ~
                        if( nHour > 23 ) nHour = 23;+ T- ?2 h$ S! \1 y. f8 p: M
3 v# f7 B3 d  ^" O2 G& [# C
                        //if( m_bFixedHour )
9 e4 j: s2 g' g/ w3 G# h; H9 Z                        //        nHour = m_nFixedHour, nMin = 0;
7 l& y6 f. Q; J, \6 U" m& K                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
0 X: j9 k4 t& W( O, @! N- A% P                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
; u0 w' b; c$ {: Q+ u6 z4 R8 D- @0 Q1 z) q  c& F; j, R
                        //m_lightColor = lightColorPrv;% P9 D! I) R+ E# i
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
5 z# A' Z3 {) R2 K# \: b, {                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
/ P3 Q' E2 }4 N7 Y; F( j; y% R                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
3 H, ^! z; D' i# t                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
* {! Q  X6 [. k. v5 t, L3 ?9 e                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
3 M, @" C3 X) L. m. Y# t  z9 [; c, {: {                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
: z& o( }; Y  ^8 `5 r+ w) T                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)/ X* B$ X$ J* e! ?$ E  x3 `" d/ q
. k$ e$ k, K& Z* N' ^: E5 J
                        // à??μ oˉè* 4 e) |1 f) K% w' ?
                        pLight->Diffuse.r  = lightColorPrv.r1;
' c& @( H2 L1 y* H0 k                        pLight->Diffuse.g  = lightColorPrv.g1;0 j5 z6 P  z3 J/ T
                        pLight->Diffuse.b  = lightColorPrv.b1;
1 r. c) w, V! u# P4 f+ P/ O                        // oˉè* ??à? 0 t" C2 @6 \' l+ v* ?$ d- i& q: @
                        pLight->Specular.r = 1.0f;
7 K4 K; l" e$ e9 ?9 s" l                        pLight->Specular.g = 1.0f;
1 ?/ P2 o. I+ S: p7 ?                        pLight->Specular.b = 1.0f;% B6 w2 n, S5 W; {: M" k
                        // àü?? oˉè*
9 |$ E3 Y8 e# Q) P) H                        pLight->Ambient.r  = lightColorPrv.r2;4 y" a6 e0 A( T9 S* u7 F# u
                        pLight->Ambient.g  = lightColorPrv.g2;9 O9 {! X; Z/ {6 M6 e# W
                        pLight->Ambient.b  = lightColorPrv.b2;2 Y: N, Q) j9 y8 a
1 A$ b: F! a" k0 H5 M; ~. {$ x& H# w
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
1 K% s$ p2 ~6 J" N0 z! t* {+ N                        {
; A5 `# t0 m/ X$ l% R, v9 n3 x1 ~% u                                pLight->Diffuse.r *= 0.6f;
/ u' K/ L) Q& C                                pLight->Diffuse.g *= 0.6f;' K1 W. e7 L1 b8 E
                                pLight->Diffuse.b *= 0.6f;: t2 |! A: l9 M3 b' O
                                pLight->Ambient.r *= 0.7f;
4 P9 S9 H& Z% X! P; H                                pLight->Ambient.g *= 0.7f;" p. q  {* E1 B) [( E7 y
                                pLight->Ambient.b *= 0.7f;
! l+ L# l! t3 c# Z) n  e1 t% e, R                        }# s; V! h4 a) }8 k: P6 D+ g
                       
& W; p# [5 v& j#if __VER >= 15 // __BS_CHANGING_ENVIR' I- [" @5 z" s! y
                        if( g_pPlayer )
# Y, D, O4 Z4 s6 J                                HookUpdateLight( pLight );
5 j$ w( W8 L, x/ {3 y#endif
. A' i; a/ B# g# H0 Z% g                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
! y  e2 h: Q, i0 W$ W# v
* c6 O8 x  W' s2 F#ifdef __YENV
% @3 p4 Z  ~# @( Y4 _) j* U                        pLight->Diffuse.r  *= 1.1f;3 d2 D6 ]3 M5 ?, t- `
                        pLight->Diffuse.g  *= 1.1f;
+ l# l, I: v5 y! f7 \                        pLight->Diffuse.b  *= 1.1f;
% S2 q* v/ A$ [, g                        // oˉè* ??à?
+ @( W1 `8 F8 U4 U1 |" l                        pLight->Specular.r = 2.0f;
$ Y# ~( U- n% g                        pLight->Specular.g = 2.0f;9 \( q4 x: Y' M" ?+ Z5 G
                        pLight->Specular.b = 2.0f;
+ w) K% w+ o) V# i  ?) m                        // á?oˉ
+ ^$ u) }7 p6 ~/ P1 B                        pLight->Ambient.r  *= 1.0f;, v8 e( t! d- k  _3 j4 ~
                        pLight->Ambient.g  *= 1.0f;
8 c; b& U0 d. K* j# ]" v                        pLight->Ambient.b  *= 1.0f;$ X* Y) K1 D4 [( x8 D
#else //__YENV! V# o, {, r& G# r9 e
                        pLight->Diffuse.r  *= 1.1f;
$ V. O" v0 d7 m, r& B                        pLight->Diffuse.g  *= 1.1f;' O5 Y7 c, q) `/ P! E# w
                        pLight->Diffuse.b  *= 1.1f;
" L/ i5 t# B4 I9 c$ C* @( q                        // oˉè* ??à? 7 G1 }3 M, }! T
                        pLight->Specular.r = 2.0f;3 R2 i4 V; Z# p4 n+ ]9 S
                        pLight->Specular.g = 2.0f;2 h% A/ H; u* Q. {& ^# R
                        pLight->Specular.b = 2.0f;
* }3 r) r8 r8 J! U( C( A                        // á?oˉ
- ~+ }$ J' c( @, \" ]                        pLight->Ambient.r  *= 0.9f;" c2 j9 o! y# ~  o9 e+ R
                        pLight->Ambient.g  *= 0.9f;
& p- \" q+ s' ~  J' X! M0 L                        pLight->Ambient.b  *= 0.9f;- L5 |* I1 r' x3 ^0 [( a+ K% ~( G
#endif //__YENV / r' ]! I9 Y2 _4 J% B  X- Z
                       
" P4 L; {4 [+ |4 _0 z; F                        memcpy( &m_light, pLight, sizeof( m_light ) );
' @( {7 ]5 h# e# e. k, y* ^$ {                       
2 d' p) G3 K/ @' `: \" d  [# f                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);# l% J' u" g8 Z% F8 J
                        D3DXMATRIX  matTemp;
( w2 y2 g! ]# V/ m# G                        static const float CONS_VAL = 3.1415926f / 180.f;# _, X; m3 P- ?3 r2 V- @0 V
3 ?  ~4 U  ~3 Q+ [) E. O
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
' p) F# \- t9 r                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);. O4 r- s( b9 H  y
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
! j) S6 E& V! _( @9 A+ Q0 y7 B                        pLight->Appear( m_pd3dDevice, TRUE );" V% T- L, p- C& D2 T: l  K
2 C3 r1 M9 b8 f# l; I" m
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
- O' R4 N# z, b. Q  K# ]                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
+ q; `5 g& P1 J  k: x                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 0 Z- a3 s6 k3 N( B

: t: N0 W; J1 ~4 X  W7 T5 p# u                        DWORD dwR, dwG, dwB;. q# V0 a  c: P2 @; t, T1 s8 o. e
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
# m1 y: b3 o% `' ]                        dwG = (DWORD)( pLight->Ambient.g * 255 );
$ u( y3 R6 ]' f( n' c                        dwB = (DWORD)( pLight->Ambient.b * 255 );
' j5 e6 ~( Q8 q9 x6 E                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        ( x2 ~3 D/ f, ]/ p2 G
                }
+ M9 g9 g8 {- Q& S        }
8 d/ W& b- I( i0 h) S7 \& `2 \7 e9 W( e& `/ Y
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );! Q8 y. f: [% t0 s$ q! a( f
        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) );  ?7 \& u( T, z! u5 f
        ::SetLight( bLight );
  _3 Q8 u0 t( D, e4 \
# Z+ \& z- z9 ]( o) Y        // ±ao? ?D?í???ó á¤à? ' _3 }1 `6 b0 y% T
        m_pd3dDevice->SetMaterial( &m_baseMaterial );/ z* A4 @3 C: ?  N
       
4 c& [. _, N) B3 S8 g#endif // not WORLDSERVER0 a9 a1 |0 M* a" X( R
}
! k! B! P- {3 p0 q& {" b并更换+ d" y/ L( Y, u6 }7 _5 ]
Code:$ a  M* R+ }- k' q4 j7 n  c
__FLYFF_INITPAGE_EXT; _- w3 T( e6 S  ?
定义+ R8 J: ?6 [6 S# I6 T" {
+ |3 O  f  I- \, N1 _

7 V0 n/ y' e) i: n7 N* ], K6 u! l/ G' |* [

# h$ K; M1 z0 z, E现在终于删除我的狗屁加速...
6 s( y3 V+ k. U6 [# I7 k4 a( }5 M; w6 v4 A0 D% a

, N9 M& O5 x8 }7 V
0 v( O1 t% y" y( d; }




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