Initial groundwork for QF_SCALEDOWN.
This commit is contained in:
parent
284fd3e20f
commit
045ab9fd5b
4 changed files with 41 additions and 13 deletions
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue