summaryrefslogtreecommitdiff
path: root/src/road_gui.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2010-01-11 18:46:09 +0000
committerrubidium <rubidium@openttd.org>2010-01-11 18:46:09 +0000
commit2b97f38cd176d5638053c87199e6ac175d5ee1e4 (patch)
tree85e4776e0646803f4d69f9c700e1712df215be6a /src/road_gui.cpp
parent48df0d4e06ee05e56793cc6e638d649126032d4e (diff)
downloadopenttd-2b97f38cd176d5638053c87199e6ac175d5ee1e4.tar.xz
(svn r18781) -Codechange: pass the CommandCost to the callback instead of whether it succeeded or not.
-Fix: AIs did update their last cost incorrectly in network games if the cost of the DC_EXEC phase differed from the ~DC_EXEC phase.
Diffstat (limited to 'src/road_gui.cpp')
-rw-r--r--src/road_gui.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/road_gui.cpp b/src/road_gui.cpp
index 41ce1f7ab..9c8f5f67d 100644
--- a/src/road_gui.cpp
+++ b/src/road_gui.cpp
@@ -62,9 +62,9 @@ static RoadType _cur_roadtype;
static DiagDirection _road_depot_orientation;
static DiagDirection _road_station_picker_orientation;
-void CcPlaySound1D(bool success, TileIndex tile, uint32 p1, uint32 p2)
+void CcPlaySound1D(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
{
- if (success) SndPlayTileFx(SND_1F_SPLAT, tile);
+ if (result.Succeeded()) SndPlayTileFx(SND_1F_SPLAT, tile);
}
/**
@@ -119,9 +119,9 @@ static void PlaceRoad_Bridge(TileIndex tile)
}
-void CcBuildRoadTunnel(bool success, TileIndex tile, uint32 p1, uint32 p2)
+void CcBuildRoadTunnel(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
{
- if (success) {
+ if (result.Succeeded()) {
SndPlayTileFx(SND_20_SPLAT_2, tile);
if (!_settings_client.gui.persistent_buildingtools) ResetObjectToPlace();
} else {
@@ -191,16 +191,16 @@ static void BuildRoadOutsideStation(TileIndex tile, DiagDirection direction)
}
}
-void CcRoadDepot(bool success, TileIndex tile, uint32 p1, uint32 p2)
+void CcRoadDepot(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
{
- if (success) {
- DiagDirection dir = (DiagDirection)GB(p1, 0, 2);
- SndPlayTileFx(SND_1F_SPLAT, tile);
- if (!_settings_client.gui.persistent_buildingtools) ResetObjectToPlace();
- BuildRoadOutsideStation(tile, dir);
- /* For a drive-through road stop build connecting road for other entrance */
- if (HasBit(p2, 1)) BuildRoadOutsideStation(tile, ReverseDiagDir(dir));
- }
+ if (result.Failed()) return;
+
+ DiagDirection dir = (DiagDirection)GB(p1, 0, 2);
+ SndPlayTileFx(SND_1F_SPLAT, tile);
+ if (!_settings_client.gui.persistent_buildingtools) ResetObjectToPlace();
+ BuildRoadOutsideStation(tile, dir);
+ /* For a drive-through road stop build connecting road for other entrance */
+ if (HasBit(p2, 1)) BuildRoadOutsideStation(tile, ReverseDiagDir(dir));
}
static void PlaceRoad_Depot(TileIndex tile)