Fix 30ae072: when a road type is hidden, towns may not build them even when that flag is set

This commit is contained in:
Rubidium
2023-03-05 19:54:30 +01:00
committed by rubidium42
parent e60632bce6
commit 8fa61533f0
2 changed files with 3 additions and 10 deletions

View File

@@ -112,14 +112,7 @@ bool HasRoadTypeAvail(const CompanyID company, RoadType roadtype)
{
if (company == OWNER_DEITY || company == OWNER_TOWN || _game_mode == GM_EDITOR || _generating_world) {
const RoadTypeInfo *rti = GetRoadTypeInfo(roadtype);
if (rti->label == 0) return false;
/*
* Do not allow building hidden road types, except when a town may build it.
* The GS under deity mode, as well as anybody in the editor builds roads that are
* owned by towns. So if a town may build it, it should be buildable by them too.
*/
return (rti->flags & ROTFB_HIDDEN) == 0 || (rti->flags & ROTFB_TOWN_BUILD) != 0;
return rti->label != 0 && (rti->flags & ROTFB_HIDDEN) == 0;
} else {
const Company *c = Company::GetIfValid(company);
if (c == nullptr) return false;