From 18b23b19a7b3b757f6204d5e5cfdd1c06db92326 Mon Sep 17 00:00:00 2001 From: DawnFire42 Date: Mon, 29 Jun 2026 17:37:52 -0400 Subject: [PATCH] Split trice_limits.h into dedicated headers (#7025) * Split trice_limits.h into dedicated headers * Updated docstrings --- cockatrice/src/game/player/player_actions.cpp | 2 +- .../src/game_graphics/board/card_item.h | 1 - .../deckview/deck_view_container.cpp | 2 +- .../dialogs/dlg_create_token.cpp | 2 +- .../game_graphics/dialogs/dlg_roll_dice.cpp | 2 +- .../game_graphics/player/player_dialogs.cpp | 1 + .../deck_editor_deck_dock_widget.cpp | 2 +- .../interface/widgets/dialogs/dlg_connect.cpp | 2 +- .../widgets/dialogs/dlg_create_game.cpp | 2 +- .../widgets/dialogs/dlg_edit_avatar.cpp | 2 +- .../widgets/dialogs/dlg_edit_password.cpp | 2 +- .../widgets/dialogs/dlg_edit_tokens.cpp | 2 +- .../widgets/dialogs/dlg_edit_user.cpp | 2 +- .../dialogs/dlg_forgot_password_challenge.cpp | 2 +- .../dialogs/dlg_forgot_password_request.cpp | 2 +- .../dialogs/dlg_forgot_password_reset.cpp | 2 +- .../widgets/dialogs/dlg_register.cpp | 2 +- .../widgets/server/user/user_list_widget.cpp | 2 +- .../settings_page/messages_settings_page.cpp | 1 + .../widgets/tabs/abstract_tab_deck_editor.cpp | 2 +- .../interface/widgets/tabs/tab_account.cpp | 2 +- .../src/interface/widgets/tabs/tab_admin.cpp | 2 +- .../widgets/tabs/tab_deck_editor.cpp | 1 - .../widgets/tabs/tab_deck_storage.cpp | 1 + .../src/interface/widgets/tabs/tab_game.cpp | 2 +- .../src/interface/widgets/tabs/tab_logs.cpp | 2 +- .../interface/widgets/tabs/tab_message.cpp | 2 +- .../src/interface/widgets/tabs/tab_room.cpp | 2 +- .../widgets/utility/get_text_with_max.h | 2 +- .../game/server_abstract_participant.cpp | 2 +- .../remote/game/server_abstract_player.cpp | 3 +- .../server/remote/game/server_card.cpp | 2 +- .../server/remote/game/server_player.cpp | 2 +- .../server/remote/server_protocolhandler.cpp | 2 +- .../network/server/remote/server_room.cpp | 2 +- .../protocol/debug_pb_message.cpp | 2 +- libcockatrice_utility/CMakeLists.txt | 4 +- .../libcockatrice/utility/counter_limits.h | 17 +++++++ .../libcockatrice/utility/dice_limits.h | 15 ++++++ .../libcockatrice/utility/string_limits.h | 31 ++++++++++++ .../libcockatrice/utility/trice_limits.h | 48 ------------------- servatrice/src/serversocketinterface.cpp | 2 +- tests/server_card_counter_test.cpp | 2 +- 43 files changed, 103 insertions(+), 84 deletions(-) create mode 100644 libcockatrice_utility/libcockatrice/utility/counter_limits.h create mode 100644 libcockatrice_utility/libcockatrice/utility/dice_limits.h create mode 100644 libcockatrice_utility/libcockatrice/utility/string_limits.h delete mode 100644 libcockatrice_utility/libcockatrice/utility/trice_limits.h diff --git a/cockatrice/src/game/player/player_actions.cpp b/cockatrice/src/game/player/player_actions.cpp index 1c469a42a..df9eb8a1d 100644 --- a/cockatrice/src/game/player/player_actions.cpp +++ b/cockatrice/src/game/player/player_actions.cpp @@ -28,8 +28,8 @@ #include #include #include +#include #include -#include #include // milliseconds in between triggers of the move top cards until action diff --git a/cockatrice/src/game_graphics/board/card_item.h b/cockatrice/src/game_graphics/board/card_item.h index 8efcd085d..37f3bab50 100644 --- a/cockatrice/src/game_graphics/board/card_item.h +++ b/cockatrice/src/game_graphics/board/card_item.h @@ -12,7 +12,6 @@ #include "abstract_card_item.h" #include -#include class CardDatabase; class CardDragItem; diff --git a/cockatrice/src/game_graphics/deckview/deck_view_container.cpp b/cockatrice/src/game_graphics/deckview/deck_view_container.cpp index 21284c517..d476a5012 100644 --- a/cockatrice/src/game_graphics/deckview/deck_view_container.cpp +++ b/cockatrice/src/game_graphics/deckview/deck_view_container.cpp @@ -19,7 +19,7 @@ #include #include #include -#include +#include ToggleButton::ToggleButton(QWidget *parent) : QPushButton(parent), state(false) { diff --git a/cockatrice/src/game_graphics/dialogs/dlg_create_token.cpp b/cockatrice/src/game_graphics/dialogs/dlg_create_token.cpp index 11c24b72e..1a9dc59b2 100644 --- a/cockatrice/src/game_graphics/dialogs/dlg_create_token.cpp +++ b/cockatrice/src/game_graphics/dialogs/dlg_create_token.cpp @@ -20,7 +20,7 @@ #include #include #include -#include +#include DlgCreateToken::DlgCreateToken(const QStringList &_predefinedTokens, QWidget *parent) : QDialog(parent), predefinedTokens(_predefinedTokens) diff --git a/cockatrice/src/game_graphics/dialogs/dlg_roll_dice.cpp b/cockatrice/src/game_graphics/dialogs/dlg_roll_dice.cpp index dfb3d0bc5..4f5d5b861 100644 --- a/cockatrice/src/game_graphics/dialogs/dlg_roll_dice.cpp +++ b/cockatrice/src/game_graphics/dialogs/dlg_roll_dice.cpp @@ -5,7 +5,7 @@ #include #include #include -#include +#include DlgRollDice::DlgRollDice(QWidget *parent) : QDialog(parent) { diff --git a/cockatrice/src/game_graphics/player/player_dialogs.cpp b/cockatrice/src/game_graphics/player/player_dialogs.cpp index 3c26ae1fe..95c225812 100644 --- a/cockatrice/src/game_graphics/player/player_dialogs.cpp +++ b/cockatrice/src/game_graphics/player/player_dialogs.cpp @@ -8,6 +8,7 @@ #include #include +#include PlayerDialogs::PlayerDialogs(PlayerGraphicsItem *_player, PlayerActions *_playerActions) : QObject(_player), player(_player), playerActions(_playerActions) diff --git a/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp b/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp index f751fa225..f61a01168 100644 --- a/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp +++ b/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp @@ -11,7 +11,7 @@ #include #include #include -#include +#include static int findRestoreIndex(const CardRef &wanted, const QComboBox *combo) { diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_connect.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_connect.cpp index fdbc90542..2a7fc6c06 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_connect.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_connect.cpp @@ -12,7 +12,7 @@ #include #include #include -#include +#include DlgConnect::DlgConnect(QWidget *parent) : QDialog(parent) { diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_create_game.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_create_game.cpp index 30364f242..f892801f1 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_create_game.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_create_game.cpp @@ -17,7 +17,7 @@ #include #include #include -#include +#include void DlgCreateGame::sharedCtor() { diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_edit_avatar.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_edit_avatar.cpp index db5f21701..b5710b208 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_edit_avatar.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_edit_avatar.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include DlgEditAvatar::DlgEditAvatar(QWidget *parent) : QDialog(parent), image() { diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_edit_password.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_edit_password.cpp index cdd4433a7..63181b44f 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_edit_password.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_edit_password.cpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include DlgEditPassword::DlgEditPassword(QWidget *parent) : QDialog(parent) { diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_edit_tokens.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_edit_tokens.cpp index 381aa2b11..f249976c2 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_edit_tokens.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_edit_tokens.cpp @@ -19,7 +19,7 @@ #include #include #include -#include +#include DlgEditTokens::DlgEditTokens(QWidget *parent) : QDialog(parent), currentCard(nullptr) { diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_edit_user.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_edit_user.cpp index 7015f9d47..85b95f335 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_edit_user.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_edit_user.cpp @@ -6,7 +6,7 @@ #include #include #include -#include +#include DlgEditUser::DlgEditUser(QWidget *parent, QString email, QString country, QString realName) : QDialog(parent) { diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_challenge.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_challenge.cpp index 24e9030e0..14c3cda47 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_challenge.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_challenge.cpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include DlgForgotPasswordChallenge::DlgForgotPasswordChallenge(QWidget *parent) : QDialog(parent) { diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_request.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_request.cpp index c33a41bed..fc934d082 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_request.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_request.cpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include DlgForgotPasswordRequest::DlgForgotPasswordRequest(QWidget *parent) : QDialog(parent) { diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_reset.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_reset.cpp index d2eb081d1..d30887988 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_reset.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_forgot_password_reset.cpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include DlgForgotPasswordReset::DlgForgotPasswordReset(QWidget *parent) : QDialog(parent) { diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_register.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_register.cpp index 0f7c17b18..942782403 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_register.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_register.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include DlgRegister::DlgRegister(QWidget *parent) : QDialog(parent) { diff --git a/cockatrice/src/interface/widgets/server/user/user_list_widget.cpp b/cockatrice/src/interface/widgets/server/user/user_list_widget.cpp index c094f8a6b..32f46a79f 100644 --- a/cockatrice/src/interface/widgets/server/user/user_list_widget.cpp +++ b/cockatrice/src/interface/widgets/server/user/user_list_widget.cpp @@ -30,7 +30,7 @@ #include #include #include -#include +#include BanDialog::BanDialog(const ServerInfo_User &info, QWidget *parent) : QDialog(parent) { diff --git a/cockatrice/src/interface/widgets/settings_page/messages_settings_page.cpp b/cockatrice/src/interface/widgets/settings_page/messages_settings_page.cpp index 1e6f99245..831cb442c 100644 --- a/cockatrice/src/interface/widgets/settings_page/messages_settings_page.cpp +++ b/cockatrice/src/interface/widgets/settings_page/messages_settings_page.cpp @@ -6,6 +6,7 @@ #include #include #include +#include MessagesSettingsPage::MessagesSettingsPage() { diff --git a/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.cpp b/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.cpp index a8cc4cee6..4bb8ffca4 100644 --- a/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.cpp +++ b/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.cpp @@ -43,7 +43,7 @@ #include #include #include -#include +#include /** * @brief Constructs the AbstractTabDeckEditor. diff --git a/cockatrice/src/interface/widgets/tabs/tab_account.cpp b/cockatrice/src/interface/widgets/tabs/tab_account.cpp index e61732f90..2cc8165e8 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_account.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_account.cpp @@ -17,7 +17,7 @@ #include #include #include -#include +#include TabAccount::TabAccount(TabSupervisor *_tabSupervisor, AbstractClient *_client, const ServerInfo_User &userInfo) : Tab(_tabSupervisor), client(_client) diff --git a/cockatrice/src/interface/widgets/tabs/tab_admin.cpp b/cockatrice/src/interface/widgets/tabs/tab_admin.cpp index 533e1cc83..16f17e03e 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_admin.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_admin.cpp @@ -13,7 +13,7 @@ #include #include #include -#include +#include ShutdownDialog::ShutdownDialog(QWidget *parent) : QDialog(parent) { diff --git a/cockatrice/src/interface/widgets/tabs/tab_deck_editor.cpp b/cockatrice/src/interface/widgets/tabs/tab_deck_editor.cpp index 4e7cbfecf..3878e12e0 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_deck_editor.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_deck_editor.cpp @@ -21,7 +21,6 @@ #include #include #include -#include /** * @brief Constructs a new TabDeckEditor object. diff --git a/cockatrice/src/interface/widgets/tabs/tab_deck_storage.cpp b/cockatrice/src/interface/widgets/tabs/tab_deck_storage.cpp index bdf7901f1..8e2b114d9 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_deck_storage.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_deck_storage.cpp @@ -28,6 +28,7 @@ #include #include #include +#include TabDeckStorage::TabDeckStorage(TabSupervisor *_tabSupervisor, AbstractClient *_client, diff --git a/cockatrice/src/interface/widgets/tabs/tab_game.cpp b/cockatrice/src/interface/widgets/tabs/tab_game.cpp index a81161e83..600647171 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_game.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_game.cpp @@ -44,7 +44,7 @@ #include #include #include -#include +#include TabGame::TabGame(TabSupervisor *_tabSupervisor, GameReplay *_replay) : Tab(_tabSupervisor), sayLabel(nullptr), sayEdit(nullptr) diff --git a/cockatrice/src/interface/widgets/tabs/tab_logs.cpp b/cockatrice/src/interface/widgets/tabs/tab_logs.cpp index 9a030e7d9..e3678a903 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_logs.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_logs.cpp @@ -17,7 +17,7 @@ #include #include #include -#include +#include TabLog::TabLog(TabSupervisor *_tabSupervisor, AbstractClient *_client) : Tab(_tabSupervisor), client(_client) { diff --git a/cockatrice/src/interface/widgets/tabs/tab_message.cpp b/cockatrice/src/interface/widgets/tabs/tab_message.cpp index d77cb0391..2cacab731 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_message.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_message.cpp @@ -17,7 +17,7 @@ #include #include #include -#include +#include TabMessage::TabMessage(TabSupervisor *_tabSupervisor, AbstractClient *_client, diff --git a/cockatrice/src/interface/widgets/tabs/tab_room.cpp b/cockatrice/src/interface/widgets/tabs/tab_room.cpp index c7495da5a..ec05e9ff6 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_room.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_room.cpp @@ -31,7 +31,7 @@ #include #include #include -#include +#include TabRoom::TabRoom(TabSupervisor *_tabSupervisor, AbstractClient *_client, diff --git a/cockatrice/src/interface/widgets/utility/get_text_with_max.h b/cockatrice/src/interface/widgets/utility/get_text_with_max.h index 923d6f427..424bb0c6a 100644 --- a/cockatrice/src/interface/widgets/utility/get_text_with_max.h +++ b/cockatrice/src/interface/widgets/utility/get_text_with_max.h @@ -9,7 +9,7 @@ #include #include -#include +#include QString getTextWithMax(QWidget *parent, const QString &title, diff --git a/libcockatrice_network/libcockatrice/network/server/remote/game/server_abstract_participant.cpp b/libcockatrice_network/libcockatrice/network/server/remote/game/server_abstract_participant.cpp index 493b8e966..5c0fdf944 100644 --- a/libcockatrice_network/libcockatrice/network/server/remote/game/server_abstract_participant.cpp +++ b/libcockatrice_network/libcockatrice/network/server/remote/game/server_abstract_participant.cpp @@ -48,7 +48,7 @@ #include #include #include -#include +#include Server_AbstractParticipant::Server_AbstractParticipant(Server_Game *_game, int _playerId, diff --git a/libcockatrice_network/libcockatrice/network/server/remote/game/server_abstract_player.cpp b/libcockatrice_network/libcockatrice/network/server/remote/game/server_abstract_player.cpp index 157fa6441..44e317bf7 100644 --- a/libcockatrice_network/libcockatrice/network/server/remote/game/server_abstract_player.cpp +++ b/libcockatrice_network/libcockatrice/network/server/remote/game/server_abstract_player.cpp @@ -47,7 +47,8 @@ #include #include #include -#include +#include +#include #include #include #include diff --git a/libcockatrice_network/libcockatrice/network/server/remote/game/server_card.cpp b/libcockatrice_network/libcockatrice/network/server/remote/game/server_card.cpp index 4ff0cfb5b..8c7feadba 100644 --- a/libcockatrice_network/libcockatrice/network/server/remote/game/server_card.cpp +++ b/libcockatrice_network/libcockatrice/network/server/remote/game/server_card.cpp @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include Server_Card::Server_Card(const CardRef &cardRef, int _id, int _coord_x, int _coord_y, Server_CardZone *_zone) diff --git a/libcockatrice_network/libcockatrice/network/server/remote/game/server_player.cpp b/libcockatrice_network/libcockatrice/network/server/remote/game/server_player.cpp index 56e3f9f8e..d502fc7d6 100644 --- a/libcockatrice_network/libcockatrice/network/server/remote/game/server_player.cpp +++ b/libcockatrice_network/libcockatrice/network/server/remote/game/server_player.cpp @@ -47,7 +47,7 @@ #include #include #include -#include +#include #include Server_Player::Server_Player(Server_Game *_game, diff --git a/libcockatrice_network/libcockatrice/network/server/remote/server_protocolhandler.cpp b/libcockatrice_network/libcockatrice/network/server/remote/server_protocolhandler.cpp index 27ebaf228..c441da781 100644 --- a/libcockatrice_network/libcockatrice/network/server/remote/server_protocolhandler.cpp +++ b/libcockatrice_network/libcockatrice/network/server/remote/server_protocolhandler.cpp @@ -26,7 +26,7 @@ #include #include #include -#include +#include Server_ProtocolHandler::Server_ProtocolHandler(Server *_server, Server_DatabaseInterface *_databaseInterface, diff --git a/libcockatrice_network/libcockatrice/network/server/remote/server_room.cpp b/libcockatrice_network/libcockatrice/network/server/remote/server_room.cpp index 1bd928e09..1f29e62fb 100644 --- a/libcockatrice_network/libcockatrice/network/server/remote/server_room.cpp +++ b/libcockatrice_network/libcockatrice/network/server/remote/server_room.cpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include Server_Room::Server_Room(int _id, int _chatHistorySize, diff --git a/libcockatrice_protocol/libcockatrice/protocol/debug_pb_message.cpp b/libcockatrice_protocol/libcockatrice/protocol/debug_pb_message.cpp index c419a68d4..4d4889323 100644 --- a/libcockatrice_protocol/libcockatrice/protocol/debug_pb_message.cpp +++ b/libcockatrice_protocol/libcockatrice/protocol/debug_pb_message.cpp @@ -5,7 +5,7 @@ #include #include #include -#include +#include // FastFieldValuePrinter is added in protobuf 3.4, going out of our way to add the old FieldValuePrinter is not worth it #if GOOGLE_PROTOBUF_VERSION > 3004000 diff --git a/libcockatrice_utility/CMakeLists.txt b/libcockatrice_utility/CMakeLists.txt index 13f13bb56..2d34cad31 100644 --- a/libcockatrice_utility/CMakeLists.txt +++ b/libcockatrice_utility/CMakeLists.txt @@ -15,7 +15,9 @@ set(UTILITY_HEADERS libcockatrice/utility/levenshtein.h libcockatrice/utility/macros.h libcockatrice/utility/passwordhasher.h - libcockatrice/utility/trice_limits.h + libcockatrice/utility/string_limits.h + libcockatrice/utility/dice_limits.h + libcockatrice/utility/counter_limits.h libcockatrice/utility/clamped_arithmetic.h libcockatrice/utility/zone_names.h libcockatrice/utility/days_years_between.h diff --git a/libcockatrice_utility/libcockatrice/utility/counter_limits.h b/libcockatrice_utility/libcockatrice/utility/counter_limits.h new file mode 100644 index 000000000..1343dbb3f --- /dev/null +++ b/libcockatrice_utility/libcockatrice/utility/counter_limits.h @@ -0,0 +1,17 @@ +#ifndef COUNTER_LIMITS_H +#define COUNTER_LIMITS_H + +/** + * @brief Upper bound for a bounded counter's value: [0, MAX_COUNTER_VALUE]. + * + * Caps an individual counter's VALUE (e.g. a +1/+1 counter at 999), not how many counters + * something holds. Applies to counters that are constrained to a non-negative display range, + * such as card counters and commander tax. Unbounded counters (e.g. a player's life total) + * do not use this limit and may go negative, saturating only at the int range. + * + * The max of 999 is a display constraint (3-digit rendering) and a reasonable gameplay limit. + * The server enforces these bounds; the client may also check them for UX optimization. + */ +constexpr int MAX_COUNTER_VALUE = 999; + +#endif // COUNTER_LIMITS_H diff --git a/libcockatrice_utility/libcockatrice/utility/dice_limits.h b/libcockatrice_utility/libcockatrice/utility/dice_limits.h new file mode 100644 index 000000000..e1407c57e --- /dev/null +++ b/libcockatrice_utility/libcockatrice/utility/dice_limits.h @@ -0,0 +1,15 @@ +#ifndef DICE_LIMITS_H +#define DICE_LIMITS_H + +#include // for uint + +/** @brief Fewest sides a rollable die may have. */ +constexpr uint MINIMUM_DIE_SIDES = 2; +/** @brief Most sides a rollable die may have. */ +constexpr uint MAXIMUM_DIE_SIDES = 1000000; +/** @brief Fewest dice that may be rolled at once. */ +constexpr uint MINIMUM_DICE_TO_ROLL = 1; +/** @brief Most dice that may be rolled at once. */ +constexpr uint MAXIMUM_DICE_TO_ROLL = 100; + +#endif // DICE_LIMITS_H diff --git a/libcockatrice_utility/libcockatrice/utility/string_limits.h b/libcockatrice_utility/libcockatrice/utility/string_limits.h new file mode 100644 index 000000000..cca804bf0 --- /dev/null +++ b/libcockatrice_utility/libcockatrice/utility/string_limits.h @@ -0,0 +1,31 @@ +#ifndef STRING_LIMITS_H +#define STRING_LIMITS_H + +#include +#include +#include + +/** @brief Max size for short strings, like names and things that are generally a single phrase. */ +constexpr int MAX_NAME_LENGTH = 0xff; +/** @brief Max size for chat messages and text contents. */ +constexpr int MAX_TEXT_LENGTH = 0xfff; +/** @brief Max size for deck files and pictures (about 2 megabytes). */ +constexpr int MAX_FILE_LENGTH = 0x1fffff; + +/** @brief Returns a QString from a std::string, truncated to at most MAX_NAME_LENGTH bytes. */ +inline QString nameFromStdString(const std::string &_string) +{ + return QString::fromUtf8(_string.data(), std::min(int(_string.size()), MAX_NAME_LENGTH)); +} +/** @brief Returns a QString from a std::string, truncated to at most MAX_TEXT_LENGTH bytes. */ +inline QString textFromStdString(const std::string &_string) +{ + return QString::fromUtf8(_string.data(), std::min(int(_string.size()), MAX_TEXT_LENGTH)); +} +/** @brief Returns a QString from a std::string, truncated to at most MAX_FILE_LENGTH bytes. */ +inline QString fileFromStdString(const std::string &_string) +{ + return QString::fromUtf8(_string.data(), std::min(int(_string.size()), MAX_FILE_LENGTH)); +} + +#endif // STRING_LIMITS_H diff --git a/libcockatrice_utility/libcockatrice/utility/trice_limits.h b/libcockatrice_utility/libcockatrice/utility/trice_limits.h deleted file mode 100644 index 23227eb3c..000000000 --- a/libcockatrice_utility/libcockatrice/utility/trice_limits.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef TRICE_LIMITS_H -#define TRICE_LIMITS_H - -//! \todo Split trice_limits.h into focused single-purpose headers: string_limits.h, -//! dice_limits.h, counter_limits.h. - -#include - -// max size for short strings, like names and things that are generally a single phrase -constexpr int MAX_NAME_LENGTH = 0xff; -// max size for chat messages and text contents -constexpr int MAX_TEXT_LENGTH = 0xfff; -// max size for deck files and pictures -constexpr int MAX_FILE_LENGTH = 0x1fffff; // about 2 megabytes - -constexpr uint MINIMUM_DIE_SIDES = 2; -constexpr uint MAXIMUM_DIE_SIDES = 1000000; -constexpr uint MINIMUM_DICE_TO_ROLL = 1; -constexpr uint MAXIMUM_DICE_TO_ROLL = 100; - -/** - * @brief Upper bound for a bounded counter's value: [0, MAX_COUNTER_VALUE]. - * - * Caps an individual counter's VALUE (e.g. a +1/+1 counter at 999), not how many counters - * something holds. Applies to counters that are constrained to a non-negative display range, - * such as card counters and commander tax. Unbounded counters (e.g. a player's life total) - * do not use this limit and may go negative, saturating only at the int range. - * - * The max of 999 is a display constraint (3-digit rendering) and a reasonable gameplay limit. - * The server enforces these bounds; the client may also check them for UX optimization. - */ -constexpr int MAX_COUNTER_VALUE = 999; - -// optimized functions to get qstrings that are at most that long -static inline QString nameFromStdString(const std::string &_string) -{ - return QString::fromUtf8(_string.data(), std::min(int(_string.size()), MAX_NAME_LENGTH)); -} -static inline QString textFromStdString(const std::string &_string) -{ - return QString::fromUtf8(_string.data(), std::min(int(_string.size()), MAX_TEXT_LENGTH)); -} -static inline QString fileFromStdString(const std::string &_string) -{ - return QString::fromUtf8(_string.data(), std::min(int(_string.size()), MAX_FILE_LENGTH)); -} - -#endif // TRICE_LIMITS_H diff --git a/servatrice/src/serversocketinterface.cpp b/servatrice/src/serversocketinterface.cpp index 55f779468..6ceebfca9 100644 --- a/servatrice/src/serversocketinterface.cpp +++ b/servatrice/src/serversocketinterface.cpp @@ -83,7 +83,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/tests/server_card_counter_test.cpp b/tests/server_card_counter_test.cpp index b6aacc31b..c8bc43f8f 100644 --- a/tests/server_card_counter_test.cpp +++ b/tests/server_card_counter_test.cpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include TEST(ServerCardCounter, IncrementNewCounter)