mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-18 20:43:04 +01:00
Change Object Selection order
Might take a little bit for people to get used to. But it's a lot more coherent and makes more sense.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
0.4.1 (in development)
|
||||
------------------------------------------------------------------------
|
||||
- Feature: [#17011] Option to show ride vehicles as separate entries when selecting a ride to construct.
|
||||
- Change: [#16952] Make "Object Selection" order more coherent.
|
||||
- Fix: [#16934] Park size displayed incorrectly in Park window.
|
||||
- Fix: [#16974] Small scenery ghosts can be deleted.
|
||||
- Fix: [#17005] Unable to set patrol area for first staff member in park.
|
||||
|
||||
@@ -125,29 +125,41 @@ struct ObjectPageDesc
|
||||
bool IsAdvanced;
|
||||
};
|
||||
|
||||
|
||||
// Order of which the object tabs are displayed.
|
||||
static constexpr const ObjectPageDesc ObjectSelectionPages[] = {
|
||||
{ STR_OBJECT_SELECTION_RIDE_VEHICLES_ATTRACTIONS, SPR_TAB_RIDE_16, false },
|
||||
{ STR_OBJECT_SELECTION_SMALL_SCENERY, SPR_TAB_SCENERY_TREES, true },
|
||||
{ STR_OBJECT_SELECTION_LARGE_SCENERY, SPR_TAB_SCENERY_URBAN, true },
|
||||
{ STR_OBJECT_SELECTION_WALLS_FENCES, SPR_TAB_SCENERY_WALLS, true },
|
||||
{ STR_OBJECT_SELECTION_PATH_SIGNS, SPR_TAB_SCENERY_SIGNAGE, true },
|
||||
{ STR_OBJECT_SELECTION_FOOTPATHS, SPR_G2_LEGACY_PATH_TAB, true },
|
||||
{ STR_OBJECT_SELECTION_PATH_EXTRAS, SPR_TAB_SCENERY_PATH_ITEMS, false },
|
||||
{ STR_OBJECT_SELECTION_SCENERY_GROUPS, SPR_TAB_SCENERY_STATUES, false },
|
||||
{ STR_OBJECT_SELECTION_PARK_ENTRANCE, SPR_TAB_PARK, false },
|
||||
{ STR_OBJECT_SELECTION_WATER, SPR_TAB_WATER, false },
|
||||
|
||||
{ STR_OBJECT_SELECTION_RIDE_VEHICLES_ATTRACTIONS, SPR_TAB_RIDE_16, false },
|
||||
{ STR_OBJECT_SELECTION_STATIONS, SPR_G2_RIDE_STATION_TAB, true },
|
||||
{ STR_OBJECT_SELECTION_MUSIC, SPR_TAB_MUSIC_0, true },
|
||||
{ STR_OBJECT_SELECTION_SCENERY_GROUPS, SPR_TAB_SCENERY_STATUES, false },
|
||||
{ STR_OBJECT_SELECTION_SMALL_SCENERY, SPR_TAB_SCENERY_TREES, true },
|
||||
{ STR_OBJECT_SELECTION_LARGE_SCENERY, SPR_TAB_SCENERY_URBAN, true },
|
||||
{ STR_OBJECT_SELECTION_WALLS_FENCES, SPR_TAB_SCENERY_WALLS, true },
|
||||
{ STR_OBJECT_SELECTION_FOOTPATH_SURFACES, SPR_G2_PATH_SURFACE_TAB, false },
|
||||
{ STR_OBJECT_SELECTION_FOOTPATH_RAILINGS, SPR_G2_PATH_RAILINGS_TAB, false },
|
||||
{ STR_OBJECT_SELECTION_FOOTPATHS, SPR_G2_LEGACY_PATH_TAB, true },
|
||||
{ STR_OBJECT_SELECTION_PATH_EXTRAS, SPR_TAB_SCENERY_PATH_ITEMS, false },
|
||||
{ STR_OBJECT_SELECTION_PATH_SIGNS, SPR_TAB_SCENERY_SIGNAGE, true },
|
||||
{ STR_OBJECT_SELECTION_PARK_ENTRANCE, SPR_TAB_PARK, false },
|
||||
{ STR_OBJECT_SELECTION_TERRAIN_SURFACES, SPR_G2_TAB_LAND, true },
|
||||
{ STR_OBJECT_SELECTION_TERRAIN_EDGES, SPR_G2_TERRAIN_EDGE_TAB, true },
|
||||
{ STR_OBJECT_SELECTION_WATER, SPR_TAB_WATER, false },
|
||||
// Dummy place holder for string objects
|
||||
{ STR_NONE, static_cast<uint32_t>(SPR_NONE), false },
|
||||
|
||||
{ STR_OBJECT_SELECTION_TERRAIN_SURFACES, SPR_G2_TAB_LAND, true },
|
||||
{ STR_OBJECT_SELECTION_TERRAIN_EDGES, SPR_G2_TERRAIN_EDGE_TAB, true },
|
||||
{ STR_OBJECT_SELECTION_STATIONS, SPR_G2_RIDE_STATION_TAB, true },
|
||||
{ STR_OBJECT_SELECTION_MUSIC, SPR_TAB_MUSIC_0, false },
|
||||
{ STR_OBJECT_SELECTION_FOOTPATH_SURFACES, SPR_G2_PATH_SURFACE_TAB, false },
|
||||
{ STR_OBJECT_SELECTION_FOOTPATH_RAILINGS, SPR_G2_PATH_RAILINGS_TAB, false },
|
||||
{ STR_NONE, static_cast<uint32_t>(SPR_NONE), false },
|
||||
};
|
||||
|
||||
// clang-format on
|
||||
// Order of which the contents of each tab is displayed.
|
||||
ObjectType static TabOrder[] = {
|
||||
ObjectType::Ride, ObjectType::Station, ObjectType::Music,
|
||||
ObjectType::SceneryGroup, ObjectType::SmallScenery, ObjectType::LargeScenery,
|
||||
ObjectType::Walls, ObjectType::FootpathSurface, ObjectType::FootpathRailings,
|
||||
ObjectType::Paths, ObjectType::PathBits, ObjectType::Banners,
|
||||
ObjectType::ParkEntrance, ObjectType::TerrainSurface, ObjectType::TerrainEdge,
|
||||
ObjectType::Water, ObjectType::ScenarioText,
|
||||
};
|
||||
// clang-format off
|
||||
|
||||
#pragma region Widgets
|
||||
|
||||
enum WINDOW_EDITOR_OBJECT_SELECTION_WIDGET_IDX
|
||||
@@ -1413,7 +1425,7 @@ private:
|
||||
ObjectType GetSelectedObjectType()
|
||||
{
|
||||
auto tab = selected_tab;
|
||||
return static_cast<ObjectType>(tab);
|
||||
return TabOrder[tab];
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1555,4 +1567,4 @@ void EditorLoadSelectedObjects()
|
||||
// Reloads the default cyan water palette if no palette was selected.
|
||||
load_palette();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user