From c5c5c9b17c1c4fd543873f866534d3fa06f9f1cb Mon Sep 17 00:00:00 2001 From: matthijs Date: Sun, 6 Feb 2005 22:36:08 +0000 Subject: (svn r1834) - Fix: NPF does not check the owner of its target, busses try to enter other players' depots. TODO - Add: asserts to find the v->u.rail.track == 0 problem. - Add: IsValidDepot(), IsValidTown(), IsValidSign(), IsValidVehicle(), IsValidStation() - Add: GetTileOwner(), IsTileOwner() - Codechange: Replaced IsShipDepotTile(), IsTrainDepotTile(), IsRoadDepotTile() by IsTileDepotType(). - Codechange: typedeffed the MAP_OWNERS as Owner. Should be used as variable type. - Codechange: Replaced a few uint by TileIndex. --- depot.c | 31 ++----------------------------- 1 file changed, 2 insertions(+), 29 deletions(-) (limited to 'depot.c') diff --git a/depot.c b/depot.c index 0430162d2..f52bd2573 100644 --- a/depot.c +++ b/depot.c @@ -45,33 +45,6 @@ Depot *GetDepotByTile(uint tile) return NULL; } -/** - * Check if a tile is a road-depot - */ -bool IsRoadDepotTile(TileIndex tile) -{ - return IsTileType(tile, MP_STREET) && - (_map5[tile] & 0xF0) == 0x20; -} - -/** - * Check if a tile is a train-depot - */ -bool IsTrainDepotTile(TileIndex tile) -{ - return IsTileType(tile, MP_RAILWAY) && - (_map5[tile] & 0xFC) == 0xC0; -} - -/** - * Check if a tile is a ship-depot - */ -bool IsShipDepotTile(TileIndex tile) -{ - return IsTileType(tile, MP_WATER) && - (_map5[tile] & ~3) == 0x80; -} - /** * Allocate a new depot */ @@ -80,7 +53,7 @@ Depot *AllocateDepot(void) Depot *depot; FOR_ALL_DEPOTS(depot) { - if (depot->xy == 0) { + if (!IsValidDepot(depot)) { uint index = depot->index; memset(depot, 0, sizeof(Depot)); @@ -142,7 +115,7 @@ static void Save_DEPT(void) Depot *depot; FOR_ALL_DEPOTS(depot) { - if (depot->xy != 0) { + if (IsValidDepot(depot)) { SlSetArrayIndex(depot->index); SlObject(depot, _depot_desc); } -- cgit v1.2.3-54-g00ecf