From 96e2641d0d1e27318cb712ced4f1ed6909de7181 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Wed, 10 Nov 2021 15:57:44 +0200 Subject: [PATCH] Remove macro for registration and cleanup --- src/openrct2/ReplayManager.h | 2 +- src/openrct2/actions/BalloonPressAction.h | 6 +- src/openrct2/actions/BannerPlaceAction.h | 6 +- src/openrct2/actions/BannerRemoveAction.h | 6 +- src/openrct2/actions/BannerSetColourAction.h | 6 +- src/openrct2/actions/BannerSetNameAction.h | 6 +- src/openrct2/actions/BannerSetStyleAction.h | 6 +- src/openrct2/actions/ChangeMapSizeAction.h | 6 +- src/openrct2/actions/ClearAction.h | 4 +- src/openrct2/actions/ClimateSetAction.h | 6 +- src/openrct2/actions/CustomAction.h | 4 +- .../actions/FootpathAdditionPlaceAction.h | 6 +- .../actions/FootpathAdditionRemoveAction.h | 6 +- src/openrct2/actions/FootpathPlaceAction.h | 12 +- .../actions/FootpathPlaceFromTrackAction.h | 4 +- src/openrct2/actions/FootpathRemoveAction.h | 8 +- src/openrct2/actions/GameAction.cpp | 48 +-- src/openrct2/actions/GameAction.h | 32 +- .../actions/GameActionRegistration.cpp | 181 -------- src/openrct2/actions/GameActionRegistry.cpp | 399 ++++++++++++++++++ src/openrct2/actions/GuestSetFlagsAction.h | 6 +- src/openrct2/actions/GuestSetNameAction.h | 6 +- src/openrct2/actions/LandBuyRightsAction.h | 4 +- src/openrct2/actions/LandLowerAction.h | 4 +- src/openrct2/actions/LandRaiseAction.h | 4 +- src/openrct2/actions/LandSetHeightAction.h | 14 +- src/openrct2/actions/LandSetRightsAction.h | 4 +- src/openrct2/actions/LandSmoothAction.h | 4 +- .../actions/LargeSceneryPlaceAction.h | 14 +- .../actions/LargeSceneryRemoveAction.h | 6 +- .../actions/LargeScenerySetColourAction.h | 4 +- src/openrct2/actions/LoadOrQuitAction.h | 4 +- src/openrct2/actions/MazePlaceTrackAction.h | 6 +- src/openrct2/actions/MazeSetTrackAction.h | 6 +- .../actions/NetworkModifyGroupAction.h | 4 +- .../actions/ParkEntranceRemoveAction.h | 4 +- src/openrct2/actions/ParkMarketingAction.h | 6 +- src/openrct2/actions/ParkSetDateAction.h | 6 +- src/openrct2/actions/ParkSetLoanAction.h | 6 +- src/openrct2/actions/ParkSetNameAction.h | 6 +- src/openrct2/actions/ParkSetParameterAction.h | 4 +- .../actions/ParkSetResearchFundingAction.h | 4 +- src/openrct2/actions/PauseToggleAction.h | 2 +- src/openrct2/actions/PeepPickupAction.h | 6 +- .../actions/PlaceParkEntranceAction.h | 4 +- src/openrct2/actions/PlacePeepSpawnAction.h | 4 +- src/openrct2/actions/PlayerKickAction.h | 4 +- src/openrct2/actions/PlayerSetGroupAction.h | 4 +- src/openrct2/actions/RideCreateAction.h | 6 +- src/openrct2/actions/RideDemolishAction.h | 10 +- .../actions/RideEntranceExitPlaceAction.h | 6 +- .../actions/RideEntranceExitRemoveAction.h | 6 +- .../actions/RideSetAppearanceAction.h | 6 +- .../actions/RideSetColourSchemeAction.h | 6 +- src/openrct2/actions/RideSetNameAction.h | 6 +- src/openrct2/actions/RideSetPriceAction.h | 6 +- src/openrct2/actions/RideSetSettingAction.h | 14 +- src/openrct2/actions/RideSetStatusAction.h | 6 +- src/openrct2/actions/RideSetVehicleAction.h | 8 +- .../actions/ScenarioSetSettingAction.h | 4 +- src/openrct2/actions/SetCheatAction.h | 6 +- .../actions/SetParkEntranceFeeAction.h | 6 +- src/openrct2/actions/SignSetNameAction.h | 6 +- src/openrct2/actions/SignSetStyleAction.h | 4 +- .../actions/SmallSceneryPlaceAction.h | 6 +- .../actions/SmallSceneryRemoveAction.h | 6 +- .../actions/SmallScenerySetColourAction.h | 4 +- src/openrct2/actions/StaffFireAction.h | 4 +- src/openrct2/actions/StaffHireNewAction.h | 8 +- src/openrct2/actions/StaffSetColourAction.h | 4 +- src/openrct2/actions/StaffSetCostumeAction.h | 4 +- src/openrct2/actions/StaffSetNameAction.h | 4 +- src/openrct2/actions/StaffSetOrdersAction.h | 4 +- .../actions/StaffSetPatrolAreaAction.h | 4 +- src/openrct2/actions/SurfaceSetStyleAction.h | 4 +- src/openrct2/actions/TileModifyAction.h | 4 +- src/openrct2/actions/TrackDesignAction.h | 6 +- src/openrct2/actions/TrackPlaceAction.h | 6 +- src/openrct2/actions/TrackRemoveAction.h | 6 +- .../actions/TrackSetBrakeSpeedAction.h | 6 +- src/openrct2/actions/WallPlaceAction.h | 12 +- src/openrct2/actions/WallRemoveAction.h | 6 +- src/openrct2/actions/WallSetColourAction.h | 4 +- src/openrct2/actions/WaterLowerAction.h | 4 +- src/openrct2/actions/WaterRaiseAction.h | 4 +- src/openrct2/actions/WaterSetHeightAction.h | 4 +- src/openrct2/libopenrct2.vcxproj | 2 +- src/openrct2/network/network.h | 2 +- src/openrct2/scripting/ScriptEngine.h | 2 +- 89 files changed, 646 insertions(+), 484 deletions(-) delete mode 100644 src/openrct2/actions/GameActionRegistration.cpp create mode 100644 src/openrct2/actions/GameActionRegistry.cpp diff --git a/src/openrct2/ReplayManager.h b/src/openrct2/ReplayManager.h index 895a99fedd..82340d62de 100644 --- a/src/openrct2/ReplayManager.h +++ b/src/openrct2/ReplayManager.h @@ -15,7 +15,7 @@ #include #include -struct GameAction; +class GameAction; namespace OpenRCT2 { diff --git a/src/openrct2/actions/BalloonPressAction.h b/src/openrct2/actions/BalloonPressAction.h index 0bf2ece5f9..a7f83e6385 100644 --- a/src/openrct2/actions/BalloonPressAction.h +++ b/src/openrct2/actions/BalloonPressAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(BalloonPressAction, GameCommand::BalloonPress, GameActions::Result) +class BalloonPressAction final : public GameActionBase { uint16_t _spriteIndex{ SPRITE_INDEX_NULL }; @@ -19,11 +19,11 @@ public: BalloonPressAction() = default; BalloonPressAction(uint16_t spriteIndex); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/BannerPlaceAction.h b/src/openrct2/actions/BannerPlaceAction.h index 5de3d37e82..1aabed2077 100644 --- a/src/openrct2/actions/BannerPlaceAction.h +++ b/src/openrct2/actions/BannerPlaceAction.h @@ -16,7 +16,7 @@ struct BannerPlaceActionResult BannerIndex bannerId = BANNER_INDEX_NULL; }; -DEFINE_GAME_ACTION(BannerPlaceAction, GameCommand::PlaceBanner, GameActions::Result) +class BannerPlaceAction final : public GameActionBase { private: CoordsXYZD _loc; @@ -27,11 +27,11 @@ public: BannerPlaceAction() = default; BannerPlaceAction(const CoordsXYZD& loc, ObjectEntryIndex bannerType, colour_t primaryColour); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/BannerRemoveAction.h b/src/openrct2/actions/BannerRemoveAction.h index c12e2dcc23..f5acbc74b4 100644 --- a/src/openrct2/actions/BannerRemoveAction.h +++ b/src/openrct2/actions/BannerRemoveAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(BannerRemoveAction, GameCommand::RemoveBanner, GameActions::Result) +class BannerRemoveAction final : public GameActionBase { private: CoordsXYZD _loc; @@ -20,11 +20,11 @@ public: BannerRemoveAction() = default; BannerRemoveAction(const CoordsXYZD& loc); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/BannerSetColourAction.h b/src/openrct2/actions/BannerSetColourAction.h index 93cc2d2009..faffca5c96 100644 --- a/src/openrct2/actions/BannerSetColourAction.h +++ b/src/openrct2/actions/BannerSetColourAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(BannerSetColourAction, GameCommand::SetBannerColour, GameActions::Result) +class BannerSetColourAction final : public GameActionBase { private: CoordsXYZD _loc; @@ -21,11 +21,11 @@ public: BannerSetColourAction() = default; BannerSetColourAction(const CoordsXYZD& loc, uint8_t primaryColour); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/BannerSetNameAction.h b/src/openrct2/actions/BannerSetNameAction.h index 359a7aa424..6b6827183c 100644 --- a/src/openrct2/actions/BannerSetNameAction.h +++ b/src/openrct2/actions/BannerSetNameAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(BannerSetNameAction, GameCommand::SetBannerName, GameActions::Result) +class BannerSetNameAction final : public GameActionBase { private: BannerIndex _bannerIndex{ BANNER_INDEX_NULL }; @@ -21,11 +21,11 @@ public: BannerSetNameAction() = default; BannerSetNameAction(BannerIndex bannerIndex, const std::string& name); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/BannerSetStyleAction.h b/src/openrct2/actions/BannerSetStyleAction.h index 63bf027b98..df2f5d9e3a 100644 --- a/src/openrct2/actions/BannerSetStyleAction.h +++ b/src/openrct2/actions/BannerSetStyleAction.h @@ -21,7 +21,7 @@ enum class BannerSetStyleType : uint8_t Count }; -DEFINE_GAME_ACTION(BannerSetStyleAction, GameCommand::SetBannerStyle, GameActions::Result) +class BannerSetStyleAction final : public GameActionBase { private: BannerSetStyleType _type{ BannerSetStyleType::Count }; @@ -32,11 +32,11 @@ public: BannerSetStyleAction() = default; BannerSetStyleAction(BannerSetStyleType type, uint8_t bannerIndex, uint8_t parameter); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/ChangeMapSizeAction.h b/src/openrct2/actions/ChangeMapSizeAction.h index 93d3e021fc..a0bd4d1120 100644 --- a/src/openrct2/actions/ChangeMapSizeAction.h +++ b/src/openrct2/actions/ChangeMapSizeAction.h @@ -12,16 +12,16 @@ #include "../world/Map.h" #include "GameAction.h" -DEFINE_GAME_ACTION(ChangeMapSizeAction, GameCommand::ChangeMapSize, GameActions::Result) +class ChangeMapSizeAction final : public GameActionBase { public: ChangeMapSizeAction() = default; ChangeMapSizeAction(const int32_t targetSize); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/ClearAction.h b/src/openrct2/actions/ClearAction.h index 86c681ba2c..ff777923c8 100644 --- a/src/openrct2/actions/ClearAction.h +++ b/src/openrct2/actions/ClearAction.h @@ -24,7 +24,7 @@ namespace CLEARABLE_ITEMS constexpr ClearableItems SCENERY_FOOTPATH = 1 << 2; } // namespace CLEARABLE_ITEMS -DEFINE_GAME_ACTION(ClearAction, GameCommand::ClearScenery, GameActions::Result) +class ClearAction final : public GameActionBase { private: MapRange _range; @@ -34,7 +34,7 @@ public: ClearAction() = default; ClearAction(MapRange range, ClearableItems itemsToClear); - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/ClimateSetAction.h b/src/openrct2/actions/ClimateSetAction.h index 8e604f27f5..f9e59720c7 100644 --- a/src/openrct2/actions/ClimateSetAction.h +++ b/src/openrct2/actions/ClimateSetAction.h @@ -12,7 +12,7 @@ #include "../world/Climate.h" #include "GameAction.h" -DEFINE_GAME_ACTION(ClimateSetAction, GameCommand::SetClimate, GameActions::Result) +class ClimateSetAction final : public GameActionBase { private: ClimateType _climate{}; @@ -21,11 +21,11 @@ public: ClimateSetAction() = default; ClimateSetAction(ClimateType climate); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/CustomAction.h b/src/openrct2/actions/CustomAction.h index a0d5b63376..93e3c49d89 100644 --- a/src/openrct2/actions/CustomAction.h +++ b/src/openrct2/actions/CustomAction.h @@ -13,7 +13,7 @@ # include "GameAction.h" -DEFINE_GAME_ACTION(CustomAction, GameCommand::Custom, GameActions::Result) +class CustomAction final : public GameActionBase { private: std::string _id; @@ -28,7 +28,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/FootpathAdditionPlaceAction.h b/src/openrct2/actions/FootpathAdditionPlaceAction.h index 7b296363ae..71b4787a5c 100644 --- a/src/openrct2/actions/FootpathAdditionPlaceAction.h +++ b/src/openrct2/actions/FootpathAdditionPlaceAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(FootpathAdditionPlaceAction, GameCommand::PlaceFootpathAddition, GameActions::Result) +class FootpathAdditionPlaceAction final : public GameActionBase { private: CoordsXYZ _loc; @@ -21,11 +21,11 @@ public: FootpathAdditionPlaceAction() = default; FootpathAdditionPlaceAction(const CoordsXYZ& loc, ObjectEntryIndex pathItemType); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/FootpathAdditionRemoveAction.h b/src/openrct2/actions/FootpathAdditionRemoveAction.h index e53cdf59ca..3369e18a38 100644 --- a/src/openrct2/actions/FootpathAdditionRemoveAction.h +++ b/src/openrct2/actions/FootpathAdditionRemoveAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(FootpathAdditionRemoveAction, GameCommand::RemoveFootpathAddition, GameActions::Result) +class FootpathAdditionRemoveAction final : public GameActionBase { private: CoordsXYZ _loc; @@ -20,11 +20,11 @@ public: FootpathAdditionRemoveAction() = default; FootpathAdditionRemoveAction(const CoordsXYZ& loc); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/FootpathPlaceAction.h b/src/openrct2/actions/FootpathPlaceAction.h index 94df946e20..0ea7a63bd1 100644 --- a/src/openrct2/actions/FootpathPlaceAction.h +++ b/src/openrct2/actions/FootpathPlaceAction.h @@ -12,7 +12,7 @@ #include "../world/Footpath.h" #include "GameAction.h" -DEFINE_GAME_ACTION(FootpathPlaceAction, GameCommand::PlacePath, GameActions::Result) +class FootpathPlaceAction final : public GameActionBase { private: CoordsXYZ _loc; @@ -27,21 +27,21 @@ public: FootpathPlaceAction( const CoordsXYZ& loc, uint8_t slope, ObjectEntryIndex type, ObjectEntryIndex railingsType, Direction direction = INVALID_DIRECTION, PathConstructFlags constructFlags = 0); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; private: - GameActions::Result::Ptr ElementUpdateQuery(PathElement * pathElement, GameActions::Result::Ptr res) const; - GameActions::Result::Ptr ElementUpdateExecute(PathElement * pathElement, GameActions::Result::Ptr res) const; + GameActions::Result::Ptr ElementUpdateQuery(PathElement* pathElement, GameActions::Result::Ptr res) const; + GameActions::Result::Ptr ElementUpdateExecute(PathElement* pathElement, GameActions::Result::Ptr res) const; GameActions::Result::Ptr ElementInsertQuery(GameActions::Result::Ptr res) const; GameActions::Result::Ptr ElementInsertExecute(GameActions::Result::Ptr res) const; void AutomaticallySetPeepSpawn() const; - void RemoveIntersectingWalls(PathElement * pathElement) const; + void RemoveIntersectingWalls(PathElement* pathElement) const; PathElement* map_get_footpath_element_slope(const CoordsXYZ& footpathPos, int32_t slope) const; bool IsSameAsPathElement(const PathElement* pathElement) const; bool IsSameAsEntranceElement(const EntranceElement& entranceElement) const; diff --git a/src/openrct2/actions/FootpathPlaceFromTrackAction.h b/src/openrct2/actions/FootpathPlaceFromTrackAction.h index 0eb0726dd7..adabeabd8e 100644 --- a/src/openrct2/actions/FootpathPlaceFromTrackAction.h +++ b/src/openrct2/actions/FootpathPlaceFromTrackAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(FootpathPlaceFromTrackAction, GameCommand::PlacePathFromTrack, GameActions::Result) +class FootpathPlaceFromTrackAction final : public GameActionBase { private: CoordsXYZ _loc; @@ -29,7 +29,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/FootpathRemoveAction.h b/src/openrct2/actions/FootpathRemoveAction.h index 0a7bc37f64..bc803f91df 100644 --- a/src/openrct2/actions/FootpathRemoveAction.h +++ b/src/openrct2/actions/FootpathRemoveAction.h @@ -12,7 +12,7 @@ #include "../management/Finance.h" #include "GameAction.h" -DEFINE_GAME_ACTION(FootpathRemoveAction, GameCommand::RemovePath, GameActions::Result) +class FootpathRemoveAction final : public GameActionBase { private: CoordsXYZ _loc; @@ -21,16 +21,16 @@ public: FootpathRemoveAction() = default; FootpathRemoveAction(const CoordsXYZ& location); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; private: TileElement* GetFootpathElement() const; - money32 GetRefundPrice(TileElement * footpathElement) const; + money32 GetRefundPrice(TileElement* footpathElement) const; GameActions::Result::Ptr RemoveBannersAtElement(const CoordsXY& loc, TileElement* tileElement) const; }; diff --git a/src/openrct2/actions/GameAction.cpp b/src/openrct2/actions/GameAction.cpp index ed31433c72..878f7e0c4b 100644 --- a/src/openrct2/actions/GameAction.cpp +++ b/src/openrct2/actions/GameAction.cpp @@ -60,31 +60,10 @@ namespace GameActions } }; - static GameActionFactory _actions[EnumValue(GameCommand::Count)]; static std::multiset _actionQueue; static uint32_t _nextUniqueId = 0; static bool _suspended = false; - GameActionFactory Register(GameCommand id, GameActionFactory factory) - { - const auto idx = static_cast(id); - - Guard::Assert(idx < std::size(_actions)); - Guard::ArgumentNotNull(factory); - - _actions[idx] = factory; - return factory; - } - - bool IsValidId(uint32_t id) - { - if (id < std::size(_actions)) - { - return _actions[id] != nullptr; - } - return false; - } - void SuspendQueue() { _suspended = true; @@ -186,31 +165,9 @@ namespace GameActions return; Register(); - initialized = true; } - std::unique_ptr Create(GameCommand id) - { - Initialize(); - - const auto idx = static_cast(id); - - GameAction* result = nullptr; - if (idx < std::size(_actions)) - { - GameActionFactory factory = _actions[idx]; - if (factory != nullptr) - { - result = factory(); - } - } -#ifdef _DEBUG - Guard::ArgumentNotNull(result, "Attempting to create unregistered gameaction: %u", id); -#endif - return std::unique_ptr(result); - } - GameAction::Ptr Clone(const GameAction* action) { std::unique_ptr ga = GameActions::Create(action->GetType()); @@ -516,6 +473,11 @@ namespace GameActions } } // namespace GameActions +const char* GameAction::GetName() const +{ + return GameActions::GetName(_type); +} + bool GameAction::LocationValid(const CoordsXY& coords) const { auto result = map_is_location_valid(coords); diff --git a/src/openrct2/actions/GameAction.h b/src/openrct2/actions/GameAction.h index c8429efb7d..6e80bb8bd6 100644 --- a/src/openrct2/actions/GameAction.h +++ b/src/openrct2/actions/GameAction.h @@ -92,11 +92,11 @@ public: } }; -struct GameAction +class GameAction { public: using Ptr = std::unique_ptr; - using Callback_t = std::function; + using Callback_t = std::function; private: GameCommand const _type; @@ -114,7 +114,7 @@ public: virtual ~GameAction() = default; - virtual const char* GetName() const = 0; + const char* GetName() const; virtual void AcceptParameters(GameActionParameterVisitor&) { @@ -235,11 +235,9 @@ template struct GameActionNameQuery { }; -template struct GameActionBase : GameAction +template struct GameActionBase : GameAction { public: - using Result = TResultType; - static constexpr GameCommand TYPE = TType; GameActionBase() @@ -247,15 +245,10 @@ public: { } - virtual const char* GetName() const override - { - return GameActionNameQuery::Name(); - } - protected: - template static constexpr std::unique_ptr MakeResult(TTypes&&... args) + template static std::unique_ptr MakeResult(TTypes&&... args) { - return std::make_unique(std::forward(args)...); + return std::make_unique(std::forward(args)...); } }; @@ -266,6 +259,7 @@ namespace GameActions void Initialize(); void Register(); bool IsValidId(uint32_t id); + const char* GetName(GameCommand id); // Halts the queue processing until ResumeQueue is called, any calls to ProcessQueue // will have no effect during suspension. It has no effect of actions that will not @@ -300,16 +294,4 @@ namespace GameActions return factory; } - // clang-format off -#define DEFINE_GAME_ACTION(cls, id, res) \ - template<> struct GameActionNameQuery \ - { \ - static const char* Name() \ - { \ - return #cls; \ - } \ - }; \ - struct cls final : public GameActionBase - // clang-format on - } // namespace GameActions diff --git a/src/openrct2/actions/GameActionRegistration.cpp b/src/openrct2/actions/GameActionRegistration.cpp deleted file mode 100644 index e48bfa8d73..0000000000 --- a/src/openrct2/actions/GameActionRegistration.cpp +++ /dev/null @@ -1,181 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014-2020 OpenRCT2 developers - * - * For a complete list of all authors, please refer to contributors.md - * Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2 - * - * OpenRCT2 is licensed under the GNU General Public License version 3. - *****************************************************************************/ - -#include "BalloonPressAction.h" -#include "BannerPlaceAction.h" -#include "BannerRemoveAction.h" -#include "BannerSetColourAction.h" -#include "BannerSetNameAction.h" -#include "BannerSetStyleAction.h" -#include "ChangeMapSizeAction.h" -#include "ClearAction.h" -#include "ClimateSetAction.h" -#include "CustomAction.h" -#include "FootpathAdditionPlaceAction.h" -#include "FootpathAdditionRemoveAction.h" -#include "FootpathPlaceAction.h" -#include "FootpathPlaceFromTrackAction.h" -#include "FootpathRemoveAction.h" -#include "GameAction.h" -#include "GuestSetFlagsAction.h" -#include "GuestSetNameAction.h" -#include "LandBuyRightsAction.h" -#include "LandLowerAction.h" -#include "LandRaiseAction.h" -#include "LandSetHeightAction.h" -#include "LandSetRightsAction.h" -#include "LandSmoothAction.h" -#include "LargeSceneryPlaceAction.h" -#include "LargeSceneryRemoveAction.h" -#include "LargeScenerySetColourAction.h" -#include "LoadOrQuitAction.h" -#include "MazePlaceTrackAction.h" -#include "MazeSetTrackAction.h" -#include "NetworkModifyGroupAction.h" -#include "ParkEntranceRemoveAction.h" -#include "ParkMarketingAction.h" -#include "ParkSetDateAction.h" -#include "ParkSetLoanAction.h" -#include "ParkSetNameAction.h" -#include "ParkSetParameterAction.h" -#include "ParkSetResearchFundingAction.h" -#include "PauseToggleAction.h" -#include "PeepPickupAction.h" -#include "PlaceParkEntranceAction.h" -#include "PlacePeepSpawnAction.h" -#include "PlayerKickAction.h" -#include "PlayerSetGroupAction.h" -#include "RideCreateAction.h" -#include "RideDemolishAction.h" -#include "RideEntranceExitPlaceAction.h" -#include "RideEntranceExitRemoveAction.h" -#include "RideSetAppearanceAction.h" -#include "RideSetColourSchemeAction.h" -#include "RideSetNameAction.h" -#include "RideSetPriceAction.h" -#include "RideSetSettingAction.h" -#include "RideSetStatusAction.h" -#include "RideSetVehicleAction.h" -#include "ScenarioSetSettingAction.h" -#include "SetCheatAction.h" -#include "SetParkEntranceFeeAction.h" -#include "SignSetNameAction.h" -#include "SignSetStyleAction.h" -#include "SmallSceneryPlaceAction.h" -#include "SmallSceneryRemoveAction.h" -#include "SmallScenerySetColourAction.h" -#include "StaffFireAction.h" -#include "StaffHireNewAction.h" -#include "StaffSetColourAction.h" -#include "StaffSetCostumeAction.h" -#include "StaffSetNameAction.h" -#include "StaffSetOrdersAction.h" -#include "StaffSetPatrolAreaAction.h" -#include "SurfaceSetStyleAction.h" -#include "TileModifyAction.h" -#include "TrackDesignAction.h" -#include "TrackPlaceAction.h" -#include "TrackRemoveAction.h" -#include "TrackSetBrakeSpeedAction.h" -#include "WallPlaceAction.h" -#include "WallRemoveAction.h" -#include "WallSetColourAction.h" -#include "WaterLowerAction.h" -#include "WaterRaiseAction.h" -#include "WaterSetHeightAction.h" - -namespace GameActions -{ - void Register() - { - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); - Register(); -#ifdef ENABLE_SCRIPTING - Register(); -#endif - } -} // namespace GameActions diff --git a/src/openrct2/actions/GameActionRegistry.cpp b/src/openrct2/actions/GameActionRegistry.cpp new file mode 100644 index 0000000000..7e233600f7 --- /dev/null +++ b/src/openrct2/actions/GameActionRegistry.cpp @@ -0,0 +1,399 @@ +/***************************************************************************** + * Copyright (c) 2014-2020 OpenRCT2 developers + * + * For a complete list of all authors, please refer to contributors.md + * Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2 + * + * OpenRCT2 is licensed under the GNU General Public License version 3. + *****************************************************************************/ + +#include "BalloonPressAction.h" +#include "BannerPlaceAction.h" +#include "BannerRemoveAction.h" +#include "BannerSetColourAction.h" +#include "BannerSetNameAction.h" +#include "BannerSetStyleAction.h" +#include "ChangeMapSizeAction.h" +#include "ClearAction.h" +#include "ClimateSetAction.h" +#include "CustomAction.h" +#include "FootpathAdditionPlaceAction.h" +#include "FootpathAdditionRemoveAction.h" +#include "FootpathPlaceAction.h" +#include "FootpathPlaceFromTrackAction.h" +#include "FootpathRemoveAction.h" +#include "GameAction.h" +#include "GuestSetFlagsAction.h" +#include "GuestSetNameAction.h" +#include "LandBuyRightsAction.h" +#include "LandLowerAction.h" +#include "LandRaiseAction.h" +#include "LandSetHeightAction.h" +#include "LandSetRightsAction.h" +#include "LandSmoothAction.h" +#include "LargeSceneryPlaceAction.h" +#include "LargeSceneryRemoveAction.h" +#include "LargeScenerySetColourAction.h" +#include "LoadOrQuitAction.h" +#include "MazePlaceTrackAction.h" +#include "MazeSetTrackAction.h" +#include "NetworkModifyGroupAction.h" +#include "ParkEntranceRemoveAction.h" +#include "ParkMarketingAction.h" +#include "ParkSetDateAction.h" +#include "ParkSetLoanAction.h" +#include "ParkSetNameAction.h" +#include "ParkSetParameterAction.h" +#include "ParkSetResearchFundingAction.h" +#include "PauseToggleAction.h" +#include "PeepPickupAction.h" +#include "PlaceParkEntranceAction.h" +#include "PlacePeepSpawnAction.h" +#include "PlayerKickAction.h" +#include "PlayerSetGroupAction.h" +#include "RideCreateAction.h" +#include "RideDemolishAction.h" +#include "RideEntranceExitPlaceAction.h" +#include "RideEntranceExitRemoveAction.h" +#include "RideSetAppearanceAction.h" +#include "RideSetColourSchemeAction.h" +#include "RideSetNameAction.h" +#include "RideSetPriceAction.h" +#include "RideSetSettingAction.h" +#include "RideSetStatusAction.h" +#include "RideSetVehicleAction.h" +#include "ScenarioSetSettingAction.h" +#include "SetCheatAction.h" +#include "SetParkEntranceFeeAction.h" +#include "SignSetNameAction.h" +#include "SignSetStyleAction.h" +#include "SmallSceneryPlaceAction.h" +#include "SmallSceneryRemoveAction.h" +#include "SmallScenerySetColourAction.h" +#include "StaffFireAction.h" +#include "StaffHireNewAction.h" +#include "StaffSetColourAction.h" +#include "StaffSetCostumeAction.h" +#include "StaffSetNameAction.h" +#include "StaffSetOrdersAction.h" +#include "StaffSetPatrolAreaAction.h" +#include "SurfaceSetStyleAction.h" +#include "TileModifyAction.h" +#include "TrackDesignAction.h" +#include "TrackPlaceAction.h" +#include "TrackRemoveAction.h" +#include "TrackSetBrakeSpeedAction.h" +#include "WallPlaceAction.h" +#include "WallRemoveAction.h" +#include "WallSetColourAction.h" +#include "WaterLowerAction.h" +#include "WaterRaiseAction.h" +#include "WaterSetHeightAction.h" + +namespace GameActions +{ + static GameActionFactory _actions[EnumValue(GameCommand::Count)]; + + GameActionFactory Register(GameCommand id, GameActionFactory factory) + { + const auto idx = static_cast(id); + + Guard::Assert(idx < std::size(_actions)); + Guard::ArgumentNotNull(factory); + + _actions[idx] = factory; + return factory; + } + + void Register() + { + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); + Register(); +#ifdef ENABLE_SCRIPTING + Register(); +#endif + } + + const char* GetName(GameCommand id) + { + switch (id) + { + case GameCommand::SetRideAppearance: + return "SetRideAppearance"; + case GameCommand::SetLandHeight: + return "SetLandHeight"; + case GameCommand::TogglePause: + return "TogglePause"; + case GameCommand::PlaceTrack: + return "PlaceTrack"; + case GameCommand::RemoveTrack: + return "RemoveTrack"; + case GameCommand::LoadOrQuit: + return "LoadOrQuit"; + case GameCommand::CreateRide: + return "CreateRide"; + case GameCommand::DemolishRide: + return "DemolishRide"; + case GameCommand::SetRideStatus: + return "SetRideStatus"; + case GameCommand::SetRideVehicles: + return "SetRideVehicles"; + case GameCommand::SetRideName: + return "SetRideName"; + case GameCommand::SetRideSetting: + return "SetRideSetting"; + case GameCommand::PlaceRideEntranceOrExit: + return "PlaceRideEntranceOrExit"; + case GameCommand::RemoveRideEntranceOrExit: + return "RemoveRideEntranceOrExit"; + case GameCommand::RemoveScenery: + return "RemoveScenery"; + case GameCommand::PlaceScenery: + return "PlaceScenery"; + case GameCommand::SetWaterHeight: + return "SetWaterHeight"; + case GameCommand::PlacePath: + return "PlacePath"; + case GameCommand::PlacePathFromTrack: + return "PlacePathFromTrack"; + case GameCommand::RemovePath: + return "RemovePath"; + case GameCommand::ChangeSurfaceStyle: + return "ChangeSurfaceStyle"; + case GameCommand::SetRidePrice: + return "SetRidePrice"; + case GameCommand::SetGuestName: + return "SetGuestName"; + case GameCommand::SetStaffName: + return "SetStaffName"; + case GameCommand::RaiseLand: + return "RaiseLand"; + case GameCommand::LowerLand: + return "LowerLand"; + case GameCommand::EditLandSmooth: + return "EditLandSmooth"; + case GameCommand::RaiseWater: + return "RaiseWater"; + case GameCommand::LowerWater: + return "LowerWater"; + case GameCommand::SetBrakesSpeed: + return "SetBrakesSpeed"; + case GameCommand::HireNewStaffMember: + return "HireNewStaffMember"; + case GameCommand::SetStaffPatrol: + return "SetStaffPatrol"; + case GameCommand::FireStaffMember: + return "FireStaffMember"; + case GameCommand::SetStaffOrders: + return "SetStaffOrders"; + case GameCommand::SetParkName: + return "SetParkName"; + case GameCommand::SetParkOpen: + return "SetParkOpen"; + case GameCommand::BuyLandRights: + return "BuyLandRights"; + case GameCommand::PlaceParkEntrance: + return "PlaceParkEntrance"; + case GameCommand::RemoveParkEntrance: + return "RemoveParkEntrance"; + case GameCommand::SetMazeTrack: + return "SetMazeTrack"; + case GameCommand::SetParkEntranceFee: + return "SetParkEntranceFee"; + case GameCommand::SetStaffColour: + return "SetStaffColour"; + case GameCommand::PlaceWall: + return "PlaceWall"; + case GameCommand::RemoveWall: + return "RemoveWall"; + case GameCommand::PlaceLargeScenery: + return "PlaceLargeScenery"; + case GameCommand::RemoveLargeScenery: + return "RemoveLargeScenery"; + case GameCommand::SetCurrentLoan: + return "SetCurrentLoan"; + case GameCommand::SetResearchFunding: + return "SetResearchFunding"; + case GameCommand::PlaceTrackDesign: + return "PlaceTrackDesign"; + case GameCommand::StartMarketingCampaign: + return "StartMarketingCampaign"; + case GameCommand::PlaceMazeDesign: + return "PlaceMazeDesign"; + case GameCommand::PlaceBanner: + return "PlaceBanner"; + case GameCommand::RemoveBanner: + return "RemoveBanner"; + case GameCommand::SetSceneryColour: + return "SetSceneryColour"; + case GameCommand::SetWallColour: + return "SetWallColour"; + case GameCommand::SetLargeSceneryColour: + return "SetLargeSceneryColour"; + case GameCommand::SetBannerColour: + return "SetBannerColour"; + case GameCommand::SetLandOwnership: + return "SetLandOwnership"; + case GameCommand::ClearScenery: + return "ClearScenery"; + case GameCommand::SetBannerName: + return "SetBannerName"; + case GameCommand::SetSignName: + return "SetSignName"; + case GameCommand::SetBannerStyle: + return "SetBannerStyle"; + case GameCommand::SetSignStyle: + return "SetSignStyle"; + case GameCommand::SetPlayerGroup: + return "SetPlayerGroup"; + case GameCommand::ModifyGroups: + return "ModifyGroups"; + case GameCommand::KickPlayer: + return "KickPlayer"; + case GameCommand::Cheat: + return "Cheat"; + case GameCommand::PickupGuest: + return "PickupGuest"; + case GameCommand::PickupStaff: + return "PickupStaff"; + case GameCommand::BalloonPress: + return "BalloonPress"; + case GameCommand::ModifyTile: + return "ModifyTile"; + case GameCommand::EditScenarioOptions: + return "EditScenarioOptions"; + case GameCommand::PlacePeepSpawn: + return "PlacePeepSpawn"; + case GameCommand::SetClimate: + return "SetClimate"; + case GameCommand::SetColourScheme: + return "SetColourScheme"; + case GameCommand::SetStaffCostume: + return "SetStaffCostume"; + case GameCommand::PlaceFootpathAddition: + return "PlaceFootpathAddition"; + case GameCommand::RemoveFootpathAddition: + return "RemoveFootpathAddition"; + case GameCommand::GuestSetFlags: + return "GuestSetFlags"; + case GameCommand::SetDate: + return "SetDate"; + case GameCommand::Custom: + return "Custom"; + case GameCommand::ChangeMapSize: + return "ChangeMapSize"; + default: + break; + } + return ""; + } + + std::unique_ptr Create(GameCommand id) + { + Initialize(); + + const auto idx = static_cast(id); + + GameAction* result = nullptr; + if (idx < std::size(_actions)) + { + GameActionFactory factory = _actions[idx]; + if (factory != nullptr) + { + result = factory(); + } + } +#ifdef _DEBUG + Guard::ArgumentNotNull(result, "Attempting to create unregistered gameaction: %u", id); +#endif + return std::unique_ptr(result); + } + + bool IsValidId(uint32_t id) + { + if (id < std::size(_actions)) + { + return _actions[id] != nullptr; + } + return false; + } + +} // namespace GameActions diff --git a/src/openrct2/actions/GuestSetFlagsAction.h b/src/openrct2/actions/GuestSetFlagsAction.h index f162e1216a..66462b8e3b 100644 --- a/src/openrct2/actions/GuestSetFlagsAction.h +++ b/src/openrct2/actions/GuestSetFlagsAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(GuestSetFlagsAction, GameCommand::GuestSetFlags, GameActions::Result) +class GuestSetFlagsAction final : public GameActionBase { private: uint16_t _peepId{ SPRITE_INDEX_NULL }; @@ -21,11 +21,11 @@ public: GuestSetFlagsAction() = default; GuestSetFlagsAction(uint16_t peepId, uint32_t flags); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/GuestSetNameAction.h b/src/openrct2/actions/GuestSetNameAction.h index 6611f075e2..c1c404989b 100644 --- a/src/openrct2/actions/GuestSetNameAction.h +++ b/src/openrct2/actions/GuestSetNameAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(GuestSetNameAction, GameCommand::SetGuestName, GameActions::Result) +class GuestSetNameAction final : public GameActionBase { private: uint16_t _spriteIndex{ SPRITE_INDEX_NULL }; @@ -24,11 +24,11 @@ public: uint16_t GetSpriteIndex() const; std::string GetGuestName() const; - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/LandBuyRightsAction.h b/src/openrct2/actions/LandBuyRightsAction.h index 8d7cf06ee9..ff4c7e2ca9 100644 --- a/src/openrct2/actions/LandBuyRightsAction.h +++ b/src/openrct2/actions/LandBuyRightsAction.h @@ -18,7 +18,7 @@ enum class LandBuyRightSetting : uint8_t Count }; -DEFINE_GAME_ACTION(LandBuyRightsAction, GameCommand::BuyLandRights, GameActions::Result) +class LandBuyRightsAction final : public GameActionBase { private: MapRange _range; @@ -36,7 +36,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/LandLowerAction.h b/src/openrct2/actions/LandLowerAction.h index 283e12a873..5f6248ed61 100644 --- a/src/openrct2/actions/LandLowerAction.h +++ b/src/openrct2/actions/LandLowerAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(LandLowerAction, GameCommand::LowerLand, GameActions::Result) +class LandLowerAction final : public GameActionBase { private: CoordsXY _coords; @@ -24,7 +24,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/LandRaiseAction.h b/src/openrct2/actions/LandRaiseAction.h index 429f7d10b3..19a47926a6 100644 --- a/src/openrct2/actions/LandRaiseAction.h +++ b/src/openrct2/actions/LandRaiseAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(LandRaiseAction, GameCommand::RaiseLand, GameActions::Result) +class LandRaiseAction final : public GameActionBase { private: CoordsXY _coords; @@ -24,7 +24,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/LandSetHeightAction.h b/src/openrct2/actions/LandSetHeightAction.h index 26224190ab..854bb34c0b 100644 --- a/src/openrct2/actions/LandSetHeightAction.h +++ b/src/openrct2/actions/LandSetHeightAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(LandSetHeightAction, GameCommand::SetLandHeight, GameActions::Result) +class LandSetHeightAction final : public GameActionBase { private: CoordsXY _coords; @@ -24,7 +24,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; @@ -34,16 +34,16 @@ private: money32 GetSmallSceneryRemovalCost() const; void SmallSceneryRemoval() const; rct_string_id CheckRideSupports() const; - TileElement* CheckFloatingStructures(TileElement * surfaceElement, uint8_t zCorner) const; - TileElement* CheckUnremovableObstructions(TileElement * surfaceElement, uint8_t zCorner) const; - money32 GetSurfaceHeightChangeCost(SurfaceElement * surfaceElement) const; - void SetSurfaceHeight(TileElement * surfaceElement) const; + TileElement* CheckFloatingStructures(TileElement* surfaceElement, uint8_t zCorner) const; + TileElement* CheckUnremovableObstructions(TileElement* surfaceElement, uint8_t zCorner) const; + money32 GetSurfaceHeightChangeCost(SurfaceElement* surfaceElement) const; + void SetSurfaceHeight(TileElement* surfaceElement) const; /** * * rct2: 0x00663CB9 */ static int32_t map_set_land_height_clear_func( - TileElement * *tile_element, [[maybe_unused]] const CoordsXY& coords, [[maybe_unused]] uint8_t flags, + TileElement** tile_element, [[maybe_unused]] const CoordsXY& coords, [[maybe_unused]] uint8_t flags, [[maybe_unused]] money32* price); }; diff --git a/src/openrct2/actions/LandSetRightsAction.h b/src/openrct2/actions/LandSetRightsAction.h index 682b55cd8e..3709a89381 100644 --- a/src/openrct2/actions/LandSetRightsAction.h +++ b/src/openrct2/actions/LandSetRightsAction.h @@ -21,7 +21,7 @@ enum class LandSetRightSetting : uint8_t Count }; -DEFINE_GAME_ACTION(LandSetRightsAction, GameCommand::SetLandOwnership, GameActions::Result) +class LandSetRightsAction final : public GameActionBase { private: MapRange _range; @@ -35,7 +35,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/LandSmoothAction.h b/src/openrct2/actions/LandSmoothAction.h index 3bd71ae3e6..dd7cb1fd70 100644 --- a/src/openrct2/actions/LandSmoothAction.h +++ b/src/openrct2/actions/LandSmoothAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(LandSmoothAction, GameCommand::EditLandSmooth, GameActions::Result) +class LandSmoothAction final : public GameActionBase { private: CoordsXY _coords; @@ -30,7 +30,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/LargeSceneryPlaceAction.h b/src/openrct2/actions/LargeSceneryPlaceAction.h index 2925be57f5..8de7f56a36 100644 --- a/src/openrct2/actions/LargeSceneryPlaceAction.h +++ b/src/openrct2/actions/LargeSceneryPlaceAction.h @@ -20,7 +20,7 @@ struct LargeSceneryPlaceActionResult BannerIndex bannerId = BANNER_INDEX_NULL; }; -DEFINE_GAME_ACTION(LargeSceneryPlaceAction, GameCommand::PlaceLargeScenery, GameActions::Result) +class LargeSceneryPlaceAction final : public GameActionBase { private: CoordsXYZD _loc; @@ -34,17 +34,17 @@ public: LargeSceneryPlaceAction( const CoordsXYZD& loc, ObjectEntryIndex sceneryType, uint8_t primaryColour, uint8_t secondaryColour); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; private: - int16_t GetTotalNumTiles(rct_large_scenery_tile * tiles) const; - bool CheckMapCapacity(rct_large_scenery_tile * tiles, int16_t numTiles) const; - int16_t GetMaxSurfaceHeight(rct_large_scenery_tile * tiles) const; - void SetNewLargeSceneryElement(LargeSceneryElement & sceneryElement, uint8_t tileNum) const; + int16_t GetTotalNumTiles(rct_large_scenery_tile* tiles) const; + bool CheckMapCapacity(rct_large_scenery_tile* tiles, int16_t numTiles) const; + int16_t GetMaxSurfaceHeight(rct_large_scenery_tile* tiles) const; + void SetNewLargeSceneryElement(LargeSceneryElement& sceneryElement, uint8_t tileNum) const; }; diff --git a/src/openrct2/actions/LargeSceneryRemoveAction.h b/src/openrct2/actions/LargeSceneryRemoveAction.h index 6eb895a71e..550e628789 100644 --- a/src/openrct2/actions/LargeSceneryRemoveAction.h +++ b/src/openrct2/actions/LargeSceneryRemoveAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(LargeSceneryRemoveAction, GameCommand::RemoveLargeScenery, GameActions::Result) +class LargeSceneryRemoveAction final : public GameActionBase { private: CoordsXYZD _loc; @@ -21,11 +21,11 @@ public: LargeSceneryRemoveAction() = default; LargeSceneryRemoveAction(const CoordsXYZD& location, uint16_t tileIndex); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/LargeScenerySetColourAction.h b/src/openrct2/actions/LargeScenerySetColourAction.h index 59941bf587..bedd48a396 100644 --- a/src/openrct2/actions/LargeScenerySetColourAction.h +++ b/src/openrct2/actions/LargeScenerySetColourAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(LargeScenerySetColourAction, GameCommand::SetLargeSceneryColour, GameActions::Result) +class LargeScenerySetColourAction final : public GameActionBase { private: CoordsXYZD _loc; @@ -25,7 +25,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/LoadOrQuitAction.h b/src/openrct2/actions/LoadOrQuitAction.h index 8e6248649b..452dd048a1 100644 --- a/src/openrct2/actions/LoadOrQuitAction.h +++ b/src/openrct2/actions/LoadOrQuitAction.h @@ -17,7 +17,7 @@ enum class LoadOrQuitModes : uint8_t CloseSavePrompt }; -DEFINE_GAME_ACTION(LoadOrQuitAction, GameCommand::LoadOrQuit, GameActions::Result) +class LoadOrQuitAction final : public GameActionBase { private: LoadOrQuitModes _mode{}; @@ -29,7 +29,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/MazePlaceTrackAction.h b/src/openrct2/actions/MazePlaceTrackAction.h index a25ce69b51..2f49e0a368 100644 --- a/src/openrct2/actions/MazePlaceTrackAction.h +++ b/src/openrct2/actions/MazePlaceTrackAction.h @@ -10,7 +10,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(MazePlaceTrackAction, GameCommand::PlaceMazeDesign, GameActions::Result) +class MazePlaceTrackAction final : public GameActionBase { private: CoordsXYZ _loc; @@ -21,8 +21,8 @@ public: MazePlaceTrackAction() = default; MazePlaceTrackAction(const CoordsXYZ& location, NetworkRideId_t rideIndex, uint16_t mazeEntry); - void AcceptParameters(GameActionParameterVisitor & visitor) override; - void Serialise(DataSerialiser & stream) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/MazeSetTrackAction.h b/src/openrct2/actions/MazeSetTrackAction.h index 75549dd402..4db9438434 100644 --- a/src/openrct2/actions/MazeSetTrackAction.h +++ b/src/openrct2/actions/MazeSetTrackAction.h @@ -37,7 +37,7 @@ static constexpr const uint8_t byte_993D0C[] = { }; // clang-format on -DEFINE_GAME_ACTION(MazeSetTrackAction, GameCommand::SetMazeTrack, GameActions::Result) +class MazeSetTrackAction final : public GameActionBase { private: CoordsXYZD _loc; @@ -49,8 +49,8 @@ public: MazeSetTrackAction() = default; MazeSetTrackAction(const CoordsXYZD& location, bool initialPlacement, NetworkRideId_t rideIndex, uint8_t mode); - void AcceptParameters(GameActionParameterVisitor & visitor) override; - void Serialise(DataSerialiser & stream) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/NetworkModifyGroupAction.h b/src/openrct2/actions/NetworkModifyGroupAction.h index a0f82b21ad..3b0acdccc6 100644 --- a/src/openrct2/actions/NetworkModifyGroupAction.h +++ b/src/openrct2/actions/NetworkModifyGroupAction.h @@ -29,7 +29,7 @@ enum class PermissionState : uint8_t Count }; -DEFINE_GAME_ACTION(NetworkModifyGroupAction, GameCommand::ModifyGroups, GameActions::Result) +class NetworkModifyGroupAction final : public GameActionBase { private: ModifyGroupType _type{ ModifyGroupType::Count }; @@ -46,7 +46,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/ParkEntranceRemoveAction.h b/src/openrct2/actions/ParkEntranceRemoveAction.h index ebecb187ea..9fb1208293 100644 --- a/src/openrct2/actions/ParkEntranceRemoveAction.h +++ b/src/openrct2/actions/ParkEntranceRemoveAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(ParkEntranceRemoveAction, GameCommand::RemoveParkEntrance, GameActions::Result) +class ParkEntranceRemoveAction final : public GameActionBase { private: CoordsXYZ _loc; @@ -22,7 +22,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/ParkMarketingAction.h b/src/openrct2/actions/ParkMarketingAction.h index 0af79e725f..68f016c9ee 100644 --- a/src/openrct2/actions/ParkMarketingAction.h +++ b/src/openrct2/actions/ParkMarketingAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(ParkMarketingAction, GameCommand::StartMarketingCampaign, GameActions::Result) +class ParkMarketingAction final : public GameActionBase { private: int32_t _type{}; @@ -22,11 +22,11 @@ public: ParkMarketingAction() = default; ParkMarketingAction(int32_t type, int32_t item, int32_t numWeeks); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/ParkSetDateAction.h b/src/openrct2/actions/ParkSetDateAction.h index 20d76a5ce3..efe6bf1840 100644 --- a/src/openrct2/actions/ParkSetDateAction.h +++ b/src/openrct2/actions/ParkSetDateAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(ParkSetDateAction, GameCommand::SetDate, GameActions::Result) +class ParkSetDateAction final : public GameActionBase { private: int32_t _year{}; @@ -22,11 +22,11 @@ public: ParkSetDateAction() = default; ParkSetDateAction(int32_t year, int32_t month, int32_t day); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/ParkSetLoanAction.h b/src/openrct2/actions/ParkSetLoanAction.h index 43f4692ea2..09440b3aa6 100644 --- a/src/openrct2/actions/ParkSetLoanAction.h +++ b/src/openrct2/actions/ParkSetLoanAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(ParkSetLoanAction, GameCommand::SetCurrentLoan, GameActions::Result) +class ParkSetLoanAction final : public GameActionBase { private: money32 _value{ MONEY32_UNDEFINED }; @@ -20,11 +20,11 @@ public: ParkSetLoanAction() = default; ParkSetLoanAction(money32 value); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/ParkSetNameAction.h b/src/openrct2/actions/ParkSetNameAction.h index 108db73546..6e55625a8e 100644 --- a/src/openrct2/actions/ParkSetNameAction.h +++ b/src/openrct2/actions/ParkSetNameAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(ParkSetNameAction, GameCommand::SetParkName, GameActions::Result) +class ParkSetNameAction final : public GameActionBase { private: std::string _name; @@ -20,11 +20,11 @@ public: ParkSetNameAction() = default; ParkSetNameAction(const std::string& name); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/ParkSetParameterAction.h b/src/openrct2/actions/ParkSetParameterAction.h index f546039fde..11c5bf4db6 100644 --- a/src/openrct2/actions/ParkSetParameterAction.h +++ b/src/openrct2/actions/ParkSetParameterAction.h @@ -19,7 +19,7 @@ enum class ParkParameter : uint8_t Count }; -DEFINE_GAME_ACTION(ParkSetParameterAction, GameCommand::SetParkOpen, GameActions::Result) +class ParkSetParameterAction final : public GameActionBase { private: ParkParameter _parameter{ ParkParameter::Count }; @@ -38,7 +38,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/ParkSetResearchFundingAction.h b/src/openrct2/actions/ParkSetResearchFundingAction.h index de4282aae2..e0674695e7 100644 --- a/src/openrct2/actions/ParkSetResearchFundingAction.h +++ b/src/openrct2/actions/ParkSetResearchFundingAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(ParkSetResearchFundingAction, GameCommand::SetResearchFunding, GameActions::Result) +class ParkSetResearchFundingAction final : public GameActionBase { private: // TODO change to std::optional when C++17 @@ -24,7 +24,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/PauseToggleAction.h b/src/openrct2/actions/PauseToggleAction.h index 56219df591..e0b4053175 100644 --- a/src/openrct2/actions/PauseToggleAction.h +++ b/src/openrct2/actions/PauseToggleAction.h @@ -13,7 +13,7 @@ // Clang format is broken for small game actions // clang-format off -DEFINE_GAME_ACTION(PauseToggleAction, GameCommand::TogglePause, GameActions::Result) +class PauseToggleAction final : public GameActionBase { public: PauseToggleAction() = default; diff --git a/src/openrct2/actions/PeepPickupAction.h b/src/openrct2/actions/PeepPickupAction.h index 5ff32e8d59..4e5df75c7e 100644 --- a/src/openrct2/actions/PeepPickupAction.h +++ b/src/openrct2/actions/PeepPickupAction.h @@ -19,7 +19,7 @@ enum class PeepPickupType : uint8_t Count }; -DEFINE_GAME_ACTION(PeepPickupAction, GameCommand::PickupGuest, GameActions::Result) +class PeepPickupAction final : public GameActionBase { private: PeepPickupType _type{ PeepPickupType::Count }; @@ -33,10 +33,10 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; private: - void CancelConcurrentPickups(Peep * pickedPeep) const; + void CancelConcurrentPickups(Peep* pickedPeep) const; }; diff --git a/src/openrct2/actions/PlaceParkEntranceAction.h b/src/openrct2/actions/PlaceParkEntranceAction.h index 88d149cbda..cc02a66c52 100644 --- a/src/openrct2/actions/PlaceParkEntranceAction.h +++ b/src/openrct2/actions/PlaceParkEntranceAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(PlaceParkEntranceAction, GameCommand::PlaceParkEntrance, GameActions::Result) +class PlaceParkEntranceAction final : public GameActionBase { private: CoordsXYZD _loc; @@ -23,7 +23,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/PlacePeepSpawnAction.h b/src/openrct2/actions/PlacePeepSpawnAction.h index cf89c921dd..bf71a83f7e 100644 --- a/src/openrct2/actions/PlacePeepSpawnAction.h +++ b/src/openrct2/actions/PlacePeepSpawnAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(PlacePeepSpawnAction, GameCommand::PlacePeepSpawn, GameActions::Result) +class PlacePeepSpawnAction final : public GameActionBase { private: CoordsXYZD _location; @@ -22,7 +22,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/PlayerKickAction.h b/src/openrct2/actions/PlayerKickAction.h index db56485062..27e658ef6b 100644 --- a/src/openrct2/actions/PlayerKickAction.h +++ b/src/openrct2/actions/PlayerKickAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(PlayerKickAction, GameCommand::KickPlayer, GameActions::Result) +class PlayerKickAction final : public GameActionBase { private: NetworkPlayerId_t _playerId{ -1 }; @@ -23,7 +23,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/PlayerSetGroupAction.h b/src/openrct2/actions/PlayerSetGroupAction.h index 8d41dbe806..80d144b3dc 100644 --- a/src/openrct2/actions/PlayerSetGroupAction.h +++ b/src/openrct2/actions/PlayerSetGroupAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(PlayerSetGroupAction, GameCommand::SetPlayerGroup, GameActions::Result) +class PlayerSetGroupAction final : public GameActionBase { private: NetworkPlayerId_t _playerId{ -1 }; @@ -23,7 +23,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/RideCreateAction.h b/src/openrct2/actions/RideCreateAction.h index 8f3f30a116..654ca36799 100644 --- a/src/openrct2/actions/RideCreateAction.h +++ b/src/openrct2/actions/RideCreateAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(RideCreateAction, GameCommand::CreateRide, GameActions::Result) +class RideCreateAction final : public GameActionBase { private: ObjectEntryIndex _rideType{ OBJECT_ENTRY_INDEX_NULL }; @@ -23,13 +23,13 @@ public: RideCreateAction() = default; RideCreateAction(int32_t rideType, ObjectEntryIndex subType, int32_t colour1, int32_t colour2); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; int32_t GetRideType() const; int32_t GetRideObject() const; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/RideDemolishAction.h b/src/openrct2/actions/RideDemolishAction.h index 69a4e99363..b80408647b 100644 --- a/src/openrct2/actions/RideDemolishAction.h +++ b/src/openrct2/actions/RideDemolishAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(RideDemolishAction, GameCommand::DemolishRide, GameActions::Result) +class RideDemolishAction final : public GameActionBase { private: NetworkRideId_t _rideIndex{ RIDE_ID_NULL }; @@ -21,19 +21,19 @@ public: RideDemolishAction() = default; RideDemolishAction(ride_id_t rideIndex, uint8_t modifyType); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint32_t GetCooldownTime() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; private: - GameActions::Result::Ptr DemolishRide(Ride * ride) const; + GameActions::Result::Ptr DemolishRide(Ride* ride) const; money32 MazeRemoveTrack(const CoordsXYZD& coords) const; money32 DemolishTracks() const; - GameActions::Result::Ptr RefurbishRide(Ride * ride) const; + GameActions::Result::Ptr RefurbishRide(Ride* ride) const; money32 GetRefurbishPrice(const Ride* ride) const; money32 GetRefundPrice(const Ride* ride) const; }; diff --git a/src/openrct2/actions/RideEntranceExitPlaceAction.h b/src/openrct2/actions/RideEntranceExitPlaceAction.h index 4baae5ec62..0d737c4a7e 100644 --- a/src/openrct2/actions/RideEntranceExitPlaceAction.h +++ b/src/openrct2/actions/RideEntranceExitPlaceAction.h @@ -12,7 +12,7 @@ #include "../world/Entrance.h" #include "GameAction.h" -DEFINE_GAME_ACTION(RideEntranceExitPlaceAction, GameCommand::PlaceRideEntranceOrExit, GameActions::Result) +class RideEntranceExitPlaceAction final : public GameActionBase { private: CoordsXY _loc; @@ -26,11 +26,11 @@ public: RideEntranceExitPlaceAction( const CoordsXY& loc, Direction direction, ride_id_t rideIndex, StationIndex stationNum, bool isExit); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/RideEntranceExitRemoveAction.h b/src/openrct2/actions/RideEntranceExitRemoveAction.h index d5d290f0b6..bd813d559a 100644 --- a/src/openrct2/actions/RideEntranceExitRemoveAction.h +++ b/src/openrct2/actions/RideEntranceExitRemoveAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(RideEntranceExitRemoveAction, GameCommand::RemoveRideEntranceOrExit, GameActions::Result) +class RideEntranceExitRemoveAction final : public GameActionBase { private: CoordsXY _loc; @@ -23,11 +23,11 @@ public: RideEntranceExitRemoveAction() = default; RideEntranceExitRemoveAction(const CoordsXY& loc, ride_id_t rideIndex, StationIndex stationNum, bool isExit); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/RideSetAppearanceAction.h b/src/openrct2/actions/RideSetAppearanceAction.h index cc4d56bf4d..43efca03be 100644 --- a/src/openrct2/actions/RideSetAppearanceAction.h +++ b/src/openrct2/actions/RideSetAppearanceAction.h @@ -24,7 +24,7 @@ enum class RideSetAppearanceType : uint8_t EntranceStyle }; -DEFINE_GAME_ACTION(RideSetAppearanceAction, GameCommand::SetRideAppearance, GameActions::Result) +class RideSetAppearanceAction final : public GameActionBase { private: NetworkRideId_t _rideIndex{ RIDE_ID_NULL }; @@ -36,11 +36,11 @@ public: RideSetAppearanceAction() = default; RideSetAppearanceAction(ride_id_t rideIndex, RideSetAppearanceType type, uint16_t value, uint32_t index); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/RideSetColourSchemeAction.h b/src/openrct2/actions/RideSetColourSchemeAction.h index 0a36ab5f81..e17f51517f 100644 --- a/src/openrct2/actions/RideSetColourSchemeAction.h +++ b/src/openrct2/actions/RideSetColourSchemeAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(RideSetColourSchemeAction, GameCommand::SetColourScheme, GameActions::Result) +class RideSetColourSchemeAction final : public GameActionBase { private: CoordsXYZD _loc; @@ -22,11 +22,11 @@ public: RideSetColourSchemeAction() = default; RideSetColourSchemeAction(const CoordsXYZD& location, track_type_t trackType, uint16_t newColourScheme); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/RideSetNameAction.h b/src/openrct2/actions/RideSetNameAction.h index 5da79e27a2..01133d99e8 100644 --- a/src/openrct2/actions/RideSetNameAction.h +++ b/src/openrct2/actions/RideSetNameAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(RideSetNameAction, GameCommand::SetRideName, GameActions::Result) +class RideSetNameAction final : public GameActionBase { private: NetworkRideId_t _rideIndex{ RIDE_ID_NULL }; @@ -21,11 +21,11 @@ public: RideSetNameAction() = default; RideSetNameAction(ride_id_t rideIndex, const std::string& name); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/RideSetPriceAction.h b/src/openrct2/actions/RideSetPriceAction.h index 07bebe0a1c..efd3a834bf 100644 --- a/src/openrct2/actions/RideSetPriceAction.h +++ b/src/openrct2/actions/RideSetPriceAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(RideSetPriceAction, GameCommand::SetRidePrice, GameActions::Result) +class RideSetPriceAction final : public GameActionBase { private: NetworkRideId_t _rideIndex{ RIDE_ID_NULL }; @@ -22,11 +22,11 @@ public: RideSetPriceAction() = default; RideSetPriceAction(ride_id_t rideIndex, money16 price, bool primaryPrice); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/RideSetSettingAction.h b/src/openrct2/actions/RideSetSettingAction.h index 5eebc14bbe..52f7b89cee 100644 --- a/src/openrct2/actions/RideSetSettingAction.h +++ b/src/openrct2/actions/RideSetSettingAction.h @@ -26,7 +26,7 @@ enum class RideSetSetting : uint8_t RideType, }; -DEFINE_GAME_ACTION(RideSetSettingAction, GameCommand::SetRideSetting, GameActions::Result) +class RideSetSettingAction final : public GameActionBase { private: NetworkRideId_t _rideIndex{ RIDE_ID_NULL }; @@ -37,18 +37,18 @@ public: RideSetSettingAction() = default; RideSetSettingAction(ride_id_t rideIndex, RideSetSetting setting, uint8_t value); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; private: - bool ride_is_mode_valid(Ride * ride) const; - bool ride_is_valid_lift_hill_speed(Ride * ride) const; + bool ride_is_mode_valid(Ride* ride) const; + bool ride_is_valid_lift_hill_speed(Ride* ride) const; bool ride_is_valid_num_circuits() const; - bool ride_is_valid_operation_option(Ride * ride) const; - rct_string_id GetOperationErrorMessage(Ride * ride) const; + bool ride_is_valid_operation_option(Ride* ride) const; + rct_string_id GetOperationErrorMessage(Ride* ride) const; }; diff --git a/src/openrct2/actions/RideSetStatusAction.h b/src/openrct2/actions/RideSetStatusAction.h index fc97fb220e..3fb79a81b7 100644 --- a/src/openrct2/actions/RideSetStatusAction.h +++ b/src/openrct2/actions/RideSetStatusAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(RideSetStatusAction, GameCommand::SetRideStatus, GameActions::Result) +class RideSetStatusAction final : public GameActionBase { private: NetworkRideId_t _rideIndex{ RIDE_ID_NULL }; @@ -21,11 +21,11 @@ public: RideSetStatusAction() = default; RideSetStatusAction(ride_id_t rideIndex, RideStatus status); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/RideSetVehicleAction.h b/src/openrct2/actions/RideSetVehicleAction.h index 7c7662a85e..61efcf4a2f 100644 --- a/src/openrct2/actions/RideSetVehicleAction.h +++ b/src/openrct2/actions/RideSetVehicleAction.h @@ -19,7 +19,7 @@ enum class RideSetVehicleType : uint8_t Count, }; -DEFINE_GAME_ACTION(RideSetVehicleAction, GameCommand::SetRideVehicles, GameActions::Result) +class RideSetVehicleAction final : public GameActionBase { private: NetworkRideId_t _rideIndex{ RIDE_ID_NULL }; @@ -31,14 +31,14 @@ public: RideSetVehicleAction() = default; RideSetVehicleAction(ride_id_t rideIndex, RideSetVehicleType type, uint8_t value, uint8_t colour = 0); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; private: - bool ride_is_vehicle_type_valid(Ride * ride) const; + bool ride_is_vehicle_type_valid(Ride* ride) const; }; diff --git a/src/openrct2/actions/ScenarioSetSettingAction.h b/src/openrct2/actions/ScenarioSetSettingAction.h index 625418696a..324f3a2601 100644 --- a/src/openrct2/actions/ScenarioSetSettingAction.h +++ b/src/openrct2/actions/ScenarioSetSettingAction.h @@ -38,7 +38,7 @@ enum class ScenarioSetSetting : uint8_t Count }; -DEFINE_GAME_ACTION(ScenarioSetSettingAction, GameCommand::EditScenarioOptions, GameActions::Result) +class ScenarioSetSettingAction final : public GameActionBase { private: ScenarioSetSetting _setting{ ScenarioSetSetting::Count }; @@ -57,7 +57,7 @@ public: return GameAction::GetActionFlags() | GameActions::Flags::AllowWhilePaused; } - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/SetCheatAction.h b/src/openrct2/actions/SetCheatAction.h index 58752105ca..e58ac644bd 100644 --- a/src/openrct2/actions/SetCheatAction.h +++ b/src/openrct2/actions/SetCheatAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(SetCheatAction, GameCommand::Cheat, GameActions::Result) +class SetCheatAction final : public GameActionBase { using ParametersRange = std::pair, std::pair>; @@ -24,11 +24,11 @@ public: SetCheatAction() = default; SetCheatAction(CheatType cheatType, int32_t param1 = 0, int32_t param2 = 0); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/SetParkEntranceFeeAction.h b/src/openrct2/actions/SetParkEntranceFeeAction.h index 5fb8b280a8..f319554d8c 100644 --- a/src/openrct2/actions/SetParkEntranceFeeAction.h +++ b/src/openrct2/actions/SetParkEntranceFeeAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(SetParkEntranceFeeAction, GameCommand::SetParkEntranceFee, GameActions::Result) +class SetParkEntranceFeeAction final : public GameActionBase { private: money16 _fee{ MONEY16_UNDEFINED }; @@ -20,11 +20,11 @@ public: SetParkEntranceFeeAction() = default; SetParkEntranceFeeAction(money16 fee); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/SignSetNameAction.h b/src/openrct2/actions/SignSetNameAction.h index 4c99862368..b351c86750 100644 --- a/src/openrct2/actions/SignSetNameAction.h +++ b/src/openrct2/actions/SignSetNameAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(SignSetNameAction, GameCommand::SetSignName, GameActions::Result) +class SignSetNameAction final : public GameActionBase { private: BannerIndex _bannerIndex{ BANNER_INDEX_NULL }; @@ -21,11 +21,11 @@ public: SignSetNameAction() = default; SignSetNameAction(BannerIndex bannerIndex, const std::string& name); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/SignSetStyleAction.h b/src/openrct2/actions/SignSetStyleAction.h index b19b161b9c..33eeab5ff4 100644 --- a/src/openrct2/actions/SignSetStyleAction.h +++ b/src/openrct2/actions/SignSetStyleAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(SignSetStyleAction, GameCommand::SetSignStyle, GameActions::Result) +class SignSetStyleAction final : public GameActionBase { private: BannerIndex _bannerIndex{ BANNER_INDEX_NULL }; @@ -25,7 +25,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/SmallSceneryPlaceAction.h b/src/openrct2/actions/SmallSceneryPlaceAction.h index 7807c8f5f5..78f9823845 100644 --- a/src/openrct2/actions/SmallSceneryPlaceAction.h +++ b/src/openrct2/actions/SmallSceneryPlaceAction.h @@ -19,7 +19,7 @@ struct SmallSceneryPlaceActionResult uint8_t SceneryQuadrant{}; }; -DEFINE_GAME_ACTION(SmallSceneryPlaceAction, GameCommand::PlaceScenery, GameActions::Result) +class SmallSceneryPlaceAction final : public GameActionBase { private: CoordsXYZD _loc; @@ -33,12 +33,12 @@ public: SmallSceneryPlaceAction( const CoordsXYZD& loc, uint8_t quadrant, ObjectEntryIndex sceneryType, uint8_t primaryColour, uint8_t secondaryColour); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint32_t GetCooldownTime() const override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/SmallSceneryRemoveAction.h b/src/openrct2/actions/SmallSceneryRemoveAction.h index 21a1d7a25e..816dde28db 100644 --- a/src/openrct2/actions/SmallSceneryRemoveAction.h +++ b/src/openrct2/actions/SmallSceneryRemoveAction.h @@ -12,7 +12,7 @@ #include "../world/TileElement.h" #include "GameAction.h" -DEFINE_GAME_ACTION(SmallSceneryRemoveAction, GameCommand::RemoveScenery, GameActions::Result) +class SmallSceneryRemoveAction final : public GameActionBase { private: CoordsXYZ _loc; @@ -23,11 +23,11 @@ public: SmallSceneryRemoveAction() = default; SmallSceneryRemoveAction(const CoordsXYZ& location, uint8_t quadrant, ObjectEntryIndex sceneryType); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/SmallScenerySetColourAction.h b/src/openrct2/actions/SmallScenerySetColourAction.h index d83877cf20..73998d3bbb 100644 --- a/src/openrct2/actions/SmallScenerySetColourAction.h +++ b/src/openrct2/actions/SmallScenerySetColourAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(SmallScenerySetColourAction, GameCommand::SetSceneryColour, GameActions::Result) +class SmallScenerySetColourAction final : public GameActionBase { private: CoordsXYZ _loc; @@ -27,7 +27,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/StaffFireAction.h b/src/openrct2/actions/StaffFireAction.h index 2b74d256b6..9776fc9c93 100644 --- a/src/openrct2/actions/StaffFireAction.h +++ b/src/openrct2/actions/StaffFireAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(StaffFireAction, GameCommand::FireStaffMember, GameActions::Result) +class StaffFireAction final : public GameActionBase { private: uint16_t _spriteId{ SPRITE_INDEX_NULL }; @@ -22,7 +22,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/StaffHireNewAction.h b/src/openrct2/actions/StaffHireNewAction.h index 5b06979fa6..3351cc13e9 100644 --- a/src/openrct2/actions/StaffHireNewAction.h +++ b/src/openrct2/actions/StaffHireNewAction.h @@ -17,7 +17,7 @@ struct StaffHireNewActionResult uint16_t StaffEntityId = SPRITE_INDEX_NULL; }; -DEFINE_GAME_ACTION(StaffHireNewAction, GameCommand::HireNewStaffMember, GameActions::Result) +class StaffHireNewAction final : public GameActionBase { private: bool _autoPosition{}; @@ -29,15 +29,15 @@ public: StaffHireNewAction() = default; StaffHireNewAction(bool autoPosition, StaffType staffType, EntertainerCostume entertainerType, uint32_t staffOrders); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; private: GameActions::Result::Ptr QueryExecute(bool execute) const; - void AutoPositionNewStaff(Peep * newPeep) const; + void AutoPositionNewStaff(Peep* newPeep) const; }; diff --git a/src/openrct2/actions/StaffSetColourAction.h b/src/openrct2/actions/StaffSetColourAction.h index b5c9e773db..80020c8e6a 100644 --- a/src/openrct2/actions/StaffSetColourAction.h +++ b/src/openrct2/actions/StaffSetColourAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(StaffSetColourAction, GameCommand::SetStaffColour, GameActions::Result) +class StaffSetColourAction final : public GameActionBase { private: uint8_t _staffType{}; @@ -23,7 +23,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/StaffSetCostumeAction.h b/src/openrct2/actions/StaffSetCostumeAction.h index 617f859140..1e1ecd4b3a 100644 --- a/src/openrct2/actions/StaffSetCostumeAction.h +++ b/src/openrct2/actions/StaffSetCostumeAction.h @@ -12,7 +12,7 @@ #include "../peep/Staff.h" #include "GameAction.h" -DEFINE_GAME_ACTION(StaffSetCostumeAction, GameCommand::SetStaffCostume, GameActions::Result) +class StaffSetCostumeAction final : public GameActionBase { private: uint16_t _spriteIndex{ SPRITE_INDEX_NULL }; @@ -24,7 +24,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/StaffSetNameAction.h b/src/openrct2/actions/StaffSetNameAction.h index 7864677be7..bafe84d0dc 100644 --- a/src/openrct2/actions/StaffSetNameAction.h +++ b/src/openrct2/actions/StaffSetNameAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(StaffSetNameAction, GameCommand::SetStaffName, GameActions::Result) +class StaffSetNameAction final : public GameActionBase { private: uint16_t _spriteIndex{ SPRITE_INDEX_NULL }; @@ -22,7 +22,7 @@ public: StaffSetNameAction(uint16_t spriteIndex, const std::string& name); uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/StaffSetOrdersAction.h b/src/openrct2/actions/StaffSetOrdersAction.h index b0a1f41cdb..66042d30b7 100644 --- a/src/openrct2/actions/StaffSetOrdersAction.h +++ b/src/openrct2/actions/StaffSetOrdersAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(StaffSetOrdersAction, GameCommand::SetStaffOrders, GameActions::Result) +class StaffSetOrdersAction final : public GameActionBase { private: uint16_t _spriteIndex{ SPRITE_INDEX_NULL }; @@ -23,7 +23,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/StaffSetPatrolAreaAction.h b/src/openrct2/actions/StaffSetPatrolAreaAction.h index d6b31ce52a..654265f9b7 100644 --- a/src/openrct2/actions/StaffSetPatrolAreaAction.h +++ b/src/openrct2/actions/StaffSetPatrolAreaAction.h @@ -18,7 +18,7 @@ enum class StaffSetPatrolAreaMode : uint8_t ClearAll }; -DEFINE_GAME_ACTION(StaffSetPatrolAreaAction, GameCommand::SetStaffPatrol, GameActions::Result) +class StaffSetPatrolAreaAction final : public GameActionBase { private: uint16_t _spriteId{ SPRITE_INDEX_NULL }; @@ -31,7 +31,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/SurfaceSetStyleAction.h b/src/openrct2/actions/SurfaceSetStyleAction.h index 880f6477fe..7ce929e47f 100644 --- a/src/openrct2/actions/SurfaceSetStyleAction.h +++ b/src/openrct2/actions/SurfaceSetStyleAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(SurfaceSetStyleAction, GameCommand::ChangeSurfaceStyle, GameActions::Result) +class SurfaceSetStyleAction final : public GameActionBase { private: MapRange _range; @@ -22,7 +22,7 @@ public: SurfaceSetStyleAction() = default; SurfaceSetStyleAction(MapRange range, ObjectEntryIndex surfaceStyle, ObjectEntryIndex edgeStyle); - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/TileModifyAction.h b/src/openrct2/actions/TileModifyAction.h index ffba3a45cd..7066a94057 100644 --- a/src/openrct2/actions/TileModifyAction.h +++ b/src/openrct2/actions/TileModifyAction.h @@ -41,7 +41,7 @@ enum class TileModifyType : uint8_t Count, }; -DEFINE_GAME_ACTION(TileModifyAction, GameCommand::ModifyTile, GameActions::Result) +class TileModifyAction final : public GameActionBase { private: CoordsXY _loc; @@ -57,7 +57,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/TrackDesignAction.h b/src/openrct2/actions/TrackDesignAction.h index 8ce73431f0..f9e76cf988 100644 --- a/src/openrct2/actions/TrackDesignAction.h +++ b/src/openrct2/actions/TrackDesignAction.h @@ -12,7 +12,7 @@ #include "../ride/TrackDesign.h" #include "GameAction.h" -DEFINE_GAME_ACTION(TrackDesignAction, GameCommand::PlaceTrackDesign, GameActions::Result) +class TrackDesignAction final : public GameActionBase { private: CoordsXYZD _loc; @@ -22,11 +22,11 @@ public: TrackDesignAction() = default; TrackDesignAction(const CoordsXYZD& location, const TrackDesign& td); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/TrackPlaceAction.h b/src/openrct2/actions/TrackPlaceAction.h index 2b2a59b8f1..ce33834e5d 100644 --- a/src/openrct2/actions/TrackPlaceAction.h +++ b/src/openrct2/actions/TrackPlaceAction.h @@ -16,7 +16,7 @@ struct TrackPlaceActionResult uint8_t GroundFlags{ 0 }; }; -DEFINE_GAME_ACTION(TrackPlaceAction, GameCommand::PlaceTrack, GameActions::Result) +class TrackPlaceAction final : public GameActionBase { private: NetworkRideId_t _rideIndex{ RIDE_ID_NULL }; @@ -34,11 +34,11 @@ public: NetworkRideId_t rideIndex, int32_t trackType, const CoordsXYZD& origin, int32_t brakeSpeed, int32_t colour, int32_t seatRotation, int32_t liftHillAndAlternativeState, bool fromTrackDesign); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override final; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/TrackRemoveAction.h b/src/openrct2/actions/TrackRemoveAction.h index ff10333b74..78bdc9e3df 100644 --- a/src/openrct2/actions/TrackRemoveAction.h +++ b/src/openrct2/actions/TrackRemoveAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(TrackRemoveAction, GameCommand::RemoveTrack, GameActions::Result) +class TrackRemoveAction final : public GameActionBase { private: track_type_t _trackType{}; @@ -22,11 +22,11 @@ public: TrackRemoveAction() = default; TrackRemoveAction(track_type_t trackType, int32_t sequence, const CoordsXYZD& origin); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override final; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/TrackSetBrakeSpeedAction.h b/src/openrct2/actions/TrackSetBrakeSpeedAction.h index d11fcd73ec..92967288c2 100644 --- a/src/openrct2/actions/TrackSetBrakeSpeedAction.h +++ b/src/openrct2/actions/TrackSetBrakeSpeedAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(TrackSetBrakeSpeedAction, GameCommand::SetBrakesSpeed, GameActions::Result) +class TrackSetBrakeSpeedAction final : public GameActionBase { private: CoordsXYZ _loc; @@ -22,11 +22,11 @@ public: TrackSetBrakeSpeedAction() = default; TrackSetBrakeSpeedAction(const CoordsXYZ& loc, track_type_t trackType, uint8_t brakeSpeed); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override final; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/WallPlaceAction.h b/src/openrct2/actions/WallPlaceAction.h index 9699eeaebf..5dd1bcf856 100644 --- a/src/openrct2/actions/WallPlaceAction.h +++ b/src/openrct2/actions/WallPlaceAction.h @@ -21,7 +21,7 @@ struct WallPlaceActionResult BannerIndex BannerId = BANNER_INDEX_NULL; }; -DEFINE_GAME_ACTION(WallPlaceAction, GameCommand::PlaceWall, GameActions::Result) +class WallPlaceAction final : public GameActionBase { private: ObjectEntryIndex _wallType{ OBJECT_ENTRY_INDEX_NULL }; @@ -37,11 +37,11 @@ public: ObjectEntryIndex wallType, const CoordsXYZ& loc, uint8_t edge, int32_t primaryColour, int32_t secondaryColour, int32_t tertiaryColour); - void AcceptParameters(GameActionParameterVisitor & visitor) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; uint16_t GetActionFlags() const override final; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; @@ -50,13 +50,13 @@ private: * * rct2: 0x006E5CBA */ - bool WallCheckObstructionWithTrack(WallSceneryEntry * wall, int32_t z0, TrackElement * trackElement, bool* wallAcrossTrack) - const; + bool WallCheckObstructionWithTrack( + WallSceneryEntry* wall, int32_t z0, TrackElement* trackElement, bool* wallAcrossTrack) const; /** * * rct2: 0x006E5C1A */ - GameActions::Result::Ptr WallCheckObstruction(WallSceneryEntry * wall, int32_t z0, int32_t z1, bool* wallAcrossTrack) const; + GameActions::Result::Ptr WallCheckObstruction(WallSceneryEntry* wall, int32_t z0, int32_t z1, bool* wallAcrossTrack) const; /** * Gets whether the given track type can have a wall placed on the edge of the given direction. diff --git a/src/openrct2/actions/WallRemoveAction.h b/src/openrct2/actions/WallRemoveAction.h index 033527527c..08e4076b70 100644 --- a/src/openrct2/actions/WallRemoveAction.h +++ b/src/openrct2/actions/WallRemoveAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(WallRemoveAction, GameCommand::RemoveWall, GameActions::Result) +class WallRemoveAction final : public GameActionBase { private: CoordsXYZD _loc; @@ -20,8 +20,8 @@ public: WallRemoveAction() = default; WallRemoveAction(const CoordsXYZD& loc); - void AcceptParameters(GameActionParameterVisitor & visitor) override; - void Serialise(DataSerialiser & stream) override; + void AcceptParameters(GameActionParameterVisitor& visitor) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/WallSetColourAction.h b/src/openrct2/actions/WallSetColourAction.h index 92bd4be32b..7e21c6c08b 100644 --- a/src/openrct2/actions/WallSetColourAction.h +++ b/src/openrct2/actions/WallSetColourAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(WallSetColourAction, GameCommand::SetWallColour, GameActions::Result) +class WallSetColourAction final : public GameActionBase { private: CoordsXYZD _loc; @@ -25,7 +25,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; }; diff --git a/src/openrct2/actions/WaterLowerAction.h b/src/openrct2/actions/WaterLowerAction.h index b7ed697a42..a7d5dc00df 100644 --- a/src/openrct2/actions/WaterLowerAction.h +++ b/src/openrct2/actions/WaterLowerAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(WaterLowerAction, GameCommand::LowerWater, GameActions::Result) +class WaterLowerAction final : public GameActionBase { private: MapRange _range; @@ -22,7 +22,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/WaterRaiseAction.h b/src/openrct2/actions/WaterRaiseAction.h index 64a036cc2c..9271fd527f 100644 --- a/src/openrct2/actions/WaterRaiseAction.h +++ b/src/openrct2/actions/WaterRaiseAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(WaterRaiseAction, GameCommand::RaiseWater, GameActions::Result) +class WaterRaiseAction final : public GameActionBase { private: MapRange _range; @@ -22,7 +22,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/actions/WaterSetHeightAction.h b/src/openrct2/actions/WaterSetHeightAction.h index 45b5c3d84d..1289095cf3 100644 --- a/src/openrct2/actions/WaterSetHeightAction.h +++ b/src/openrct2/actions/WaterSetHeightAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(WaterSetHeightAction, GameCommand::SetWaterHeight, GameActions::Result) +class WaterSetHeightAction final : public GameActionBase { private: CoordsXY _coords; @@ -23,7 +23,7 @@ public: uint16_t GetActionFlags() const override; - void Serialise(DataSerialiser & stream) override; + void Serialise(DataSerialiser& stream) override; GameActions::Result::Ptr Query() const override; GameActions::Result::Ptr Execute() const override; diff --git a/src/openrct2/libopenrct2.vcxproj b/src/openrct2/libopenrct2.vcxproj index 93ad9f7f0b..50ff663968 100644 --- a/src/openrct2/libopenrct2.vcxproj +++ b/src/openrct2/libopenrct2.vcxproj @@ -521,7 +521,7 @@ - + diff --git a/src/openrct2/network/network.h b/src/openrct2/network/network.h index 3bde48a7ee..0c4b19e050 100644 --- a/src/openrct2/network/network.h +++ b/src/openrct2/network/network.h @@ -25,7 +25,7 @@ #include #include -struct GameAction; +class GameAction; struct Peep; struct CoordsXYZ; namespace GameActions diff --git a/src/openrct2/scripting/ScriptEngine.h b/src/openrct2/scripting/ScriptEngine.h index f954aff12c..d3b153e0d2 100644 --- a/src/openrct2/scripting/ScriptEngine.h +++ b/src/openrct2/scripting/ScriptEngine.h @@ -31,7 +31,7 @@ struct duk_hthread; typedef struct duk_hthread duk_context; -struct GameAction; +class GameAction; namespace GameActions { class Result;