From a15a3fedf7817c570d554f3b6d16eb82173fd34f Mon Sep 17 00:00:00 2001 From: wolfreak99 Date: Sat, 21 Jan 2017 06:43:16 -0500 Subject: [PATCH] Create "misc_commands" enum --- src/openrct2/network/NetworkAction.cpp | 6 +++--- src/openrct2/network/NetworkAction.h | 7 +++++++ src/openrct2/network/network.cpp | 7 +++---- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/openrct2/network/NetworkAction.cpp b/src/openrct2/network/NetworkAction.cpp index 89d30ca86b..58cb00b9aa 100644 --- a/src/openrct2/network/NetworkAction.cpp +++ b/src/openrct2/network/NetworkAction.cpp @@ -67,7 +67,7 @@ const std::vector NetworkActions::Actions = { STR_ACTION_CHAT, "PERMISSION_CHAT", { - -1 + MISC_COMMAND_CHAT } }, { STR_ACTION_TERRAFORM, "PERMISSION_TERRAFORM", @@ -214,12 +214,12 @@ const std::vector NetworkActions::Actions = }, { STR_ACTION_TOGGLE_SCENERY_CLUSTER, "PERMISSION_TOGGLE_SCENERY_CLUSTER", { - -2 + MISC_COMMAND_TOGGLE_SCENERY_CLUSTER } }, { STR_ACTION_PASSWORDLESS_LOGIN, "PERMISSION_PASSWORDLESS_LOGIN", { - -3 + MISC_COMMAND_PASSWORDLESS_LOGIN } }, }; diff --git a/src/openrct2/network/NetworkAction.h b/src/openrct2/network/NetworkAction.h index 6e0ca27136..148b0bb076 100644 --- a/src/openrct2/network/NetworkAction.h +++ b/src/openrct2/network/NetworkAction.h @@ -20,6 +20,13 @@ #include #include "../common.h" +enum MISC_COMMAND +{ + MISC_COMMAND_CHAT = -1, + MISC_COMMAND_TOGGLE_SCENERY_CLUSTER = -2, + MISC_COMMAND_PASSWORDLESS_LOGIN = -3, +}; + class NetworkAction final { public: diff --git a/src/openrct2/network/network.cpp b/src/openrct2/network/network.cpp index 1fda22b841..34b427810a 100644 --- a/src/openrct2/network/network.cpp +++ b/src/openrct2/network/network.cpp @@ -1567,8 +1567,7 @@ void Network::Server_Handle_AUTH(NetworkConnection& connection, NetworkPacket& p bool passwordless = false; if (connection.AuthStatus == NETWORK_AUTH_VERIFIED) { const NetworkGroup * group = GetGroupByID(GetGroupIDByHash(connection.Key.PublicKeyHash())); - size_t actionIndex = NetworkActions::FindCommandByPermissionName("PERMISSION_PASSWORDLESS_LOGIN"); - passwordless = group->CanPerformAction(actionIndex); + passwordless = group->CanPerformCommand(MISC_COMMAND_PASSWORDLESS_LOGIN); } if (!gameversion || strcmp(gameversion, NETWORK_STREAM_ID) != 0) { connection.AuthStatus = NETWORK_AUTH_BADVERSION; @@ -1677,7 +1676,7 @@ void Network::Server_Handle_CHAT(NetworkConnection& connection, NetworkPacket& p { if (connection.Player) { NetworkGroup* group = GetGroupByID(connection.Player->Group); - if (!group || (group && !group->CanPerformCommand(-1))) { + if (!group || (group && !group->CanPerformCommand(MISC_COMMAND_CHAT))) { return; } } @@ -1731,7 +1730,7 @@ void Network::Server_Handle_GAMECMD(NetworkConnection& connection, NetworkPacket // cluster mode is a for loop that runs the place_scenery code multiple times. if (commandCommand == GAME_COMMAND_PLACE_SCENERY) { if ((ticks - connection.Player->LastActionTime) < 20) { - if (!(group->CanPerformCommand(-2))) { + if (!(group->CanPerformCommand(MISC_COMMAND_TOGGLE_SCENERY_CLUSTER))) { Server_Send_SHOWERROR(connection, STR_CANT_DO_THIS, STR_CANT_DO_THIS); return; }