src/station_cmd.cpp
branchnoai
changeset 9718 f82a4facea8b
parent 9704 197cb8c6ae17
child 9722 ebf0ece7d8f6
--- a/src/station_cmd.cpp	Sat Oct 20 10:14:05 2007 +0000
+++ b/src/station_cmd.cpp	Sat Oct 20 10:42:28 2007 +0000
@@ -1128,7 +1128,7 @@
 
 		/* Check ownership of station */
 		Station *st = GetStationByTile(tile2);
-		if (_current_player != OWNER_WATER && (!CheckOwnership(st->owner) || !EnsureNoVehicle(tile2))) {
+		if (_current_player != OWNER_WATER && (!CheckOwnership(st->owner) || !EnsureNoVehicleOnGround(tile2))) {
 			continue;
 		}
 
@@ -1191,7 +1191,7 @@
 		do {
 			// for nonuniform stations, only remove tiles that are actually train station tiles
 			if (st->TileBelongsToRailStation(tile)) {
-				if (!EnsureNoVehicle(tile))
+				if (!EnsureNoVehicleOnGround(tile))
 					return CMD_ERROR;
 				cost.AddCost(_price.remove_rail_station);
 				if (flags & DC_EXEC) {
@@ -1245,7 +1245,7 @@
 		VehicleFromPos(tile, &tile, UpdateTrainPowerProc);
 	}
 
-	return CommandCost(_price.build_rail / 2);
+	return CommandCost(RailBuildCost(totype) / 2);
 }
 
 /**
@@ -1425,7 +1425,7 @@
 
 	assert(cur_stop != NULL);
 
-	if (!EnsureNoVehicle(tile)) return CMD_ERROR;
+	if (!EnsureNoVehicleOnGround(tile)) return CMD_ERROR;
 
 	if (flags & DC_EXEC) {
 		if (*primary_stop == cur_stop) {
@@ -1769,7 +1769,7 @@
 {
 	SET_EXPENSES_TYPE(EXPENSES_CONSTRUCTION);
 
-	if (!IsClearWaterTile(tile) || tile == 0) return_cmd_error(STR_304B_SITE_UNSUITABLE);
+	if (!IsWaterTile(tile) || tile == 0) return_cmd_error(STR_304B_SITE_UNSUITABLE);
 	if (MayHaveBridgeAbove(tile) && IsBridgeAbove(tile)) return_cmd_error(STR_5007_MUST_DEMOLISH_BRIDGE_FIRST);
 
 	/* allocate and initialize new station */
@@ -1832,7 +1832,7 @@
 	TileIndex tile = st->dock_tile;
 
 	if (CheckShipsOnBuoy(st))   return_cmd_error(STR_BUOY_IS_IN_USE);
-	if (!EnsureNoVehicle(tile)) return CMD_ERROR;
+	if (!EnsureNoVehicleOnGround(tile)) return CMD_ERROR;
 
 	if (flags & DC_EXEC) {
 		st->dock_tile = 0;
@@ -1980,8 +1980,8 @@
 	TileIndex tile1 = st->dock_tile;
 	TileIndex tile2 = tile1 + TileOffsByDiagDir(GetDockDirection(tile1));
 
-	if (!EnsureNoVehicle(tile1)) return CMD_ERROR;
-	if (!EnsureNoVehicle(tile2)) return CMD_ERROR;
+	if (!EnsureNoVehicleOnGround(tile1)) return CMD_ERROR;
+	if (!EnsureNoVehicleOnGround(tile2)) return CMD_ERROR;
 
 	if (flags & DC_EXEC) {
 		DoClearSquare(tile1);
@@ -2088,7 +2088,7 @@
 		DrawTramCatenary(ti, axis == AXIS_X ? ROAD_X : ROAD_Y);
 	}
 
-	if (IsBuoyTile(ti->tile) && (ti->z != 0 || !IsTileOwner(ti->tile, OWNER_WATER))) DrawCanalWater(ti->tile);
+	if (IsCanalBuoyTile(ti->tile)) DrawCanalWater(ti->tile);
 
 	const DrawTileSeqStruct *dtss;
 	foreach_draw_tile_seq(dtss, t->seq) {