diff options
Diffstat (limited to 'src/weapons/Explosion.h')
-rw-r--r-- | src/weapons/Explosion.h | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/src/weapons/Explosion.h b/src/weapons/Explosion.h index bf54328c..e76c99ea 100644 --- a/src/weapons/Explosion.h +++ b/src/weapons/Explosion.h @@ -10,7 +10,9 @@ enum eExplosionType EXPLOSION_ROCKET, EXPLOSION_CAR, EXPLOSION_CAR_QUICK, + EXPLOSION_BOAT, EXPLOSION_HELI, + EXPLOSION_HELI2, EXPLOSION_MINE, EXPLOSION_BARREL, EXPLOSION_TANK_GRENADE, @@ -28,22 +30,29 @@ class CExplosion float m_fStopTime; uint8 m_nIteration; uint8 m_nActiveCounter; + bool m_bIsBoat; + bool m_bMakeSound; float m_fStartTime; uint32 m_nParticlesExpireTime; float m_fPower; - bool m_bIsBoat; float m_fZshift; public: - static void Initialise(); - static void Shutdown(); - static int8 GetExplosionActiveCounter(uint8 id); - static void ResetExplosionActiveCounter(uint8 id); - static uint8 GetExplosionType(uint8 id); - static CVector *GetExplosionPosition(uint8 id); - static bool AddExplosion(CEntity *explodingEntity, CEntity *culprit, eExplosionType type, const CVector &pos, uint32 lifetime); - static void Update(); - static bool TestForExplosionInArea(eExplosionType type, float x1, float x2, float y1, float y2, float z1, float z2); - static void RemoveAllExplosionsInArea(CVector pos, float radius); +#ifdef SIMPLER_MISSIONS + static bool AddExplosion(CEntity *explodingEntity, CEntity *culprit, eExplosionType type, const CVector &pos, uint32 lifetime, bool makeSound = true, float radius = -1.0f); +#else + static bool AddExplosion(CEntity* explodingEntity, CEntity* culprit, eExplosionType type, const CVector& pos, uint32 lifetime, bool makeSound = true); +#endif + static void ClearAllExplosions(); //done + static bool DoesExplosionMakeSound(uint8 id); //done + static int8 GetExplosionActiveCounter(uint8 id); //done + static CVector *GetExplosionPosition(uint8 id); //done + static uint8 GetExplosionType(uint8 id); //done, mb need change type to tExplosionType + static void Initialise(); //done + static void RemoveAllExplosionsInArea(CVector pos, float radius); //done + static void ResetExplosionActiveCounter(uint8 id); //done + static void Shutdown(); //done + static void Update(); //done + static bool TestForExplosionInArea(eExplosionType type, float x1, float x2, float y1, float y2, float z1, float z2); //done, not used }; extern CExplosion gaExplosion[NUM_EXPLOSIONS];
\ No newline at end of file |