From af2e764d81d6a5981bab0a0d1fd0c79cf2465f69 Mon Sep 17 00:00:00 2001 From: aap Date: Sun, 30 Jun 2019 21:06:55 +0200 Subject: finished CEntity --- src/control/Bridge.cpp | 5 +++++ src/control/Bridge.h | 7 +++++++ src/control/Pickups.cpp | 4 ++++ src/control/Pickups.h | 40 +++++++++++++++++++++++++++++++++++++--- src/control/Replay.h | 1 - src/control/TrafficLights.cpp | 5 +++++ src/control/TrafficLights.h | 9 +++++++++ 7 files changed, 67 insertions(+), 4 deletions(-) create mode 100644 src/control/Bridge.cpp create mode 100644 src/control/Bridge.h create mode 100644 src/control/TrafficLights.cpp create mode 100644 src/control/TrafficLights.h (limited to 'src/control') 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); +}; -- cgit v1.2.3