飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
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! p
BOOL 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 S
void 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
}else
0 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 ^& c
BOOL 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 E
Code:
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 N
2 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
#endif
8 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 WORLDSERVER
2 ^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; i
1 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