Cast fixes

This commit is contained in:
ZehMatt 2021-08-02 07:24:52 +03:00 committed by ζeh Matt
parent 49bbc0f854
commit 3ad72baaae
No known key found for this signature in database
GPG Key ID: 18CE582C71A225B0
29 changed files with 256 additions and 221 deletions

View File

@ -184,9 +184,9 @@ public:
case WD_BANNER:
return window_banner_open(id);
case WD_DEMOLISH_RIDE:
return window_ride_demolish_prompt_open(get_ride(id));
return window_ride_demolish_prompt_open(get_ride(static_cast<ride_id_t>(id)));
case WD_REFURBISH_RIDE:
return window_ride_refurbish_prompt_open(get_ride(id));
return window_ride_refurbish_prompt_open(get_ride(static_cast<ride_id_t>(id)));
case WD_NEW_CAMPAIGN:
return window_new_campaign_open(id);
case WD_SIGN:
@ -264,7 +264,8 @@ public:
}
case WC_RIDE:
{
auto ride = get_ride(intent->GetSIntExtra(INTENT_EXTRA_RIDE_ID));
const auto rideId = static_cast<ride_id_t>(intent->GetSIntExtra(INTENT_EXTRA_RIDE_ID));
auto ride = get_ride(rideId);
return ride == nullptr ? nullptr : window_ride_main_open(ride);
}
case WC_TRACK_DESIGN_PLACE:
@ -343,13 +344,13 @@ public:
if (w == nullptr || w->number != rideIndex)
{
window_close_construction_windows();
_currentRideIndex = rideIndex;
_currentRideIndex = static_cast<ride_id_t>(rideIndex);
w = OpenWindow(WC_RIDE_CONSTRUCTION);
}
else
{
ride_construction_invalidate_current_track();
_currentRideIndex = rideIndex;
_currentRideIndex = static_cast<ride_id_t>(rideIndex);
}
break;
}
@ -395,7 +396,7 @@ public:
case INTENT_ACTION_INVALIDATE_VEHICLE_WINDOW:
{
auto vehicle = static_cast<Vehicle*>(intent.GetPointerExtra(INTENT_EXTRA_VEHICLE));
auto w = window_find_by_number(WC_RIDE, vehicle->ride);
auto w = window_find_by_number(WC_RIDE, static_cast<int32_t>(vehicle->ride));
if (w == nullptr)
return;

View File

@ -84,7 +84,7 @@ rct_window* window_ride_demolish_prompt_open(Ride* ride)
w->widgets = window_ride_demolish_widgets;
w->enabled_widgets = (1ULL << WIDX_CLOSE) | (1ULL << WIDX_CANCEL) | (1ULL << WIDX_DEMOLISH);
WindowInitScrollWidgets(w);
w->number = ride->id;
w->number = static_cast<int32_t>(ride->id);
_demolishRideCost = -ride_get_refund_price(ride);
return w;
@ -109,7 +109,7 @@ rct_window* window_ride_refurbish_prompt_open(Ride* ride)
w->widgets = window_ride_refurbish_widgets;
w->enabled_widgets = (1ULL << WIDX_CLOSE) | (1ULL << WIDX_CANCEL) | (1ULL << WIDX_REFURBISH);
WindowInitScrollWidgets(w);
w->number = ride->id;
w->number = static_cast<int32_t>(ride->id);
_demolishRideCost = -ride_get_refund_price(ride);
return w;
@ -125,7 +125,7 @@ static void window_ride_demolish_mouseup(rct_window* w, rct_widgetindex widgetIn
{
case WIDX_DEMOLISH:
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
ride_action_modify(ride, RIDE_MODIFY_DEMOLISH, GAME_COMMAND_FLAG_APPLY);
break;
}
@ -142,7 +142,7 @@ static void window_ride_refurbish_mouseup(rct_window* w, rct_widgetindex widgetI
{
case WIDX_REFURBISH:
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
ride_action_modify(ride, RIDE_MODIFY_RENEW, GAME_COMMAND_FLAG_APPLY);
break;
}
@ -161,7 +161,7 @@ static void window_ride_demolish_paint(rct_window* w, rct_drawpixelinfo* dpi)
{
WindowDrawWidgets(w, dpi);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr)
{
auto stringId = (gParkFlags & PARK_FLAGS_NO_MONEY) ? STR_DEMOLISH_RIDE_ID : STR_DEMOLISH_RIDE_ID_MONEY;
@ -178,7 +178,7 @@ static void window_ride_refurbish_paint(rct_window* w, rct_drawpixelinfo* dpi)
{
WindowDrawWidgets(w, dpi);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr)
{
auto stringId = (gParkFlags & PARK_FLAGS_NO_MONEY) ? STR_REFURBISH_RIDE_ID_NO_MONEY : STR_REFURBISH_RIDE_ID_MONEY;

View File

@ -972,7 +972,7 @@ static void window_editor_objective_options_rides_update(rct_window* w)
{
if (ride.IsRide())
{
w->list_item_positions[numItems] = ride.id;
w->list_item_positions[numItems] = static_cast<uint32_t>(ride.id);
numItems++;
}
}
@ -1005,7 +1005,8 @@ static void window_editor_objective_options_rides_scrollmousedown(
if (i < 0 || i >= w->no_list_items)
return;
auto ride = get_ride(w->list_item_positions[i]);
const auto rideId = static_cast<ride_id_t>(w->list_item_positions[i]);
auto ride = get_ride(rideId);
if (ride != nullptr)
{
ride->lifecycle_flags ^= RIDE_LIFECYCLE_INDESTRUCTIBLE;
@ -1098,7 +1099,8 @@ static void window_editor_objective_options_rides_scrollpaint(rct_window* w, rct
}
// Checkbox mark
auto ride = get_ride(w->list_item_positions[i]);
const auto rideId = static_cast<ride_id_t>(w->list_item_positions[i]);
auto ride = get_ride(rideId);
if (ride != nullptr)
{
if (ride->lifecycle_flags & RIDE_LIFECYCLE_INDESTRUCTIBLE)

View File

@ -1456,7 +1456,7 @@ void window_guest_rides_update(rct_window* w)
{
if (ride.IsRide() && guest->HasRidden(&ride))
{
w->list_item_positions[curr_list_position] = ride.id;
w->list_item_positions[curr_list_position] = static_cast<uint32_t>(ride.id);
curr_list_position++;
}
}
@ -1607,7 +1607,8 @@ void window_guest_rides_scroll_paint(rct_window* w, rct_drawpixelinfo* dpi, int3
stringId = STR_WINDOW_COLOUR_2_STRINGID;
}
auto ride = get_ride(w->list_item_positions[list_index]);
const auto rideId = static_cast<ride_id_t>(w->list_item_positions[list_index]);
auto ride = get_ride(rideId);
if (ride != nullptr)
{
auto ft = Formatter();

View File

@ -182,7 +182,7 @@ public:
{
case GuestListFilterType::GuestsOnRide:
{
auto guestRide = get_ride(index);
auto guestRide = get_ride(static_cast<ride_id_t>(index));
if (guestRide != nullptr)
{
ft.Add<rct_string_id>(
@ -198,7 +198,7 @@ public:
}
case GuestListFilterType::GuestsInQueue:
{
auto guestRide = get_ride(index);
auto guestRide = get_ride(static_cast<ride_id_t>(index));
if (guestRide != nullptr)
{
ft.Add<rct_string_id>(STR_QUEUING_FOR);
@ -213,7 +213,7 @@ public:
}
case GuestListFilterType::GuestsThinkingAboutRide:
{
auto guestRide = get_ride(index);
auto guestRide = get_ride(static_cast<ride_id_t>(index));
if (guestRide != nullptr)
{
ft.Add<rct_string_id>(STR_NONE);

View File

@ -130,7 +130,7 @@ rct_window* window_maze_construction_open()
WindowInitScrollWidgets(w);
w->number = _currentRideIndex;
w->number = static_cast<int32_t>(_currentRideIndex);
window_push_others_right(w);
show_gridlines();
@ -169,7 +169,7 @@ static void window_maze_construction_close(rct_window* w)
else
{
auto intent = Intent(WC_RIDE);
intent.putExtra(INTENT_EXTRA_RIDE_ID, ride->id);
intent.putExtra(INTENT_EXTRA_RIDE_ID, static_cast<int32_t>(ride->id));
context_open_intent(&intent);
}
}
@ -181,7 +181,7 @@ static void window_maze_construction_entrance_mouseup(rct_window* w, rct_widgeti
return;
gRideEntranceExitPlaceType = widgetIndex == WIDX_MAZE_ENTRANCE ? ENTRANCE_TYPE_RIDE_ENTRANCE : ENTRANCE_TYPE_RIDE_EXIT;
gRideEntranceExitPlaceRideIndex = static_cast<uint8_t>(w->number);
gRideEntranceExitPlaceRideIndex = static_cast<ride_id_t>(w->number);
gRideEntranceExitPlaceStationIndex = 0;
input_set_flag(INPUT_FLAG_6, true);

View File

@ -22,7 +22,9 @@
static constexpr const rct_string_id WINDOW_TITLE = STR_NONE;
static constexpr const int32_t WH = 109;
static constexpr const int32_t WW = 350;
constexpr uint16_t SELECTED_RIDE_UNDEFINED = 0xFFFF;
constexpr auto SELECTED_RIDE_UNDEFINED = RIDE_ID_NULL;
constexpr uint16_t SELECTED_ITEM_UNDEFINED = 0xFFFF;
// clang-format off
enum WINDOW_NEW_CAMPAIGN_WIDGET_IDX {
@ -252,7 +254,8 @@ public:
break;
case WIDX_START_BUTTON:
{
auto gameAction = ParkMarketingAction(campaign.campaign_type, campaign.RideId, campaign.no_weeks);
auto gameAction = ParkMarketingAction(
campaign.campaign_type, static_cast<int32_t>(campaign.RideId), campaign.no_weeks);
gameAction.SetCallback([](const GameAction* ga, const GameActions::Result* result) {
if (result->Error == GameActions::Status::Ok)
{
@ -322,7 +325,7 @@ public:
widgets[WIDX_RIDE_DROPDOWN].type = WindowWidgetType::DropdownMenu;
widgets[WIDX_RIDE_DROPDOWN_BUTTON].type = WindowWidgetType::Button;
widgets[WIDX_RIDE_LABEL].text = STR_MARKETING_ITEM;
if (campaign.ShopItemId != SELECTED_RIDE_UNDEFINED)
if (campaign.ShopItemId != SELECTED_ITEM_UNDEFINED)
{
widgets[WIDX_RIDE_DROPDOWN].text = GetShopItemDescriptor(ShopItem(campaign.ShopItemId)).Naming.Plural;
}

View File

@ -958,7 +958,7 @@ static void window_ride_draw_tab_main(rct_drawpixelinfo* dpi, rct_window* w)
rct_widgetindex widgetIndex = WIDX_TAB_1 + WINDOW_RIDE_PAGE_MAIN;
if (!(w->disabled_widgets & (1LL << widgetIndex)))
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr)
{
int32_t spriteIndex = 0;
@ -1014,7 +1014,7 @@ static void window_ride_draw_tab_vehicle(rct_drawpixelinfo* dpi, rct_window* w)
screenCoords = ScreenCoordsXY{ widget->width() / 2, widget->height() - 12 };
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -1108,7 +1108,7 @@ static void window_ride_draw_tab_images(rct_drawpixelinfo* dpi, rct_window* w)
static void window_ride_disable_tabs(rct_window* w)
{
uint32_t disabled_tabs = 0;
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -1192,12 +1192,12 @@ static void window_ride_update_overall_view(Ride* ride)
maxz = std::max(maxz, clearZ);
}
if (ride->id >= ride_overall_views.size())
if (static_cast<int32_t>(ride->id) >= ride_overall_views.size())
{
ride_overall_views.resize(ride->id + 1);
ride_overall_views.resize(static_cast<int32_t>(ride->id) + 1);
}
auto& view = ride_overall_views[ride->id];
auto& view = ride_overall_views[static_cast<size_t>(ride->id)];
view.x = (minx + maxx) / 2 + 16;
view.y = (miny + maxy) / 2 + 16;
view.z = (minz + maxz) / 2 - 8;
@ -1234,7 +1234,7 @@ static rct_window* window_ride_open(Ride* ride)
w->widgets = window_ride_page_widgets[WINDOW_RIDE_PAGE_MAIN];
w->enabled_widgets = window_ride_page_enabled_widgets[WINDOW_RIDE_PAGE_MAIN];
w->hold_down_widgets = window_ride_page_hold_down_widgets[WINDOW_RIDE_PAGE_MAIN];
w->number = ride->id;
w->number = static_cast<int32_t>(ride->id);
w->page = WINDOW_RIDE_PAGE_MAIN;
w->vehicleIndex = 0;
@ -1264,7 +1264,7 @@ rct_window* window_ride_main_open(Ride* ride)
return nullptr;
}
rct_window* w = window_bring_to_front_by_number(WC_RIDE, ride->id);
rct_window* w = window_bring_to_front_by_number(WC_RIDE, static_cast<int32_t>(ride->id));
if (w == nullptr)
{
w = window_ride_open(ride);
@ -1305,7 +1305,7 @@ static rct_window* window_ride_open_station(Ride* ride, StationIndex stationInde
if (ride->GetRideTypeDescriptor().HasFlag(RIDE_TYPE_FLAG_NO_VEHICLES))
return window_ride_main_open(ride);
auto w = window_bring_to_front_by_number(WC_RIDE, ride->id);
auto w = window_bring_to_front_by_number(WC_RIDE, static_cast<int32_t>(ride->id));
if (w == nullptr)
{
w = window_ride_open(ride);
@ -1407,7 +1407,7 @@ rct_window* window_ride_open_vehicle(Vehicle* vehicle)
view++;
}
rct_window* w = window_find_by_number(WC_RIDE, ride->id);
rct_window* w = window_find_by_number(WC_RIDE, static_cast<int32_t>(ride->id));
if (w != nullptr)
{
w->Invalidate();
@ -1442,7 +1442,8 @@ rct_window* window_ride_open_vehicle(Vehicle* vehicle)
}
}
w = openedPeepWindow ? window_find_by_number(WC_RIDE, ride->id) : window_bring_to_front_by_number(WC_RIDE, ride->id);
w = openedPeepWindow ? window_find_by_number(WC_RIDE, static_cast<int32_t>(ride->id))
: window_bring_to_front_by_number(WC_RIDE, static_cast<int32_t>(ride->id));
}
if (w == nullptr)
@ -1584,7 +1585,7 @@ static void window_ride_init_viewport(rct_window* w)
if (w->page != WINDOW_RIDE_PAGE_MAIN)
return;
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -1716,7 +1717,7 @@ static void window_ride_init_viewport(rct_window* w)
*/
static void window_ride_rename(rct_window* w)
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr)
{
auto rideName = ride->GetName();
@ -1750,11 +1751,11 @@ static void window_ride_main_mouseup(rct_window* w, rct_widgetindex widgetIndex)
break;
case WIDX_CONSTRUCTION:
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr)
{
ride_construct(ride);
if (window_find_by_number(WC_RIDE_CONSTRUCTION, ride->id) != nullptr)
if (window_find_by_number(WC_RIDE_CONSTRUCTION, static_cast<int32_t>(ride->id)) != nullptr)
{
window_close(w);
}
@ -1775,7 +1776,7 @@ static void window_ride_main_mouseup(rct_window* w, rct_widgetindex widgetIndex)
case WIDX_TEST_LIGHT:
case WIDX_OPEN_LIGHT:
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr)
{
RideStatus status;
@ -1813,7 +1814,7 @@ static void window_ride_main_resize(rct_window* w)
{
minHeight += 20 + RCT1_LIGHT_OFFSET;
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr)
{
#ifdef __SIMULATE_IN_RIDE_WINDOW__
@ -1845,7 +1846,7 @@ static void window_ride_main_resize(rct_window* w)
static void window_ride_show_view_dropdown(rct_window* w, rct_widget* widget)
{
rct_widget* dropdownWidget = widget - 1;
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -1961,7 +1962,7 @@ static void window_ride_set_dropdown(RideStatusDropdownInfo& info, RideStatus st
static void window_ride_show_open_dropdown(rct_window* w, rct_widget* widget)
{
RideStatusDropdownInfo info;
info.Ride = get_ride(w->number);
info.Ride = get_ride(static_cast<ride_id_t>(w->number));
if (info.Ride == nullptr)
return;
@ -2029,7 +2030,7 @@ static void populate_ride_type_dropdown()
static void window_ride_show_ride_type_dropdown(rct_window* w, rct_widget* widget)
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -2125,7 +2126,7 @@ static void populate_vehicle_type_dropdown(Ride* ride)
static void window_ride_show_vehicle_type_dropdown(rct_window* w, rct_widget* widget)
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -2192,7 +2193,7 @@ static void window_ride_main_dropdown(rct_window* w, rct_widgetindex widgetIndex
if (dropdownIndex == -1)
{
dropdownIndex = w->ride.view + 1;
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr)
{
if (dropdownIndex != 0 && dropdownIndex <= ride->num_vehicles
@ -2213,7 +2214,7 @@ static void window_ride_main_dropdown(rct_window* w, rct_widgetindex widgetIndex
break;
case WIDX_OPEN:
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr)
{
auto status = RideStatus::Closed;
@ -2250,7 +2251,8 @@ static void window_ride_main_dropdown(rct_window* w, rct_widgetindex widgetIndex
uint8_t rideType = RideDropdownData[rideLabelId].ride_type_id;
if (rideType < RIDE_TYPE_COUNT)
{
auto rideSetSetting = RideSetSettingAction(w->number, RideSetSetting::RideType, rideType);
const auto rideId = static_cast<ride_id_t>(w->number);
auto rideSetSetting = RideSetSettingAction(rideId, RideSetSetting::RideType, rideType);
rideSetSetting.SetCallback([](const GameAction* ga, const GameActions::Result* result) {
// Reset ghost track if ride construction window is open, prevents a crash
// Will get set to the correct Alternative variable during set_default_next_piece.
@ -2276,7 +2278,7 @@ static void window_ride_main_update(rct_window* w)
widget_invalidate(w, WIDX_TAB_1);
// Update status
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr)
{
if (!(ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_MAIN))
@ -2311,7 +2313,7 @@ static void window_ride_main_textinput(rct_window* w, rct_widgetindex widgetInde
if (widgetIndex != WIDX_RENAME || text == nullptr)
return;
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr)
{
ride_set_name(ride, text, 0);
@ -2345,7 +2347,7 @@ static void window_ride_main_invalidate(rct_window* w)
window_ride_set_pressed_tab(w);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -2477,7 +2479,7 @@ static void window_ride_main_invalidate(rct_window* w)
static rct_string_id window_ride_get_status_overall_view(rct_window* w, Formatter& ft)
{
auto stringId = STR_NONE;
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr)
{
ride->FormatStatusTo(ft);
@ -2496,7 +2498,7 @@ static rct_string_id window_ride_get_status_overall_view(rct_window* w, Formatte
*/
static rct_string_id window_ride_get_status_vehicle(rct_window* w, Formatter& ft)
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return STR_EMPTY;
@ -2544,7 +2546,7 @@ static rct_string_id window_ride_get_status_vehicle(rct_window* w, Formatter& ft
*/
static rct_string_id window_ride_get_status_station(rct_window* w, Formatter& ft)
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return STR_NONE;
@ -2595,7 +2597,7 @@ static rct_string_id window_ride_get_status_station(rct_window* w, Formatter& ft
*/
static rct_string_id window_ride_get_status(rct_window* w, Formatter& ft)
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (w->ride.view == 0)
return window_ride_get_status_overall_view(w, ft);
if (ride != nullptr && w->ride.view <= ride->num_vehicles)
@ -2625,7 +2627,7 @@ static void window_ride_main_paint(rct_window* w, rct_drawpixelinfo* dpi)
}
// View dropdown
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -2707,7 +2709,7 @@ static void window_ride_vehicle_resize(rct_window* w)
*/
static void window_ride_vehicle_mousedown(rct_window* w, rct_widgetindex widgetIndex, rct_widget* widget)
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -2750,7 +2752,7 @@ static void window_ride_vehicle_dropdown(rct_window* w, rct_widgetindex widgetIn
case WIDX_VEHICLE_TYPE_DROPDOWN:
if (dropdownIndex >= 0 && static_cast<std::size_t>(dropdownIndex) < VehicleDropdownData.size())
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr)
{
auto newRideType = VehicleDropdownData[dropdownIndex].subtype_id;
@ -2775,7 +2777,7 @@ static void window_ride_vehicle_update(rct_window* w)
static OpenRCT2String window_ride_vehicle_tooltip(
rct_window* const w, const rct_widgetindex widgetIndex, rct_string_id fallback)
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return { STR_NONE, {} };
@ -2842,7 +2844,7 @@ static void window_ride_vehicle_invalidate(rct_window* w)
window_ride_set_pressed_tab(w);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -2922,7 +2924,7 @@ static void window_ride_vehicle_paint(rct_window* w, rct_drawpixelinfo* dpi)
WindowDrawWidgets(w, dpi);
window_ride_draw_tab_images(dpi, w);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -2997,7 +2999,7 @@ static rct_vehicle_paintinfo _sprites_to_draw[144];
*/
static void window_ride_vehicle_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32_t scrollIndex)
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -3090,7 +3092,8 @@ static void window_ride_vehicle_scrollpaint(rct_window* w, rct_drawpixelinfo* dp
*/
static void window_ride_mode_tweak_increase(rct_window* w)
{
auto ride = get_ride(w->number);
const auto rideId = static_cast<ride_id_t>(w->number);
auto ride = get_ride(rideId);
if (ride == nullptr)
return;
@ -3106,7 +3109,7 @@ static void window_ride_mode_tweak_increase(rct_window* w)
uint8_t increment = ride->mode == RideMode::Dodgems ? 10 : 1;
set_operating_setting(
w->number, RideSetSetting::Operation, std::clamp<int16_t>(ride->operation_option + increment, minValue, maxValue));
rideId, RideSetSetting::Operation, std::clamp<int16_t>(ride->operation_option + increment, minValue, maxValue));
}
/**
@ -3115,7 +3118,8 @@ static void window_ride_mode_tweak_increase(rct_window* w)
*/
static void window_ride_mode_tweak_decrease(rct_window* w)
{
auto ride = get_ride(w->number);
const auto rideId = static_cast<ride_id_t>(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -3130,7 +3134,7 @@ static void window_ride_mode_tweak_decrease(rct_window* w)
uint8_t decrement = ride->mode == RideMode::Dodgems ? 10 : 1;
set_operating_setting(
w->number, RideSetSetting::Operation, std::clamp<int16_t>(ride->operation_option - decrement, minValue, maxValue));
rideId, RideSetSetting::Operation, std::clamp<int16_t>(ride->operation_option - decrement, minValue, maxValue));
}
/**
@ -3142,7 +3146,8 @@ static void window_ride_mode_dropdown(rct_window* w, rct_widget* widget)
rct_widget* dropdownWidget;
dropdownWidget = widget - 1;
auto ride = get_ride(w->number);
const auto rideId = static_cast<ride_id_t>(w->number);
auto ride = get_ride(rideId);
if (ride == nullptr)
return;
@ -3181,7 +3186,8 @@ static void window_ride_mode_dropdown(rct_window* w, rct_widget* widget)
*/
static void window_ride_load_dropdown(rct_window* w, rct_widget* widget)
{
auto ride = get_ride(w->number);
const auto rideId = static_cast<ride_id_t>(w->number);
auto ride = get_ride(rideId);
if (ride == nullptr)
return;
@ -3204,7 +3210,8 @@ static void window_ride_load_dropdown(rct_window* w, rct_widget* widget)
*/
static void window_ride_operating_mouseup(rct_window* w, rct_widgetindex widgetIndex)
{
auto ride = get_ride(w->number);
const auto rideId = static_cast<ride_id_t>(w->number);
auto ride = get_ride(rideId);
if (ride == nullptr)
return;
@ -3226,23 +3233,21 @@ static void window_ride_operating_mouseup(rct_window* w, rct_widgetindex widgetI
window_ride_set_page(w, widgetIndex - WIDX_TAB_1);
break;
case WIDX_LOAD_CHECKBOX:
set_operating_setting(w->number, RideSetSetting::Departure, ride->depart_flags ^ RIDE_DEPART_WAIT_FOR_LOAD);
set_operating_setting(rideId, RideSetSetting::Departure, ride->depart_flags ^ RIDE_DEPART_WAIT_FOR_LOAD);
break;
case WIDX_LEAVE_WHEN_ANOTHER_ARRIVES_CHECKBOX:
set_operating_setting(
w->number, RideSetSetting::Departure, ride->depart_flags ^ RIDE_DEPART_LEAVE_WHEN_ANOTHER_ARRIVES);
rideId, RideSetSetting::Departure, ride->depart_flags ^ RIDE_DEPART_LEAVE_WHEN_ANOTHER_ARRIVES);
break;
case WIDX_MINIMUM_LENGTH_CHECKBOX:
set_operating_setting(
w->number, RideSetSetting::Departure, ride->depart_flags ^ RIDE_DEPART_WAIT_FOR_MINIMUM_LENGTH);
set_operating_setting(rideId, RideSetSetting::Departure, ride->depart_flags ^ RIDE_DEPART_WAIT_FOR_MINIMUM_LENGTH);
break;
case WIDX_MAXIMUM_LENGTH_CHECKBOX:
set_operating_setting(
w->number, RideSetSetting::Departure, ride->depart_flags ^ RIDE_DEPART_WAIT_FOR_MAXIMUM_LENGTH);
set_operating_setting(rideId, RideSetSetting::Departure, ride->depart_flags ^ RIDE_DEPART_WAIT_FOR_MAXIMUM_LENGTH);
break;
case WIDX_SYNCHRONISE_WITH_ADJACENT_STATIONS_CHECKBOX:
set_operating_setting(
w->number, RideSetSetting::Departure, ride->depart_flags ^ RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS);
rideId, RideSetSetting::Departure, ride->depart_flags ^ RIDE_DEPART_SYNCHRONISE_WITH_ADJACENT_STATIONS);
break;
}
}
@ -3262,7 +3267,8 @@ static void window_ride_operating_resize(rct_window* w)
*/
static void window_ride_operating_mousedown(rct_window* w, rct_widgetindex widgetIndex, rct_widget* widget)
{
auto ride = get_ride(w->number);
const auto rideId = static_cast<ride_id_t>(w->number);
auto ride = get_ride(rideId);
if (ride == nullptr)
return;
@ -3279,42 +3285,42 @@ static void window_ride_operating_mousedown(rct_window* w, rct_widgetindex widge
upper_bound = gCheatsUnlockOperatingLimits ? 255 : ride->GetRideTypeDescriptor().LiftData.maximum_speed;
lower_bound = gCheatsUnlockOperatingLimits ? 0 : ride->GetRideTypeDescriptor().LiftData.minimum_speed;
set_operating_setting(
w->number, RideSetSetting::LiftHillSpeed,
rideId, RideSetSetting::LiftHillSpeed,
std::clamp<int16_t>(ride->lift_hill_speed + 1, lower_bound, upper_bound));
break;
case WIDX_LIFT_HILL_SPEED_DECREASE:
upper_bound = gCheatsUnlockOperatingLimits ? 255 : ride->GetRideTypeDescriptor().LiftData.maximum_speed;
lower_bound = gCheatsUnlockOperatingLimits ? 0 : ride->GetRideTypeDescriptor().LiftData.minimum_speed;
set_operating_setting(
w->number, RideSetSetting::LiftHillSpeed,
rideId, RideSetSetting::LiftHillSpeed,
std::clamp<int16_t>(ride->lift_hill_speed - 1, lower_bound, upper_bound));
break;
case WIDX_MINIMUM_LENGTH_INCREASE:
upper_bound = 250;
lower_bound = 0;
set_operating_setting(
w->number, RideSetSetting::MinWaitingTime,
rideId, RideSetSetting::MinWaitingTime,
std::clamp<int16_t>(ride->min_waiting_time + 1, lower_bound, upper_bound));
break;
case WIDX_MINIMUM_LENGTH_DECREASE:
upper_bound = 250;
lower_bound = 0;
set_operating_setting(
w->number, RideSetSetting::MinWaitingTime,
rideId, RideSetSetting::MinWaitingTime,
std::clamp<int16_t>(ride->min_waiting_time - 1, lower_bound, upper_bound));
break;
case WIDX_MAXIMUM_LENGTH_INCREASE:
upper_bound = 250;
lower_bound = 0;
set_operating_setting(
w->number, RideSetSetting::MaxWaitingTime,
rideId, RideSetSetting::MaxWaitingTime,
std::clamp<int16_t>(ride->max_waiting_time + 1, lower_bound, upper_bound));
break;
case WIDX_MAXIMUM_LENGTH_DECREASE:
upper_bound = 250;
lower_bound = 0;
set_operating_setting(
w->number, RideSetSetting::MaxWaitingTime,
rideId, RideSetSetting::MaxWaitingTime,
std::clamp<int16_t>(ride->max_waiting_time - 1, lower_bound, upper_bound));
break;
case WIDX_MODE_DROPDOWN:
@ -3327,13 +3333,13 @@ static void window_ride_operating_mousedown(rct_window* w, rct_widgetindex widge
upper_bound = gCheatsUnlockOperatingLimits ? 255 : MAX_CIRCUITS_PER_RIDE;
lower_bound = 1;
set_operating_setting(
w->number, RideSetSetting::NumCircuits, std::clamp<int16_t>(ride->num_circuits + 1, lower_bound, upper_bound));
rideId, RideSetSetting::NumCircuits, std::clamp<int16_t>(ride->num_circuits + 1, lower_bound, upper_bound));
break;
case WIDX_OPERATE_NUMBER_OF_CIRCUITS_DECREASE:
upper_bound = gCheatsUnlockOperatingLimits ? 255 : MAX_CIRCUITS_PER_RIDE;
lower_bound = 1;
set_operating_setting(
w->number, RideSetSetting::NumCircuits, std::clamp<int16_t>(ride->num_circuits - 1, lower_bound, upper_bound));
rideId, RideSetSetting::NumCircuits, std::clamp<int16_t>(ride->num_circuits - 1, lower_bound, upper_bound));
break;
}
}
@ -3347,7 +3353,8 @@ static void window_ride_operating_dropdown(rct_window* w, rct_widgetindex widget
if (dropdownIndex == -1)
return;
auto ride = get_ride(w->number);
const auto rideId = static_cast<ride_id_t>(w->number);
auto ride = get_ride(rideId);
if (ride == nullptr)
return;
@ -3371,12 +3378,12 @@ static void window_ride_operating_dropdown(rct_window* w, rct_widgetindex widget
}
}
if (rideMode != RideMode::NullMode)
set_operating_setting(w->number, RideSetSetting::Mode, static_cast<uint8_t>(rideMode));
set_operating_setting(rideId, RideSetSetting::Mode, static_cast<uint8_t>(rideMode));
break;
}
case WIDX_LOAD_DROPDOWN:
set_operating_setting(
w->number, RideSetSetting::Departure, (ride->depart_flags & ~RIDE_DEPART_WAIT_FOR_LOAD_MASK) | dropdownIndex);
rideId, RideSetSetting::Departure, (ride->depart_flags & ~RIDE_DEPART_WAIT_FOR_LOAD_MASK) | dropdownIndex);
break;
}
}
@ -3391,7 +3398,7 @@ static void window_ride_operating_update(rct_window* w)
window_event_invalidate_call(w);
widget_invalidate(w, WIDX_TAB_3);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr && ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_OPERATING)
{
ride->window_invalidate_flags &= ~RIDE_INVALIDATE_RIDE_OPERATING;
@ -3417,7 +3424,7 @@ static void window_ride_operating_invalidate(rct_window* w)
window_ride_set_pressed_tab(w);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -3658,7 +3665,7 @@ static void window_ride_operating_paint(rct_window* w, rct_drawpixelinfo* dpi)
WindowDrawWidgets(w, dpi);
window_ride_draw_tab_images(dpi, w);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -3690,7 +3697,7 @@ static void window_ride_operating_paint(rct_window* w, rct_drawpixelinfo* dpi)
*/
static void window_ride_locate_mechanic(rct_window* w)
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -3780,7 +3787,7 @@ static void window_ride_maintenance_resize(rct_window* w)
*/
static void window_ride_maintenance_mousedown(rct_window* w, rct_widgetindex widgetIndex, rct_widget* widget)
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -3884,7 +3891,8 @@ static void window_ride_maintenance_dropdown(rct_window* w, rct_widgetindex widg
if (dropdownIndex == -1)
return;
auto ride = get_ride(w->number);
const auto rideId = static_cast<ride_id_t>(w->number);
auto ride = get_ride(rideId);
if (ride == nullptr)
return;
@ -3895,7 +3903,7 @@ static void window_ride_maintenance_dropdown(rct_window* w, rct_widgetindex widg
switch (widgetIndex)
{
case WIDX_INSPECTION_INTERVAL_DROPDOWN:
set_operating_setting(w->number, RideSetSetting::InspectionInterval, dropdownIndex);
set_operating_setting(rideId, RideSetSetting::InspectionInterval, dropdownIndex);
break;
case WIDX_FORCE_BREAKDOWN:
@ -3990,7 +3998,7 @@ static void window_ride_maintenance_update(rct_window* w)
window_event_invalidate_call(w);
widget_invalidate(w, WIDX_TAB_4);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr && ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_MAINTENANCE)
{
ride->window_invalidate_flags &= ~RIDE_INVALIDATE_RIDE_MAINTENANCE;
@ -4013,7 +4021,7 @@ static void window_ride_maintenance_invalidate(rct_window* w)
window_ride_set_pressed_tab(w);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -4055,7 +4063,7 @@ static void window_ride_maintenance_paint(rct_window* w, rct_drawpixelinfo* dpi)
WindowDrawWidgets(w, dpi);
window_ride_draw_tab_images(dpi, w);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -4210,7 +4218,7 @@ static void window_ride_set_track_colour_scheme(rct_window* w, const ScreenCoord
return;
if (info.Element->GetType() != TILE_ELEMENT_TYPE_TRACK)
return;
if (info.Element->AsTrack()->GetRideIndex() != w->number)
if (info.Element->AsTrack()->GetRideIndex() != static_cast<ride_id_t>(w->number))
return;
if (info.Element->AsTrack()->GetColourScheme() == newColourScheme)
return;
@ -4288,7 +4296,7 @@ static void window_ride_colour_mousedown(rct_window* w, rct_widgetindex widgetIn
int32_t i, numItems;
rct_string_id stringId;
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -4421,6 +4429,7 @@ static void window_ride_colour_dropdown(rct_window* w, rct_widgetindex widgetInd
if (dropdownIndex == -1)
return;
const auto rideId = static_cast<ride_id_t>(w->number);
switch (widgetIndex)
{
case WIDX_TRACK_COLOUR_SCHEME_DROPDOWN:
@ -4430,28 +4439,28 @@ static void window_ride_colour_dropdown(rct_window* w, rct_widgetindex widgetInd
case WIDX_TRACK_MAIN_COLOUR:
{
auto rideSetAppearanceAction = RideSetAppearanceAction(
w->number, RideSetAppearanceType::TrackColourMain, dropdownIndex, w->ride_colour);
rideId, RideSetAppearanceType::TrackColourMain, dropdownIndex, w->ride_colour);
GameActions::Execute(&rideSetAppearanceAction);
}
break;
case WIDX_TRACK_ADDITIONAL_COLOUR:
{
auto rideSetAppearanceAction = RideSetAppearanceAction(
w->number, RideSetAppearanceType::TrackColourAdditional, dropdownIndex, w->ride_colour);
rideId, RideSetAppearanceType::TrackColourAdditional, dropdownIndex, w->ride_colour);
GameActions::Execute(&rideSetAppearanceAction);
}
break;
case WIDX_TRACK_SUPPORT_COLOUR:
{
auto rideSetAppearanceAction = RideSetAppearanceAction(
w->number, RideSetAppearanceType::TrackColourSupports, dropdownIndex, w->ride_colour);
rideId, RideSetAppearanceType::TrackColourSupports, dropdownIndex, w->ride_colour);
GameActions::Execute(&rideSetAppearanceAction);
}
break;
case WIDX_MAZE_STYLE_DROPDOWN:
{
auto rideSetAppearanceAction = RideSetAppearanceAction(
w->number, RideSetAppearanceType::MazeStyle, dropdownIndex, w->ride_colour);
rideId, RideSetAppearanceType::MazeStyle, dropdownIndex, w->ride_colour);
GameActions::Execute(&rideSetAppearanceAction);
}
break;
@ -4467,7 +4476,7 @@ static void window_ride_colour_dropdown(rct_window* w, rct_widgetindex widgetInd
if (ddIndex == dropdownIndex)
{
auto rideSetAppearanceAction = RideSetAppearanceAction(
w->number, RideSetAppearanceType::EntranceStyle, ddIndex, 0);
rideId, RideSetAppearanceType::EntranceStyle, ddIndex, 0);
GameActions::Execute(&rideSetAppearanceAction);
break;
}
@ -4479,7 +4488,7 @@ static void window_ride_colour_dropdown(rct_window* w, rct_widgetindex widgetInd
case WIDX_VEHICLE_COLOUR_SCHEME_DROPDOWN:
{
auto rideSetAppearanceAction = RideSetAppearanceAction(
w->number, RideSetAppearanceType::VehicleColourScheme, dropdownIndex, 0);
rideId, RideSetAppearanceType::VehicleColourScheme, dropdownIndex, 0);
GameActions::Execute(&rideSetAppearanceAction);
w->vehicleIndex = 0;
}
@ -4491,21 +4500,21 @@ static void window_ride_colour_dropdown(rct_window* w, rct_widgetindex widgetInd
case WIDX_VEHICLE_MAIN_COLOUR:
{
auto rideSetAppearanceAction = RideSetAppearanceAction(
w->number, RideSetAppearanceType::VehicleColourBody, dropdownIndex, w->vehicleIndex);
rideId, RideSetAppearanceType::VehicleColourBody, dropdownIndex, w->vehicleIndex);
GameActions::Execute(&rideSetAppearanceAction);
}
break;
case WIDX_VEHICLE_ADDITIONAL_COLOUR_1:
{
auto rideSetAppearanceAction = RideSetAppearanceAction(
w->number, RideSetAppearanceType::VehicleColourTrim, dropdownIndex, w->vehicleIndex);
rideId, RideSetAppearanceType::VehicleColourTrim, dropdownIndex, w->vehicleIndex);
GameActions::Execute(&rideSetAppearanceAction);
}
break;
case WIDX_VEHICLE_ADDITIONAL_COLOUR_2:
{
auto rideSetAppearanceAction = RideSetAppearanceAction(
w->number, RideSetAppearanceType::VehicleColourTernary, dropdownIndex, w->vehicleIndex);
rideId, RideSetAppearanceType::VehicleColourTernary, dropdownIndex, w->vehicleIndex);
GameActions::Execute(&rideSetAppearanceAction);
}
break;
@ -4562,7 +4571,7 @@ static void window_ride_colour_invalidate(rct_window* w)
window_ride_set_pressed_tab(w);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -4788,7 +4797,7 @@ static void window_ride_colour_paint(rct_window* w, rct_drawpixelinfo* dpi)
rct_drawpixelinfo clippedDpi;
rct_widget* widget;
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -4888,7 +4897,7 @@ static void window_ride_colour_paint(rct_window* w, rct_drawpixelinfo* dpi)
*/
static void window_ride_colour_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32_t scrollIndex)
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -4951,11 +4960,12 @@ static std::vector<ObjectEntryIndex> window_ride_current_music_style_order;
*/
static void window_ride_toggle_music(rct_window* w)
{
auto ride = get_ride(w->number);
const auto rideId = static_cast<ride_id_t>(w->number);
auto ride = get_ride(rideId);
if (ride != nullptr)
{
int32_t activateMusic = (ride->lifecycle_flags & RIDE_LIFECYCLE_MUSIC) ? 0 : 1;
set_operating_setting(w->number, RideSetSetting::Music, activateMusic);
set_operating_setting(rideId, RideSetSetting::Music, activateMusic);
}
}
@ -5027,7 +5037,7 @@ static void window_ride_music_mousedown(rct_window* w, rct_widgetindex widgetInd
return;
auto dropdownWidget = widget - 1;
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -5106,7 +5116,7 @@ static void window_ride_music_dropdown(rct_window* w, rct_widgetindex widgetInde
&& static_cast<size_t>(dropdownIndex) < window_ride_current_music_style_order.size())
{
auto musicStyle = window_ride_current_music_style_order[dropdownIndex];
set_operating_setting(w->number, RideSetSetting::MusicType, musicStyle);
set_operating_setting(static_cast<ride_id_t>(w->number), RideSetSetting::MusicType, musicStyle);
}
}
@ -5136,7 +5146,7 @@ static void window_ride_music_invalidate(rct_window* w)
window_ride_set_pressed_tab(w);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -5227,7 +5237,7 @@ static void setup_scenery_selection(rct_window* w)
while (tool_set(w, WIDX_BACKGROUND, Tool::Crosshair))
;
gTrackDesignSaveRideIndex = w->number;
gTrackDesignSaveRideIndex = static_cast<ride_id_t>(w->number);
track_design_save_init();
gGamePaused |= GAME_PAUSED_SAVING_TRACK;
@ -5290,7 +5300,7 @@ static void TrackDesignCallback(int32_t result, [[maybe_unused]] const utf8* pat
*/
static void window_ride_measurements_design_save(rct_window* w)
{
Ride* ride = get_ride(w->number);
Ride* ride = get_ride(static_cast<ride_id_t>(w->number));
_trackDesign = ride->SaveToTrackDesign();
if (!_trackDesign)
{
@ -5382,7 +5392,7 @@ static void window_ride_measurements_mousedown(rct_window* w, rct_widgetindex wi
if (widgetIndex != WIDX_SAVE_TRACK_DESIGN)
return;
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -5508,7 +5518,8 @@ static void window_ride_measurements_invalidate(rct_window* w)
window_ride_set_pressed_tab(w);
auto ride = get_ride(w->number);
const auto rideId = static_cast<ride_id_t>(w->number);
auto ride = get_ride(rideId);
if (ride == nullptr)
return;
@ -5517,7 +5528,7 @@ static void window_ride_measurements_invalidate(rct_window* w)
window_ride_measurements_widgets[WIDX_SAVE_TRACK_DESIGN].tooltip = STR_SAVE_TRACK_DESIGN_NOT_POSSIBLE;
window_ride_measurements_widgets[WIDX_SAVE_TRACK_DESIGN].type = WindowWidgetType::Empty;
if (gTrackDesignSaveMode && gTrackDesignSaveRideIndex == w->number)
if (gTrackDesignSaveMode && gTrackDesignSaveRideIndex == rideId)
{
window_ride_measurements_widgets[WIDX_SELECT_NEARBY_SCENERY].type = WindowWidgetType::Button;
window_ride_measurements_widgets[WIDX_RESET_SELECTION].type = WindowWidgetType::Button;
@ -5570,7 +5581,7 @@ static void window_ride_measurements_paint(rct_window* w, rct_drawpixelinfo* dpi
}
else
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -5894,7 +5905,7 @@ static void window_ride_graphs_update(rct_window* w)
x = w->scrolls[0].h_left;
if (!(w->list_information_type & 0x8000))
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr)
{
RideMeasurement* measurement{};
@ -5919,7 +5930,7 @@ static void window_ride_graphs_scrollgetheight(rct_window* w, int32_t scrollInde
*width = window_ride_graphs_widgets[WIDX_GRAPH].width() - 2;
// Get measurement size
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr)
{
RideMeasurement* measurement{};
@ -5948,7 +5959,7 @@ static OpenRCT2String window_ride_graphs_tooltip(rct_window* w, const rct_widget
{
if (widgetIndex == WIDX_GRAPH)
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr)
{
auto [measurement, message] = ride->GetMeasurement();
@ -5988,7 +5999,7 @@ static void window_ride_graphs_invalidate(rct_window* w)
window_ride_set_pressed_tab(w);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -6054,7 +6065,7 @@ static void window_ride_graphs_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi
gfx_clear(dpi, ColourMapA[COLOUR_SATURATED_GREEN].darker);
auto widget = &window_ride_graphs_widgets[WIDX_GRAPH];
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
{
return;
@ -6247,7 +6258,8 @@ static void update_same_price_throughout_flags(ShopItem shop_item)
*/
static void window_ride_income_toggle_primary_price(rct_window* w)
{
auto ride = get_ride(w->number);
const auto rideId = static_cast<ride_id_t>(w->number);
auto ride = get_ride(rideId);
if (ride == nullptr)
return;
@ -6273,7 +6285,7 @@ static void window_ride_income_toggle_primary_price(rct_window* w)
update_same_price_throughout_flags(shop_item);
auto rideSetPriceAction = RideSetPriceAction(w->number, ride->price[0], true);
auto rideSetPriceAction = RideSetPriceAction(rideId, ride->price[0], true);
GameActions::Execute(&rideSetPriceAction);
}
@ -6283,7 +6295,8 @@ static void window_ride_income_toggle_primary_price(rct_window* w)
*/
static void window_ride_income_toggle_secondary_price(rct_window* w)
{
auto ride = get_ride(w->number);
const auto rideId = static_cast<ride_id_t>(w->number);
auto ride = get_ride(rideId);
if (ride == nullptr)
return;
@ -6297,13 +6310,13 @@ static void window_ride_income_toggle_secondary_price(rct_window* w)
update_same_price_throughout_flags(shop_item);
auto rideSetPriceAction = RideSetPriceAction(w->number, ride->price[1], false);
auto rideSetPriceAction = RideSetPriceAction(rideId, ride->price[1], false);
GameActions::Execute(&rideSetPriceAction);
}
static void window_ride_income_set_primary_price(rct_window* w, money16 price)
{
auto rideSetPriceAction = RideSetPriceAction(w->number, price, true);
auto rideSetPriceAction = RideSetPriceAction(static_cast<ride_id_t>(w->number), price, true);
GameActions::Execute(&rideSetPriceAction);
}
@ -6316,7 +6329,7 @@ static void window_ride_income_increase_primary_price(rct_window* w)
if (!window_ride_income_can_modify_primary_price(w))
return;
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -6336,7 +6349,7 @@ static void window_ride_income_decrease_primary_price(rct_window* w)
if (!window_ride_income_can_modify_primary_price(w))
return;
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -6349,7 +6362,7 @@ static void window_ride_income_decrease_primary_price(rct_window* w)
static money16 window_ride_income_get_secondary_price(rct_window* w)
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return 0;
@ -6359,13 +6372,13 @@ static money16 window_ride_income_get_secondary_price(rct_window* w)
static void window_ride_income_set_secondary_price(rct_window* w, money16 price)
{
auto rideSetPriceAction = RideSetPriceAction((w->number & 0x00FF), price, false);
auto rideSetPriceAction = RideSetPriceAction(static_cast<ride_id_t>(w->number), price, false);
GameActions::Execute(&rideSetPriceAction);
}
static bool window_ride_income_can_modify_primary_price(rct_window* w)
{
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return false;
@ -6430,7 +6443,7 @@ static void window_ride_income_mouseup(rct_window* w, rct_widgetindex widgetInde
if (!window_ride_income_can_modify_primary_price(w))
return;
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr)
{
money_to_string(static_cast<money32>(ride->price[0]), _moneyInputText, MONEY_STRING_MAXLENGTH, true);
@ -6500,7 +6513,7 @@ static void window_ride_income_update(rct_window* w)
window_event_invalidate_call(w);
widget_invalidate(w, WIDX_TAB_9);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr && ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_INCOME)
{
ride->window_invalidate_flags &= ~RIDE_INVALIDATE_RIDE_INCOME;
@ -6547,7 +6560,7 @@ static void window_ride_income_invalidate(rct_window* w)
window_ride_set_pressed_tab(w);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -6658,7 +6671,7 @@ static void window_ride_income_paint(rct_window* w, rct_drawpixelinfo* dpi)
WindowDrawWidgets(w, dpi);
window_ride_draw_tab_images(dpi, w);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;
@ -6826,7 +6839,7 @@ static void window_ride_customer_update(rct_window* w)
window_event_invalidate_call(w);
widget_invalidate(w, WIDX_TAB_10);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr && ride->window_invalidate_flags & RIDE_INVALIDATE_RIDE_CUSTOMER)
{
ride->window_invalidate_flags &= ~RIDE_INVALIDATE_RIDE_CUSTOMER;
@ -6849,7 +6862,7 @@ static void window_ride_customer_invalidate(rct_window* w)
window_ride_set_pressed_tab(w);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride != nullptr)
{
auto ft = Formatter::Common();
@ -6885,7 +6898,7 @@ static void window_ride_customer_paint(rct_window* w, rct_drawpixelinfo* dpi)
WindowDrawWidgets(w, dpi);
window_ride_draw_tab_images(dpi, w);
auto ride = get_ride(w->number);
auto ride = get_ride(static_cast<ride_id_t>(w->number));
if (ride == nullptr)
return;

View File

@ -509,7 +509,7 @@ static void close_ride_window_for_construction(rct_windownumber number)
rct_window* window_ride_construction_open()
{
ride_id_t rideIndex = _currentRideIndex;
close_ride_window_for_construction(rideIndex);
close_ride_window_for_construction(static_cast<int32_t>(rideIndex));
auto ride = get_ride(rideIndex);
if (ride == nullptr)
@ -543,7 +543,7 @@ rct_window* window_ride_construction_open()
w->colours[1] = COLOUR_DARK_BROWN;
w->colours[2] = COLOUR_DARK_BROWN;
w->number = rideIndex;
w->number = static_cast<int32_t>(rideIndex);
window_push_others_right(w);
show_gridlines();
@ -620,7 +620,7 @@ static void window_ride_construction_close(rct_window* w)
ride->SetToDefaultInspectionInterval();
auto intent = Intent(WC_RIDE);
intent.putExtra(INTENT_EXTRA_RIDE_ID, ride->id);
intent.putExtra(INTENT_EXTRA_RIDE_ID, static_cast<int32_t>(ride->id));
context_open_intent(&intent);
}
else
@ -1937,7 +1937,7 @@ static void window_ride_construction_mouseup_demolish(rct_window* w)
_currentTrackPieceType, 0,
{ _currentTrackBegin.x, _currentTrackBegin.y, _currentTrackBegin.z, _currentTrackPieceDirection });
const auto rideId = w->number;
const auto rideId = static_cast<ride_id_t>(w->number);
trackRemoveAction.SetCallback([=](const GameAction* ga, const GameActions::Result* result) {
if (result->Error != GameActions::Status::Ok)
{
@ -2017,7 +2017,7 @@ static void window_ride_construction_exit_click(rct_window* w)
else
{
gRideEntranceExitPlaceType = ENTRANCE_TYPE_RIDE_EXIT;
gRideEntranceExitPlaceRideIndex = w->number & 0xFF;
gRideEntranceExitPlaceRideIndex = static_cast<ride_id_t>(w->number);
gRideEntranceExitPlaceStationIndex = 0;
input_set_flag(INPUT_FLAG_6, true);
ride_construction_invalidate_current_track();

View File

@ -443,7 +443,7 @@ static void window_ride_list_scrollmousedown(rct_window* w, int32_t scrollIndex,
else
{
auto intent = Intent(WC_RIDE);
intent.putExtra(INTENT_EXTRA_RIDE_ID, rideIndex);
intent.putExtra(INTENT_EXTRA_RIDE_ID, static_cast<int32_t>(rideIndex));
context_open_intent(&intent);
}
}

View File

@ -1931,7 +1931,7 @@ static void window_tile_inspector_paint(rct_window* w, rct_drawpixelinfo* dpi)
// Details
// Ride
auto trackElement = tileElement->AsTrack();
int16_t rideId = trackElement->GetRideIndex();
ride_id_t rideId = trackElement->GetRideIndex();
auto ride = get_ride(rideId);
if (ride != nullptr)
{

View File

@ -268,7 +268,9 @@ static void window_track_place_toolupdate(rct_window* w, rct_widgetindex widgetI
// Check if tool map position has changed since last update
if (mapCoords == _windowTrackPlaceLast)
{
place_virtual_track(_trackDesign.get(), PTD_OPERATION_DRAW_OUTLINES, true, GetOrAllocateRide(0), { mapCoords, 0 });
place_virtual_track(
_trackDesign.get(), PTD_OPERATION_DRAW_OUTLINES, true, GetOrAllocateRide(static_cast<ride_id_t>(0)),
{ mapCoords, 0 });
return;
}
@ -308,7 +310,8 @@ static void window_track_place_toolupdate(rct_window* w, rct_widgetindex widgetI
widget_invalidate(w, WIDX_PRICE);
}
place_virtual_track(_trackDesign.get(), PTD_OPERATION_DRAW_OUTLINES, true, GetOrAllocateRide(0), trackLoc);
place_virtual_track(
_trackDesign.get(), PTD_OPERATION_DRAW_OUTLINES, true, GetOrAllocateRide(static_cast<ride_id_t>(0)), trackLoc);
}
/**
@ -348,7 +351,7 @@ static void window_track_place_tooldown(rct_window* w, rct_widgetindex widgetInd
if (track_design_are_entrance_and_exit_placed())
{
auto intent = Intent(WC_RIDE);
intent.putExtra(INTENT_EXTRA_RIDE_ID, result->rideIndex);
intent.putExtra(INTENT_EXTRA_RIDE_ID, static_cast<int32_t>(result->rideIndex));
context_open_intent(&intent);
auto wnd = window_find_by_class(WC_TRACK_DESIGN_PLACE);
window_close(wnd);
@ -469,7 +472,9 @@ static int32_t window_track_place_get_base_z(const CoordsXY& loc)
if (surfaceElement->GetWaterHeight() > 0)
z = std::max(z, surfaceElement->GetWaterHeight());
return z + place_virtual_track(_trackDesign.get(), PTD_OPERATION_GET_PLACE_Z, true, GetOrAllocateRide(0), { loc, z });
return z
+ place_virtual_track(
_trackDesign.get(), PTD_OPERATION_GET_PLACE_Z, true, GetOrAllocateRide(static_cast<ride_id_t>(0)), { loc, z });
}
/**

View File

@ -70,7 +70,7 @@ GameActions::Result::Ptr ParkMarketingAction::Execute() const
campaign.Flags = MarketingCampaignFlags::FIRST_WEEK;
if (campaign.Type == ADVERTISING_CAMPAIGN_RIDE_FREE || campaign.Type == ADVERTISING_CAMPAIGN_RIDE)
{
campaign.RideId = _item;
campaign.RideId = static_cast<ride_id_t>(_item);
}
else if (campaign.Type == ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE)
{

View File

@ -131,14 +131,16 @@ GameActions::Result::Ptr RideDemolishAction::DemolishRide(Ride* ride) const
ride->ValidateStations();
ride_clear_leftover_entrances(ride);
News::DisableNewsItems(News::ItemType::Ride, _rideIndex);
UnlinkAllBannersForRide(_rideIndex);
const auto rideId = ride->id;
News::DisableNewsItems(News::ItemType::Ride, EnumValue(rideId));
RideUse::GetHistory().RemoveValue(_rideIndex);
UnlinkAllBannersForRide(ride->id);
RideUse::GetHistory().RemoveValue(ride->id);
for (auto peep : EntityList<Guest>())
{
peep->RemoveRideFromMemory(_rideIndex);
peep->RemoveRideFromMemory(ride->id);
}
MarketingCancelCampaignsForRide(_rideIndex);
@ -157,9 +159,9 @@ GameActions::Result::Ptr RideDemolishAction::DemolishRide(Ride* ride) const
gParkValue = GetContext()->GetGameState()->GetPark().CalculateParkValue();
// Close windows related to the demolished ride
window_close_by_number(WC_RIDE_CONSTRUCTION, _rideIndex);
window_close_by_number(WC_RIDE, _rideIndex);
window_close_by_number(WC_DEMOLISH_RIDE_PROMPT, _rideIndex);
window_close_by_number(WC_RIDE_CONSTRUCTION, EnumValue(rideId));
window_close_by_number(WC_RIDE, EnumValue(rideId));
window_close_by_number(WC_DEMOLISH_RIDE_PROMPT, EnumValue(rideId));
window_close_by_class(WC_NEW_CAMPAIGN);
// Refresh windows that display the ride name
@ -272,7 +274,7 @@ GameActions::Result::Ptr RideDemolishAction::RefurbishRide(Ride* ride) const
res->Position = { location, tile_element_height(location) };
}
window_close_by_number(WC_DEMOLISH_RIDE_PROMPT, _rideIndex);
window_close_by_number(WC_DEMOLISH_RIDE_PROMPT, static_cast<int32_t>(_rideIndex));
return res;
}

View File

@ -139,7 +139,7 @@ GameActions::Result::Ptr RideSetAppearanceAction::Execute() const
gfx_invalidate_screen();
break;
}
window_invalidate_by_number(WC_RIDE, _rideIndex);
window_invalidate_by_number(WC_RIDE, static_cast<int32_t>(_rideIndex));
auto res = std::make_unique<GameActions::Result>();
if (!ride->overall_view.IsNull())

View File

@ -180,7 +180,7 @@ void RideSetPriceAction::RideSetCommonPrice(ShopItem shopItem) const
}
if (invalidate)
{
window_invalidate_by_number(WC_RIDE, ride.id);
window_invalidate_by_number(WC_RIDE, static_cast<int32_t>(ride.id));
}
}
}

View File

@ -233,7 +233,7 @@ GameActions::Result::Ptr RideSetSettingAction::Execute() const
auto location = ride->overall_view.ToTileCentre();
res->Position = { location, tile_element_height(location) };
}
window_invalidate_by_number(WC_RIDE, _rideIndex);
window_invalidate_by_number(WC_RIDE, static_cast<int32_t>(_rideIndex));
return res;
}

View File

@ -154,7 +154,7 @@ GameActions::Result::Ptr RideSetStatusAction::Execute() const
ride->lifecycle_flags &= ~RIDE_LIFECYCLE_PASS_STATION_NO_STOPPING;
ride->race_winner = SPRITE_INDEX_NULL;
ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST;
window_invalidate_by_number(WC_RIDE, _rideIndex);
window_invalidate_by_number(WC_RIDE, static_cast<int32_t>(_rideIndex));
break;
case RideStatus::Simulating:
{
@ -176,7 +176,7 @@ GameActions::Result::Ptr RideSetStatusAction::Execute() const
ride->last_issue_time = 0;
ride->GetMeasurement();
ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST;
window_invalidate_by_number(WC_RIDE, _rideIndex);
window_invalidate_by_number(WC_RIDE, static_cast<int32_t>(_rideIndex));
break;
}
case RideStatus::Testing:
@ -195,7 +195,7 @@ GameActions::Result::Ptr RideSetStatusAction::Execute() const
// Fix #3183: Make sure we close the construction window so the ride finishes any editing code before opening
// otherwise vehicles get added to the ride incorrectly (such as to a ghost station)
rct_window* constructionWindow = window_find_by_number(WC_RIDE_CONSTRUCTION, _rideIndex);
rct_window* constructionWindow = window_find_by_number(WC_RIDE_CONSTRUCTION, static_cast<int32_t>(_rideIndex));
if (constructionWindow != nullptr)
{
window_close(constructionWindow);
@ -223,7 +223,7 @@ GameActions::Result::Ptr RideSetStatusAction::Execute() const
ride->last_issue_time = 0;
ride->GetMeasurement();
ride->window_invalidate_flags |= RIDE_INVALIDATE_RIDE_MAIN | RIDE_INVALIDATE_RIDE_LIST;
window_invalidate_by_number(WC_RIDE, _rideIndex);
window_invalidate_by_number(WC_RIDE, static_cast<int32_t>(_rideIndex));
break;
}
default:

View File

@ -199,7 +199,7 @@ GameActions::Result::Ptr RideSetVehicleAction::Execute() const
}
auto intent = Intent(INTENT_ACTION_RIDE_PAINT_RESET_VEHICLE);
intent.putExtra(INTENT_EXTRA_RIDE_ID, _rideIndex);
intent.putExtra(INTENT_EXTRA_RIDE_ID, static_cast<int32_t>(_rideIndex));
context_broadcast_intent(&intent);
gfx_invalidate_screen();

View File

@ -194,7 +194,7 @@ static int32_t cc_rides(InteractiveConsole& console, const arguments_t& argv)
}
else
{
int32_t res = set_operating_setting(ride_index, RideSetSetting::RideType, type);
int32_t res = set_operating_setting(static_cast<ride_id_t>(ride_index), RideSetSetting::RideType, type);
if (res == MONEY32_UNDEFINED)
{
if (!gCheatsAllowArbitraryRideTypeChanges)
@ -224,7 +224,7 @@ static int32_t cc_rides(InteractiveConsole& console, const arguments_t& argv)
}
else
{
auto ride = get_ride(ride_index);
auto ride = get_ride(static_cast<ride_id_t>(ride_index));
if (mode >= static_cast<uint8_t>(RideMode::Count))
{
console.WriteFormatLine("Invalid ride mode.");
@ -256,7 +256,7 @@ static int32_t cc_rides(InteractiveConsole& console, const arguments_t& argv)
}
else
{
auto ride = get_ride(ride_index);
auto ride = get_ride(static_cast<ride_id_t>(ride_index));
if (mass <= 0)
{
console.WriteFormatLine("Friction value must be strictly positive");
@ -294,7 +294,7 @@ static int32_t cc_rides(InteractiveConsole& console, const arguments_t& argv)
}
else
{
auto ride = get_ride(ride_index);
auto ride = get_ride(static_cast<ride_id_t>(ride_index));
if (excitement <= 0)
{
console.WriteFormatLine("Excitement value must be strictly positive");
@ -325,7 +325,7 @@ static int32_t cc_rides(InteractiveConsole& console, const arguments_t& argv)
}
else
{
auto ride = get_ride(ride_index);
auto ride = get_ride(static_cast<ride_id_t>(ride_index));
if (intensity <= 0)
{
console.WriteFormatLine("Intensity value must be strictly positive");
@ -356,7 +356,7 @@ static int32_t cc_rides(InteractiveConsole& console, const arguments_t& argv)
}
else
{
auto ride = get_ride(ride_index);
auto ride = get_ride(static_cast<ride_id_t>(ride_index));
if (nausea <= 0)
{
console.WriteFormatLine("Nausea value must be strictly positive");
@ -426,7 +426,7 @@ static int32_t cc_rides(InteractiveConsole& console, const arguments_t& argv)
}
else
{
auto rideSetPrice = RideSetPriceAction(rideId, price, true);
auto rideSetPrice = RideSetPriceAction(static_cast<ride_id_t>(rideId), price, true);
GameActions::Execute(&rideSetPrice);
}
}

View File

@ -211,7 +211,7 @@ std::optional<CoordsXYZ> News::GetSubjectLocation(News::ItemType type, int32_t s
{
case News::ItemType::Ride:
{
Ride* ride = get_ride(subject);
Ride* ride = get_ride(static_cast<ride_id_t>(subject));
if (ride == nullptr || ride->overall_view.IsNull())
{
break;

View File

@ -2095,8 +2095,8 @@ int32_t guest_path_finding(Guest* peep)
if (!(adjustedEdges & (1 << chosenDirection)))
continue;
ride_id_t rideIndex, pathSearchResult;
pathSearchResult = footpath_element_destination_in_direction(loc, pathElement, chosenDirection, &rideIndex);
ride_id_t rideIndex = RIDE_ID_NULL;
auto pathSearchResult = footpath_element_destination_in_direction(loc, pathElement, chosenDirection, &rideIndex);
switch (pathSearchResult)
{
case PATH_SEARCH_DEAD_END:

View File

@ -1046,7 +1046,7 @@ ride_id_t RCT12RideIdToOpenRCT2RideId(const RCT12RideId rideId)
if (rideId == RCT12_RIDE_ID_NULL)
return RIDE_ID_NULL;
return rideId;
return static_cast<ride_id_t>(rideId);
}
RCT12RideId OpenRCT2RideIdToRCT12RideId(const ride_id_t rideId)
@ -1054,7 +1054,7 @@ RCT12RideId OpenRCT2RideIdToRCT12RideId(const ride_id_t rideId)
if (rideId == RIDE_ID_NULL)
return RCT12_RIDE_ID_NULL;
return rideId;
return static_cast<RCT12RideId>(rideId);
}
static bool RCT12IsFormatChar(codepoint_t c)

View File

@ -147,21 +147,23 @@ ride_id_t GetNextFreeRideId()
Ride* GetOrAllocateRide(ride_id_t index)
{
if (_rides.size() <= index)
const auto idx = static_cast<size_t>(index);
if (_rides.size() <= idx)
{
_rides.resize(index + 1);
_rides.resize(idx + 1);
}
auto result = &_rides[index];
auto result = &_rides[idx];
result->id = index;
return result;
}
Ride* get_ride(ride_id_t index)
{
if (index < _rides.size())
const auto idx = static_cast<size_t>(index);
if (idx < _rides.size())
{
auto& ride = _rides[index];
auto& ride = _rides[idx];
if (ride.type != RIDE_TYPE_NULL)
{
assert(ride.id == index);
@ -1503,7 +1505,7 @@ void ride_breakdown_add_news_item(Ride* ride)
{
Formatter ft;
ride->FormatNameTo(ft);
News::AddItemToQueue(News::ItemType::Ride, STR_RIDE_IS_BROKEN_DOWN, ride->id, ft);
News::AddItemToQueue(News::ItemType::Ride, STR_RIDE_IS_BROKEN_DOWN, static_cast<uint32_t>(ride->id), ft);
}
}
@ -1530,7 +1532,7 @@ static void ride_breakdown_status_update(Ride* ride)
{
Formatter ft;
ride->FormatNameTo(ft);
News::AddItemToQueue(News::ItemType::Ride, STR_RIDE_IS_STILL_NOT_FIXED, ride->id, ft);
News::AddItemToQueue(News::ItemType::Ride, STR_RIDE_IS_STILL_NOT_FIXED, static_cast<uint32_t>(ride->id), ft);
}
}
}
@ -2181,7 +2183,7 @@ static void ride_entrance_exit_connected(Ride* ride)
ride->FormatNameTo(ft);
if (gConfigNotifications.ride_warnings)
{
News::AddItemToQueue(News::ItemType::Ride, STR_ENTRANCE_NOT_CONNECTED, ride->id, ft);
News::AddItemToQueue(News::ItemType::Ride, STR_ENTRANCE_NOT_CONNECTED, static_cast<uint32_t>(ride->id), ft);
}
ride->connected_message_throttle = 3;
}
@ -2193,7 +2195,7 @@ static void ride_entrance_exit_connected(Ride* ride)
ride->FormatNameTo(ft);
if (gConfigNotifications.ride_warnings)
{
News::AddItemToQueue(News::ItemType::Ride, STR_EXIT_NOT_CONNECTED, ride->id, ft);
News::AddItemToQueue(News::ItemType::Ride, STR_EXIT_NOT_CONNECTED, static_cast<uint32_t>(ride->id), ft);
}
ride->connected_message_throttle = 3;
}
@ -2262,7 +2264,7 @@ static void ride_shop_connected(Ride* ride)
{
Formatter ft;
ride->FormatNameTo(ft);
News::AddItemToQueue(News::ItemType::Ride, STR_ENTRANCE_NOT_CONNECTED, ride->id, ft);
News::AddItemToQueue(News::ItemType::Ride, STR_ENTRANCE_NOT_CONNECTED, static_cast<uint32_t>(ride->id), ft);
}
ride->connected_message_throttle = 3;
@ -3795,13 +3797,13 @@ bool Ride::Test(RideStatus newStatus, bool isApplying)
if (type == RIDE_TYPE_NULL)
{
log_warning("Invalid ride type for ride %u", id);
log_warning("Invalid ride type for ride %u", static_cast<uint32_t>(id));
return false;
}
if (newStatus != RideStatus::Simulating)
{
window_close_by_number(WC_RIDE_CONSTRUCTION, id);
window_close_by_number(WC_RIDE_CONSTRUCTION, static_cast<uint32_t>(id));
}
StationIndex stationIndex = ride_mode_check_station_present(this);
@ -3928,9 +3930,11 @@ bool Ride::Open(bool isApplying)
// to set the track to its final state and clean up ghosts.
// We can't just call close as it would cause a stack overflow during shop creation
// with auto open on.
if (WC_RIDE_CONSTRUCTION == gCurrentToolWidget.window_classification && id == gCurrentToolWidget.window_number
&& (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)))
window_close_by_number(WC_RIDE_CONSTRUCTION, id);
if (WC_RIDE_CONSTRUCTION == gCurrentToolWidget.window_classification
&& static_cast<uint32_t>(id) == gCurrentToolWidget.window_number && (input_test_flag(INPUT_FLAG_TOOL_ACTIVE)))
{
window_close_by_number(WC_RIDE_CONSTRUCTION, static_cast<uint32_t>(id));
}
StationIndex stationIndex = ride_mode_check_station_present(this);
if (stationIndex == STATION_INDEX_NULL)
@ -4637,7 +4641,7 @@ void invalidate_test_results(Ride* ride)
}
}
}
window_invalidate_by_number(WC_RIDE, ride->id);
window_invalidate_by_number(WC_RIDE, static_cast<uint32_t>(ride->id));
}
/**
@ -5085,7 +5089,7 @@ void Ride::UpdateMaxVehicles()
{
num_cars_per_train = numCarsPerTrain;
num_vehicles = numVehicles;
window_invalidate_by_number(WC_RIDE, id);
window_invalidate_by_number(WC_RIDE, static_cast<uint32_t>(id));
}
}
@ -5154,7 +5158,7 @@ void Ride::Crash(uint8_t vehicleIndex)
{
Formatter ft;
FormatNameTo(ft);
News::AddItemToQueue(News::ItemType::Ride, STR_RIDE_HAS_CRASHED, id, ft);
News::AddItemToQueue(News::ItemType::Ride, STR_RIDE_HAS_CRASHED, static_cast<uint32_t>(id), ft);
}
}

View File

@ -122,7 +122,7 @@ static rct_window* ride_create_or_find_construction_window(ride_id_t rideIndex)
{
auto windowManager = GetContext()->GetUiContext()->GetWindowManager();
auto intent = Intent(INTENT_ACTION_RIDE_CONSTRUCTION_FOCUS);
intent.putExtra(INTENT_EXTRA_RIDE_ID, rideIndex);
intent.putExtra(INTENT_EXTRA_RIDE_ID, static_cast<int32_t>(rideIndex));
windowManager->BroadcastIntent(intent);
return window_find_by_class(WC_RIDE_CONSTRUCTION);
}
@ -239,7 +239,7 @@ void ride_clear_for_construction(Ride* ride)
ride->RemoveVehicles();
ride_clear_blocked_tiles(ride);
auto w = window_find_by_number(WC_RIDE, ride->id);
auto w = window_find_by_number(WC_RIDE, static_cast<int32_t>(ride->id));
if (w != nullptr)
window_event_resize_call(w);
}

View File

@ -159,10 +159,10 @@ static void ride_ratings_update_state_0(RideRatingUpdateState& state)
{
ride_id_t currentRide = state.CurrentRide;
currentRide++;
if (currentRide >= MAX_RIDES)
currentRide = static_cast<ride_id_t>(static_cast<uint32_t>(currentRide) + 1);
if (currentRide >= static_cast<ride_id_t>(MAX_RIDES))
{
currentRide = 0;
currentRide = {};
}
auto ride = get_ride(currentRide);
@ -285,7 +285,7 @@ static void ride_ratings_update_state_3(RideRatingUpdateState& state)
ride_ratings_calculate(state, ride);
ride_ratings_calculate_value(ride);
window_invalidate_by_number(WC_RIDE, state.CurrentRide);
window_invalidate_by_number(WC_RIDE, static_cast<int32_t>(state.CurrentRide));
state.State = RIDE_RATINGS_STATE_FIND_NEXT_RIDE;
}
@ -753,7 +753,7 @@ static void ride_ratings_calculate(RideRatingUpdateState& state, Ride* ride)
// Create event args object
auto obj = DukObject(ctx);
obj.Set("rideId", ride->id);
obj.Set("rideId", static_cast<int32_t>(ride->id));
obj.Set("excitement", originalExcitement);
obj.Set("intensity", originalIntensity);
obj.Set("nausea", originalNausea);

View File

@ -319,7 +319,8 @@ rct_string_id TrackDesign::CreateTrackDesignTrack(const Ride& ride)
}
}
place_virtual_track(this, PTD_OPERATION_DRAW_OUTLINES, true, GetOrAllocateRide(0), { 4096, 4096, 0 });
place_virtual_track(
this, PTD_OPERATION_DRAW_OUTLINES, true, GetOrAllocateRide(static_cast<ride_id_t>(0)), { 4096, 4096, 0 });
// Resave global vars for scenery reasons.
_trackPreviewOrigin = startPos;
@ -438,7 +439,8 @@ rct_string_id TrackDesign::CreateTrackDesignMaze(const Ride& ride)
// Save global vars as they are still used by scenery????
int32_t startZ = _trackPreviewOrigin.z;
place_virtual_track(this, PTD_OPERATION_DRAW_OUTLINES, true, GetOrAllocateRide(0), { 4096, 4096, 0 });
place_virtual_track(
this, PTD_OPERATION_DRAW_OUTLINES, true, GetOrAllocateRide(static_cast<ride_id_t>(0)), { 4096, 4096, 0 });
_trackPreviewOrigin = { startLoc.x, startLoc.y, startZ };
gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT;
@ -1931,7 +1933,8 @@ static bool track_design_place_preview(TrackDesign* td6, money32* cost, Ride** o
int32_t mapSize = gMapSize << 4;
_currentTrackPieceDirection = 0;
int32_t z = place_virtual_track(td6, PTD_OPERATION_GET_PLACE_Z, true, GetOrAllocateRide(0), { mapSize, mapSize, 16 });
int32_t z = place_virtual_track(
td6, PTD_OPERATION_GET_PLACE_Z, true, GetOrAllocateRide(static_cast<ride_id_t>(0)), { mapSize, mapSize, 16 });
if (_trackDesignPlaceStateHasScenery)
{

View File

@ -1600,7 +1600,7 @@ void Vehicle::UpdateMeasurements()
curRide->lifecycle_flags |= RIDE_LIFECYCLE_NO_RAW_STATS;
curRide->lifecycle_flags &= ~RIDE_LIFECYCLE_TEST_IN_PROGRESS;
ClearUpdateFlag(VEHICLE_UPDATE_FLAG_TESTING);
window_invalidate_by_number(WC_RIDE, ride);
window_invalidate_by_number(WC_RIDE, static_cast<int32_t>(ride));
return;
}
@ -3114,7 +3114,7 @@ static void test_finish(Ride& ride)
totalTime = std::max(totalTime, 1u);
ride.average_speed = ride.average_speed / totalTime;
window_invalidate_by_number(WC_RIDE, ride.id);
window_invalidate_by_number(WC_RIDE, static_cast<int32_t>(ride.id));
}
void Vehicle::UpdateTestFinish()
@ -3164,7 +3164,7 @@ static void test_reset(Ride& ride, StationIndex curStation)
}
ride.total_air_time = 0;
ride.current_test_station = curStation;
window_invalidate_by_number(WC_RIDE, ride.id);
window_invalidate_by_number(WC_RIDE, static_cast<int32_t>(ride.id));
}
void Vehicle::TestReset()
@ -3570,7 +3570,7 @@ void Vehicle::CheckIfMissing()
curRide->FormatNameTo(ft);
ft.Add<rct_string_id>(GetRideComponentName(GetRideTypeDescriptor(curRide->type).NameConvention.station).singular);
News::AddItemToQueue(News::ItemType::Ride, STR_NEWS_VEHICLE_HAS_STALLED, ride, ft);
News::AddItemToQueue(News::ItemType::Ride, STR_NEWS_VEHICLE_HAS_STALLED, static_cast<uint32_t>(ride), ft);
}
}
@ -5305,7 +5305,8 @@ static void ride_train_crash(Ride* ride, uint16_t numFatalities)
{
ride->FormatNameTo(ft);
News::AddItemToQueue(
News::ItemType::Ride, numFatalities == 1 ? STR_X_PERSON_DIED_ON_X : STR_X_PEOPLE_DIED_ON_X, ride->id, ft);
News::ItemType::Ride, numFatalities == 1 ? STR_X_PERSON_DIED_ON_X : STR_X_PEOPLE_DIED_ON_X,
static_cast<int32_t>(ride->id), ft);
}
if (gParkRatingCasualtyPenalty < 500)

View File

@ -893,7 +893,7 @@ DukValue ScriptEngine::GameActionResultToDuk(const GameAction& action, const std
auto& rideCreateResult = static_cast<RideCreateGameActionResult&>(*result.get());
if (rideCreateResult.rideIndex != RIDE_ID_NULL)
{
obj.Set("ride", rideCreateResult.rideIndex);
obj.Set("ride", static_cast<int32_t>(rideCreateResult.rideIndex));
}
}
else if (action.GetType() == GameCommand::HireNewStaffMember)