From 6d3adc616935c91bb187a9e95eed448ce89e6458 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Wed, 20 Nov 2024 22:16:14 +0000 Subject: [PATCH] Codechange: Remove ZeroedMemoryAllocator from ScriptText. (#13108) ScriptText is much simplified from its original design. Use member initialisation instead. --- src/script/api/script_text.cpp | 7 +------ src/script/api/script_text.hpp | 15 +++++++-------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/script/api/script_text.cpp b/src/script/api/script_text.cpp index cff3d4dfd3..e7a2d2dbc9 100644 --- a/src/script/api/script_text.cpp +++ b/src/script/api/script_text.cpp @@ -20,13 +20,8 @@ #include "../../safeguards.h" -RawText::RawText(const std::string &text) : text(text) -{ -} - -ScriptText::ScriptText(HSQUIRRELVM vm) : - ZeroedMemoryAllocator() +ScriptText::ScriptText(HSQUIRRELVM vm) { int nparam = sq_gettop(vm) - 1; if (nparam < 1) { diff --git a/src/script/api/script_text.hpp b/src/script/api/script_text.hpp index 5cc3a52fe3..03715398f3 100644 --- a/src/script/api/script_text.hpp +++ b/src/script/api/script_text.hpp @@ -11,7 +11,6 @@ #define SCRIPT_TEXT_HPP #include "script_object.hpp" -#include "../../core/alloc_type.hpp" #include @@ -42,7 +41,7 @@ public: */ class RawText : public Text { public: - RawText(const std::string &text); + RawText(const std::string &text) : text(text) {} std::string GetEncodedText() override { return this->text; } private: @@ -72,7 +71,7 @@ private: * * @api game */ -class ScriptText : public Text , public ZeroedMemoryAllocator { +class ScriptText : public Text { public: static const int SCRIPT_TEXT_MAX_PARAMETERS = 20; ///< The maximum amount of parameters you can give to one object. @@ -136,10 +135,10 @@ private: StringID owner; int idx; Param *param; - bool used; - const char *cmd; + bool used = false; + const char *cmd = nullptr; - ParamCheck(StringID owner, int idx, Param *param) : owner(owner), idx(idx), param(param), used(false), cmd(nullptr) {} + ParamCheck(StringID owner, int idx, Param *param) : owner(owner), idx(idx), param(param) {} void Encode(std::back_insert_iterator &output, const char *cmd); }; @@ -148,8 +147,8 @@ private: using ParamSpan = std::span; StringID string; - Param param[SCRIPT_TEXT_MAX_PARAMETERS]; - int paramc; + std::array param = {}; + int paramc = 0; /** * Internal function to recursively fill a list of parameters.