TBTR: Clean up template replacements when removing company.
This commit is contained in:
@@ -349,7 +349,7 @@ CommandCost CmdDeleteGroup(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
|
|||||||
VehicleType vt = g->vehicle_type;
|
VehicleType vt = g->vehicle_type;
|
||||||
|
|
||||||
/* Delete all template replacements using the just deleted group */
|
/* Delete all template replacements using the just deleted group */
|
||||||
deleteIllegalTemplateReplacements(g->index);
|
DeleteTemplateReplacementsByGroupID(g->index);
|
||||||
|
|
||||||
/* Delete the Replace Vehicle Windows */
|
/* Delete the Replace Vehicle Windows */
|
||||||
DeleteWindowById(WC_REPLACE_VEHICLE, g->vehicle_type);
|
DeleteWindowById(WC_REPLACE_VEHICLE, g->vehicle_type);
|
||||||
@@ -716,7 +716,10 @@ void RemoveAllGroupsForCompany(const CompanyID company)
|
|||||||
Group *g;
|
Group *g;
|
||||||
|
|
||||||
FOR_ALL_GROUPS(g) {
|
FOR_ALL_GROUPS(g) {
|
||||||
if (company == g->owner) delete g;
|
if (company == g->owner) {
|
||||||
|
DeleteTemplateReplacementsByGroupID(g->index);
|
||||||
|
delete g;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -189,7 +189,7 @@ short TemplateVehicle::CountEnginesInChain()
|
|||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
short deleteIllegalTemplateReplacements(GroupID g_id)
|
short DeleteTemplateReplacementsByGroupID(GroupID g_id)
|
||||||
{
|
{
|
||||||
short del_amount = 0;
|
short del_amount = 0;
|
||||||
const TemplateReplacement *tr;
|
const TemplateReplacement *tr;
|
||||||
|
@@ -202,6 +202,6 @@ struct TemplateReplacement : TemplateReplacementPool::PoolItem<&_template_replac
|
|||||||
TemplateReplacement* GetTemplateReplacementByGroupID(GroupID);
|
TemplateReplacement* GetTemplateReplacementByGroupID(GroupID);
|
||||||
bool IssueTemplateReplacement(GroupID, TemplateID);
|
bool IssueTemplateReplacement(GroupID, TemplateID);
|
||||||
|
|
||||||
short deleteIllegalTemplateReplacements(GroupID);
|
short DeleteTemplateReplacementsByGroupID(GroupID);
|
||||||
|
|
||||||
#endif /* TEMPLATE_VEH_H */
|
#endif /* TEMPLATE_VEH_H */
|
||||||
|
Reference in New Issue
Block a user