diff --git a/src/openrct2-ui/interface/ViewportInteraction.cpp b/src/openrct2-ui/interface/ViewportInteraction.cpp index faf7307e86..9dea995104 100644 --- a/src/openrct2-ui/interface/ViewportInteraction.cpp +++ b/src/openrct2-ui/interface/ViewportInteraction.cpp @@ -313,7 +313,7 @@ int32_t viewport_interaction_get_item_right(int32_t x, int32_t y, viewport_inter case VIEWPORT_INTERACTION_ITEM_WALL: sceneryEntry = tileElement->AsWall()->GetEntry(); - if (sceneryEntry->wall.scrolling_mode != 255) + if (sceneryEntry->wall.scrolling_mode != SCROLLING_MODE_NONE) { set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_MODIFY); set_map_tooltip_format_arg(2, rct_string_id, sceneryEntry->name); @@ -323,7 +323,7 @@ int32_t viewport_interaction_get_item_right(int32_t x, int32_t y, viewport_inter case VIEWPORT_INTERACTION_ITEM_LARGE_SCENERY: sceneryEntry = tileElement->AsLargeScenery()->GetEntry(); - if (sceneryEntry->large_scenery.scrolling_mode != 255) + if (sceneryEntry->large_scenery.scrolling_mode != SCROLLING_MODE_NONE) { set_map_tooltip_format_arg(0, rct_string_id, STR_MAP_TOOLTIP_STRINGID_CLICK_TO_MODIFY); set_map_tooltip_format_arg(2, rct_string_id, sceneryEntry->name); @@ -548,7 +548,7 @@ void viewport_interaction_remove_park_entrance(TileElement* tileElement, int32_t static void viewport_interaction_remove_park_wall(TileElement* tileElement, int32_t x, int32_t y) { rct_scenery_entry* sceneryEntry = tileElement->AsWall()->GetEntry(); - if (sceneryEntry->wall.scrolling_mode != 0xFF) + if (sceneryEntry->wall.scrolling_mode != SCROLLING_MODE_NONE) { context_open_detail_window(WD_SIGN_SMALL, tileElement->AsWall()->GetBannerIndex()); } @@ -568,7 +568,7 @@ static void viewport_interaction_remove_large_scenery(TileElement* tileElement, { rct_scenery_entry* sceneryEntry = tileElement->AsLargeScenery()->GetEntry(); - if (sceneryEntry->large_scenery.scrolling_mode != 0xFF) + if (sceneryEntry->large_scenery.scrolling_mode != SCROLLING_MODE_NONE) { BannerIndex bannerIndex = tileElement->AsLargeScenery()->GetBannerIndex(); context_open_detail_window(WD_SIGN, bannerIndex); diff --git a/src/openrct2-ui/windows/Sign.cpp b/src/openrct2-ui/windows/Sign.cpp index 3182ba2892..fecbc6f98a 100644 --- a/src/openrct2-ui/windows/Sign.cpp +++ b/src/openrct2-ui/windows/Sign.cpp @@ -163,7 +163,7 @@ rct_window* window_sign_open(rct_windownumber number) if (tile_element->GetType() == TILE_ELEMENT_TYPE_LARGE_SCENERY) { rct_scenery_entry* scenery_entry = tile_element->AsLargeScenery()->GetEntry(); - if (scenery_entry != nullptr && scenery_entry->large_scenery.scrolling_mode != 0xFF) + if (scenery_entry != nullptr && scenery_entry->large_scenery.scrolling_mode != SCROLLING_MODE_NONE) { BannerIndex bannerIndex = tile_element->AsLargeScenery()->GetBannerIndex(); @@ -222,7 +222,7 @@ static void window_sign_mouseup(rct_window* w, rct_widgetindex widgetIndex) if (tile_element->GetType() == TILE_ELEMENT_TYPE_LARGE_SCENERY) { rct_scenery_entry* scenery_entry = tile_element->AsLargeScenery()->GetEntry(); - if (scenery_entry->large_scenery.scrolling_mode != 0xFF) + if (scenery_entry->large_scenery.scrolling_mode != SCROLLING_MODE_NONE) { BannerIndex bannerIndex = tile_element->AsLargeScenery()->GetBannerIndex(); if (bannerIndex == w->number) @@ -422,7 +422,7 @@ rct_window* window_sign_small_open(rct_windownumber number) if (tile_element->GetType() == TILE_ELEMENT_TYPE_WALL) { rct_scenery_entry* scenery_entry = tile_element->AsWall()->GetEntry(); - if (scenery_entry->wall.scrolling_mode != 0xFF) + if (scenery_entry->wall.scrolling_mode != SCROLLING_MODE_NONE) { if (tile_element->AsWall()->GetBannerIndex() == w->number) break; @@ -480,7 +480,7 @@ static void window_sign_small_mouseup(rct_window* w, rct_widgetindex widgetIndex if (tile_element->GetType() == TILE_ELEMENT_TYPE_WALL) { rct_scenery_entry* scenery_entry = tile_element->AsWall()->GetEntry(); - if (scenery_entry->wall.scrolling_mode != 0xFF) + if (scenery_entry->wall.scrolling_mode != SCROLLING_MODE_NONE) { if (tile_element->AsWall()->GetBannerIndex() == w->number) break; diff --git a/src/openrct2-ui/windows/TileInspector.cpp b/src/openrct2-ui/windows/TileInspector.cpp index 9232128bc3..2f99f75004 100644 --- a/src/openrct2-ui/windows/TileInspector.cpp +++ b/src/openrct2-ui/windows/TileInspector.cpp @@ -2031,7 +2031,7 @@ static void window_tile_inspector_paint(rct_window* w, rct_drawpixelinfo* dpi) // Banner info rct_scenery_entry* largeSceneryEntry = get_large_scenery_entry(largeSceneryType); - if (largeSceneryEntry->large_scenery.scrolling_mode != 0xFF) + if (largeSceneryEntry->large_scenery.scrolling_mode != SCROLLING_MODE_NONE) { const BannerIndex bannerIndex = sceneryElement->GetBannerIndex(); rct_string_id* string = &gBanners[bannerIndex].string_idx; diff --git a/src/openrct2/actions/SignSetStyleAction.hpp b/src/openrct2/actions/SignSetStyleAction.hpp index 971ba23560..dae643cf23 100644 --- a/src/openrct2/actions/SignSetStyleAction.hpp +++ b/src/openrct2/actions/SignSetStyleAction.hpp @@ -85,7 +85,7 @@ public: continue; rct_scenery_entry* scenery_entry = tileElement->AsWall()->GetEntry(); - if (scenery_entry->wall.scrolling_mode == 0xFF) + if (scenery_entry->wall.scrolling_mode == SCROLLING_MODE_NONE) continue; if (tileElement->AsWall()->GetBannerIndex() != (BannerIndex)_bannerIndex) continue; diff --git a/src/openrct2/object/LargeSceneryObject.cpp b/src/openrct2/object/LargeSceneryObject.cpp index 8723d5f1e7..aeb9c18828 100644 --- a/src/openrct2/object/LargeSceneryObject.cpp +++ b/src/openrct2/object/LargeSceneryObject.cpp @@ -16,6 +16,7 @@ #include "../drawing/Drawing.h" #include "../interface/Cursors.h" #include "../localisation/Language.h" +#include "../world/Banner.h" #include "../world/Location.hpp" #include "ObjectJsonHelpers.h" @@ -131,7 +132,8 @@ void LargeSceneryObject::ReadJson(IReadObjectContext* context, const json_t* roo _legacyType.large_scenery.removal_price = json_integer_value(json_object_get(properties, "removalPrice")); auto jScrollingMode = json_object_get(properties, "scrollingMode"); - _legacyType.large_scenery.scrolling_mode = jScrollingMode != nullptr ? json_integer_value(jScrollingMode) : -1; + _legacyType.large_scenery.scrolling_mode = jScrollingMode != nullptr ? json_integer_value(jScrollingMode) + : SCROLLING_MODE_NONE; // Flags _legacyType.large_scenery.flags = ObjectJsonHelpers::GetFlags( diff --git a/src/openrct2/object/WallObject.cpp b/src/openrct2/object/WallObject.cpp index 70586d66f1..996495975f 100644 --- a/src/openrct2/object/WallObject.cpp +++ b/src/openrct2/object/WallObject.cpp @@ -13,6 +13,7 @@ #include "../drawing/Drawing.h" #include "../interface/Cursors.h" #include "../localisation/Language.h" +#include "../world/Banner.h" #include "ObjectJsonHelpers.h" void WallObject::ReadLegacy(IReadObjectContext* context, IStream* stream) @@ -94,7 +95,7 @@ void WallObject::ReadJson(IReadObjectContext* context, const json_t* root) _legacyType.wall.price = json_integer_value(json_object_get(properties, "price")); auto jScrollingMode = json_object_get(properties, "scrollingMode"); - _legacyType.wall.scrolling_mode = jScrollingMode != nullptr ? json_integer_value(jScrollingMode) : -1; + _legacyType.wall.scrolling_mode = jScrollingMode != nullptr ? json_integer_value(jScrollingMode) : SCROLLING_MODE_NONE; SetPrimarySceneryGroup(ObjectJsonHelpers::GetString(json_object_get(properties, "sceneryGroup"))); diff --git a/src/openrct2/paint/tile_element/Paint.Entrance.cpp b/src/openrct2/paint/tile_element/Paint.Entrance.cpp index 65138eaace..414e2c4f04 100644 --- a/src/openrct2/paint/tile_element/Paint.Entrance.cpp +++ b/src/openrct2/paint/tile_element/Paint.Entrance.cpp @@ -15,6 +15,7 @@ #include "../../object/StationObject.h" #include "../../ride/RideData.h" #include "../../ride/TrackDesign.h" +#include "../../world/Banner.h" #include "../../world/Entrance.h" #include "../../world/Footpath.h" #include "../../world/Park.h" @@ -294,7 +295,7 @@ static void park_entrance_paint(paint_session* session, uint8_t direction, int32 uint16_t string_width = gfx_get_string_width(park_name); uint16_t scroll = (gCurrentTicks / 2) % string_width; - if (entrance->scrolling_mode == 0xFF) + if (entrance->scrolling_mode == SCROLLING_MODE_NONE) break; int32_t stsetup = scrolling_text_setup(session, park_text_id, scroll, entrance->scrolling_mode + direction / 2); diff --git a/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp b/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp index b78f7619f2..1d84e7c8fd 100644 --- a/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp +++ b/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp @@ -277,7 +277,7 @@ void large_scenery_paint(paint_session* session, uint8_t direction, uint16_t hei boxlength.y = s98E3C4[esi].length.y; boxlength.z = ah; sub_98197C(session, image_id, 0, 0, boxlength.x, boxlength.y, ah, height, boxoffset.x, boxoffset.y, boxoffset.z); - if (entry->large_scenery.scrolling_mode == 0xFF || direction == 1 || direction == 2) + if (entry->large_scenery.scrolling_mode == SCROLLING_MODE_NONE || direction == 1 || direction == 2) { large_scenery_paint_supports(session, direction, height, tileElement, dword_F4387C, tile); return; diff --git a/src/openrct2/paint/tile_element/Paint.Wall.cpp b/src/openrct2/paint/tile_element/Paint.Wall.cpp index b923278f54..1fc74efc35 100644 --- a/src/openrct2/paint/tile_element/Paint.Wall.cpp +++ b/src/openrct2/paint/tile_element/Paint.Wall.cpp @@ -401,7 +401,7 @@ void fence_paint(paint_session* session, uint8_t direction, int32_t height, cons session, frameNum, sceneryEntry, dword_141F710, imageColourFlags, dword_141F718, tertiaryColour, imageOffset, offset, bounds, boundsOffset); - if (sceneryEntry->wall.scrolling_mode == 0xFF) + if (sceneryEntry->wall.scrolling_mode == SCROLLING_MODE_NONE) { return; } diff --git a/src/openrct2/world/Banner.h b/src/openrct2/world/Banner.h index bf7c4d89e5..a4a9cb0c5a 100644 --- a/src/openrct2/world/Banner.h +++ b/src/openrct2/world/Banner.h @@ -16,6 +16,8 @@ constexpr uint8_t BANNER_NULL = 255; constexpr size_t MAX_BANNERS = 250; constexpr BannerIndex BANNER_INDEX_NULL = (BannerIndex)-1; +constexpr uint8_t SCROLLING_MODE_NONE = 255; + #pragma pack(push, 1) struct rct_banner { diff --git a/src/openrct2/world/Map.cpp b/src/openrct2/world/Map.cpp index 5769163b43..5db7eb3d48 100644 --- a/src/openrct2/world/Map.cpp +++ b/src/openrct2/world/Map.cpp @@ -2291,7 +2291,7 @@ void game_command_place_large_scenery( return; } - if (scenery_entry->large_scenery.scrolling_mode != 0xFF) + if (scenery_entry->large_scenery.scrolling_mode != SCROLLING_MODE_NONE) { banner_id = create_new_banner(flags); diff --git a/src/openrct2/world/MapAnimation.cpp b/src/openrct2/world/MapAnimation.cpp index cde85d02fd..d329af4e67 100644 --- a/src/openrct2/world/MapAnimation.cpp +++ b/src/openrct2/world/MapAnimation.cpp @@ -17,6 +17,7 @@ #include "../ride/RideData.h" #include "../ride/Track.h" #include "../world/Wall.h" +#include "Banner.h" #include "Footpath.h" #include "LargeScenery.h" #include "Map.h" @@ -561,7 +562,8 @@ static bool map_animation_invalidate_wall(int32_t x, int32_t y, int32_t baseZ) sceneryEntry = tileElement->AsWall()->GetEntry(); if (!sceneryEntry - || (!(sceneryEntry->wall.flags2 & WALL_SCENERY_2_ANIMATED) && sceneryEntry->wall.scrolling_mode == 255)) + || (!(sceneryEntry->wall.flags2 & WALL_SCENERY_2_ANIMATED) + && sceneryEntry->wall.scrolling_mode == SCROLLING_MODE_NONE)) continue; int32_t z = tileElement->base_height * 8; diff --git a/src/openrct2/world/TileElement.cpp b/src/openrct2/world/TileElement.cpp index 0fcee79b14..dc0d715ba4 100644 --- a/src/openrct2/world/TileElement.cpp +++ b/src/openrct2/world/TileElement.cpp @@ -73,13 +73,13 @@ BannerIndex tile_element_get_banner_index(TileElement* tileElement) { case TILE_ELEMENT_TYPE_LARGE_SCENERY: sceneryEntry = tileElement->AsLargeScenery()->GetEntry(); - if (sceneryEntry->large_scenery.scrolling_mode == 0xFF) + if (sceneryEntry->large_scenery.scrolling_mode == SCROLLING_MODE_NONE) return BANNER_INDEX_NULL; return tileElement->AsLargeScenery()->GetBannerIndex(); case TILE_ELEMENT_TYPE_WALL: sceneryEntry = tileElement->AsWall()->GetEntry(); - if (sceneryEntry == nullptr || sceneryEntry->wall.scrolling_mode == 0xFF) + if (sceneryEntry == nullptr || sceneryEntry->wall.scrolling_mode == SCROLLING_MODE_NONE) return BANNER_INDEX_NULL; return tileElement->AsWall()->GetBannerIndex(); diff --git a/src/openrct2/world/Wall.cpp b/src/openrct2/world/Wall.cpp index b8afc1e905..d009ef5d9b 100644 --- a/src/openrct2/world/Wall.cpp +++ b/src/openrct2/world/Wall.cpp @@ -443,7 +443,7 @@ static money32 WallPlace( return MONEY32_UNDEFINED; } - if (wallEntry->wall.scrolling_mode != 0xFF) + if (wallEntry->wall.scrolling_mode != SCROLLING_MODE_NONE) { bannerIndex = create_new_banner(flags);