飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:  J' f- P8 t0 Y/ M" {' \
尾翼:
8 b( q, N9 V3 {5 [" r' p
; v1 O! y2 k& c代码:
9 o& z! V# J: Q! [& v, K1 u& ^CWndAutoFood::CWndAutoFood()
; M8 c7 W/ @4 P- ^. t{
( b) N8 C: v1 V        m_pItemElem = NULL;
: }4 f, T5 w! {4 [6 \        m_pTexture = NULL;  C2 ]2 n: y+ I
        bStart = FALSE;
# d, w' X, M; b) _* w& l3 k, u}
( O# E5 \% Z; }1 o2 ^$ Z8 D! j' m  k* S5 P0 \9 h5 d- x
CWndAutoFood::~CWndAutoFood()* I5 U6 }: g: G5 O) J  L
{
& W& T4 l- w' O. u# z        AfxMessageBox( "AutoFood ist gestorben " );# x6 w8 a" m8 M1 m. _' @' v
}( E1 B% Q' S7 s- j7 b
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )# {# {+ |  [2 a2 v7 S
{
: L+ C8 M; d+ o1 h: B        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );3 K2 ~$ A6 x( F7 H& Z  W# c
}( V( c* \3 f  q8 Z6 _  E7 t# A% H
+ k  f: g. M$ q+ P" m5 p7 G
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )7 ?8 l. k5 {+ _3 R9 [  g
{
$ e3 `+ X8 ]( k- r' @' q. S: y( \        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
* s- p. w- W" F; i3 ?1 I& l7 L        CRect rect = pWndCtrl->rect;
( G  [4 D8 {- q: r2 h/ |9 y" r        if( rect && rect.PtInRect( point ) )
" D8 Y2 H$ u3 U3 U' {2 ~        {
' ?# y2 {  @% U2 E& u* u  L% I                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );, w. p& T& z$ M  |! [6 A& S
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )6 u7 w; e) c. T2 F- l
                {) y- P  o/ V: b- V9 W
                        if( m_pItemElem ): |$ u( L' x7 u( t
                        {6 e# X1 J9 P# @  q  w
                                m_pItemElem = NULL;; G0 i7 q) L; v
                        }- d% d5 C; {+ B. t& z2 A
                        m_pItemElem = pItemElem;7 }, j! i, x5 T/ I& x2 C# K/ S
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );& L) X( @' {5 s% K% S
                }else{
6 y) J, p4 }( w0 t7 z. l                        SetForbid( TRUE );
) h' r$ n$ ^* Q. }6 |                }
, j% j! l, S7 m8 L8 ~, p% w+ u# l        }else{
2 t# b" ~/ j7 u+ V7 {                SetForbid( TRUE );
' `; u; E  A' v        }5 X, g7 g' z# F6 ~
        return TRUE;
8 T5 J; N& E$ z" J5 P}
8 p1 @5 d9 s! Q# T* O5 a2 X) X0 r* [. U+ a8 p. s6 T, I
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
5 n; c' K5 u2 L. b( D{
1 T% Q$ z+ d$ K0 C( A" a# f# @9 d5 K        switch( nID )
/ M. A1 n, a8 S1 x        {
4 ^7 T0 z1 L$ ~4 f1 V$ V        case WIDC_BUTTON3:2 ~1 K3 F7 p9 z. T6 t+ A
                {
; `1 P$ \5 P  `0 w" l                        bStart = TRUE;/ w) m: h: _* m4 B% V
                        break;; |( |% C8 R% G
                }# _  Q, f) D! a, L3 [; Q
        case WIDC_BUTTON4:( Z9 u1 b+ P* b, {/ p. [
                {
3 W# q* f! j) i1 o! y. f' q! V+ K# n                        bStart = FALSE;  ^- T% @3 o1 i& j. l4 _; ~0 O3 S8 ]" h, G8 \
                        break;6 U% w, @- p* r* S: Z
                }
& w5 c7 F  R2 X+ }  |# O1 {( |        }, V% V& ], M- a& K  X
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
& t# |1 U6 B, E" G! j( t}       
* I) l( C5 T: s3 F9 `void CWndAutoFood::OnDraw( C2DRender* p2DRender )$ ?5 p6 u) W% V6 L* _! w& G
{3 x; r# i; J' j
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );2 y- Y8 g# V6 c7 k; y) {
        if( bStart || !m_pItemElem )5 [. u6 k5 }7 p
        {. `1 _6 ^  ]! R
                pBtn->EnableWindow( FALSE );. l5 L9 @) R9 t" |
        }else" u: V1 F7 i; y3 |( ?' k) f' n
                pBtn->EnableWindow( TRUE );
1 `' Q2 X7 w/ f/ E        if( m_pTexture ): z& }1 U! k& x6 X5 E3 D
        {
9 R4 I" L( w+ ^                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
% J$ B4 x3 l6 `4 ?4 e. y& m$ L                if( wndCtrl && wndCtrl->rect )
0 W$ l; v" W* p. O9 R9 Z6 c2 r/ A                {1 y+ x" V6 ?2 k9 F
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
  m) X4 V. q, K* V& j                }) ~8 c% i: v# H+ s5 q0 y
        }, O' s0 `3 _2 x2 G
}
5 K4 [! {8 Y5 u: {
5 y2 U4 y7 |' g" K% _BOOL CWndAutoFood:rocess()6 \. B: @9 _! E  n
{0 X1 U5 ?; C9 K3 r) s
        if( bStart )
: V+ J) g( M  x- v- e0 D8 o( r        {* c. ~4 J  k7 f+ N% g" V; ]( E
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )$ w: a' D/ J) W% N( s1 J! m$ n
                {
/ G# V- f7 h* N# ^9 C- C                        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  q9 p$ h. z/ f2 \- |! Y                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
8 [2 n( v" X0 v* T% e& n% \6 `                }else{4 d: R( ^! q8 p7 T$ e1 X) f
                        bStart = FALSE;7 ]6 Y& M5 a, ]* ?. e+ Y4 ~1 `
                        m_pItemElem = NULL;! V2 M& _6 c$ h; w  {
                }
1 d' |9 n; m8 j        }- V0 V) O- |! A. M
        return TRUE;
- V" Z2 f! A: r$ t: o3 c$ b}
! ^  ?) D) z- t1 r3 e8 b( i* H+ z" m
登录视频废话:& a, q1 h( H- D( o* T$ G! y
尾翼:
$ t6 D+ D9 O# j8 U
$ Y9 Z' `& u' e& w1 l代码:
& b( G4 j+ r- r* E# B7 }1 U0 t1 Z3 }5 m( o1 k& T9 j
void CWorld::SetLight( BOOL bLight )9 b# K( e% e  e& Z
durch$ l" \5 O5 A/ K/ ?- K+ c: Y
Code:: @$ F- l& g3 x. ~8 u
void CWorld::SetLight( BOOL bLight )
$ j! B' B& |6 k{7 y9 [7 L+ J1 s% L( x" [5 \- U2 q
        //ACE("SetLight %d \n", bLight);
# M2 F! P$ C' \          R" `2 Z% [* n+ {0 M3 f% W5 f
#ifndef  __WORLDSERVER
$ E- ?" y; T$ f. J/ }) u, P        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);" P2 P! r. e- W( n! D
        CLight* pLight = NULL;; C% N2 b7 x: ]8 x
$ Q$ U5 \; D  E6 U7 H  g
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
0 r/ @# e8 O! |8 T( _; s3 c! E$ d+ a7 M6 d
        pLight = GetLight( "direction" );
% c% X- R7 C; D3 O! z8 @3 U% [$ l" o) o: Y' o- _' `+ j( t
#if __VER >= 15 // __BS_CHANGING_ENVIR
1 [; S7 g& S4 x: G  {3 e        if( g_pPlayer ){3 c+ F. S0 N* S% W/ s! M: P
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );7 u  U. H$ K9 O$ m3 c( \4 e
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
* r- w' i+ y, o                {5 u4 ^! ?2 H: h3 J' M1 S" ~, V  C. s
                        if( pLight )
/ o5 C- X- e5 Y- e8 E7 l' w8 Z+ o& h                        {9 U8 [; z% h1 h3 Z9 P& H3 z9 k
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
, `* o' X! A) z- \6 m5 y' s                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];4 E( e1 `+ a3 `
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];  \! K" o: d& b
2 H% ]* l. c: k; `' l
                                pLight->Specular.r = 2.0f;
8 w! z7 V1 ~4 P1 P5 q9 y% I( O                                pLight->Specular.g = 2.0f;
# G" I( i; q$ B* k/ c) N                                pLight->Specular.b = 2.0f;/ c2 @) F* g% }; c- e
       
1 J; a& }6 N2 }2 H6 [1 j2 x                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];3 W+ a: ~* ]# H* f* ]) O* M! j
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];0 Z7 t+ |. c* ?: x$ o" `; _
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];9 x" J: i- h/ g. N( B
       
: o1 S9 e2 L( J0 W" y                                HookUpdateLight( pLight ); 9 ^- h" v1 ?  U9 @
+ `) o, d1 B9 Q" m! B, _' s& k1 V' g
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );# k* K$ _. `: {
                ! s. @& F" P/ n# m; m5 |4 {
                                pLight->Diffuse.r *= 1.2f;( D5 d/ ?) Q( Z
                                pLight->Diffuse.g *= 1.2f;. [8 M. K  z0 T+ u4 e" f
                                pLight->Diffuse.b *= 1.2f;$ N$ P+ B! Y/ T; M

  f1 j: }9 _9 d3 Z                                pLight->Ambient.r *= 0.8f;
1 z3 a" W5 V. _( Q8 j                                pLight->Ambient.g *= 0.8f;
: M6 @6 z7 M; {$ t                                pLight->Ambient.b *= 0.8f;
7 m& C) e6 `7 C1 K1 Q       
+ R# ^  h. T6 g* `9 h/ G* e                                memcpy( &m_light, pLight, sizeof( m_light ) );5 h9 R6 c4 Q5 h3 K5 ]* \5 u* c
3 ~" @# e- f& Q5 D) P
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);0 U+ D4 d) S- J4 u" [
                                D3DXVec3Normalize(&(vecSun),&(vecSun));; u, D! w3 h, Y8 Q+ q( I1 d
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); . Q7 B7 E" o' `% P
                                pLight->Appear( m_pd3dDevice, TRUE );1 ^& [0 o- `: w* m% z
                , i0 Y. F' p+ A, v7 f; |  {
                                DWORD dwR, dwG, dwB;
+ k7 q. ~* g+ H: \+ E                                dwR = (DWORD)( pLight->Ambient.r * 255 );
) u# @% u4 _% U! y; k9 C1 Q                                dwG = (DWORD)( pLight->Ambient.g * 255 );
5 z9 F2 V- M) b1 {                                dwB = (DWORD)( pLight->Ambient.b * 255 );
, {. Y  p9 g3 \                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- `, j* J. e' j, G. R  k                        }7 X2 X  W9 t. h0 H; h  Z
                }
, E: }+ E- S' p- U7 Z! t. P, s        }  K" n  o' `. a. Q/ m
        else
+ C% y! M& V  C6 s& V" G% r6 I6 L#endif
9 ]5 f8 I- O: }  }3 l4 {8 r1 R5 e5 \  u; {
        if( m_bIsIndoor )
1 r, J2 Y, @9 o% V' u( C7 E        {4 S. `5 a9 m2 f% S: u5 P9 p& I0 {0 i
                if( pLight )% L3 C8 Z1 [$ @
                {                , }/ O1 k5 T. B! i3 w! m; V- p6 T
                        // à??μ oˉè* 2 l2 I% Y+ V6 s3 f. v) L
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;' f+ M8 m8 g! p$ T- c/ h5 f
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;0 ^( \% ?6 w- k/ T2 d
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
; o! d7 x+ k; V. b; t
" |6 d, @3 w; F' C9 \$ L                        // oˉè* ??à? % Y; F0 W4 |7 D: [$ m' q2 Y- i0 d
                        pLight->Specular.r = 1.0f;
; D  W5 ~' m+ a. D1 Z                        pLight->Specular.g = 1.0f;
( u1 x8 k7 s1 ^* Y" T8 R                        pLight->Specular.b = 1.0f;
( C. q; z5 a- e3 K6 b" x                        // àü?? oˉè*   {" T0 p; k8 h
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;. \/ A( d0 U" U! \' e9 ?" K$ `3 m
                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;( V. W# R$ j/ O; d7 l5 E. t
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;6 t, q6 ^( X) J* L% c
5 l8 n) G: ~8 c9 S
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
0 k% w( W% o* H$ k                        {
1 M" L2 G3 @* I  |3 V                                pLight->Diffuse.r *= 0.6f;
) U( }; `$ k* Z* I9 {4 W, t7 x: {                                pLight->Diffuse.g *= 0.6f;
. ?$ h6 R- {/ [, D4 R6 V) `                                pLight->Diffuse.b *= 0.6f;! E6 P% v& R  s' e
                                pLight->Ambient.r *= 0.7f;+ J+ w, J" Y& \. a; B$ @
                                pLight->Ambient.g *= 0.7f;5 m" }- o/ y/ Y' R/ ?, ?9 g( V' U
                                pLight->Ambient.b *= 0.7f;
; x! e& m7 e2 D' H9 d# ~                        }. x) j- S, h9 u- M$ i* s' b

1 {- ?/ y/ o! W$ G#if __VER >= 15 // __BS_CHANGING_ENVIR: V  z( y+ C5 x) ?+ {+ L- ~4 U9 I
                        if( g_pPlayer )( O, l" D  g) I  |
                                HookUpdateLight( pLight );
, S# e# [$ s! x# Q#endif
* I$ c2 |8 }) g' N6 j( O                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );  S2 H5 ]' X; I0 Q$ M" z' k; D
* j' l) J9 E+ K9 t% A
                        pLight->Diffuse.r  += 0.1f;6 K$ X! V" m9 T8 v* z
                        pLight->Diffuse.g  += 0.1f;  U7 |7 |) Y" |
                        pLight->Diffuse.b  += 0.1f;( e, e4 A" l- j, `! x: Z
                        // oˉè* ??à?
0 ]* P; k( T, c* X* c                        pLight->Specular.r = 2.0f;
% F  p9 {+ ]3 M% }& U                        pLight->Specular.g = 2.0f;, L  n% J* X) @
                        pLight->Specular.b = 2.0f;
: A( h0 ]1 l, B' @                        // á?oˉ
' C- @4 U4 ]: a2 D                        pLight->Ambient.r  *= 0.9f;3 H- U5 S, Q! t
                        pLight->Ambient.g  *= 0.9f;
/ t" ]1 [+ Z( ?% C% N$ K                        pLight->Ambient.b  *= 0.9f;
4 a2 U( ~7 G$ h% o% E7 I  k! j
9 O- O: Q8 K' {7 D* m  N                        memcpy( &m_light, pLight, sizeof( m_light ) );
: F$ g+ E7 U( ]4 M1 P. N' B                        0 @3 P! @& b" O, U' F
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
% J0 Y5 H2 x/ y/ n                        pLight->Appear( m_pd3dDevice, TRUE );8 p2 ~. N" D# i! x
        0 B% }' F# B, n( P! P" n- q& }
                        DWORD dwR, dwG, dwB;
- R5 Y- D8 l( @/ S& x                        dwR = (DWORD)( pLight->Ambient.r * 255 );
7 e6 c" ^: O: H! h5 O4 `- B                        dwG = (DWORD)( pLight->Ambient.g * 255 );
) h9 n# X' f" l8 o0 @. `& C                        dwB = (DWORD)( pLight->Ambient.b * 255 );
, M- a+ w/ n( n6 G' E2 Z8 V                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. A. i' N% X% w% v$ y                }# z7 \. v% M& i( n# K4 ^. G
        }9 z+ j7 e: J6 R
        else0 l& S" n* {7 w( F% i) `* _$ F
        {
& s4 j8 D+ @* c" I2 _' c$ ~* }0 z. v                if( pLight )8 Q. P1 P' v# T( s6 V5 P
                {
5 }( H9 A' _+ b' D5 t, N                $ N7 c/ P+ [0 h/ O5 Z
                        int nHour = 8, nMin = 0;+ k  F4 s8 ^7 R1 ]& {
        #ifdef __CLIENT
- j" e* [/ Q# f$ x/ [                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 6 s6 x9 _6 w6 f2 O- k! {, z
                        nHour = g_GameTimer.m_nHour;3 Z3 \, Z7 ]1 @- N
                        nMin  = g_GameTimer.m_nMin ;- }+ I- T$ ]$ ?% g% |1 e! w/ n
        #else% K& R8 d. s$ l# T0 v/ e
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.* P+ ]* A! V: V; h% A; S5 Q
                        if( m_nLightType == 1 )7 I9 u, S$ @0 W  P+ Y( \) u; ~+ o
                                nHour = m_nLightHour;( b- M9 {8 |2 F0 Q
        #endif
& F* S+ [0 {6 {, \6 y! e                        nHour--;% U6 F8 @  e$ @* T) E+ J9 V- x; d
                        if( nHour < 0 ) nHour = 0;* @* I; d4 G! Q# ~
                        if( nHour > 23 ) nHour = 23;
  P+ O3 ]/ {, [4 O' ]
/ \" Y; P0 E% l. |5 A                        //if( m_bFixedHour )" Q1 e+ W. z) I7 m- P. R% ^
                        //        nHour = m_nFixedHour, nMin = 0;
# C2 d& b0 u/ w! \3 Q; ?, Z  l                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];  C6 m1 C# d6 z5 t0 t0 e
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
8 B0 x# u! \! ~  f8 U/ \3 `1 G1 b* i6 Y1 h/ y) ^2 v/ r& Y
                        //m_lightColor = lightColorPrv;( E0 c% W% _5 V1 O! Y: `" m
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;2 j% Z9 x  j( V
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
1 P1 Z# n, }$ u  v  [                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
9 J/ p8 p: \+ e) U2 I/ V" F! Z                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;% E( T* Y% k5 H, J1 M2 O
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
# D3 p$ s* V/ A& e7 D                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
0 p& k; K5 o1 f' m/ D% H: X0 M                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
8 w$ o( X' `  f) O; @) Q
1 Z( O* o$ i3 ^2 ?: n" `                        // à??μ oˉè*
' V* j1 E* c1 {. C; H' X                        pLight->Diffuse.r  = lightColorPrv.r1;
6 {+ @% y* `6 {( X# B5 N                        pLight->Diffuse.g  = lightColorPrv.g1;0 v( e' \! a8 Q4 R, \% H) ], d, A
                        pLight->Diffuse.b  = lightColorPrv.b1;: [9 q1 N0 Q! `/ {* G$ @6 E
                        // oˉè* ??à?
6 {8 D+ \. [4 O( Q! L" Q                        pLight->Specular.r = 1.0f;0 p5 f" w& k/ T& W$ L/ x3 U
                        pLight->Specular.g = 1.0f;/ t3 W( R, D9 a; n9 ~" S
                        pLight->Specular.b = 1.0f;! ?1 P5 L$ I2 M5 L! L3 K5 {
                        // àü?? oˉè*
8 ?1 H$ Y8 p, Y4 G+ M: J. @% Z: I                        pLight->Ambient.r  = lightColorPrv.r2;
! r8 S% q' g; A. F( }                        pLight->Ambient.g  = lightColorPrv.g2;
2 N& Z5 [' ]' n                        pLight->Ambient.b  = lightColorPrv.b2;
# ?1 s2 f5 M0 p/ u
, h( u/ V& G+ k0 r: P                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# B; `, |& o9 p                        {
! \; A) r8 ?7 c                                pLight->Diffuse.r *= 0.6f;
' O2 D+ t) s( B# _; W. ~                                pLight->Diffuse.g *= 0.6f;
5 @# h7 \: R8 w7 A: ]                                pLight->Diffuse.b *= 0.6f;7 }3 R6 T( R$ N8 w2 _- S
                                pLight->Ambient.r *= 0.7f;
9 H7 W0 x/ o" e3 p( d0 q7 S/ h8 K  f                                pLight->Ambient.g *= 0.7f;2 T8 ~3 E3 c6 b
                                pLight->Ambient.b *= 0.7f;
' Y& x8 ~1 I' i2 p2 {  B, ~                        }% q- A, p; g* M6 A6 e' d; Y+ E
                       
: u5 y  o) y. R#if __VER >= 15 // __BS_CHANGING_ENVIR! K3 X  R8 T; V: e9 E4 n* O
                        if( g_pPlayer )
% K- r2 E4 A6 O/ G7 o! E2 h                                HookUpdateLight( pLight );
( d+ F5 u7 N5 q#endif
2 L3 o) g; W# o9 `$ D7 f5 a                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
0 G' F7 j4 Q  Q% d2 B) C3 |' T8 x! j1 i; H6 `! h8 B; ?
#ifdef __YENV
& L3 x: W0 L0 Z9 y5 Z1 J& s, f                        pLight->Diffuse.r  *= 1.1f;
  u( Y) a8 Z3 z! c                        pLight->Diffuse.g  *= 1.1f;: v, o5 V" ]+ D9 [, n. _: Y! i
                        pLight->Diffuse.b  *= 1.1f;4 k+ Z4 p! ~" C! `; C
                        // oˉè* ??à?
4 ^/ a5 }, }! X, B+ ]0 y                        pLight->Specular.r = 2.0f;# B" @6 q+ @' R: s
                        pLight->Specular.g = 2.0f;
" f8 f/ G) R- N) n" S5 t  g                        pLight->Specular.b = 2.0f;; C$ f1 }0 z3 N5 {/ T. U4 {. d
                        // á?oˉ 4 @5 M; ~) |8 v1 W9 M/ u
                        pLight->Ambient.r  *= 1.0f;0 F. t5 l  W) q1 `' l, Z
                        pLight->Ambient.g  *= 1.0f;
% y5 N# R) i8 _                        pLight->Ambient.b  *= 1.0f;0 y7 U- S. v  f" [/ b) T
#else //__YENV
8 K2 P) c! C. I# @. d2 U* G                        pLight->Diffuse.r  *= 1.1f;
' O: L& M9 Q' I1 q/ ~9 E9 d# s* W( H                        pLight->Diffuse.g  *= 1.1f;
6 Z1 j' ~$ i' v2 [! W7 Y9 p                        pLight->Diffuse.b  *= 1.1f;( O4 i; s7 {% w4 X
                        // oˉè* ??à? # K( i) j+ ^( r9 [
                        pLight->Specular.r = 2.0f;* b/ p. v4 P3 r$ q6 R1 Q2 F
                        pLight->Specular.g = 2.0f;
* W& R0 j0 t8 X/ T' |! H                        pLight->Specular.b = 2.0f;
6 c0 d, j& ?( Z2 I2 e$ r                        // á?oˉ
( C- b4 n5 t$ v* f9 }+ l, V                        pLight->Ambient.r  *= 0.9f;7 q* j6 q* P! X+ m1 Q* \
                        pLight->Ambient.g  *= 0.9f;
- `4 z( G6 a; b& O8 s                        pLight->Ambient.b  *= 0.9f;
1 y4 N9 L/ ~) H# o; i2 O#endif //__YENV
$ b2 t0 f* S" F$ J7 a" w                        4 y2 y/ H" z# h) Z! p3 s& O1 z2 f
                        memcpy( &m_light, pLight, sizeof( m_light ) );' f- _1 X9 b# O, z) ^2 i& {
                       
5 p- m+ V& r1 t: `/ n% S                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);$ R; L" N; o) k3 W7 d
                        D3DXMATRIX  matTemp;; ~3 _" H0 a5 v$ ?+ H
                        static const float CONS_VAL = 3.1415926f / 180.f;
+ X! p$ r- X8 K( L$ w: Z- [1 ]( m: e# X& z0 S" w: S8 c
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
! p& B4 _8 ]% u# {0 B5 L  v                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);* @% ]# Z) y% H8 Z* p! B2 P
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
2 F1 {4 \9 E* k8 l4 [$ i                        pLight->Appear( m_pd3dDevice, TRUE );
4 K/ N# y2 `1 i
& w- A+ W, e* _1 M                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
& D" B( o; c* V" M                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
, y3 Z# P" ^0 L( e- d' F                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
1 D. l& N& x5 Q5 T) Z) T1 L% r5 `7 `9 I/ z5 u  X
                        DWORD dwR, dwG, dwB;9 I! w! y( M2 \* l9 N% y& t: F
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
- [( Q1 k0 [$ Z- Z' F. Q                        dwG = (DWORD)( pLight->Ambient.g * 255 );5 t) C$ n# `9 j. M3 `; X
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
2 Q$ r8 {5 P% k6 }- X: z) F7 ?2 b  @# o                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                          w1 T% ~/ ^! ~+ }
                }+ _. h2 P5 l3 Y. @# j
        }
  u3 z2 O6 b3 u" B4 p: }0 ^6 H/ k  ^8 @8 v- m
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );6 `; F$ b, O* F9 X2 K. e! 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) );
. X# y+ O. Z* |        ::SetLight( bLight );
/ V! q8 E4 R& b2 O* C% J5 i6 C) [. W1 e: o- z6 j2 _; V) |
        // ±ao? ?D?í???ó á¤à?
2 T% }: J1 e1 D& X/ E& H        m_pd3dDevice->SetMaterial( &m_baseMaterial );5 X9 V; [0 ~0 F. T  D; Q, G
       
! I! d# W2 s6 J3 d#endif // not WORLDSERVER
- I/ [9 S( U* S4 z1 z/ X}
5 X0 |0 [/ D4 x并更换5 t6 h3 s! ^+ H& T4 {
Code:" W6 L( B# I/ E$ [5 \! l( @
__FLYFF_INITPAGE_EXT( `# j- @" o: s9 a9 {4 ?7 ~4 ?7 J
定义4 p; }) b$ V* |2 N" _! d
. h  o( g$ z& Y& U# T6 u% K

- w! c$ c; v1 s; M- e
  F1 u) i1 b7 I  O
; G; H( u# I' H) c6 `* z2 q现在终于删除我的狗屁加速...
; B5 v: i# j$ c+ G. w  L! N9 m3 Q- R6 k  a% L: U

4 ?0 h% [5 r) |- I
+ T1 {  |9 D( @- g




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