summaryrefslogtreecommitdiff
path: root/src/weapons/Explosion.h
diff options
context:
space:
mode:
authorclaude-bot <[email protected]>2026-07-13 12:27:07 +0000
committerclaude-bot <[email protected]>2026-07-13 12:27:07 +0000
commit9f61c9e6ac6b1ac5692cf6352d2ebbd47a31a686 (patch)
treea84756b82513739a2672db3a1f0ec579db6d18ff /src/weapons/Explosion.h
downloadre3-miami.tar.gz
re3-miami.zip
Import Cai1Hsu/re3 @ miami (reVC / GTA:VC decompilation)HEADmiami
Snapshot import (no upstream history) into git.ancap.in.ua/claude, per @lzcnt. Source: https://github.com/Cai1Hsu/re3 branch miami.
Diffstat (limited to 'src/weapons/Explosion.h')
-rw-r--r--src/weapons/Explosion.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/weapons/Explosion.h b/src/weapons/Explosion.h
new file mode 100644
index 0000000..7aa02b6
--- /dev/null
+++ b/src/weapons/Explosion.h
@@ -0,0 +1,54 @@
+#pragma once
+
+class CEntity;
+class CVector;
+
+enum eExplosionType
+{
+ EXPLOSION_GRENADE,
+ EXPLOSION_MOLOTOV,
+ EXPLOSION_ROCKET,
+ EXPLOSION_CAR,
+ EXPLOSION_CAR_QUICK,
+ EXPLOSION_BOAT,
+ EXPLOSION_HELI,
+ EXPLOSION_HELI2,
+ 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;
+ uint8 m_nIteration;
+ uint8 m_nActiveCounter;
+ bool m_bIsBoat;
+ bool m_bMakeSound;
+ float m_fStartTime;
+ uint32 m_nParticlesExpireTime;
+ float m_fPower;
+ float m_fZshift;
+public:
+ static bool AddExplosion(CEntity *explodingEntity, CEntity *culprit, eExplosionType type, const CVector &pos, uint32 lifetime, bool makeSound = true); //done(new parametr in android ver is fix for one mission)
+ 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