飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:
4 O' x! \& j4 e! y0 N' G尾翼:
4 b* e/ r6 q* x5 ~8 u1 h, B5 t/ I
代码:
7 `1 R$ ?' E& kCWndAutoFood::CWndAutoFood()
) j2 f& C; P! s9 f{4 I# V0 o* E% w6 {+ q
        m_pItemElem = NULL;  H: J+ ], T4 |! a
        m_pTexture = NULL;3 G7 N' X+ _/ j4 E$ x. A9 i6 L! p0 h5 D
        bStart = FALSE;
0 f: o- H; Q" `# m* D6 k' d; h, B}1 K. U4 B" a& N0 a' ]+ E
1 u9 o' u1 D; V# B
CWndAutoFood::~CWndAutoFood()  S. ^1 ~9 m, {" `
{, g% @8 t  p: K' M6 {* u3 w
        AfxMessageBox( "AutoFood ist gestorben " );
. @3 O+ S+ ^$ b  }" {8 Y}* V- h. V0 q$ n/ a8 s/ G& P
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )% d9 ~9 G5 U' k9 g! t. x
{
) c5 K; c$ J; Q+ G, x, W4 \2 f( J        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );: V  U, }  ^2 D9 a3 m( o2 \
}, a. y- f' ]! a) j

8 ]! b; T3 `# h9 yBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )2 h8 x' h) O0 H2 X6 e0 q2 ?* Z
{
, A! s7 V% Z3 L' A6 B$ y0 `2 I% ?. E        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );. j0 G# {4 }+ F" O" J
        CRect rect = pWndCtrl->rect;
* X# ~) @; n5 l) p: j        if( rect && rect.PtInRect( point ) )
. S& Y; D2 O0 X3 S4 a        {  t( n- H6 `4 ?- X
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
/ Q+ ?2 g. Z- e2 A                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
! O. d% n2 ^- M5 L" `1 E                {7 s$ q4 _6 @# N. ~$ r8 U* L0 j$ z) k
                        if( m_pItemElem )3 K/ a/ B- M. }, {
                        {
/ v0 R- r, i; C) x" E, V, e                                m_pItemElem = NULL;9 V' T! k2 u/ G2 u- q
                        }/ M, Z. J  q# b
                        m_pItemElem = pItemElem;2 p( [5 [) J8 b
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );0 [: _. V) r  {' q* c1 Q
                }else{
) H! J4 ?6 q" `4 C                        SetForbid( TRUE );$ u* o$ |4 |* d0 h8 {7 R
                }' ~' U: U* _% \" }
        }else{
% o* _; O$ {2 U! Y+ M0 E                SetForbid( TRUE );
: A$ k( i% F! ~& t7 c; X        }
, h7 H: L5 S& P7 i: e( A' ]        return TRUE;
1 n5 p# f) ^4 k: `# |+ D$ q* |}& |. y' S8 R, d/ B6 P
5 F2 G+ H/ C3 \" \* l% _  d7 U% F+ l
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )" K* }4 b9 G' [. u, A; W) t& y% U! C/ Z
{9 R2 l, G/ o9 e; s' M( Q* H
        switch( nID )! u8 [& K: F9 c+ h
        {9 ?/ @9 E+ C' B9 u! `8 ?
        case WIDC_BUTTON3:
$ m: ]! `( p! e* t5 H                {0 K8 |) \1 j# f7 S0 Q/ A" Q/ s6 [
                        bStart = TRUE;) m5 h8 z  q% M) a+ E. U8 E- L4 L
                        break;
9 `/ X4 G& A: o' {& ^                }
6 l) D, z+ q- e& H8 [7 v        case WIDC_BUTTON4:
6 `/ c2 g0 D3 ~: k9 l                {
3 {8 L1 D- H5 h3 N                        bStart = FALSE;4 ^: \5 D: F1 k* N# P
                        break;
, n* ?! I0 @% i2 q* Q# V% b                }2 S2 M8 u% \  ]2 W& ~- D! |! G4 a5 w- a
        }. b) h5 d) E. F3 j5 f4 R+ v, D
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
  G0 I( o% ?$ `3 V}        ( u4 x0 ]$ s1 N1 |- j1 m
void CWndAutoFood::OnDraw( C2DRender* p2DRender )7 T+ ?% q9 L( @
{
$ U9 M/ T( p  c2 `6 A/ I. T        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
4 N( m4 J" K5 p+ g8 @0 Q' v3 Z9 @        if( bStart || !m_pItemElem )% J9 U* h5 H. v
        {0 }2 m7 T2 v8 F* Y
                pBtn->EnableWindow( FALSE );
% c2 ~5 k: B5 u4 j) O1 m        }else& q7 J  V+ u7 j" b  C
                pBtn->EnableWindow( TRUE );0 e8 e) r9 ~0 I: c3 C/ L( E. b1 m$ O
        if( m_pTexture )
$ _! ?: C3 B, j        {
1 H. j# P4 G7 A) g7 A% D                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );# Q7 A; f' F5 ?
                if( wndCtrl && wndCtrl->rect )+ B" e. V& j' M& ~. ~) f1 m0 a
                {/ V0 S: |7 f9 r% q( p
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
5 Y0 k3 m0 q% y) M4 J                }
7 i) U3 c$ {& `: U" Y  A        }# _: U6 n0 ~( {$ e1 L% E
}& y2 F7 m' j# J
0 c+ f- W! l" m
BOOL CWndAutoFood:rocess()
3 i& J0 P% @. y8 c% q& l) K{. \( H/ ?3 ~+ S
        if( bStart )
, @! n$ K* E% H: @7 K3 v7 H        {
% U( h  h2 E$ n                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
9 f! `: Y: X& l4 y' o% W) E                {& a- W1 q0 Q* Q$ G7 t' M& W, y
                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
" x! D  F2 `. J' F- ?                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
/ A3 k0 l' I  i8 n0 W6 K                }else{+ }# ^9 _: O: M" A
                        bStart = FALSE;
5 N% H5 S/ }* I$ `% d" O, l                        m_pItemElem = NULL;3 X* Z* s9 y4 X: g2 F
                }$ J4 |4 |. G/ x7 S7 I" G
        }8 A  R% B0 B$ ^5 p3 U7 l' p2 h
        return TRUE;; [! B% N9 _0 Z, P7 D: P/ {
}
1 ]5 `, g  V8 J2 t& z) D6 Z" ^, i6 v
登录视频废话:
+ S! I6 l( w: M, Y( A, Q- [8 ~8 t: [尾翼:, R% |9 J& _) u5 a: G- r- y
: R' r7 S, G' O6 _9 C
代码:6 k7 e" c) I/ M* L5 U: [8 n& V" ~

! \+ \: J0 W# B; _void CWorld::SetLight( BOOL bLight )
: ]; W& n* C* n6 n. O2 b2 odurch  Q. r3 n0 u$ B* O* Y
Code:7 {& T9 b. R# p; H- D
void CWorld::SetLight( BOOL bLight )
: L6 R0 H& Z3 F0 Q, P" r+ R: Y2 I{0 n0 M# t7 T- x. w% f
        //ACE("SetLight %d \n", bLight);
) y1 R7 u4 V& R6 a& r       
  {$ K. G5 i; M/ n#ifndef  __WORLDSERVER
3 H6 H2 w% Y1 m% Z5 m6 |        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
: c! R9 B! v% n8 ?, i) `        CLight* pLight = NULL;+ a9 `* g% X# |- G$ z# P
. D$ ]/ ]: _, C* S5 X8 ~5 d2 J
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );  i" H# \! D! r9 g  _. O

) \( v  G# P' ~8 ]/ G        pLight = GetLight( "direction" );
; r) s7 U+ r- d4 e- s8 N% u8 |. @; `; E" B
#if __VER >= 15 // __BS_CHANGING_ENVIR. @' \3 g9 `" x# \# ?" B- l- A
        if( g_pPlayer ){
  m* e5 C3 A. C4 I                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
4 J$ l1 O! a( F9 g! `4 x                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
& j& P& g5 X8 [0 `8 u% _7 y' f                {
/ f* Q6 r) A  T# N0 A2 `* [2 q                        if( pLight )
8 w, E  G' x( Y# d/ V                        {
2 x' e- [! L1 f. u# G: N) G8 e) a                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];" E6 F8 I8 t3 j. f
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];; y8 y, ?/ e  h/ \7 N
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];, b9 ?& k7 n" t& z# k( q/ z( F
; I  A( l% C0 [) |' R: Y' N
                                pLight->Specular.r = 2.0f;
/ P1 C+ E5 G/ q3 H2 ]3 ?6 |                                pLight->Specular.g = 2.0f;
3 K4 B8 T* y; M( o$ J* R3 z                                pLight->Specular.b = 2.0f;% Z! S- E3 {. M3 S
       
( v/ h8 ?5 c1 `/ w                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
6 ]7 B. ~$ k" h# b' P7 T. I  L! R                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
+ c8 d9 @7 U, [& ~! X) n) v                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];4 F: N3 `! N9 j3 V1 r  {' H8 N
       
. \( R" M* H- \* e& Z                                HookUpdateLight( pLight );
. k  d% j" K5 A, o; ]& g
" r8 S6 D$ ]0 ]# o# T- z9 C6 ^1 g                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
8 K! B& w; L* a. R                : J! x5 K* Y) D1 f
                                pLight->Diffuse.r *= 1.2f;/ O, R$ G8 O! r% ~3 s9 q
                                pLight->Diffuse.g *= 1.2f;
7 ]5 Y# |( f. U1 T4 l+ q4 B                                pLight->Diffuse.b *= 1.2f;
; M& {; g0 a  U! M, \; W& W9 B2 H2 H& f0 g
                                pLight->Ambient.r *= 0.8f;
8 C! T3 k& v4 \( T" P                                pLight->Ambient.g *= 0.8f;
; }# P5 s, ?: K; V: _                                pLight->Ambient.b *= 0.8f;
- ~# ^0 E2 z# k+ r9 x8 I        5 z, |' T; i9 j6 D- S) |
                                memcpy( &m_light, pLight, sizeof( m_light ) );
9 [3 b( q: k- Y+ d8 R
  @; t6 q7 _+ q% l4 [                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 {* Y  x  T& d                                 D3DXVec3Normalize(&(vecSun),&(vecSun));& r2 ~) F1 K- q4 ~. b
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); , m, f# B0 ]; v3 x$ a( B, x: @
                                pLight->Appear( m_pd3dDevice, TRUE );
6 p  P9 M8 y2 `  a+ v; w! r                ( V# A4 J4 k3 R8 i' A3 A2 r
                                DWORD dwR, dwG, dwB;
# Q) J' e! T0 R( y/ U                                dwR = (DWORD)( pLight->Ambient.r * 255 );
$ r  T" A# C- e9 T3 n! q                                dwG = (DWORD)( pLight->Ambient.g * 255 );
7 q" r* Q: _' C                                dwB = (DWORD)( pLight->Ambient.b * 255 );/ e' p4 c7 _+ k1 y4 G; D: x, T. h
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
6 K: L  _! p' T; A' A8 H, y3 A                        }
+ ?3 E& O5 `* x5 r* x- j2 s- f                }
- f/ }  ?! N& D4 M        }- M6 \0 X1 I; u2 T2 Z7 N% Y% L
        else
; C. B& J# Q" e8 C#endif " c# Q2 Z5 V5 q# x2 Y" }& M

+ L8 O1 P" V; }- N/ r5 I5 X        if( m_bIsIndoor )
  V2 o; J  w( k4 E& Q1 F        {1 |- \3 k3 z: @& V' |
                if( pLight )8 A+ h+ f) x4 u* S3 [9 B# T# k' c; C
                {                ; b9 O% q7 Q5 G" k
                        // à??μ oˉè*
, f7 b# q( I$ h/ x                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
0 E4 p; E6 V) U% a1 u! c                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;4 y5 J7 q9 I- p. M2 p5 l+ r
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
$ A$ Q/ t6 [* Y! {+ m# _& O, j. }) B& u) B7 `7 I
                        // oˉè* ??à?
7 s9 ]. r) L' E& y9 f- s                        pLight->Specular.r = 1.0f;
# C: V* K. A/ @7 I                        pLight->Specular.g = 1.0f;
# w2 K$ `  v# b) m                        pLight->Specular.b = 1.0f;  e) `4 R1 }9 e2 E& y- Q6 |$ p
                        // àü?? oˉè* ; g; y& d1 G5 N) C1 M* [
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
. i  X5 w9 X3 [2 Z$ T. x9 Z- g                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;3 M: \" ]% b4 O% T8 z
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;' r# Z/ ~9 x. X4 c3 {
, m$ }( r, Y$ b5 w6 c
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.1 U4 q) B0 B& }
                        {5 `4 C5 {) v+ `4 I& p8 e8 T
                                pLight->Diffuse.r *= 0.6f;0 R8 \& M, `& H9 O6 U2 ~8 [
                                pLight->Diffuse.g *= 0.6f;/ Q% |/ ^: ?1 n* A; u
                                pLight->Diffuse.b *= 0.6f;
: @* e  T" Z0 K, h* P                                pLight->Ambient.r *= 0.7f;
7 w: n+ i/ q* D7 P1 t                                pLight->Ambient.g *= 0.7f;
$ T4 ^8 x8 s2 `" l0 C& Z                                pLight->Ambient.b *= 0.7f;; {6 h' p) X1 U  V0 ?
                        }9 |% K% o3 }) U/ L4 D/ ^; j
+ i  A0 a7 d+ n- p2 r
#if __VER >= 15 // __BS_CHANGING_ENVIR
4 T+ o. \9 `% s% k$ S9 m                        if( g_pPlayer )
; n1 j+ v; M" d! z3 P                                HookUpdateLight( pLight );: E9 {* ^( [: a( m
#endif+ A. i! k2 D4 _, g
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );! P  a" b. \0 w2 z. g
+ a- t! G  w% I  _9 p* S
                        pLight->Diffuse.r  += 0.1f;
0 M2 a1 A. p  f3 G- a% [                        pLight->Diffuse.g  += 0.1f;! U$ j8 Z: y, Y% c8 c, M' C# _, {6 q( u
                        pLight->Diffuse.b  += 0.1f;
& N) u* p, ~2 c                        // oˉè* ??à? 1 d/ h& b% H% G( `6 ^
                        pLight->Specular.r = 2.0f;
% a2 b; }' g) L) }7 w3 t, G3 Y                        pLight->Specular.g = 2.0f;- L* u/ |0 n3 [8 e
                        pLight->Specular.b = 2.0f;
/ y6 D3 ]( Y, l6 x                        // á?oˉ
( d( Q9 M+ |& T4 w                        pLight->Ambient.r  *= 0.9f;
6 i1 y: K3 o+ \: D                        pLight->Ambient.g  *= 0.9f;
4 S2 m4 l: I/ Z* U                        pLight->Ambient.b  *= 0.9f;( U5 T( @9 `2 |- Z: x
/ s: v; _, ^( v9 x' f- M" M& }
                        memcpy( &m_light, pLight, sizeof( m_light ) );
' Y4 J4 H/ f" H6 R% R/ ]                        : Y/ C! Z/ t8 Q  u* h3 v, \; X
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );/ x: I$ V' s7 C4 p: |
                        pLight->Appear( m_pd3dDevice, TRUE );
7 X8 a2 C0 p& R7 e  Q( ]        : F, b' R' j0 F' ^$ j& {. _
                        DWORD dwR, dwG, dwB;
4 ]3 p$ L0 G# {$ Z8 i                        dwR = (DWORD)( pLight->Ambient.r * 255 );# e* ^9 o- C1 F( q2 ?
                        dwG = (DWORD)( pLight->Ambient.g * 255 );) @$ k  g- r3 C; k, x
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
3 f  Z2 d/ ^7 j4 V1 `                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );/ ~; ^+ l9 V, j' k9 ^& g
                }& r, n* \) Z. y* Q/ ?4 d7 A; \
        }* n* A6 A; I; s7 d. S, f
        else- {; C* W" X, x2 M( K4 r
        {; h3 c, f7 S/ F5 R9 s9 ]
                if( pLight )6 H# `& s4 M" \* i
                {7 f3 s- M: C, n/ s) K2 x0 _
                  d2 s1 G; v/ o2 z( X
                        int nHour = 8, nMin = 0;! I6 |% |7 v0 R1 T. \
        #ifdef __CLIENT
4 p! K- q" u$ a: c6 c& p                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 2 [% J- G5 c9 g/ I$ B2 C+ Q
                        nHour = g_GameTimer.m_nHour;
; V2 N# I! P) v                        nMin  = g_GameTimer.m_nMin ;$ _) S2 s, N! _; x9 I/ j: s& Z! n/ E5 b
        #else
! S" W& z! q7 G# c1 l& G                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
- N; b7 a* o+ B9 k                        if( m_nLightType == 1 )
% m0 c  R- c+ V9 h: ?                                nHour = m_nLightHour;
, d  _' ~" Y9 G) {; {* r- N3 c: f! I        #endif2 F" x/ C  _1 p
                        nHour--;
* s3 ]5 h( l. ^" H# |# S+ A! q                        if( nHour < 0 ) nHour = 0;
( O# H3 F2 M/ U$ w                        if( nHour > 23 ) nHour = 23;5 d6 {/ d" M" `

4 K; v! Y6 |( B1 ?9 K                        //if( m_bFixedHour )) B9 ~1 F, E& g7 }5 ^
                        //        nHour = m_nFixedHour, nMin = 0;
, O) C' _$ }& \; n6 m0 d                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
* ?3 I* T) }& ^/ ]; L  {                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
* J- [& K8 F$ h" j
# r4 Z; j  ?( S8 ?- ]                        //m_lightColor = lightColorPrv;
; ?, O; V6 `* Z; Q2 W4 t: ]                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;. Y6 V  X' e& I" Y6 e3 y
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
8 e- s+ T2 y3 k2 b: R                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
+ l( |! F. y  l& u0 c                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
5 G* n+ H& }# g% G7 p' p                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;  B7 @4 b! N2 j2 o
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
  P0 h8 u3 t# K* }6 ^                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
3 w% G" x: n) G$ j+ `/ I
# N. |4 I  B% `- R$ K% c/ |                        // à??μ oˉè*
' ^( E. i" g3 a9 z. X% e" y8 S# x! |                        pLight->Diffuse.r  = lightColorPrv.r1;
  D& G. \7 [3 G$ v; ]                        pLight->Diffuse.g  = lightColorPrv.g1;& I6 Q5 F: F; [% ~. n( t4 c( W
                        pLight->Diffuse.b  = lightColorPrv.b1;  T$ Q8 x3 g% m* J9 o
                        // oˉè* ??à? + d7 ]0 Z' {' c' s, _
                        pLight->Specular.r = 1.0f;
+ B7 C) ]( d6 j, ^) z! A: m                        pLight->Specular.g = 1.0f;
( F; t* z2 i* q9 R" k                        pLight->Specular.b = 1.0f;
$ |% d) [5 O! }2 N: `# I% D" X9 J                        // àü?? oˉè* 0 u; }" |; c8 N
                        pLight->Ambient.r  = lightColorPrv.r2;
1 t* W% x: x2 B4 ~& D                        pLight->Ambient.g  = lightColorPrv.g2;
9 d( k7 e; n' ]  g8 E) ~                        pLight->Ambient.b  = lightColorPrv.b2;5 A0 I% B5 \8 ]5 h; r, v: b, q
4 n) e  Z! }, i' l5 E
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.& G+ y4 a) M& t
                        {9 Y# n& B3 |% `' S, A' A3 Q
                                pLight->Diffuse.r *= 0.6f;
3 p( K$ X0 J+ e0 X                                pLight->Diffuse.g *= 0.6f;: O$ f. T' d/ P6 }' z
                                pLight->Diffuse.b *= 0.6f;
4 J+ W. f! D- Z7 A                                pLight->Ambient.r *= 0.7f;" L; P5 a2 q8 [9 y- S
                                pLight->Ambient.g *= 0.7f;
4 S/ `: J" M" V7 m- L3 q# l                                pLight->Ambient.b *= 0.7f;$ h( \* z# L$ ^; v8 j% ^
                        }
& ^9 m' U! y/ Q! ^  K                       
" X* A. l; v) Y" w, G+ A# c#if __VER >= 15 // __BS_CHANGING_ENVIR1 H3 A8 W& N. |+ i' O% n7 D2 g1 S
                        if( g_pPlayer )
- l2 e/ s, d8 n# H# r2 G                                HookUpdateLight( pLight ); " Y% c1 d5 M) Z' B, @. e! ~+ J
#endif
0 l- d7 F$ E, [- `1 U, F$ J                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& N7 W, T# Z: c2 q, M
) |" `* A3 g+ \! O1 q#ifdef __YENV
& I8 j4 o: e# I: x, x                        pLight->Diffuse.r  *= 1.1f;, Y- G9 Z4 ]: v8 y1 ~# p1 D& J/ y
                        pLight->Diffuse.g  *= 1.1f;9 H* I3 f: b- {8 l
                        pLight->Diffuse.b  *= 1.1f;
) n2 h; p2 Q4 x, F9 [  V8 O                        // oˉè* ??à?
: m6 L4 D/ e8 x+ G9 l3 D/ F                        pLight->Specular.r = 2.0f;
1 F  j& G) D; u+ P" g                        pLight->Specular.g = 2.0f;
8 s" Y& C% P9 D/ x& @, ?                        pLight->Specular.b = 2.0f;
9 s/ ~# g/ ?. ]6 t' X# d                        // á?oˉ 7 e/ X5 w& ]2 f  U& d
                        pLight->Ambient.r  *= 1.0f;
( Y5 h& |2 ]9 o1 b                        pLight->Ambient.g  *= 1.0f;; _$ c3 v+ e" R
                        pLight->Ambient.b  *= 1.0f;- @* K) c% c8 ?" T& U
#else //__YENV! }, @% R* @5 c) Q( b* P
                        pLight->Diffuse.r  *= 1.1f;; S/ _! Q1 u% i" j
                        pLight->Diffuse.g  *= 1.1f;. c4 ~& t7 ^8 @+ J! B0 f6 u# |
                        pLight->Diffuse.b  *= 1.1f;
" h- G' M/ C; M                        // oˉè* ??à? , h8 y9 Q# L3 P" i4 I8 @* W
                        pLight->Specular.r = 2.0f;
5 y( B" p2 k9 |                        pLight->Specular.g = 2.0f;; `) C, i7 @, i2 n  A
                        pLight->Specular.b = 2.0f;$ ~+ V* r9 M: x& J
                        // á?oˉ 3 V! ]3 W2 p- u7 g$ N. e# G
                        pLight->Ambient.r  *= 0.9f;  U% V: I  y  u/ ?6 F! v8 }
                        pLight->Ambient.g  *= 0.9f;) Q4 J( v: H- S& m' o4 |) R
                        pLight->Ambient.b  *= 0.9f;! F( L% e; Y! F. f% j1 l9 A
#endif //__YENV
$ U/ ?0 @- i% x, C                       
) B- q- B" C& Q1 d' a5 g                        memcpy( &m_light, pLight, sizeof( m_light ) );; a* n: ?1 @: i
                       
6 m5 B+ @& B  F8 Z3 n1 ^4 c. R                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);' R" s5 a( L  q% U0 @% x2 A, n
                        D3DXMATRIX  matTemp;; @  [2 h; m0 m
                        static const float CONS_VAL = 3.1415926f / 180.f;1 h5 t; e" l! Z8 j) ~4 A$ g
" c0 }% l1 j) h- y) o, E
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
+ V" U! k0 }" i3 ^5 C                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);) N7 n  t  J+ `
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 5 y  S2 ~  y8 d5 J5 X; u/ u
                        pLight->Appear( m_pd3dDevice, TRUE );
3 t3 c! }1 d! m. H8 l3 X# S
" i4 ^5 y0 z0 ^5 ?                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);1 {, E+ V9 b, f
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
0 n4 S" z, |8 J& R7 A( [+ Y                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
& A9 `4 V  C+ o" z. g, z8 u) ?0 D% c, z! I
                        DWORD dwR, dwG, dwB;6 A2 f' G" X1 x* _, X1 n
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
* m* i1 g$ B8 y                        dwG = (DWORD)( pLight->Ambient.g * 255 );, l% N& x) R/ `8 I# f/ n& U% }( q3 [- G
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
, b2 R+ f" B; P# ]4 i                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        8 U1 I9 |, r5 ~6 D" }8 b9 @
                }
# S1 f: t) k0 h1 K        }
, B3 E6 T- A. G8 `0 T4 ^4 ~
! B# k* J3 B) V0 K( M! m        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
* Z3 X( ~5 p0 p' \! [& R0 Z+ u        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 q; F; H& ]- i
        ::SetLight( bLight );' [6 x. s6 v1 a0 U; c5 q
' C6 E: t/ T! b' U& u- d' A( [
        // ±ao? ?D?í???ó á¤à? ' B' T; g9 ~. x3 P8 p7 X
        m_pd3dDevice->SetMaterial( &m_baseMaterial );; K/ A9 b, ]5 b% P0 c# T% [% T
       
# W, j2 u8 l# z; n; K( z8 m9 y$ ~7 k#endif // not WORLDSERVER
: d, R: O/ Q. ]0 B}
. A$ C8 Q; o) o$ j3 V并更换
5 e, V. i) }1 J6 s; qCode:
6 o& l( d. \1 w2 i__FLYFF_INITPAGE_EXT0 N) _8 @5 |! _0 F" j
定义  m) A( q. q) I3 _, w

2 P8 p' \8 x/ \& q
$ e+ Y$ v+ z) Y
  Y# U6 u% ^1 A. f6 x& r9 I0 x$ w; E  I1 [9 h& g( K
现在终于删除我的狗屁加速...
7 e% s' D! U; s$ b0 B3 @: c& P% u, N  e0 ?% w2 B
2 C9 ?8 D+ w* e# {0 ]. d" H

/ R" R; ?' k6 [4 @% e2 d2 {




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