mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-23 07:03:54 -07:00
- Add CommandZone and CommandZoneLogic for commander - Add CommanderTaxCounter - Add counter active state protocol (show/hide tax counters) - Add "Enable Command Zone" option in game creation dialogs - Add context menu actions for command zone operations Took 9 minutes Took 11 minutes
38 lines
1.4 KiB
C++
38 lines
1.4 KiB
C++
#ifndef TRICE_LIMITS_H
|
|
#define TRICE_LIMITS_H
|
|
|
|
#include <QString>
|
|
|
|
// 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;
|
|
|
|
// Counter value bounds [0, MAX_COUNTER_VALUE].
|
|
// Counters (on cards or players) are non-negative values.
|
|
// The max of 999 is a display constraint (3-digit rendering) and reasonable gameplay limit.
|
|
// Server enforces these bounds; client may also check 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
|