From 7d67c36f46a2283dbaf4df968bb65aae2271f69b Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Sat, 31 Oct 2026 18:35:17 +0000 Subject: [PATCH] Decompile fn_24379 (RegisterLowercaseName) Batch #8510 by dori: 0 byte-identical, 1 confirmed by peer review. - fn_24379 RegisterLowercaseName: logic confirmed by peer review Peer-reviewed-by: eAthena, SapitoSucio Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Contents/MapSkyMgr.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/Source/Contents/MapSkyMgr.cpp b/Source/Contents/MapSkyMgr.cpp index 9df6a06b..2d168c78 100644 --- a/Source/Contents/MapSkyMgr.cpp +++ b/Source/Contents/MapSkyMgr.cpp @@ -11,6 +11,7 @@ #include "Resource/World/TerrainResource.h" #include "Utility/Math/AffineMatrix.h" +#include #include #include @@ -41,6 +42,11 @@ CWeatherEffect g_weatherEffect; // GLOBAL: gl_24633 float g_depthAverageHalf = 0.5f; +// GLOBAL: gl_25254 +std::vector g_registeredLowercaseNames; + +static_assert(sizeof(std::vector) == 12); + // OFFSET: 0x005B8D50 // FUNCTION: fn_03431 CMapSkyMgr::CMapSkyMgr() : m_script(nullptr) { @@ -469,3 +475,24 @@ CMapSkyMgr* GetMapSkyMgr() { // FUNCTION: fn_24378 void IgnoreNull() { } + +// OFFSET: 0x00E5D110 +// FUNCTION: fn_24379 +void RegisterLowercaseName(const char* name) { + if (!name) { + return; + } + + std::string lowered(name); + for (char& character : lowered) { + character = static_cast(std::tolower(static_cast(character))); + } + + for (const std::string& entry : g_registeredLowercaseNames) { + if (entry == lowered) { + return; + } + } + + g_registeredLowercaseNames.push_back(lowered.c_str()); +}