(svn r15588) -Fix: change owner of waypoints and deleted stations when merging companies or when a company benkrupts
This commit is contained in:
@@ -1615,14 +1615,6 @@ bool AfterLoadGame()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Give owners to waypoints, based on rail tracks it is sitting on.
|
||||
* If none is available, specify OWNER_NONE */
|
||||
Waypoint *wp;
|
||||
FOR_ALL_WAYPOINTS(wp) {
|
||||
Owner owner = (IsRailWaypointTile(wp->xy) ? GetTileOwner(wp->xy) : OWNER_NONE);
|
||||
wp->owner = IsValidCompanyID(owner) ? owner : OWNER_NONE;
|
||||
}
|
||||
}
|
||||
|
||||
if (CheckSavegameVersion(102)) {
|
||||
@@ -1722,6 +1714,26 @@ bool AfterLoadGame()
|
||||
}
|
||||
}
|
||||
|
||||
if (CheckSavegameVersion(114)) {
|
||||
/* There could be (deleted) stations with invalid owner, set owner to OWNER NONE.
|
||||
* The conversion affects oil rigs and buoys too, but it doesn't matter as
|
||||
* they have st->owner == OWNER_NONE already. */
|
||||
Station *st;
|
||||
FOR_ALL_STATIONS(st) {
|
||||
if (!IsValidCompanyID(st->owner)) st->owner = OWNER_NONE;
|
||||
}
|
||||
|
||||
/* Give owners to waypoints, based on rail tracks it is sitting on.
|
||||
* If none is available, specify OWNER_NONE.
|
||||
* This code was in CheckSavegameVersion(101) in the past, but in some cases,
|
||||
* the owner of waypoints could be incorrect. */
|
||||
Waypoint *wp;
|
||||
FOR_ALL_WAYPOINTS(wp) {
|
||||
Owner owner = IsTileType(wp->xy, MP_RAILWAY) ? GetTileOwner(wp->xy) : OWNER_NONE;
|
||||
wp->owner = IsValidCompanyID(owner) ? owner : OWNER_NONE;
|
||||
}
|
||||
}
|
||||
|
||||
GamelogPrintDebug(1);
|
||||
|
||||
bool ret = InitializeWindowsAndCaches();
|
||||
|
Reference in New Issue
Block a user