飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:- ]3 a' b8 U6 [  E( B3 I
尾翼:4 I- k, k# R3 x* Q; L9 r
* E! ]! W  N$ C# P9 P0 C5 {7 a
代码:; ^  ^' I5 }4 t/ v/ C0 U# q. W
CWndAutoFood::CWndAutoFood()
& W5 C& ^/ ^9 f& y' g$ j{$ K  s, u: s9 B
        m_pItemElem = NULL;
9 B4 }8 W0 q3 ?3 F: ^! V        m_pTexture = NULL;
- l  D0 `" v4 I6 ?        bStart = FALSE;. K) g0 Z1 a0 H) n2 d* H7 t
}+ A- Q- z* e5 i9 L. }, W5 J

) {+ P5 A$ N3 JCWndAutoFood::~CWndAutoFood()
/ M' L$ i" {% M  K# j{9 D6 l+ F9 B4 a6 R4 q5 C
        AfxMessageBox( "AutoFood ist gestorben " );
$ q6 |2 h8 c' ^  p! \}$ t" d5 q" f- w9 `
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )$ |  Z. V" D8 X% `0 Z) Q" f% j
{
6 x3 {& H) C6 G4 \+ c        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );2 N5 N5 z# t5 u+ D# M( {
}2 j/ `& |- ]( Q7 k1 p
$ C; [+ @3 P1 v, L" r! L+ o
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
$ t. D. j# p6 F  ]3 Q; X+ M) d{; w. W/ S; r6 F/ _: \8 f  Y) S
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
. K) B5 U, f, U! w* Z        CRect rect = pWndCtrl->rect;- n: X& U  O+ k$ s) F
        if( rect && rect.PtInRect( point ) )
" r6 J0 v  s7 H* G8 G  D2 W' R        {
( E8 W3 x) F* X, U# J                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
) t0 @7 K1 G2 d9 b0 W0 S0 h                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )* m+ a3 ~& ^, }! Q( C
                {. p! z' E- D* @' t
                        if( m_pItemElem )
8 S; }8 m; ^. d$ V- K; L                        {
8 I  L% t3 O1 P; G                                m_pItemElem = NULL;/ d6 P, d& c" Y4 x0 V
                        }8 ]; i) ]5 G* q+ R$ d) V7 y) L
                        m_pItemElem = pItemElem;
6 X& |( }% ~7 ^( y' h0 e- I7 _                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
& Z8 a, Z. z3 c! x4 D8 `. }! J                }else{( D$ d0 q+ n  {/ I
                        SetForbid( TRUE );
' M% Q( J( {( o% C+ j% U2 n2 t                }
& X( Q: E$ ?  Z  E6 \. {0 v, u        }else{
& _) T* D/ ]' D- _                SetForbid( TRUE );* y8 {4 D! o9 K
        }
) b4 u& b5 L' h; ~$ |0 u( D1 {4 C        return TRUE;
4 r9 c/ O* k( a3 [( ^. Y1 i}. H3 g) E' P. m  f) [
' K0 I* O% @  o2 k/ f$ A! I0 v
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ). y7 r; G- _8 [( d; \+ y
{
; V# y3 ?0 V. V2 k. T/ z2 l        switch( nID )& c  r1 d+ j' T5 I% {. l+ ]
        {
4 d3 @8 {. b4 w        case WIDC_BUTTON3:
1 M% a- I2 g! b8 U7 v                {
+ b8 E$ O) v8 P# X  ?" w                        bStart = TRUE;
4 b4 _7 v" p) F: H' k; F* i2 L                        break;& ]: U5 n( V, H: e: L
                }5 @2 g5 e- O% }. l7 y
        case WIDC_BUTTON4:  n+ O; y  d( W
                {1 i- t$ a1 T. _* f$ T; f' ~
                        bStart = FALSE;; H3 s. l" W$ l$ R8 n2 L7 b
                        break;
) b* ]0 h% p7 J                }; B# _- C8 E  H$ y: d( K% Z4 B, _
        }
% Y/ h1 m& c  d( K: Q, ]        return CWndNeuz::OnChildNotify( message, nID, pLResult );7 V% p" a- ^' e
}       
8 \; a9 c& ~3 ~' c/ S  k% Tvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
/ U" S1 q6 _( S  |, j{0 Y( {) G) A% b0 Y: z
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
+ K6 K6 P2 a/ B# X$ ?% H        if( bStart || !m_pItemElem )/ d# V5 ]  N. F7 d
        {
4 B1 ~  A, k+ j                pBtn->EnableWindow( FALSE );; G# d: B  f7 X: U; F+ ]9 T
        }else8 U8 t5 c1 V5 Y8 w! K2 V7 T0 c
                pBtn->EnableWindow( TRUE );
. v8 L% a- Q/ i' }$ t3 P2 I        if( m_pTexture )
& b- N8 @5 n- t: Z1 h        {# C4 g: Z( c/ g9 p1 t+ v; {
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
2 Z5 A- u* W1 [! D                if( wndCtrl && wndCtrl->rect )
6 K4 N* t9 J" T3 k; q! z                {
" v' z* _! s0 W8 H5 ?! U6 V                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
/ R; i3 ^/ P/ p                }/ `& h7 z, |( Y: i1 _
        }6 [8 a4 f& B4 H9 R: N7 D, j+ q, p
}- f& R' F& J6 p+ o* s9 h

/ K, T! V' y7 P1 o, LBOOL CWndAutoFood:rocess()7 v" p  h' G2 _# E2 {" z, N0 A
{7 T5 R% p8 K: ?; z2 I* \  {
        if( bStart )
' e7 T/ }: a# R" w' N        {
- [& W; S, m$ m0 \( J' q8 ~                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )6 f  B% g4 R% D" O0 |) r
                {
6 l* M0 n' n8 x                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )7 j7 V* Q, w7 L% _
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );. r) U; C" k4 \8 Y; ]
                }else{1 h# I- ?. M4 l% L2 x
                        bStart = FALSE;# M+ T; ?, Z: x% ~
                        m_pItemElem = NULL;
- u  |# N  t3 P+ D                }. |6 j- q$ L7 \# S, i
        }* ^$ |7 P& W# q% d2 X( |4 n; Y
        return TRUE;
( M/ L' k& F9 A+ Z' H3 }" B}: z1 U* X1 U# F( _3 G' A$ ~

" g, C3 q2 U2 H3 i# O登录视频废话:. s/ s: J1 o8 q0 u; ^, O9 L2 H0 d
尾翼:
0 u, _1 q0 X3 W, v7 \/ p* |; v* L5 z, {
代码:$ S( x  l% l  t) P
4 B& D3 J" |" T
void CWorld::SetLight( BOOL bLight )( ]) A3 F' j6 W, K
durch; D$ q5 g$ C4 u/ l% {
Code:
6 g6 j- F3 l; L/ V, K7 u+ _: b8 \void CWorld::SetLight( BOOL bLight )  z- R, n, i# s" ~& L) t( [4 P6 F
{
7 y  f9 v8 P: K( b- O        //ACE("SetLight %d \n", bLight);
' L5 M  ~4 P8 K        3 G$ N2 ~) v6 g
#ifndef  __WORLDSERVER " X2 u1 P* u8 C6 }4 h
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);, X1 u0 R) J/ P6 H
        CLight* pLight = NULL;
: t$ K# k: W* M  N5 ?  v+ s0 j5 B5 x7 b! n0 ^0 u
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );1 f. @/ p3 y# g# ?4 _! d+ o

/ T. z: d* Q, c1 t& H4 l0 Y* z* p        pLight = GetLight( "direction" );1 Y4 W0 m, H. a2 v+ l' ?: t7 H
5 d3 c" r% t% y: }( i$ P3 v
#if __VER >= 15 // __BS_CHANGING_ENVIR
- d  x& K8 ]6 n3 H7 H$ Y; o        if( g_pPlayer ){
7 E1 a: ^4 h6 j                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
" C0 T- z6 \. Y: q) u                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
( ?. q  X; G3 ^8 c" h                {; ?: w5 i2 \' ]7 m& a
                        if( pLight ). W* `2 j# a2 \/ x; U* F
                        {
+ _0 e6 O5 F. j; \* k( ~                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
6 y7 L6 U! w/ z* u0 ^: P" J                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
5 X! _6 |: ^2 y; ^9 ^                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
2 |1 ~  A5 W5 m$ d, @1 _! W% c9 `* l, K: Q! b1 x0 [$ X8 }
                                pLight->Specular.r = 2.0f;/ Z6 a! ]; S. ^% S/ a- b$ T
                                pLight->Specular.g = 2.0f;: S& z+ ?- ?* z
                                pLight->Specular.b = 2.0f;
' k! m( `9 h6 f8 E3 ]/ @       
! Q$ p, z* F* e% s                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];: Q& D( ?+ \3 P3 a8 p. d5 s
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
% T4 d: c" L3 Z/ L                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
$ F) `7 @4 `( ~' r+ _) B        8 ]; `/ h/ E; A0 E7 a2 c
                                HookUpdateLight( pLight );
, h' a$ v0 Y6 ~' g6 _! a( s4 T' `# Q3 q9 Z+ _; P9 d
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );: U  q3 e9 J5 l* u5 ~! K) A' X8 n
                9 P; ^" Q2 `" j5 b
                                pLight->Diffuse.r *= 1.2f;
3 b* F' E9 w, O, x                                pLight->Diffuse.g *= 1.2f;8 A- j8 ?; ~4 s* p1 }1 t: O
                                pLight->Diffuse.b *= 1.2f;3 m) G) l  S  M0 b3 M- ^: _

; k1 `* O; y- f' R4 D, E6 M                                pLight->Ambient.r *= 0.8f;2 O5 e5 [9 g9 H& I" k) @/ ~/ b4 `% H  |2 \
                                pLight->Ambient.g *= 0.8f;
4 t2 x2 V3 o3 G2 I                                pLight->Ambient.b *= 0.8f;
/ i" y% G4 E! L, K        1 B" h/ a8 [4 F# T
                                memcpy( &m_light, pLight, sizeof( m_light ) );
# ]1 ~" I4 z, Y
  l0 t3 K* I& D" E& R$ G) ]' @% q                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
3 h+ L; H5 Z: v, s1 r4 ~) U                                 D3DXVec3Normalize(&(vecSun),&(vecSun));/ M% N3 f1 ?1 s: P5 u
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. `4 `# j8 Q; b% Q, P                                 pLight->Appear( m_pd3dDevice, TRUE );
( C1 O9 a, A3 S6 E/ p               
  n' V- |$ d' |; E                                DWORD dwR, dwG, dwB;. z3 J1 Z5 i, Q
                                dwR = (DWORD)( pLight->Ambient.r * 255 );
. b/ ]$ X( J# e& c: D                                dwG = (DWORD)( pLight->Ambient.g * 255 );( L7 z. q4 `3 w  S; @
                                dwB = (DWORD)( pLight->Ambient.b * 255 );
3 j) b  x4 _/ ~" T1 ~3 U- n. Q                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* N% \  ]9 R$ N0 U* f                        }8 I$ f/ K, }7 N3 U) m4 Q6 ]' X% L- N
                }- @2 T1 x4 z% z+ f% ?* V7 o
        }
% t9 T- M1 [) J; K        else
( P2 f- @1 s, H) m#endif
- w) E$ o3 R+ l/ e+ X8 p# s1 q; u' `
6 H7 a+ z* U  u5 Q+ [$ |        if( m_bIsIndoor )6 \( b* h& d: Q5 {$ x" O, o' `7 j3 F' E
        {
1 r- }+ _: O  k! H; _! D                if( pLight )$ ^4 B7 I# w7 B& P+ X8 |
                {                ' |3 r. i3 m7 H) T, t: i% A( d
                        // à??μ oˉè* + f2 x4 p0 K  W( }3 Q# i: ]: s
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;+ ]  d* d: g( }' ~$ _+ n
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;; u/ E& N8 H) W( a, v$ [+ x
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
9 i. _3 _' _5 l! a: w3 x
9 j) J# U& l" V5 Z5 f                        // oˉè* ??à? ; T6 R4 @$ m0 s# V/ d! M1 h6 n
                        pLight->Specular.r = 1.0f;/ |& Z* S! h% h+ R; P
                        pLight->Specular.g = 1.0f;
# m4 y* b5 ~+ d: [                        pLight->Specular.b = 1.0f;
+ ]6 P5 m$ Z; ?& _2 a% y                        // àü?? oˉè*
( |/ n  A6 Y# F1 s6 y                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
5 s  V1 i. t( _2 P) {                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;2 i7 ?# R% f; O6 f
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;4 ]) M' \% _/ W7 p6 B1 c

4 `1 P  `  s8 W                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.. d0 k8 ~2 c  q4 V8 M& P+ n+ {6 D$ A
                        {- q* ^3 H, j( p$ T  _# |0 ^
                                pLight->Diffuse.r *= 0.6f;
; O* H' i' l1 N7 Z                                pLight->Diffuse.g *= 0.6f;, S* F% D& \7 R( }8 E+ G  ]
                                pLight->Diffuse.b *= 0.6f;
1 E3 e" d- N' ?                                pLight->Ambient.r *= 0.7f;
7 S5 J: e# M' _7 y2 ?% U                                pLight->Ambient.g *= 0.7f;
* X3 q( d0 ~1 N& ]5 h* F                                pLight->Ambient.b *= 0.7f;; S. ]) {& s2 A
                        }+ K5 x8 G  _5 Q# b, I# Z+ r2 T
6 ~' V* E: a) t' x0 o
#if __VER >= 15 // __BS_CHANGING_ENVIR" K- x+ {# q% Q; r: z+ r
                        if( g_pPlayer )
) z* Y; I# ~. C* r! ^1 o2 A                                HookUpdateLight( pLight );! F/ i& a. E& j& l
#endif
9 g. s( q8 e# n& h! V; K- }- _$ ?                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
3 ]* e1 h5 i, n# G! q
# p& ^; Z4 j  n6 s% S4 Q                        pLight->Diffuse.r  += 0.1f;
) p5 _! |: G9 h4 L/ y8 B1 L  i( B                        pLight->Diffuse.g  += 0.1f;8 [3 z% {0 d+ o# N( n5 O; Z0 C
                        pLight->Diffuse.b  += 0.1f;
+ V# B$ R- S! v1 r* q: [9 W                        // oˉè* ??à? * U8 g2 q& q! I/ L% C
                        pLight->Specular.r = 2.0f;  y: m4 U  b! x2 x
                        pLight->Specular.g = 2.0f;
0 j) F& k  X( @2 k! R# f                        pLight->Specular.b = 2.0f;
( V5 v! g* p3 M+ ?; e$ Z                        // á?oˉ ( {: [: s+ D! _: r2 |6 W
                        pLight->Ambient.r  *= 0.9f;6 |- r& L+ z3 E( d
                        pLight->Ambient.g  *= 0.9f;0 f4 r  S! d/ m) H: f4 ?" T) `1 k* A
                        pLight->Ambient.b  *= 0.9f;
7 u# u- A. _1 f# l8 `
) y, h9 Z6 v  p8 s& y0 c$ N                        memcpy( &m_light, pLight, sizeof( m_light ) );. {8 V3 v3 C5 |+ ?. U
                       
7 T. y* v5 h* k. F! F/ I' Z                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
5 a3 ?% L$ ~8 M3 |, e) `# K                        pLight->Appear( m_pd3dDevice, TRUE );9 t6 i  k6 @7 J2 ]# f  b
       
% S" G, m4 I! d; [% D                        DWORD dwR, dwG, dwB;
$ [9 c6 Y. \0 }" L                        dwR = (DWORD)( pLight->Ambient.r * 255 );
- e8 K7 o* u6 d+ G; B0 M7 t3 p                        dwG = (DWORD)( pLight->Ambient.g * 255 );8 D% u; Y: j' a; y! n0 n9 z6 T
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
1 d, F# P* C. g' e                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );7 ~& c, O! ]* A) Y: J: J
                }
& g/ w. J2 w& ?+ k1 V        }9 }9 p1 E$ h: d$ }( O6 ^
        else/ }  U2 n, L- P% ~1 ?& V
        {
1 J) n0 j' h" F+ L: g. m# }                if( pLight )
" `6 y: {- t8 i) h3 ~                {
# a' T; d$ h  Q( O- ?- ?                # e  ]. j' _) D3 Y- c2 s
                        int nHour = 8, nMin = 0;
0 l6 P% t4 ]7 t4 F$ ^7 [        #ifdef __CLIENT* N) E1 y7 f. l& }: k
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 5 Z" w$ A/ ]& S% J. S) ~% l& }8 Y6 j) H
                        nHour = g_GameTimer.m_nHour;
$ J1 K' U6 z0 E, P) x                        nMin  = g_GameTimer.m_nMin ;$ y; \/ B  j& ]9 x! _  s/ o! I* r5 Q
        #else3 b4 e' m- F  ], P+ V
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.- k) _2 Z7 F6 N9 p  U
                        if( m_nLightType == 1 )
' q# \# E" M9 C+ d                                nHour = m_nLightHour;1 L; g7 m& H, V8 W8 ?" W
        #endif
. ~1 j2 `, C* P, c6 }                        nHour--;; w( r  F5 |! j
                        if( nHour < 0 ) nHour = 0;) v% S/ S& J( C  Q
                        if( nHour > 23 ) nHour = 23;5 ~9 p6 Y9 w- J4 L2 G% X' \4 V/ E
/ O) h" y- i7 \5 J* K5 h# S; ^
                        //if( m_bFixedHour )
  \) l) @, r, j+ C+ U                        //        nHour = m_nFixedHour, nMin = 0;7 Z! G9 O  ~5 M( a& o! F8 y$ U6 P
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];4 r6 u2 E# H% Z8 p, w
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
) a9 ]8 p6 s1 d! U) x* V  Q. P8 ]% K* u$ E5 u
                        //m_lightColor = lightColorPrv;
8 _$ S2 j8 D4 r$ ^3 ^( l5 k                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;' I5 A& N1 R& a# ~
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;+ b# x' L. X" L" L
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;; ?. t2 c. ?& M) ]; d' O5 B( ]! A
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
1 [6 J# V/ g0 e                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;0 ?( h$ y* F$ y7 L$ e
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
0 G4 p, B& C. i7 b0 j+ O) u* ]                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
8 O# j1 h1 T5 N" o( x! X$ c: T5 @# Q0 G$ T9 k9 h
                        // à??μ oˉè* * g1 _% q. j+ O8 v* G# Q) U
                        pLight->Diffuse.r  = lightColorPrv.r1;
- Z! Y2 y7 a3 }. Y, F                        pLight->Diffuse.g  = lightColorPrv.g1;% F9 A/ D) |7 y$ b
                        pLight->Diffuse.b  = lightColorPrv.b1;
0 H; M$ ?) ^" G6 e; A                        // oˉè* ??à? $ ^2 P/ Y4 W6 v- u( _# C* }1 G* P2 h
                        pLight->Specular.r = 1.0f;+ ^' r1 ?; E% s3 k$ o6 D
                        pLight->Specular.g = 1.0f;0 T5 f. M3 N1 |) A+ B' F# P
                        pLight->Specular.b = 1.0f;
1 _: ]" X# O/ x1 z0 }8 \                        // àü?? oˉè* , C- j7 i9 e5 Z* W; ~4 k
                        pLight->Ambient.r  = lightColorPrv.r2;) Q/ C8 [" v$ D' t, f( M
                        pLight->Ambient.g  = lightColorPrv.g2;
: W4 I. _' b2 p: Z1 K                        pLight->Ambient.b  = lightColorPrv.b2;
* D' c' b! k6 t( |! X* o7 ]: R8 `3 K- H2 @; L& D
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.& Q, Y: v" l5 X3 z( r- D
                        {) _0 b+ c, E' Q% [2 }+ s+ U
                                pLight->Diffuse.r *= 0.6f;
) G* g* E6 e, ~$ a                                pLight->Diffuse.g *= 0.6f;: [! q. w6 c- _" }% t2 W: Q
                                pLight->Diffuse.b *= 0.6f;# i9 I$ D4 s( x5 M5 ]- i
                                pLight->Ambient.r *= 0.7f;# k& a" S) [- Q4 r. G
                                pLight->Ambient.g *= 0.7f;
4 q2 {& f* K, C                                pLight->Ambient.b *= 0.7f;9 Z' b# l* H6 G' z
                        }2 x8 E& M3 T9 G$ F
                       
4 r1 @- {" r7 }( G$ Z#if __VER >= 15 // __BS_CHANGING_ENVIR: B2 S- D7 O$ R& W+ \# r- i3 Q+ Z7 Y
                        if( g_pPlayer ); o" _3 l6 _8 x7 B; p$ Q6 F/ ]
                                HookUpdateLight( pLight );
: U5 M9 l" @. d8 v$ Q) `3 f#endif2 O/ l& I- }$ U8 N- E, B! X
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 A1 T  I! m. B  X& d! D8 Q# u7 F; Q+ _( z) X1 u& K# a& H8 R5 v
#ifdef __YENV
: E/ U: T0 U% n8 v4 m                        pLight->Diffuse.r  *= 1.1f;7 u/ B$ y$ O8 v
                        pLight->Diffuse.g  *= 1.1f;* A6 t" b4 U4 P, E; c
                        pLight->Diffuse.b  *= 1.1f;
5 D. r4 F% p, v/ H) T1 ?; c                        // oˉè* ??à? + R. ?& g0 y0 X' t: k
                        pLight->Specular.r = 2.0f;3 Q  j/ U  l( L! v+ W" ]
                        pLight->Specular.g = 2.0f;
9 t0 t! K: y1 g  l4 a0 k8 I+ u6 Z% f  j                        pLight->Specular.b = 2.0f;
/ X' h  G1 D4 d, q; q& e8 j# ]0 m                        // á?oˉ
3 n6 Z& E, n( Z                        pLight->Ambient.r  *= 1.0f;
& V- }5 J( B. b( {( k2 _) N                        pLight->Ambient.g  *= 1.0f;
- P9 ~2 R& i' U; ?! Q                        pLight->Ambient.b  *= 1.0f;7 B: y% Q3 m! K. R4 Z, B1 {* b
#else //__YENV3 c$ l+ v* j- H9 L* M% d" P
                        pLight->Diffuse.r  *= 1.1f;! {% C* Q' f6 _4 d/ b
                        pLight->Diffuse.g  *= 1.1f;
( a5 _: O# e4 v9 ?+ I                        pLight->Diffuse.b  *= 1.1f;6 j% X3 V( ]5 z
                        // oˉè* ??à?
7 U; ?, L4 ?) j6 k# [  e                        pLight->Specular.r = 2.0f;
/ u& n& q8 G) S- G5 g' @) A                        pLight->Specular.g = 2.0f;
# G/ o% c( v$ H* ^& |2 [$ y                        pLight->Specular.b = 2.0f;
2 B4 k+ E+ E6 B8 l                        // á?oˉ
( u$ [9 j2 m8 V/ a. w$ n/ c                        pLight->Ambient.r  *= 0.9f;6 O( n" K  B1 \  p4 W; q" n# V6 v
                        pLight->Ambient.g  *= 0.9f;, u% Y0 |9 j4 k7 U- N/ S
                        pLight->Ambient.b  *= 0.9f;4 A- u6 q' m6 D: p# @. \  ^- v
#endif //__YENV
9 Q& _+ L8 r$ H1 M  M) p: d% |                        ) \! A) S. o; t
                        memcpy( &m_light, pLight, sizeof( m_light ) );% ~& u  c2 h+ a# v
                       
1 O& j6 Y! O/ ?7 J  r4 k                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
( Q# R: \7 ^) i, Y) ^                        D3DXMATRIX  matTemp;
0 }% y9 \7 C9 _                        static const float CONS_VAL = 3.1415926f / 180.f;7 Y1 I2 k  h* H( y
# G6 C" o$ q+ ~% B! C( T, M
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);& G& d; A! G3 K  |5 ?
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
+ f0 I9 Y" q. ?! _' _/ v7 }                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
9 N7 j$ q% P* {2 ]* X. X& @! ]( m                        pLight->Appear( m_pd3dDevice, TRUE );
2 A# A2 `0 s- d+ u* S2 Z2 A
( s1 T; M! ?$ k' A                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);0 P* D/ D! \& M( y' r
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
! h$ R  Q- O( t7 V+ Q; P1 L0 L                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 0 g, k" o+ \4 K3 ?

) u0 b. ]+ s$ c2 d3 I# r                        DWORD dwR, dwG, dwB;
: Z) ?" L' E1 \1 |! b/ X                        dwR = (DWORD)( pLight->Ambient.r * 255 );9 X$ C9 B' y5 W5 G- K
                        dwG = (DWORD)( pLight->Ambient.g * 255 );) v$ ~4 H( P5 e& E9 N
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
* x1 s: E. @/ u8 O0 x                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        ; F7 S2 v2 v( h0 h- M
                }( _) ]2 R6 I) ?. w' S8 V% l
        }; t: X( C4 w, }4 v, c# o
7 H# r: T0 I  Q7 p$ Y  Z/ r* P
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );+ \1 R+ c4 N* u+ ~4 g& [
        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) );' g  U; Y1 {, W% O8 q% B. E
        ::SetLight( bLight );5 O, |+ v. t8 g: x

( q4 `1 ]/ U0 ]% i( a( s6 `# ]6 d7 [        // ±ao? ?D?í???ó á¤à? * O- G4 L2 W" _- F) o% S
        m_pd3dDevice->SetMaterial( &m_baseMaterial );) _8 y& E4 J  x% H
          p- b+ q" U: `7 C
#endif // not WORLDSERVER. {/ ?3 _9 f) S1 L- a; ?! _) F
}
9 g/ Q& A7 n0 @# b8 ^1 H并更换
" h5 r5 F- p, Q5 T; ~, HCode:' @4 G, B+ ~0 p: t" P
__FLYFF_INITPAGE_EXT
: ~) y" |. Y; x9 I2 D8 N2 Q定义
( h+ Z/ c$ u8 m  |" P
8 Q% e8 m2 \+ J  P6 d) n
) s5 W% P  g- w
0 T1 w1 w* |' i7 m6 [' U- @- H9 z; s' K! m; O+ m% A
现在终于删除我的狗屁加速...' z+ E, [/ M2 O9 a, d
/ L$ |, @- G' S: Y; \
) a6 b8 Y5 s, x

6 r% A/ G4 C3 }  e" \




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