diff options
author | rubidium <rubidium@openttd.org> | 2010-01-11 18:46:09 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2010-01-11 18:46:09 +0000 |
commit | 2b97f38cd176d5638053c87199e6ac175d5ee1e4 (patch) | |
tree | 85e4776e0646803f4d69f9c700e1712df215be6a /src/road_gui.cpp | |
parent | 48df0d4e06ee05e56793cc6e638d649126032d4e (diff) | |
download | openttd-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.cpp | 26 |
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) |