1919namespace FPSLimiter
2020{
2121 // Enum for enforcement types (replaces constexpr constants for better type safety)
22- enum class EnforcerType : uint8_t
22+ enum class EnforcerType : std:: uint8_t
2323 {
2424 None = 0 , // No frame rate limit enforced (unlimited FPS)
2525 RefreshRate = 1 , // Frame rate limit set to display refresh rate
2626 UserDefined = 2 , // Frame rate limit set by the user via settings menu or console variable
2727 Client = 3 , // Frame rate limit enforced by the client (e.g., script)
2828 Server = 4 // Frame rate limit enforced by the server
2929 };
30+ DECLARE_ENUM (EnforcerType);
3031
3132 // Frame rate limit values (kept as constexpr for numerical flexibility)
32- constexpr uint32_t FPS_LIMIT_MAX = 1000 ; // Maximum allowed frame rate limit
33- constexpr uint32_t FPS_LIMIT_MIN = 25 ; // Minimum allowed frame rate limit
34- constexpr uint32_t FPS_LIMIT_DEFAULT = 60 ; // Default frame rate limit
35- constexpr uint32_t FPS_LIMIT_UNLIMITED = 0 ; // Unlimited frame rate (no limit)
33+ constexpr std:: uint32_t FPS_LIMIT_MAX = 1000 ; // Maximum allowed frame rate limit
34+ constexpr std:: uint32_t FPS_LIMIT_MIN = 25 ; // Minimum allowed frame rate limit
35+ constexpr std:: uint32_t FPS_LIMIT_DEFAULT = 60 ; // Default frame rate limit
36+ constexpr std:: uint32_t FPS_LIMIT_UNLIMITED = 0 ; // Unlimited frame rate (no limit)
3637
3738 class FPSLimiterInterface
3839 {
@@ -42,13 +43,13 @@ namespace FPSLimiter
4243 public:
4344 virtual void Reset () = 0; // Reset all frame rate limits to default (unlimited)
4445
45- virtual uint32_t GetFPSTarget () const noexcept = 0; // Get the current active frame rate limit (0 = no limit)
46- virtual EnforcerType GetEnforcer () const noexcept = 0; // Get who is enforcing the current frame rate limit (as uint8_t from EnforcerType)
46+ virtual std:: uint32_t GetFPSTarget () const noexcept = 0; // Get the current active frame rate limit (0 = no limit)
47+ virtual EnforcerType GetEnforcer () const noexcept = 0; // Get who is enforcing the current frame rate limit (as uint8_t from EnforcerType)
4748
48- virtual void SetServerEnforcedFPS (uint32_t frameRateLimit) = 0; // Set the server-enforced frame rate limit (0 = no limit)
49- virtual void SetClientEnforcedFPS (uint32_t frameRateLimit) = 0; // Set the client-enforced frame rate limit (0 = no limit)
50- virtual void SetUserDefinedFPS (uint32_t frameRateLimit) = 0; // Set the user-defined frame rate limit (0 = no limit)
51- virtual void SetDisplayRefreshRate (uint32_t refreshRate) = 0; // Set the display refresh rate to cap FPS (0 = no cap)
49+ virtual void SetServerEnforcedFPS (std:: uint32_t frameRateLimit) = 0; // Set the server-enforced frame rate limit (0 = no limit)
50+ virtual void SetClientEnforcedFPS (std:: uint32_t frameRateLimit) = 0; // Set the client-enforced frame rate limit (0 = no limit)
51+ virtual void SetUserDefinedFPS (std:: uint32_t frameRateLimit) = 0; // Set the user-defined frame rate limit (0 = no limit)
52+ virtual void SetDisplayRefreshRate (std:: uint32_t refreshRate) = 0; // Set the display refresh rate to cap FPS (0 = no cap)
5253
5354 virtual void OnFPSLimitChange () = 0; // Event handler called when the active frame rate limit changes
5455 virtual void OnFrameStart () = 0; // Event handler called at the start of each frame
0 commit comments