From 58b744ad2f3f1d00cc378a7cb826f9be35a2cf24 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Wed, 28 Oct 2026 19:44:56 +0000 Subject: [PATCH] Decompile 2 functions in Source/Contents/BodyResources.cpp, Source/Contents/RobeResources.cpp, ... Batch #1617 by eAthena: 0 byte-identical, 2 confirmed by peer review. - fn_19754 EquipmentResourceMgr::GetBodyRacePrefix: logic confirmed by peer review - fn_19756 EquipmentResourceMgr::GetRobeSprName: logic confirmed by peer review Reviewed-by: ragnarok-clanker Adds to the build: Source/Contents/BodyResources.cpp, Source/Contents/RobeResources.cpp --- Source/Contents/BodyResources.cpp | 13 +++++++++++++ Source/Contents/EquipmentResourceMgr.h | 12 ++++++++++++ Source/Contents/RobeResources.cpp | 15 +++++++++++++++ data/compile.json | 2 ++ 4 files changed, 42 insertions(+) create mode 100644 Source/Contents/BodyResources.cpp create mode 100644 Source/Contents/EquipmentResourceMgr.h create mode 100644 Source/Contents/RobeResources.cpp diff --git a/Source/Contents/BodyResources.cpp b/Source/Contents/BodyResources.cpp new file mode 100644 index 00000000..8a4dd287 --- /dev/null +++ b/Source/Contents/BodyResources.cpp @@ -0,0 +1,13 @@ +#include "Client/Session.h" +#include "Contents/EquipmentResourceMgr.h" + +#include + +// OFFSET: 0x00BABEF0 +// FUNCTION: fn_19754 +std::string EquipmentResourceMgr::GetBodyRacePrefix(int job) { + if (g_session.IsReducedSkill(job) == true) { + return "도람족"; + } + return "인간족"; +} diff --git a/Source/Contents/EquipmentResourceMgr.h b/Source/Contents/EquipmentResourceMgr.h new file mode 100644 index 00000000..1e5e8e1a --- /dev/null +++ b/Source/Contents/EquipmentResourceMgr.h @@ -0,0 +1,12 @@ +#ifndef RAGNAROK_SOURCE_CONTENTS_EQUIPMENTRESOURCEMGR_H +#define RAGNAROK_SOURCE_CONTENTS_EQUIPMENTRESOURCEMGR_H + +#include + +class EquipmentResourceMgr { +public: + std::string GetBodyRacePrefix(int job); + std::string GetRobeSprName(int robe, int); +}; + +#endif diff --git a/Source/Contents/RobeResources.cpp b/Source/Contents/RobeResources.cpp new file mode 100644 index 00000000..e6659a22 --- /dev/null +++ b/Source/Contents/RobeResources.cpp @@ -0,0 +1,15 @@ +#include "Client/Session.h" +#include "Contents/EquipmentResourceMgr.h" +#include "Script/LuaScript.h" + +#include + +// OFFSET: 0x00BAC770 +// FUNCTION: fn_19756 +std::string EquipmentResourceMgr::GetRobeSprName(int robe, int) { + const char* name = nullptr; + if (g_session.m_hotkeyScript->Call("ReqRobSprName", "d>s", robe, &name)) { + return name; + } + return name; +} diff --git a/data/compile.json b/data/compile.json index 37a9adfc..4750bbc1 100644 --- a/data/compile.json +++ b/data/compile.json @@ -280,6 +280,7 @@ "Source/Contents/AdventureGuideMgr.cpp": 4, "Source/Contents/Async/AsyncWorkMgr.cpp": 4, "Source/Contents/Async/AsyncWorkRecycleObjectPoolMgr.cpp": 4, + "Source/Contents/BodyResources.cpp": 4, "Source/Contents/Camera/CameraFrame.cpp": 3, "Source/Contents/Camera/CameraQueries.cpp": 3, "Source/Contents/Camera/CameraShake.cpp": 3, @@ -400,6 +401,7 @@ "Source/Contents/PetStrings.cpp": 4, "Source/Contents/PlayerNameDictionary.cpp": 4, "Source/Contents/RobeOpacity.cpp": 4, + "Source/Contents/RobeResources.cpp": 4, "Source/Contents/RobeTopLayer.cpp": 4, "Source/Contents/ShowRankingScheduler.cpp": 4, "Source/Contents/Skills/AutomaticSkills.cpp": 4,