From 4e991beb8d4c2af473a443e1b7133255b72211e3 Mon Sep 17 00:00:00 2001 From: Mike Jones Date: Tue, 22 Dec 2020 23:53:37 +0000 Subject: [PATCH] Closes #12419: Merge MISC_COMMAND and GAME_COMMAND into strong enum (#13103) Merge MISC_COMMAND and GAME_COMMAND enums Cleanup --- src/openrct2/Game.h | 170 +++++++++--------- src/openrct2/ReplayManager.cpp | 4 +- src/openrct2/actions/BalloonPressAction.h | 2 +- src/openrct2/actions/BannerPlaceAction.h | 2 +- src/openrct2/actions/BannerRemoveAction.h | 2 +- src/openrct2/actions/BannerSetColourAction.h | 2 +- src/openrct2/actions/BannerSetNameAction.h | 2 +- src/openrct2/actions/BannerSetStyleAction.h | 2 +- src/openrct2/actions/ClearAction.h | 2 +- src/openrct2/actions/ClimateSetAction.h | 2 +- src/openrct2/actions/CustomAction.h | 2 +- .../actions/FootpathAdditionPlaceAction.h | 2 +- .../actions/FootpathAdditionRemoveAction.h | 2 +- src/openrct2/actions/FootpathPlaceAction.h | 2 +- .../actions/FootpathPlaceFromTrackAction.h | 2 +- src/openrct2/actions/FootpathRemoveAction.h | 2 +- src/openrct2/actions/GameAction.cpp | 32 ++-- src/openrct2/actions/GameAction.h | 16 +- src/openrct2/actions/GuestSetFlagsAction.h | 2 +- src/openrct2/actions/GuestSetNameAction.h | 2 +- src/openrct2/actions/LandBuyRightsAction.h | 2 +- src/openrct2/actions/LandLowerAction.h | 2 +- src/openrct2/actions/LandRaiseAction.h | 2 +- src/openrct2/actions/LandSetHeightAction.h | 2 +- src/openrct2/actions/LandSetRightsAction.h | 2 +- src/openrct2/actions/LandSmoothAction.h | 2 +- .../actions/LargeSceneryPlaceAction.h | 2 +- .../actions/LargeSceneryRemoveAction.h | 2 +- .../actions/LargeScenerySetColourAction.h | 2 +- src/openrct2/actions/LoadOrQuitAction.h | 2 +- src/openrct2/actions/MazePlaceTrackAction.h | 2 +- src/openrct2/actions/MazeSetTrackAction.h | 2 +- .../actions/NetworkModifyGroupAction.h | 2 +- .../actions/ParkEntranceRemoveAction.h | 2 +- src/openrct2/actions/ParkMarketingAction.h | 2 +- src/openrct2/actions/ParkSetDateAction.h | 2 +- src/openrct2/actions/ParkSetLoanAction.h | 2 +- src/openrct2/actions/ParkSetNameAction.h | 2 +- src/openrct2/actions/ParkSetParameterAction.h | 2 +- .../actions/ParkSetResearchFundingAction.h | 2 +- src/openrct2/actions/PauseToggleAction.h | 2 +- src/openrct2/actions/PeepPickupAction.h | 2 +- .../actions/PlaceParkEntranceAction.h | 2 +- src/openrct2/actions/PlacePeepSpawnAction.h | 2 +- src/openrct2/actions/PlayerKickAction.h | 2 +- src/openrct2/actions/PlayerSetGroupAction.h | 2 +- src/openrct2/actions/RideCreateAction.h | 2 +- src/openrct2/actions/RideDemolishAction.h | 2 +- .../actions/RideEntranceExitPlaceAction.h | 2 +- .../actions/RideEntranceExitRemoveAction.h | 2 +- .../actions/RideSetAppearanceAction.h | 2 +- .../actions/RideSetColourSchemeAction.h | 2 +- src/openrct2/actions/RideSetNameAction.h | 2 +- src/openrct2/actions/RideSetPriceAction.h | 2 +- src/openrct2/actions/RideSetSettingAction.h | 2 +- src/openrct2/actions/RideSetStatusAction.h | 2 +- src/openrct2/actions/RideSetVehicleAction.h | 2 +- .../actions/ScenarioSetSettingAction.h | 2 +- src/openrct2/actions/SetCheatAction.h | 2 +- .../actions/SetParkEntranceFeeAction.h | 2 +- src/openrct2/actions/SignSetNameAction.h | 2 +- src/openrct2/actions/SignSetStyleAction.h | 2 +- .../actions/SmallSceneryPlaceAction.h | 2 +- .../actions/SmallSceneryRemoveAction.h | 2 +- .../actions/SmallScenerySetColourAction.h | 2 +- src/openrct2/actions/StaffFireAction.h | 2 +- src/openrct2/actions/StaffHireNewAction.h | 2 +- src/openrct2/actions/StaffSetColourAction.h | 2 +- src/openrct2/actions/StaffSetCostumeAction.h | 2 +- src/openrct2/actions/StaffSetNameAction.h | 2 +- src/openrct2/actions/StaffSetOrdersAction.h | 2 +- .../actions/StaffSetPatrolAreaAction.h | 2 +- src/openrct2/actions/SurfaceSetStyleAction.h | 2 +- src/openrct2/actions/TileModifyAction.h | 2 +- src/openrct2/actions/TrackDesignAction.h | 2 +- src/openrct2/actions/TrackPlaceAction.h | 2 +- src/openrct2/actions/TrackRemoveAction.h | 2 +- .../actions/TrackSetBrakeSpeedAction.h | 2 +- src/openrct2/actions/WallPlaceAction.h | 2 +- src/openrct2/actions/WallRemoveAction.h | 2 +- src/openrct2/actions/WallSetColourAction.h | 2 +- src/openrct2/actions/WaterLowerAction.h | 2 +- src/openrct2/actions/WaterRaiseAction.h | 2 +- src/openrct2/actions/WaterSetHeightAction.h | 2 +- src/openrct2/network/NetworkAction.cpp | 170 +++++++++--------- src/openrct2/network/NetworkAction.h | 12 +- src/openrct2/network/NetworkBase.cpp | 18 +- src/openrct2/network/NetworkGroup.cpp | 2 +- src/openrct2/network/NetworkGroup.h | 3 +- src/openrct2/network/NetworkPlayer.h | 3 +- src/openrct2/network/network.h | 3 +- src/openrct2/scripting/ScriptEngine.cpp | 168 ++++++++--------- 92 files changed, 384 insertions(+), 377 deletions(-) diff --git a/src/openrct2/Game.h b/src/openrct2/Game.h index 7bac76329d..94bdbc44aa 100644 --- a/src/openrct2/Game.h +++ b/src/openrct2/Game.h @@ -16,90 +16,94 @@ struct ParkLoadResult; struct rct_s6_data; -enum GAME_COMMAND +enum class GameCommand : int32_t { - GAME_COMMAND_SET_RIDE_APPEARANCE, // GA - GAME_COMMAND_SET_LAND_HEIGHT, // GA - GAME_COMMAND_TOGGLE_PAUSE, // GA - GAME_COMMAND_PLACE_TRACK, // GA - GAME_COMMAND_REMOVE_TRACK, // GA - GAME_COMMAND_LOAD_OR_QUIT, // GA - GAME_COMMAND_CREATE_RIDE, // GA - GAME_COMMAND_DEMOLISH_RIDE, // GA - GAME_COMMAND_SET_RIDE_STATUS, // GA - GAME_COMMAND_SET_RIDE_VEHICLES, // GA - GAME_COMMAND_SET_RIDE_NAME, // GA - GAME_COMMAND_SET_RIDE_SETTING, // GA - GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, // GA - GAME_COMMAND_REMOVE_RIDE_ENTRANCE_OR_EXIT, // GA - GAME_COMMAND_REMOVE_SCENERY, // GA - GAME_COMMAND_PLACE_SCENERY, // GA - GAME_COMMAND_SET_WATER_HEIGHT, // GA - GAME_COMMAND_PLACE_PATH, // GA - GAME_COMMAND_PLACE_PATH_FROM_TRACK, // GA - GAME_COMMAND_REMOVE_PATH, // GA - GAME_COMMAND_CHANGE_SURFACE_STYLE, // GA - GAME_COMMAND_SET_RIDE_PRICE, // GA - GAME_COMMAND_SET_GUEST_NAME, // GA - GAME_COMMAND_SET_STAFF_NAME, // GA - GAME_COMMAND_RAISE_LAND, // GA - GAME_COMMAND_LOWER_LAND, // GA - GAME_COMMAND_EDIT_LAND_SMOOTH, // GA - GAME_COMMAND_RAISE_WATER, // GA - GAME_COMMAND_LOWER_WATER, // GA - GAME_COMMAND_SET_BRAKES_SPEED, // GA - GAME_COMMAND_HIRE_NEW_STAFF_MEMBER, // GA - GAME_COMMAND_SET_STAFF_PATROL, // GA - GAME_COMMAND_FIRE_STAFF_MEMBER, // GA - GAME_COMMAND_SET_STAFF_ORDERS, // GA - GAME_COMMAND_SET_PARK_NAME, // GA - GAME_COMMAND_SET_PARK_OPEN, // GA - GAME_COMMAND_BUY_LAND_RIGHTS, // GA - GAME_COMMAND_PLACE_PARK_ENTRANCE, // GA - GAME_COMMAND_REMOVE_PARK_ENTRANCE, // GA - GAME_COMMAND_SET_MAZE_TRACK, // GA - GAME_COMMAND_SET_PARK_ENTRANCE_FEE, // GA - GAME_COMMAND_SET_STAFF_COLOUR, // GA - GAME_COMMAND_PLACE_WALL, // GA - GAME_COMMAND_REMOVE_WALL, // GA - GAME_COMMAND_PLACE_LARGE_SCENERY, // GA - GAME_COMMAND_REMOVE_LARGE_SCENERY, // GA - GAME_COMMAND_SET_CURRENT_LOAN, // GA - GAME_COMMAND_SET_RESEARCH_FUNDING, // GA - GAME_COMMAND_PLACE_TRACK_DESIGN, // GA - GAME_COMMAND_START_MARKETING_CAMPAIGN, // GA - GAME_COMMAND_PLACE_MAZE_DESIGN, // GA - GAME_COMMAND_PLACE_BANNER, // GA - GAME_COMMAND_REMOVE_BANNER, // GA - GAME_COMMAND_SET_SCENERY_COLOUR, // GA - GAME_COMMAND_SET_WALL_COLOUR, // GA - GAME_COMMAND_SET_LARGE_SCENERY_COLOUR, // GA - GAME_COMMAND_SET_BANNER_COLOUR, // GA - GAME_COMMAND_SET_LAND_OWNERSHIP, // GA - GAME_COMMAND_CLEAR_SCENERY, // GA - GAME_COMMAND_SET_BANNER_NAME, // GA - GAME_COMMAND_SET_SIGN_NAME, // GA - GAME_COMMAND_SET_BANNER_STYLE, // GA - GAME_COMMAND_SET_SIGN_STYLE, // GA - GAME_COMMAND_SET_PLAYER_GROUP, // GA - GAME_COMMAND_MODIFY_GROUPS, // GA - GAME_COMMAND_KICK_PLAYER, // GA - GAME_COMMAND_CHEAT, // GA - GAME_COMMAND_PICKUP_GUEST, // GA - GAME_COMMAND_PICKUP_STAFF, // GA - GAME_COMMAND_BALLOON_PRESS, // GA - GAME_COMMAND_MODIFY_TILE, // GA - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, // GA - GAME_COMMAND_PLACE_PEEP_SPAWN, // GA - GAME_COMMAND_SET_CLIMATE, // GA - GAME_COMMAND_SET_COLOUR_SCHEME, // GA - GAME_COMMAND_SET_STAFF_COSTUME, // GA - GAME_COMMAND_PLACE_FOOTPATH_ADDITION, // GA - GAME_COMMAND_REMOVE_FOOTPATH_ADDITION, // GA - GAME_COMMAND_GUEST_SET_FLAGS, // GA - GAME_COMMAND_SET_DATE, // GA - GAME_COMMAND_CUSTOM, // GA - GAME_COMMAND_COUNT, + PasswordlessLogin = -3, + ToggleSceneryCluster = -2, + Chat = -1, + + SetRideAppearance, // GA + SetLandHeight, // GA + TogglePause, // GA + PlaceTrack, // GA + RemoveTrack, // GA + LoadOrQuit, // GA + CreateRide, // GA + DemolishRide, // GA + SetRideStatus, // GA + SetRideVehicles, // GA + SetRideName, // GA + SetRideSetting, // GA + PlaceRideEntranceOrExit, // GA + RemoveRideEntranceOrExit, // GA + RemoveScenery, // GA + PlaceScenery, // GA + SetWaterHeight, // GA + PlacePath, // GA + PlacePathFromTrack, // GA + RemovePath, // GA + ChangeSurfaceStyle, // GA + SetRidePrice, // GA + SetGuestName, // GA + SetStaffName, // GA + RaiseLand, // GA + LowerLand, // GA + EditLandSmooth, // GA + RaiseWater, // GA + LowerWater, // GA + SetBrakesSpeed, // GA + HireNewStaffMember, // GA + SetStaffPatrol, // GA + FireStaffMember, // GA + SetStaffOrders, // GA + SetParkName, // GA + SetParkOpen, // GA + BuyLandRights, // GA + PlaceParkEntrance, // GA + RemoveParkEntrance, // GA + SetMazeTrack, // GA + SetParkEntranceFee, // GA + SetStaffColour, // GA + PlaceWall, // GA + RemoveWall, // GA + PlaceLargeScenery, // GA + RemoveLargeScenery, // GA + SetCurrentLoan, // GA + SetResearchFunding, // GA + PlaceTrackDesign, // GA + StartMarketingCampaign, // GA + PlaceMazeDesign, // GA + PlaceBanner, // GA + RemoveBanner, // GA + SetSceneryColour, // GA + SetWallColour, // GA + SetLargeSceneryColour, // GA + SetBannerColour, // GA + SetLandOwnership, // GA + ClearScenery, // GA + SetBannerName, // GA + SetSignName, // GA + SetBannerStyle, // GA + SetSignStyle, // GA + SetPlayerGroup, // GA + ModifyGroups, // GA + KickPlayer, // GA + Cheat, // GA + PickupGuest, // GA + PickupStaff, // GA + BalloonPress, // GA + ModifyTile, // GA + EditScenarioOptions, // GA + PlacePeepSpawn, // GA + SetClimate, // GA + SetColourScheme, // GA + SetStaffCostume, // GA + PlaceFootpathAddition, // GA + RemoveFootpathAddition, // GA + GuestSetFlags, // GA + SetDate, // GA + Custom, // GA + Count, }; enum : uint32_t diff --git a/src/openrct2/ReplayManager.cpp b/src/openrct2/ReplayManager.cpp index 2f9577a0d5..4b2c2a5d7b 100644 --- a/src/openrct2/ReplayManager.cpp +++ b/src/openrct2/ReplayManager.cpp @@ -695,13 +695,13 @@ namespace OpenRCT2 { return false; } - actionType = command.action->GetType(); + actionType = EnumValue(command.action->GetType()); } serialiser << actionType; if (serialiser.IsLoading()) { - command.action = GameActions::Create(actionType); + command.action = GameActions::Create(static_cast(actionType)); Guard::Assert(command.action != nullptr); } diff --git a/src/openrct2/actions/BalloonPressAction.h b/src/openrct2/actions/BalloonPressAction.h index bf9ad1c6b1..88ce856389 100644 --- a/src/openrct2/actions/BalloonPressAction.h +++ b/src/openrct2/actions/BalloonPressAction.h @@ -12,7 +12,7 @@ #include "../world/Sprite.h" #include "GameAction.h" -DEFINE_GAME_ACTION(BalloonPressAction, GAME_COMMAND_BALLOON_PRESS, GameActions::Result) +DEFINE_GAME_ACTION(BalloonPressAction, GameCommand::BalloonPress, GameActions::Result) { uint16_t _spriteIndex{ SPRITE_INDEX_NULL }; diff --git a/src/openrct2/actions/BannerPlaceAction.h b/src/openrct2/actions/BannerPlaceAction.h index eb22f8f0d5..d937f44b5f 100644 --- a/src/openrct2/actions/BannerPlaceAction.h +++ b/src/openrct2/actions/BannerPlaceAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(BannerPlaceAction, GAME_COMMAND_PLACE_BANNER, GameActions::Result) +DEFINE_GAME_ACTION(BannerPlaceAction, GameCommand::PlaceBanner, GameActions::Result) { private: CoordsXYZD _loc; diff --git a/src/openrct2/actions/BannerRemoveAction.h b/src/openrct2/actions/BannerRemoveAction.h index 77f4a4d16d..c12e2dcc23 100644 --- a/src/openrct2/actions/BannerRemoveAction.h +++ b/src/openrct2/actions/BannerRemoveAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(BannerRemoveAction, GAME_COMMAND_REMOVE_BANNER, GameActions::Result) +DEFINE_GAME_ACTION(BannerRemoveAction, GameCommand::RemoveBanner, GameActions::Result) { private: CoordsXYZD _loc; diff --git a/src/openrct2/actions/BannerSetColourAction.h b/src/openrct2/actions/BannerSetColourAction.h index d55f202194..93cc2d2009 100644 --- a/src/openrct2/actions/BannerSetColourAction.h +++ b/src/openrct2/actions/BannerSetColourAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(BannerSetColourAction, GAME_COMMAND_SET_BANNER_COLOUR, GameActions::Result) +DEFINE_GAME_ACTION(BannerSetColourAction, GameCommand::SetBannerColour, GameActions::Result) { private: CoordsXYZD _loc; diff --git a/src/openrct2/actions/BannerSetNameAction.h b/src/openrct2/actions/BannerSetNameAction.h index 70a7b81982..359a7aa424 100644 --- a/src/openrct2/actions/BannerSetNameAction.h +++ b/src/openrct2/actions/BannerSetNameAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(BannerSetNameAction, GAME_COMMAND_SET_BANNER_NAME, GameActions::Result) +DEFINE_GAME_ACTION(BannerSetNameAction, GameCommand::SetBannerName, GameActions::Result) { private: BannerIndex _bannerIndex{ BANNER_INDEX_NULL }; diff --git a/src/openrct2/actions/BannerSetStyleAction.h b/src/openrct2/actions/BannerSetStyleAction.h index 3b6f615b0d..63bf027b98 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, GAME_COMMAND_SET_BANNER_STYLE, GameActions::Result) +DEFINE_GAME_ACTION(BannerSetStyleAction, GameCommand::SetBannerStyle, GameActions::Result) { private: BannerSetStyleType _type{ BannerSetStyleType::Count }; diff --git a/src/openrct2/actions/ClearAction.h b/src/openrct2/actions/ClearAction.h index b2202b8c2c..86c681ba2c 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, GAME_COMMAND_CLEAR_SCENERY, GameActions::Result) +DEFINE_GAME_ACTION(ClearAction, GameCommand::ClearScenery, GameActions::Result) { private: MapRange _range; diff --git a/src/openrct2/actions/ClimateSetAction.h b/src/openrct2/actions/ClimateSetAction.h index a6cb0fb63b..8e604f27f5 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, GAME_COMMAND_SET_CLIMATE, GameActions::Result) +DEFINE_GAME_ACTION(ClimateSetAction, GameCommand::SetClimate, GameActions::Result) { private: ClimateType _climate{}; diff --git a/src/openrct2/actions/CustomAction.h b/src/openrct2/actions/CustomAction.h index 5a66d69322..a0d5b63376 100644 --- a/src/openrct2/actions/CustomAction.h +++ b/src/openrct2/actions/CustomAction.h @@ -13,7 +13,7 @@ # include "GameAction.h" -DEFINE_GAME_ACTION(CustomAction, GAME_COMMAND_CUSTOM, GameActions::Result) +DEFINE_GAME_ACTION(CustomAction, GameCommand::Custom, GameActions::Result) { private: std::string _id; diff --git a/src/openrct2/actions/FootpathAdditionPlaceAction.h b/src/openrct2/actions/FootpathAdditionPlaceAction.h index 75a8dac358..7b296363ae 100644 --- a/src/openrct2/actions/FootpathAdditionPlaceAction.h +++ b/src/openrct2/actions/FootpathAdditionPlaceAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(FootpathAdditionPlaceAction, GAME_COMMAND_PLACE_FOOTPATH_ADDITION, GameActions::Result) +DEFINE_GAME_ACTION(FootpathAdditionPlaceAction, GameCommand::PlaceFootpathAddition, GameActions::Result) { private: CoordsXYZ _loc; diff --git a/src/openrct2/actions/FootpathAdditionRemoveAction.h b/src/openrct2/actions/FootpathAdditionRemoveAction.h index 176bc1136f..e53cdf59ca 100644 --- a/src/openrct2/actions/FootpathAdditionRemoveAction.h +++ b/src/openrct2/actions/FootpathAdditionRemoveAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(FootpathAdditionRemoveAction, GAME_COMMAND_REMOVE_FOOTPATH_ADDITION, GameActions::Result) +DEFINE_GAME_ACTION(FootpathAdditionRemoveAction, GameCommand::RemoveFootpathAddition, GameActions::Result) { private: CoordsXYZ _loc; diff --git a/src/openrct2/actions/FootpathPlaceAction.h b/src/openrct2/actions/FootpathPlaceAction.h index bf224f61c4..f8b4ff83ce 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, GAME_COMMAND_PLACE_PATH, GameActions::Result) +DEFINE_GAME_ACTION(FootpathPlaceAction, GameCommand::PlacePath, GameActions::Result) { private: CoordsXYZ _loc; diff --git a/src/openrct2/actions/FootpathPlaceFromTrackAction.h b/src/openrct2/actions/FootpathPlaceFromTrackAction.h index 1db69c734d..33016bc45f 100644 --- a/src/openrct2/actions/FootpathPlaceFromTrackAction.h +++ b/src/openrct2/actions/FootpathPlaceFromTrackAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(FootpathPlaceFromTrackAction, GAME_COMMAND_PLACE_PATH_FROM_TRACK, GameActions::Result) +DEFINE_GAME_ACTION(FootpathPlaceFromTrackAction, GameCommand::PlacePathFromTrack, GameActions::Result) { private: CoordsXYZ _loc; diff --git a/src/openrct2/actions/FootpathRemoveAction.h b/src/openrct2/actions/FootpathRemoveAction.h index 50c7f3be1a..0a7bc37f64 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, GAME_COMMAND_REMOVE_PATH, GameActions::Result) +DEFINE_GAME_ACTION(FootpathRemoveAction, GameCommand::RemovePath, GameActions::Result) { private: CoordsXYZ _loc; diff --git a/src/openrct2/actions/GameAction.cpp b/src/openrct2/actions/GameAction.cpp index cb15fb7cb8..de3a3869cf 100644 --- a/src/openrct2/actions/GameAction.cpp +++ b/src/openrct2/actions/GameAction.cpp @@ -108,17 +108,19 @@ namespace GameActions } }; - static GameActionFactory _actions[GAME_COMMAND_COUNT]; + static GameActionFactory _actions[EnumValue(GameCommand::Count)]; static std::multiset _actionQueue; static uint32_t _nextUniqueId = 0; static bool _suspended = false; - GameActionFactory Register(uint32_t id, GameActionFactory factory) + GameActionFactory Register(GameCommand id, GameActionFactory factory) { - Guard::Assert(id < std::size(_actions)); + const auto idx = static_cast(id); + + Guard::Assert(idx < std::size(_actions)); Guard::ArgumentNotNull(factory); - _actions[id] = factory; + _actions[idx] = factory; return factory; } @@ -194,12 +196,14 @@ namespace GameActions // Remove ghost scenery so it doesn't interfere with incoming network command switch (queued.action->GetType()) { - case GAME_COMMAND_PLACE_WALL: - case GAME_COMMAND_PLACE_LARGE_SCENERY: - case GAME_COMMAND_PLACE_BANNER: - case GAME_COMMAND_PLACE_SCENERY: + case GameCommand::PlaceWall: + case GameCommand::PlaceLargeScenery: + case GameCommand::PlaceBanner: + case GameCommand::PlaceScenery: scenery_remove_ghost_tool_placement(); break; + default: + break; } GameAction* action = queued.action.get(); @@ -234,14 +238,16 @@ namespace GameActions initialized = true; } - std::unique_ptr Create(uint32_t id) + std::unique_ptr Create(GameCommand id) { Initialize(); + const auto idx = static_cast(id); + GameAction* result = nullptr; - if (id < std::size(_actions)) + if (idx < std::size(_actions)) { - GameActionFactory factory = _actions[id]; + GameActionFactory factory = _actions[idx]; if (factory != nullptr) { result = factory(); @@ -345,7 +351,7 @@ namespace GameActions char temp[128] = {}; snprintf( temp, sizeof(temp), "[%s] Tick: %u, GA: %s (%08X) (", GetRealm(), gCurrentTicks, action->GetName(), - action->GetType()); + EnumValue(action->GetType())); output.Write(temp, strlen(temp)); @@ -574,7 +580,7 @@ bool GameAction::LocationValid(const CoordsXY& coords) const obj.Set("x", coords.x); obj.Set("y", coords.y); obj.Set("player", _playerId); - obj.Set("type", _type); + obj.Set("type", EnumValue(_type)); auto flags = GetActionFlags(); obj.Set("isClientOnly", (flags & GameActions::Flags::ClientOnly) != 0); diff --git a/src/openrct2/actions/GameAction.h b/src/openrct2/actions/GameAction.h index 0f9b6d9c99..0c96a21f70 100644 --- a/src/openrct2/actions/GameAction.h +++ b/src/openrct2/actions/GameAction.h @@ -212,7 +212,7 @@ public: using Callback_t = std::function; private: - uint32_t const _type; + GameCommand const _type; NetworkPlayerId_t _playerId = { -1 }; // Callee uint32_t _flags = 0; // GAME_COMMAND_FLAGS @@ -220,7 +220,7 @@ private: Callback_t _callback; public: - GameAction(uint32_t type) + GameAction(GameCommand type) : _type(type) { } @@ -282,7 +282,7 @@ public: return _flags = flags; } - uint32_t GetType() const + GameCommand GetType() const { return _type; } @@ -344,16 +344,16 @@ public: # pragma GCC diagnostic pop #endif -template struct GameActionNameQuery +template struct GameActionNameQuery { }; -template struct GameActionBase : GameAction +template struct GameActionBase : GameAction { public: using Result = TResultType; - static constexpr uint32_t TYPE = TType; + static constexpr GameCommand TYPE = TType; GameActionBase() : GameAction(TYPE) @@ -400,7 +400,7 @@ namespace GameActions void ProcessQueue(); void ClearQueue(); - GameAction::Ptr Create(uint32_t id); + GameAction::Ptr Create(GameCommand id); GameAction::Ptr Clone(const GameAction* action); // This should be used if a round trip is to be expected. @@ -411,7 +411,7 @@ namespace GameActions GameActions::Result::Ptr QueryNested(const GameAction* action); GameActions::Result::Ptr ExecuteNested(const GameAction* action); - GameActionFactory Register(uint32_t id, GameActionFactory action); + GameActionFactory Register(GameCommand id, GameActionFactory action); template static GameActionFactory Register() { diff --git a/src/openrct2/actions/GuestSetFlagsAction.h b/src/openrct2/actions/GuestSetFlagsAction.h index 2988605d99..2cf45ffa7c 100644 --- a/src/openrct2/actions/GuestSetFlagsAction.h +++ b/src/openrct2/actions/GuestSetFlagsAction.h @@ -12,7 +12,7 @@ #include "../world/Sprite.h" #include "GameAction.h" -DEFINE_GAME_ACTION(GuestSetFlagsAction, GAME_COMMAND_GUEST_SET_FLAGS, GameActions::Result) +DEFINE_GAME_ACTION(GuestSetFlagsAction, GameCommand::GuestSetFlags, GameActions::Result) { private: uint16_t _peepId{ SPRITE_INDEX_NULL }; diff --git a/src/openrct2/actions/GuestSetNameAction.h b/src/openrct2/actions/GuestSetNameAction.h index ed587224cd..5f2a9b025d 100644 --- a/src/openrct2/actions/GuestSetNameAction.h +++ b/src/openrct2/actions/GuestSetNameAction.h @@ -12,7 +12,7 @@ #include "../world/Sprite.h" #include "GameAction.h" -DEFINE_GAME_ACTION(GuestSetNameAction, GAME_COMMAND_SET_GUEST_NAME, GameActions::Result) +DEFINE_GAME_ACTION(GuestSetNameAction, GameCommand::SetGuestName, GameActions::Result) { private: uint16_t _spriteIndex{ SPRITE_INDEX_NULL }; diff --git a/src/openrct2/actions/LandBuyRightsAction.h b/src/openrct2/actions/LandBuyRightsAction.h index 7512f9f4dd..bdc863d0e7 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, GAME_COMMAND_BUY_LAND_RIGHTS, GameActions::Result) +DEFINE_GAME_ACTION(LandBuyRightsAction, GameCommand::BuyLandRights, GameActions::Result) { private: MapRange _range; diff --git a/src/openrct2/actions/LandLowerAction.h b/src/openrct2/actions/LandLowerAction.h index 714d512e4c..283e12a873 100644 --- a/src/openrct2/actions/LandLowerAction.h +++ b/src/openrct2/actions/LandLowerAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(LandLowerAction, GAME_COMMAND_LOWER_LAND, GameActions::Result) +DEFINE_GAME_ACTION(LandLowerAction, GameCommand::LowerLand, GameActions::Result) { private: CoordsXY _coords; diff --git a/src/openrct2/actions/LandRaiseAction.h b/src/openrct2/actions/LandRaiseAction.h index 37986dc06a..429f7d10b3 100644 --- a/src/openrct2/actions/LandRaiseAction.h +++ b/src/openrct2/actions/LandRaiseAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(LandRaiseAction, GAME_COMMAND_RAISE_LAND, GameActions::Result) +DEFINE_GAME_ACTION(LandRaiseAction, GameCommand::RaiseLand, GameActions::Result) { private: CoordsXY _coords; diff --git a/src/openrct2/actions/LandSetHeightAction.h b/src/openrct2/actions/LandSetHeightAction.h index 37774d77c7..26224190ab 100644 --- a/src/openrct2/actions/LandSetHeightAction.h +++ b/src/openrct2/actions/LandSetHeightAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(LandSetHeightAction, GAME_COMMAND_SET_LAND_HEIGHT, GameActions::Result) +DEFINE_GAME_ACTION(LandSetHeightAction, GameCommand::SetLandHeight, GameActions::Result) { private: CoordsXY _coords; diff --git a/src/openrct2/actions/LandSetRightsAction.h b/src/openrct2/actions/LandSetRightsAction.h index 673517087d..682b55cd8e 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, GAME_COMMAND_SET_LAND_OWNERSHIP, GameActions::Result) +DEFINE_GAME_ACTION(LandSetRightsAction, GameCommand::SetLandOwnership, GameActions::Result) { private: MapRange _range; diff --git a/src/openrct2/actions/LandSmoothAction.h b/src/openrct2/actions/LandSmoothAction.h index 7c81fafabd..d72b08ffd2 100644 --- a/src/openrct2/actions/LandSmoothAction.h +++ b/src/openrct2/actions/LandSmoothAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(LandSmoothAction, GAME_COMMAND_EDIT_LAND_SMOOTH, GameActions::Result) +DEFINE_GAME_ACTION(LandSmoothAction, GameCommand::EditLandSmooth, GameActions::Result) { private: CoordsXY _coords; diff --git a/src/openrct2/actions/LargeSceneryPlaceAction.h b/src/openrct2/actions/LargeSceneryPlaceAction.h index 4007a506db..2aa7d264df 100644 --- a/src/openrct2/actions/LargeSceneryPlaceAction.h +++ b/src/openrct2/actions/LargeSceneryPlaceAction.h @@ -25,7 +25,7 @@ public: TileElement* tileElement = nullptr; }; -DEFINE_GAME_ACTION(LargeSceneryPlaceAction, GAME_COMMAND_PLACE_LARGE_SCENERY, LargeSceneryPlaceActionResult) +DEFINE_GAME_ACTION(LargeSceneryPlaceAction, GameCommand::PlaceLargeScenery, LargeSceneryPlaceActionResult) { private: CoordsXYZD _loc; diff --git a/src/openrct2/actions/LargeSceneryRemoveAction.h b/src/openrct2/actions/LargeSceneryRemoveAction.h index 0e0fd0c429..8c58747296 100644 --- a/src/openrct2/actions/LargeSceneryRemoveAction.h +++ b/src/openrct2/actions/LargeSceneryRemoveAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(LargeSceneryRemoveAction, GAME_COMMAND_REMOVE_LARGE_SCENERY, GameActions::Result) +DEFINE_GAME_ACTION(LargeSceneryRemoveAction, GameCommand::RemoveLargeScenery, GameActions::Result) { private: CoordsXYZD _loc; diff --git a/src/openrct2/actions/LargeScenerySetColourAction.h b/src/openrct2/actions/LargeScenerySetColourAction.h index 8d8ab869d9..59941bf587 100644 --- a/src/openrct2/actions/LargeScenerySetColourAction.h +++ b/src/openrct2/actions/LargeScenerySetColourAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(LargeScenerySetColourAction, GAME_COMMAND_SET_LARGE_SCENERY_COLOUR, GameActions::Result) +DEFINE_GAME_ACTION(LargeScenerySetColourAction, GameCommand::SetLargeSceneryColour, GameActions::Result) { private: CoordsXYZD _loc; diff --git a/src/openrct2/actions/LoadOrQuitAction.h b/src/openrct2/actions/LoadOrQuitAction.h index c0509201ba..8e6248649b 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, GAME_COMMAND_LOAD_OR_QUIT, GameActions::Result) +DEFINE_GAME_ACTION(LoadOrQuitAction, GameCommand::LoadOrQuit, GameActions::Result) { private: LoadOrQuitModes _mode{}; diff --git a/src/openrct2/actions/MazePlaceTrackAction.h b/src/openrct2/actions/MazePlaceTrackAction.h index 9e92a5a059..a25ce69b51 100644 --- a/src/openrct2/actions/MazePlaceTrackAction.h +++ b/src/openrct2/actions/MazePlaceTrackAction.h @@ -10,7 +10,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(MazePlaceTrackAction, GAME_COMMAND_PLACE_MAZE_DESIGN, GameActions::Result) +DEFINE_GAME_ACTION(MazePlaceTrackAction, GameCommand::PlaceMazeDesign, GameActions::Result) { private: CoordsXYZ _loc; diff --git a/src/openrct2/actions/MazeSetTrackAction.h b/src/openrct2/actions/MazeSetTrackAction.h index eb9d6a6957..75549dd402 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, GAME_COMMAND_SET_MAZE_TRACK, GameActions::Result) +DEFINE_GAME_ACTION(MazeSetTrackAction, GameCommand::SetMazeTrack, GameActions::Result) { private: CoordsXYZD _loc; diff --git a/src/openrct2/actions/NetworkModifyGroupAction.h b/src/openrct2/actions/NetworkModifyGroupAction.h index 063dddce66..a0f82b21ad 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, GAME_COMMAND_MODIFY_GROUPS, GameActions::Result) +DEFINE_GAME_ACTION(NetworkModifyGroupAction, GameCommand::ModifyGroups, GameActions::Result) { private: ModifyGroupType _type{ ModifyGroupType::Count }; diff --git a/src/openrct2/actions/ParkEntranceRemoveAction.h b/src/openrct2/actions/ParkEntranceRemoveAction.h index 195a400a13..ebecb187ea 100644 --- a/src/openrct2/actions/ParkEntranceRemoveAction.h +++ b/src/openrct2/actions/ParkEntranceRemoveAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(ParkEntranceRemoveAction, GAME_COMMAND_REMOVE_PARK_ENTRANCE, GameActions::Result) +DEFINE_GAME_ACTION(ParkEntranceRemoveAction, GameCommand::RemoveParkEntrance, GameActions::Result) { private: CoordsXYZ _loc; diff --git a/src/openrct2/actions/ParkMarketingAction.h b/src/openrct2/actions/ParkMarketingAction.h index 9faaccc091..3ca33f35ed 100644 --- a/src/openrct2/actions/ParkMarketingAction.h +++ b/src/openrct2/actions/ParkMarketingAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(ParkMarketingAction, GAME_COMMAND_START_MARKETING_CAMPAIGN, GameActions::Result) +DEFINE_GAME_ACTION(ParkMarketingAction, GameCommand::StartMarketingCampaign, GameActions::Result) { private: int32_t _type{}; diff --git a/src/openrct2/actions/ParkSetDateAction.h b/src/openrct2/actions/ParkSetDateAction.h index 291f2032b9..12f94f4eb1 100644 --- a/src/openrct2/actions/ParkSetDateAction.h +++ b/src/openrct2/actions/ParkSetDateAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(ParkSetDateAction, GAME_COMMAND_SET_DATE, GameActions::Result) +DEFINE_GAME_ACTION(ParkSetDateAction, GameCommand::SetDate, GameActions::Result) { private: int32_t _year{}; diff --git a/src/openrct2/actions/ParkSetLoanAction.h b/src/openrct2/actions/ParkSetLoanAction.h index dc7b8c0951..9c53e8a018 100644 --- a/src/openrct2/actions/ParkSetLoanAction.h +++ b/src/openrct2/actions/ParkSetLoanAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(ParkSetLoanAction, GAME_COMMAND_SET_CURRENT_LOAN, GameActions::Result) +DEFINE_GAME_ACTION(ParkSetLoanAction, GameCommand::SetCurrentLoan, GameActions::Result) { private: money32 _value{ MONEY32_UNDEFINED }; diff --git a/src/openrct2/actions/ParkSetNameAction.h b/src/openrct2/actions/ParkSetNameAction.h index 5ee5dc13cf..108db73546 100644 --- a/src/openrct2/actions/ParkSetNameAction.h +++ b/src/openrct2/actions/ParkSetNameAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(ParkSetNameAction, GAME_COMMAND_SET_PARK_NAME, GameActions::Result) +DEFINE_GAME_ACTION(ParkSetNameAction, GameCommand::SetParkName, GameActions::Result) { private: std::string _name; diff --git a/src/openrct2/actions/ParkSetParameterAction.h b/src/openrct2/actions/ParkSetParameterAction.h index e0ca4b3661..eefb88bcea 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, GAME_COMMAND_SET_PARK_OPEN, GameActions::Result) +DEFINE_GAME_ACTION(ParkSetParameterAction, GameCommand::SetParkOpen, GameActions::Result) { private: ParkParameter _parameter{ ParkParameter::Count }; diff --git a/src/openrct2/actions/ParkSetResearchFundingAction.h b/src/openrct2/actions/ParkSetResearchFundingAction.h index ca303599fa..de4282aae2 100644 --- a/src/openrct2/actions/ParkSetResearchFundingAction.h +++ b/src/openrct2/actions/ParkSetResearchFundingAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(ParkSetResearchFundingAction, GAME_COMMAND_SET_RESEARCH_FUNDING, GameActions::Result) +DEFINE_GAME_ACTION(ParkSetResearchFundingAction, GameCommand::SetResearchFunding, GameActions::Result) { private: // TODO change to std::optional when C++17 diff --git a/src/openrct2/actions/PauseToggleAction.h b/src/openrct2/actions/PauseToggleAction.h index d4a1db875f..56219df591 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, GAME_COMMAND_TOGGLE_PAUSE, GameActions::Result) +DEFINE_GAME_ACTION(PauseToggleAction, GameCommand::TogglePause, GameActions::Result) { public: PauseToggleAction() = default; diff --git a/src/openrct2/actions/PeepPickupAction.h b/src/openrct2/actions/PeepPickupAction.h index 4cf07ca4a4..7aab1b2d65 100644 --- a/src/openrct2/actions/PeepPickupAction.h +++ b/src/openrct2/actions/PeepPickupAction.h @@ -20,7 +20,7 @@ enum class PeepPickupType : uint8_t Count }; -DEFINE_GAME_ACTION(PeepPickupAction, GAME_COMMAND_PICKUP_GUEST, GameActions::Result) +DEFINE_GAME_ACTION(PeepPickupAction, GameCommand::PickupGuest, GameActions::Result) { private: PeepPickupType _type{ PeepPickupType::Count }; diff --git a/src/openrct2/actions/PlaceParkEntranceAction.h b/src/openrct2/actions/PlaceParkEntranceAction.h index a19b385444..2514d3ae1a 100644 --- a/src/openrct2/actions/PlaceParkEntranceAction.h +++ b/src/openrct2/actions/PlaceParkEntranceAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(PlaceParkEntranceAction, GAME_COMMAND_PLACE_PARK_ENTRANCE, GameActions::Result) +DEFINE_GAME_ACTION(PlaceParkEntranceAction, GameCommand::PlaceParkEntrance, GameActions::Result) { private: CoordsXYZD _loc; diff --git a/src/openrct2/actions/PlacePeepSpawnAction.h b/src/openrct2/actions/PlacePeepSpawnAction.h index fe84e549df..cf89c921dd 100644 --- a/src/openrct2/actions/PlacePeepSpawnAction.h +++ b/src/openrct2/actions/PlacePeepSpawnAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(PlacePeepSpawnAction, GAME_COMMAND_PLACE_PEEP_SPAWN, GameActions::Result) +DEFINE_GAME_ACTION(PlacePeepSpawnAction, GameCommand::PlacePeepSpawn, GameActions::Result) { private: CoordsXYZD _location; diff --git a/src/openrct2/actions/PlayerKickAction.h b/src/openrct2/actions/PlayerKickAction.h index 40cd6c5d9d..db56485062 100644 --- a/src/openrct2/actions/PlayerKickAction.h +++ b/src/openrct2/actions/PlayerKickAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(PlayerKickAction, GAME_COMMAND_KICK_PLAYER, GameActions::Result) +DEFINE_GAME_ACTION(PlayerKickAction, GameCommand::KickPlayer, GameActions::Result) { private: NetworkPlayerId_t _playerId{ -1 }; diff --git a/src/openrct2/actions/PlayerSetGroupAction.h b/src/openrct2/actions/PlayerSetGroupAction.h index 4cde37315c..8d41dbe806 100644 --- a/src/openrct2/actions/PlayerSetGroupAction.h +++ b/src/openrct2/actions/PlayerSetGroupAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(PlayerSetGroupAction, GAME_COMMAND_SET_PLAYER_GROUP, GameActions::Result) +DEFINE_GAME_ACTION(PlayerSetGroupAction, GameCommand::SetPlayerGroup, GameActions::Result) { private: NetworkPlayerId_t _playerId{ -1 }; diff --git a/src/openrct2/actions/RideCreateAction.h b/src/openrct2/actions/RideCreateAction.h index 5b7fd5bcfa..83cf87a994 100644 --- a/src/openrct2/actions/RideCreateAction.h +++ b/src/openrct2/actions/RideCreateAction.h @@ -20,7 +20,7 @@ public: ride_id_t rideIndex = RIDE_ID_NULL; }; -DEFINE_GAME_ACTION(RideCreateAction, GAME_COMMAND_CREATE_RIDE, RideCreateGameActionResult) +DEFINE_GAME_ACTION(RideCreateAction, GameCommand::CreateRide, RideCreateGameActionResult) { private: int32_t _rideType{ RIDE_ID_NULL }; diff --git a/src/openrct2/actions/RideDemolishAction.h b/src/openrct2/actions/RideDemolishAction.h index 8fa5cd1f72..c468843971 100644 --- a/src/openrct2/actions/RideDemolishAction.h +++ b/src/openrct2/actions/RideDemolishAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(RideDemolishAction, GAME_COMMAND_DEMOLISH_RIDE, GameActions::Result) +DEFINE_GAME_ACTION(RideDemolishAction, GameCommand::DemolishRide, GameActions::Result) { private: NetworkRideId_t _rideIndex{ RideIdNewNull }; diff --git a/src/openrct2/actions/RideEntranceExitPlaceAction.h b/src/openrct2/actions/RideEntranceExitPlaceAction.h index b3155193f9..4baae5ec62 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, GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, GameActions::Result) +DEFINE_GAME_ACTION(RideEntranceExitPlaceAction, GameCommand::PlaceRideEntranceOrExit, GameActions::Result) { private: CoordsXY _loc; diff --git a/src/openrct2/actions/RideEntranceExitRemoveAction.h b/src/openrct2/actions/RideEntranceExitRemoveAction.h index 4521786967..d5d290f0b6 100644 --- a/src/openrct2/actions/RideEntranceExitRemoveAction.h +++ b/src/openrct2/actions/RideEntranceExitRemoveAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(RideEntranceExitRemoveAction, GAME_COMMAND_REMOVE_RIDE_ENTRANCE_OR_EXIT, GameActions::Result) +DEFINE_GAME_ACTION(RideEntranceExitRemoveAction, GameCommand::RemoveRideEntranceOrExit, GameActions::Result) { private: CoordsXY _loc; diff --git a/src/openrct2/actions/RideSetAppearanceAction.h b/src/openrct2/actions/RideSetAppearanceAction.h index ce6870f8f3..fdc4e65992 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, GAME_COMMAND_SET_RIDE_APPEARANCE, GameActions::Result) +DEFINE_GAME_ACTION(RideSetAppearanceAction, GameCommand::SetRideAppearance, GameActions::Result) { private: NetworkRideId_t _rideIndex{ RideIdNewNull }; diff --git a/src/openrct2/actions/RideSetColourSchemeAction.h b/src/openrct2/actions/RideSetColourSchemeAction.h index 97b1d07913..a0156a1639 100644 --- a/src/openrct2/actions/RideSetColourSchemeAction.h +++ b/src/openrct2/actions/RideSetColourSchemeAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(RideSetColourSchemeAction, GAME_COMMAND_SET_COLOUR_SCHEME, GameActions::Result) +DEFINE_GAME_ACTION(RideSetColourSchemeAction, GameCommand::SetColourScheme, GameActions::Result) { private: CoordsXYZD _loc; diff --git a/src/openrct2/actions/RideSetNameAction.h b/src/openrct2/actions/RideSetNameAction.h index fb3af59ffc..de75055ecd 100644 --- a/src/openrct2/actions/RideSetNameAction.h +++ b/src/openrct2/actions/RideSetNameAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(RideSetNameAction, GAME_COMMAND_SET_RIDE_NAME, GameActions::Result) +DEFINE_GAME_ACTION(RideSetNameAction, GameCommand::SetRideName, GameActions::Result) { private: NetworkRideId_t _rideIndex{ RideIdNewNull }; diff --git a/src/openrct2/actions/RideSetPriceAction.h b/src/openrct2/actions/RideSetPriceAction.h index 3fc15ba5a0..6aa63c643d 100644 --- a/src/openrct2/actions/RideSetPriceAction.h +++ b/src/openrct2/actions/RideSetPriceAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(RideSetPriceAction, GAME_COMMAND_SET_RIDE_PRICE, GameActions::Result) +DEFINE_GAME_ACTION(RideSetPriceAction, GameCommand::SetRidePrice, GameActions::Result) { private: NetworkRideId_t _rideIndex{ RideIdNewNull }; diff --git a/src/openrct2/actions/RideSetSettingAction.h b/src/openrct2/actions/RideSetSettingAction.h index b324a05131..08c868c21c 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, GAME_COMMAND_SET_RIDE_SETTING, GameActions::Result) +DEFINE_GAME_ACTION(RideSetSettingAction, GameCommand::SetRideSetting, GameActions::Result) { private: NetworkRideId_t _rideIndex{ RideIdNewNull }; diff --git a/src/openrct2/actions/RideSetStatusAction.h b/src/openrct2/actions/RideSetStatusAction.h index 866562233e..a8e4c188df 100644 --- a/src/openrct2/actions/RideSetStatusAction.h +++ b/src/openrct2/actions/RideSetStatusAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(RideSetStatusAction, GAME_COMMAND_SET_RIDE_STATUS, GameActions::Result) +DEFINE_GAME_ACTION(RideSetStatusAction, GameCommand::SetRideStatus, GameActions::Result) { private: NetworkRideId_t _rideIndex{ RideIdNewNull }; diff --git a/src/openrct2/actions/RideSetVehicleAction.h b/src/openrct2/actions/RideSetVehicleAction.h index e1f703411c..a8dfe37fd3 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, GAME_COMMAND_SET_RIDE_VEHICLES, GameActions::Result) +DEFINE_GAME_ACTION(RideSetVehicleAction, GameCommand::SetRideVehicles, GameActions::Result) { private: NetworkRideId_t _rideIndex{ RideIdNewNull }; diff --git a/src/openrct2/actions/ScenarioSetSettingAction.h b/src/openrct2/actions/ScenarioSetSettingAction.h index ea104258ec..ef9e44805f 100644 --- a/src/openrct2/actions/ScenarioSetSettingAction.h +++ b/src/openrct2/actions/ScenarioSetSettingAction.h @@ -37,7 +37,7 @@ enum class ScenarioSetSetting : uint8_t Count }; -DEFINE_GAME_ACTION(ScenarioSetSettingAction, GAME_COMMAND_EDIT_SCENARIO_OPTIONS, GameActions::Result) +DEFINE_GAME_ACTION(ScenarioSetSettingAction, GameCommand::EditScenarioOptions, GameActions::Result) { private: ScenarioSetSetting _setting{ ScenarioSetSetting::Count }; diff --git a/src/openrct2/actions/SetCheatAction.h b/src/openrct2/actions/SetCheatAction.h index 2263f7fb81..58752105ca 100644 --- a/src/openrct2/actions/SetCheatAction.h +++ b/src/openrct2/actions/SetCheatAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(SetCheatAction, GAME_COMMAND_CHEAT, GameActions::Result) +DEFINE_GAME_ACTION(SetCheatAction, GameCommand::Cheat, GameActions::Result) { using ParametersRange = std::pair, std::pair>; diff --git a/src/openrct2/actions/SetParkEntranceFeeAction.h b/src/openrct2/actions/SetParkEntranceFeeAction.h index 84c0cda260..6ffc8fc284 100644 --- a/src/openrct2/actions/SetParkEntranceFeeAction.h +++ b/src/openrct2/actions/SetParkEntranceFeeAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(SetParkEntranceFeeAction, GAME_COMMAND_SET_PARK_ENTRANCE_FEE, GameActions::Result) +DEFINE_GAME_ACTION(SetParkEntranceFeeAction, GameCommand::SetParkEntranceFee, GameActions::Result) { private: money16 _fee{ MONEY16_UNDEFINED }; diff --git a/src/openrct2/actions/SignSetNameAction.h b/src/openrct2/actions/SignSetNameAction.h index 3c39681410..0affa91edc 100644 --- a/src/openrct2/actions/SignSetNameAction.h +++ b/src/openrct2/actions/SignSetNameAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(SignSetNameAction, GAME_COMMAND_SET_SIGN_NAME, GameActions::Result) +DEFINE_GAME_ACTION(SignSetNameAction, GameCommand::SetSignName, GameActions::Result) { private: BannerIndex _bannerIndex{ BANNER_INDEX_NULL }; diff --git a/src/openrct2/actions/SignSetStyleAction.h b/src/openrct2/actions/SignSetStyleAction.h index 53e759625a..b19b161b9c 100644 --- a/src/openrct2/actions/SignSetStyleAction.h +++ b/src/openrct2/actions/SignSetStyleAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(SignSetStyleAction, GAME_COMMAND_SET_SIGN_STYLE, GameActions::Result) +DEFINE_GAME_ACTION(SignSetStyleAction, GameCommand::SetSignStyle, GameActions::Result) { private: BannerIndex _bannerIndex{ BANNER_INDEX_NULL }; diff --git a/src/openrct2/actions/SmallSceneryPlaceAction.h b/src/openrct2/actions/SmallSceneryPlaceAction.h index 4b2dd4b3bf..dba1923cdb 100644 --- a/src/openrct2/actions/SmallSceneryPlaceAction.h +++ b/src/openrct2/actions/SmallSceneryPlaceAction.h @@ -24,7 +24,7 @@ public: TileElement* tileElement = nullptr; }; -DEFINE_GAME_ACTION(SmallSceneryPlaceAction, GAME_COMMAND_PLACE_SCENERY, SmallSceneryPlaceActionResult) +DEFINE_GAME_ACTION(SmallSceneryPlaceAction, GameCommand::PlaceScenery, SmallSceneryPlaceActionResult) { private: CoordsXYZD _loc; diff --git a/src/openrct2/actions/SmallSceneryRemoveAction.h b/src/openrct2/actions/SmallSceneryRemoveAction.h index 44cc9924e9..21a1d7a25e 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, GAME_COMMAND_REMOVE_SCENERY, GameActions::Result) +DEFINE_GAME_ACTION(SmallSceneryRemoveAction, GameCommand::RemoveScenery, GameActions::Result) { private: CoordsXYZ _loc; diff --git a/src/openrct2/actions/SmallScenerySetColourAction.h b/src/openrct2/actions/SmallScenerySetColourAction.h index 6ebc281017..d83877cf20 100644 --- a/src/openrct2/actions/SmallScenerySetColourAction.h +++ b/src/openrct2/actions/SmallScenerySetColourAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(SmallScenerySetColourAction, GAME_COMMAND_SET_SCENERY_COLOUR, GameActions::Result) +DEFINE_GAME_ACTION(SmallScenerySetColourAction, GameCommand::SetSceneryColour, GameActions::Result) { private: CoordsXYZ _loc; diff --git a/src/openrct2/actions/StaffFireAction.h b/src/openrct2/actions/StaffFireAction.h index 00e3b7ba26..1f19e8343c 100644 --- a/src/openrct2/actions/StaffFireAction.h +++ b/src/openrct2/actions/StaffFireAction.h @@ -12,7 +12,7 @@ #include "../world/Sprite.h" #include "GameAction.h" -DEFINE_GAME_ACTION(StaffFireAction, GAME_COMMAND_FIRE_STAFF_MEMBER, GameActions::Result) +DEFINE_GAME_ACTION(StaffFireAction, GameCommand::FireStaffMember, GameActions::Result) { private: uint16_t _spriteId{ SPRITE_INDEX_NULL }; diff --git a/src/openrct2/actions/StaffHireNewAction.h b/src/openrct2/actions/StaffHireNewAction.h index bccaf3208f..56c18f3118 100644 --- a/src/openrct2/actions/StaffHireNewAction.h +++ b/src/openrct2/actions/StaffHireNewAction.h @@ -30,7 +30,7 @@ public: uint32_t peepSriteIndex = SPRITE_INDEX_NULL; }; -DEFINE_GAME_ACTION(StaffHireNewAction, GAME_COMMAND_HIRE_NEW_STAFF_MEMBER, StaffHireNewActionResult) +DEFINE_GAME_ACTION(StaffHireNewAction, GameCommand::HireNewStaffMember, StaffHireNewActionResult) { private: bool _autoPosition{}; diff --git a/src/openrct2/actions/StaffSetColourAction.h b/src/openrct2/actions/StaffSetColourAction.h index 541089e039..b5c9e773db 100644 --- a/src/openrct2/actions/StaffSetColourAction.h +++ b/src/openrct2/actions/StaffSetColourAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(StaffSetColourAction, GAME_COMMAND_SET_STAFF_COLOUR, GameActions::Result) +DEFINE_GAME_ACTION(StaffSetColourAction, GameCommand::SetStaffColour, GameActions::Result) { private: uint8_t _staffType{}; diff --git a/src/openrct2/actions/StaffSetCostumeAction.h b/src/openrct2/actions/StaffSetCostumeAction.h index 17fc9534ff..34b868f9aa 100644 --- a/src/openrct2/actions/StaffSetCostumeAction.h +++ b/src/openrct2/actions/StaffSetCostumeAction.h @@ -13,7 +13,7 @@ #include "../world/Sprite.h" #include "GameAction.h" -DEFINE_GAME_ACTION(StaffSetCostumeAction, GAME_COMMAND_SET_STAFF_COSTUME, GameActions::Result) +DEFINE_GAME_ACTION(StaffSetCostumeAction, GameCommand::SetStaffCostume, GameActions::Result) { private: uint16_t _spriteIndex{ SPRITE_INDEX_NULL }; diff --git a/src/openrct2/actions/StaffSetNameAction.h b/src/openrct2/actions/StaffSetNameAction.h index bba2799f33..aa40e84ad1 100644 --- a/src/openrct2/actions/StaffSetNameAction.h +++ b/src/openrct2/actions/StaffSetNameAction.h @@ -12,7 +12,7 @@ #include "../world/Sprite.h" #include "GameAction.h" -DEFINE_GAME_ACTION(StaffSetNameAction, GAME_COMMAND_SET_STAFF_NAME, GameActions::Result) +DEFINE_GAME_ACTION(StaffSetNameAction, GameCommand::SetStaffName, GameActions::Result) { private: uint16_t _spriteIndex{ SPRITE_INDEX_NULL }; diff --git a/src/openrct2/actions/StaffSetOrdersAction.h b/src/openrct2/actions/StaffSetOrdersAction.h index 2315bec596..63e325405e 100644 --- a/src/openrct2/actions/StaffSetOrdersAction.h +++ b/src/openrct2/actions/StaffSetOrdersAction.h @@ -12,7 +12,7 @@ #include "../world/Sprite.h" #include "GameAction.h" -DEFINE_GAME_ACTION(StaffSetOrdersAction, GAME_COMMAND_SET_STAFF_ORDERS, GameActions::Result) +DEFINE_GAME_ACTION(StaffSetOrdersAction, GameCommand::SetStaffOrders, GameActions::Result) { private: uint16_t _spriteIndex{ SPRITE_INDEX_NULL }; diff --git a/src/openrct2/actions/StaffSetPatrolAreaAction.h b/src/openrct2/actions/StaffSetPatrolAreaAction.h index b104f2acd3..36add3adb7 100644 --- a/src/openrct2/actions/StaffSetPatrolAreaAction.h +++ b/src/openrct2/actions/StaffSetPatrolAreaAction.h @@ -12,7 +12,7 @@ #include "../world/Sprite.h" #include "GameAction.h" -DEFINE_GAME_ACTION(StaffSetPatrolAreaAction, GAME_COMMAND_SET_STAFF_PATROL, GameActions::Result) +DEFINE_GAME_ACTION(StaffSetPatrolAreaAction, GameCommand::SetStaffPatrol, GameActions::Result) { private: uint16_t _spriteId{ SPRITE_INDEX_NULL }; diff --git a/src/openrct2/actions/SurfaceSetStyleAction.h b/src/openrct2/actions/SurfaceSetStyleAction.h index 32a18bdaf7..880f6477fe 100644 --- a/src/openrct2/actions/SurfaceSetStyleAction.h +++ b/src/openrct2/actions/SurfaceSetStyleAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(SurfaceSetStyleAction, GAME_COMMAND_CHANGE_SURFACE_STYLE, GameActions::Result) +DEFINE_GAME_ACTION(SurfaceSetStyleAction, GameCommand::ChangeSurfaceStyle, GameActions::Result) { private: MapRange _range; diff --git a/src/openrct2/actions/TileModifyAction.h b/src/openrct2/actions/TileModifyAction.h index 9c3c8eaf3f..ffba3a45cd 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, GAME_COMMAND_MODIFY_TILE, GameActions::Result) +DEFINE_GAME_ACTION(TileModifyAction, GameCommand::ModifyTile, GameActions::Result) { private: CoordsXY _loc; diff --git a/src/openrct2/actions/TrackDesignAction.h b/src/openrct2/actions/TrackDesignAction.h index e3e73c5f20..1390bc3627 100644 --- a/src/openrct2/actions/TrackDesignAction.h +++ b/src/openrct2/actions/TrackDesignAction.h @@ -23,7 +23,7 @@ public: ride_id_t rideIndex = RIDE_ID_NULL; }; -DEFINE_GAME_ACTION(TrackDesignAction, GAME_COMMAND_PLACE_TRACK_DESIGN, TrackDesignActionResult) +DEFINE_GAME_ACTION(TrackDesignAction, GameCommand::PlaceTrackDesign, TrackDesignActionResult) { private: CoordsXYZD _loc; diff --git a/src/openrct2/actions/TrackPlaceAction.h b/src/openrct2/actions/TrackPlaceAction.h index 78da8b1c88..e85f11fa57 100644 --- a/src/openrct2/actions/TrackPlaceAction.h +++ b/src/openrct2/actions/TrackPlaceAction.h @@ -22,7 +22,7 @@ public: uint8_t GroundFlags{ 0 }; }; -DEFINE_GAME_ACTION(TrackPlaceAction, GAME_COMMAND_PLACE_TRACK, TrackPlaceActionResult) +DEFINE_GAME_ACTION(TrackPlaceAction, GameCommand::PlaceTrack, TrackPlaceActionResult) { private: NetworkRideId_t _rideIndex{ RideIdNewNull }; diff --git a/src/openrct2/actions/TrackRemoveAction.h b/src/openrct2/actions/TrackRemoveAction.h index 2e6e515b78..e5ffa40af7 100644 --- a/src/openrct2/actions/TrackRemoveAction.h +++ b/src/openrct2/actions/TrackRemoveAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(TrackRemoveAction, GAME_COMMAND_REMOVE_TRACK, GameActions::Result) +DEFINE_GAME_ACTION(TrackRemoveAction, GameCommand::RemoveTrack, GameActions::Result) { private: int32_t _trackType{}; diff --git a/src/openrct2/actions/TrackSetBrakeSpeedAction.h b/src/openrct2/actions/TrackSetBrakeSpeedAction.h index 1f8a5fd8c7..d11fcd73ec 100644 --- a/src/openrct2/actions/TrackSetBrakeSpeedAction.h +++ b/src/openrct2/actions/TrackSetBrakeSpeedAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(TrackSetBrakeSpeedAction, GAME_COMMAND_SET_BRAKES_SPEED, GameActions::Result) +DEFINE_GAME_ACTION(TrackSetBrakeSpeedAction, GameCommand::SetBrakesSpeed, GameActions::Result) { private: CoordsXYZ _loc; diff --git a/src/openrct2/actions/WallPlaceAction.h b/src/openrct2/actions/WallPlaceAction.h index 7672d124f9..947d5ea3e8 100644 --- a/src/openrct2/actions/WallPlaceAction.h +++ b/src/openrct2/actions/WallPlaceAction.h @@ -25,7 +25,7 @@ public: TileElement* tileElement = nullptr; }; -DEFINE_GAME_ACTION(WallPlaceAction, GAME_COMMAND_PLACE_WALL, WallPlaceActionResult) +DEFINE_GAME_ACTION(WallPlaceAction, GameCommand::PlaceWall, WallPlaceActionResult) { private: ObjectEntryIndex _wallType{ OBJECT_ENTRY_INDEX_NULL }; diff --git a/src/openrct2/actions/WallRemoveAction.h b/src/openrct2/actions/WallRemoveAction.h index a8503989cd..033527527c 100644 --- a/src/openrct2/actions/WallRemoveAction.h +++ b/src/openrct2/actions/WallRemoveAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(WallRemoveAction, GAME_COMMAND_REMOVE_WALL, GameActions::Result) +DEFINE_GAME_ACTION(WallRemoveAction, GameCommand::RemoveWall, GameActions::Result) { private: CoordsXYZD _loc; diff --git a/src/openrct2/actions/WallSetColourAction.h b/src/openrct2/actions/WallSetColourAction.h index 2a2b048bac..92bd4be32b 100644 --- a/src/openrct2/actions/WallSetColourAction.h +++ b/src/openrct2/actions/WallSetColourAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(WallSetColourAction, GAME_COMMAND_SET_WALL_COLOUR, GameActions::Result) +DEFINE_GAME_ACTION(WallSetColourAction, GameCommand::SetWallColour, GameActions::Result) { private: CoordsXYZD _loc; diff --git a/src/openrct2/actions/WaterLowerAction.h b/src/openrct2/actions/WaterLowerAction.h index 8b286f57bc..b7ed697a42 100644 --- a/src/openrct2/actions/WaterLowerAction.h +++ b/src/openrct2/actions/WaterLowerAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(WaterLowerAction, GAME_COMMAND_LOWER_WATER, GameActions::Result) +DEFINE_GAME_ACTION(WaterLowerAction, GameCommand::LowerWater, GameActions::Result) { private: MapRange _range; diff --git a/src/openrct2/actions/WaterRaiseAction.h b/src/openrct2/actions/WaterRaiseAction.h index 9570562b53..64a036cc2c 100644 --- a/src/openrct2/actions/WaterRaiseAction.h +++ b/src/openrct2/actions/WaterRaiseAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(WaterRaiseAction, GAME_COMMAND_RAISE_WATER, GameActions::Result) +DEFINE_GAME_ACTION(WaterRaiseAction, GameCommand::RaiseWater, GameActions::Result) { private: MapRange _range; diff --git a/src/openrct2/actions/WaterSetHeightAction.h b/src/openrct2/actions/WaterSetHeightAction.h index 0f1407987a..45b5c3d84d 100644 --- a/src/openrct2/actions/WaterSetHeightAction.h +++ b/src/openrct2/actions/WaterSetHeightAction.h @@ -11,7 +11,7 @@ #include "GameAction.h" -DEFINE_GAME_ACTION(WaterSetHeightAction, GAME_COMMAND_SET_WATER_HEIGHT, GameActions::Result) +DEFINE_GAME_ACTION(WaterSetHeightAction, GameCommand::SetWaterHeight, GameActions::Result) { private: CoordsXY _coords; diff --git a/src/openrct2/network/NetworkAction.cpp b/src/openrct2/network/NetworkAction.cpp index f09e137dff..99e6e8c2c2 100644 --- a/src/openrct2/network/NetworkAction.cpp +++ b/src/openrct2/network/NetworkAction.cpp @@ -16,10 +16,10 @@ # include -NetworkPermission NetworkActions::FindCommand(int32_t command) +NetworkPermission NetworkActions::FindCommand(GameCommand command) { auto it = std::find_if(Actions.begin(), Actions.end(), [&command](NetworkAction const& action) { - for (int currentCommand : action.Commands) + for (GameCommand currentCommand : action.Commands) { if (currentCommand == command) { @@ -52,221 +52,221 @@ const std::array(NetworkPermission::Count)> N STR_ACTION_CHAT, "PERMISSION_CHAT", { - MISC_COMMAND_CHAT, + GameCommand::Chat, }, }, NetworkAction{ STR_ACTION_TERRAFORM, "PERMISSION_TERRAFORM", { - GAME_COMMAND_SET_LAND_HEIGHT, - GAME_COMMAND_RAISE_LAND, - GAME_COMMAND_LOWER_LAND, - GAME_COMMAND_EDIT_LAND_SMOOTH, - GAME_COMMAND_CHANGE_SURFACE_STYLE, + GameCommand::SetLandHeight, + GameCommand::RaiseLand, + GameCommand::LowerLand, + GameCommand::EditLandSmooth, + GameCommand::ChangeSurfaceStyle, }, }, NetworkAction{ STR_ACTION_SET_WATER_LEVEL, "PERMISSION_SET_WATER_LEVEL", { - GAME_COMMAND_SET_WATER_HEIGHT, - GAME_COMMAND_RAISE_WATER, - GAME_COMMAND_LOWER_WATER, + GameCommand::SetWaterHeight, + GameCommand::RaiseWater, + GameCommand::LowerWater, }, }, NetworkAction{ STR_ACTION_TOGGLE_PAUSE, "PERMISSION_TOGGLE_PAUSE", { - GAME_COMMAND_TOGGLE_PAUSE, + GameCommand::TogglePause, }, }, NetworkAction{ STR_ACTION_CREATE_RIDE, "PERMISSION_CREATE_RIDE", { - GAME_COMMAND_CREATE_RIDE, + GameCommand::CreateRide, }, }, NetworkAction{ STR_ACTION_REMOVE_RIDE, "PERMISSION_REMOVE_RIDE", { - GAME_COMMAND_DEMOLISH_RIDE, + GameCommand::DemolishRide, }, }, NetworkAction{ STR_ACTION_BUILD_RIDE, "PERMISSION_BUILD_RIDE", { - GAME_COMMAND_PLACE_TRACK, - GAME_COMMAND_REMOVE_TRACK, - GAME_COMMAND_SET_MAZE_TRACK, - GAME_COMMAND_PLACE_TRACK_DESIGN, - GAME_COMMAND_PLACE_MAZE_DESIGN, - GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT, - GAME_COMMAND_REMOVE_RIDE_ENTRANCE_OR_EXIT, + GameCommand::PlaceTrack, + GameCommand::RemoveTrack, + GameCommand::SetMazeTrack, + GameCommand::PlaceTrackDesign, + GameCommand::PlaceMazeDesign, + GameCommand::PlaceRideEntranceOrExit, + GameCommand::RemoveRideEntranceOrExit, }, }, NetworkAction{ STR_ACTION_RIDE_PROPERTIES, "PERMISSION_RIDE_PROPERTIES", { - GAME_COMMAND_SET_RIDE_NAME, - GAME_COMMAND_SET_RIDE_APPEARANCE, - GAME_COMMAND_SET_RIDE_STATUS, - GAME_COMMAND_SET_RIDE_VEHICLES, - GAME_COMMAND_SET_RIDE_SETTING, - GAME_COMMAND_SET_RIDE_PRICE, - GAME_COMMAND_SET_BRAKES_SPEED, - GAME_COMMAND_SET_COLOUR_SCHEME, + GameCommand::SetRideName, + GameCommand::SetRideAppearance, + GameCommand::SetRideStatus, + GameCommand::SetRideVehicles, + GameCommand::SetRideSetting, + GameCommand::SetRidePrice, + GameCommand::SetBrakesSpeed, + GameCommand::SetColourScheme, }, }, NetworkAction{ STR_ACTION_SCENERY, "PERMISSION_SCENERY", { - GAME_COMMAND_REMOVE_SCENERY, - GAME_COMMAND_PLACE_SCENERY, - GAME_COMMAND_SET_BRAKES_SPEED, - GAME_COMMAND_REMOVE_WALL, - GAME_COMMAND_PLACE_WALL, - GAME_COMMAND_REMOVE_LARGE_SCENERY, - GAME_COMMAND_PLACE_LARGE_SCENERY, - GAME_COMMAND_PLACE_BANNER, - GAME_COMMAND_REMOVE_BANNER, - GAME_COMMAND_SET_SCENERY_COLOUR, - GAME_COMMAND_SET_WALL_COLOUR, - GAME_COMMAND_SET_LARGE_SCENERY_COLOUR, - GAME_COMMAND_SET_BANNER_COLOUR, - GAME_COMMAND_SET_BANNER_NAME, - GAME_COMMAND_SET_SIGN_NAME, - GAME_COMMAND_SET_BANNER_STYLE, - GAME_COMMAND_SET_SIGN_STYLE, + GameCommand::RemoveScenery, + GameCommand::PlaceScenery, + GameCommand::SetBrakesSpeed, + GameCommand::RemoveWall, + GameCommand::PlaceWall, + GameCommand::RemoveLargeScenery, + GameCommand::PlaceLargeScenery, + GameCommand::PlaceBanner, + GameCommand::RemoveBanner, + GameCommand::SetSceneryColour, + GameCommand::SetWallColour, + GameCommand::SetLargeSceneryColour, + GameCommand::SetBannerColour, + GameCommand::SetBannerName, + GameCommand::SetSignName, + GameCommand::SetBannerStyle, + GameCommand::SetSignStyle, }, }, NetworkAction{ STR_ACTION_PATH, "PERMISSION_PATH", { - GAME_COMMAND_PLACE_PATH, - GAME_COMMAND_PLACE_PATH_FROM_TRACK, - GAME_COMMAND_REMOVE_PATH, - GAME_COMMAND_PLACE_FOOTPATH_ADDITION, - GAME_COMMAND_REMOVE_FOOTPATH_ADDITION, + GameCommand::PlacePath, + GameCommand::PlacePathFromTrack, + GameCommand::RemovePath, + GameCommand::PlaceFootpathAddition, + GameCommand::RemoveFootpathAddition, }, }, NetworkAction{ STR_ACTION_CLEAR_LANDSCAPE, "PERMISSION_CLEAR_LANDSCAPE", { - GAME_COMMAND_CLEAR_SCENERY, + GameCommand::ClearScenery, }, }, NetworkAction{ STR_ACTION_GUEST, "PERMISSION_GUEST", { - GAME_COMMAND_SET_GUEST_NAME, - GAME_COMMAND_PICKUP_GUEST, - GAME_COMMAND_BALLOON_PRESS, - GAME_COMMAND_GUEST_SET_FLAGS, + GameCommand::SetGuestName, + GameCommand::PickupGuest, + GameCommand::BalloonPress, + GameCommand::GuestSetFlags, }, }, NetworkAction{ STR_ACTION_STAFF, "PERMISSION_STAFF", { - GAME_COMMAND_HIRE_NEW_STAFF_MEMBER, - GAME_COMMAND_SET_STAFF_PATROL, - GAME_COMMAND_FIRE_STAFF_MEMBER, - GAME_COMMAND_SET_STAFF_ORDERS, - GAME_COMMAND_SET_STAFF_COSTUME, - GAME_COMMAND_SET_STAFF_COLOUR, - GAME_COMMAND_SET_STAFF_NAME, - GAME_COMMAND_PICKUP_STAFF, + GameCommand::HireNewStaffMember, + GameCommand::SetStaffPatrol, + GameCommand::FireStaffMember, + GameCommand::SetStaffOrders, + GameCommand::SetStaffCostume, + GameCommand::SetStaffColour, + GameCommand::SetStaffName, + GameCommand::PickupStaff, }, }, NetworkAction{ STR_ACTION_PARK_PROPERTIES, "PERMISSION_PARK_PROPERTIES", { - GAME_COMMAND_SET_PARK_NAME, - GAME_COMMAND_SET_PARK_OPEN, - GAME_COMMAND_SET_PARK_ENTRANCE_FEE, - GAME_COMMAND_SET_LAND_OWNERSHIP, - GAME_COMMAND_BUY_LAND_RIGHTS, - GAME_COMMAND_PLACE_PARK_ENTRANCE, - GAME_COMMAND_REMOVE_PARK_ENTRANCE, - GAME_COMMAND_PLACE_PEEP_SPAWN, + GameCommand::SetParkName, + GameCommand::SetParkOpen, + GameCommand::SetParkEntranceFee, + GameCommand::SetLandOwnership, + GameCommand::BuyLandRights, + GameCommand::PlaceParkEntrance, + GameCommand::RemoveParkEntrance, + GameCommand::PlacePeepSpawn, }, }, NetworkAction{ STR_ACTION_PARK_FUNDING, "PERMISSION_PARK_FUNDING", { - GAME_COMMAND_SET_CURRENT_LOAN, - GAME_COMMAND_SET_RESEARCH_FUNDING, - GAME_COMMAND_START_MARKETING_CAMPAIGN, + GameCommand::SetCurrentLoan, + GameCommand::SetResearchFunding, + GameCommand::StartMarketingCampaign, }, }, NetworkAction{ STR_ACTION_KICK_PLAYER, "PERMISSION_KICK_PLAYER", { - GAME_COMMAND_KICK_PLAYER, + GameCommand::KickPlayer, }, }, NetworkAction{ STR_ACTION_MODIFY_GROUPS, "PERMISSION_MODIFY_GROUPS", { - GAME_COMMAND_MODIFY_GROUPS, + GameCommand::ModifyGroups, }, }, NetworkAction{ STR_ACTION_SET_PLAYER_GROUP, "PERMISSION_SET_PLAYER_GROUP", { - GAME_COMMAND_SET_PLAYER_GROUP, + GameCommand::SetPlayerGroup, }, }, NetworkAction{ STR_ACTION_CHEAT, "PERMISSION_CHEAT", { - GAME_COMMAND_CHEAT, - GAME_COMMAND_SET_DATE, + GameCommand::Cheat, + GameCommand::SetDate, }, }, NetworkAction{ STR_ACTION_TOGGLE_SCENERY_CLUSTER, "PERMISSION_TOGGLE_SCENERY_CLUSTER", { - MISC_COMMAND_TOGGLE_SCENERY_CLUSTER, + GameCommand::ToggleSceneryCluster, }, }, NetworkAction{ STR_ACTION_PASSWORDLESS_LOGIN, "PERMISSION_PASSWORDLESS_LOGIN", { - MISC_COMMAND_PASSWORDLESS_LOGIN, + GameCommand::PasswordlessLogin, }, }, NetworkAction{ STR_ACTION_MODIFY_TILE, "PERMISSION_MODIFY_TILE", { - GAME_COMMAND_MODIFY_TILE, + GameCommand::ModifyTile, }, }, NetworkAction{ STR_ACTION_EDIT_SCENARIO_OPTIONS, "PERMISSION_EDIT_SCENARIO_OPTIONS", { - GAME_COMMAND_EDIT_SCENARIO_OPTIONS, - GAME_COMMAND_SET_CLIMATE, + GameCommand::EditScenarioOptions, + GameCommand::SetClimate, }, }, }; diff --git a/src/openrct2/network/NetworkAction.h b/src/openrct2/network/NetworkAction.h index 4a6a6de8cc..49e63339e7 100644 --- a/src/openrct2/network/NetworkAction.h +++ b/src/openrct2/network/NetworkAction.h @@ -9,19 +9,13 @@ #pragma once +#include "../Game.h" #include "../common.h" #include #include #include -enum MISC_COMMAND -{ - MISC_COMMAND_CHAT = -1, - MISC_COMMAND_TOGGLE_SCENERY_CLUSTER = -2, - MISC_COMMAND_PASSWORDLESS_LOGIN = -3, -}; - enum class NetworkPermission : uint32_t { Chat, @@ -56,7 +50,7 @@ class NetworkAction final public: rct_string_id Name; std::string PermissionName; - std::vector Commands; + std::vector Commands; }; class NetworkActions final @@ -64,6 +58,6 @@ class NetworkActions final public: static const std::array(NetworkPermission::Count)> Actions; - static NetworkPermission FindCommand(int32_t command); + static NetworkPermission FindCommand(GameCommand command); static NetworkPermission FindCommandByPermissionName(const std::string& permission_name); }; diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index 217c838375..98af0414c6 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -2560,7 +2560,7 @@ void NetworkBase::Server_Handle_AUTH(NetworkConnection& connection, NetworkPacke if (connection.AuthStatus == NetworkAuth::Verified) { const NetworkGroup* group = GetGroupByID(GetGroupIDByHash(connection.Key.PublicKeyHash())); - passwordless = group->CanPerformCommand(MISC_COMMAND_PASSWORDLESS_LOGIN); + passwordless = group->CanPerformCommand(GameCommand::PasswordlessLogin); } if (!gameversion || network_get_version() != gameversion) { @@ -2863,7 +2863,7 @@ void NetworkBase::Server_Handle_CHAT(NetworkConnection& connection, NetworkPacke if (connection.Player) { NetworkGroup* group = GetGroupByID(connection.Player->Group); - if (!group || !group->CanPerformCommand(MISC_COMMAND_CHAT)) + if (!group || !group->CanPerformCommand(GameCommand::Chat)) { return; } @@ -2887,7 +2887,7 @@ void NetworkBase::Server_Handle_CHAT(NetworkConnection& connection, NetworkPacke void NetworkBase::Client_Handle_GAME_ACTION([[maybe_unused]] NetworkConnection& connection, NetworkPacket& packet) { uint32_t tick; - uint32_t actionType; + GameCommand actionType; packet >> tick >> actionType; MemoryStream stream; @@ -2923,7 +2923,7 @@ void NetworkBase::Client_Handle_GAME_ACTION([[maybe_unused]] NetworkConnection& void NetworkBase::Server_Handle_GAME_ACTION(NetworkConnection& connection, NetworkPacket& packet) { uint32_t tick; - uint32_t actionType; + GameCommand actionType; NetworkPlayer* player = connection.Player; if (player == nullptr) @@ -2934,12 +2934,12 @@ void NetworkBase::Server_Handle_GAME_ACTION(NetworkConnection& connection, Netwo packet >> tick >> actionType; // Don't let clients send pause or quit - if (actionType == GAME_COMMAND_TOGGLE_PAUSE || actionType == GAME_COMMAND_LOAD_OR_QUIT) + if (actionType == GameCommand::TogglePause || actionType == GameCommand::LoadOrQuit) { return; } - if (actionType != GAME_COMMAND_CUSTOM) + if (actionType != GameCommand::Custom) { // Check if player's group permission allows command to run NetworkGroup* group = GetGroupByID(connection.Player->Group); @@ -3359,7 +3359,7 @@ int32_t network_get_player_last_action(uint32_t index, int32_t time) return gNetwork.player_list[index]->LastAction; } -void network_set_player_last_action(uint32_t index, int32_t command) +void network_set_player_last_action(uint32_t index, GameCommand command) { Guard::IndexInRange(index, gNetwork.player_list); @@ -3724,7 +3724,7 @@ int32_t network_can_perform_command(uint32_t groupindex, int32_t index) { Guard::IndexInRange(groupindex, gNetwork.group_list); - return gNetwork.group_list[groupindex]->CanPerformCommand(index); + return gNetwork.group_list[groupindex]->CanPerformCommand(static_cast(index)); // TODO } void network_set_pickup_peep(uint8_t playerid, Peep* peep) @@ -4059,7 +4059,7 @@ int32_t network_get_player_last_action(uint32_t index, int32_t time) { return -999; } -void network_set_player_last_action(uint32_t index, int32_t command) +void network_set_player_last_action(uint32_t index, GameCommand command) { } CoordsXYZ network_get_player_last_action_coord(uint32_t index) diff --git a/src/openrct2/network/NetworkGroup.cpp b/src/openrct2/network/NetworkGroup.cpp index 38e24d6647..5a1ea10d9c 100644 --- a/src/openrct2/network/NetworkGroup.cpp +++ b/src/openrct2/network/NetworkGroup.cpp @@ -118,7 +118,7 @@ bool NetworkGroup::CanPerformAction(NetworkPermission index) const return (ActionsAllowed[byte] & (1 << bit)) != 0; } -bool NetworkGroup::CanPerformCommand(int32_t command) const +bool NetworkGroup::CanPerformCommand(GameCommand command) const { NetworkPermission action = NetworkActions::FindCommand(command); if (action != NetworkPermission::Count) diff --git a/src/openrct2/network/NetworkGroup.h b/src/openrct2/network/NetworkGroup.h index 92533cb0ae..0083a2406e 100644 --- a/src/openrct2/network/NetworkGroup.h +++ b/src/openrct2/network/NetworkGroup.h @@ -9,6 +9,7 @@ #pragma once +#include "../Game.h" #include "../common.h" #include "NetworkPacket.h" @@ -39,7 +40,7 @@ public: void Write(NetworkPacket& packet); void ToggleActionPermission(NetworkPermission index); bool CanPerformAction(NetworkPermission index) const; - bool CanPerformCommand(int32_t command) const; + bool CanPerformCommand(GameCommand command) const; /** * Serialise a NetworkGroup object into a JSON object diff --git a/src/openrct2/network/NetworkPlayer.h b/src/openrct2/network/NetworkPlayer.h index 1663dd618a..422fb5b1fd 100644 --- a/src/openrct2/network/NetworkPlayer.h +++ b/src/openrct2/network/NetworkPlayer.h @@ -9,6 +9,7 @@ #pragma once +#include "../Game.h" #include "../common.h" #include "../peep/Peep.h" #include "../world/Map.h" @@ -37,7 +38,7 @@ public: std::string KeyHash; uint32_t LastDemolishRideTime = 0; uint32_t LastPlaceSceneryTime = 0; - std::unordered_map CooldownTime; + std::unordered_map CooldownTime; NetworkPlayer() = default; void SetName(const std::string& name); diff --git a/src/openrct2/network/network.h b/src/openrct2/network/network.h index e5424b7ee0..2876339f21 100644 --- a/src/openrct2/network/network.h +++ b/src/openrct2/network/network.h @@ -14,6 +14,7 @@ #define NETWORK_LAN_BROADCAST_MSG "openrct2.server.query" #define MAX_SERVER_DESCRIPTION_LENGTH 256 +#include "../Game.h" #include "../common.h" #include "../core/JsonFwd.hpp" #include "../localisation/StringIds.h" @@ -70,7 +71,7 @@ std::string network_get_player_ip_address(uint32_t id); std::string network_get_player_public_key_hash(uint32_t id); void network_add_player_money_spent(uint32_t index, money32 cost); int32_t network_get_player_last_action(uint32_t index, int32_t time); -void network_set_player_last_action(uint32_t index, int32_t command); +void network_set_player_last_action(uint32_t index, GameCommand command); CoordsXYZ network_get_player_last_action_coord(uint32_t index); void network_set_player_last_action_coord(uint32_t index, const CoordsXYZ& coord); uint32_t network_get_player_commands_ran(uint32_t index); diff --git a/src/openrct2/scripting/ScriptEngine.cpp b/src/openrct2/scripting/ScriptEngine.cpp index 18dc9d1530..0eb59fac37 100644 --- a/src/openrct2/scripting/ScriptEngine.cpp +++ b/src/openrct2/scripting/ScriptEngine.cpp @@ -850,7 +850,7 @@ DukValue ScriptEngine::GameActionResultToDuk(const GameAction& action, const std obj.Set("expenditureType", ExpenditureTypeToString(result->Expenditure)); } - if (action.GetType() == GAME_COMMAND_CREATE_RIDE) + if (action.GetType() == GameCommand::CreateRide) { auto& rideCreateResult = static_cast(*result.get()); if (rideCreateResult.rideIndex != RIDE_ID_NULL) @@ -858,7 +858,7 @@ DukValue ScriptEngine::GameActionResultToDuk(const GameAction& action, const std obj.Set("ride", rideCreateResult.rideIndex); } } - else if (action.GetType() == GAME_COMMAND_HIRE_NEW_STAFF_MEMBER) + else if (action.GetType() == GameCommand::HireNewStaffMember) { auto& staffHireResult = static_cast(*result.get()); if (staffHireResult.peepSriteIndex != SPRITE_INDEX_NULL) @@ -960,88 +960,88 @@ public: } }; -const static std::unordered_map ActionNameToType = { - { "balloonpress", GAME_COMMAND_BALLOON_PRESS }, - { "bannerplace", GAME_COMMAND_PLACE_BANNER }, - { "bannerremove", GAME_COMMAND_REMOVE_BANNER }, - { "bannersetcolour", GAME_COMMAND_SET_BANNER_COLOUR }, - { "bannersetname", GAME_COMMAND_SET_BANNER_NAME }, - { "bannersetstyle", GAME_COMMAND_SET_BANNER_STYLE }, - { "clearscenery", GAME_COMMAND_CLEAR_SCENERY }, - { "climateset", GAME_COMMAND_SET_CLIMATE }, - { "footpathplace", GAME_COMMAND_PLACE_PATH }, - { "footpathplacefromtrack", GAME_COMMAND_PLACE_PATH_FROM_TRACK }, - { "footpathremove", GAME_COMMAND_REMOVE_PATH }, - { "footpathadditionplace", GAME_COMMAND_PLACE_FOOTPATH_ADDITION }, - { "footpathadditionremove", GAME_COMMAND_REMOVE_FOOTPATH_ADDITION }, - { "guestsetflags", GAME_COMMAND_GUEST_SET_FLAGS }, - { "guestsetname", GAME_COMMAND_SET_GUEST_NAME }, - { "landbuyrights", GAME_COMMAND_BUY_LAND_RIGHTS }, - { "landlower", GAME_COMMAND_LOWER_LAND }, - { "landraise", GAME_COMMAND_RAISE_LAND }, - { "landsetheight", GAME_COMMAND_SET_LAND_HEIGHT }, - { "landsetrights", GAME_COMMAND_SET_LAND_OWNERSHIP }, - { "landsmoothaction", GAME_COMMAND_EDIT_LAND_SMOOTH }, - { "largesceneryplace", GAME_COMMAND_PLACE_LARGE_SCENERY }, - { "largesceneryremove", GAME_COMMAND_REMOVE_LARGE_SCENERY }, - { "largescenerysetcolour", GAME_COMMAND_SET_SCENERY_COLOUR }, - { "loadorquit", GAME_COMMAND_LOAD_OR_QUIT }, - { "mazeplacetrack", GAME_COMMAND_PLACE_MAZE_DESIGN }, - { "mazesettrack", GAME_COMMAND_SET_MAZE_TRACK }, - { "networkmodifygroup", GAME_COMMAND_MODIFY_GROUPS }, - { "parkentranceremove", GAME_COMMAND_REMOVE_PARK_ENTRANCE }, - { "parkmarketing", GAME_COMMAND_START_MARKETING_CAMPAIGN }, - { "parksetdate", GAME_COMMAND_SET_DATE }, - { "parksetloan", GAME_COMMAND_SET_CURRENT_LOAN }, - { "parksetname", GAME_COMMAND_SET_PARK_NAME }, - { "parksetparameter", GAME_COMMAND_SET_PARK_OPEN }, - { "parksetresearchfunding", GAME_COMMAND_SET_RESEARCH_FUNDING }, - { "pausetoggle", GAME_COMMAND_TOGGLE_PAUSE }, - { "peeppickup", GAME_COMMAND_PICKUP_GUEST }, - { "placeparkentrance", GAME_COMMAND_PLACE_PARK_ENTRANCE }, - { "placepeepspawn", GAME_COMMAND_PLACE_PEEP_SPAWN }, - { "playerkick", GAME_COMMAND_KICK_PLAYER }, - { "playersetgroup", GAME_COMMAND_SET_PLAYER_GROUP }, - { "ridecreate", GAME_COMMAND_CREATE_RIDE }, - { "ridedemolish", GAME_COMMAND_DEMOLISH_RIDE }, - { "rideentranceexitplace", GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT }, - { "rideentranceexitremove", GAME_COMMAND_REMOVE_RIDE_ENTRANCE_OR_EXIT }, - { "ridesetappearance", GAME_COMMAND_SET_RIDE_APPEARANCE }, - { "ridesetcolourscheme", GAME_COMMAND_SET_COLOUR_SCHEME }, - { "ridesetname", GAME_COMMAND_SET_RIDE_NAME }, - { "ridesetprice", GAME_COMMAND_SET_RIDE_PRICE }, - { "ridesetsetting", GAME_COMMAND_SET_RIDE_SETTING }, - { "ridesetstatus", GAME_COMMAND_SET_RIDE_STATUS }, - { "ridesetvehicles", GAME_COMMAND_SET_RIDE_VEHICLES }, - { "scenariosetsetting", GAME_COMMAND_EDIT_SCENARIO_OPTIONS }, - { "setcheataction", GAME_COMMAND_CHEAT }, - { "setparkentrancefee", GAME_COMMAND_SET_PARK_ENTRANCE_FEE }, - { "signsetname", GAME_COMMAND_SET_SIGN_NAME }, - { "signsetstyle", GAME_COMMAND_SET_SIGN_STYLE }, - { "smallsceneryplace", GAME_COMMAND_PLACE_SCENERY }, - { "smallsceneryremove", GAME_COMMAND_REMOVE_SCENERY }, - { "stafffire", GAME_COMMAND_FIRE_STAFF_MEMBER }, - { "staffhire", GAME_COMMAND_HIRE_NEW_STAFF_MEMBER }, - { "staffsetcolour", GAME_COMMAND_SET_STAFF_COLOUR }, - { "staffsetcostume", GAME_COMMAND_SET_STAFF_COSTUME }, - { "staffsetname", GAME_COMMAND_SET_STAFF_NAME }, - { "staffsetorders", GAME_COMMAND_SET_STAFF_ORDERS }, - { "staffsetpatrolarea", GAME_COMMAND_SET_STAFF_PATROL }, - { "surfacesetstyle", GAME_COMMAND_CHANGE_SURFACE_STYLE }, - { "tilemodify", GAME_COMMAND_MODIFY_TILE }, - { "trackdesign", GAME_COMMAND_PLACE_TRACK_DESIGN }, - { "trackplace", GAME_COMMAND_PLACE_TRACK }, - { "trackremove", GAME_COMMAND_REMOVE_TRACK }, - { "tracksetbrakespeed", GAME_COMMAND_SET_BRAKES_SPEED }, - { "wallplace", GAME_COMMAND_PLACE_WALL }, - { "wallremove", GAME_COMMAND_REMOVE_WALL }, - { "wallsetcolour", GAME_COMMAND_SET_WALL_COLOUR }, - { "waterlower", GAME_COMMAND_LOWER_WATER }, - { "waterraise", GAME_COMMAND_RAISE_WATER }, - { "watersetheight", GAME_COMMAND_SET_WATER_HEIGHT } +const static std::unordered_map ActionNameToType = { + { "balloonpress", GameCommand::BalloonPress }, + { "bannerplace", GameCommand::PlaceBanner }, + { "bannerremove", GameCommand::RemoveBanner }, + { "bannersetcolour", GameCommand::SetBannerColour }, + { "bannersetname", GameCommand::SetBannerName }, + { "bannersetstyle", GameCommand::SetBannerStyle }, + { "clearscenery", GameCommand::ClearScenery }, + { "climateset", GameCommand::SetClimate }, + { "footpathplace", GameCommand::PlacePath }, + { "footpathplacefromtrack", GameCommand::PlacePathFromTrack }, + { "footpathremove", GameCommand::RemovePath }, + { "footpathadditionplace", GameCommand::PlaceFootpathAddition }, + { "footpathadditionremove", GameCommand::RemoveFootpathAddition }, + { "guestsetflags", GameCommand::GuestSetFlags }, + { "guestsetname", GameCommand::SetGuestName }, + { "landbuyrights", GameCommand::BuyLandRights }, + { "landlower", GameCommand::LowerLand }, + { "landraise", GameCommand::RaiseLand }, + { "landsetheight", GameCommand::SetLandHeight }, + { "landsetrights", GameCommand::SetLandOwnership }, + { "landsmoothaction", GameCommand::EditLandSmooth }, + { "largesceneryplace", GameCommand::PlaceLargeScenery }, + { "largesceneryremove", GameCommand::RemoveLargeScenery }, + { "largescenerysetcolour", GameCommand::SetSceneryColour }, + { "loadorquit", GameCommand::LoadOrQuit }, + { "mazeplacetrack", GameCommand::PlaceMazeDesign }, + { "mazesettrack", GameCommand::SetMazeTrack }, + { "networkmodifygroup", GameCommand::ModifyGroups }, + { "parkentranceremove", GameCommand::RemoveParkEntrance }, + { "parkmarketing", GameCommand::StartMarketingCampaign }, + { "parksetdate", GameCommand::SetDate }, + { "parksetloan", GameCommand::SetCurrentLoan }, + { "parksetname", GameCommand::SetParkName }, + { "parksetparameter", GameCommand::SetParkOpen }, + { "parksetresearchfunding", GameCommand::SetResearchFunding }, + { "pausetoggle", GameCommand::TogglePause }, + { "peeppickup", GameCommand::PickupGuest }, + { "placeparkentrance", GameCommand::PlaceParkEntrance }, + { "placepeepspawn", GameCommand::PlacePeepSpawn }, + { "playerkick", GameCommand::KickPlayer }, + { "playersetgroup", GameCommand::SetPlayerGroup }, + { "ridecreate", GameCommand::CreateRide }, + { "ridedemolish", GameCommand::DemolishRide }, + { "rideentranceexitplace", GameCommand::PlaceRideEntranceOrExit }, + { "rideentranceexitremove", GameCommand::RemoveRideEntranceOrExit }, + { "ridesetappearance", GameCommand::SetRideAppearance }, + { "ridesetcolourscheme", GameCommand::SetColourScheme }, + { "ridesetname", GameCommand::SetRideName }, + { "ridesetprice", GameCommand::SetRidePrice }, + { "ridesetsetting", GameCommand::SetRideSetting }, + { "ridesetstatus", GameCommand::SetRideStatus }, + { "ridesetvehicles", GameCommand::SetRideVehicles }, + { "scenariosetsetting", GameCommand::EditScenarioOptions }, + { "setcheataction", GameCommand::Cheat }, + { "setparkentrancefee", GameCommand::SetParkEntranceFee }, + { "signsetname", GameCommand::SetSignName }, + { "signsetstyle", GameCommand::SetSignStyle }, + { "smallsceneryplace", GameCommand::PlaceScenery }, + { "smallsceneryremove", GameCommand::RemoveScenery }, + { "stafffire", GameCommand::FireStaffMember }, + { "staffhire", GameCommand::HireNewStaffMember }, + { "staffsetcolour", GameCommand::SetStaffColour }, + { "staffsetcostume", GameCommand::SetStaffCostume }, + { "staffsetname", GameCommand::SetStaffName }, + { "staffsetorders", GameCommand::SetStaffOrders }, + { "staffsetpatrolarea", GameCommand::SetStaffPatrol }, + { "surfacesetstyle", GameCommand::ChangeSurfaceStyle }, + { "tilemodify", GameCommand::ModifyTile }, + { "trackdesign", GameCommand::PlaceTrackDesign }, + { "trackplace", GameCommand::PlaceTrack }, + { "trackremove", GameCommand::RemoveTrack }, + { "tracksetbrakespeed", GameCommand::SetBrakesSpeed }, + { "wallplace", GameCommand::PlaceWall }, + { "wallremove", GameCommand::RemoveWall }, + { "wallsetcolour", GameCommand::SetWallColour }, + { "waterlower", GameCommand::LowerWater }, + { "waterraise", GameCommand::RaiseWater }, + { "watersetheight", GameCommand::SetWaterHeight } }; -static std::string GetActionName(uint32_t commandId) +static std::string GetActionName(GameCommand commandId) { auto it = std::find_if( ActionNameToType.begin(), ActionNameToType.end(), [commandId](const auto& kvp) { return kvp.second == commandId; }); @@ -1072,7 +1072,7 @@ void ScriptEngine::RunGameActionHooks(const GameAction& action, std::unique_ptr< DukObject obj(_context); auto actionId = action.GetType(); - if (action.GetType() == GAME_COMMAND_CUSTOM) + if (action.GetType() == GameCommand::Custom) { auto customAction = static_cast(action); obj.Set("action", customAction.GetId()); @@ -1104,7 +1104,7 @@ void ScriptEngine::RunGameActionHooks(const GameAction& action, std::unique_ptr< } obj.Set("player", action.GetPlayer()); - obj.Set("type", actionId); + obj.Set("type", EnumValue(actionId)); auto flags = action.GetActionFlags(); obj.Set("isClientOnly", (flags & GameActions::Flags::ClientOnly) != 0);