From 102af2f8ca2c5124c9a0f81a0dde95b24df299be Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Fri, 4 Nov 2016 10:01:52 -0400 Subject: [PATCH] rewrite to use value returned from game_do_command --- src/interface/console.c | 45 ++++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/src/interface/console.c b/src/interface/console.c index 9b8da6e824..6a938b5640 100644 --- a/src/interface/console.c +++ b/src/interface/console.c @@ -858,32 +858,41 @@ static int cc_set(const utf8 **argv, int argc) console_execute_silent("get render_weather_gloom"); } else if (strcmp(argv[0], "sandbox_mode") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - if (network_get_mode() == NETWORK_MODE_CLIENT && !network_can_perform_command(network_get_current_player_group_index(), GAME_COMMAND_CHEAT)) { - console_writeline_error("Network error: Permission denied!"); - } - else if (gCheatsSandboxMode != (int_val[0] != 0)) { - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SANDBOXMODE, 0, GAME_COMMAND_CHEAT, 0, 0); - gCheatsSandboxMode = (int_val[0] != 0); + if (gCheatsSandboxMode != (int_val[0] != 0)) { + if (game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_SANDBOXMODE, 0, GAME_COMMAND_CHEAT, 0, 0) != MONEY32_UNDEFINED) { + //Change it locally so it shows the accurate value in the + //"console_execute_silent("get sandbox_mode")" line when in network client mode + gCheatsSandboxMode = (int_val[0] != 0); + } + else { + console_writeline_error("Network error: Permission denied!"); + } } console_execute_silent("get sandbox_mode"); } else if (strcmp(argv[0], "disable_clearance_checks") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - if (network_get_mode() == NETWORK_MODE_CLIENT && !network_can_perform_command(network_get_current_player_group_index(), GAME_COMMAND_CHEAT)) { - console_writeline_error("Network error: Permission denied!"); - } - else if (gCheatsDisableClearanceChecks != (int_val[0] != 0)) { - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLECLEARANCECHECKS, 0, GAME_COMMAND_CHEAT, 0, 0); - gCheatsDisableClearanceChecks = (int_val[0] != 0); + if (gCheatsDisableClearanceChecks != (int_val[0] != 0)) { + if (game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLECLEARANCECHECKS, 0, GAME_COMMAND_CHEAT, 0, 0) != MONEY32_UNDEFINED) { + //Change it locally so it shows the accurate value in the + //"console_execute_silent("get disable_clearance_checks")" line when in network client mode + gCheatsDisableClearanceChecks = (int_val[0] != 0); + } + else { + console_writeline_error("Network error: Permission denied!"); + } } console_execute_silent("get disable_clearance_checks"); } else if (strcmp(argv[0], "disable_support_limits") == 0 && invalidArguments(&invalidArgs, int_valid[0])) { - if (network_get_mode() == NETWORK_MODE_CLIENT && !network_can_perform_command(network_get_current_player_group_index(), GAME_COMMAND_CHEAT)) { - console_writeline_error("Network error: Permission denied!"); - } - else if (gCheatsDisableSupportLimits != (int_val[0] != 0)) { - game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLESUPPORTLIMITS, 0, GAME_COMMAND_CHEAT, 0, 0); - gCheatsDisableSupportLimits = (int_val[0] != 0); + if (gCheatsDisableSupportLimits != (int_val[0] != 0)) { + if (game_do_command(0, GAME_COMMAND_FLAG_APPLY, CHEAT_DISABLESUPPORTLIMITS, 0, GAME_COMMAND_CHEAT, 0, 0) != MONEY32_UNDEFINED) { + //Change it locally so it shows the accurate value in the + //"console_execute_silent("get disable_support_limits")" line when in network client mode + gCheatsDisableSupportLimits = (int_val[0] != 0); + } + else { + console_writeline_error("Network error: Permission denied!"); + } } console_execute_silent("get disable_support_limits"); }