飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:/ k8 {0 ]  U/ U3 O7 z, y6 |4 h3 V
尾翼:
; U+ |- F8 a1 _9 W6 b0 K* [& R* d9 Z- }' @- m2 B
代码:
0 r" D0 m9 g6 |CWndAutoFood::CWndAutoFood()
, Q, E4 V( Q5 T{
* `5 u3 @8 u- b* F/ |        m_pItemElem = NULL;2 f& {/ B. y( ~0 L! X  P! o
        m_pTexture = NULL;4 `1 K& `) G: b" e; ?! U1 H$ s+ u
        bStart = FALSE;3 C1 P) z; p0 ~; S+ e: e" h
}
# J5 Z; O! q$ j  ^) B% P8 c
, C* f0 u$ z0 {) N9 W: M$ A# }5 DCWndAutoFood::~CWndAutoFood()
! p5 I& ~5 A+ V3 Z! ?4 `{
3 y" z! g* W9 q. m0 _5 D2 |        AfxMessageBox( "AutoFood ist gestorben " );
# r1 k) b) }9 m2 T; A3 W1 n$ D}. y7 q' E4 e  ~# {% J
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
7 K( y' R/ |- K; L; q. V$ B{4 Z7 c) [+ I3 y8 F3 [% a( ?
        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
. ?/ u/ z+ O3 h}  V3 i, o! r$ h- ?. e5 a, m# @

% O. t" c3 R7 f! Z; {, YBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
7 w+ H( U0 f1 O; L{: _0 L! ?0 l+ ]# s! q$ i
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
7 M1 v* Y5 H7 h: u        CRect rect = pWndCtrl->rect;
$ ?! g7 U& }& \6 h$ {        if( rect && rect.PtInRect( point ) )9 @1 e0 I2 p3 }) _  A
        {
8 n$ Q  W, T9 w1 i$ |) z! Z) C                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
( H4 y9 P+ g  b- b% W  w                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
) `0 Z( }. _' D7 H5 g                {: l- I+ z! e* {$ p1 Q0 {) h
                        if( m_pItemElem )0 G2 {. C4 n: L  d
                        {+ X. \* n! q! o* ?) m1 A
                                m_pItemElem = NULL;/ p* c3 Z- Q: R+ m
                        }8 k8 O( ^: S' ~( J
                        m_pItemElem = pItemElem;) T, g" w  R' O" u% [
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
) W9 r* e) K/ W2 t                }else{
- E) u1 d1 ^8 x% {1 p$ Q                        SetForbid( TRUE );
/ @( [/ _0 q: f# q7 Y% R- ~                }
8 X" Z8 `+ h- [        }else{
6 F8 d0 O+ J; @5 @4 J9 c. U                SetForbid( TRUE );
5 J+ U) c6 N6 ^        }
4 ~7 x1 g6 r5 x, ?9 G/ K0 D4 X        return TRUE;# t0 e- d; A3 T7 n& R
}" o" Z$ p$ ?6 t
7 h! M: l& y5 ^' e% {2 I( B" I
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
# w% N' L5 r& Y; D{( t3 K* [' s3 u0 Q
        switch( nID )
+ j8 l4 \. G0 k; i; t! {        {
$ P5 m. o- K# q5 ~8 Y7 g. o" Y        case WIDC_BUTTON3:9 C2 i" b2 f" L! r. ~1 x
                {
6 M/ `! H$ s9 B                        bStart = TRUE;# ^2 L% v6 p: y, @# R
                        break;
7 Z4 d. y" Y- }3 v. H                }
; m7 J: [: s5 A# m. @1 g* [        case WIDC_BUTTON4:3 e$ P# k7 `: C- ~  y
                {
8 Q, O+ H' P4 H& e' Y                        bStart = FALSE;0 t: Z6 T; M8 C: _
                        break;$ n2 \8 g$ s  u7 v, f' L8 W9 Z
                }
1 V7 N. ?) b. O/ ?4 ?& ]        }
# F& E) j: b7 v. |: ]! E& ^" f        return CWndNeuz::OnChildNotify( message, nID, pLResult );
5 N1 Q1 _  o* W1 ^}        - r2 B% c" u' l3 b
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
; i% ^: t% c* s4 }{
8 g$ b; l) ^* r! q1 _. W, H        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );! ?. @7 @4 ^4 p# b5 C
        if( bStart || !m_pItemElem )- T3 p" Y$ |! e* j9 @
        {5 {4 `' R+ D; F/ ?  i" @
                pBtn->EnableWindow( FALSE );' n; h8 w. u0 o0 \/ k( n
        }else
) J/ h0 j3 W* z$ Z                pBtn->EnableWindow( TRUE );6 p3 @8 s* v3 `* n1 R+ X; ]; a
        if( m_pTexture )
0 U, c; s  d0 P8 `1 K- }$ s5 r        {
7 I) u! E1 D/ y0 S+ f/ e                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );- f0 s) F$ O" K* h6 ~6 `+ l
                if( wndCtrl && wndCtrl->rect )9 K1 L& t2 ^, F5 E# a) p
                {
, A# [$ o, d( g9 a                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
, O7 h4 E5 r; r; G, [                }
! Y- I* [/ u0 O5 X/ ]* F        }
8 O5 r6 Z* J5 A' x}. A3 O+ u, J; t8 f
0 Y, K: W, ~5 c
BOOL CWndAutoFood:rocess()! Y' O+ Q1 M) \% C* ]! w/ `- J
{" R  V7 h7 C7 y, p) B& H8 Y  D
        if( bStart )
/ h9 n, w+ R8 f8 e        {- o$ S4 U7 H4 |/ ?5 Y" X, {2 a* O
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ), b9 z3 X, q6 K. V% J* y
                {
7 T1 a' N) N( E" }/ [8 n2 }                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
$ N: W$ C: F: [9 L1 s                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );6 r2 z% g9 e5 U! X
                }else{. f! u; R) N# Q) {) `5 {
                        bStart = FALSE;' Q" R' @/ g" z& v
                        m_pItemElem = NULL;; @  N  ^$ c1 D7 p$ d  L% B
                }$ N$ Y0 l; b; D
        }
' y& R4 N4 W' ~( I+ e8 R4 s9 C. z        return TRUE;: I5 z9 j/ b9 f
}' m. H( L9 `3 H3 }
: W2 M4 u: A4 a
登录视频废话:0 K/ B+ m5 U7 O4 a* G
尾翼:
2 \8 D* G8 [5 e6 u1 [; X0 |- e4 ?* o4 w+ X) c9 b! j
代码:) n( Y' C" B" F2 ~# D! S, K# O7 X
# F- b6 G" L) P) W% Y
void CWorld::SetLight( BOOL bLight )
7 j, T, ^3 D6 g/ A! Y- ydurch
, C  ]& m8 G' j* I3 {  ZCode:7 Q  J) D) h3 S2 x+ h+ H
void CWorld::SetLight( BOOL bLight )# o- F, j$ z2 O
{
+ a! K/ K! I7 @1 U$ [        //ACE("SetLight %d \n", bLight);
8 _' T. M$ X7 m/ r       
( n( H4 D/ Q& l- k4 ?0 B5 u#ifndef  __WORLDSERVER ; Q9 O; _- I0 `4 J- \6 j
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);1 _, \4 ]- p+ k3 \# e8 s, l: R0 P
        CLight* pLight = NULL;
  B' B1 v+ o* I' F
) @& q2 Z  G" Q$ w+ W/ z( [* v        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
; l8 S4 d5 I2 V2 e# z$ S, W/ B: L$ u, }. W6 C; h- O8 d  J: W" r4 }3 A6 L
        pLight = GetLight( "direction" );
; }! s7 G7 m/ q# r1 X) ?* i
. R! D" ^6 N0 ^" T. w; E2 c7 Q7 K, @#if __VER >= 15 // __BS_CHANGING_ENVIR% }7 X6 G9 x) c6 k: ?
        if( g_pPlayer ){
, \% ~9 u) \  O+ c+ X- L" p                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
; W. E* d) K* Q                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
/ c4 I1 n3 M3 D) m6 D! N                {. e) r5 Z- Q% V3 D- ~; F
                        if( pLight )) j; M  N. `6 n
                        {9 f# Y1 o9 \! O- g; k
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
; E! J+ i7 N* \                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];6 U# @% V2 @$ _' I: a6 U3 G
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];0 e5 e  y* x! Q: T) |
4 t* m" o% T3 }9 k
                                pLight->Specular.r = 2.0f;5 Z: @! Z4 n: {9 o8 m+ G! N2 x6 e
                                pLight->Specular.g = 2.0f;# m- @( W  L7 i; D
                                pLight->Specular.b = 2.0f;, g5 |5 _+ T3 y4 a' m
       
5 j& [  Q$ N6 [, K                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
& g6 O3 v/ Z" f' L9 _                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];" Y+ E! [8 q. ^- a7 r* n# M
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
+ p2 p) Z8 f; n9 A8 F- K' s        8 B8 Y: w  R+ Q  g/ M9 G8 Y
                                HookUpdateLight( pLight );
# X: S5 \1 H4 `& ~+ h2 Q. S( S) n; @' f* F
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );- Y( e. h* |7 j# `! k& h
               
3 g3 ?- B9 |; K, w                                pLight->Diffuse.r *= 1.2f;
/ e- @9 Z/ l! P: a                                pLight->Diffuse.g *= 1.2f;' x0 k  ]5 b% O$ u/ g0 S# T
                                pLight->Diffuse.b *= 1.2f;
3 J3 y# K4 Y/ R# T" ~, a- R2 q
( d( F' D0 t8 m                                pLight->Ambient.r *= 0.8f;  T! L# w0 ^% X( E* `# P7 y2 ^
                                pLight->Ambient.g *= 0.8f;
) g$ a+ E+ D. Z( b6 E                                pLight->Ambient.b *= 0.8f;
: x' }8 w4 ^" f! u& }5 f       
) o( [  u1 y/ T9 y9 t  H5 ^                                memcpy( &m_light, pLight, sizeof( m_light ) );
' w. b6 Q/ Q+ A! p- G9 A- T6 z/ f; o& T0 c+ |& K, B; o7 Q
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);/ h0 o' x9 U7 [
                                D3DXVec3Normalize(&(vecSun),&(vecSun));
6 Y9 o" Y: h* g. h) o$ g                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ) O& j6 {( F1 C9 p
                                pLight->Appear( m_pd3dDevice, TRUE );. v" j5 e1 U1 x3 i
               
) D/ t3 o& z* T" ^" l                                DWORD dwR, dwG, dwB;
) |# J& L' @6 b! N4 H/ O% F5 q+ E                                dwR = (DWORD)( pLight->Ambient.r * 255 );3 p) s* q: f$ s# E8 P- J
                                dwG = (DWORD)( pLight->Ambient.g * 255 );5 Q; a  ?4 ^! V) a2 S* A4 H
                                dwB = (DWORD)( pLight->Ambient.b * 255 );
* s7 k5 p2 X5 h) f. f9 I( F- n                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );/ i/ z& o' p5 _7 v
                        }
  ?2 `$ z, C- |$ l6 i; p# E) T                }% |5 V2 C0 {" c0 ]# y8 \5 s
        }/ j3 X0 T* ?0 ^8 R% f% J( s2 z- x( p" c
        else  T* {3 d3 b% D, K: B$ X( {& t
#endif
3 ?% i" c8 j% ]8 G: n" D7 s. k$ ^, }6 W' S
        if( m_bIsIndoor )- l" ?. a' n4 g( c2 N9 g9 Q) Q
        {" w/ W8 u' j& M
                if( pLight )
0 z+ z* W! D$ n7 t                {                & H+ F% A$ U2 P# |# m
                        // à??μ oˉè*
) ^% y) }& k- ]7 w5 c* F8 ]                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
1 |* P7 O6 J2 n! ]                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;+ {/ J) i; E  p: E/ I  b* w! U9 e- y6 ~
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;- Z! J3 |2 |6 G- U
5 |; ?% D% M$ X/ V3 l$ U
                        // oˉè* ??à? 6 T# X- c1 O, d/ G" v$ F) b" k
                        pLight->Specular.r = 1.0f;
( N8 U! i2 X: W$ M5 Q                        pLight->Specular.g = 1.0f;
8 u, V" m4 I, Z" v- d                        pLight->Specular.b = 1.0f;
3 z' R% H) f- x+ a; {                        // àü?? oˉè*
) Z# R& ^, c1 C; \+ s& W1 S# m                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
+ K9 V0 M0 C( E1 U* L8 _$ t# G+ Q                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;# D5 p" W5 X  x  G' V# C8 |" e
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
1 E. k7 T+ y( p  z& B; }
4 r+ x* Z3 J. M& j2 _& G8 ]5 U2 h                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
4 I9 S  ~9 m9 b3 D                        {' r- a4 K  q2 M- [( W4 ^( o' i. m
                                pLight->Diffuse.r *= 0.6f;" M+ e+ }) `: f4 S% s, M
                                pLight->Diffuse.g *= 0.6f;- H* N* V4 z( N' M/ n* C6 J. B
                                pLight->Diffuse.b *= 0.6f;& X# B8 Y$ o& U- U% z
                                pLight->Ambient.r *= 0.7f;6 i' i! [6 m: ~
                                pLight->Ambient.g *= 0.7f;
) r# I+ y, k* |" r                                pLight->Ambient.b *= 0.7f;
* n1 Y2 ^! j! c$ w# O7 X                        }  C3 c% w/ D8 l, a

) g% s! P5 \: E7 x#if __VER >= 15 // __BS_CHANGING_ENVIR! h0 |3 s, f* l, G+ B: J. ~7 t! q
                        if( g_pPlayer )% \1 J1 B# e+ s. @% {* e  X
                                HookUpdateLight( pLight );' w2 T# ~$ E$ s
#endif
' u0 E# e+ a! N9 A! K                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
: t$ @3 I  ~" u! C: U6 A3 Z; ?+ k- ~) T  Y) l* f' j  H
                        pLight->Diffuse.r  += 0.1f;
: Y9 x3 ~' G8 i) y% V                        pLight->Diffuse.g  += 0.1f;0 @3 |1 Y. K2 h: B
                        pLight->Diffuse.b  += 0.1f;( z! p" S$ t( |+ r( l; w
                        // oˉè* ??à?
8 h6 L# b3 Z2 H2 f8 t5 w                        pLight->Specular.r = 2.0f;
; U0 V5 }# @' G; L- W                        pLight->Specular.g = 2.0f;
. e- {$ k; |% Y7 V' S1 J) Q                        pLight->Specular.b = 2.0f;2 w  d5 k7 s8 H4 J
                        // á?oˉ . Z" ?( I% b' Q" ]) O* I
                        pLight->Ambient.r  *= 0.9f;
3 W7 _: e* R( n+ z4 v- h& k0 s                        pLight->Ambient.g  *= 0.9f;
$ z' ^! }+ T- k5 t& P' t3 ^                        pLight->Ambient.b  *= 0.9f;
$ t% h0 h) a2 ]5 U* S/ I0 K3 i# W$ d  L# y# l1 \7 w$ E2 ]
                        memcpy( &m_light, pLight, sizeof( m_light ) );
' }# s: l/ w! @; I6 a9 G                       
  B/ y& {0 j7 A# ?2 i, ?& ~                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
# Y  x/ r1 l% ^" ]7 v! G                        pLight->Appear( m_pd3dDevice, TRUE );2 T9 g) v+ E4 w6 o0 I
        ( y  Q  _5 z! l
                        DWORD dwR, dwG, dwB;/ ~+ c4 V+ ^1 }3 F7 `
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
1 Y% h" I7 v# p9 Y6 H; U                        dwG = (DWORD)( pLight->Ambient.g * 255 );
# o1 ]0 }5 f9 z2 A+ r: z                        dwB = (DWORD)( pLight->Ambient.b * 255 );5 d  ?2 `0 O7 `5 q5 |
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );4 S: |1 g* P& \& O
                }
0 C1 x$ p* n3 F3 j& k) b$ ^        }
5 m- Y, x( i) t9 F6 `) G% G. x        else
# G  A1 Q1 W, K* l. d        {
$ O* X$ S* }8 p2 J2 q/ [8 l' P8 L7 t                if( pLight )4 s* D% k( ]% x/ E
                {
$ _- |# f. d8 l/ i# {+ }" {$ c6 T               
- [) A0 F3 K2 R. J# Q  i                        int nHour = 8, nMin = 0;2 `6 C+ z5 o1 [4 Z- X6 K5 M
        #ifdef __CLIENT
* k4 D. @9 b/ Z7 B                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. $ n1 F4 {9 f: T) q* O
                        nHour = g_GameTimer.m_nHour;
  i8 V5 {5 }! _3 j% h$ }0 p6 K                        nMin  = g_GameTimer.m_nMin ;% \8 b5 M4 W3 y5 x2 _& g( u9 g
        #else1 @4 S6 _5 H8 I' P- l+ u7 {# L3 v0 ~4 Y
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.  B9 k  P9 F; d" X, ^2 o' S
                        if( m_nLightType == 1 )9 w3 _, V" ~' X( `
                                nHour = m_nLightHour;5 l7 a- g% b/ n# ~
        #endif
, E$ a: d# t( O7 t1 n                        nHour--;
+ ^. b% I/ [; p/ X% O                        if( nHour < 0 ) nHour = 0;
  k7 y. x/ t+ R1 Y. v9 K                        if( nHour > 23 ) nHour = 23;
" x; w, V3 q' q8 q
+ [. m2 k; ]/ y( K1 K                        //if( m_bFixedHour )
: R6 {* U2 d, R- V2 ~                        //        nHour = m_nFixedHour, nMin = 0;5 F/ {% Y  q3 V* }7 z
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];& Y* P  t4 f- n' V
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
, V* p0 v, a- ]% h: U2 S
+ q. @7 {4 P1 p5 b* U                        //m_lightColor = lightColorPrv;+ U2 M- C. U& i( z6 Z
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
4 W) m3 k) u$ t. Z1 s2 ]# q                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;) {, R5 r2 @" J6 q! ^4 D2 ?0 L8 _
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;' ]2 h8 E/ A% c, v
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;4 Q, f2 Y3 K2 I4 V
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
" I* M2 ]( ]' P                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
4 n# I  _4 O9 J) h+ a9 Q" v. W1 {* j" t                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)4 J% R! K- O% ^5 T/ F+ [
$ ?8 g/ ?* o. p: r7 X. y' n
                        // à??μ oˉè* . {4 w8 F% b) P3 U8 `- B7 q; j+ P
                        pLight->Diffuse.r  = lightColorPrv.r1;
! P# ~( Y, ~. j/ |+ t* S& H* [2 a                        pLight->Diffuse.g  = lightColorPrv.g1;
( j7 i, D4 m0 ?& I                        pLight->Diffuse.b  = lightColorPrv.b1;7 H0 O, i$ J6 l4 u+ O* j& |
                        // oˉè* ??à?
1 ^# E1 K6 d  v. V1 i" }# B: z                        pLight->Specular.r = 1.0f;5 @6 M) @5 t$ w1 e9 w3 {& h0 G2 u
                        pLight->Specular.g = 1.0f;
' k# A, J" h* A# n* o, s1 [                        pLight->Specular.b = 1.0f;
1 \& ^$ A/ M( z9 T7 s9 v! Z* Z                        // àü?? oˉè* + V' J" p9 k" I, m
                        pLight->Ambient.r  = lightColorPrv.r2;
' I# O; h% J( g( }! v4 a                        pLight->Ambient.g  = lightColorPrv.g2;
6 t1 y6 K) |6 J( L                        pLight->Ambient.b  = lightColorPrv.b2;
" \5 F$ K- u, T% e+ e! y
8 H% e# @; B5 O                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.* f. ?/ L8 i5 ~6 V. k  D# A. g
                        {
; F8 ~) W) ?/ H                                pLight->Diffuse.r *= 0.6f;7 `6 Y; Y, j# q  v+ c2 G! |
                                pLight->Diffuse.g *= 0.6f;5 a8 O9 Y6 N+ T+ h& `
                                pLight->Diffuse.b *= 0.6f;
& y  l1 a5 C5 i* m* [% q                                pLight->Ambient.r *= 0.7f;' f9 y6 K' h- g2 e9 \3 X& N- }
                                pLight->Ambient.g *= 0.7f;; n& F) J$ D" a( t" p& T7 a$ e
                                pLight->Ambient.b *= 0.7f;% p' v, g9 F4 ^  }  A/ m
                        }# T+ u1 n5 [5 `5 T0 \
                       
* |+ Z' q: B9 O+ s#if __VER >= 15 // __BS_CHANGING_ENVIR
, P1 \" Z1 q3 k9 m                        if( g_pPlayer )& o; w0 K; w- u0 c: [2 N5 h5 s3 @
                                HookUpdateLight( pLight );
. F9 C/ |% k2 |& d#endif
& n7 {( e4 O  M8 W# G' v                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );7 z" o& ^& o+ _- L
! A; k4 a3 C9 W' z, M; u' @
#ifdef __YENV6 r0 Q" B% F4 o
                        pLight->Diffuse.r  *= 1.1f;+ E" k4 e( y# U- k8 U
                        pLight->Diffuse.g  *= 1.1f;7 _! ]1 l- f+ w
                        pLight->Diffuse.b  *= 1.1f;
7 L# R. ^' ~* J# }( b                        // oˉè* ??à?
: i/ S$ W7 j7 }" m) B  E7 e                        pLight->Specular.r = 2.0f;5 @! G: b8 \4 Z( ~/ E- M. X
                        pLight->Specular.g = 2.0f;: u% Y" l: N8 Y( `/ G6 u6 J+ @8 ^
                        pLight->Specular.b = 2.0f;$ m; `/ k. H+ _5 _' t
                        // á?oˉ . g* }6 T/ X3 Z0 C/ |& u3 d
                        pLight->Ambient.r  *= 1.0f;' D+ s, w" P0 Z, j4 @
                        pLight->Ambient.g  *= 1.0f;6 e3 p: x: F8 o3 I0 _; w+ p7 D/ q
                        pLight->Ambient.b  *= 1.0f;" L2 g6 D3 D* G2 ~* A
#else //__YENV! b; \  S: X' E- \
                        pLight->Diffuse.r  *= 1.1f;
& k; T& K& ~- \0 o$ v, c; r                        pLight->Diffuse.g  *= 1.1f;. V! A. ?  J+ U! h4 i
                        pLight->Diffuse.b  *= 1.1f;
, m) c! n! X! q" d4 V2 D" F0 S" B                        // oˉè* ??à? * X8 b; s2 Y, C5 c1 |
                        pLight->Specular.r = 2.0f;
; K. g& I0 m$ ~# z: N% u                        pLight->Specular.g = 2.0f;
  R( d" o" R" P9 x  Y                        pLight->Specular.b = 2.0f;
1 P- [1 S* f9 ?. i7 T% m                        // á?oˉ ; F6 k' R3 f- [8 D( X0 y& p5 x% _% o
                        pLight->Ambient.r  *= 0.9f;
! j1 i1 v' X. F- Y                        pLight->Ambient.g  *= 0.9f;9 o( `3 t4 w! k  l
                        pLight->Ambient.b  *= 0.9f;3 i# n1 ^2 o9 A5 I6 v% x
#endif //__YENV ( a; p& S. H  E4 t- c
                       
/ u5 y- j. n8 E/ N. M- p7 p% d* ^                        memcpy( &m_light, pLight, sizeof( m_light ) );; e1 z7 _! e% i$ l% h0 q- D
                        6 ~8 l. z7 {  t' v
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);: C( b9 L: g' x6 X  n/ W& a
                        D3DXMATRIX  matTemp;
) i% o: R' G# I& L$ D                        static const float CONS_VAL = 3.1415926f / 180.f;1 f, u  v1 c# @! T

9 n% ^8 @! i: a( x                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
# P& E8 ^" n, W* Y) `- h# K; i5 L                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
8 m$ x4 T9 F2 b. H- h2 c$ `( A                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
! }/ _% S! m. o/ A8 v                        pLight->Appear( m_pd3dDevice, TRUE );* y, ?" P; S( W: t) [# j0 R

- g: Z8 J4 O6 Q2 H+ `                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);. E# f" A1 D2 O
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
! e# s8 X2 q7 S% @: T                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); : g+ c5 T% A  A/ x

6 g* M! _6 G7 H                        DWORD dwR, dwG, dwB;5 Y, v5 {" ?2 @7 r; K3 J
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
3 R" O' i% o" T. e5 x% F                        dwG = (DWORD)( pLight->Ambient.g * 255 );( ]& ]6 W* f8 v/ m8 }
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
% t' l8 N& {5 v9 c( |; C( `                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                       
2 G: K# d( ~; Z, x; z# {# q4 E                }
9 y7 _; R, ^& Z        }- T1 a; l& o( e8 i$ J
5 w" j& {2 h# d: p
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
; M- {8 r) P/ L1 ~6 B9 l' @        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) );5 a; c# R: v! A
        ::SetLight( bLight );
8 F( h) B8 F, D% h4 l4 p" k
: d" d0 x9 `% q4 {% Z! z& H        // ±ao? ?D?í???ó á¤à?
% J: P1 v' ]; ~5 D. j        m_pd3dDevice->SetMaterial( &m_baseMaterial );
8 c9 E$ l7 T' R9 A+ J- I2 X5 H        2 J  M) \2 ^: Q. l7 ^
#endif // not WORLDSERVER, ?1 d5 H1 \! H- }$ U: m
}
7 ~0 w7 \  Y3 D: ^/ R; n1 M0 Y并更换; X: T8 M6 M& w1 C" u
Code:
, B1 q3 B& V% j# S+ S9 Y__FLYFF_INITPAGE_EXT
* ^0 }, P7 d; `/ H定义" S9 B- e* F" X* r. i
: z: P" a6 o; ]; M- L

7 t6 a4 q, E3 s6 |. V5 _/ z+ D$ N& ~: `$ [0 _

. }+ l& O# @+ y6 P: w现在终于删除我的狗屁加速...! h1 `! t' t& \9 H6 Z

3 {- H6 H: N+ G! y9 h* Z4 X
# L; D* ?4 q9 Y) _  p3 Z$ f8 e. a
, a2 w* `6 P& ~, Q) {( \' ?+ g" e




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