summaryrefslogtreecommitdiff
path: root/src/control/Restart.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/control/Restart.h')
-rw-r--r--src/control/Restart.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/control/Restart.h b/src/control/Restart.h
new file mode 100644
index 0000000..5d84c72
--- /dev/null
+++ b/src/control/Restart.h
@@ -0,0 +1,36 @@
+#pragma once
+
+#define NUM_RESTART_POINTS 8
+
+class CRestart
+{
+public:
+ static void AddPoliceRestartPoint(const CVector&, float);
+ static void AddHospitalRestartPoint(const CVector&, float);
+ static void OverrideNextRestart(const CVector&, float);
+
+ static void FindClosestHospitalRestartPoint(const CVector &, CVector *, float *);
+ static void FindClosestPoliceRestartPoint(const CVector &, CVector *, float *);
+ static void Initialise();
+ static void CancelOverrideRestart();
+
+ static void LoadAllRestartPoints(uint8 *buf, uint32 size);
+ static void SaveAllRestartPoints(uint8 *buf, uint32 *size);
+
+ static uint8 OverrideHospitalLevel;
+ static uint8 OverridePoliceStationLevel;
+ static bool bFadeInAfterNextArrest;
+ static bool bFadeInAfterNextDeath;
+
+ static bool bOverrideRestart;
+ static CVector OverridePosition;
+ static float OverrideHeading;
+
+ static CVector HospitalRestartPoints[NUM_RESTART_POINTS];
+ static float HospitalRestartHeadings[NUM_RESTART_POINTS];
+ static uint16 NumberOfHospitalRestarts;
+
+ static CVector PoliceRestartPoints[NUM_RESTART_POINTS];
+ static float PoliceRestartHeadings[NUM_RESTART_POINTS];
+ static uint16 NumberOfPoliceRestarts;
+};