--- a/src/road_cmd.cpp Wed Jun 13 12:05:56 2007 +0000
+++ b/src/road_cmd.cpp Tue Jun 19 07:21:01 2007 +0000
@@ -107,7 +107,7 @@
* removing the tram bits before the test.
* @param p2 unused
*/
-int32 CmdRemoveRoad(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
+CommandCost CmdRemoveRoad(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
{
/* cost for removing inner/edge -roads */
static const uint16 road_remove_cost[2] = {50, 18};
@@ -166,7 +166,7 @@
/* If it's the last roadtype, just clear the whole tile */
if (rts == RoadTypeToRoadTypes(rt)) return DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR);
- int32 cost;
+ CommandCost cost;
if (IsTileType(tile, MP_TUNNELBRIDGE)) {
TileIndex other_end = IsTunnel(tile) ? GetOtherTunnelEnd(tile) : GetOtherBridgeEnd(tile);
/* Pay for *every* tile of the bridge or tunnel */
@@ -301,7 +301,7 @@
};
-static uint32 CheckRoadSlope(Slope tileh, RoadBits* pieces, RoadBits existing)
+static CommandCost CheckRoadSlope(Slope tileh, RoadBits* pieces, RoadBits existing)
{
RoadBits road_bits;
@@ -346,10 +346,10 @@
* bit 6..7 disallowed directions to toggle
* @param p2 the town that is building the road (0 if not applicable)
*/
-int32 CmdBuildRoad(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
+CommandCost CmdBuildRoad(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
{
- int32 cost = 0;
- int32 ret;
+ CommandCost cost = 0;
+ CommandCost ret;
RoadBits existing = ROAD_NONE;
RoadBits all_bits = ROAD_NONE;
Slope tileh;
@@ -557,7 +557,7 @@
* @return The cost and state of the operation
* @retval CMD_ERROR An error occured during the operation.
*/
-int32 DoConvertStreetRail(TileIndex tile, RailType totype, bool exec)
+CommandCost DoConvertStreetRail(TileIndex tile, RailType totype, bool exec)
{
/* not a railroad crossing? */
if (!IsLevelCrossing(tile)) return CMD_ERROR;
@@ -591,10 +591,10 @@
* - p2 = (bit 3 + 4) - road type
* - p2 = (bit 5) - set road direction
*/
-int32 CmdBuildLongRoad(TileIndex end_tile, uint32 flags, uint32 p1, uint32 p2)
+CommandCost CmdBuildLongRoad(TileIndex end_tile, uint32 flags, uint32 p1, uint32 p2)
{
TileIndex start_tile, tile;
- int32 cost, ret;
+ CommandCost cost, ret;
bool had_bridge = false;
bool had_success = false;
DisallowedRoadDirections drd = DRD_NORTHBOUND;
@@ -671,10 +671,10 @@
* - p2 = (bit 2) - direction: 0 = along x-axis, 1 = along y-axis (p2 & 4)
* - p2 = (bit 3 + 4) - road type
*/
-int32 CmdRemoveLongRoad(TileIndex end_tile, uint32 flags, uint32 p1, uint32 p2)
+CommandCost CmdRemoveLongRoad(TileIndex end_tile, uint32 flags, uint32 p1, uint32 p2)
{
TileIndex start_tile, tile;
- int32 cost, ret;
+ CommandCost cost, ret;
SET_EXPENSES_TYPE(EXPENSES_CONSTRUCTION);
@@ -708,7 +708,7 @@
/* try to remove the halves. */
if (bits != 0) {
ret = DoCommand(tile, rt << 4 | bits, 0, flags, CMD_REMOVE_ROAD);
- if (!CmdFailed(ret)) cost += ret;
+ if (CmdSucceeded(ret)) cost += ret;
}
if (tile == end_tile) break;
@@ -729,9 +729,9 @@
* @todo When checking for the tile slope,
* distingush between "Flat land required" and "land sloped in wrong direction"
*/
-int32 CmdBuildRoadDepot(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
+CommandCost CmdBuildRoadDepot(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
{
- int32 cost;
+ CommandCost cost;
Depot *dep;
Slope tileh;
@@ -771,7 +771,7 @@
return cost;
}
-static int32 RemoveRoadDepot(TileIndex tile, uint32 flags)
+static CommandCost RemoveRoadDepot(TileIndex tile, uint32 flags)
{
if (!CheckTileOwnership(tile) && _current_player != OWNER_WATER)
return CMD_ERROR;
@@ -783,7 +783,7 @@
return _eco->GetPrice(CEconomy::REMOVE_ROAD_DEPOT, tile, true);
}
-static int32 ClearTile_Road(TileIndex tile, byte flags)
+static CommandCost ClearTile_Road(TileIndex tile, byte flags)
{
switch (GetRoadTileType(tile)) {
case ROAD_TILE_NORMAL: {
@@ -797,10 +797,10 @@
!(flags & DC_AUTO)
) {
RoadTypes rts = GetRoadTypes(tile);
- int32 ret = 0;
+ CommandCost ret = 0;
for (RoadType rt = ROADTYPE_ROAD; rt < ROADTYPE_END; rt++) {
if (HASBIT(rts, rt)) {
- int32 tmp_ret = DoCommand(tile, rt << 4 | GetRoadBits(tile, rt), 0, flags, CMD_REMOVE_ROAD);
+ CommandCost tmp_ret = DoCommand(tile, rt << 4 | GetRoadBits(tile, rt), 0, flags, CMD_REMOVE_ROAD);
if (CmdFailed(tmp_ret)) return tmp_ret;
ret += tmp_ret;
}
@@ -813,7 +813,7 @@
case ROAD_TILE_CROSSING: {
RoadTypes rts = GetRoadTypes(tile);
- int32 ret = 0;
+ CommandCost ret = 0;
if (flags & DC_AUTO) return_cmd_error(STR_1801_MUST_REMOVE_ROAD_FIRST);
@@ -821,7 +821,7 @@
* tram tracks must be removed before the road bits. */
for (RoadType rt = ROADTYPE_HWAY; rt >= ROADTYPE_ROAD; rt--) {
if (HASBIT(rts, rt)) {
- int32 tmp_ret = DoCommand(tile, 1 << 6 | rt << 4 | GetCrossingRoadBits(tile), 0, flags, CMD_REMOVE_ROAD);
+ CommandCost tmp_ret = DoCommand(tile, 1 << 6 | rt << 4 | GetCrossingRoadBits(tile), 0, flags, CMD_REMOVE_ROAD);
if (CmdFailed(tmp_ret)) return tmp_ret;
ret += tmp_ret;
}