mirror of
https://github.com/Mr-X-GTA/YimMenu.git
synced 2025-06-23 01:02:23 +08:00
refactor(CustomText): Changed custom_text global to be static
This commit is contained in:
@ -2,34 +2,24 @@
|
||||
|
||||
namespace big
|
||||
{
|
||||
custom_text::custom_text()
|
||||
{
|
||||
g_custom_text = this;
|
||||
}
|
||||
|
||||
custom_text::~custom_text()
|
||||
{
|
||||
g_custom_text = nullptr;
|
||||
}
|
||||
|
||||
void custom_text::add_text(Hash hash, const char* text)
|
||||
{
|
||||
auto size = strlen(text) + 1;
|
||||
auto buffer = std::make_unique<char[]>(size);
|
||||
std::copy_n(text, size, buffer.get());
|
||||
|
||||
this->m_text_map.emplace(hash, std::move(buffer));
|
||||
custom_text::m_text_map.emplace(hash, std::move(buffer));
|
||||
}
|
||||
|
||||
const char* custom_text::get_text(Hash hash)
|
||||
{
|
||||
if (auto it = this->m_text_map.find(hash); it != m_text_map.end())
|
||||
if (auto it = custom_text::m_text_map.find(hash); it != custom_text::m_text_map.end())
|
||||
return it->second.get();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void custom_text::remove_text(Hash hash)
|
||||
{
|
||||
this->m_text_map.erase(hash);
|
||||
custom_text::m_text_map.erase(hash);
|
||||
}
|
||||
}
|
@ -4,17 +4,13 @@ namespace big
|
||||
{
|
||||
class custom_text
|
||||
{
|
||||
public:
|
||||
explicit custom_text();
|
||||
~custom_text();
|
||||
|
||||
void add_text(Hash hash, const char* text);
|
||||
const char* get_text(Hash hash);
|
||||
void remove_text(Hash hash);
|
||||
|
||||
private:
|
||||
std::unordered_map<Hash, std::unique_ptr<char[]>> m_text_map;
|
||||
};
|
||||
inline static std::unordered_map<Hash, std::unique_ptr<char[]>> m_text_map;
|
||||
|
||||
inline custom_text* g_custom_text{};
|
||||
public:
|
||||
static void add_text(Hash hash, const char* text);
|
||||
static const char* get_text(Hash hash);
|
||||
static void remove_text(Hash hash);
|
||||
|
||||
};
|
||||
}
|
@ -126,14 +126,14 @@ namespace big
|
||||
|
||||
void gui::script_init()
|
||||
{
|
||||
g_custom_text->add_text(RAGE_JOAAT("LOADING_SPLAYER_L"), "Preparing for awesomeness.");
|
||||
g_custom_text->add_text(RAGE_JOAAT("HUD_JOINING"), "Yim's Menu");
|
||||
g_custom_text->add_text(RAGE_JOAAT("HUD_TRANSP"), "Transaction's fucked...");
|
||||
g_custom_text->add_text(RAGE_JOAAT("HUD_QUITTING"), "Leaving are we?");
|
||||
custom_text::add_text(RAGE_JOAAT("LOADING_SPLAYER_L"), "Preparing for awesomeness.");
|
||||
custom_text::add_text(RAGE_JOAAT("HUD_JOINING"), "Yim's Menu");
|
||||
custom_text::add_text(RAGE_JOAAT("HUD_TRANSP"), "Transaction's fucked...");
|
||||
custom_text::add_text(RAGE_JOAAT("HUD_QUITTING"), "Leaving are we?");
|
||||
|
||||
g_custom_text->add_text(RAGE_JOAAT("HUD_QUITRACE"), "Are you a pussy?");
|
||||
custom_text::add_text(RAGE_JOAAT("HUD_QUITRACE"), "Are you a pussy?");
|
||||
|
||||
g_custom_text->add_text(RAGE_JOAAT("HUD_SAVDNWARN"), "Rockstar crashed their toaster again...");
|
||||
custom_text::add_text(RAGE_JOAAT("HUD_SAVDNWARN"), "Rockstar crashed their toaster again...");
|
||||
|
||||
notify::above_map("Yim's Menu is ready.");
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ namespace big
|
||||
const char* hooks::get_label_text(void* unk, const char* label)
|
||||
{
|
||||
if (g_running)
|
||||
if (auto text = g_custom_text->get_text(rage::joaat(label)))
|
||||
if (auto text = custom_text::get_text(rage::joaat(label)))
|
||||
return text;
|
||||
|
||||
return g_hooking->m_get_label_text_hook.get_original<decltype(&get_label_text)>()(unk, label);
|
||||
|
@ -1,6 +1,5 @@
|
||||
#include "common.hpp"
|
||||
#include "features.hpp"
|
||||
#include "features/custom_text.hpp"
|
||||
#include "fiber_pool.hpp"
|
||||
#include "gui.hpp"
|
||||
#include "logger.hpp"
|
||||
@ -46,9 +45,6 @@ BOOL APIENTRY DllMain(HMODULE hmod, DWORD reason, PVOID)
|
||||
auto hooking_instance = std::make_unique<hooking>();
|
||||
LOG(INFO) << "Hooking initialized.";
|
||||
|
||||
auto custom_text_instance = std::make_unique<custom_text>();
|
||||
LOG(INFO) << "Custom Text Initialized.";
|
||||
|
||||
g_settings.load();
|
||||
LOG(INFO) << "Settings Loaded.";
|
||||
|
||||
|
Reference in New Issue
Block a user