From 19542a234e0dbbe4b696fd39a1d8643db81b1a06 Mon Sep 17 00:00:00 2001 From: ricardoofnl Date: Sat, 18 Jul 2026 15:13:39 +0700 Subject: [PATCH] [saco] Implement/match `cmdSetFrameLimit` --- saco/cmdprocs.cpp | 15 ++++++++++++++- saco/game/game.h | 2 ++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/saco/cmdprocs.cpp b/saco/cmdprocs.cpp index b3d287e..e339d88 100644 --- a/saco/cmdprocs.cpp +++ b/saco/cmdprocs.cpp @@ -139,7 +139,20 @@ void cmdMem(PCHAR szCmd) void cmdSetFrameLimit(PCHAR szCmd) { - // TODO: cmdSetFrameLimit .text:100688D0 + if(strlen(szCmd)) + { + unsigned int uiLimit = atoi(szCmd); + if(uiLimit >= 20 && uiLimit <= 90) + { + pGame->SetFrameLimiter(uiLimit); + if(pConfig) pConfig->SetIntVariable("fpslimit", uiLimit); + pChatWindow->AddInfoMessage("-> Frame Limiter: %u", uiLimit); + } + else + { + pChatWindow->AddInfoMessage("-> Frame Limiter: valid amounts are 20-90", uiLimit); + } + } } void cmdHeadMove(PCHAR szCmd) diff --git a/saco/game/game.h b/saco/game/game.h index 907cf13..da66354 100644 --- a/saco/game/game.h +++ b/saco/game/game.h @@ -56,6 +56,8 @@ public: void InitGame(); BOOL IsGameLoaded(); + void SetFrameLimiter(int iLimit); // .text:100A0BB0 + void RequestModel(int iModelID, int iLoadingStream = 2); void LoadRequestedModels(); BOOL IsModelLoaded(int iModelID);