diff --git a/Source/Contents/SimpleStringMgr.cpp b/Source/Contents/SimpleStringMgr.cpp index 5e2ce4d2..8de16bfd 100644 --- a/Source/Contents/SimpleStringMgr.cpp +++ b/Source/Contents/SimpleStringMgr.cpp @@ -3,6 +3,7 @@ #include "Utility/Text/StringUtil.h" #include +#include #include // GLOBAL: gl_24840 @@ -11,6 +12,27 @@ CSimpleStringMgr* g_simpleStringMgr = nullptr; // GLOBAL: gl_24863 static CCommonObject g_simpleStringObject; +// OFFSET: 0x007A9580 +// FUNCTION: fn_09076 +bool CSimpleStringMgr::Create() { + if (g_simpleStringMgr) { + return false; + } + + g_simpleStringMgr = new (std::nothrow) CSimpleStringMgr(); + if (!g_simpleStringMgr) { + return false; + } + + if (!g_simpleStringMgr->m_initialized) { + delete g_simpleStringMgr; + g_simpleStringMgr = nullptr; + return false; + } + + return true; +} + // OFFSET: 0x007A96A0 // FUNCTION: fn_09077 void CSimpleStringMgr::Destroy() { diff --git a/Source/Contents/SimpleStringMgr.h b/Source/Contents/SimpleStringMgr.h index 70b53570..28547a6a 100644 --- a/Source/Contents/SimpleStringMgr.h +++ b/Source/Contents/SimpleStringMgr.h @@ -21,6 +21,10 @@ public: } }; + // INLINED + CSimpleStringMgr() : m_initialized(true) { + } + virtual ~CSimpleStringMgr() { }