1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-12 18:42:36 +01:00

Close #12431 Refactor VirtualFloorStyles to use strong enum (#12790)

This commit is contained in:
Łukasz Pękalski
2020-08-28 02:06:39 +02:00
committed by GitHub
parent c6b10bb051
commit 411f242cfd
8 changed files with 24 additions and 23 deletions

View File

@@ -170,7 +170,7 @@ void input_handle_keyboard(bool isTitle)
} }
} }
if (gConfigGeneral.virtual_floor_style != VIRTUAL_FLOOR_STYLE_OFF) if (gConfigGeneral.virtual_floor_style != VirtualFloorStyles::Off)
{ {
if (gInputPlaceObjectModifier & (PLACE_OBJECT_MODIFIER_COPY_Z | PLACE_OBJECT_MODIFIER_SHIFT_Z)) if (gInputPlaceObjectModifier & (PLACE_OBJECT_MODIFIER_COPY_Z | PLACE_OBJECT_MODIFIER_SHIFT_Z))
virtual_floor_enable(); virtual_floor_enable();

View File

@@ -1087,7 +1087,7 @@ static void window_options_mousedown(rct_window* w, rct_widgetindex widgetIndex,
window_options_show_dropdown(w, widget, 3); window_options_show_dropdown(w, widget, 3);
dropdown_set_checked(gConfigGeneral.virtual_floor_style, true); dropdown_set_checked(static_cast<int32_t>(gConfigGeneral.virtual_floor_style), true);
break; break;
} }
break; break;
@@ -1382,7 +1382,7 @@ static void window_options_dropdown(rct_window* w, rct_widgetindex widgetIndex,
switch (widgetIndex) switch (widgetIndex)
{ {
case WIDX_VIRTUAL_FLOOR_DROPDOWN: case WIDX_VIRTUAL_FLOOR_DROPDOWN:
gConfigGeneral.virtual_floor_style = dropdownIndex; gConfigGeneral.virtual_floor_style = static_cast<VirtualFloorStyles>(dropdownIndex);
config_save_default(); config_save_default();
break; break;
} }
@@ -1684,8 +1684,8 @@ static void window_options_invalidate(rct_window* w)
rct_string_id VirtualFloorStyleStrings[] = { STR_VIRTUAL_FLOOR_STYLE_DISABLED, STR_VIRTUAL_FLOOR_STYLE_TRANSPARENT, rct_string_id VirtualFloorStyleStrings[] = { STR_VIRTUAL_FLOOR_STYLE_DISABLED, STR_VIRTUAL_FLOOR_STYLE_TRANSPARENT,
STR_VIRTUAL_FLOOR_STYLE_GLASSY }; STR_VIRTUAL_FLOOR_STYLE_GLASSY };
window_options_rendering_widgets[WIDX_VIRTUAL_FLOOR].text = VirtualFloorStyleStrings[gConfigGeneral window_options_rendering_widgets[WIDX_VIRTUAL_FLOOR].text = VirtualFloorStyleStrings[static_cast<int32_t>(
.virtual_floor_style]; gConfigGeneral.virtual_floor_style)];
widget_set_checkbox_value(w, WIDX_ENABLE_LIGHT_FX_CHECKBOX, gConfigGeneral.enable_light_fx); widget_set_checkbox_value(w, WIDX_ENABLE_LIGHT_FX_CHECKBOX, gConfigGeneral.enable_light_fx);
if (gConfigGeneral.day_night_cycle if (gConfigGeneral.day_night_cycle

View File

@@ -1373,7 +1373,7 @@ static void sub_6E1F34(
*parameter_2 = (quadrant ^ (1 << 1)) | (gWindowSceneryPrimaryColour << 8); *parameter_2 = (quadrant ^ (1 << 1)) | (gWindowSceneryPrimaryColour << 8);
*parameter_3 = rotation | (gWindowScenerySecondaryColour << 16); *parameter_3 = rotation | (gWindowScenerySecondaryColour << 16);
if (gConfigGeneral.virtual_floor_style != VIRTUAL_FLOOR_STYLE_OFF) if (gConfigGeneral.virtual_floor_style != VirtualFloorStyles::Off)
{ {
virtual_floor_set_height(gSceneryPlaceZ); virtual_floor_set_height(gSceneryPlaceZ);
} }
@@ -1664,7 +1664,7 @@ static void sub_6E1F34(
} }
} }
if (gConfigGeneral.virtual_floor_style != VIRTUAL_FLOOR_STYLE_OFF) if (gConfigGeneral.virtual_floor_style != VirtualFloorStyles::Off)
{ {
virtual_floor_set_height(gSceneryPlaceZ); virtual_floor_set_height(gSceneryPlaceZ);
} }
@@ -2663,7 +2663,7 @@ static void top_toolbar_tool_update_scenery(const ScreenCoordsXY& screenPos)
map_invalidate_selection_rect(); map_invalidate_selection_rect();
map_invalidate_map_selection_tiles(); map_invalidate_map_selection_tiles();
if (gConfigGeneral.virtual_floor_style != VIRTUAL_FLOOR_STYLE_OFF) if (gConfigGeneral.virtual_floor_style != VirtualFloorStyles::Off)
{ {
virtual_floor_invalidate(); virtual_floor_invalidate();
} }

View File

@@ -99,10 +99,10 @@ namespace Config
ConfigEnumEntry<ScaleQuality>("SMOOTH_NEAREST_NEIGHBOUR", ScaleQuality::SmoothNearestNeighbour), ConfigEnumEntry<ScaleQuality>("SMOOTH_NEAREST_NEIGHBOUR", ScaleQuality::SmoothNearestNeighbour),
}); });
static const auto Enum_VirtualFloorStyle = ConfigEnum<int32_t>({ static const auto Enum_VirtualFloorStyle = ConfigEnum<VirtualFloorStyles>({
ConfigEnumEntry<int32_t>("OFF", VIRTUAL_FLOOR_STYLE_OFF), ConfigEnumEntry<VirtualFloorStyles>("OFF", VirtualFloorStyles::Off),
ConfigEnumEntry<int32_t>("CLEAR", VIRTUAL_FLOOR_STYLE_CLEAR), ConfigEnumEntry<VirtualFloorStyles>("CLEAR", VirtualFloorStyles::Clear),
ConfigEnumEntry<int32_t>("GLASSY", VIRTUAL_FLOOR_STYLE_GLASSY), ConfigEnumEntry<VirtualFloorStyles>("GLASSY", VirtualFloorStyles::Glassy),
}); });
/** /**
@@ -171,8 +171,8 @@ namespace Config
model->drawing_engine = reader->GetEnum<int32_t>("drawing_engine", DRAWING_ENGINE_SOFTWARE, Enum_DrawingEngine); model->drawing_engine = reader->GetEnum<int32_t>("drawing_engine", DRAWING_ENGINE_SOFTWARE, Enum_DrawingEngine);
model->uncap_fps = reader->GetBoolean("uncap_fps", false); model->uncap_fps = reader->GetBoolean("uncap_fps", false);
model->use_vsync = reader->GetBoolean("use_vsync", true); model->use_vsync = reader->GetBoolean("use_vsync", true);
model->virtual_floor_style = reader->GetEnum<int32_t>( model->virtual_floor_style = reader->GetEnum<VirtualFloorStyles>(
"virtual_floor_style", VIRTUAL_FLOOR_STYLE_GLASSY, Enum_VirtualFloorStyle); "virtual_floor_style", VirtualFloorStyles::Glassy, Enum_VirtualFloorStyle);
model->date_format = reader->GetEnum<int32_t>("date_format", platform_get_locale_date_format(), Enum_DateFormat); model->date_format = reader->GetEnum<int32_t>("date_format", platform_get_locale_date_format(), Enum_DateFormat);
model->auto_staff_placement = reader->GetBoolean("auto_staff", true); model->auto_staff_placement = reader->GetBoolean("auto_staff", true);
model->handymen_mow_default = reader->GetBoolean("handymen_mow_default", false); model->handymen_mow_default = reader->GetBoolean("handymen_mow_default", false);
@@ -288,7 +288,7 @@ namespace Config
writer->WriteBoolean("show_guest_purchases", model->show_guest_purchases); writer->WriteBoolean("show_guest_purchases", model->show_guest_purchases);
writer->WriteBoolean("show_real_names_of_guests", model->show_real_names_of_guests); writer->WriteBoolean("show_real_names_of_guests", model->show_real_names_of_guests);
writer->WriteBoolean("allow_early_completion", model->allow_early_completion); writer->WriteBoolean("allow_early_completion", model->allow_early_completion);
writer->WriteEnum<int32_t>("virtual_floor_style", model->virtual_floor_style, Enum_VirtualFloorStyle); writer->WriteEnum<VirtualFloorStyles>("virtual_floor_style", model->virtual_floor_style, Enum_VirtualFloorStyle);
writer->WriteBoolean("transparent_screenshot", model->transparent_screenshot); writer->WriteBoolean("transparent_screenshot", model->transparent_screenshot);
writer->WriteInt64("last_version_check_time", model->last_version_check_time); writer->WriteInt64("last_version_check_time", model->last_version_check_time);
} }

View File

@@ -18,6 +18,7 @@
enum class MeasurementFormat : int32_t; enum class MeasurementFormat : int32_t;
enum class TemperatureUnit : int32_t; enum class TemperatureUnit : int32_t;
enum class ScaleQuality : int32_t; enum class ScaleQuality : int32_t;
enum class VirtualFloorStyles : int32_t;
struct GeneralConfiguration struct GeneralConfiguration
{ {
@@ -44,7 +45,7 @@ struct GeneralConfiguration
// Map rendering // Map rendering
bool landscape_smoothing; bool landscape_smoothing;
bool always_show_gridlines; bool always_show_gridlines;
int32_t virtual_floor_style; VirtualFloorStyles virtual_floor_style;
bool day_night_cycle; bool day_night_cycle;
bool enable_light_fx; bool enable_light_fx;
bool enable_light_fx_for_vehicles; bool enable_light_fx_for_vehicles;

View File

@@ -398,7 +398,7 @@ void virtual_floor_paint(paint_session* session)
0, 0, 0, 0, 1, _virtualFloorHeight, 5, 5, _virtualFloorHeight + ((dullEdges & EDGE_NW) ? -2 : 0)); 0, 0, 0, 0, 1, _virtualFloorHeight, 5, 5, _virtualFloorHeight + ((dullEdges & EDGE_NW) ? -2 : 0));
} }
if (gConfigGeneral.virtual_floor_style != VIRTUAL_FLOOR_STYLE_GLASSY) if (gConfigGeneral.virtual_floor_style != VirtualFloorStyles::Glassy)
return; return;
if (!weAreOccupied && !weAreLit && weAreAboveGround && weAreOwned) if (!weAreOccupied && !weAreLit && weAreAboveGround && weAreOwned)

View File

@@ -13,11 +13,11 @@
struct CoordsXY; struct CoordsXY;
enum VirtualFloorStyles enum class VirtualFloorStyles : int32_t
{ {
VIRTUAL_FLOOR_STYLE_OFF, Off,
VIRTUAL_FLOOR_STYLE_CLEAR, Clear,
VIRTUAL_FLOOR_STYLE_GLASSY Glassy
}; };
struct paint_session; struct paint_session;

View File

@@ -161,7 +161,7 @@ static void sub_68B3FB(paint_session* session, int32_t x, int32_t y)
bool partOfVirtualFloor = false; bool partOfVirtualFloor = false;
#ifndef __TESTPAINT__ #ifndef __TESTPAINT__
if (gConfigGeneral.virtual_floor_style != VIRTUAL_FLOOR_STYLE_OFF) if (gConfigGeneral.virtual_floor_style != VirtualFloorStyles::Off)
{ {
partOfVirtualFloor = virtual_floor_tile_is_floor(session->MapPosition); partOfVirtualFloor = virtual_floor_tile_is_floor(session->MapPosition);
} }
@@ -330,7 +330,7 @@ static void sub_68B3FB(paint_session* session, int32_t x, int32_t y)
} while (!(tile_element++)->IsLastForTile()); } while (!(tile_element++)->IsLastForTile());
#ifndef __TESTPAINT__ #ifndef __TESTPAINT__
if (gConfigGeneral.virtual_floor_style != VIRTUAL_FLOOR_STYLE_OFF && partOfVirtualFloor) if (gConfigGeneral.virtual_floor_style != VirtualFloorStyles::Off && partOfVirtualFloor)
{ {
virtual_floor_paint(session); virtual_floor_paint(session);
} }