diff options
-rw-r--r-- | command.c | 14 | ||||
-rw-r--r-- | main_gui.c | 7 | ||||
-rw-r--r-- | variables.h | 1 |
3 files changed, 12 insertions, 10 deletions
@@ -399,6 +399,7 @@ bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, CommandCallback *callback, CommandProc *proc; uint32 flags; bool notest; + StringID error_part1; int x = TileX(tile) * 16; int y = TileY(tile) * 16; @@ -412,13 +413,13 @@ bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, CommandCallback *callback, assert(_docommand_recursive == 0); _error_message = INVALID_STRING_ID; - _error_message_2 = cmd >> 16; + error_part1 = GB(cmd, 16, 16); _additional_cash_required = 0; /** Spectator has no rights except for the dedicated server which * is a spectator but is the server, so can do anything */ if (_current_player == OWNER_SPECTATOR && !_network_dedicated) { - ShowErrorMessage(_error_message, _error_message_2, x, y); + ShowErrorMessage(_error_message, error_part1, x, y); _cmd_text = NULL; return false; } @@ -459,7 +460,7 @@ bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, CommandCallback *callback, res = proc(x, y, flags, p1, p2); if (CmdFailed(res)) { if (res & 0xFFFF) _error_message = res & 0xFFFF; - ShowErrorMessage(_error_message, _error_message_2, x, y); + ShowErrorMessage(_error_message, error_part1, x, y); } else { ShowEstimatedCostOrIncome(res, x, y); } @@ -524,7 +525,7 @@ bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, CommandCallback *callback, ShowCostOrIncomeAnimation(x, y, GetSlopeZ(x, y), res2); if (_additional_cash_required) { SetDParam(0, _additional_cash_required); - ShowErrorMessage(STR_0003_NOT_ENOUGH_CASH_REQUIRES, _error_message_2, x,y); + ShowErrorMessage(STR_0003_NOT_ENOUGH_CASH_REQUIRES, error_part1, x,y); if (res2 == 0) goto callb_err; } } @@ -537,8 +538,9 @@ bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, CommandCallback *callback, show_error: // show error message if the command fails? - if (IsLocalPlayer() && _error_message_2 != 0) - ShowErrorMessage(_error_message, _error_message_2, x,y); + if (IsLocalPlayer() && error_part1 != 0) { + ShowErrorMessage(_error_message, error_part1, x,y); + } callb_err: _docommand_recursive = 0; diff --git a/main_gui.c b/main_gui.c index 75d81867a..5b7c594c6 100644 --- a/main_gui.c +++ b/main_gui.c @@ -1145,12 +1145,13 @@ static void CommonRaiseLowerBigLand(TileIndex tile, int mode) int sizex, sizey; byte h; - _error_message_2 = mode ? STR_0808_CAN_T_RAISE_LAND_HERE : STR_0809_CAN_T_LOWER_LAND_HERE; - _generating_world = true; // used to create green terraformed land if (_terraform_size == 1) { - DoCommandP(tile, 8, (uint32)mode, CcTerraform, CMD_TERRAFORM_LAND | CMD_AUTO | CMD_MSG(_error_message_2)); + StringID msg = + mode ? STR_0808_CAN_T_RAISE_LAND_HERE : STR_0809_CAN_T_LOWER_LAND_HERE; + + DoCommandP(tile, 8, (uint32)mode, CcTerraform, CMD_TERRAFORM_LAND | CMD_AUTO | CMD_MSG(msg)); } else { SndPlayTileFx(SND_1F_SPLAT, tile); diff --git a/variables.h b/variables.h index bfabba4cf..4534db70f 100644 --- a/variables.h +++ b/variables.h @@ -269,7 +269,6 @@ VARDEF bool _news_ticker_sound; VARDEF byte _game_mode; VARDEF StringID _error_message; -VARDEF StringID _error_message_2; VARDEF int32 _additional_cash_required; VARDEF uint32 _decode_parameters[20]; |