From f975f8eca84e7aae947e90d3b4ddf2cf056e3b8a Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Tue, 3 Nov 2026 12:15:09 +0000 Subject: [PATCH] Maintenance: [forced, user-approved] Family G25: remove JobNameInitialization (inventory row 72). CSession::InitJobNameTable 0xDE67E0 Batch #10248 by ragnarok-clanker: forced by an admin (0 lower score(s), 3 changed function(s)); checked with 241 compiled unit(s), including every includer of Source/Client/Session.h, Source/Contents/Jobs/JobNames.h. --- Source/Client/Session.cpp | 9 +------ Source/Client/Session.h | 5 ++-- .../Contents/Jobs/JobNameInitialization.cpp | 24 +++++++++---------- Source/Contents/Jobs/JobNames.h | 13 ---------- 4 files changed, 15 insertions(+), 36 deletions(-) diff --git a/Source/Client/Session.cpp b/Source/Client/Session.cpp index cd3a4ec7..1684800b 100644 --- a/Source/Client/Session.cpp +++ b/Source/Client/Session.cpp @@ -7070,14 +7070,7 @@ void SessionMessengerContext::sub_DF33B0() { session->LoadLuaDataFiles(); session->InitWeaponHitWaveNames(); session->InitResourceNameTables(); - JobNameInitialization jobNames{*session->m_hotkeyScript, - *g_luaScript, - reinterpret_cast&>(session->unknown_0FC4[0x08]), - *reinterpret_cast*>(session->unknown_0710), - session->m_skillBundle.unknown_0064, - session->m_mercSkillLevels, - session->m_homunSkillLevels}; - session->InitJobNameTable(jobNames); + session->InitJobNameTable(); session->InitNpcLocationRadius(); session->InitCommandTables(); session->ResetCharacterState(); diff --git a/Source/Client/Session.h b/Source/Client/Session.h index f01de9c2..139376e4 100644 --- a/Source/Client/Session.h +++ b/Source/Client/Session.h @@ -33,7 +33,6 @@ class CFile; class CGameActor; class CRenderObject; class LuaScript; -struct JobNameInitialization; struct ActionFrame; struct vector3d; @@ -201,7 +200,7 @@ public: /* 06FC */ int unknown_06FC; /* 0700 */ std::map unknown_0700; /* 0708 */ std::map unknown_0708; - /* 0710 */ unsigned char unknown_0710[0x0C]; + /* 0710 */ std::vector unknown_0710; /* 071C */ std::vector m_homunSkillLevels; /* 0728 */ std::vector m_mercSkillLevels; /* 0734 */ std::list unknown_0734; @@ -887,7 +886,7 @@ public: bool sub_E1DE30(std::uint32_t aid); int sub_DDD2C0(const ITEM_INFO& item); const char* GetJobName(unsigned job, int sex); - void InitJobNameTable(JobNameInitialization& context); + void InitJobNameTable(); int SyncUnknown0E98(); void LoadXmlTables(); void LoadExternalSettings(); diff --git a/Source/Contents/Jobs/JobNameInitialization.cpp b/Source/Contents/Jobs/JobNameInitialization.cpp index ce8036fb..3987f80b 100644 --- a/Source/Contents/Jobs/JobNameInitialization.cpp +++ b/Source/Contents/Jobs/JobNameInitialization.cpp @@ -6,21 +6,21 @@ // OFFSET: 0x00DE67E0 // FUNCTION: fn_23495 -void CSession::InitJobNameTable(JobNameInitialization& context) { +void CSession::InitJobNameTable() { this->m_jobNameTable.resize(32003, "Poring"); const char* name = nullptr; const auto player = [&](int first, int end) { for (int id = first; id < end; ++id) { - if (context.playerScript.Call("ReqPCJobName", "d>s", id, &name) && *name != '\0') { + if (this->m_hotkeyScript->Call("ReqPCJobName", "d>s", id, &name) && *name != '\0') { this->m_jobNameTable[id] = name; } - if (context.playerScript.Call("ReqPCJobNameMan", "d>s", id, &name) && *name != '\0') { + if (this->m_hotkeyScript->Call("ReqPCJobNameMan", "d>s", id, &name) && *name != '\0') { this->m_jobNameTableMan[id] = name; } - if (context.playerScript.Call("ReqPCJobNameWoman", "d>s", id, &name) && *name != '\0') { + if (this->m_hotkeyScript->Call("ReqPCJobNameWoman", "d>s", id, &name) && *name != '\0') { this->m_jobNameTableWoman[id] = name; } } @@ -33,7 +33,7 @@ void CSession::InitJobNameTable(JobNameInitialization& context) { const auto other = [&](int first, int end) { for (int id = first; id < end; ++id) { - context.otherScript.Call("ReqJobName", "d>s", id, &this->m_jobNameTable[id]); + g_luaScript->Call("ReqJobName", "d>s", id, &this->m_jobNameTable[id]); } }; @@ -68,11 +68,11 @@ void CSession::InitJobNameTable(JobNameInitialization& context) { this->m_jobNameTable[id] = "남\\검용병"; } - context.sexLabels.resize(2, "F"); - context.sexLabels[0] = "F"; - context.sexLabels[1] = "M"; - context.levels20.resize(20, 0); - context.useLevels.resize(7999, 0); - context.otherLevels.resize(258, 0); - context.homunculusLevels.resize(61, 0); + this->m_sexLabels.resize(2, "F"); + this->m_sexLabels[0] = "F"; + this->m_sexLabels[1] = "M"; + this->unknown_0710.resize(20, 0); + this->m_skillBundle.unknown_0064.resize(7999, 0); + this->m_mercSkillLevels.resize(258, 0); + this->m_homunSkillLevels.resize(61, 0); } diff --git a/Source/Contents/Jobs/JobNames.h b/Source/Contents/Jobs/JobNames.h index 589cc14f..f14fdad2 100644 --- a/Source/Contents/Jobs/JobNames.h +++ b/Source/Contents/Jobs/JobNames.h @@ -1,19 +1,6 @@ #ifndef RAGNAROK_SOURCE_CONTENTS_JOBS_JOBNAMES_H #define RAGNAROK_SOURCE_CONTENTS_JOBS_JOBNAMES_H -#include - -class LuaScript; - -struct JobNameInitialization { - LuaScript& playerScript; - LuaScript& otherScript; - std::vector& sexLabels; - std::vector& levels20; - std::vector& useLevels; - std::vector& otherLevels; - std::vector& homunculusLevels; -}; struct JobNames { static unsigned BaseJob(unsigned job);