mirror of https://github.com/OpenRCT2/OpenRCT2.git
Raise max number of trains to 255
This commit is contained in:
parent
4f1d0d7938
commit
f416898516
|
@ -2702,7 +2702,7 @@ static void window_ride_vehicle_mousedown(rct_window* w, rct_widgetindex widgetI
|
|||
window_ride_show_vehicle_type_dropdown(w, &w->widgets[widgetIndex]);
|
||||
break;
|
||||
case WIDX_VEHICLE_TRAINS_INCREASE:
|
||||
if (ride->num_vehicles < 32)
|
||||
if (ride->num_vehicles < MAX_VEHICLES_PER_RIDE)
|
||||
ride->SetNumVehicles(ride->num_vehicles + 1);
|
||||
break;
|
||||
case WIDX_VEHICLE_TRAINS_DECREASE:
|
||||
|
@ -2710,7 +2710,7 @@ static void window_ride_vehicle_mousedown(rct_window* w, rct_widgetindex widgetI
|
|||
ride->SetNumVehicles(ride->num_vehicles - 1);
|
||||
break;
|
||||
case WIDX_VEHICLE_CARS_PER_TRAIN_INCREASE:
|
||||
if (ride->num_cars_per_train < 255)
|
||||
if (ride->num_cars_per_train < MAX_CARS_PER_TRAIN)
|
||||
ride->SetNumCarsPerVehicle(ride->num_cars_per_train + 1);
|
||||
break;
|
||||
case WIDX_VEHICLE_CARS_PER_TRAIN_DECREASE:
|
||||
|
|
|
@ -161,7 +161,7 @@ GameActions::Result::Ptr RideCreateAction::Execute() const
|
|||
ride->num_stations = 0;
|
||||
ride->num_vehicles = 1;
|
||||
ride->proposed_num_vehicles = 32;
|
||||
ride->max_trains = 32;
|
||||
ride->max_trains = MAX_VEHICLES_PER_RIDE;
|
||||
ride->num_cars_per_train = 1;
|
||||
ride->proposed_num_cars_per_train = 12;
|
||||
ride->min_waiting_time = 10;
|
||||
|
|
|
@ -261,9 +261,10 @@ GameActions::Result::Ptr TrackDesignAction::Execute() const
|
|||
|
||||
for (int32_t i = 0; i <= MAX_VEHICLES_PER_RIDE; i++)
|
||||
{
|
||||
ride->vehicle_colours[i].Body = _td.vehicle_colours[i].body_colour;
|
||||
ride->vehicle_colours[i].Trim = _td.vehicle_colours[i].trim_colour;
|
||||
ride->vehicle_colours[i].Ternary = _td.vehicle_additional_colour[i];
|
||||
auto tdIndex = std::min(size_t(i), std::size(_td.vehicle_colours) - 1);
|
||||
ride->vehicle_colours[i].Body = _td.vehicle_colours[tdIndex].body_colour;
|
||||
ride->vehicle_colours[i].Trim = _td.vehicle_colours[tdIndex].trim_colour;
|
||||
ride->vehicle_colours[i].Ternary = _td.vehicle_additional_colour[tdIndex];
|
||||
}
|
||||
|
||||
for (int32_t count = 1; count == 1 || r->Error != GameActions::Status::Ok; ++count)
|
||||
|
|
|
@ -212,7 +212,7 @@ private:
|
|||
}
|
||||
}
|
||||
// Set remaining vehicles to same colour as first vehicle
|
||||
for (int32_t i = RCT1_MAX_TRAINS_PER_RIDE; i <= MAX_VEHICLES_PER_RIDE; i++)
|
||||
for (int32_t i = RCT1_MAX_TRAINS_PER_RIDE; size_t(i) < std::size(td->vehicle_colours); i++)
|
||||
{
|
||||
td->vehicle_colours[i] = td->vehicle_colours[0];
|
||||
td->vehicle_additional_colour[i] = td->vehicle_additional_colour[0];
|
||||
|
|
|
@ -6401,7 +6401,7 @@ void Ride::UpdateMaxVehicles()
|
|||
{
|
||||
case RideMode::ContinuousCircuitBlockSectioned:
|
||||
case RideMode::PoweredLaunchBlockSectioned:
|
||||
maxNumTrains = std::clamp(num_stations + num_block_brakes - 1, 1, 31);
|
||||
maxNumTrains = std::clamp(num_stations + num_block_brakes - 1, 1, int32_t(MAX_VEHICLES_PER_RIDE));
|
||||
break;
|
||||
case RideMode::ReverseInclineLaunchedShuttle:
|
||||
case RideMode::PoweredLaunchPasstrough:
|
||||
|
@ -6433,7 +6433,7 @@ void Ride::UpdateMaxVehicles()
|
|||
if ((mode != RideMode::StationToStation && mode != RideMode::ContinuousCircuit)
|
||||
|| !(GetRideTypeDescriptor().HasFlag(RIDE_TYPE_FLAG_ALLOW_MORE_VEHICLES_THAN_STATION_FITS)))
|
||||
{
|
||||
maxNumTrains = std::min(maxNumTrains, 31);
|
||||
maxNumTrains = std::min(maxNumTrains, int32_t(MAX_VEHICLES_PER_RIDE));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -6462,7 +6462,7 @@ void Ride::UpdateMaxVehicles()
|
|||
{
|
||||
maxNumTrains++;
|
||||
length += totalSpacing;
|
||||
} while (maxNumTrains < 31 && length < trackLength);
|
||||
} while (maxNumTrains < MAX_VEHICLES_PER_RIDE && length < trackLength);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -6481,7 +6481,7 @@ void Ride::UpdateMaxVehicles()
|
|||
|
||||
if (gCheatsDisableTrainLengthLimit)
|
||||
{
|
||||
maxNumTrains = 31;
|
||||
maxNumTrains = MAX_VEHICLES_PER_RIDE;
|
||||
}
|
||||
numVehicles = std::min(proposed_num_vehicles, static_cast<uint8_t>(maxNumTrains));
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ struct Vehicle;
|
|||
// The max number of different types of vehicle.
|
||||
// Examples of vehicles here are the locomotive, tender and carriage of the Miniature Railway.
|
||||
#define MAX_VEHICLES_PER_RIDE_ENTRY 4
|
||||
#define MAX_VEHICLES_PER_RIDE 31
|
||||
constexpr const uint8_t MAX_VEHICLES_PER_RIDE = 255;
|
||||
#define NUM_COLOUR_SCHEMES 4
|
||||
#define MAX_CATEGORIES_PER_RIDE 2
|
||||
#define DOWNTIME_HISTORY_SIZE 8
|
||||
|
@ -208,7 +208,7 @@ struct Ride
|
|||
ObjectEntryIndex subtype;
|
||||
RideMode mode;
|
||||
uint8_t colour_scheme_type;
|
||||
VehicleColour vehicle_colours[MAX_CARS_PER_TRAIN];
|
||||
VehicleColour vehicle_colours[MAX_VEHICLES_PER_RIDE + 1];
|
||||
// 0 = closed, 1 = open, 2 = test
|
||||
uint8_t status;
|
||||
std::string custom_name;
|
||||
|
|
Loading…
Reference in New Issue