飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:  ?: O* V0 \' w/ w8 S1 @2 u# Z
尾翼:9 J6 |3 v8 i& o& ]) w

+ H: E9 l) }% [. I3 d& i代码:. D" x& L$ J4 e
CWndAutoFood::CWndAutoFood()
1 F2 E, Y# Z$ W: n- G/ B! d  |{- I9 n8 C* c& `, B/ @& \. L
        m_pItemElem = NULL;
+ c& [4 j& N3 P% Y        m_pTexture = NULL;
/ L* L4 z" \% g* K# _        bStart = FALSE;! j* g2 {% C+ ?
}/ j1 U1 j( \, K* |/ [
1 `. p3 i9 O* s9 ]1 W7 T
CWndAutoFood::~CWndAutoFood()
: W- K. H! d8 n* o{
; }4 e/ u0 L0 {# {% t        AfxMessageBox( "AutoFood ist gestorben " );
$ X. N3 q! U" [6 p) V}
+ x) K% Y' q# \; |BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )% j( h: x: _9 l& e
{0 t" y  X1 {3 I3 g# @: w0 @1 c8 q
        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );- j$ E( w/ S1 k7 I
}/ S+ B& A8 N% _* d- G) V  q
! T* G& c) A  y& x0 \3 X, w5 i9 Y8 v
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )2 ~) S% S4 u) R/ E0 p# q$ d; ~2 ^
{
- Y: I' l! c1 d+ W        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );+ G* l( y5 B0 x$ v  G
        CRect rect = pWndCtrl->rect;9 p, L  b3 @- b3 t) o. Y' O* O* T
        if( rect && rect.PtInRect( point ) )
# C: x% D: i% |; q( l        {
+ l0 w) I1 @7 ]* ~3 z                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );9 }; l. {5 S* q' n& Z& ~* V  S! _
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
+ p/ ?5 d% Q' b$ M$ ~                {5 Z$ i& _) U: h, x2 `' {
                        if( m_pItemElem )1 P! H3 e6 Z7 W8 k* r
                        {
; K7 y7 g$ t  ]2 o- L% z                                m_pItemElem = NULL;
& Q$ m8 _( w# o3 y                        }" W2 m6 _3 a5 E: C$ h+ T1 T0 F- W
                        m_pItemElem = pItemElem;
" [$ a( ^0 W& c! H, G  l                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );9 I9 J7 Q+ [2 z3 G' ?
                }else{& {2 g& M) d. d) q9 O
                        SetForbid( TRUE );% ?4 N" p' {  c: U7 ~' v
                }
' x/ Q0 {2 q+ b- m* H4 Y% u        }else{
/ u6 K2 N8 u1 y7 m  A                SetForbid( TRUE );
2 @( \  ?- f. S2 n$ c8 K; B1 d        }
- _7 _6 O6 r# W        return TRUE;% v6 n) V4 i, U0 d+ W4 J- Q
}
$ y! f1 j! Y$ l2 N7 N" \
" n% Y! ]: g. @/ i7 KBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
; v* d+ e4 |+ H{
& Q5 g7 C$ `) g* o2 X: y8 g1 Z        switch( nID )5 r% z" D1 ]) o$ D+ k: t1 _( M
        {
1 a9 H: J* m& V) y: _        case WIDC_BUTTON3:( K9 N- \$ p% I7 z: g) P) H
                {
9 J. h( o3 A. l2 [- ~" ?                        bStart = TRUE;
8 X% X0 _+ j7 k2 h1 X8 Q7 @                        break;
  [/ X3 F- c& U3 [7 _                }
- H; l6 t6 w5 u; W- i        case WIDC_BUTTON4:! r8 |0 f; N4 j2 r! W0 m
                {
% J! |; c/ \& z9 D& ?' ?                        bStart = FALSE;5 }) _9 n" W* E) ]7 b
                        break;
, E; O9 n& r5 _3 ~$ I- [                }
8 m6 d7 _/ C1 H" |) {8 d; R        }% m' [# j; Q6 y2 H: `! V
        return CWndNeuz::OnChildNotify( message, nID, pLResult );2 P4 c, V7 r& [$ W. b
}       
. n* B4 H3 C/ ?* D5 h  R0 e' Jvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
4 c, b/ [. y7 x. [, x{
0 w+ b1 j1 d& I' W; S0 v        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
* o3 c7 C* Y0 d# e8 V$ H        if( bStart || !m_pItemElem )
2 E& W+ z, F( i) }% S9 D1 J: P        {
; P! x1 T& N  ~; Q                pBtn->EnableWindow( FALSE );7 |2 d" i5 P. I4 j
        }else" K7 J5 d- G) `5 x! [4 v
                pBtn->EnableWindow( TRUE );8 z% Y& s4 g& h( u3 X3 f6 L
        if( m_pTexture )
$ T7 ~0 p0 K9 C9 H/ V) P, r        {0 Z: W  M3 P6 m# _
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
, X, g8 M  F* i8 t) V" I                if( wndCtrl && wndCtrl->rect )
- C( W4 B. I2 `) [& [4 r                {$ x7 X! d( ~, v' e3 y+ [: `
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );: K( F+ x# A' N3 h7 z' B; k
                }
0 y8 {  g- Y1 ~3 e- W" D1 i. P        }! v9 o; V8 ~, L. C
}! i! u. J' }0 A4 r- N) _

" {0 z' K) ~; K2 ?! X+ d; i# _BOOL CWndAutoFood:rocess()# R. i5 u* i8 n
{5 O0 q( ^* k0 U$ A
        if( bStart )
2 ]! ^  a& k6 C        {$ F8 z& B$ ?% i7 H3 M- e
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )' T% Z' ]; [6 ~& ?+ K2 e
                {
% Z1 `6 Q' ~9 Z. u7 a9 k2 Q" K, R                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
4 l1 _5 o2 W6 V9 H                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );% B8 V4 k* Z+ n9 r& Z
                }else{
" T/ v* H( q8 {: S! z* Z8 g                        bStart = FALSE;
: F' t5 @& |8 P                        m_pItemElem = NULL;# j) `: t- i; J; V. E
                }1 n$ V9 M( K# _+ y1 R3 A; w
        }
9 X" c( V( d8 J! _- j        return TRUE;( h; H: o1 G! z+ Z+ c: m
}' n/ A3 f5 X  \, s" k7 m8 U
" @$ J5 q$ Z/ {6 u, ^# G+ x1 z
登录视频废话:
( B7 A& b- y  v# S% e) l尾翼:9 Z# t2 d8 i0 W. I
* p# B6 ?  @$ y2 @, a& g0 X* S6 P
代码:( f7 }& i- a" @. Q/ R

6 @$ x$ }& y2 o, X5 [% ?' O2 \( \, kvoid CWorld::SetLight( BOOL bLight )' r% `, ]! n5 l, P, A+ j9 q# J- L
durch$ b5 m/ j& |7 h9 j0 v6 \
Code:
& A4 i  J9 Z! X. B" C4 [1 svoid CWorld::SetLight( BOOL bLight )# j. F& x! m& c' x' Y6 F3 n
{
' M1 r! S6 [# U0 f        //ACE("SetLight %d \n", bLight);
& F# t: P7 E& @" G, N, t& u       
6 t5 m- Z" [; Z; R; ]9 a) U#ifndef  __WORLDSERVER $ M) F) K; j5 m8 h
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);8 d8 ?8 C' S" e% J! ^7 q' R8 m
        CLight* pLight = NULL;
! N4 P% f+ J8 y- n2 E; `: Y5 @4 x. x# w
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );  D% C+ V' B. D4 R: ~

2 I+ H1 K, e( T0 R# L& b3 s        pLight = GetLight( "direction" );+ [/ r% O5 o" M  [5 n# j4 O/ L
) X1 i2 f3 W4 D( V
#if __VER >= 15 // __BS_CHANGING_ENVIR
: t1 s# j& O3 `; R* I, c, P        if( g_pPlayer ){( ]/ r( _2 {% ?8 f
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );# t6 [5 |1 k, g: F7 i# t, q
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
8 O( F( p& s) I                {5 s$ R; |9 P8 r3 \; ?* H
                        if( pLight ). y) i! o9 f& I8 [" D: g* |' U
                        {
+ v  N! K: ]- y3 j, c                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
9 f, b1 N" {4 Z7 S9 z) P/ `5 c0 ?" z                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];9 y; F* d5 ^2 a9 F
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];. E: q) R7 J% A8 [& P' t' E; \
1 z/ l6 a# ^9 r0 Z8 _
                                pLight->Specular.r = 2.0f;
$ P; t" n) D8 J3 |                                pLight->Specular.g = 2.0f;
' ]5 u, C* {' f* ~                                pLight->Specular.b = 2.0f;; N* u- s6 l  m: H: v6 |
       
# x3 A  c4 ~5 m. G( I8 C) E                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
- X0 d$ X% _3 l, a9 d                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];7 I* P; u$ _5 @! c0 U
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
6 T; u5 v) o( ~* M        3 F% z1 Y# y/ k% z6 ~+ @7 c
                                HookUpdateLight( pLight );
7 ~' V9 U& q, Z, x' a* p$ n
$ ]3 ?: a8 [2 X$ B( \6 j                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );9 v9 t4 a( L: a0 p& R( q
                $ [3 U2 J: k( U5 h6 }6 Y
                                pLight->Diffuse.r *= 1.2f;5 W' E# D3 S$ w" G/ P* p/ ~) E
                                pLight->Diffuse.g *= 1.2f;
* x* f1 C6 {8 |. V  }' }: f7 g                                pLight->Diffuse.b *= 1.2f;
, K% W4 H0 [3 {1 q; B7 |3 c* J5 q1 O8 m7 `, X. _. R9 _" q
                                pLight->Ambient.r *= 0.8f;$ t, _; {& Q2 n6 G/ V2 V
                                pLight->Ambient.g *= 0.8f;
5 a# g; \, \: T" s% ^% }- g                                pLight->Ambient.b *= 0.8f;
9 u3 @  P5 d1 v        ; R# U; g% @: Z* v) z  p0 t/ c
                                memcpy( &m_light, pLight, sizeof( m_light ) );! w0 Q* E3 _3 b3 t, r; O8 w1 Q. n# J
1 c3 r  I' F3 X1 R/ i2 H
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
# q+ v; I% ]& v' @6 ?                                 D3DXVec3Normalize(&(vecSun),&(vecSun));
8 t$ [9 [. B3 a% O                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ; x( b2 a0 H  n/ Q
                                pLight->Appear( m_pd3dDevice, TRUE );2 p/ I* o' g' ]# c- I
               
/ l; z: l; T0 q                                DWORD dwR, dwG, dwB;  x9 e) g4 s8 ~) `3 w' D) g) m
                                dwR = (DWORD)( pLight->Ambient.r * 255 );3 L$ J* c8 @* \  E' F  [
                                dwG = (DWORD)( pLight->Ambient.g * 255 );
( ?5 B( o! p4 Z( _7 i. F: L; i0 O3 w                                dwB = (DWORD)( pLight->Ambient.b * 255 );) Y4 S1 T7 n9 L* s: e+ D0 p4 {
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );; h* `1 g( J" @
                        }# q; r* k" G  M/ l
                }. c3 l) R! \0 f) \! L
        }3 q' @- \8 |) }/ C/ T
        else
* H9 Q) B) W) D2 ~+ f#endif
8 m9 @5 s' Q. J! j- n: p& J+ k9 O0 k# m1 x
        if( m_bIsIndoor )
- u7 z( m% \5 ]        {; \; X/ ~4 F9 {$ j9 |4 @) |
                if( pLight )
% M  W) [: e, u8 l5 ]7 ]  _$ f                {                " ^* u. D4 W- S) E0 {/ ?
                        // à??μ oˉè*
; x6 l* \: Q5 `( w6 B+ C/ p  M                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;. O* k/ ^. Z3 f! R& I/ W
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
4 R2 X% c9 s, V1 k                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;) N3 X. o! N' O

, R) q4 f3 K0 o$ C5 k/ Z- I                        // oˉè* ??à? ' o1 q0 X! @9 b8 j5 W
                        pLight->Specular.r = 1.0f;# ?( o9 {8 r( c( P2 j, z* Q, Q
                        pLight->Specular.g = 1.0f;3 w# m: s4 a- ^; V
                        pLight->Specular.b = 1.0f;: u6 i4 F  K& t2 a/ b: |* U
                        // àü?? oˉè*
) t3 X" o* R/ N' y) |2 Q' {& `                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;4 D) i8 K2 s. \; ?3 Q; q/ m
                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
  J) I8 R) c6 _                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;7 l) m* y' ~/ |- T0 m# M
4 R6 C5 C2 y8 C/ B
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.' X& W, Y; V' [" j" {3 j) D! G
                        {: n; T& L+ H' n5 @* @
                                pLight->Diffuse.r *= 0.6f;) E; o6 L; j) O9 ~
                                pLight->Diffuse.g *= 0.6f;
+ ?$ T3 P, @9 e: P                                pLight->Diffuse.b *= 0.6f;* o  _, W. P+ Q5 v1 Y: ~0 H
                                pLight->Ambient.r *= 0.7f;
+ X( t* I3 t, K2 o6 }                                pLight->Ambient.g *= 0.7f;
" t  p: Z; v$ g2 b8 y# K: n/ x                                pLight->Ambient.b *= 0.7f;7 M- o3 q$ Q$ X) C8 X
                        }5 @+ \8 l2 V( O1 P. Y: Y- R5 H

0 Z1 _) s6 n8 H2 ~; w#if __VER >= 15 // __BS_CHANGING_ENVIR
0 p5 r5 K  Q; w                        if( g_pPlayer )' X- V" O/ f- d) F( e) r
                                HookUpdateLight( pLight );
$ u7 S% @9 K: j4 R#endif: |) H8 z* q. ^" S; E' G/ P6 e
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );) p& e! j$ @0 s! ~# E) g9 k0 |

- z6 B, U+ V# z                        pLight->Diffuse.r  += 0.1f;
" O1 x2 z: w: w# n$ r0 g                        pLight->Diffuse.g  += 0.1f;/ t, \6 x; L5 Y  \5 G# O$ Z
                        pLight->Diffuse.b  += 0.1f;8 x" W; Z8 J: s
                        // oˉè* ??à? - W/ g4 c& P' G
                        pLight->Specular.r = 2.0f;2 g# e2 b+ N1 [: f0 z6 J3 }4 }
                        pLight->Specular.g = 2.0f;) T0 }4 o, e' E2 p
                        pLight->Specular.b = 2.0f;% p7 O  f- l& s8 u* m% t& ]
                        // á?oˉ # K6 k( ?/ Y# s: [
                        pLight->Ambient.r  *= 0.9f;
+ q5 r7 x* B4 O5 G: f2 `7 b                        pLight->Ambient.g  *= 0.9f;( k$ |& R1 y. Q# P2 t+ C% K5 M
                        pLight->Ambient.b  *= 0.9f;
4 F8 s! {7 P8 [2 G. O# r. p5 H1 [3 G7 S5 {% p: L
                        memcpy( &m_light, pLight, sizeof( m_light ) );
! J7 m! {' z; ]- |0 D- {                        2 O7 v& C2 m2 W4 X1 X% k/ P6 g
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );) @4 m( w' Z( A7 K* E6 c
                        pLight->Appear( m_pd3dDevice, TRUE );3 f) n* B- H# J" a+ u: P0 ]& H7 m* t
       
1 }# Z- p5 x0 I! V                        DWORD dwR, dwG, dwB;
: z7 m' u* s4 _; `2 F+ a                        dwR = (DWORD)( pLight->Ambient.r * 255 );
0 B1 Y9 E6 }( Q' Q$ N                        dwG = (DWORD)( pLight->Ambient.g * 255 );! t) g& O" R! x( h/ }  O7 h6 V
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
9 P0 ]4 O2 C: s) S5 ]5 U$ K                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
6 K2 w0 ]3 O, c                }
: R  D" {6 _) G+ P        }
& L( c. I  I& v) g: e; I        else7 _' @# I! \8 w
        {9 a$ h$ H/ J3 E* c4 n
                if( pLight )
2 l7 Y' e* F" i: F- R                {
7 Z! v6 a2 \0 U) E; G6 k7 E% o               
# P( g( [. \- R; g8 U                        int nHour = 8, nMin = 0;
: Z% J8 _% d+ k# W: c$ F) H; y& W; ~        #ifdef __CLIENT
$ S9 O4 z7 M* q- t4 X7 C# k                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
# F' V" v8 P7 \                        nHour = g_GameTimer.m_nHour;* o) x' c: G( s0 b0 v- y, [/ P. N) _
                        nMin  = g_GameTimer.m_nMin ;9 t3 F! A" n6 F7 A" \6 v
        #else
7 Y- I7 Q0 b- K1 e' P& `                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.  b- ~9 T* w2 O1 K' `1 e" g
                        if( m_nLightType == 1 )
, }& o. H% D; U8 g" G% U7 o                                nHour = m_nLightHour;3 [( w( c8 ~2 `  z$ x
        #endif# |  O9 L- P# m2 G. e( Y
                        nHour--;" A$ T4 r. F! V+ @  {4 N# ?
                        if( nHour < 0 ) nHour = 0;
' ~/ q  s! M; D  W. I5 \" e                        if( nHour > 23 ) nHour = 23;7 k$ s+ D: F; {) _
% K4 `+ U$ ]0 @; l% R" L. U* `
                        //if( m_bFixedHour )
" V3 _' Q, u7 N- l/ S. D                        //        nHour = m_nFixedHour, nMin = 0;
" e+ ?- `( E# ~$ E$ q8 e9 Y                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
! n2 K! x& `; M- R3 g                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
* A- v( g' ~: ?- D, w0 ]% k: f3 j% l! X' n
                        //m_lightColor = lightColorPrv;
9 V, F+ K4 h4 g0 N. g                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;# `* m  l  t) d: V' ?1 G
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
  ]2 g3 @; ?; b- w5 a# p/ \                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
* }7 E% B0 _7 Y( C: X1 i& L                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
  h1 D& X& O8 C+ p                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;5 R$ |1 `5 k0 x3 p* M/ K+ l1 J
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;2 m  w0 E& E" p0 u, C0 b
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
9 x0 h0 g! }/ a, l% J1 H
+ Y/ d0 Z1 l  v6 `# T2 m                        // à??μ oˉè*
0 C. ^7 c6 V9 Y+ _5 o7 l                        pLight->Diffuse.r  = lightColorPrv.r1;7 G0 y( [$ N- Z5 z( E& m$ x: m5 m
                        pLight->Diffuse.g  = lightColorPrv.g1;+ R9 ~* P. q) x! w3 K; L" L
                        pLight->Diffuse.b  = lightColorPrv.b1;( o  G1 [" r) L$ q( v: W& s$ @
                        // oˉè* ??à? " Y8 C  c5 r9 @* I5 W
                        pLight->Specular.r = 1.0f;
9 Y" p+ z8 a+ ^5 X3 d+ U% u                        pLight->Specular.g = 1.0f;) P6 |2 k/ P3 b
                        pLight->Specular.b = 1.0f;' m) d! L* H8 \! s( C4 i$ [: Q
                        // àü?? oˉè* ; `9 g) b. @# X' g
                        pLight->Ambient.r  = lightColorPrv.r2;
% L2 f' m+ C7 L" ]9 W. _. U                        pLight->Ambient.g  = lightColorPrv.g2;
/ X& M  @9 i: J3 l, T0 c                        pLight->Ambient.b  = lightColorPrv.b2;
: s) l) l/ r- B* P0 _4 a8 Y6 Y3 a4 ^& T' [
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
1 f  I; ]& E- G* P# U/ \                        {
) f$ w- r! b" P  m1 C7 H0 d                                pLight->Diffuse.r *= 0.6f;' w5 m& A+ w6 C0 U+ M
                                pLight->Diffuse.g *= 0.6f;0 ~- l) f# p/ a, F$ z$ ^
                                pLight->Diffuse.b *= 0.6f;- F$ A9 e# Q( e5 `! @
                                pLight->Ambient.r *= 0.7f;
8 X1 k" E; t; Z2 }& p. e" h2 H                                pLight->Ambient.g *= 0.7f;. o7 B6 H7 t1 E% ]
                                pLight->Ambient.b *= 0.7f;
  r% E) T" a' L% H                        }% V. E6 ?( H1 F; J3 Y' U+ m# p
                       
8 G+ @2 @1 R$ B/ L+ T2 t& ^# v#if __VER >= 15 // __BS_CHANGING_ENVIR
, N4 O" {: k9 ~$ |                        if( g_pPlayer )
, O; b, Y2 M& B* e3 w  n                                HookUpdateLight( pLight ); 8 \( _0 M1 X- O/ Y4 ^0 O2 R! w
#endif
0 w8 L4 u  i* A  d$ h" Z                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; w- X: p% S- l: y  f, }" t8 @& o' F1 H3 q1 ]
#ifdef __YENV2 d6 T" v7 W  L8 d2 @/ m5 j
                        pLight->Diffuse.r  *= 1.1f;
: @! V2 ]( `* O1 n" r8 C                        pLight->Diffuse.g  *= 1.1f;; ]" R5 ?- w5 ]3 R4 p
                        pLight->Diffuse.b  *= 1.1f;
8 x+ U  V2 R+ Q( M! X                        // oˉè* ??à?
, `, g  x) y7 S                        pLight->Specular.r = 2.0f;
! V' m8 O" j$ q                        pLight->Specular.g = 2.0f;
3 ?8 I; M2 k# j  C" f                        pLight->Specular.b = 2.0f;
) {: \; e, S3 Y5 Y" A                        // á?oˉ
& n1 X$ X6 b0 r                        pLight->Ambient.r  *= 1.0f;) ^: ^$ v" s) W5 {; C$ |
                        pLight->Ambient.g  *= 1.0f;
' l$ f% y0 a' z# J% e& Y                        pLight->Ambient.b  *= 1.0f;
3 N8 n7 k. |3 b! A& M2 J" k#else //__YENV, o( Y0 n6 G. \9 `  q, j
                        pLight->Diffuse.r  *= 1.1f;
: z, i0 q6 b, f8 `3 ], V/ \! l/ M                        pLight->Diffuse.g  *= 1.1f;
1 e: h( [, N$ ^7 F0 {0 J                        pLight->Diffuse.b  *= 1.1f;
% x9 [* N7 I/ C2 [/ q0 c                        // oˉè* ??à? 0 o  M- r* p5 a
                        pLight->Specular.r = 2.0f;1 y  o/ f' a! A6 D
                        pLight->Specular.g = 2.0f;3 e, D# A) F) b1 M3 r4 d" _8 K
                        pLight->Specular.b = 2.0f;0 v, j% c2 D* [7 t# C
                        // á?oˉ 5 }$ p7 r& p8 k4 o0 t
                        pLight->Ambient.r  *= 0.9f;" u( x" c( [) W+ S: _
                        pLight->Ambient.g  *= 0.9f;
' K) v' X# g3 V' C: f: o                        pLight->Ambient.b  *= 0.9f;
( O" P& @3 ?: o. |, T#endif //__YENV
4 B1 M8 y% I- R8 X, T) f" H; {4 A, f                       
4 E+ l* C/ _2 E, o, @                        memcpy( &m_light, pLight, sizeof( m_light ) );
+ [- A0 Q( M" l, ^0 U6 F6 C                       
8 H( p5 `- X% H                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
( ^# E. r* _8 F" O                        D3DXMATRIX  matTemp;: F6 m" {# x( Q0 b4 q0 ?3 X  M7 w
                        static const float CONS_VAL = 3.1415926f / 180.f;0 I2 ^; @& a, w5 ]: @9 A
" R' q9 U5 P( {8 V' ?5 `! s/ E2 C5 F
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
% I0 t5 ^$ O( `3 \                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);# Y9 U$ O+ T2 m; e
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
4 Q. @1 L& P9 R$ n$ m1 p- Z                        pLight->Appear( m_pd3dDevice, TRUE );" G, F. v1 x! _+ i5 _  ?

2 O" V) P+ P9 ]- |. g! w- `/ m5 f                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);7 \9 R) r1 Y$ N+ t9 Q# s
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));9 d# }9 U* T) N0 ]" _* T/ ~4 {6 G
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
& Q( @; ]  A, {% g4 k  d. R* G4 N! O6 W) p* _& v" ]
                        DWORD dwR, dwG, dwB;% ?, F& W# U& }, k# M
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
% H% |7 E- T& y; m* e. N                        dwG = (DWORD)( pLight->Ambient.g * 255 );0 ^5 t0 {) \! y' Z0 Q+ t
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
0 d) N1 s  [3 S" v% l2 Q                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                          R/ `4 B6 K  x! `3 r
                }
9 w& E: x6 Z, q3 s! G        }4 u8 w$ p! h+ h- f# T. a9 s, I
- @0 t) X! \1 s8 D# [, A
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );+ O+ ^0 O) T: Z; V% d9 Z  w
        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) );
3 w" m* K" H+ {5 v  M8 a        ::SetLight( bLight );
& }8 ~9 q( _0 g% G$ g
0 j& z, s* n0 c: y        // ±ao? ?D?í???ó á¤à?
  m! ~8 L; t5 l' t8 I) o( ~        m_pd3dDevice->SetMaterial( &m_baseMaterial );
4 H% `7 n/ U% D3 Z. \7 x6 e       
. G. I5 a9 I; d3 y, f: W: e#endif // not WORLDSERVER
+ }& e# m. Z; j5 V' M}' n: _/ J8 W4 W2 w
并更换9 [  z- u( o$ L" b1 o; H7 S
Code:% v0 S9 a0 p$ I$ D4 I3 C; T% t
__FLYFF_INITPAGE_EXT
8 D$ Q% i1 v  [, J2 c: i5 u$ x定义& [! Q+ ~. D+ L. m8 N1 E! A
9 L3 p) q) \6 j+ W

$ {( G4 F* M1 F" O0 V8 O8 A/ n1 ]. g# C
' @1 z! }% g4 i" G
现在终于删除我的狗屁加速...+ `+ s* h" S, C6 S
0 j& i! E) B; a$ l

3 R  x3 Y( x7 l6 {& x  I0 v
/ L1 O! S, \% Y) H$ O1 Y$ o




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