From e57ad65d051bd44af3ea7b050e7c37144453bc75 Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Thu, 12 Mar 2020 18:26:47 +0200 Subject: Finished CRadar, a bit of CExplosion --- src/weapons/Explosion.h | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/weapons/Explosion.h (limited to 'src/weapons/Explosion.h') diff --git a/src/weapons/Explosion.h b/src/weapons/Explosion.h new file mode 100644 index 00000000..e6ef9496 --- /dev/null +++ b/src/weapons/Explosion.h @@ -0,0 +1,50 @@ +#pragma once + +class CEntity; +class CVector; + +enum eExplosionType +{ + EXPLOSION_GRENADE, + EXPLOSION_MOLOTOV, + EXPLOSION_ROCKET, + EXPLOSION_CAR, + EXPLOSION_CAR_QUICK, + EXPLOSION_HELI, + EXPLOSION_MINE, + EXPLOSION_BARREL, + EXPLOSION_TANK_GRENADE, + EXPLOSION_HELI_BOMB +}; + +class CExplosion +{ + eExplosionType m_ExplosionType; + CVector m_vecPosition; + float m_fRadius; + float m_fPropagationRate; + CEntity *m_pCreatorEntity; + CEntity *m_pVictimEntity; + float m_fStopTime; + bool m_bActive; + int8 m_bActiveCounter; + int32 m_nStartTime; + uint32 m_nParticlesExpireTime; + float m_fPower; + int32 field_34; + int32 field_38; +public: + static void Initialise(); + static void Shutdown(); + static void AddExplosion(CEntity *explodingEntity, CEntity *culprit, eExplosionType type, + const CVector &pos, uint32); + + static int8 GetExplosionActiveCounter(uint8 id); + static CVector *GetExplosionPosition(uint8 id); + static uint8 GetExplosionType(uint8 id); + static void ResetExplosionActiveCounter(uint8 id); + static void RemoveAllExplosionsInArea(CVector, float); + static bool TestForExplosionInArea(eExplosionType, float, float, float, float, float, float); +}; + +extern CExplosion (&gaExplosion)[48]; \ No newline at end of file -- cgit v1.2.3