summaryrefslogtreecommitdiff
path: root/src/dock_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/dock_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/dock_gui.cpp')
-rw-r--r--src/dock_gui.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/dock_gui.cpp b/src/dock_gui.cpp
index 1d15f2142..59a17b512 100644
--- a/src/dock_gui.cpp
+++ b/src/dock_gui.cpp
@@ -35,17 +35,17 @@ static void ShowBuildDocksDepotPicker(Window *parent);
static Axis _ship_depot_direction;
-void CcBuildDocks(bool success, TileIndex tile, uint32 p1, uint32 p2)
+void CcBuildDocks(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
{
- if (success) {
- SndPlayTileFx(SND_02_SPLAT, tile);
- if (!_settings_client.gui.persistent_buildingtools) ResetObjectToPlace();
- }
+ if (result.Failed()) return;
+
+ SndPlayTileFx(SND_02_SPLAT, tile);
+ if (!_settings_client.gui.persistent_buildingtools) ResetObjectToPlace();
}
-void CcBuildCanal(bool success, TileIndex tile, uint32 p1, uint32 p2)
+void CcBuildCanal(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2)
{
- if (success) SndPlayTileFx(SND_02_SPLAT, tile);
+ if (result.Succeeded()) SndPlayTileFx(SND_02_SPLAT, tile);
}
@@ -218,7 +218,6 @@ struct BuildDocksToolbarWindow : Window {
switch (select_proc) {
case DDSP_BUILD_BRIDGE:
if (!_settings_client.gui.persistent_buildingtools) ResetObjectToPlace();
- extern void CcBuildBridge(bool success, TileIndex tile, uint32 p1, uint32 p2);
DoCommandP(end_tile, start_tile, TRANSPORT_WATER << 15, CMD_BUILD_BRIDGE | CMD_MSG(STR_ERROR_CAN_T_BUILD_AQUEDUCT_HERE), CcBuildBridge);
case DDSP_DEMOLISH_AREA: