|
|
食品车:; l, p( z* W* J
尾翼:2 G& k' l T! j' J9 T
& j9 [: P' E' ]" ~& R+ C- L
代码:
4 ?3 T+ b1 [, L6 f& z0 ?CWndAutoFood::CWndAutoFood()7 J! ]" w+ Y8 R) f
{( S4 C! Z" r% r- B6 w% d0 p
m_pItemElem = NULL;5 H% Q0 o! K4 d* \7 n# X% K
m_pTexture = NULL;; x" |$ p3 k; N! I
bStart = FALSE;
1 W) e4 Y- l+ r6 n1 `3 [; t) T}5 d3 K! |3 Z5 s. k9 J
6 O2 z9 D! S, p+ V- xCWndAutoFood::~CWndAutoFood()
8 y1 ?& B- k8 U- f8 s! U{
. t8 b8 A* k( j$ f$ y9 B AfxMessageBox( "AutoFood ist gestorben " );1 b$ W/ l. R! G- a3 x- @
}3 f& c K( x( z' w# m7 S; L9 E
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )5 Q8 S1 I) G: E! H: v7 m3 u! w
{
0 }7 m& w0 m; m# V3 k" O1 N return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
# {1 n7 U0 }. |# B* D6 |6 D( M}0 x- P& u( ]/ Z) @/ B/ O8 ]6 f
|1 _" W1 f* q; v
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )& _ N. Q: G4 v
{
$ |6 m) _% j M( g. T# ~- Q LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
. Q& n" i) U' Y8 D CRect rect = pWndCtrl->rect;3 a7 H: f7 |. J
if( rect && rect.PtInRect( point ) )' L s1 S0 c+ z9 F, {% ?; Z
{- s# E' K0 ~6 j0 v9 U: y
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
: J# i6 ^7 v0 N- E& K& u if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )% S* B; B; K* z
{
1 B3 \, D4 P7 D if( m_pItemElem )
' q( a- l& m) ^ {8 U% T$ c/ W3 _
m_pItemElem = NULL;
* {9 e( _$ v! L' A0 J" T }' |: x& [1 v1 h# h6 i
m_pItemElem = pItemElem;3 }, Q& P5 k$ J1 K$ q7 {
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );# j+ E! n% j( w: h- Z
}else{
6 B4 u& m# I; i5 `% Q SetForbid( TRUE );- z& @' ]% j7 j. }$ u+ j: r# A
}
}9 X. R1 A) y2 E2 |5 b9 u8 f/ X- a }else{" Z1 c! C7 z+ z5 d
SetForbid( TRUE );
9 A, ?/ j/ l Y$ |7 P) U }% Y# Z$ r( p6 x" D% v
return TRUE;
4 u5 j, v& G, @* T0 _}
- @" p2 F/ ~ y) o. R8 O
2 `+ a9 e6 u7 c. f/ [% LBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )( N4 L/ z0 H3 ^) K! |8 v
{, n+ g5 T* X( W5 C+ {/ R
switch( nID )
: [7 l; r( T `0 I) H8 E. f {
3 i' W) V" L. J; T( z case WIDC_BUTTON3:
7 L. Q$ i7 |* m# T; d {
+ F2 r( k/ _; J. |% J3 C bStart = TRUE;$ s7 C: M$ L6 d+ y
break;0 G* _& p: T, ~) ^. K0 C
}! P$ l- X% ]$ q- b
case WIDC_BUTTON4:: |6 D z! {9 P9 C7 ]1 x8 n; n
{2 T1 p* u* L" O4 o8 c, d" ^6 m9 ?
bStart = FALSE;
9 P) H# \. S) V. N8 U @ break;) O* e, K: v- n, S
}
r% {# x3 D3 x+ l }, ~4 \3 e) i& z3 d% C/ ^
return CWndNeuz::OnChildNotify( message, nID, pLResult );2 n. F, ?" f9 R4 S; Z1 P, W
}
( Y0 t5 [* c& M6 |void CWndAutoFood::OnDraw( C2DRender* p2DRender )1 I% S/ Q" |6 U( ?/ V3 Z" B- V
{7 _4 O. @1 d1 w2 }1 D
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
5 i T% k9 l& L0 @ if( bStart || !m_pItemElem )
7 w) U* v O( ~1 v6 Y {
( r& U s3 W( q0 M6 ?' H! V; ? pBtn->EnableWindow( FALSE );
# t3 q( }5 r3 J- Q3 \ }else
2 n: s3 C- _$ n0 @6 D pBtn->EnableWindow( TRUE );
$ S1 e K1 o# I if( m_pTexture )
8 U ]( Z' M6 [' [( ~) Y2 d {
6 L; R8 C' j9 w- K LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );" T1 B1 [! T# I, U# p; y
if( wndCtrl && wndCtrl->rect )
& X6 v) {# j/ n) n6 U1 d {$ |3 d3 S6 J" S7 l- ~
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
: O: p; ~* [$ s: p' [) s9 C }
5 b5 [' T) m( _' y }
: |- i+ c8 d. v) E6 m1 y}( I9 Q2 I9 R- T: U' H
" M+ h: S/ ^; w9 V/ C9 c XBOOL CWndAutoFood: rocess(), P+ ?" v: |2 q7 x( u0 e
{3 I) K, x; ^/ l5 ~2 c- W+ K2 s9 h: O
if( bStart )# n F: s. [7 p! S$ z k
{
& J. B" \: F3 f8 S; i# y if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )4 i9 H+ C! S( V6 z2 s
{! n/ K* E+ Y v- f4 Q1 Q$ f6 R" y' ~
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )& j* }/ {: X j' s; b! A
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
8 R; a3 P8 W# G' n* p }else{* n4 \: O2 O4 y( u A
bStart = FALSE;
- Q6 ~# O' y" U3 C. ]8 ] m_pItemElem = NULL;
9 R# ~2 S0 {2 i# P% V. ?0 _1 A2 c$ e }. k; r" v" S6 w1 N2 g
}
6 x6 P7 W3 h4 Q( g6 w- p return TRUE;
3 t3 r! u; `3 n; c0 {}
' [/ V" t& i3 q/ ] T, _7 d: T" J' I" O- N" `
登录视频废话:
/ s8 X7 G0 i& q$ r尾翼:" K! b5 |8 l7 `! n6 Q1 R/ _
: o& ?5 S" v t# C代码:
; a* q; n- t, ~3 s
g- F& O7 M) n6 G3 z% U' Lvoid CWorld::SetLight( BOOL bLight )" U8 E1 n7 g# [5 c3 r& ~8 G& @
durch
0 D# M; s% @3 b& VCode:
$ }+ ^( Q9 }- uvoid CWorld::SetLight( BOOL bLight )
" U6 ]' |5 G) R* X3 m{ y$ T7 z+ j7 M+ g) A
//ACE("SetLight %d \n", bLight);
- w+ F- l/ k" T; S% Q 5 g( f( P2 C& |. ]7 `
#ifndef __WORLDSERVER
* N- n M0 n, l; c DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);0 J$ y7 s9 l" D! w1 `* s5 ^
CLight* pLight = NULL;
8 d; a8 q% F/ }* u7 k2 y2 q, m7 q
M3 j" N" f; @ D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
& O |7 }: m/ @8 `% U4 p( F9 X# l0 }2 F0 Q
pLight = GetLight( "direction" );
: f2 Z& G7 [5 W* L4 y
8 a3 B- X( F: n$ v j5 U3 b#if __VER >= 15 // __BS_CHANGING_ENVIR, G: c/ z. ?/ m. @
if( g_pPlayer ){
7 x8 z) G3 y! g5 f ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );& A: j7 [3 W. O j* P9 T8 I$ Y
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
' W Q I3 R4 u( F) u: U1 o {
( F* P3 S8 K& h4 G+ H if( pLight )
q- p% t7 v/ ` { B& g6 O# @% ^, u% r @. p. F, }
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];; ]6 M: S' m0 }( W# U0 S# x, }
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];0 h, R: W" Y. ^: Q& j
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
+ p% ^$ E8 K2 }# Q, S
* s1 _3 ?8 h0 N; c0 x& K/ x0 l pLight->Specular.r = 2.0f;+ K7 ?6 a) _: o2 x' I
pLight->Specular.g = 2.0f;
7 K, P& _! I" z* j) C* x pLight->Specular.b = 2.0f;( @$ g! @6 @* f, Y) r
4 ?3 j3 J9 j% L) G2 o. B
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];% e& C8 I& C, f$ z- w4 B- Y
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
6 B9 `' V9 P, e pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];. n! H' A, q0 ?5 m( M
& Z0 m1 Y1 H% O/ j HookUpdateLight( pLight );
! k: u" v% L' @- k" X- A
; D8 W+ f. V: o, V" E memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );* `% \0 z0 r$ f* V
( T M5 k( L- P0 g9 l, y
pLight->Diffuse.r *= 1.2f;5 x7 Z( H# F9 z
pLight->Diffuse.g *= 1.2f;. f$ x: [! Z' R- r
pLight->Diffuse.b *= 1.2f; K) r# Y3 U/ J: |2 M9 v7 {
8 ]' W" q! B( F4 ?7 l% U' k pLight->Ambient.r *= 0.8f;' u; `& N# R) {- U
pLight->Ambient.g *= 0.8f;6 Z( X' Q% V. l a0 C& R
pLight->Ambient.b *= 0.8f;
- Z7 K- ~1 ^9 N. C& j0 p! X
, z0 T% [9 H! S9 b- `& W memcpy( &m_light, pLight, sizeof( m_light ) );2 z& h' _4 v8 }% y7 }
& P* A- ]" }$ E* T" o4 z2 N7 h" c D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
, H8 `( r5 j# v5 c D3DXVec3Normalize(&(vecSun),&(vecSun));- N/ f- w8 P. E4 ~
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ' {& |% k: j/ T) [' n l! `
pLight->Appear( m_pd3dDevice, TRUE ); b4 g2 |2 R* A+ E/ H5 h
" a. j4 H' }" z ?' E# s0 }" v
DWORD dwR, dwG, dwB;2 B" n1 X* }$ H1 A7 ]( m
dwR = (DWORD)( pLight->Ambient.r * 255 );
2 {' _1 c' Y* @2 d dwG = (DWORD)( pLight->Ambient.g * 255 );
! Q1 ^ a% W6 n dwB = (DWORD)( pLight->Ambient.b * 255 );
, e+ e2 {2 x0 e* l8 @- M* v dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 h) B6 w" P1 Y% L; E$ R }
, o* Y5 p6 I% W' S/ h0 R6 r8 h) }* m }$ d1 ~8 \1 q E; m+ x. D+ [: ]: J3 J5 r
}4 s [2 f) p; D3 j% x; t
else
0 w: Q* ]9 W9 E0 ?2 z9 N2 r#endif + R R F0 j# W7 V* [/ A! A: b- C+ _
6 |! f5 m7 O5 ~1 y9 L; s* F# B
if( m_bIsIndoor )
$ E5 L$ J% D4 u0 V `) a8 z, d; W! V {
$ Z$ L; P% u8 Z+ A# d if( pLight )! C u& K/ s5 W `0 t, i/ j4 i2 j
{ ! R9 K" w3 F: z. V
// à??μ oˉè*
; Q2 X/ C1 h7 b% B1 p7 g pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
1 T# A3 ^+ Z7 p) ^7 Q4 b pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
/ `; c$ _* |; H5 p0 y, D pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
; J$ s# C0 H0 k) k% z, K! U7 ~# k( N: Q
// oˉè* ??à?
0 Q- i* z- I6 A6 o, \2 p2 Q pLight->Specular.r = 1.0f;
( K# B3 R1 r* u( _" | pLight->Specular.g = 1.0f;/ \4 S a/ \8 ~+ L& I9 T
pLight->Specular.b = 1.0f;, l q# U# w X- A8 k
// àü?? oˉè*
- F8 s7 O; `0 z; |# E+ I9 F! P, h pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
+ \1 O7 n5 i9 N5 B* k4 _ pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
8 E9 g& e, Y" ]* t& @ F pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;2 A4 V- c1 A/ w& J3 \$ X1 X p
, Q5 b; |% ?6 g4 a if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
, r* X6 H* D* D- A6 u {% w+ y5 f Z# K) g ~& N
pLight->Diffuse.r *= 0.6f;3 N3 c' y% k) j4 i. U, e" V
pLight->Diffuse.g *= 0.6f;
- B7 b1 Y& P+ M }( h* k, p @0 @" q' V2 x pLight->Diffuse.b *= 0.6f;
8 w; N4 N l1 L1 O, F0 D pLight->Ambient.r *= 0.7f;
4 {& Z- }% n% c pLight->Ambient.g *= 0.7f;
( Z' K5 N( Z/ Q/ @5 Q1 x1 A" _- Y" j+ d pLight->Ambient.b *= 0.7f;7 e& z0 d5 F# R3 r( Z# T5 R$ U
}7 a2 ?! s9 ~+ n5 ?: a+ ^7 c8 D
% G8 y8 c6 _+ P( t P, \* Y#if __VER >= 15 // __BS_CHANGING_ENVIR- X2 x2 K& |4 D6 E+ g: P1 K ]
if( g_pPlayer )
, m" v( N6 R5 z" T$ ^ HookUpdateLight( pLight );9 T% _; w2 T' V2 b# F
#endif
+ V# _. P! Z. O# G6 i2 }0 a! h" r g memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) ); s) g `) l, U+ E+ o$ _; n
+ a+ \: W4 W" T3 g3 J pLight->Diffuse.r += 0.1f;
5 ]8 N/ z1 K+ A1 v pLight->Diffuse.g += 0.1f;
& z2 {$ ?4 t0 z1 B0 ?5 t6 ? pLight->Diffuse.b += 0.1f;
' G9 \3 v- H+ O' R, ?+ | // oˉè* ??à? 4 e9 c1 I4 Y6 o$ R1 o5 v3 x
pLight->Specular.r = 2.0f;( o8 c& k: {: E) ^
pLight->Specular.g = 2.0f;& b1 F- Z: q: I7 C! {
pLight->Specular.b = 2.0f;
2 K2 u9 w8 `8 ^# z // á?oˉ + H0 y6 C. d/ ^8 R6 O8 I8 B" |( q
pLight->Ambient.r *= 0.9f;
2 f3 v) G7 e: g+ m. ]7 S( [9 A1 V pLight->Ambient.g *= 0.9f;
% f( q4 }4 f; w0 L8 h- B9 { pLight->Ambient.b *= 0.9f;' `: Q# D k" h }0 H, B g# f
/ i% j. |( @' Q h! @3 u+ s$ G memcpy( &m_light, pLight, sizeof( m_light ) );
- W+ [; U$ ]# x& I/ p
- f, L' Q# I$ R8 ]. E& s; n pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
! E; v* B- s6 w) j) W) n R pLight->Appear( m_pd3dDevice, TRUE );
3 I; F2 t3 o6 `0 J$ U 7 _$ q9 e$ p* m( j
DWORD dwR, dwG, dwB;
7 {- z# A* G7 j, S- o: V U dwR = (DWORD)( pLight->Ambient.r * 255 );
1 J. ~; \: h! L dwG = (DWORD)( pLight->Ambient.g * 255 );1 Q# j% b+ S4 ]) f2 ?6 O& D8 c
dwB = (DWORD)( pLight->Ambient.b * 255 );
: d& F: a, b+ @& f dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );, M6 g( e" y( T; d1 _7 ]
}
8 e8 \7 H0 u8 x }
2 T1 w" l1 E1 u" P+ y! c else" r+ r) h! Q' X- l
{; K# ?/ s# E9 I! I& C
if( pLight )5 b) p( ?$ r: F3 ?
{0 J% K) t. V4 X. ^+ j+ U
% Q) X( \: I! d int nHour = 8, nMin = 0;2 ?; c& K1 D! G* [4 M0 g/ z
#ifdef __CLIENT
: z/ n; {1 `' s) d" N // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
7 x) d' F+ R* ]2 L5 c$ U nHour = g_GameTimer.m_nHour;
4 |: e1 y! S1 g: M- R/ F5 H4 Z nMin = g_GameTimer.m_nMin ;
T G% N6 L# }: R* [ #else/ _( u$ w( @- p% `/ ]1 P, f# H
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
5 t, z; i9 n% U9 y if( m_nLightType == 1 )0 \$ W d" X$ m" N3 K$ h( N, \2 x
nHour = m_nLightHour;
' w, |' b% G+ m+ x #endif; j2 d, ^- C6 ?& k+ e D5 N0 \
nHour--;
5 t) {, t" V& ^" I' P if( nHour < 0 ) nHour = 0;
* C( F" s' X# Z' U2 f if( nHour > 23 ) nHour = 23;3 j, \9 Z* z, B3 ^
. }+ y( z7 i0 v) [9 c a7 R& |
//if( m_bFixedHour )$ v( ~: P/ j( E. a; x
// nHour = m_nFixedHour, nMin = 0;( Y( O! Q1 E* }* h
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];) c& y- t4 j* [+ p9 P
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
' H$ n* }% H7 l1 G7 L, C+ P1 t3 Q/ A+ ~- @" `* ^
//m_lightColor = lightColorPrv;- X+ P: o3 i, l9 Z$ x0 _
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
7 A" a$ n0 J, } ^& q. ^/ d4 C) q lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
2 I! a3 A* r. f lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
0 h2 {# P! U; t' O lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;0 n) ~7 J' K4 @& F+ d
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;! h$ X% S* y: _6 K6 r/ y! q
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
8 y- ]& @* S0 N // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
- ?& Y! Y, m3 U# C( p# ~# ]7 H: ~: A* U
// à??μ oˉè*
) H; g, Y# {( L4 O5 {* S pLight->Diffuse.r = lightColorPrv.r1;. k s! r% ? e- y
pLight->Diffuse.g = lightColorPrv.g1;
9 v- S$ V/ [8 n1 H% ]7 w' C pLight->Diffuse.b = lightColorPrv.b1;
3 d' Y7 n; C" n8 ?0 O- S // oˉè* ??à?
2 u3 _6 v( a0 O6 X P pLight->Specular.r = 1.0f;9 t" R* q2 H" q; X% p
pLight->Specular.g = 1.0f;
" U/ C7 i# w$ o% _) ]" e h' c6 ? pLight->Specular.b = 1.0f;
1 ?. w$ X, ?( D- J& o8 J // àü?? oˉè* * t5 }+ @+ c( Z4 `3 |
pLight->Ambient.r = lightColorPrv.r2;" m$ Q6 d0 D, y% c
pLight->Ambient.g = lightColorPrv.g2;
8 K# Z# h8 _5 [1 m pLight->Ambient.b = lightColorPrv.b2;
. k, `1 P. O" d4 b- O; Z
; ]- v4 o, h: k if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.& u4 d6 F$ {' ], s3 @0 D
{
2 k. l* [" M( Y7 ]' _1 g pLight->Diffuse.r *= 0.6f;7 U. ]1 _7 Z, r, Y
pLight->Diffuse.g *= 0.6f;/ f9 o: h7 _4 ~. c# z( P+ D6 q
pLight->Diffuse.b *= 0.6f;
6 w5 [ j6 N# m" B pLight->Ambient.r *= 0.7f;8 T S* I% E) X$ e! }, M
pLight->Ambient.g *= 0.7f;9 H: C* o3 o/ c& {9 [1 D
pLight->Ambient.b *= 0.7f;
: g- |7 z* l, g- c: |/ U( i }
O+ B& d; g. \$ C! _
& ]( _ E$ A/ N6 M+ z#if __VER >= 15 // __BS_CHANGING_ENVIR9 t: R/ Q$ P" [
if( g_pPlayer )
) ]6 ]! `$ C4 ?( K5 x+ E HookUpdateLight( pLight );
' R, B$ V* Z! M6 ^#endif
) R5 E0 h. L4 v3 ]% `8 ?; P, s" U* \ memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );: e: i5 e) |/ }3 j) E3 N: r
* j( y" y5 N" F, [/ i
#ifdef __YENV
1 a- J, \( a }; s4 A* g8 q+ u pLight->Diffuse.r *= 1.1f;
( p* y1 v+ @. I4 z, n% C pLight->Diffuse.g *= 1.1f;
" P$ @6 O' K8 G3 e" Q0 r/ I: J pLight->Diffuse.b *= 1.1f;
- _; H- f6 Z9 B/ y // oˉè* ??à?
! t6 ]% Y* { Y4 O2 b9 [ pLight->Specular.r = 2.0f;# S% T o2 X7 D, p6 ^
pLight->Specular.g = 2.0f;% L0 R6 M' J+ E8 H3 F# [ s7 w# H
pLight->Specular.b = 2.0f;) E: N3 n% N, @7 g% Z
// á?oˉ . P' i8 I( L. o: X8 t' ?! K
pLight->Ambient.r *= 1.0f;2 Q4 r' H! H6 q! W5 D
pLight->Ambient.g *= 1.0f;
* b2 R2 G" S3 }4 F* T- V- a/ q pLight->Ambient.b *= 1.0f;
' s6 h3 h {+ C9 b# {#else //__YENV
. t* n7 a% g* M. P pLight->Diffuse.r *= 1.1f;2 n- s) I* B$ g6 R
pLight->Diffuse.g *= 1.1f;$ R6 P; q& c4 E4 Z) B" P) t
pLight->Diffuse.b *= 1.1f;, T+ m: c+ s$ k+ O
// oˉè* ??à?
, O p* C( \- x0 C3 G* B1 u pLight->Specular.r = 2.0f;+ h# b: V1 t' j0 L
pLight->Specular.g = 2.0f;6 r5 c* t; M+ x5 X& M! G1 u+ u
pLight->Specular.b = 2.0f;
7 B9 h |1 l6 q1 D2 O // á?oˉ
/ }- ?: e# S2 L |) g pLight->Ambient.r *= 0.9f;5 a) K4 a3 k2 n: B6 s0 S) C+ \, N- n
pLight->Ambient.g *= 0.9f;
4 q& v. q' P! H8 C pLight->Ambient.b *= 0.9f;
& M! e( X- _* C) R/ a: r0 U) X* u& o/ p#endif //__YENV $ ~. s) l1 I/ G: }2 |9 j7 @' w9 z9 n
' g! ?) I8 V) p0 y" Z% g0 K memcpy( &m_light, pLight, sizeof( m_light ) );
9 l) T( }+ b5 J) I( s0 T* q+ @ z
) M& G u* J( W. | D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
2 ?# F, @+ R, v `; }+ q D3DXMATRIX matTemp;
" S1 C! N0 @2 e: x6 ]+ d static const float CONS_VAL = 3.1415926f / 180.f;: ^% ~* M5 `9 I$ `9 {! V
. A B" K2 m. e7 M- L1 a4 x; ^ D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
B/ a1 K/ i. `1 A1 ~' b d* _ D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);( D Z) Q9 R* ~% m
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
. i& p7 o9 N; P' z3 C ~4 L pLight->Appear( m_pd3dDevice, TRUE );. F4 V" Q+ w- g2 G0 ]$ K
9 D5 l; c2 }- j9 _* o. ? s0 A
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);7 ~1 G" ~9 V2 {. s; N
// D3DXVec3Normalize(&(vecSun),&(vecSun));9 B- a7 i l. S
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
7 s: U6 c0 R- }' b: w t2 w5 y( d6 \4 _9 C$ u& r) p
DWORD dwR, dwG, dwB;. _: D+ g( @ I) v& X( H. \- A
dwR = (DWORD)( pLight->Ambient.r * 255 );
9 t5 r {/ L# {0 \4 a `3 j dwG = (DWORD)( pLight->Ambient.g * 255 );
7 o: C2 a# }2 f# l1 m$ J dwB = (DWORD)( pLight->Ambient.b * 255 );
3 m) p! u% h) Y- T+ @; u6 i dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* A9 n7 ]: Z! B }
( I8 C Q' @4 x, C2 b2 s7 q& H% m }
8 t2 W$ p% e1 S5 X2 H
/ K _/ F( W: X% ?; t m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );% v) e+ O) a5 ^# 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) );1 B" ]! d0 V) d9 H
::SetLight( bLight );+ v9 G2 p; G9 z0 O
+ \' y5 D2 u2 I' R0 G
// ±ao? ?D?í???ó á¤à?
8 R: x! {: i5 P0 g; {9 G; ~ m_pd3dDevice->SetMaterial( &m_baseMaterial );
l, z) f7 E" F) B9 j6 w- N " e% ?; M: H3 |
#endif // not WORLDSERVER) L! X/ Z7 q* K9 g) C6 y. Y
}
3 J* m; }2 m5 w w* t并更换! e, o6 I3 r: F2 D" h
Code:' X& z* e3 F; ?1 X9 c% R/ E
__FLYFF_INITPAGE_EXT
7 x5 ]/ X/ Q) w定义
R" I" ~! X! @4 ~6 W) N1 c3 N% d/ z W+ U3 p |1 p4 U N b# M
9 ^4 q- T: U4 W+ f; m# d8 g
- ~' A- M: ?3 `5 A
" Z+ \( P0 m% o6 C现在终于删除我的狗屁加速...) n& d' _; b4 Z# ]2 B
+ X' s7 k+ ?0 | o. W$ t* }1 R9 P9 ], {% K! x/ W8 b- {
5 y# ?" A2 z1 G& j |
|