TBTR: Preserve replacement flags when editing template
This commit is contained in:
@@ -1148,8 +1148,19 @@ CommandCost CmdReplaceTemplateVehicle(TileIndex tile, DoCommandFlag flags, uint3
|
||||
if (should_execute) {
|
||||
VehicleID old_ID = INVALID_VEHICLE;
|
||||
|
||||
bool restore_flags = false;
|
||||
bool reuse_depot_vehicles = true;
|
||||
bool keep_remaining_vehicles = false;
|
||||
bool refit_as_template = true;
|
||||
bool replace_old_only = false;
|
||||
|
||||
if (template_vehicle != nullptr) {
|
||||
old_ID = template_vehicle->index;
|
||||
restore_flags = true;
|
||||
reuse_depot_vehicles = template_vehicle->reuse_depot_vehicles;
|
||||
keep_remaining_vehicles = template_vehicle->keep_remaining_vehicles;
|
||||
refit_as_template = template_vehicle->refit_as_template;
|
||||
replace_old_only = template_vehicle->replace_old_only;
|
||||
delete template_vehicle;
|
||||
template_vehicle = nullptr;
|
||||
}
|
||||
@@ -1160,6 +1171,13 @@ CommandCost CmdReplaceTemplateVehicle(TileIndex tile, DoCommandFlag flags, uint3
|
||||
return CMD_ERROR;
|
||||
}
|
||||
|
||||
if (restore_flags) {
|
||||
template_vehicle->reuse_depot_vehicles = reuse_depot_vehicles;
|
||||
template_vehicle->keep_remaining_vehicles = keep_remaining_vehicles;
|
||||
template_vehicle->refit_as_template = refit_as_template;
|
||||
template_vehicle->replace_old_only = replace_old_only;
|
||||
}
|
||||
|
||||
// Make sure our replacements still point to the correct thing.
|
||||
if (old_ID != template_vehicle->index) {
|
||||
bool reindex = false;
|
||||
|
Reference in New Issue
Block a user