summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/core/Stats.cpp6
-rw-r--r--src/core/Stats.h2
-rw-r--r--src/core/World.cpp2
-rw-r--r--src/core/World.h2
4 files changed, 12 insertions, 0 deletions
diff --git a/src/core/Stats.cpp b/src/core/Stats.cpp
index c1259f82..cd5bee06 100644
--- a/src/core/Stats.cpp
+++ b/src/core/Stats.cpp
@@ -32,8 +32,14 @@ int32 &CStats::MissionsGiven = *(int32*)0x9430E8;
int32 &CStats::MissionsPassed = *(int32*)0x940768;
char(&CStats::LastMissionPassedName)[8] = *(char(*)[8])*(uintptr*)0x70D828;
int32 &CStats::TotalLegitimateKills = *(int32*)0x8F6004;
+int32 &CStats::ElBurroTime = *(int32*)0x8E2A6C;
void CStats::AnotherKillFrenzyPassed()
{
++NumberKillFrenziesPassed;
}
+
+void CStats::RegisterElBurroTime(int32 time)
+{
+ ElBurroTime = (ElBurroTime && ElBurroTime < time) ? ElBurroTime : time;
+}
diff --git a/src/core/Stats.h b/src/core/Stats.h
index 3e7973ea..e1ef3749 100644
--- a/src/core/Stats.h
+++ b/src/core/Stats.h
@@ -34,9 +34,11 @@ public:
static int32 &MissionsPassed;
static char (&LastMissionPassedName)[8];
static int32 &TotalLegitimateKills;
+ static int32 &ElBurroTime;
public:
static void AnotherKillFrenzyPassed();
static void CheckPointReachedUnsuccessfully() { KillsSinceLastCheckpoint = 0; };
static void CheckPointReachedSuccessfully() { TotalLegitimateKills += KillsSinceLastCheckpoint; KillsSinceLastCheckpoint = 0; };
+ static void RegisterElBurroTime(int32);
}; \ No newline at end of file
diff --git a/src/core/World.cpp b/src/core/World.cpp
index 9c1678e1..1b7a6649 100644
--- a/src/core/World.cpp
+++ b/src/core/World.cpp
@@ -48,6 +48,8 @@ WRAPPER void CWorld::FindObjectsIntersectingCube(const CVector &, const CVector
WRAPPER void CWorld::FindObjectsIntersectingAngledCollisionBox(const CColBox &, const CMatrix &, const CVector &, float, float, float, float, int16*, int16, CEntity **, bool, bool, bool, bool, bool) { EAXJMP(0x4B3280); }
WRAPPER void CWorld::FindObjectsOfTypeInRange(uint32, CVector&, float, bool, short*, short, CEntity**, bool, bool, bool, bool, bool) { EAXJMP(0x4B2600); }
WRAPPER void CWorld::FindObjectsOfTypeInRangeSectorList(uint32, CPtrList&, CVector&, float, bool, short*, short, CEntity**) { EAXJMP(0x4B2960); }
+WRAPPER void CWorld::FindMissionEntitiesIntersectingCube(const CVector&, const CVector&, int16*, int16, CEntity**, bool, bool, bool) { EAXJMP(0x4B3680); }
+WRAPPER void CWorld::ClearCarsFromArea(float, float, float, float, float, float) { EAXJMP(0x4B50E0); }
void
CWorld::Initialise()
diff --git a/src/core/World.h b/src/core/World.h
index 61a44ea0..68af156c 100644
--- a/src/core/World.h
+++ b/src/core/World.h
@@ -114,6 +114,8 @@ public:
static void FindObjectsKindaColliding(const CVector &, float, bool, int16*, int16, CEntity **, bool, bool, bool, bool, bool);
static void FindObjectsIntersectingCube(const CVector &, const CVector &, int16*, int16, CEntity **, bool, bool, bool, bool, bool);
static void FindObjectsIntersectingAngledCollisionBox(const CColBox &, const CMatrix &, const CVector &, float, float, float, float, int16*, int16, CEntity **, bool, bool, bool, bool, bool);
+ static void FindMissionEntitiesIntersectingCube(const CVector&, const CVector&, int16*, int16, CEntity**, bool, bool, bool);
+ static void ClearCarsFromArea(float, float, float, float, float, float);
static float GetSectorX(float f) { return ((f - WORLD_MIN_X)/SECTOR_SIZE_X); }
static float GetSectorY(float f) { return ((f - WORLD_MIN_Y)/SECTOR_SIZE_Y); }