From 6ee798337a85efc6cdcfcef84ef5cae54cd2b536 Mon Sep 17 00:00:00 2001 From: Aaron van Geffen Date: Sun, 15 Dec 2024 17:39:52 +0100 Subject: [PATCH] Introduce EnumUtils header (#23407) --- src/openrct2-ui/CursorData.cpp | 2 +- src/openrct2-ui/CursorRepository.h | 2 +- .../drawing/engines/opengl/TextureCache.cpp | 2 +- src/openrct2-ui/input/Shortcuts.cpp | 2 +- src/openrct2-ui/interface/Dropdown.h | 2 +- src/openrct2-ui/ride/Construction.h | 2 +- src/openrct2-ui/ride/VehicleSounds.cpp | 1 + src/openrct2-ui/windows/Cheats.cpp | 1 + src/openrct2-ui/windows/CustomCurrency.cpp | 2 +- .../windows/EditorObjectSelection.cpp | 2 +- src/openrct2-ui/windows/Guest.cpp | 1 + src/openrct2-ui/windows/Options.cpp | 2 +- src/openrct2-ui/windows/Ride.cpp | 1 + src/openrct2-ui/windows/Scenery.cpp | 1 + src/openrct2-ui/windows/StaffList.cpp | 1 + src/openrct2/Diagnostic.cpp | 2 +- src/openrct2/Editor.cpp | 2 +- src/openrct2/EditorObjectSelectionSession.h | 2 +- src/openrct2/GameState.h | 2 +- src/openrct2/PlatformEnvironment.cpp | 2 +- src/openrct2/actions/CheatSetAction.cpp | 1 + src/openrct2/actions/LandBuyRightsAction.cpp | 2 +- .../actions/ParkSetParameterAction.cpp | 2 +- src/openrct2/actions/RideSetVehicleAction.cpp | 2 +- src/openrct2/audio/Audio.cpp | 1 + src/openrct2/config/Config.cpp | 2 +- src/openrct2/core/BitSet.hpp | 2 +- src/openrct2/core/EnumUtils.hpp | 39 +++++++++++++++++++ src/openrct2/core/FlagHolder.hpp | 2 +- src/openrct2/drawing/Drawing.cpp | 3 +- src/openrct2/drawing/Font.cpp | 2 +- src/openrct2/drawing/ImageImporter.h | 2 +- src/openrct2/drawing/LightFX.cpp | 1 + src/openrct2/drawing/ScrollingText.cpp | 2 +- src/openrct2/drawing/TTF.cpp | 2 +- src/openrct2/entity/Guest.cpp | 1 + src/openrct2/entity/Peep.cpp | 2 +- src/openrct2/entity/Staff.cpp | 2 +- src/openrct2/entity/Staff.h | 3 +- src/openrct2/entity/Yaw.hpp | 2 +- src/openrct2/interface/Colour.cpp | 2 +- src/openrct2/interface/Fonts.cpp | 2 +- src/openrct2/interface/InteractiveConsole.cpp | 1 + src/openrct2/interface/Screenshot.cpp | 2 +- src/openrct2/interface/Window.h | 2 +- src/openrct2/libopenrct2.vcxproj | 1 + src/openrct2/localisation/Currency.cpp | 2 +- src/openrct2/localisation/Currency.h | 3 +- src/openrct2/management/Finance.cpp | 1 + src/openrct2/management/Research.cpp | 2 +- src/openrct2/network/NetworkBase.cpp | 3 +- src/openrct2/network/NetworkTypes.h | 2 +- src/openrct2/network/network.h | 1 + src/openrct2/object/ObjectList.cpp | 2 +- src/openrct2/object/ObjectManager.cpp | 2 +- src/openrct2/object/ObjectRepository.cpp | 2 +- src/openrct2/object/ObjectTypes.cpp | 2 +- src/openrct2/object/StringTable.cpp | 2 +- src/openrct2/paint/support/MetalSupports.cpp | 2 +- .../paint/tile_element/Paint.LargeScenery.cpp | 2 +- .../paint/tile_element/Paint.SmallScenery.cpp | 2 +- .../paint/tile_element/Paint.Tunnel.cpp | 2 +- src/openrct2/paint/tile_element/Segment.h | 2 +- src/openrct2/peep/PeepAnimationData.h | 2 +- src/openrct2/peep/PeepAnimations.h | 2 +- src/openrct2/rct1/S4Importer.cpp | 2 +- src/openrct2/rct12/RCT12.h | 3 +- src/openrct2/rct2/S6Importer.cpp | 2 +- src/openrct2/ride/CableLift.cpp | 1 + src/openrct2/ride/CarEntry.h | 2 +- src/openrct2/ride/Ride.cpp | 1 + src/openrct2/ride/RideData.h | 2 +- src/openrct2/ride/TrackData.cpp | 2 +- src/openrct2/ride/TrackDesign.h | 2 +- src/openrct2/ride/Vehicle.cpp | 1 + src/openrct2/ride/VehicleSubpositionData.h | 2 +- src/openrct2/scenario/Scenario.cpp | 1 + src/openrct2/scenes/title/TitleScene.cpp | 1 + src/openrct2/util/Util.h | 26 ------------- src/openrct2/world/Climate.cpp | 1 + src/openrct2/world/Map.cpp | 2 +- src/openrct2/world/MapGen.cpp | 1 + src/openrct2/world/Park.cpp | 1 + .../world/tile_element/TileElementBase.cpp | 2 +- test/tests/StringTest.cpp | 2 +- 85 files changed, 127 insertions(+), 87 deletions(-) create mode 100644 src/openrct2/core/EnumUtils.hpp diff --git a/src/openrct2-ui/CursorData.cpp b/src/openrct2-ui/CursorData.cpp index c06f6b84bd..bfdee34053 100644 --- a/src/openrct2-ui/CursorData.cpp +++ b/src/openrct2-ui/CursorData.cpp @@ -10,8 +10,8 @@ #include "CursorData.h" #include +#include #include -#include namespace OpenRCT2::Ui { diff --git a/src/openrct2-ui/CursorRepository.h b/src/openrct2-ui/CursorRepository.h index ad0efe7d05..e28bb117a4 100644 --- a/src/openrct2-ui/CursorRepository.h +++ b/src/openrct2-ui/CursorRepository.h @@ -12,8 +12,8 @@ #include #include #include +#include #include -#include struct SDL_Cursor; diff --git a/src/openrct2-ui/drawing/engines/opengl/TextureCache.cpp b/src/openrct2-ui/drawing/engines/opengl/TextureCache.cpp index 57c220001b..feba41b77f 100644 --- a/src/openrct2-ui/drawing/engines/opengl/TextureCache.cpp +++ b/src/openrct2-ui/drawing/engines/opengl/TextureCache.cpp @@ -13,9 +13,9 @@ #include #include + #include #include #include - #include #include #include #include diff --git a/src/openrct2-ui/input/Shortcuts.cpp b/src/openrct2-ui/input/Shortcuts.cpp index b2412ca430..557ab55545 100644 --- a/src/openrct2-ui/input/Shortcuts.cpp +++ b/src/openrct2-ui/input/Shortcuts.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -39,7 +40,6 @@ #include #include #include -#include #include #include #include diff --git a/src/openrct2-ui/interface/Dropdown.h b/src/openrct2-ui/interface/Dropdown.h index 70fd512833..334b094d2a 100644 --- a/src/openrct2-ui/interface/Dropdown.h +++ b/src/openrct2-ui/interface/Dropdown.h @@ -11,8 +11,8 @@ #include #include +#include #include -#include namespace OpenRCT2::Dropdown { diff --git a/src/openrct2-ui/ride/Construction.h b/src/openrct2-ui/ride/Construction.h index 392edf426c..753189588d 100644 --- a/src/openrct2-ui/ride/Construction.h +++ b/src/openrct2-ui/ride/Construction.h @@ -9,9 +9,9 @@ #pragma once +#include #include #include -#include namespace OpenRCT2 { diff --git a/src/openrct2-ui/ride/VehicleSounds.cpp b/src/openrct2-ui/ride/VehicleSounds.cpp index 361ff999b6..477e7e0a62 100644 --- a/src/openrct2-ui/ride/VehicleSounds.cpp +++ b/src/openrct2-ui/ride/VehicleSounds.cpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include diff --git a/src/openrct2-ui/windows/Cheats.cpp b/src/openrct2-ui/windows/Cheats.cpp index 5469dd4f6a..c12d6af564 100644 --- a/src/openrct2-ui/windows/Cheats.cpp +++ b/src/openrct2-ui/windows/Cheats.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include diff --git a/src/openrct2-ui/windows/CustomCurrency.cpp b/src/openrct2-ui/windows/CustomCurrency.cpp index 84f7ebfc07..5744f37775 100644 --- a/src/openrct2-ui/windows/CustomCurrency.cpp +++ b/src/openrct2-ui/windows/CustomCurrency.cpp @@ -12,12 +12,12 @@ #include #include #include +#include #include #include #include #include #include -#include namespace OpenRCT2::Ui::Windows { diff --git a/src/openrct2-ui/windows/EditorObjectSelection.cpp b/src/openrct2-ui/windows/EditorObjectSelection.cpp index f6fc84853c..9c75497b56 100644 --- a/src/openrct2-ui/windows/EditorObjectSelection.cpp +++ b/src/openrct2-ui/windows/EditorObjectSelection.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -37,7 +38,6 @@ #include #include #include -#include #include #include #include diff --git a/src/openrct2-ui/windows/Guest.cpp b/src/openrct2-ui/windows/Guest.cpp index 4a832fd30f..22087d2ea5 100644 --- a/src/openrct2-ui/windows/Guest.cpp +++ b/src/openrct2-ui/windows/Guest.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include diff --git a/src/openrct2-ui/windows/Options.cpp b/src/openrct2-ui/windows/Options.cpp index 547bb2895e..7c8830003a 100644 --- a/src/openrct2-ui/windows/Options.cpp +++ b/src/openrct2-ui/windows/Options.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -44,7 +45,6 @@ #include #include #include -#include using namespace OpenRCT2; using namespace OpenRCT2::Audio; diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index 77a54a1d82..20e54b0bdb 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -64,6 +64,7 @@ #include #include #include +#include #include #include #include diff --git a/src/openrct2-ui/windows/Scenery.cpp b/src/openrct2-ui/windows/Scenery.cpp index 26b9ef0030..e1d94ad0de 100644 --- a/src/openrct2-ui/windows/Scenery.cpp +++ b/src/openrct2-ui/windows/Scenery.cpp @@ -49,6 +49,7 @@ #include #include #include +#include #include #include #include diff --git a/src/openrct2-ui/windows/StaffList.cpp b/src/openrct2-ui/windows/StaffList.cpp index 33734576f1..21544a7a13 100644 --- a/src/openrct2-ui/windows/StaffList.cpp +++ b/src/openrct2-ui/windows/StaffList.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include diff --git a/src/openrct2/Diagnostic.cpp b/src/openrct2/Diagnostic.cpp index 1f3ba3f0fe..ee966e58cb 100644 --- a/src/openrct2/Diagnostic.cpp +++ b/src/openrct2/Diagnostic.cpp @@ -10,8 +10,8 @@ #include "Diagnostic.h" #include "core/Console.hpp" +#include "core/EnumUtils.hpp" #include "core/String.hpp" -#include "util/Util.h" #include #include diff --git a/src/openrct2/Editor.cpp b/src/openrct2/Editor.cpp index e75f9dda62..ff87250ceb 100644 --- a/src/openrct2/Editor.cpp +++ b/src/openrct2/Editor.cpp @@ -20,6 +20,7 @@ #include "actions/LandSetRightsAction.h" #include "actions/ResultWithMessage.h" #include "audio/audio.h" +#include "core/EnumUtils.hpp" #include "core/Path.hpp" #include "core/String.hpp" #include "entity/EntityList.h" @@ -39,7 +40,6 @@ #include "scenario/Scenario.h" #include "ui/UiContext.h" #include "ui/WindowManager.h" -#include "util/Util.h" #include "windows/Intent.h" #include "world/Climate.h" #include "world/Entrance.h" diff --git a/src/openrct2/EditorObjectSelectionSession.h b/src/openrct2/EditorObjectSelectionSession.h index f9235ef1f3..8d445d3d14 100644 --- a/src/openrct2/EditorObjectSelectionSession.h +++ b/src/openrct2/EditorObjectSelectionSession.h @@ -9,8 +9,8 @@ #pragma once +#include "core/EnumUtils.hpp" #include "object/Object.h" -#include "util/Util.h" #include diff --git a/src/openrct2/GameState.h b/src/openrct2/GameState.h index 8cc31ab26b..3f4f2f634c 100644 --- a/src/openrct2/GameState.h +++ b/src/openrct2/GameState.h @@ -13,6 +13,7 @@ #include "Date.h" #include "Editor.h" #include "Limits.h" +#include "core/EnumUtils.hpp" #include "interface/ZoomLevel.h" #include "management/Award.h" #include "management/Finance.h" @@ -21,7 +22,6 @@ #include "ride/Ride.h" #include "ride/RideRatings.h" #include "scenario/Scenario.h" -#include "util/Util.h" #include "world/Banner.h" #include "world/Climate.h" #include "world/Location.hpp" diff --git a/src/openrct2/PlatformEnvironment.cpp b/src/openrct2/PlatformEnvironment.cpp index 1ae1b5adfb..2c0c83c5a0 100644 --- a/src/openrct2/PlatformEnvironment.cpp +++ b/src/openrct2/PlatformEnvironment.cpp @@ -12,11 +12,11 @@ #include "Diagnostic.h" #include "OpenRCT2.h" #include "config/Config.h" +#include "core/EnumUtils.hpp" #include "core/File.h" #include "core/Path.hpp" #include "core/String.hpp" #include "platform/Platform.h" -#include "util/Util.h" using namespace OpenRCT2; diff --git a/src/openrct2/actions/CheatSetAction.cpp b/src/openrct2/actions/CheatSetAction.cpp index 7f32e0fc26..8d1776cc68 100644 --- a/src/openrct2/actions/CheatSetAction.cpp +++ b/src/openrct2/actions/CheatSetAction.cpp @@ -14,6 +14,7 @@ #include "../Diagnostic.h" #include "../GameState.h" #include "../config/Config.h" +#include "../core/EnumUtils.hpp" #include "../core/String.hpp" #include "../drawing/Drawing.h" #include "../entity/Duck.h" diff --git a/src/openrct2/actions/LandBuyRightsAction.cpp b/src/openrct2/actions/LandBuyRightsAction.cpp index 0e53666f3e..f28286ec6d 100644 --- a/src/openrct2/actions/LandBuyRightsAction.cpp +++ b/src/openrct2/actions/LandBuyRightsAction.cpp @@ -15,11 +15,11 @@ #include "../OpenRCT2.h" #include "../actions/LandSetHeightAction.h" #include "../audio/audio.h" +#include "../core/EnumUtils.hpp" #include "../interface/Window.h" #include "../localisation/StringIds.h" #include "../management/Finance.h" #include "../ride/RideData.h" -#include "../util/Util.h" #include "../windows/Intent.h" #include "../world/Park.h" #include "../world/Scenery.h" diff --git a/src/openrct2/actions/ParkSetParameterAction.cpp b/src/openrct2/actions/ParkSetParameterAction.cpp index 8b521afec8..28dfa0565c 100644 --- a/src/openrct2/actions/ParkSetParameterAction.cpp +++ b/src/openrct2/actions/ParkSetParameterAction.cpp @@ -11,9 +11,9 @@ #include "../Diagnostic.h" #include "../GameState.h" +#include "../core/EnumUtils.hpp" #include "../interface/Window.h" #include "../ride/ShopItem.h" -#include "../util/Util.h" #include "../world/Park.h" using namespace OpenRCT2; diff --git a/src/openrct2/actions/RideSetVehicleAction.cpp b/src/openrct2/actions/RideSetVehicleAction.cpp index b2b66d4549..85ff6de94e 100644 --- a/src/openrct2/actions/RideSetVehicleAction.cpp +++ b/src/openrct2/actions/RideSetVehicleAction.cpp @@ -13,6 +13,7 @@ #include "../Context.h" #include "../Diagnostic.h" #include "../GameState.h" +#include "../core/EnumUtils.hpp" #include "../core/MemoryStream.h" #include "../drawing/Drawing.h" #include "../interface/Window.h" @@ -23,7 +24,6 @@ #include "../ride/RideData.h" #include "../ui/UiContext.h" #include "../ui/WindowManager.h" -#include "../util/Util.h" #include "../world/Park.h" using namespace OpenRCT2; diff --git a/src/openrct2/audio/Audio.cpp b/src/openrct2/audio/Audio.cpp index 1ba0d268e8..314e3fa185 100644 --- a/src/openrct2/audio/Audio.cpp +++ b/src/openrct2/audio/Audio.cpp @@ -13,6 +13,7 @@ #include "../OpenRCT2.h" #include "../PlatformEnvironment.h" #include "../config/Config.h" +#include "../core/EnumUtils.hpp" #include "../core/File.h" #include "../core/FileStream.h" #include "../core/Memory.hpp" diff --git a/src/openrct2/config/Config.cpp b/src/openrct2/config/Config.cpp index ff0d585718..ed2df4c7e7 100644 --- a/src/openrct2/config/Config.cpp +++ b/src/openrct2/config/Config.cpp @@ -15,6 +15,7 @@ #include "../OpenRCT2.h" #include "../PlatformEnvironment.h" #include "../core/Console.hpp" +#include "../core/EnumUtils.hpp" #include "../core/File.h" #include "../core/FileStream.h" #include "../core/Path.hpp" @@ -31,7 +32,6 @@ #include "../rct1/Csg.h" #include "../scenario/Scenario.h" #include "../ui/UiContext.h" -#include "../util/Util.h" #include "ConfigEnum.hpp" #include "IniReader.hpp" #include "IniWriter.hpp" diff --git a/src/openrct2/core/BitSet.hpp b/src/openrct2/core/BitSet.hpp index 9c2c52784b..22bd03c450 100644 --- a/src/openrct2/core/BitSet.hpp +++ b/src/openrct2/core/BitSet.hpp @@ -8,7 +8,7 @@ *****************************************************************************/ #pragma once -#include "../util/Util.h" +#include "../core/EnumUtils.hpp" #include #include diff --git a/src/openrct2/core/EnumUtils.hpp b/src/openrct2/core/EnumUtils.hpp new file mode 100644 index 0000000000..a017f576ac --- /dev/null +++ b/src/openrct2/core/EnumUtils.hpp @@ -0,0 +1,39 @@ +/***************************************************************************** + * Copyright (c) 2014-2024 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. + *****************************************************************************/ + +#pragma once + +#include +#include + +template +[[nodiscard]] constexpr uint64_t EnumToFlag(T v) +{ + static_assert(std::is_enum_v); + return 1uLL << static_cast>(v); +} + +template +[[nodiscard]] constexpr uint64_t EnumsToFlags(T... types) +{ + return (EnumToFlag(types) | ...); +} + +template +constexpr auto EnumValue(TEnum enumerator) noexcept +{ + return static_cast>(enumerator); +} + +template +constexpr bool HasFlag(uint64_t holder, T v) +{ + static_assert(std::is_enum_v); + return (holder & EnumToFlag(v)) != 0; +} diff --git a/src/openrct2/core/FlagHolder.hpp b/src/openrct2/core/FlagHolder.hpp index 7d294a8c88..9e3c35c5f3 100644 --- a/src/openrct2/core/FlagHolder.hpp +++ b/src/openrct2/core/FlagHolder.hpp @@ -9,7 +9,7 @@ #pragma once -#include "../util/Util.h" +#include "../core/EnumUtils.hpp" template struct FlagHolder diff --git a/src/openrct2/drawing/Drawing.cpp b/src/openrct2/drawing/Drawing.cpp index f59f4946dc..37b9f4d918 100644 --- a/src/openrct2/drawing/Drawing.cpp +++ b/src/openrct2/drawing/Drawing.cpp @@ -21,6 +21,7 @@ #include "../object/WaterEntry.h" #include "../platform/Platform.h" #include "../sprites.h" +#include "../util/Util.h" #include "../world/Climate.h" #include "../world/Location.hpp" #include "LightFX.h" @@ -1161,4 +1162,4 @@ void DebugDPI(DrawPixelInfo& dpi) const auto str2 = std::to_string(dpi.y); DrawText(dpi, ScreenCoordsXY{ dpi.x, dpi.y + 6 }, { COLOUR_WHITE, FontStyle::Tiny }, str2.c_str()); -} \ No newline at end of file +} diff --git a/src/openrct2/drawing/Font.cpp b/src/openrct2/drawing/Font.cpp index 183c4a24f9..b961b9301c 100644 --- a/src/openrct2/drawing/Font.cpp +++ b/src/openrct2/drawing/Font.cpp @@ -10,12 +10,12 @@ #include "Font.h" #include "../Diagnostic.h" +#include "../core/EnumUtils.hpp" #include "../core/UTF8.h" #include "../core/UnicodeChar.h" #include "../localisation/LocalisationService.h" #include "../rct12/CSChar.h" #include "../sprites.h" -#include "../util/Util.h" #include "Drawing.h" #include "TTF.h" diff --git a/src/openrct2/drawing/ImageImporter.h b/src/openrct2/drawing/ImageImporter.h index 20fefbb07c..7a825177f9 100644 --- a/src/openrct2/drawing/ImageImporter.h +++ b/src/openrct2/drawing/ImageImporter.h @@ -9,9 +9,9 @@ #pragma once +#include "../core/EnumUtils.hpp" #include "../core/Imaging.h" #include "../core/JsonFwd.hpp" -#include "../util/Util.h" #include "Drawing.h" #include diff --git a/src/openrct2/drawing/LightFX.cpp b/src/openrct2/drawing/LightFX.cpp index b1ee8e3cac..c0135874b4 100644 --- a/src/openrct2/drawing/LightFX.cpp +++ b/src/openrct2/drawing/LightFX.cpp @@ -21,6 +21,7 @@ #include "../ride/Ride.h" #include "../ride/RideData.h" #include "../ride/Vehicle.h" +#include "../util/Util.h" #include "../world/Map.h" #include "../world/tile_element/TileElement.h" #include "Drawing.h" diff --git a/src/openrct2/drawing/ScrollingText.cpp b/src/openrct2/drawing/ScrollingText.cpp index 4b85b67609..732f5cc070 100644 --- a/src/openrct2/drawing/ScrollingText.cpp +++ b/src/openrct2/drawing/ScrollingText.cpp @@ -11,6 +11,7 @@ #include "../config/Config.h" #include "../core/CodepointView.hpp" +#include "../core/EnumUtils.hpp" #include "../core/String.hpp" #include "../interface/Colour.h" #include "../localisation/Formatter.h" @@ -18,7 +19,6 @@ #include "../localisation/LocalisationService.h" #include "../paint/Paint.h" #include "../sprites.h" -#include "../util/Util.h" #include "Drawing.h" #include "TTF.h" diff --git a/src/openrct2/drawing/TTF.cpp b/src/openrct2/drawing/TTF.cpp index 4cd6e3587d..4d4b8c6870 100644 --- a/src/openrct2/drawing/TTF.cpp +++ b/src/openrct2/drawing/TTF.cpp @@ -19,12 +19,12 @@ #pragma clang diagnostic pop #include "../OpenRCT2.h" + #include "../core/EnumUtils.hpp" #include "../core/Numerics.hpp" #include "../core/String.hpp" #include "../drawing/Font.h" #include "../localisation/LocalisationService.h" #include "../platform/Platform.h" - #include "../util/Util.h" #include "DrawingLock.hpp" #include "TTF.h" diff --git a/src/openrct2/entity/Guest.cpp b/src/openrct2/entity/Guest.cpp index 5281006f96..6ba12ff7b8 100644 --- a/src/openrct2/entity/Guest.cpp +++ b/src/openrct2/entity/Guest.cpp @@ -51,6 +51,7 @@ #include "../scripting/HookEngine.h" #include "../scripting/ScriptEngine.h" #include "../sprites.h" +#include "../util/Util.h" #include "../windows/Intent.h" #include "../world/Climate.h" #include "../world/Footpath.h" diff --git a/src/openrct2/entity/Peep.cpp b/src/openrct2/entity/Peep.cpp index e486ee8639..912574ef9b 100644 --- a/src/openrct2/entity/Peep.cpp +++ b/src/openrct2/entity/Peep.cpp @@ -21,6 +21,7 @@ #include "../audio/AudioMixer.h" #include "../audio/audio.h" #include "../config/Config.h" +#include "../core/EnumUtils.hpp" #include "../core/Guard.hpp" #include "../core/String.hpp" #include "../drawing/LightFX.h" @@ -47,7 +48,6 @@ #include "../ride/Track.h" #include "../scenario/Scenario.h" #include "../sprites.h" -#include "../util/Util.h" #include "../windows/Intent.h" #include "../world/Climate.h" #include "../world/ConstructionClearance.h" diff --git a/src/openrct2/entity/Staff.cpp b/src/openrct2/entity/Staff.cpp index 89069e04f1..83ea453ac1 100644 --- a/src/openrct2/entity/Staff.cpp +++ b/src/openrct2/entity/Staff.cpp @@ -17,6 +17,7 @@ #include "../actions/StaffSetOrdersAction.h" #include "../audio/audio.h" #include "../core/DataSerialiser.h" +#include "../core/EnumUtils.hpp" #include "../entity/EntityRegistry.h" #include "../interface/Viewport.h" #include "../localisation/Localisation.Date.h" @@ -38,7 +39,6 @@ #include "../ride/Track.h" #include "../ride/Vehicle.h" #include "../scenario/Scenario.h" -#include "../util/Util.h" #include "../windows/Intent.h" #include "../world/Entrance.h" #include "../world/Footpath.h" diff --git a/src/openrct2/entity/Staff.h b/src/openrct2/entity/Staff.h index 87dbb3c66f..b609168a1a 100644 --- a/src/openrct2/entity/Staff.h +++ b/src/openrct2/entity/Staff.h @@ -9,7 +9,8 @@ #pragma once -#include "../util/Util.h" +#include "../core/EnumUtils.hpp" +#include "../core/Money.hpp" #include "../world/Map.h" #include "Peep.h" diff --git a/src/openrct2/entity/Yaw.hpp b/src/openrct2/entity/Yaw.hpp index f1cdc90aef..cfc63abdeb 100644 --- a/src/openrct2/entity/Yaw.hpp +++ b/src/openrct2/entity/Yaw.hpp @@ -9,7 +9,7 @@ #pragma once -#include "../util/Util.h" +#include "../core/EnumUtils.hpp" #include diff --git a/src/openrct2/interface/Colour.cpp b/src/openrct2/interface/Colour.cpp index 2060010cba..dc8b9ae179 100644 --- a/src/openrct2/interface/Colour.cpp +++ b/src/openrct2/interface/Colour.cpp @@ -10,9 +10,9 @@ #include "Colour.h" #include "../core/EnumMap.hpp" +#include "../core/EnumUtils.hpp" #include "../drawing/Drawing.h" #include "../sprites.h" -#include "../util/Util.h" #include diff --git a/src/openrct2/interface/Fonts.cpp b/src/openrct2/interface/Fonts.cpp index 683ca94f2f..ca586fbfd5 100644 --- a/src/openrct2/interface/Fonts.cpp +++ b/src/openrct2/interface/Fonts.cpp @@ -11,11 +11,11 @@ #include "../Diagnostic.h" #include "../config/Config.h" +#include "../core/EnumUtils.hpp" #include "../core/String.hpp" #include "../drawing/TTF.h" #include "../localisation/Language.h" #include "../localisation/LocalisationService.h" -#include "../util/Util.h" #include "FontFamilies.h" using namespace OpenRCT2; diff --git a/src/openrct2/interface/InteractiveConsole.cpp b/src/openrct2/interface/InteractiveConsole.cpp index 6fb168d81b..574ba4bfaa 100644 --- a/src/openrct2/interface/InteractiveConsole.cpp +++ b/src/openrct2/interface/InteractiveConsole.cpp @@ -29,6 +29,7 @@ #include "../actions/StaffSetCostumeAction.h" #include "../config/Config.h" #include "../core/Console.hpp" +#include "../core/EnumUtils.hpp" #include "../core/Guard.hpp" #include "../core/Path.hpp" #include "../core/String.hpp" diff --git a/src/openrct2/interface/Screenshot.cpp b/src/openrct2/interface/Screenshot.cpp index da464d4079..cbdbea5c31 100644 --- a/src/openrct2/interface/Screenshot.cpp +++ b/src/openrct2/interface/Screenshot.cpp @@ -19,6 +19,7 @@ #include "../audio/audio.h" #include "../config/Config.h" #include "../core/Console.hpp" +#include "../core/EnumUtils.hpp" #include "../core/File.h" #include "../core/Imaging.h" #include "../core/Path.hpp" @@ -28,7 +29,6 @@ #include "../localisation/Formatter.h" #include "../paint/Painter.h" #include "../platform/Platform.h" -#include "../util/Util.h" #include "../world/Climate.h" #include "../world/Map.h" #include "../world/Park.h" diff --git a/src/openrct2/interface/Window.h b/src/openrct2/interface/Window.h index f9d38390b7..1b2accbc04 100644 --- a/src/openrct2/interface/Window.h +++ b/src/openrct2/interface/Window.h @@ -10,10 +10,10 @@ #pragma once #include "../Identifiers.h" +#include "../core/EnumUtils.hpp" #include "../drawing/ImageId.hpp" #include "../localisation/Formatter.h" #include "../ride/RideTypes.h" -#include "../util/Util.h" #include "../windows/TileInspectorGlobals.h" #include "../world/Location.hpp" #include "../world/ScenerySelection.h" diff --git a/src/openrct2/libopenrct2.vcxproj b/src/openrct2/libopenrct2.vcxproj index 86d0c493c7..6527d249f1 100644 --- a/src/openrct2/libopenrct2.vcxproj +++ b/src/openrct2/libopenrct2.vcxproj @@ -196,6 +196,7 @@ + diff --git a/src/openrct2/localisation/Currency.cpp b/src/openrct2/localisation/Currency.cpp index 990e9ec21d..a782cb6088 100644 --- a/src/openrct2/localisation/Currency.cpp +++ b/src/openrct2/localisation/Currency.cpp @@ -10,9 +10,9 @@ #include "Currency.h" #include "../config/Config.h" +#include "../core/EnumUtils.hpp" #include "../core/Guard.hpp" #include "../core/String.hpp" -#include "../util/Util.h" #include "Formatting.h" #include "StringIds.h" diff --git a/src/openrct2/localisation/Currency.h b/src/openrct2/localisation/Currency.h index 4d7498b642..0ff71c4b33 100644 --- a/src/openrct2/localisation/Currency.h +++ b/src/openrct2/localisation/Currency.h @@ -9,9 +9,10 @@ #pragma once +#include "../core/EnumUtils.hpp" +#include "../core/Money.hpp" #include "../core/StringTypes.h" #include "../localisation/StringIdType.h" -#include "../util/Util.h" #include "CurrencyTypes.h" constexpr size_t kCurrencySymbolMaxSize = 8; diff --git a/src/openrct2/management/Finance.cpp b/src/openrct2/management/Finance.cpp index 33342ac268..327deacc0a 100644 --- a/src/openrct2/management/Finance.cpp +++ b/src/openrct2/management/Finance.cpp @@ -13,6 +13,7 @@ #include "../Game.h" #include "../GameState.h" #include "../OpenRCT2.h" +#include "../core/EnumUtils.hpp" #include "../entity/Peep.h" #include "../entity/Staff.h" #include "../interface/Window.h" diff --git a/src/openrct2/management/Research.cpp b/src/openrct2/management/Research.cpp index 2e7c592256..ead4e9217e 100644 --- a/src/openrct2/management/Research.cpp +++ b/src/openrct2/management/Research.cpp @@ -18,6 +18,7 @@ #include "../actions/ParkSetResearchFundingAction.h" #include "../config/Config.h" #include "../core/BitSet.hpp" +#include "../core/EnumUtils.hpp" #include "../core/Guard.hpp" #include "../core/Memory.hpp" #include "../interface/Window.h" @@ -35,7 +36,6 @@ #include "../ride/RideEntry.h" #include "../ride/TrackData.h" #include "../scenario/Scenario.h" -#include "../util/Util.h" #include "../windows/Intent.h" #include "../world/Park.h" #include "../world/Scenery.h" diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index 2fdf1640a3..822c023d1e 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -36,6 +36,7 @@ #include "../scripting/ScriptEngine.h" #include "../ui/UiContext.h" #include "../ui/WindowManager.h" +#include "../util/Util.h" #include "../world/Location.hpp" #include "network.h" @@ -72,6 +73,7 @@ static constexpr uint32_t kMaxPacketsPerUpdate = 100; #include "../actions/GameAction.h" #include "../config/Config.h" #include "../core/Console.hpp" + #include "../core/EnumUtils.hpp" #include "../core/FileStream.h" #include "../core/MemoryStream.h" #include "../core/Path.hpp" @@ -82,7 +84,6 @@ static constexpr uint32_t kMaxPacketsPerUpdate = 100; #include "../object/ObjectManager.h" #include "../object/ObjectRepository.h" #include "../scenario/Scenario.h" - #include "../util/Util.h" #include "../world/Park.h" #include "NetworkAction.h" #include "NetworkConnection.h" diff --git a/src/openrct2/network/NetworkTypes.h b/src/openrct2/network/NetworkTypes.h index 2595e35987..65cc1a4534 100644 --- a/src/openrct2/network/NetworkTypes.h +++ b/src/openrct2/network/NetworkTypes.h @@ -10,8 +10,8 @@ #pragma once #include "../core/Endianness.h" +#include "../core/EnumUtils.hpp" #include "../ride/RideTypes.h" -#include "../util/Util.h" enum { diff --git a/src/openrct2/network/network.h b/src/openrct2/network/network.h index f71d2afa04..4826ed34b7 100644 --- a/src/openrct2/network/network.h +++ b/src/openrct2/network/network.h @@ -11,6 +11,7 @@ #include "../Game.h" #include "../core/JsonFwd.hpp" +#include "../core/Money.hpp" #include "../localisation/StringIds.h" #include "NetworkTypes.h" diff --git a/src/openrct2/object/ObjectList.cpp b/src/openrct2/object/ObjectList.cpp index 858cdbbac0..74fd3ebb5e 100644 --- a/src/openrct2/object/ObjectList.cpp +++ b/src/openrct2/object/ObjectList.cpp @@ -11,9 +11,9 @@ #include "../Context.h" #include "../Game.h" +#include "../core/EnumUtils.hpp" #include "../core/SawyerCoding.h" #include "../object/Object.h" -#include "../util/Util.h" #include "ObjectLimits.h" #include "ObjectManager.h" #include "ObjectRepository.h" diff --git a/src/openrct2/object/ObjectManager.cpp b/src/openrct2/object/ObjectManager.cpp index 9fc779581a..266981cf2e 100644 --- a/src/openrct2/object/ObjectManager.cpp +++ b/src/openrct2/object/ObjectManager.cpp @@ -14,13 +14,13 @@ #include "../ParkImporter.h" #include "../audio/audio.h" #include "../core/Console.hpp" +#include "../core/EnumUtils.hpp" #include "../core/JobPool.h" #include "../core/Memory.hpp" #include "../interface/Window.h" #include "../localisation/StringIds.h" #include "../ride/Ride.h" #include "../ride/RideAudio.h" -#include "../util/Util.h" #include "BannerSceneryEntry.h" #include "LargeSceneryObject.h" #include "Object.h" diff --git a/src/openrct2/object/ObjectRepository.cpp b/src/openrct2/object/ObjectRepository.cpp index 6face973bf..9904cfe41d 100644 --- a/src/openrct2/object/ObjectRepository.cpp +++ b/src/openrct2/object/ObjectRepository.cpp @@ -15,6 +15,7 @@ #include "../PlatformEnvironment.h" #include "../core/Console.hpp" #include "../core/DataSerialiser.h" +#include "../core/EnumUtils.hpp" #include "../core/FileIndex.hpp" #include "../core/FileStream.h" #include "../core/Guard.hpp" @@ -32,7 +33,6 @@ #include "../rct12/SawyerChunkReader.h" #include "../rct12/SawyerChunkWriter.h" #include "../scenario/ScenarioRepository.h" -#include "../util/Util.h" #include "Object.h" #include "ObjectFactory.h" #include "ObjectList.h" diff --git a/src/openrct2/object/ObjectTypes.cpp b/src/openrct2/object/ObjectTypes.cpp index 3c704d9289..ad78be0b66 100644 --- a/src/openrct2/object/ObjectTypes.cpp +++ b/src/openrct2/object/ObjectTypes.cpp @@ -9,7 +9,7 @@ #include "ObjectTypes.h" -#include "../util/Util.h" +#include "../core/EnumUtils.hpp" #include "Object.h" #include diff --git a/src/openrct2/object/StringTable.cpp b/src/openrct2/object/StringTable.cpp index fbf8ab768d..e84f1a842f 100644 --- a/src/openrct2/object/StringTable.cpp +++ b/src/openrct2/object/StringTable.cpp @@ -10,13 +10,13 @@ #include "StringTable.h" #include "../Context.h" +#include "../core/EnumUtils.hpp" #include "../core/Guard.hpp" #include "../core/IStream.hpp" #include "../core/Json.hpp" #include "../core/String.hpp" #include "../localisation/LocalisationService.h" #include "../rct12/CSStringConverter.h" -#include "../util/Util.h" #include "Object.h" using namespace OpenRCT2; diff --git a/src/openrct2/paint/support/MetalSupports.cpp b/src/openrct2/paint/support/MetalSupports.cpp index da0ef6a1f1..2e276da69f 100644 --- a/src/openrct2/paint/support/MetalSupports.cpp +++ b/src/openrct2/paint/support/MetalSupports.cpp @@ -9,9 +9,9 @@ #include "MetalSupports.h" +#include "../../core/EnumUtils.hpp" #include "../../drawing/Drawing.h" #include "../../interface/Viewport.h" -#include "../../util/Util.h" #include "../../world/Footpath.h" #include "../../world/tile_element/Slope.h" #include "../Paint.SessionFlags.h" diff --git a/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp b/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp index 74ee372203..f65109f4e2 100644 --- a/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp +++ b/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp @@ -13,6 +13,7 @@ #include "../../GameState.h" #include "../../config/Config.h" #include "../../core/CodepointView.hpp" +#include "../../core/EnumUtils.hpp" #include "../../core/Numerics.hpp" #include "../../core/UTF8.h" #include "../../interface/Viewport.h" @@ -22,7 +23,6 @@ #include "../../profiling/Profiling.h" #include "../../ride/Ride.h" #include "../../ride/TrackDesign.h" -#include "../../util/Util.h" #include "../../world/Banner.h" #include "../../world/Map.h" #include "../../world/Scenery.h" diff --git a/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp b/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp index c00913a02f..41ba6095bc 100644 --- a/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp +++ b/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp @@ -11,12 +11,12 @@ #include "../../Game.h" #include "../../GameState.h" +#include "../../core/EnumUtils.hpp" #include "../../interface/Viewport.h" #include "../../localisation/Localisation.Date.h" #include "../../object/SmallSceneryEntry.h" #include "../../profiling/Profiling.h" #include "../../ride/TrackDesign.h" -#include "../../util/Util.h" #include "../../world/Map.h" #include "../../world/Scenery.h" #include "../../world/TileInspector.h" diff --git a/src/openrct2/paint/tile_element/Paint.Tunnel.cpp b/src/openrct2/paint/tile_element/Paint.Tunnel.cpp index 16cfd844bd..37899f48c8 100644 --- a/src/openrct2/paint/tile_element/Paint.Tunnel.cpp +++ b/src/openrct2/paint/tile_element/Paint.Tunnel.cpp @@ -1,7 +1,7 @@ #include "Paint.Tunnel.h" -#include "../../util/Util.h" +#include "../../core/EnumUtils.hpp" #include "../Paint.h" #include diff --git a/src/openrct2/paint/tile_element/Segment.h b/src/openrct2/paint/tile_element/Segment.h index ead905da6b..8b242acdec 100644 --- a/src/openrct2/paint/tile_element/Segment.h +++ b/src/openrct2/paint/tile_element/Segment.h @@ -9,7 +9,7 @@ #pragma once -#include "../../util/Util.h" +#include "../../core/EnumUtils.hpp" #include diff --git a/src/openrct2/peep/PeepAnimationData.h b/src/openrct2/peep/PeepAnimationData.h index 28cf8a35c5..ea38d45f24 100644 --- a/src/openrct2/peep/PeepAnimationData.h +++ b/src/openrct2/peep/PeepAnimationData.h @@ -1,7 +1,7 @@ #pragma once +#include "../core/EnumUtils.hpp" #include "../entity/Peep.h" -#include "../util/Util.h" #include "PeepAnimations.h" #include diff --git a/src/openrct2/peep/PeepAnimations.h b/src/openrct2/peep/PeepAnimations.h index 9f9ff9bbd6..00d4092138 100644 --- a/src/openrct2/peep/PeepAnimations.h +++ b/src/openrct2/peep/PeepAnimations.h @@ -10,9 +10,9 @@ #pragma once #include "../core/EnumMap.hpp" +#include "../core/EnumUtils.hpp" #include "../drawing/ImageIndexType.h" #include "../entity/Peep.h" -#include "../util/Util.h" namespace OpenRCT2 { diff --git a/src/openrct2/rct1/S4Importer.cpp b/src/openrct2/rct1/S4Importer.cpp index 1a7b093970..e620b7f660 100644 --- a/src/openrct2/rct1/S4Importer.cpp +++ b/src/openrct2/rct1/S4Importer.cpp @@ -19,6 +19,7 @@ #include "../core/BitSet.hpp" #include "../core/Collections.hpp" #include "../core/Console.hpp" +#include "../core/EnumUtils.hpp" #include "../core/FileStream.h" #include "../core/Guard.hpp" #include "../core/IStream.hpp" @@ -65,7 +66,6 @@ #include "../scenario/Scenario.h" #include "../scenario/ScenarioRepository.h" #include "../scenario/ScenarioSources.h" -#include "../util/Util.h" #include "../world/Climate.h" #include "../world/Entrance.h" #include "../world/Footpath.h" diff --git a/src/openrct2/rct12/RCT12.h b/src/openrct2/rct12/RCT12.h index 347cb4f764..4780487b29 100644 --- a/src/openrct2/rct12/RCT12.h +++ b/src/openrct2/rct12/RCT12.h @@ -11,10 +11,11 @@ // Structures shared between both RCT1 and RCT2. +#include "../core/EnumUtils.hpp" +#include "../core/Money.hpp" #include "../management/Research.h" #include "../object/Object.h" #include "../ride/RideTypes.h" -#include "../util/Util.h" #include "../world/tile_element/TileElementType.h" #include "Limits.h" diff --git a/src/openrct2/rct2/S6Importer.cpp b/src/openrct2/rct2/S6Importer.cpp index f4f6df3709..af52909519 100644 --- a/src/openrct2/rct2/S6Importer.cpp +++ b/src/openrct2/rct2/S6Importer.cpp @@ -15,6 +15,7 @@ #include "../OpenRCT2.h" #include "../ParkImporter.h" #include "../core/Console.hpp" +#include "../core/EnumUtils.hpp" #include "../core/FileStream.h" #include "../core/IStream.hpp" #include "../core/MemoryStream.h" @@ -70,7 +71,6 @@ #include "../scenario/Scenario.h" #include "../scenario/ScenarioRepository.h" #include "../scenario/ScenarioSources.h" -#include "../util/Util.h" #include "../world/Climate.h" #include "../world/Entrance.h" #include "../world/MapAnimation.h" diff --git a/src/openrct2/ride/CableLift.cpp b/src/openrct2/ride/CableLift.cpp index a91c1c93eb..6dd960b5d3 100644 --- a/src/openrct2/ride/CableLift.cpp +++ b/src/openrct2/ride/CableLift.cpp @@ -12,6 +12,7 @@ #include "../audio/audio.h" #include "../entity/EntityList.h" #include "../rct12/RCT12.h" +#include "../util/Util.h" #include "../world/tile_element/TileElement.h" #include "../world/tile_element/TrackElement.h" #include "Ride.h" diff --git a/src/openrct2/ride/CarEntry.h b/src/openrct2/ride/CarEntry.h index 254616f3f6..4fc317a747 100644 --- a/src/openrct2/ride/CarEntry.h +++ b/src/openrct2/ride/CarEntry.h @@ -9,8 +9,8 @@ #pragma once +#include "../core/EnumUtils.hpp" #include "../entity/Yaw.hpp" -#include "../util/Util.h" #include "../world/Location.hpp" #include diff --git a/src/openrct2/ride/Ride.cpp b/src/openrct2/ride/Ride.cpp index b5984e1dbe..2f58996bc2 100644 --- a/src/openrct2/ride/Ride.cpp +++ b/src/openrct2/ride/Ride.cpp @@ -25,6 +25,7 @@ #include "../audio/audio.h" #include "../config/Config.h" #include "../core/BitSet.hpp" +#include "../core/EnumUtils.hpp" #include "../core/Guard.hpp" #include "../core/Numerics.hpp" #include "../entity/EntityRegistry.h" diff --git a/src/openrct2/ride/RideData.h b/src/openrct2/ride/RideData.h index ba133232ba..7963373e06 100644 --- a/src/openrct2/ride/RideData.h +++ b/src/openrct2/ride/RideData.h @@ -21,11 +21,11 @@ #include "../audio/audio.h" #include "../core/BitSet.hpp" +#include "../core/EnumUtils.hpp" #include "../drawing/ImageIndexType.h" #include "../entity/Guest.h" #include "../localisation/StringIds.h" #include "../paint/track/Support.h" -#include "../util/Util.h" #include "Ride.h" #include "RideAudio.h" #include "RideConstruction.h" diff --git a/src/openrct2/ride/TrackData.cpp b/src/openrct2/ride/TrackData.cpp index 1396e5aead..40cc304238 100644 --- a/src/openrct2/ride/TrackData.cpp +++ b/src/openrct2/ride/TrackData.cpp @@ -9,8 +9,8 @@ #include "TrackData.h" +#include "../core/EnumUtils.hpp" #include "../localisation/StringIds.h" -#include "../util/Util.h" #include "Track.h" #include "TrackPaint.h" diff --git a/src/openrct2/ride/TrackDesign.h b/src/openrct2/ride/TrackDesign.h index a754801c61..129937d2b5 100644 --- a/src/openrct2/ride/TrackDesign.h +++ b/src/openrct2/ride/TrackDesign.h @@ -11,10 +11,10 @@ #include "../Limits.h" #include "../actions/GameActionResult.h" +#include "../core/EnumUtils.hpp" #include "../object/Object.h" #include "../ride/RideColour.h" #include "../ride/Track.h" -#include "../util/Util.h" #include "../world/Map.h" #include "RideRatings.h" #include "VehicleColour.h" diff --git a/src/openrct2/ride/Vehicle.cpp b/src/openrct2/ride/Vehicle.cpp index 1c98883d50..6f9152227b 100644 --- a/src/openrct2/ride/Vehicle.cpp +++ b/src/openrct2/ride/Vehicle.cpp @@ -20,6 +20,7 @@ #include "../audio/AudioMixer.h" #include "../audio/audio.h" #include "../config/Config.h" +#include "../core/EnumUtils.hpp" #include "../core/FixedPoint.hpp" #include "../core/Memory.hpp" #include "../core/Speed.hpp" diff --git a/src/openrct2/ride/VehicleSubpositionData.h b/src/openrct2/ride/VehicleSubpositionData.h index cfb5f3538c..9d63a61710 100644 --- a/src/openrct2/ride/VehicleSubpositionData.h +++ b/src/openrct2/ride/VehicleSubpositionData.h @@ -9,7 +9,7 @@ #pragma once -#include "../util/Util.h" +#include "../core/EnumUtils.hpp" #include "Track.h" #include diff --git a/src/openrct2/scenario/Scenario.cpp b/src/openrct2/scenario/Scenario.cpp index a1c1455e5e..f801b03665 100644 --- a/src/openrct2/scenario/Scenario.cpp +++ b/src/openrct2/scenario/Scenario.cpp @@ -21,6 +21,7 @@ #include "../audio/audio.h" #include "../config/Config.h" #include "../core/BitSet.hpp" +#include "../core/EnumUtils.hpp" #include "../core/Guard.hpp" #include "../core/Path.hpp" #include "../core/Random.hpp" diff --git a/src/openrct2/scenes/title/TitleScene.cpp b/src/openrct2/scenes/title/TitleScene.cpp index c1f9e1ade8..c2bf692cbf 100644 --- a/src/openrct2/scenes/title/TitleScene.cpp +++ b/src/openrct2/scenes/title/TitleScene.cpp @@ -27,6 +27,7 @@ #include "../../scenario/Scenario.h" #include "../../scenario/ScenarioRepository.h" #include "../../ui/UiContext.h" +#include "../../util/Util.h" #include "../../windows/Intent.h" #include "TitleSequence.h" #include "TitleSequenceManager.h" diff --git a/src/openrct2/util/Util.h b/src/openrct2/util/Util.h index 437fbf2681..b7583001bf 100644 --- a/src/openrct2/util/Util.h +++ b/src/openrct2/util/Util.h @@ -44,32 +44,6 @@ uint8_t Lerp(uint8_t a, uint8_t b, float t); float FLerp(float a, float b, float t); uint8_t SoftLight(uint8_t a, uint8_t b); -template -[[nodiscard]] constexpr uint64_t EnumToFlag(T v) -{ - static_assert(std::is_enum_v); - return 1uLL << static_cast>(v); -} - -template -[[nodiscard]] constexpr uint64_t EnumsToFlags(T... types) -{ - return (EnumToFlag(types) | ...); -} - -template -constexpr auto EnumValue(TEnum enumerator) noexcept -{ - return static_cast>(enumerator); -} - -template -constexpr bool HasFlag(uint64_t holder, T v) -{ - static_assert(std::is_enum_v); - return (holder & EnumToFlag(v)) != 0; -} - constexpr uint8_t HiByte(uint16_t value) { return static_cast(value >> 8); diff --git a/src/openrct2/world/Climate.cpp b/src/openrct2/world/Climate.cpp index 256a9c66c3..869beac84a 100644 --- a/src/openrct2/world/Climate.cpp +++ b/src/openrct2/world/Climate.cpp @@ -18,6 +18,7 @@ #include "../audio/AudioMixer.h" #include "../audio/audio.h" #include "../config/Config.h" +#include "../core/EnumUtils.hpp" #include "../drawing/Drawing.h" #include "../interface/Window.h" #include "../localisation/Localisation.Date.h" diff --git a/src/openrct2/world/Map.cpp b/src/openrct2/world/Map.cpp index 802a2ffebf..e1e136b772 100644 --- a/src/openrct2/world/Map.cpp +++ b/src/openrct2/world/Map.cpp @@ -21,6 +21,7 @@ #include "../actions/ParkEntranceRemoveAction.h" #include "../actions/WallRemoveAction.h" #include "../audio/audio.h" +#include "../core/EnumUtils.hpp" #include "../core/Guard.hpp" #include "../entity/Duck.h" #include "../entity/EntityTweener.h" @@ -45,7 +46,6 @@ #include "../ride/TrackData.h" #include "../ride/TrackDesign.h" #include "../scenario/Scenario.h" -#include "../util/Util.h" #include "../windows/Intent.h" #include "../world/TilePointerIndex.hpp" #include "Banner.h" diff --git a/src/openrct2/world/MapGen.cpp b/src/openrct2/world/MapGen.cpp index aed07fb54d..163fc9d467 100644 --- a/src/openrct2/world/MapGen.cpp +++ b/src/openrct2/world/MapGen.cpp @@ -24,6 +24,7 @@ #include "../object/TerrainEdgeObject.h" #include "../object/TerrainSurfaceObject.h" #include "../platform/Platform.h" +#include "../util/Util.h" #include "../world/tile_element/Slope.h" #include "../world/tile_element/SmallSceneryElement.h" #include "../world/tile_element/SurfaceElement.h" diff --git a/src/openrct2/world/Park.cpp b/src/openrct2/world/Park.cpp index be61e8756c..b8c2578205 100644 --- a/src/openrct2/world/Park.cpp +++ b/src/openrct2/world/Park.cpp @@ -35,6 +35,7 @@ #include "../ride/ShopItem.h" #include "../scenario/Scenario.h" #include "../scripting/ScriptEngine.h" +#include "../util/Util.h" #include "../windows/Intent.h" #include "Entrance.h" #include "Map.h" diff --git a/src/openrct2/world/tile_element/TileElementBase.cpp b/src/openrct2/world/tile_element/TileElementBase.cpp index 48e2578113..ae250f92ac 100644 --- a/src/openrct2/world/tile_element/TileElementBase.cpp +++ b/src/openrct2/world/tile_element/TileElementBase.cpp @@ -9,7 +9,7 @@ #include "TileElementBase.h" -#include "../../util/Util.h" +#include "../../core/EnumUtils.hpp" #include "../Map.h" #include "BannerElement.h" #include "EntranceElement.h" diff --git a/test/tests/StringTest.cpp b/test/tests/StringTest.cpp index ddd991ab2c..bd18e3cc00 100644 --- a/test/tests/StringTest.cpp +++ b/test/tests/StringTest.cpp @@ -12,8 +12,8 @@ #include #include +#include #include -#include #include #include #include