|
|
食品车:5 y+ Y/ w! E; I- q1 P
尾翼:& b7 W# h# B+ n/ `8 V; {
, n0 ~! ?- X7 y4 j代码:& F2 r, P- X8 d
CWndAutoFood::CWndAutoFood()
" [: T& o% Y7 Q( i8 j" Q{
- n+ Y6 E; E, y" N/ [% [ m_pItemElem = NULL;
! w" M& z- s. t) t! I4 N7 l( N m_pTexture = NULL;
5 e2 d* n @6 w h( T# @3 D bStart = FALSE;% ^, E+ M' p- [) F& @" c" L0 [
} H4 C! V" _8 _& X8 [1 |
L, {! U3 C9 s( c5 SCWndAutoFood::~CWndAutoFood()' _% t$ ]; C* K6 M+ M) G. e
{
2 c5 T9 V* r e: x AfxMessageBox( "AutoFood ist gestorben " );
' _ z' e- G+ H}
) E( D* \& `' z' S1 d+ mBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
0 n+ x; G! E6 N5 V* M' o{& b3 o( a7 C* V. ~1 w/ J
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
* r2 @/ l) R6 q; t: a: ?2 x" B6 J} Z O+ }8 _$ h( L' X# ]! h2 h' A! }
! d; {1 j. _; W. K2 e5 E3 @BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )- M& ? ^0 a* U2 W$ s
{
' N S: d, E6 U- F0 [8 Y2 Z LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
1 ?/ ]: q2 X$ r' h CRect rect = pWndCtrl->rect;1 m2 ]1 \# \2 ^( x$ ~& W5 J: q
if( rect && rect.PtInRect( point ) )
. ?# J- s8 Z& L. [' @; q {+ P( y3 d ?( N0 w! F& g+ \8 s2 f
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
( n" J1 `7 L* w) |/ K8 S if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )2 }7 U: I9 e" A5 k
{
6 x+ S2 I: F: y3 W if( m_pItemElem )% C/ x) p1 S2 m& h# o
{, k% p* `- C$ }6 a7 Q S
m_pItemElem = NULL;( q9 c( y7 Z, _! R. K
}7 c" b; D* F0 O6 ~
m_pItemElem = pItemElem;
! a! y5 ]8 t: H5 } m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
8 t5 }1 v. N' \ }else{
8 c( K3 I& w# g* C9 }5 D SetForbid( TRUE );
. n4 Y) z% ~) J" t; Y) N }
- q% d* T! N3 I0 H }else{
6 ~: x4 e8 u: a" J SetForbid( TRUE );
8 _" L! @# X: }3 H2 j7 c9 z }
' o7 R& ^0 Z% D; ~; ]" }% b; y return TRUE;! u" k8 @$ n ]$ f1 ~
}9 N% S, W7 P- R4 r/ ~. o3 v' A
/ |8 M U; |! NBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )7 D1 Z1 e6 u& ?: Y# X E- b# l1 D5 l
{
, v5 M3 s3 k5 p! z3 C6 p- @+ \ switch( nID )
D' b2 }1 ]0 D# ^- x9 ] {
2 y* U7 l- a3 g6 d) j case WIDC_BUTTON3:! h& |0 ?3 A6 j7 J
{
2 n1 z6 K) F6 j1 D4 C, y4 q bStart = TRUE;/ N: E- x- r- C4 L5 a, a# Q$ I ]
break;
1 R |5 n, w7 K; l8 t0 I- j }
& c- f8 E' g m# w' D case WIDC_BUTTON4:
# g1 H$ R# a1 a) c' c+ R: U {- r/ E' ]- t- l% W2 Q: Q: _
bStart = FALSE;& F; R( _6 E2 i A6 }5 P4 X' f( {
break;
. B" t' U# Z, ?# E }- C) q3 y( M' ]! `+ _
}
$ E* `/ q3 \2 V( |6 D0 D7 Q return CWndNeuz::OnChildNotify( message, nID, pLResult );
" s7 r8 b. o) P+ r}
( C& r. S @9 d! Mvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )# X x; k8 s0 X* s
{
8 Y* |& ~$ `2 \2 c CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
: V- G, t! o; d6 T if( bStart || !m_pItemElem )% ]/ _; d( T% g
{, t6 v4 E6 s+ ]( F( F
pBtn->EnableWindow( FALSE );
# T, @/ ?- a _/ R* D }else! V A" ]5 j) X' D- q# |, R
pBtn->EnableWindow( TRUE );2 B9 N/ U6 V, K- g
if( m_pTexture )
: m% p( K9 G7 v% O' x: J+ O# { {; n3 |3 O3 {2 |3 o/ f, N, B
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
0 A: f. ^0 k n5 m if( wndCtrl && wndCtrl->rect )
, ^% c0 u& H% f7 m, }# Y {5 O( t) V9 r) o2 T: c
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
9 s4 l' G" x$ q% q( H* J' h4 c: ? }
2 z) a c- |" G: L# ]8 x9 [# u+ d S, C( R }2 k: s$ p4 R) f1 w' X
} `: d5 c$ c( x7 [; u* l1 O
) \$ y4 r, Y2 B+ d
BOOL CWndAutoFood: rocess()# R3 x3 W! n# o% L: v
{9 ^/ g; q Y+ h9 f2 W" s! [# v
if( bStart )
* _" U- _2 P1 d7 O1 G {
, A2 E+ P' C U+ z& \7 M if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ) Y9 t, w+ q& S% ^2 z3 X3 G
{
# g B- P5 S' K6 ? if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
- }* ]9 K* Y6 }0 D% S) P, @ g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );9 s& m2 B) l5 D4 L# b
}else{
% O9 z4 D% k' g! q3 z4 \/ A! W bStart = FALSE;
, D4 J% X" E/ F: E) {/ F m_pItemElem = NULL;
* t6 V: y' n+ z3 F }
8 S6 S, w. u: d }# U8 o/ e+ o) ]7 B
return TRUE;0 y9 n+ l! U. T# y/ } n
}2 p0 X) {' Y" v( M$ m- u& e* \
- L' p, V- }% }4 T/ K0 u Q, i登录视频废话:6 |* Q( @! C6 G+ I; O, ^. d. X+ _: z
尾翼:8 S2 p Y0 l& M" j
. U8 T; v$ r. V! X5 z# |代码:- L; P# B& w" r" q% G9 U
6 N, m8 s" Y& ]$ U7 b4 H" Svoid CWorld::SetLight( BOOL bLight )
7 a- N6 g9 _& Zdurch
~ t! q3 ?& n# f3 lCode:
; K9 N" i8 U7 B) w) @6 uvoid CWorld::SetLight( BOOL bLight )2 Z% s1 c( i; V. R- `9 \$ o
{
3 Z# { X$ {6 a4 ?' d //ACE("SetLight %d \n", bLight);- t: u. F- F, e0 m" d4 x* J1 x
4 n D( r# _' v; S3 @#ifndef __WORLDSERVER 2 ]1 y0 o+ `& @4 ^- k; G
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
" x2 `, F4 {' m$ B, `9 V CLight* pLight = NULL;
- m( [: ^" i; ? q! S% u
5 a _1 d1 K* y' Q D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );% Q b: y s7 E/ c3 a/ r; k
+ \) G5 t/ z* w1 E
pLight = GetLight( "direction" );; W" u" S, f8 ]. q1 B W
6 k# N, ]' |/ M/ W+ @1 h1 v
#if __VER >= 15 // __BS_CHANGING_ENVIR& W; H' f/ o+ \/ @1 l
if( g_pPlayer ){4 {5 d8 T& T, u( X" I" w
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
% {; Z( x# H3 W; P/ Y# Y" p if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!0 h$ ~9 S- F6 v9 B8 C7 o
{
5 ?) a0 v- Y' I! y x) U6 ? if( pLight )
; H: u* F6 A7 u9 u$ u% y {
- A; I; G- U- f pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
; u3 A4 W. z9 B+ w1 m U pLight->Ambient.g = pInfo->_fAmbient[ 1 ];" s4 A! ]4 X# O
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
m7 S: ?' o* g8 h4 I8 b4 d0 Z' o6 @/ c$ I' W5 J
pLight->Specular.r = 2.0f;
3 y. p& Y) l6 w8 A4 t0 a$ m pLight->Specular.g = 2.0f;
/ @$ m1 c1 U8 p' j3 F pLight->Specular.b = 2.0f;
3 X% V: P0 n5 n1 j$ I; R
( ^# q5 M" \0 G4 e t0 w7 V& Y. P pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
* ]5 U+ C( E: O4 e) u pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
* M$ P" G5 F3 D2 m pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
- v3 R6 e' e$ C6 b& h7 A
2 X; k% J/ I0 B9 X) h$ u HookUpdateLight( pLight );
/ o# t( o( c: c- D
- h8 A0 |. O# @1 `5 O1 b memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );. q; [. H. z5 F9 o% f; L
+ |7 V& f2 Q) v! n
pLight->Diffuse.r *= 1.2f;
- l; E- ~( ?6 \4 H1 Z1 |: m0 d" e pLight->Diffuse.g *= 1.2f;
2 @0 b7 h2 K. ]& V ?5 L pLight->Diffuse.b *= 1.2f;: E: L( w3 Z+ H
! o/ Z. O _/ u( f' K; n pLight->Ambient.r *= 0.8f;1 Y) ^, }% G3 j
pLight->Ambient.g *= 0.8f;
- q; D$ L# e6 b pLight->Ambient.b *= 0.8f;2 n6 r+ Q1 R1 [8 n, o: A
% s$ |3 v8 i/ h' c# s: u( ^& ~
memcpy( &m_light, pLight, sizeof( m_light ) );3 f) K9 n! [$ S5 s& `6 s: j
: z k; o# k8 y6 i v D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);* ?4 S5 ]. I) |' x
D3DXVec3Normalize(&(vecSun),&(vecSun));% d+ \: ~* w- C: t6 ~3 U
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ) R+ B- b1 i b$ D, o: l- Q
pLight->Appear( m_pd3dDevice, TRUE );
' J5 A/ A+ D" u
3 ~) z" z, t1 O+ ^% ~9 n* K5 o DWORD dwR, dwG, dwB;
" d$ V% c, S1 y" K dwR = (DWORD)( pLight->Ambient.r * 255 );0 \: G0 [' }! W9 s
dwG = (DWORD)( pLight->Ambient.g * 255 );
- C$ h0 P% s- d& x4 ~ dwB = (DWORD)( pLight->Ambient.b * 255 );
- g0 J/ Z- W3 W4 M( C& p dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 ~ a; R; v$ c, @! v" D7 ? }/ h* F8 s9 E5 N5 j8 j
}% Q8 f q* s% P' C. S; r2 ?8 f
}
# s& B8 j2 c" z6 l3 B: D' t else
0 r* u7 c$ d+ B7 {( A' g# Q( ?; O#endif
; U- j u$ p b) r3 _) k; z* z' I s- ]* d
if( m_bIsIndoor )
1 Z' v; b) ]( k! e4 H {7 V- L! W U$ z4 \# Y8 a( q
if( pLight )
2 [6 O4 s0 Y% o {
/ b& g7 I4 I% U* F // à??μ oˉè*
- v3 u; I0 s- {2 q+ x8 k, X pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;2 A! a1 X9 Z/ m/ Q- M$ f
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
/ G4 C2 j& f" L* _% P pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;2 P; n6 @7 [4 w! v( z
+ X M3 |5 |4 n' L" `
// oˉè* ??à? / K3 I0 T# S% }" q
pLight->Specular.r = 1.0f;% f. ]$ o: U8 P% {
pLight->Specular.g = 1.0f;+ v* S! c& f' ~2 P1 Q( z3 M
pLight->Specular.b = 1.0f;! m3 o2 ~" z% _
// àü?? oˉè* ' ]. J$ O; y* i- \
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
& ?6 s& B+ ^9 T! B( i( ` pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;: U+ U- P m! ^/ W, c
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
3 q/ p/ ]# d2 b' u0 V, k' Q2 j5 U8 _3 R+ c- x8 W
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
I* F5 @+ x) t {
: N) r' s; s+ ^ pLight->Diffuse.r *= 0.6f;
0 Q" N% [4 w; U6 k7 ?, k pLight->Diffuse.g *= 0.6f;! h/ i/ o, B1 N
pLight->Diffuse.b *= 0.6f;
3 h3 }; Q5 B: v0 c% f. |1 a6 f pLight->Ambient.r *= 0.7f;
& q5 v6 V$ S7 h7 ~+ V5 F2 y pLight->Ambient.g *= 0.7f;
$ r" f4 K- D+ B! K pLight->Ambient.b *= 0.7f;
6 @0 S8 H3 p( l/ p }4 g$ {/ Q) h) Z4 y, A9 f6 f' M7 a* V7 i
3 P0 d; K) n. A" a
#if __VER >= 15 // __BS_CHANGING_ENVIR
3 L7 Q" @$ Z- s9 Y: N- |+ R if( g_pPlayer )) U8 S% `0 ~5 R6 D9 ~# R' H& i
HookUpdateLight( pLight );* p! w- l9 g/ ~" {# ?% u
#endif
; N% H( j/ T0 k1 x/ X memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );4 I# t3 f- @3 {# T7 _
9 x/ |/ q5 L2 ~0 C+ A! t pLight->Diffuse.r += 0.1f;
. Q& ^2 G7 v7 ?1 k+ ~. g g pLight->Diffuse.g += 0.1f;# W4 O- M+ }0 k7 }% j9 o
pLight->Diffuse.b += 0.1f;1 \! _3 M0 r( z+ Q. I
// oˉè* ??à? ! }( |0 k2 v' f+ [6 q
pLight->Specular.r = 2.0f;) l9 J! i; Q. B! `# P
pLight->Specular.g = 2.0f;
4 L* S* C2 R( h; _ pLight->Specular.b = 2.0f;
3 P$ |6 @' s3 I5 w) U- a z( B // á?oˉ
5 z9 \0 W" r/ J! d1 K pLight->Ambient.r *= 0.9f;
: X3 P, E5 L3 n# M( i pLight->Ambient.g *= 0.9f;
5 @# f* p( P C: ^. ~ pLight->Ambient.b *= 0.9f;4 v. W9 S# V; x( P
) t2 y7 p& q$ ?5 c! i8 b
memcpy( &m_light, pLight, sizeof( m_light ) );1 A1 r. ?( l( i) B4 D
" F! Y! @$ k4 c+ l; H pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );( v4 [% k8 D( a+ F: E
pLight->Appear( m_pd3dDevice, TRUE );* N9 O; T# H) @* [, A
. G- _6 V, x1 f8 w' W/ u9 V+ u
DWORD dwR, dwG, dwB;
7 R2 @5 K3 e. x7 P( \ dwR = (DWORD)( pLight->Ambient.r * 255 );
+ A" X5 n% `7 q/ W9 [: n1 e dwG = (DWORD)( pLight->Ambient.g * 255 );, w4 B7 z8 p! M# Z4 v& i9 o. _
dwB = (DWORD)( pLight->Ambient.b * 255 );
; |1 O5 G3 O; U9 n2 p! ?. w dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );. C% k, m! l3 g8 Q) W% g8 d
}
1 ^9 n( g1 U, u5 X+ z/ a x }
C' F8 ?$ ^& c ?" e$ _; F else' E* |& f5 \9 n1 k) p
{- `! w7 o/ e6 J% c6 X
if( pLight )( A8 ~! B6 Q7 J0 o; O# U9 ]
{3 n0 i, v7 U' L1 [4 f
+ x/ l0 i% L1 R9 N9 J
int nHour = 8, nMin = 0;
7 O2 q9 d# {# R4 s% X/ ] #ifdef __CLIENT
. e1 h* s' Q' O8 r& @7 H. D: V // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
+ {4 n! X& w. J1 |* m' ] nHour = g_GameTimer.m_nHour;
0 i: ^" D, w8 ~" A nMin = g_GameTimer.m_nMin ;
7 B; n/ F/ l/ p- Y7 Z #else. Q6 i+ ^6 @6 E/ E- S
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
* o% ^* Z/ L1 _, n" i8 J$ i if( m_nLightType == 1 )5 m! n" X6 E) W0 P* s2 l! k
nHour = m_nLightHour;
4 {7 g Z# R% K' e P' i$ W- x7 \ #endif
& t( |; u- ` a* O6 r$ V nHour--;
& p: x5 {- ]9 `, i s q7 t if( nHour < 0 ) nHour = 0;* ^" y' x, G0 P) ^+ K4 m) M
if( nHour > 23 ) nHour = 23;* y# i9 B* D) V6 j* y
) G5 X6 A$ M1 [% t1 s- E4 ~ //if( m_bFixedHour )( `# r) k1 v2 G( N- C& E
// nHour = m_nFixedHour, nMin = 0;9 _9 ~% f9 S2 w* I% H1 T
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];* @, A0 c7 v0 A/ z& e
LIGHTCOLOR lightColor = m_k24Light[ nHour ]; P" s2 y4 D: E
* \" n+ m# p# P0 O6 d: F& W: @0 ] //m_lightColor = lightColorPrv;
" o* r w+ f9 w lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;% J. }" ~2 I4 C8 e
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
+ d9 q Y( b) R2 z5 f% x3 ^, r lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;# U8 G9 c" W; E0 H) X
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;. _) N7 c+ u5 [2 {* {
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
1 V5 P- f" ^8 C5 ~& U lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
* k5 y5 q* M0 s0 ]- e; n+ x- } // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
T0 l6 ]! j4 \1 g' L/ Y6 X6 ]# b* [
2 s" z; ~- t; ]; @0 ?2 P1 g+ d // à??μ oˉè*
8 x2 f0 w6 R1 I. ^ pLight->Diffuse.r = lightColorPrv.r1;; D3 ^+ M; T9 ?2 \
pLight->Diffuse.g = lightColorPrv.g1;
$ v/ ^' \$ d4 w7 u( G( \& {) \" o pLight->Diffuse.b = lightColorPrv.b1;/ h1 ~4 d# E y, h
// oˉè* ??à? ) U! ]" z1 U8 R5 ~
pLight->Specular.r = 1.0f;
3 x+ r9 Y% C9 Z pLight->Specular.g = 1.0f;
2 q! }- n( b% ]8 n pLight->Specular.b = 1.0f;/ c; T! A7 X3 K7 r: d7 ^+ }
// àü?? oˉè*
- j3 K" y+ f; G& F, d! k9 D- V pLight->Ambient.r = lightColorPrv.r2;% J- I! Q k* ]9 T$ ]
pLight->Ambient.g = lightColorPrv.g2;
+ V" Q0 ?3 b% Z% p8 a; B pLight->Ambient.b = lightColorPrv.b2;
) S9 z. t, B7 l1 p8 m. L4 b2 h3 @4 X, L9 Y
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
8 Q0 @$ T: \# q8 _! w6 b {7 u1 {5 g. E$ o ~- V
pLight->Diffuse.r *= 0.6f;
( f4 ]/ S+ K& F9 ^ pLight->Diffuse.g *= 0.6f;
& s2 \$ D* i. i3 W pLight->Diffuse.b *= 0.6f;, F1 _: l2 w! M7 j
pLight->Ambient.r *= 0.7f;4 h% h& J! [+ d) P2 a" a% s5 t
pLight->Ambient.g *= 0.7f;5 W; j5 z9 @3 g! p, W
pLight->Ambient.b *= 0.7f;# M( y# y; Y! [
}0 p. K! i4 c* h4 M, P
# _6 M" ?5 s8 a) f* M4 T
#if __VER >= 15 // __BS_CHANGING_ENVIR( E. R% k3 q" U" ]7 m
if( g_pPlayer )" b6 |) P9 G/ f/ c& S
HookUpdateLight( pLight );
7 N7 f, b- n, w' M; A#endif* D" X: u4 K& N" l0 J* l* \
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
v) A6 d( d7 c. a# u% V6 C
; G8 l4 M$ j [/ n9 U! T4 }' R9 v#ifdef __YENV. G5 L# |- k5 x3 f6 c; P
pLight->Diffuse.r *= 1.1f;
( o7 ~/ ^! p w( u$ J; c( e pLight->Diffuse.g *= 1.1f;9 ]% @1 t2 C2 M3 u5 F
pLight->Diffuse.b *= 1.1f;& _# L. |3 S# h4 {7 e: H, B p& u2 s
// oˉè* ??à? # G) c' i4 |8 S$ `1 X; y
pLight->Specular.r = 2.0f;
* J# Q: h0 d, x% J pLight->Specular.g = 2.0f;
3 F% D4 z* Z( f. Z P pLight->Specular.b = 2.0f;
/ H' W2 l6 _% I // á?oˉ
6 o! w% o$ @& ?7 S: a" @0 w pLight->Ambient.r *= 1.0f;
( I# M3 u$ G/ U) B1 ~2 } pLight->Ambient.g *= 1.0f;, q# j3 m4 P* @' J
pLight->Ambient.b *= 1.0f;" y" k. J1 d+ c w2 u4 B4 j4 ^
#else //__YENV
' Z/ g- ?2 X7 e' m1 `6 E pLight->Diffuse.r *= 1.1f;2 g7 D/ ~* Q% r8 V2 J* z
pLight->Diffuse.g *= 1.1f;
7 C `+ Z+ ? o; y pLight->Diffuse.b *= 1.1f; Z0 m, j0 c. f! T Z
// oˉè* ??à?
' O) z7 O) ]+ v# d. j+ ? pLight->Specular.r = 2.0f;
3 E( G c6 l- q- B% V pLight->Specular.g = 2.0f;
+ a& q2 C7 p8 G+ S- j1 Z: ` pLight->Specular.b = 2.0f;
$ g& G! T8 q, `3 [4 O6 S. x // á?oˉ ( c$ s: M M5 Y) z) o P8 G
pLight->Ambient.r *= 0.9f;
8 A2 K, `4 b8 i- J4 b- ]- d pLight->Ambient.g *= 0.9f;
( S' q& k7 u* z9 p: ? pLight->Ambient.b *= 0.9f;0 n2 I, h, m/ x2 K7 C) z( }
#endif //__YENV 2 ^3 j8 @* Y1 I4 f# a
; \5 m8 Y4 v/ [8 [% X. d/ @
memcpy( &m_light, pLight, sizeof( m_light ) );
( U3 {" Q( D( |3 h ) w6 I1 v" ^/ b' Y6 D
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
& b5 C! o2 {; l" G* M; B- e- r D3DXMATRIX matTemp;+ s5 ]$ L: F1 G" y6 j
static const float CONS_VAL = 3.1415926f / 180.f;, `% C e( r* Z/ a; I ^; M) J1 C
4 N0 [5 `% E0 a; ^5 C D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
# g' S0 n3 j. t) z& M# o$ k% ] D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);5 R# y8 p" H/ D# }
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
9 W2 {# ^9 D3 x& b1 F6 E pLight->Appear( m_pd3dDevice, TRUE );8 C$ A+ _$ d& R" P7 R2 ]
1 ^* {$ `/ v$ j' k& F$ M // D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
- F! M" d7 d3 ?* M/ {, M // D3DXVec3Normalize(&(vecSun),&(vecSun));
4 m# M& ]0 n! A7 U) o // pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); N. s. D w, \" N# T5 g
, H& G, Z% l1 v$ R2 w DWORD dwR, dwG, dwB;
3 A5 z$ |8 t4 _+ Q7 f0 k dwR = (DWORD)( pLight->Ambient.r * 255 );
2 ?9 a5 r+ t9 O7 F dwG = (DWORD)( pLight->Ambient.g * 255 );
1 a" W, v4 h4 q dwB = (DWORD)( pLight->Ambient.b * 255 );8 S+ n( o* l/ p' S$ q3 M
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 e( z( b+ t* S. x( H. g5 w }: D9 z+ s+ z6 }8 h" Y/ d Q% P; S' v
}, Y6 }9 p& Y9 M, H& z9 ?
$ u: W# N; F' u; X0 e1 k) v m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
; p* N) X% |" T( 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) );2 m0 u7 h U) }& T2 k( ^1 o8 c5 M/ R# h
::SetLight( bLight );- b. V3 f( s: m
. @" j( d$ G/ J. r4 E* s; T
// ±ao? ?D?í???ó á¤à?
+ H" r& K4 K9 U: p1 B: f m_pd3dDevice->SetMaterial( &m_baseMaterial );, m6 p' l$ b, R! I2 @5 ~* L& k
, @9 \& Y% G9 W) J, g#endif // not WORLDSERVER0 c1 E% b( C7 @0 A* _
}
# }& K, V- L# ^ W: z并更换9 @# X/ k0 r; O- S2 i6 L7 u7 R
Code:
5 B& Y. A6 ^9 C) x$ S$ p__FLYFF_INITPAGE_EXT
/ v2 [6 n+ F0 I. R# C定义, r. Z! ~! `) G7 a
6 ~) X% o. v _7 h- t. D: Q* v3 U# `$ o4 {$ o# i
; b/ [' K. _9 B' ], Q& Y+ Q N* S0 X* S4 F4 R
现在终于删除我的狗屁加速...
! ]7 @( r, ~* @) |! U3 k
0 i) K$ A7 _; [0 Z, @- h! [; O$ d* `* L% a' M
' Q# j7 F- o+ h$ c# d5 a, l- n
|
|