summaryrefslogtreecommitdiffstats
path: root/src/control
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/control/Bridge.cpp5
-rw-r--r--src/control/Bridge.h7
-rw-r--r--src/control/Pickups.cpp4
-rw-r--r--src/control/Pickups.h40
-rw-r--r--src/control/Replay.h1
-rw-r--r--src/control/TrafficLights.cpp5
-rw-r--r--src/control/TrafficLights.h9
7 files changed, 67 insertions, 4 deletions
diff --git a/src/control/Bridge.cpp b/src/control/Bridge.cpp
new file mode 100644
index 00000000..91f3c788
--- /dev/null
+++ b/src/control/Bridge.cpp
@@ -0,0 +1,5 @@
+#include "common.h"
+#include "patcher.h"
+#include "Bridge.h"
+
+WRAPPER bool CBridge::ShouldLightsBeFlashing(void) { EAXJMP(0x413D10); }
diff --git a/src/control/Bridge.h b/src/control/Bridge.h
new file mode 100644
index 00000000..64b85c1d
--- /dev/null
+++ b/src/control/Bridge.h
@@ -0,0 +1,7 @@
+#pragma once
+
+class CBridge
+{
+public:
+ static bool ShouldLightsBeFlashing(void);
+};
diff --git a/src/control/Pickups.cpp b/src/control/Pickups.cpp
index cec13c8a..56254d56 100644
--- a/src/control/Pickups.cpp
+++ b/src/control/Pickups.cpp
@@ -5,5 +5,9 @@
CPickup(&CPickups::aPickUps)[NUMPICKUPS] = *(CPickup(*)[NUMPICKUPS])*(uintptr*)0x878C98;
WRAPPER void CPickups::RenderPickUpText(void) { EAXJMP(0x432440); }
+WRAPPER void CPickups::DoCollectableEffects(CEntity *ent) { EAXJMP(0x431C30); }
+WRAPPER void CPickups::DoMoneyEffects(CEntity *ent) { EAXJMP(0x431F40); }
+WRAPPER void CPickups::DoMineEffects(CEntity *ent) { EAXJMP(0x4321C0); }
+WRAPPER void CPickups::DoPickUpEffects(CEntity *ent) { EAXJMP(0x431520); }
WRAPPER void CPacManPickups::Render(void) { EAXJMP(0x432F60); }
diff --git a/src/control/Pickups.h b/src/control/Pickups.h
index 3ae2764c..9cf485d0 100644
--- a/src/control/Pickups.h
+++ b/src/control/Pickups.h
@@ -1,14 +1,48 @@
#pragma once
-#include "config.h"
-#include "Pickup.h"
+enum ePickupType
+{
+ PICKUP_NONE = 0,
+ PICKUP_IN_SHOP = 1,
+ PICKUP_ON_STREET = 2,
+ PICKUP_ONCE = 3,
+ PICKUP_ONCE_TIMEOUT = 4,
+ PICKUP_COLLECTABLE1 = 5,
+ PICKUP_IN_SHOP_OUT_OF_STOCK = 6,
+ PICKUP_MONEY = 7,
+ PICKUP_MINE_INACTIVE = 8,
+ PICKUP_MINE_ARMED = 9,
+ PICKUP_NAUTICAL_MINE_INACTIVE = 10,
+ PICKUP_NAUTICAL_MINE_ARMED = 11,
+ PICKUP_FLOATINGPACKAGE = 12,
+ PICKUP_FLOATINGPACKAGE_FLOATING = 13,
+ PICKUP_ON_STREET_SLOW = 14,
+};
+
+class CEntity;
+class CObject;
+
+class CPickup
+{
+ ePickupType m_eType;
+ uint16 m_wQuantity;
+ CObject *m_pObject;
+ uint32 m_nTimer;
+ int16 m_eModelIndex;
+ int16 m_wIndex;
+ CVector m_vecPos;
+};
class CPickups
{
public:
static void RenderPickUpText(void);
+ static void DoCollectableEffects(CEntity *ent);
+ static void DoMoneyEffects(CEntity *ent);
+ static void DoMineEffects(CEntity *ent);
+ static void DoPickUpEffects(CEntity *ent);
- static CPickup(&aPickUps)[NUMPICKUPS];
+ static CPickup (&aPickUps)[NUMPICKUPS];
};
class CPacManPickups
diff --git a/src/control/Replay.h b/src/control/Replay.h
index 18701293..d0f55839 100644
--- a/src/control/Replay.h
+++ b/src/control/Replay.h
@@ -3,7 +3,6 @@
#include "Camera.h"
#include "Ped.h"
#include "Pools.h"
-#include "Pickup.h"
#include "Radar.h"
#include "References.h"
#include "Vehicle.h"
diff --git a/src/control/TrafficLights.cpp b/src/control/TrafficLights.cpp
new file mode 100644
index 00000000..73ff6118
--- /dev/null
+++ b/src/control/TrafficLights.cpp
@@ -0,0 +1,5 @@
+#include "common.h"
+#include "patcher.h"
+#include "TrafficLights.h"
+
+WRAPPER void CTrafficLights::DisplayActualLight(CEntity *ent) { EAXJMP(0x455800); }
diff --git a/src/control/TrafficLights.h b/src/control/TrafficLights.h
new file mode 100644
index 00000000..eec3e1e3
--- /dev/null
+++ b/src/control/TrafficLights.h
@@ -0,0 +1,9 @@
+#pragma once
+
+class CEntity;
+
+class CTrafficLights
+{
+public:
+ static void DisplayActualLight(CEntity *ent);
+};