diff --git a/src/openrct2/object/FootpathItemObject.cpp b/src/openrct2/object/FootpathItemObject.cpp index 973f10764d..cb8405f0eb 100644 --- a/src/openrct2/object/FootpathItemObject.cpp +++ b/src/openrct2/object/FootpathItemObject.cpp @@ -24,7 +24,7 @@ void FootpathItemObject::ReadLegacy(IReadObjectContext* context, OpenRCT2::IStre { stream->Seek(6, OpenRCT2::STREAM_SEEK_CURRENT); _legacyType.flags = stream->ReadValue(); - _legacyType.draw_type = stream->ReadValue(); + _legacyType.draw_type = static_cast(stream->ReadValue()); _legacyType.tool_id = static_cast(stream->ReadValue()); _legacyType.price = stream->ReadValue(); _legacyType.scenery_tab_id = OBJECT_ENTRY_INDEX_NULL; @@ -85,17 +85,17 @@ void FootpathItemObject::DrawPreview(rct_drawpixelinfo* dpi, int32_t width, int3 gfx_draw_sprite(dpi, _legacyType.image, screenCoords - ScreenCoordsXY{ 22, 24 }, 0); } -static uint8_t ParseDrawType(const std::string& s) +static PathBitDrawType ParseDrawType(const std::string& s) { if (s == "lamp") - return PATH_BIT_DRAW_TYPE_LIGHTS; + return PathBitDrawType::Light; if (s == "bin") - return PATH_BIT_DRAW_TYPE_BINS; + return PathBitDrawType::Bin; if (s == "bench") - return PATH_BIT_DRAW_TYPE_BENCHES; + return PathBitDrawType::Bench; if (s == "fountain") - return PATH_BIT_DRAW_TYPE_JUMPING_FOUNTAINS; - return PATH_BIT_DRAW_TYPE_LIGHTS; + return PathBitDrawType::JumpingFountain; + return PathBitDrawType::Light; } void FootpathItemObject::ReadJson(IReadObjectContext* context, json_t& root) diff --git a/src/openrct2/paint/tile_element/Paint.Path.cpp b/src/openrct2/paint/tile_element/Paint.Path.cpp index 34d78b3d76..0819818634 100644 --- a/src/openrct2/paint/tile_element/Paint.Path.cpp +++ b/src/openrct2/paint/tile_element/Paint.Path.cpp @@ -709,7 +709,7 @@ static void sub_6A3F61( } else if ( (session->ViewFlags & VIEWPORT_FLAG_HIGHLIGHT_PATH_ISSUES) && !(tile_element->AsPath()->IsBroken()) - && !(pathAddEntry->draw_type == PATH_BIT_DRAW_TYPE_BINS)) + && pathAddEntry->draw_type != PathBitDrawType::Bin) { paintScenery = false; } @@ -717,22 +717,22 @@ static void sub_6A3F61( { switch (pathAddEntry->draw_type) { - case PATH_BIT_DRAW_TYPE_LIGHTS: + case PathBitDrawType::Light: path_bit_lights_paint( session, pathAddEntry, tile_element, height, static_cast(connectedEdges), sceneryImageFlags); break; - case PATH_BIT_DRAW_TYPE_BINS: + case PathBitDrawType::Bin: path_bit_bins_paint( session, pathAddEntry, tile_element, height, static_cast(connectedEdges), sceneryImageFlags); break; - case PATH_BIT_DRAW_TYPE_BENCHES: + case PathBitDrawType::Bench: path_bit_benches_paint( session, pathAddEntry, tile_element, height, static_cast(connectedEdges), sceneryImageFlags); break; - case PATH_BIT_DRAW_TYPE_JUMPING_FOUNTAINS: + case PathBitDrawType::JumpingFountain: path_bit_jumping_fountains_paint(session, pathAddEntry, height, sceneryImageFlags, dpi); break; } diff --git a/src/openrct2/world/Scenery.h b/src/openrct2/world/Scenery.h index 45e2278890..4a780962e1 100644 --- a/src/openrct2/world/Scenery.h +++ b/src/openrct2/world/Scenery.h @@ -138,11 +138,12 @@ struct WallSceneryEntry : SceneryEntryBase ObjectEntryIndex scenery_tab_id; uint8_t scrolling_mode; }; +enum class PathBitDrawType : uint8_t; struct PathBitEntry : SceneryEntryBase { uint16_t flags; - uint8_t draw_type; + PathBitDrawType draw_type; CursorID tool_id; int16_t price; ObjectEntryIndex scenery_tab_id; @@ -181,12 +182,12 @@ enum PATH_BIT_FLAG_IS_QUEUE_SCREEN = 1 << 8 }; -enum +enum class PathBitDrawType : uint8_t { - PATH_BIT_DRAW_TYPE_LIGHTS, - PATH_BIT_DRAW_TYPE_BINS, - PATH_BIT_DRAW_TYPE_BENCHES, - PATH_BIT_DRAW_TYPE_JUMPING_FOUNTAINS + Light, + Bin, + Bench, + JumpingFountain, }; enum