1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-12 09:09:09 +00:00

(svn r1788) -Add: Made RoadStops dynamic. You can now create up to 64k roadstops.

This commit is contained in:
truelight
2005-02-04 15:31:30 +00:00
parent 4f5255c36e
commit 10adda0d73
5 changed files with 110 additions and 48 deletions

View File

@@ -917,10 +917,7 @@ static uint ReferenceToInt(void *v, uint t)
case REF_STATION: return ((Station *)v)->index + 1;
case REF_TOWN: return ((Town *)v)->index + 1;
case REF_ORDER: return ((Order *)v)->index + 1;
case REF_ROADSTOPS:
//return ((byte*)v - (byte*)_roadstops) / sizeof(_roadstops[0]) + 1;
return (RoadStop *)v - _roadstops + 1;
case REF_ROADSTOPS: return ((RoadStop *)v)->index + 1;
default:
NOT_REACHED();
@@ -957,10 +954,12 @@ static void *IntToReference(uint r, uint t)
error("Towns: failed loading savegame: too many towns");
return GetTown(r - 1);
}
case REF_ROADSTOPS: {
if (!AddBlockIfNeeded(&_roadstop_pool, r - 1))
error("RoadStop: failed loading savegame: too many RoadStops");
return GetRoadStop(r - 1);
}
case REF_ROADSTOPS:
//return (byte*)_roadstops + (r - 1) * sizeof(_roadstops[0]);
return &_roadstops[r - 1];
case REF_VEHICLE_OLD: {
/* Old vehicles were saved differently: invalid vehicle was 0xFFFF,
and the index was not - 1.. correct for this */