diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 17f6b10a37..0b97520159 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -43,6 +43,7 @@ - Fix: [#16007] Scenario Editor “Entry Price” appears to the right of the value field. - Fix: [#16008] Tile Inspector can select elements from last tile without reselecting it. - Fix: [#16024] Go-Karts with more than 32 vehicles do not colour themselves correctly. +- Fix: [#16026] Newly created rides with “Disable vehicle limits” cheat always get 32 trains with 12 cars each. - Fix: [#16063] Object Selection preview for objects with glass is broken. - Fix: [#16075] Exporting track designs saves scenery in incorrect locations. - Fix: [#16087] The Looping Roller Coaster booster is now always drawn correctly. diff --git a/src/openrct2/actions/RideCreateAction.cpp b/src/openrct2/actions/RideCreateAction.cpp index fa1e14a814..b161424a87 100644 --- a/src/openrct2/actions/RideCreateAction.cpp +++ b/src/openrct2/actions/RideCreateAction.cpp @@ -154,10 +154,25 @@ GameActions::Result RideCreateAction::Execute() const ride->vehicle_change_timeout = 0; ride->num_stations = 0; ride->num_vehicles = 1; - ride->proposed_num_vehicles = 32; + if (gCheatsDisableTrainLengthLimit) + { + // Reduce amount of proposed trains to prevent 32 trains from always spawning when limits are disabled + if (rideEntry->cars_per_flat_ride == 0xFF) + { + ride->proposed_num_vehicles = 12; + } + else + { + ride->proposed_num_vehicles = rideEntry->cars_per_flat_ride; + } + } + else + { + ride->proposed_num_vehicles = 32; + } ride->max_trains = OpenRCT2::Limits::MaxTrainsPerRide; ride->num_cars_per_train = 1; - ride->proposed_num_cars_per_train = 12; + ride->proposed_num_cars_per_train = rideEntry->max_cars_in_train; ride->min_waiting_time = 10; ride->max_waiting_time = 60; ride->depart_flags = RIDE_DEPART_WAIT_FOR_MINIMUM_LENGTH | 3; diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index 93e1155c27..95deed396c 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -42,7 +42,7 @@ // This string specifies which version of network stream current build uses. // It is used for making sure only compatible builds get connected, even within // single OpenRCT2 version. -#define NETWORK_STREAM_VERSION "19" +#define NETWORK_STREAM_VERSION "20" #define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION static Peep* _pickup_peep = nullptr;