Initial groundwork for QF_SCALEDOWN.

This commit is contained in:
MajorCooke 2015-02-19 21:42:32 -06:00
commit 045ab9fd5b
4 changed files with 41 additions and 13 deletions

View file

@ -46,6 +46,8 @@ DEarthquake::DEarthquake (AActor *center, int intensityX, int intensityY, int in
m_IntensityY = intensityY;
m_IntensityZ = intensityZ;
m_Countdown = duration;
m_Countup = 0;
m_ScaleDownStart = duration;
m_Flags = flags;
}
@ -131,6 +133,7 @@ void DEarthquake::Tick ()
}
}
}
++m_Countup;
if (--m_Countdown == 0)
{
if (S_IsActorPlayingSomething(m_Spot, CHAN_BODY, m_QuakeSFX))
@ -151,7 +154,7 @@ void DEarthquake::Tick ()
//==========================================================================
int DEarthquake::StaticGetQuakeIntensities(AActor *victim,
int &x, int &y, int &z, int &relx, int &rely, int &relz)
int &x, int &y, int &z, int &relx, int &rely, int &relz, int &scaleDown, int &scaleDownStart, int &scaleUp)
{
if (victim->player != NULL && (victim->player->cheats & CF_NOCLIP))
{
@ -185,6 +188,18 @@ int DEarthquake::StaticGetQuakeIntensities(AActor *victim,
y = MAX(y, quake->m_IntensityY);
z = MAX(z, quake->m_IntensityZ);
}
scaleDownStart = scaleDown = scaleUp = 1;
if (quake->m_Flags & QF_SCALEDOWN)
{
scaleDown = quake->m_Countdown;
}
else
{
scaleDownStart = 0;
scaleDown = 0;
}
if (quake->m_Flags & QF_SCALEUP)
scaleUp = quake->m_Countup;
}
}
}