飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:) q# x: ~' o; d* ?
尾翼:
& g/ c3 P* R2 r  Q+ [2 H0 M1 m
$ ^8 B/ A  O& W# h, O* K7 U7 G代码:
) h& b! n- h6 ^5 ^- M1 m% s! l8 ?6 |CWndAutoFood::CWndAutoFood()7 i' d1 c% ?8 l* G" R4 z
{% b) p* Y1 P# b: E% A6 W
        m_pItemElem = NULL;
" U6 |, w* u: w& ?( d4 |0 V; y        m_pTexture = NULL;
$ T1 V* @! z' R. \* Q        bStart = FALSE;- g! R7 I. F$ \
}
% F" D4 H% s5 L# W# e) D0 n2 h/ }: d$ P, P
CWndAutoFood::~CWndAutoFood()
5 J! }4 b& s. K5 t" g{; f! k& W! }2 z! [: P
        AfxMessageBox( "AutoFood ist gestorben " );
! n$ A( b7 F. v1 ?+ Z}
) v. p1 M0 I- t& G9 k' `BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )% }$ g2 e8 U' [% Q2 \! z; V
{
# j% g& d' \6 E* r1 T  y        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
# q. }/ R4 G! t- e}
5 W& G- _9 k% m; k, J* R+ n' [1 p& y1 n5 g6 j) o
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
+ I% v7 W) Q" J" Y8 ]( ~{. F; H" O' C* F! G- m5 _( f
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );' I8 T4 q# n, {$ j
        CRect rect = pWndCtrl->rect;
; V/ R; H; k. p        if( rect && rect.PtInRect( point ) )
& n/ H9 Z9 O2 k# Q        {; z. `4 o  f" B  D
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );# c: [. @+ d/ S; I2 z
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
- Z0 V- k  b: y                {
, d: A2 |# x" W4 w                        if( m_pItemElem )
. T9 S' u; ~7 F8 j9 D" [4 E                        {
# Z: i6 a6 y; Q* p6 k) C/ @8 b2 ?                                m_pItemElem = NULL;
/ H9 `6 n9 q( b, N/ n8 n# G7 |                        }  J9 H4 w, l' y, l) \4 t
                        m_pItemElem = pItemElem;
2 i. h$ B6 l8 n% x3 V% b! _; I8 S                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );) k" ~- R, [3 B4 Y; R
                }else{) |5 L% z2 T* V2 a3 k
                        SetForbid( TRUE );5 s3 D1 w; \; f& k* V
                }5 N+ e( e# G; s7 r6 E4 Z! A' |* V+ _
        }else{
" j: Q+ Z/ `7 N  e                SetForbid( TRUE );% `1 s" W5 \5 D" J9 x. H
        }
' z) Q; c8 J1 k% m  x' D        return TRUE;! h' x$ u0 z9 L$ `: |
}# v: B7 T+ Y; G( C5 f5 `

, J9 C& ?) ~6 `  U* Z0 u" F! pBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )+ D! y: S0 a5 b! f3 |5 I8 }* ?
{
- O! b9 ?. ^$ w' N        switch( nID )5 E& @8 m7 p! m! b8 _: Z
        {
+ W' b/ T% T7 F- R8 D" s        case WIDC_BUTTON3:! U! f, A6 l& ^2 d7 f
                {
) H0 U0 O  K, [1 z1 \) J                        bStart = TRUE;
* E2 w. z& P5 b/ ~! n, \+ c8 U; `# J                        break;- ?) P  S( T- D# N! r" B/ k+ k/ Q
                }: a. I5 F  j" |( e& w+ ^
        case WIDC_BUTTON4:7 ]0 Y' p. H5 L" v9 [- B
                {
2 o( G+ J+ i% G4 i! j% y% I                        bStart = FALSE;
2 |! D% v$ |3 f( T: q                        break;2 B( T( u6 Q+ j
                }
; L9 p9 k3 b- S% K        }& f- p! O, {6 t
        return CWndNeuz::OnChildNotify( message, nID, pLResult );  ]  W' F+ C* C& d3 }& ^% k
}       
8 {, j/ k- ?# G2 Svoid CWndAutoFood::OnDraw( C2DRender* p2DRender )/ k( e2 m+ b. L
{3 }% F7 Q! T  Y# k( V* N# d; g3 l
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
7 K" V3 d5 [, b8 G. P! S! m        if( bStart || !m_pItemElem )+ c+ K+ \( i2 L
        {5 X; V- `  H$ Y: Q( S2 ~3 h
                pBtn->EnableWindow( FALSE );
0 e* X4 Z9 z; j: w4 u0 i        }else0 S; ]6 [" a, M9 Y0 f+ `
                pBtn->EnableWindow( TRUE );
" B6 `2 b7 E* o4 ^2 z) U% ]        if( m_pTexture )
4 }! G( e" M* Z! R  Z. a% s. l+ S1 t        {
  F" I+ k5 Y5 c  w* k: \1 \' u* ?% p" y                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
) T) R, c$ F5 P' s/ w3 g& ^                if( wndCtrl && wndCtrl->rect )
- G% B: Y5 B  U- L) B                {
% f' n, ^) W: W; |& p2 m                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );& W( N9 f8 v* ?: t
                }  M, N' I5 ~4 b; f7 D# o
        }
  W- b, h6 t8 C, t}
: h$ V0 t9 U4 Y: n1 U2 G
0 v. m+ ]( D5 \% a  `7 l. p  ^& cBOOL CWndAutoFood:rocess()' |: b7 e4 U4 Z) b3 ~
{
# V9 [3 ~6 E4 P( w  J: U. F        if( bStart )
. ~: H4 [: a& H( G. ?& X  o        {9 |- N6 z6 \$ J) n0 W
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
; L6 [2 ~% d0 D& k                {' T* z& W+ f3 T
                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
( e: w$ K* M- n2 z( I( j# @; `/ c                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );/ T4 s- ?5 J6 Y9 m- ^! p# Q5 y
                }else{2 P2 T8 v5 m4 |) l
                        bStart = FALSE;8 u( {9 ]+ u% |4 @  O- e
                        m_pItemElem = NULL;
+ j# C# [3 y8 G                }7 l! T! L* M6 v' N: m" R5 E6 |
        }+ M  y% l- h& v4 N
        return TRUE;9 V. _' Z# E1 F5 I
}+ u' I8 R4 O( F, j# b$ B
' J. ]5 i; _& G2 l3 ^6 a. b4 K
登录视频废话:
5 W. [: N8 v5 U0 {' W8 T- ]7 E尾翼:3 a1 t- P' ^1 Y( n6 A) t  x

# ^+ I- f+ V8 {- a3 O( G4 M代码:
9 ~; M4 E  u+ d. b8 d" r/ B- {$ p) g+ {$ S) \  l* g
void CWorld::SetLight( BOOL bLight )
+ Z: \7 V6 {6 v3 }durch
# f2 Y" y6 |$ `+ y* f8 ECode:4 {( x" D8 u- f- M0 J
void CWorld::SetLight( BOOL bLight )
- ?+ u1 `9 c0 E  ~9 H{
" |$ T4 T3 J' _9 p( C' ?        //ACE("SetLight %d \n", bLight);. h/ ?9 R. E0 Q- X5 R* F
        / h" {/ Q- i- }
#ifndef  __WORLDSERVER $ |: u! `$ h( J+ K" z, Y, t
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);/ \8 H% W8 J' l4 @
        CLight* pLight = NULL;
8 @: C8 g; U1 L# j8 |1 N2 l9 r: M+ [9 v8 k7 l
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );3 i0 ^8 w- o! o1 C: I
, o% _4 c; T) `; p3 Z4 O8 r
        pLight = GetLight( "direction" );
3 L7 F2 z( @* ?! B# J6 C" O- l) ?: S/ p. v
#if __VER >= 15 // __BS_CHANGING_ENVIR: L: {$ e5 P+ p* |
        if( g_pPlayer ){
' `) g; m% j2 \. y: m                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
9 M$ t& ~, ~8 O* {                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
% D& @) P2 j, f% l( S/ E                {3 _) B8 E$ F5 U& P: J8 b2 O; Z
                        if( pLight )
9 D' w3 x& ~) k/ Y- c                        {
9 P( a3 L9 |' \4 k7 Z0 p6 B% O, y                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];- D& |4 W% |  `& H1 z; R
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
3 \) r3 A' n( [# [! t. X3 l                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
4 A) V: _* {! `6 ~5 `5 R0 s
* a2 V0 y  o" K7 g5 Y/ J# o                                pLight->Specular.r = 2.0f;" q3 X' a* R% x: N% S) T6 [# u
                                pLight->Specular.g = 2.0f;; m5 N) ~, o- m# O; D
                                pLight->Specular.b = 2.0f;3 [' Y# R, J# G; @$ `3 T
       
) H$ a9 i) a( J5 t5 k3 \                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
" C$ ~. P- e( C) C9 V                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
! _: D, F' o0 I" D5 M                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];  Z4 ]( [9 @$ \: P" C( A+ }
       
6 U% M; \! R& t0 r9 e9 ?2 \# s6 k/ G                                HookUpdateLight( pLight ); 1 ~; O- J7 K: e1 A
& \" c' `. @9 p2 v) y
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; L( V6 c: @; F! e               
& J  X6 N0 X, ^: S3 y9 [                                pLight->Diffuse.r *= 1.2f;$ t5 h+ }/ P, q) Y  h* M7 I+ X
                                pLight->Diffuse.g *= 1.2f;4 d; S* x4 J% {% u
                                pLight->Diffuse.b *= 1.2f;7 m$ h9 I# B% [& \: x+ M

, D) s/ U6 ^/ r* Z0 g0 w% w  T  O2 E                                pLight->Ambient.r *= 0.8f;; t; ]' W+ g+ M5 K4 u" w, v# L$ p
                                pLight->Ambient.g *= 0.8f;0 R( G+ c! z! i. i" ]0 q9 h
                                pLight->Ambient.b *= 0.8f;) f6 @+ i+ I" p& d& U) |
       
3 T+ Z  r' I) I* O                                memcpy( &m_light, pLight, sizeof( m_light ) );
* H( Q7 i& m$ k7 B, t6 _6 f7 ]" ]( ~/ @/ X0 U! F% b# [
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- Z& {2 m. W- N0 N: \% d( Y6 Z
                                D3DXVec3Normalize(&(vecSun),&(vecSun));4 R& r" F) q# N6 K; d
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); . |& f! Q4 n0 m: B
                                pLight->Appear( m_pd3dDevice, TRUE );. p. ~) a! E: z: R+ ^! m8 z9 O
                  c' l0 \2 f& w
                                DWORD dwR, dwG, dwB;3 U* N9 V* ~2 x0 k
                                dwR = (DWORD)( pLight->Ambient.r * 255 );
, k  R3 x/ X: o8 L8 k+ C                                dwG = (DWORD)( pLight->Ambient.g * 255 );6 H8 {$ y& n) O' w
                                dwB = (DWORD)( pLight->Ambient.b * 255 );7 y& i! g# E% ~* P0 I
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
8 {, E, @, U5 {5 Q- |/ i' ^                        }1 E0 e2 _. _2 B: f# A3 d
                }
% |9 Z" m0 o. c/ _$ k; F& L- }        }
& e0 n. O* T. |0 H$ G        else
9 @0 B+ k, d% t  S. d  ]! [& o#endif - L1 o; Z' r2 \( n4 x3 R8 D

# P0 F( Y9 j+ N! p7 A  n        if( m_bIsIndoor )* D; d0 Y  z( v: j1 S; V1 s) Q! T
        {
( c3 w: \6 v0 k% M& ^! G" M                if( pLight )! @: {$ r. _' ~% C; F
                {                8 G3 l7 r8 E/ `3 m; k, h
                        // à??μ oˉè*
! H% M6 J- Q) |: b" X& u( y                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
1 F+ u- `- b5 W# h/ ?. v7 `: ~                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;& p: I' ]9 b% J
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
  E' P+ n1 n7 d# F& @
6 {! P1 v- Y. x" V1 u/ ?/ w7 M- P0 r" D                        // oˉè* ??à? 6 v9 R: d9 W- Z: |8 f
                        pLight->Specular.r = 1.0f;4 j( X' w( G' J# H$ u! v9 a
                        pLight->Specular.g = 1.0f;+ ^# p) v5 K7 X) S  F. _1 Z
                        pLight->Specular.b = 1.0f;; R0 Y7 z; A$ d9 c" e3 E& O, g+ t; ^
                        // àü?? oˉè*
% B. V- N* h8 Q" S  J                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
& S8 }# ~6 M4 {/ J                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
! N/ L! o9 L% }. \2 B                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
- o- Q1 L7 N4 F; x! ?: x, U/ y& w( Y* E( O% G) b% w, u, [3 [
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.+ H% B1 N$ F; v% W% B( o
                        {
, e* R$ m0 h: v3 u- t6 Z                                pLight->Diffuse.r *= 0.6f;3 g) v# K8 o% k
                                pLight->Diffuse.g *= 0.6f;% V3 F7 w6 X2 {
                                pLight->Diffuse.b *= 0.6f;
1 B# n. R+ k$ x                                pLight->Ambient.r *= 0.7f;
0 }2 z. o2 ^: {5 Z. n. F                                pLight->Ambient.g *= 0.7f;
4 B" ^- Q( z- k& Z: w$ }                                pLight->Ambient.b *= 0.7f;
  `1 l: y: V2 e6 l2 U" \0 {                        }! L+ ?, j# ^& _6 l" y) G
/ ]$ y8 D" `8 x& q& W6 a
#if __VER >= 15 // __BS_CHANGING_ENVIR
, g. y5 T5 s, _# y) q+ c/ }                        if( g_pPlayer )9 V0 M2 c9 V0 o0 D- h9 }/ t
                                HookUpdateLight( pLight );
% v" I& k+ q: n; D/ V: S- b4 f: l#endif, K' k0 E& I' ?' P
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );( C/ b/ q3 I- w6 g/ T& v& j/ w2 J. K
# \/ H- q, Y" K- _
                        pLight->Diffuse.r  += 0.1f;6 t2 i% X9 [/ `& Y9 Q
                        pLight->Diffuse.g  += 0.1f;4 H3 b; Y/ z* v% B* E/ g
                        pLight->Diffuse.b  += 0.1f;2 F# ^0 _0 v: @: {
                        // oˉè* ??à?
6 ^; k* ~* s8 Q1 {6 y                        pLight->Specular.r = 2.0f;. B5 C( i+ n, W0 `3 S4 n
                        pLight->Specular.g = 2.0f;
9 b8 b  Z; m; O  v" s3 ~2 z                        pLight->Specular.b = 2.0f;
" T1 S0 N, n; {# [* z                        // á?oˉ
! F1 c: Z( I' Y- ?                        pLight->Ambient.r  *= 0.9f;
, y; R+ v) c2 z  N3 _, t                        pLight->Ambient.g  *= 0.9f;
) \+ F/ P2 ~  q) K& d5 S* u0 @9 W                        pLight->Ambient.b  *= 0.9f;
- U( x5 `9 T2 y! m6 C, [: l# i! s
                        memcpy( &m_light, pLight, sizeof( m_light ) );9 k( U* a  x# c8 z; Q/ I
                       
5 x' \/ \( g& ^: W  w, U                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
6 H$ v! a- X* Y0 s2 t1 j' _7 y                        pLight->Appear( m_pd3dDevice, TRUE );
* m1 O1 G1 z) D) e        ; w  Y# ]$ d5 f
                        DWORD dwR, dwG, dwB;
& B$ N8 [( b8 D                        dwR = (DWORD)( pLight->Ambient.r * 255 );% @9 }' T9 H: `5 u' r
                        dwG = (DWORD)( pLight->Ambient.g * 255 );) d5 b  G/ ~6 h' S7 c& [+ ^0 k6 ~
                        dwB = (DWORD)( pLight->Ambient.b * 255 );/ E( F9 Q' x- Z) n' q4 R
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );) E1 q' X) s$ u4 ?: T" S
                }
. x* `2 l( j8 q; ^7 ?        }
& q# |! y) A: A5 [, a, J$ ]        else' y9 O2 U% b1 t( @
        {" X7 E0 Z6 R/ R, R
                if( pLight )
2 ]6 H. K* w& V5 J. y8 [7 \                {0 q* S8 B1 c$ r7 S
               
1 p3 b- \# Q7 _  C8 k. T& e                        int nHour = 8, nMin = 0;
8 }1 s) j5 T/ w6 [& Q        #ifdef __CLIENT
& p. X8 |+ j9 F* ~8 a                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. ) `4 x8 _3 v6 g( h
                        nHour = g_GameTimer.m_nHour;
- F1 y5 S% s# Y) S! w- ?                        nMin  = g_GameTimer.m_nMin ;# U% A' B4 C& C! u; G
        #else
0 Q$ s7 R5 r) n7 M% _' X4 G1 M: K                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.+ r. x" y+ X4 g4 c' y2 W% x+ _
                        if( m_nLightType == 1 )9 t. l1 t9 J/ |
                                nHour = m_nLightHour;( A* u2 y4 H' S; ?2 Q% y
        #endif8 m: y3 b, S# r# f$ K7 \! I
                        nHour--;
7 r  G9 m9 D  E2 O0 k                        if( nHour < 0 ) nHour = 0;$ L, J$ N- L: V1 z/ z
                        if( nHour > 23 ) nHour = 23;4 W. ^5 ~# `( b7 p7 R( u

3 C2 k6 K! ^( b- U6 |; k! J$ N                        //if( m_bFixedHour )& Z! @$ K2 T  q& {6 K; R* @
                        //        nHour = m_nFixedHour, nMin = 0;
, [) \7 S/ h. R% k6 O6 V                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];! D; V# l: R! T0 @0 L) C
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];! {( W6 [9 h" z6 ^1 \" N

& s2 h- f# ^3 i( y                        //m_lightColor = lightColorPrv;3 I. e% G/ {8 K- ?% g7 n5 c
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
2 D5 q% K  L& `" t' b# `% N* u                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;1 _8 L8 g9 t" S) ], J% y0 P2 F/ ^* m6 P
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
% h5 X1 r* i! {' X* h                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;+ X' u8 U4 |9 u& W. r
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;9 \/ T/ ~2 q+ R9 a: T7 I
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
* H" M' U7 d2 Y6 G# v* \0 w& R                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)/ A9 C0 r6 T0 D  @1 B

' v( {) K$ |( I$ @. F' n- N                        // à??μ oˉè*
9 H2 `/ K9 e$ I9 m. G                        pLight->Diffuse.r  = lightColorPrv.r1;
0 I' M- k5 m( E, y. n) c7 Z/ t                        pLight->Diffuse.g  = lightColorPrv.g1;
3 _0 d) V( a( a8 [% W4 {. Q                        pLight->Diffuse.b  = lightColorPrv.b1;
7 x, W, N( \) t; j! ?& s/ c                        // oˉè* ??à? * I& \. P( z: u! _/ _8 h; u( y. J
                        pLight->Specular.r = 1.0f;
# U+ f4 Z$ q' e5 a  n7 N: [1 c0 D                        pLight->Specular.g = 1.0f;
8 k$ K, g" b8 ]7 F1 j0 ?, z1 v                        pLight->Specular.b = 1.0f;, i6 [9 q% k; K; R8 s& l; G
                        // àü?? oˉè*
% [+ ?. a3 N$ @                        pLight->Ambient.r  = lightColorPrv.r2;
" n2 C0 d9 q3 j- f6 n/ L8 e- p                        pLight->Ambient.g  = lightColorPrv.g2;
: y% o2 o% _" C3 P8 G                        pLight->Ambient.b  = lightColorPrv.b2;
+ b, A) l" q0 L7 c+ W) x
: o# l! e" F6 M* o. ~' T9 |1 r                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.' F5 k! ]5 ~* S
                        {
% z9 q# @( n; [6 ]                                pLight->Diffuse.r *= 0.6f;, b' L5 H+ z8 R7 X+ S0 A
                                pLight->Diffuse.g *= 0.6f;5 [$ H; S. M" A  n' U6 e
                                pLight->Diffuse.b *= 0.6f;3 D/ i2 ^4 F; F# k8 _
                                pLight->Ambient.r *= 0.7f;! g3 n) D4 s" S" j0 @( y
                                pLight->Ambient.g *= 0.7f;
3 q7 C9 S) U7 c7 d$ O) z                                pLight->Ambient.b *= 0.7f;$ `0 C# r, E. r, s; a
                        }+ c. ~/ `+ M7 |1 K
                          y+ c/ e& ?" w( W, v' m$ i+ r
#if __VER >= 15 // __BS_CHANGING_ENVIR) J) @8 w, G& E2 Q' K/ R
                        if( g_pPlayer )7 {, @) `, }( T: V0 [, `# R
                                HookUpdateLight( pLight ); ) `& P. }% Z" Z
#endif
( J) s# J6 y* F                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
; e; V, B1 Y# c3 M3 {2 Z/ g+ d! J' N9 s6 f: P+ _2 [/ m
#ifdef __YENV' H3 F( B6 v4 a: E, S
                        pLight->Diffuse.r  *= 1.1f;
; \3 T- @  `# i9 b                        pLight->Diffuse.g  *= 1.1f;6 |9 Z8 _( |$ c( U. l
                        pLight->Diffuse.b  *= 1.1f;
# W# s- Y3 p5 b2 q$ \, p- M7 w                        // oˉè* ??à?
. l$ C; `: s( S! u) q9 d4 [; k9 `: r                        pLight->Specular.r = 2.0f;
7 L  X) y6 _& l) r4 g$ S/ h                        pLight->Specular.g = 2.0f;$ p: y+ p) M! S1 ?  X
                        pLight->Specular.b = 2.0f;
6 R& }( B; H% m/ j1 i3 Z8 ~# _, ?$ C                        // á?oˉ
/ ?- K9 w) H1 |( a. D- c, o                        pLight->Ambient.r  *= 1.0f;: A3 e" J$ X7 ?) X
                        pLight->Ambient.g  *= 1.0f;
; [! n) O3 d/ f                        pLight->Ambient.b  *= 1.0f;4 v# N  G0 v. ]% n7 K9 i
#else //__YENV
5 y, [- b' }5 N3 q/ ^+ x                        pLight->Diffuse.r  *= 1.1f;; C$ ?% H. \: s" T+ q
                        pLight->Diffuse.g  *= 1.1f;5 C$ Y. z5 f1 ?8 O- S; v1 A
                        pLight->Diffuse.b  *= 1.1f;- g+ h+ r  H' S  Z3 }
                        // oˉè* ??à? - U: h5 u  _' r( F7 z. u7 l: j
                        pLight->Specular.r = 2.0f;2 X; n$ |+ _1 V8 S8 p0 Q# x
                        pLight->Specular.g = 2.0f;
" m6 A" G& z% c6 |9 Y* _/ ~. c                        pLight->Specular.b = 2.0f;
! L8 Q% F# k$ r* T( P                        // á?oˉ . c' W( g1 k4 w8 r6 M
                        pLight->Ambient.r  *= 0.9f;
" w9 S6 [: {" C8 U4 h% Q( V                        pLight->Ambient.g  *= 0.9f;' e* d; H2 o0 ^- Q' A9 E  i. \! R
                        pLight->Ambient.b  *= 0.9f;
% f. \0 R1 A+ Y2 z$ `9 T3 P#endif //__YENV % o- l9 h/ C! D2 F- E1 s6 z
                        / f0 e1 w1 b+ r, \, j0 H  Y
                        memcpy( &m_light, pLight, sizeof( m_light ) );6 C$ ^* }, @3 V* H' r8 c( F
                       
7 m5 k' ]  _0 c4 V' `: B& E                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
  E# t- N$ v. R1 }! [: u                        D3DXMATRIX  matTemp;! N" y- P# s" ^, B$ s; ?
                        static const float CONS_VAL = 3.1415926f / 180.f;# ]! W1 y  t6 @

3 u4 p1 j. H0 t4 _4 L1 p9 v* F  z6 o                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
$ p% B+ z3 @0 v$ f+ o8 [                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);4 P- f2 h; H% W% D+ F; C
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
! z$ ?0 C4 t2 Z9 W1 `3 m                        pLight->Appear( m_pd3dDevice, TRUE );# T* |/ N% K% ?

7 _6 f! Z9 X5 _( W" G1 B  K$ D% \6 u                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- F. {& F( v* T: s+ v) U* \
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));& f4 ?& w' S9 e; X
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. p& h; c$ u3 Y
8 n8 |. ~7 X6 Y1 T( T/ X4 l                        DWORD dwR, dwG, dwB;
2 T/ Q( \$ @3 j                        dwR = (DWORD)( pLight->Ambient.r * 255 );
2 b8 n# [* k8 A% X" }                        dwG = (DWORD)( pLight->Ambient.g * 255 );
2 l" q' n* t8 v! B& k% ~5 N                        dwB = (DWORD)( pLight->Ambient.b * 255 );/ e! A2 [5 s3 V
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                       
  y" ?8 _' Q7 R! d                }; s9 ^$ ^8 u/ M  a' P7 K+ {5 c; J
        }, D+ m; d2 l6 w
! R, D! ~0 F( C9 P
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
0 z( d- ~9 v  Q9 `: \; v- 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) );
9 C0 q6 k& i* _" ?4 G        ::SetLight( bLight );
' n! |7 N. R: u% x) q
: a( X' |( U7 |7 c' [% [        // ±ao? ?D?í???ó á¤à?
/ {3 x# V8 H# R$ n" E4 n        m_pd3dDevice->SetMaterial( &m_baseMaterial );
9 @" q* i& f' F/ J7 _9 d% b        & [. v9 \+ {1 Q5 N7 }& f2 L
#endif // not WORLDSERVER2 ^8 |+ N' f0 Y# @" F
}
2 Z' a* [5 ?: z# N并更换4 Q" |9 P3 g3 h% [: `( o0 N5 y: u
Code:
4 i  f) d8 b% X__FLYFF_INITPAGE_EXT
  `( Z/ d! N; U+ M6 {  e定义
0 [* F) v) z3 {
# M. Q3 b) M3 W, P8 I
/ b# b) {2 A5 x  Q; i1 i8 @& ^( R/ g8 {/ b

+ `: ?0 c7 V, @8 H# ]8 r( C8 {4 u& W现在终于删除我的狗屁加速...
5 P8 k: H, L1 P5 h4 B
" R" a) e3 S! y1 f, D/ L( l# O' o3 Z7 e8 P6 a
% j7 c, _/ w/ O: X, z6 t





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