Decompile 18 functions in Source/Client/Session.h, Source/Contents/Messenger/MessengerMember.h, ...

Batch #13823 by eAthena: 17 byte-identical, 1 confirmed by peer review.

- fn_05622 EquipmentProperties::CEquipment::CallOnStartEquip: byte-identical
- fn_06190 EquipmentProperties::CEquipmentPropertiesMgr::HasUnknown0194: byte-identical
- fn_05925 CLuaInstance::GetFieldUIntArray: logic confirmed by peer review
- fn_23454 CSession::PartyByName: byte-identical
- fn_23452 CSession::PartyByAccount: byte-identical
- fn_23455 CSession::PartyAt: byte-identical
- fn_23372 CSession::FriendAt: byte-identical
- fn_23832 CSession::FindGroupedSkill: byte-identical
- fn_17262 UIWindowMgr::RetireTransientWindow: byte-identical
- fn_07695 MessengerMember::MessengerMember: byte-identical
- fn_07696 MessengerMember::MessengerMember: byte-identical
- fn_23835 CSession::InheritedJob: byte-identical
- fn_23803 CSession::GetWeaponName: byte-identical
- fn_23839 CSession::GetWeaponEffectSprName: byte-identical
- fn_23840 CSession::GetWeaponSprName: byte-identical
- fn_23339 CSession::RemoveItem1710: byte-identical
- fn_23300 CSession::GetEquipSlots: byte-identical
- fn_18348 AddNeededSkill: byte-identical

Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
This commit is contained in:
ragnarok-clanker 2026-11-06 22:19:59 +00:00
commit 83ea3de051
7 changed files with 59 additions and 60 deletions

View file

@ -664,9 +664,9 @@ __declspec(noinline) bool __stdcall IsPlayerJob(int job) {
// OFFSET: 0x00E19110
// FUNCTION: fn_23835
int CSession::InheritedJob(int job) {
const int inherited = this->m_hotkeyScript->TableInteger("JobInheritTable", 0, job);
const int replacement = this->m_hotkeyScript->TableInteger("JOB_INHERIT_LIST2", 0, inherited);
return replacement == -1 ? inherited : replacement;
job = this->m_hotkeyScript->TableInteger("JobInheritTable", 0, job);
const int replacement = this->m_hotkeyScript->TableInteger("JOB_INHERIT_LIST2", 0, job);
return replacement != -1 ? replacement : job;
}
// OFFSET: 0x00E25B70
@ -999,11 +999,11 @@ bool __stdcall IsJobWeaponAllowed(int job, int slot, std::int64_t weapon) {
// FUNCTION: fn_23803
std::string CSession::GetWeaponName(int weapon) {
const unsigned index = GetRealWeaponId(weapon);
if (index < static_cast<unsigned>(this->m_weaponNamesEnd - this->m_weaponNamesBegin)) {
return this->m_weaponNamesBegin[index];
if (index >= static_cast<unsigned>(this->m_weaponNamesEnd - this->m_weaponNamesBegin)) {
return this->m_weaponNamesBegin[0];
}
return this->m_weaponNamesBegin[0];
return this->m_weaponNamesBegin[index];
}
// OFFSET: 0x00DE3800
@ -1082,15 +1082,13 @@ std::string CSession::GetWeaponEffectActName(int job, int sex, int weapon, int w
// OFFSET: 0x00E19450
// FUNCTION: fn_23839
std::string CSession::GetWeaponEffectSprName(int job, int sex, int weapon, int weaponItem, int effect, int costume) {
std::string name = g_equipmentResourceMgr->GetWeaponEffectResourceName(1, job, sex, weapon, weaponItem, effect, costume);
return name;
return g_equipmentResourceMgr->GetWeaponEffectResourceName(1, job, sex, weapon, weaponItem, effect, costume);
}
// OFFSET: 0x00E194C0
// FUNCTION: fn_23840
std::string CSession::GetWeaponSprName(int job, int sex, int weapon, int weaponItem, int costume) {
std::string name = g_equipmentResourceMgr->GetWeaponResourceName(1, job, sex, weapon, weaponItem, costume);
return name;
return g_equipmentResourceMgr->GetWeaponResourceName(1, job, sex, weapon, weaponItem, costume);
}
// OFFSET: 0x00DFBE10