From 916e21db3c152016b1928fb321469f499b6a3391 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Thu, 29 Oct 2026 21:32:43 +0000 Subject: [PATCH] Decompile fn_23914 (CSession::SetHotkeyDescription) Batch #3347 by youko: 0 byte-identical, 1 confirmed by peer review. - fn_23914 CSession::SetHotkeyDescription: logic confirmed by peer review Peer-reviewed-by: eAthena, meitogi Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Contents/ClientTiming.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Source/Contents/ClientTiming.cpp b/Source/Contents/ClientTiming.cpp index 56a1cb1e..5d8e82e4 100644 --- a/Source/Contents/ClientTiming.cpp +++ b/Source/Contents/ClientTiming.cpp @@ -456,6 +456,23 @@ void CSession::SetHotkeyDescription(const char* description, int index) { } // OFFSET: 0x00E26430 +// FUNCTION: fn_23914 +void CSession::SetHotkeyDescription(const char* description, std::uint32_t skillLevel, int index) { + for (int slot = 9 * this->m_hotkeyPage; slot < 9 * (this->m_hotkeyPage + 1); ++slot) { + if (this->m_hotkeyDescriptions[slot] == description && this->unknown_0420[slot] == skillLevel) { + this->m_hotkeyDescriptions[slot] = "nothing"; + this->unknown_0420[slot] = 0; + } + } + + if (std::strlen(description) == 0) { + this->m_hotkeyDescriptions[index] = "nothing"; + this->unknown_0420[index] = 0; + } else { + this->m_hotkeyDescriptions[index] = description; + this->unknown_0420[index] = skillLevel; + } +} // OFFSET: 0x00E26540