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/dock_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/dock_gui.cpp')
-rw-r--r-- | src/dock_gui.cpp | 15 |
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: |