diff --git a/newgrf_station.c b/newgrf_station.c index 2b699e2171..a6a4702610 100644 --- a/newgrf_station.c +++ b/newgrf_station.c @@ -18,6 +18,10 @@ static StationClass station_classes[STAT_CLASS_MAX]; +enum { + MAX_SPECLIST = 255, +}; + /** * Reset station classes to their default state. * This includes initialising the Default and Waypoint classes with an empty @@ -539,15 +543,15 @@ int AllocateSpecToStation(const StationSpec *statspec, Station *st, bool exec) if (statspec == NULL) return 0; /* Check if this spec has already been allocated */ - for (i = 1; i < st->num_specs && i < 256; i++) { + for (i = 1; i < st->num_specs && i < MAX_SPECLIST; i++) { if (st->speclist[i].spec == statspec) return i; } - for (i = 1; i < st->num_specs && i < 256; i++) { + for (i = 1; i < st->num_specs && i < MAX_SPECLIST; i++) { if (st->speclist[i].spec == NULL && st->speclist[i].grfid == 0) break; } - if (i == 256) return -1; + if (i == MAX_SPECLIST) return -1; if (exec) { if (i >= st->num_specs) { diff --git a/station.h b/station.h index 5f2a36dad4..4101a4d08a 100644 --- a/station.h +++ b/station.h @@ -72,7 +72,7 @@ struct Station { byte trainst_w, trainst_h; /** List of custom stations (StationSpecs) allocated to the station */ - uint num_specs; + uint8 num_specs; StationSpecList *speclist; uint16 build_date;