mirror of
https://github.com/ZDoom/qzdoom.git
synced 2025-02-03 06:11:03 +00:00
Added QF_3D flag for quakes. When used, the quake thinker will perform a 3D distance check instead of 2D.
This commit is contained in:
parent
c12c4444e4
commit
9dea7cbaf9
3 changed files with 7 additions and 1 deletions
|
@ -112,6 +112,7 @@ enum
|
||||||
QF_MAX = 1 << 3,
|
QF_MAX = 1 << 3,
|
||||||
QF_FULLINTENSITY = 1 << 4,
|
QF_FULLINTENSITY = 1 << 4,
|
||||||
QF_WAVE = 1 << 5,
|
QF_WAVE = 1 << 5,
|
||||||
|
QF_3D = 1 << 6,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct FQuakeJiggers
|
struct FQuakeJiggers
|
||||||
|
|
|
@ -297,7 +297,11 @@ int DEarthquake::StaticGetQuakeIntensities(double ticFrac, AActor *victim, FQuak
|
||||||
{
|
{
|
||||||
if (quake->m_Spot != nullptr)
|
if (quake->m_Spot != nullptr)
|
||||||
{
|
{
|
||||||
const double dist = quake->m_Spot->Distance2D(victim, true);
|
double dist;
|
||||||
|
|
||||||
|
if (quake->m_Flags & QF_3D) dist = quake->m_Spot->Distance3D(victim, true);
|
||||||
|
else dist = quake->m_Spot->Distance2D(victim, true);
|
||||||
|
|
||||||
if (dist < quake->m_TremorRadius)
|
if (dist < quake->m_TremorRadius)
|
||||||
{
|
{
|
||||||
++count;
|
++count;
|
||||||
|
|
|
@ -633,6 +633,7 @@ enum EQuakeFlags
|
||||||
QF_MAX = 1 << 3,
|
QF_MAX = 1 << 3,
|
||||||
QF_FULLINTENSITY = 1 << 4,
|
QF_FULLINTENSITY = 1 << 4,
|
||||||
QF_WAVE = 1 << 5,
|
QF_WAVE = 1 << 5,
|
||||||
|
QF_3D = 1 << 6,
|
||||||
};
|
};
|
||||||
|
|
||||||
// A_CheckProximity flags
|
// A_CheckProximity flags
|
||||||
|
|
Loading…
Reference in a new issue