飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:, y7 S+ s9 P/ W- O& l' E
尾翼:' o& O  Q- `  a) W2 j& U. Q$ w# ~3 v
  l) i! l+ t1 z* e1 E
代码:# y% }' V) J2 A  a8 |# W& n
CWndAutoFood::CWndAutoFood()
) `6 @. G/ e, e! }- ~" g{
9 h0 o7 n3 q4 l  @, p" w% ^        m_pItemElem = NULL;
. f* B2 K% F2 G% H6 c, ]% A        m_pTexture = NULL;
. S% Y  a( R, H7 ?6 v+ c( E        bStart = FALSE;
% ^' X0 C0 s5 Q5 w}
1 O! M, X/ b! w9 @2 b
: f5 W) \& g0 oCWndAutoFood::~CWndAutoFood()
% W' O  d! \4 Z* d% m: n{' P1 v0 `  }8 ?6 ^+ Q
        AfxMessageBox( "AutoFood ist gestorben " );
% e9 I5 R/ b4 ]. G/ R" T}
: \3 p" s' ^) h3 M( d2 ^: sBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
# p+ R, p& N1 D* y* H4 i3 N/ Z{6 K1 G0 G) |. K% j7 W0 d1 `/ {
        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );6 d: P1 Z" U9 [/ y9 T  p
}7 e, Q- x) Y$ }$ e; q
: k2 O- i4 ~( x) U% e) K
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
2 }6 H5 X/ J5 {7 i. o{
6 |( ?) s- c; \        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
  v1 R3 o9 I# N        CRect rect = pWndCtrl->rect;5 [( U* h# v  p0 D$ S$ Z
        if( rect && rect.PtInRect( point ) )) t( o" l9 {. Q5 k
        {- I. N) y" V+ B" A# f
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );) P  F2 `  M, |7 L# ]
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )2 j9 X5 x) f/ x/ q* L9 a* \
                {$ o6 {! y9 E: M5 a' `+ z4 m
                        if( m_pItemElem ); h& w% M1 S& q: g, F+ E- K( \
                        {# f7 n9 q5 g  G
                                m_pItemElem = NULL;
! ^* H% z7 E  ?! K9 S, E3 W& g                        }, q6 u$ l1 t. x8 s  C# v: \
                        m_pItemElem = pItemElem;/ z' ]3 u- y0 x2 ~5 r- F
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );0 b$ x* T+ d2 |# j
                }else{
- O) A% M5 {' \+ x+ z/ {                        SetForbid( TRUE );) x/ G2 m+ k7 P3 {6 e3 `$ H
                }* ^$ \" {) U4 c; |6 m- M: c
        }else{
2 {! d" W. `' T0 O# z                SetForbid( TRUE );
* w" f2 o7 i: o6 w- q        }3 q; D$ l5 g3 N" \  w+ Z3 Q2 g9 z# W
        return TRUE;; c% `& P, s# n5 C+ m. c! o# W
}
# x2 I5 C$ g+ ~! i/ y& E
8 j  I! j4 A/ F, k/ XBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )7 e. Y0 L  E. t
{
, U- {6 l) c7 B5 ]- f  u        switch( nID )
9 S3 x5 i* E+ ?/ H+ s6 a- J        {$ }! [+ ]/ Y' x9 [
        case WIDC_BUTTON3:
  ~$ [# s1 A: L  K, h: c7 N                {* o% Y+ ], N! {! a$ `# f. Y
                        bStart = TRUE;# m/ T5 C( v" q2 P2 y$ U. u
                        break;  c4 n$ e. O: [
                }9 _+ \3 K  h: F
        case WIDC_BUTTON4:
2 M6 f7 y; J& c6 B  }                {
& W8 Q  z6 f5 _0 u                        bStart = FALSE;
; Y9 y0 n& r# I8 m                        break;! P/ R, D5 ?$ }' w% A1 x
                }2 m" W  x! ]0 h, B
        }" ~$ q; K' @1 R- ~
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
! s4 I6 L) {$ U3 ?}       
' [; V# D, T$ P/ x5 G$ d# Cvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
/ S1 I+ C4 `$ u6 c4 y+ Y1 m{
8 g5 ~; G' e% I: H        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );, [* d, J" m+ A$ _0 P  h
        if( bStart || !m_pItemElem )2 U( E& y; G0 B
        {0 @- k4 M% L( {6 p
                pBtn->EnableWindow( FALSE );1 z  O! i2 Z' u& A' h; ?
        }else
0 W0 R$ |2 V9 G0 p7 p. @                pBtn->EnableWindow( TRUE );1 O! o: W$ U* x) o- m
        if( m_pTexture )
' S. {" N2 Z+ X' }; ?        {
4 y4 i& ?' u* U( D, a; `" S+ g                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
2 L0 C1 ~: A+ S3 Q5 R                if( wndCtrl && wndCtrl->rect )
8 j7 K& i9 K* k# v                {
& E( P6 b) M6 i! |+ I. Q                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );0 u/ o, r  A- O2 V4 ?: `
                }
4 x1 {+ Q6 w* W$ ?7 M. H        }
; U0 a" X( K! ?4 h0 n; D3 e$ U, N& |# ?}
  D1 ^  a/ d6 F6 I
% ?! D) c( i5 u% g3 R* l5 ?4 hBOOL CWndAutoFood:rocess()
* P; p( B2 b! Q: _2 Q- S3 l{. u" Y1 t; }  M! A
        if( bStart )  ^. A; m; J4 y0 ]7 {2 t" J
        {! C) E+ e: z% S9 `' U+ a* D2 H( _
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
& c" G4 |1 Z6 X, ~' n                {
) ?( \- Z% {& r- W2 p                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
8 N4 b) H2 Y! s5 W3 o6 ?                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );9 M9 N5 y4 p, O: R0 N
                }else{* J2 I0 H7 |  n, n
                        bStart = FALSE;
7 Z6 a4 Y2 m4 Z. t                        m_pItemElem = NULL;( z& h4 w6 C+ u/ A8 D
                }% W+ ^/ G( ^" ^$ J3 i
        }
0 k) ~7 Q: x( R6 A( C        return TRUE;
% \9 C* J! A7 B2 N}
$ g! e& K  P! Q! x; I8 y
+ Y5 Y7 N2 w: Q登录视频废话:
2 Z# U6 ^4 N" V1 X# d* @5 ~尾翼:. d# W7 ^# a9 q! F' d8 [; Z

! f1 o" f( s) I代码:$ d& y/ e6 f# Q& C5 z% J  e

' w9 ]/ j) {* ^3 Svoid CWorld::SetLight( BOOL bLight ); h% ^0 H3 m" c3 k" T
durch* b1 ~9 o! Y+ W- r) ~5 Q6 _
Code:
6 j$ I( d: v) d9 qvoid CWorld::SetLight( BOOL bLight )
# M/ ~! V, {" k! [* B{
  Z, _$ n' F1 E        //ACE("SetLight %d \n", bLight);- V4 X; X# ?# L5 B  v) ^& w% L$ o
       
+ U% \5 B8 D4 H9 y7 ~/ Z#ifndef  __WORLDSERVER ( r8 \9 V( ]! E5 g/ v
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);) o- p" [( {/ N9 e5 Q
        CLight* pLight = NULL;% b, P: u4 o: p" e9 h& U8 \
( }8 K  h- j0 ]1 Z1 Y+ d
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
& @4 W3 |/ A. s* N% N! V3 G4 A( m3 h/ r% L  h7 F6 j5 U
        pLight = GetLight( "direction" );
- B0 n6 l- ~5 H- s
* T7 m% H7 d* X4 ~! p5 K#if __VER >= 15 // __BS_CHANGING_ENVIR5 s) ]) A" q/ [6 V1 x
        if( g_pPlayer ){5 B+ _* e' J* I) @
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );" l0 d7 f2 Q! L& H3 ^
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!- w3 G% n  p3 N/ @* B( z: p
                {
5 n% K4 H; W7 M+ W0 o+ m- `                        if( pLight )
" \! ?& u6 V9 v) Q8 [: V# z                        {
. v7 n: V( b& s+ K                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
5 k3 d! V0 w  a                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
/ H) w  |0 {: n2 d8 ~1 h                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];. G0 t  X8 Z( b$ [8 t
" o7 V( q' e/ h; e& i
                                pLight->Specular.r = 2.0f;
9 S3 g' a6 j% U6 T. a                                pLight->Specular.g = 2.0f;
4 i9 p0 F' j8 h; f) K                                pLight->Specular.b = 2.0f;9 q9 n: e& d0 Z+ @6 i1 g6 k) c
        3 N) \, W; ?2 U
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
1 [0 R! O1 Q9 d% v0 x) H                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];4 Y7 C( H, _9 r
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
0 u$ ~3 Q" x4 F6 z. \$ `       
' J  M6 g8 L! E, y/ `# N0 z                                HookUpdateLight( pLight );
. z4 U2 N8 M" c5 |; O* |% g) w  U  o9 C0 D- v
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 K* U  t: n( F; G                + o7 h1 s" ^: `: }- w5 z
                                pLight->Diffuse.r *= 1.2f;
, K3 q8 X: i+ h                                pLight->Diffuse.g *= 1.2f;
2 u% B5 o$ Q/ p' X+ ~                                pLight->Diffuse.b *= 1.2f;
6 h, k+ d) f, [5 |/ l/ m1 L7 C: p* x2 ^; I. F% x. S
                                pLight->Ambient.r *= 0.8f;
5 S/ O  [4 E7 a/ \' W                                pLight->Ambient.g *= 0.8f;
. F  h3 D, }4 r' V                                pLight->Ambient.b *= 0.8f;
0 x) V0 B0 {1 j        - k/ b$ N: I9 I
                                memcpy( &m_light, pLight, sizeof( m_light ) );
' g3 f( |/ U( _9 z! t& U9 u; ^, K
  B; j/ u# W; \9 q. F- K0 `2 Z2 R                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
4 U9 c8 }$ T% T; `7 @9 d                                 D3DXVec3Normalize(&(vecSun),&(vecSun));
7 C0 Z) S9 [. E0 @) A' K                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
/ f" y* B8 r- }* R3 e2 z0 W' C% G% ~                                 pLight->Appear( m_pd3dDevice, TRUE );! t; [) U, V! S6 {. t
                1 A. g: M' d  b0 B/ J) ?2 U
                                DWORD dwR, dwG, dwB;8 |* _+ G1 p, D
                                dwR = (DWORD)( pLight->Ambient.r * 255 );4 W- M* S* u1 J* f5 a+ P
                                dwG = (DWORD)( pLight->Ambient.g * 255 );
4 O' U# i. z# t: X                                dwB = (DWORD)( pLight->Ambient.b * 255 );
' @  _/ v7 w" j# ]! ^" }, o' N' U                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );3 C! o: m1 j$ y; _2 t0 m: g
                        }0 e5 v6 d1 L" q; o1 x
                }
% [$ J% Q& l1 s        }" Y. P. v; O: T( U: {# ^0 _
        else: S2 s9 k3 ~+ ]8 I' M
#endif
  x# Z9 o0 s. K% I! T7 H8 x& d/ d  O- n
$ B/ y+ T- N" H+ H% i        if( m_bIsIndoor )
2 r0 v1 g3 X! U) D9 x0 s        {; D; ~0 e4 \. u6 b' _& T4 @; F
                if( pLight )
$ [* A& N, V! t6 T; b% s/ f. R2 F                {                % ~% x! a1 H' s6 F- y
                        // à??μ oˉè*
/ w2 t2 ?+ V: s6 l. j* ~                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;# K0 y+ h+ A& \, b5 ^
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;3 u0 c( d/ A( n  A0 c# \: @# Z9 h2 n
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
- f( k6 l4 n( c1 q7 }( _% a2 T. S
                        // oˉè* ??à? - T# j: i" z6 m
                        pLight->Specular.r = 1.0f;# d& A: `* w: V. E. e
                        pLight->Specular.g = 1.0f;
+ i' s8 ?3 c0 m/ Z9 e! u- u. g                        pLight->Specular.b = 1.0f;/ V+ u0 A/ R* t
                        // àü?? oˉè*
& }, Q$ u; a- _! H6 I, u                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
) ~( a+ h$ w) o% z- y                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
% w4 L" ^, y; c( b3 u! E                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
6 W) {# w. E* e0 V9 X  o
+ J  V' F  s; C6 R+ j( i: s                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
1 D8 [( Q, N0 J& P9 z" @                        {. @$ g* ^/ Z; s. D  }/ q# [  A5 y
                                pLight->Diffuse.r *= 0.6f;
# O4 h" Q/ W5 J1 F/ a/ l                                pLight->Diffuse.g *= 0.6f;' g; ~8 @% L! X) r2 O- C" I
                                pLight->Diffuse.b *= 0.6f;& h# e2 W. Y1 F5 s& H' z
                                pLight->Ambient.r *= 0.7f;: D- U5 E" e$ ?6 j
                                pLight->Ambient.g *= 0.7f;
* |: y& }. [1 |8 M! S% Z                                pLight->Ambient.b *= 0.7f;9 L0 n+ D6 J% G% \1 _2 F( n( |7 j
                        }- V- b3 l$ H2 [6 n0 b

# F* t3 e! u, ]7 h& }1 N#if __VER >= 15 // __BS_CHANGING_ENVIR& \* B; _: S$ e
                        if( g_pPlayer )
! A: j3 D% J" o                                HookUpdateLight( pLight );* E2 r* _- h, y+ s7 ?
#endif3 w- p+ [5 I  x2 d' h1 U
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );1 E) v' B+ |0 }% W0 d3 b# S, {
# x5 ?0 \9 M1 z
                        pLight->Diffuse.r  += 0.1f;. Q) Q+ S; e! ?9 h
                        pLight->Diffuse.g  += 0.1f;, y$ y- E  H( b
                        pLight->Diffuse.b  += 0.1f;
1 R# e4 k! k1 B8 _                        // oˉè* ??à?
& O6 h; ?; I: c0 t; i- O- R' I                        pLight->Specular.r = 2.0f;/ A/ [7 a. U! g
                        pLight->Specular.g = 2.0f;- a3 X( E6 T& i
                        pLight->Specular.b = 2.0f;
5 g# ?& z, d2 W4 l: j7 I                        // á?oˉ
' o, c# |4 G- ?/ d0 G6 F" i                        pLight->Ambient.r  *= 0.9f;
8 X+ J& z  j$ S# I" t                        pLight->Ambient.g  *= 0.9f;7 V& `% I8 u2 p6 H  d8 p
                        pLight->Ambient.b  *= 0.9f;
% q2 C/ m& u3 [. F. U$ G7 J, o2 x9 \7 h6 n  l4 Y* X# b
                        memcpy( &m_light, pLight, sizeof( m_light ) );
8 {% {- P# K8 r' y6 b! b1 [                        / n' }; u1 ^6 l% i( i& b
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
/ q+ v6 a6 M% _* \+ d9 e                        pLight->Appear( m_pd3dDevice, TRUE );
* ~: t: c, k- s- s        $ v6 }3 ^1 e. ~
                        DWORD dwR, dwG, dwB;
7 A& J# {/ _6 e' N- n, F                        dwR = (DWORD)( pLight->Ambient.r * 255 );" Q! r# q/ {0 l( P
                        dwG = (DWORD)( pLight->Ambient.g * 255 );% o( t( G! R! G$ b: X' U; a
                        dwB = (DWORD)( pLight->Ambient.b * 255 );8 R$ B$ \$ e" t& O
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
  g. T0 a5 @  Z1 V; O, v& q$ d                }9 t: X5 M4 c* b- K; a5 I& l
        }
  Q6 T. k  D( D* L6 _        else
+ [6 A  A; p2 R        {% M0 Z/ A% h1 x* H
                if( pLight )
. F* S9 `4 X5 C( \# ^                {: P! L- O# A) _' s7 Q8 l
               
: v, h! e- m" g                        int nHour = 8, nMin = 0;
3 f- a2 r0 g$ Z: I        #ifdef __CLIENT
, ~0 z5 ~" s6 ^) I  }                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
, O+ d2 f9 p( F/ P                        nHour = g_GameTimer.m_nHour;$ f( |2 M. V* n" [9 q7 b* X$ O
                        nMin  = g_GameTimer.m_nMin ;  E: w# ]3 f- V. ^. p8 I  Z
        #else
7 M3 W! b4 g; s                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
" a0 H( r- b" c& r4 x: j                        if( m_nLightType == 1 )
" m; s) w  Q# ^- J) n                                nHour = m_nLightHour;
" `2 J5 s+ [$ G        #endif
+ O3 G& W) P, o- K$ T6 @0 n; j+ u                        nHour--;
+ U+ t8 D6 x/ F* F- y6 j                        if( nHour < 0 ) nHour = 0;
" p4 B, W4 z! v. C                        if( nHour > 23 ) nHour = 23;
0 ]( i6 q0 Y; l
5 s( L+ u' C) o, I! v                        //if( m_bFixedHour )% a2 R/ o& c) P; O* @8 m. M# Y, O. M( J
                        //        nHour = m_nFixedHour, nMin = 0;* g: R  _7 o* i9 ~! k
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
; w* S/ ]" _- l7 o                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];2 }2 c: K" u6 O

  M/ }3 Z7 j. [7 B, k                        //m_lightColor = lightColorPrv;8 l3 U" j6 I% J
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
" a! U/ ]3 c0 {6 n  v3 P/ B                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
) }2 s2 F3 s- h2 [, M                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;8 Z$ M1 F% k( c! W
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
$ q2 m+ a( s  x$ j( j; ~1 h6 h                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;( d5 e: E4 y" W0 [' C4 `
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;* u4 q9 R& t1 b% j4 G, c+ q
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
/ X1 \3 E2 b( s9 J: e1 d; r5 `! x; S+ v/ h6 w9 F2 K
                        // à??μ oˉè* " y2 e5 S( L0 o" E9 i' `
                        pLight->Diffuse.r  = lightColorPrv.r1;6 K" M8 v5 z, a
                        pLight->Diffuse.g  = lightColorPrv.g1;
/ a- C& k4 m& E9 ?* G3 g: f  R                        pLight->Diffuse.b  = lightColorPrv.b1;3 i: k2 n  S4 a4 n# h
                        // oˉè* ??à?
7 ~  b, o( x8 B+ j4 _+ a                        pLight->Specular.r = 1.0f;+ r. y( T0 t' T3 p: w! B. l3 A
                        pLight->Specular.g = 1.0f;
' F* v- ~5 V6 h: x2 Y                        pLight->Specular.b = 1.0f;
' W, C7 w7 R& }# n0 C( E                        // àü?? oˉè* - E8 g" N- k. g% D: i
                        pLight->Ambient.r  = lightColorPrv.r2;
$ }! j; z4 ?6 X- g+ v                        pLight->Ambient.g  = lightColorPrv.g2;( V. j# o; p# x9 |- T
                        pLight->Ambient.b  = lightColorPrv.b2;/ O$ R8 X, V. j# w2 y  d( F( ?
, P; p5 ?4 r) B1 o- x
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
  i3 q+ b, G) V4 k* |) }                        {
/ e) `$ `8 e' M5 ~6 a' @+ t- I+ h                                pLight->Diffuse.r *= 0.6f;% P1 v% P9 p2 y+ D7 n: @( V! {
                                pLight->Diffuse.g *= 0.6f;; L# A, v( h% h! ~
                                pLight->Diffuse.b *= 0.6f;! M4 s! N- C( y2 g" q% N8 @( C4 J' o- y$ {
                                pLight->Ambient.r *= 0.7f;' O: t* J/ i4 E1 ]; I+ {2 Y  V
                                pLight->Ambient.g *= 0.7f;
5 r, k; i# v" O% ?0 f                                pLight->Ambient.b *= 0.7f;
/ ?7 x" M2 H2 |, j. j! F* |                        }
* q, h: T; k3 O) \2 p3 h; W7 V. z- J. p                       
& W2 R6 ^+ j: |#if __VER >= 15 // __BS_CHANGING_ENVIR! |3 _5 B7 X4 `* M% J& G
                        if( g_pPlayer )
4 G2 ?9 V! k2 u' `                                HookUpdateLight( pLight );
. v# K  \, V8 S9 t4 @+ H8 ?7 v; m#endif
7 l5 S& e5 b" p5 {+ p4 z  s                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
' b& L( X3 U- G* @3 B
% ^0 ~7 l  }. \, ?& [" y; Z#ifdef __YENV
/ y9 v& {  v0 c' o1 E1 ?4 y8 Z& `" H                        pLight->Diffuse.r  *= 1.1f;
' [* F( h; U" K' M9 l& Q                        pLight->Diffuse.g  *= 1.1f;
2 J% x( R% j3 n  U0 t! i                        pLight->Diffuse.b  *= 1.1f;" K. c& u+ t1 {8 r
                        // oˉè* ??à? : R! Q, O+ A! _/ O$ Z( o
                        pLight->Specular.r = 2.0f;* f; i* h! G" M. p% s0 w. t, F
                        pLight->Specular.g = 2.0f;! X" B& x& k, o5 R* Y2 ~
                        pLight->Specular.b = 2.0f;
- Q# r8 O% I) V                        // á?oˉ
5 `6 L( o' L1 t0 {: u1 ^, [                        pLight->Ambient.r  *= 1.0f;3 _- Q9 s2 A3 k& J% Q4 |# V
                        pLight->Ambient.g  *= 1.0f;7 \% x* t0 y& h0 W% a' v
                        pLight->Ambient.b  *= 1.0f;1 [4 t, r, l% E* C" Q" A- s
#else //__YENV
# z0 x: d* p7 `2 T# b1 _# A' a& y7 T                        pLight->Diffuse.r  *= 1.1f;
7 z( ?  o+ U: H' I; x+ ]0 Z! L- K                        pLight->Diffuse.g  *= 1.1f;
. l8 h5 U0 ^( y7 r0 h0 k* k& t) t                        pLight->Diffuse.b  *= 1.1f;
/ g; q2 s7 U/ }1 d& K. T                        // oˉè* ??à?
1 C! I( ~4 J( n2 y+ N4 m6 [                        pLight->Specular.r = 2.0f;
5 N1 |, c3 z+ O                        pLight->Specular.g = 2.0f;
. {! M$ N6 z; t9 O) q9 B( g                        pLight->Specular.b = 2.0f;
6 Q" L' f* R  k# H/ ]9 d                        // á?oˉ - u9 c! _* w" z6 A9 z
                        pLight->Ambient.r  *= 0.9f;6 L+ Z0 N9 m. ^
                        pLight->Ambient.g  *= 0.9f;) ]8 i8 J7 X# U0 s6 }4 @$ r
                        pLight->Ambient.b  *= 0.9f;) h! a3 \. Q: {# N: l% R5 c
#endif //__YENV 1 R: T( W8 p% {0 K! m/ ~
                        - ?% y2 r% p2 n* O* ^( |5 @
                        memcpy( &m_light, pLight, sizeof( m_light ) );: q% Y2 a4 V9 y% c5 p( t+ i
                       
+ D3 Q6 P) {0 v                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
4 ^2 Q9 A7 `0 t                        D3DXMATRIX  matTemp;
: A9 ]' ^# z( n$ _! c/ i3 l* P                        static const float CONS_VAL = 3.1415926f / 180.f;6 L( i) b4 l& F) R# C7 Z

3 W8 h1 z2 ~$ R7 }4 c3 K                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
6 u$ `: N4 L% o4 n3 _6 h                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);" L  ?1 ^' q& ?" S9 T
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
6 S0 R! D4 U& L1 a  \5 k/ s                        pLight->Appear( m_pd3dDevice, TRUE );1 }2 V& ~/ S; u0 V# h
8 y. A5 Y4 i0 \" j5 A& @
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- q" ?4 m  C1 Y1 A
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
4 {9 w0 v" c# |* L& j$ W/ {) S2 w                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
5 p& `4 Y0 [' A$ Z- T9 V& k0 |- P0 p. s" v6 W" m8 v! k2 q
                        DWORD dwR, dwG, dwB;, W" M$ g( _( e/ w) W
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
# {" n$ ?  N! d( D9 g1 J. f                        dwG = (DWORD)( pLight->Ambient.g * 255 );/ }; f8 B; i* N) X5 a
                        dwB = (DWORD)( pLight->Ambient.b * 255 );2 t# M% g" h' G. y! h4 V
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                       
3 E( R) Y+ x; j# f3 F                }
# @& ^8 ]6 D- {1 o        }, g/ p2 r2 J" d7 F
; j& m1 d. l# x0 ~& o$ B
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );/ O+ r& u9 p# n, p7 Z) _. g/ 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) );& q) C6 p4 A$ V$ C6 W
        ::SetLight( bLight );
. }/ i# ~% U4 c- {
* G5 `" d# N, U% f        // ±ao? ?D?í???ó á¤à?
6 o( l- p: V/ p( D        m_pd3dDevice->SetMaterial( &m_baseMaterial );# i5 i$ G/ e1 `8 s  P5 t: a# l* o* \+ I
        7 ~; ^' x4 m, a& q5 k. n; N: m+ z
#endif // not WORLDSERVER
* V5 q! L/ v0 B5 E}  P( }& z  @& p) L' O
并更换
4 S) D5 `; y+ K- m5 k1 CCode:$ z1 W' ]; U( u- [7 X% q
__FLYFF_INITPAGE_EXT5 }2 r! k7 e. w" e
定义/ I$ E1 R5 `' U
* ]* t9 M* |0 E5 g+ z* F
" _6 q8 s8 d3 h
9 |$ S) _1 V0 |  {
, m& j! w9 a" z( \: i& Z
现在终于删除我的狗屁加速...
8 l9 j# O- |& i( g
" k. b' v+ f( S
- b! J% \4 N; p# B: v: w' ~2 C& g! Z. m





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