Mercurial > hg > openttd
changeset 4190:34c2b20fbb67 draft
(svn r5632) Replace a boolean variable in DeallocateSpecFromStation() by a return
Also set the return type to void, because the caller doesn't care about it
author | tron <tron@openttd.org> |
---|---|
date | Sat, 29 Jul 2006 17:39:58 +0000 |
parents | ccc4c4455d07 |
children | 8021a725bedf |
files | newgrf_station.c newgrf_station.h |
diffstat | 2 files changed, 17 insertions(+), 24 deletions(-) [+] |
line wrap: on
line diff
--- a/newgrf_station.c +++ b/newgrf_station.c @@ -582,42 +582,35 @@ * @param specindex Index of the custom station within the Station's spec list. * @return Indicates whether the StationSpec was deallocated. */ -bool DeallocateSpecFromStation(Station *st, byte specindex) +void DeallocateSpecFromStation(Station* st, byte specindex) { - bool freeable = true; - /* specindex of 0 (default) is never freeable */ - if (specindex == 0) return false; + if (specindex == 0) return; /* Check all tiles over the station to check if the specindex is still in use */ BEGIN_TILE_LOOP(tile, st->trainst_w, st->trainst_h, st->train_tile) { if (IsTileType(tile, MP_STATION) && GetStationIndex(tile) == st->index && IsRailwayStation(tile) && GetCustomStationSpecIndex(tile) == specindex) { - freeable = false; - break; + return; } } END_TILE_LOOP(tile, st->trainst_w, st->trainst_h, st->train_tile) - if (freeable) { - /* This specindex is no longer in use, so deallocate it */ - st->speclist[specindex].spec = NULL; - st->speclist[specindex].grfid = 0; - st->speclist[specindex].localidx = 0; + /* This specindex is no longer in use, so deallocate it */ + st->speclist[specindex].spec = NULL; + st->speclist[specindex].grfid = 0; + st->speclist[specindex].localidx = 0; - /* If this was the highest spec index, reallocate */ - if (specindex == st->num_specs - 1) { - for (; st->speclist[st->num_specs - 1].grfid == 0 && st->num_specs > 1; st->num_specs--); + /* If this was the highest spec index, reallocate */ + if (specindex == st->num_specs - 1) { + for (; st->speclist[st->num_specs - 1].grfid == 0 && st->num_specs > 1; st->num_specs--); - if (st->num_specs > 1) { - st->speclist = realloc(st->speclist, st->num_specs * sizeof(*st->speclist)); - } else { - free(st->speclist); - st->num_specs = 0; - st->speclist = NULL; - } + if (st->num_specs > 1) { + st->speclist = realloc(st->speclist, st->num_specs * sizeof(*st->speclist)); + } else { + free(st->speclist); + st->num_specs = 0; + st->speclist = NULL; } } - - return freeable; } /** Draw representation of a station tile for GUI purposes.
--- a/newgrf_station.h +++ b/newgrf_station.h @@ -120,7 +120,7 @@ int AllocateSpecToStation(const StationSpec *statspec, Station *st, bool exec); /* Deallocate a StationSpec from a Station. Called when removing a single station tile. */ -bool DeallocateSpecFromStation(Station *st, byte specindex); +void DeallocateSpecFromStation(Station* st, byte specindex); /* Draw representation of a station tile for GUI purposes. */ bool DrawStationTile(int x, int y, RailType railtype, Axis axis, StationClassID sclass, uint station);