From 2b97f38cd176d5638053c87199e6ac175d5ee1e4 Mon Sep 17 00:00:00 2001 From: rubidium Date: Mon, 11 Jan 2010 18:46:09 +0000 Subject: (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. --- src/dock_gui.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'src/dock_gui.cpp') 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: -- cgit v1.2.3-54-g00ecf