Decompile 4 functions in Source/Contents/Jobs/JobInheritance.cpp, Source/Contents/Jobs/JobInheritance.h, ...

Batch #1470 by ragnarok-clanker: 0 byte-identical, 4 confirmed by peer review.

- fn_23590 IsVisibleJob: logic confirmed by peer review
- fn_23841 GetWeaponViewValue: logic confirmed by peer review
- fn_23906 ResetHotkeySlots: logic confirmed by peer review
- fn_23910 CSession::SetPairValue: logic confirmed by peer review

Peer-reviewed-by: Kisuka, eAthena
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-10-28 14:13:00 +00:00
commit 447fa8b9f6
3 changed files with 87 additions and 1 deletions

View file

@ -93,7 +93,9 @@ public:
/* 5558 */ int unknown_5558;
/* 555C */ unsigned char unknown_555C[0x47C];
/* 59D8 */ LuaScript* m_hotkeyScript;
/* 59DC */ unsigned char unknown_59DC[0x28C];
/* 59DC */ unsigned char unknown_59DC[0x218];
/* 5BF4 */ int m_pairValues[3];
/* 5C00 */ unsigned char unknown_5C00[0x68];
/* 5C68 */ ItemInfo unknown_5C68[5];
/* 6140 */ std::uint16_t unknown_6140;
/* 6144 */ std::map<int, SessionRecord6144> unknown_6144;
@ -124,6 +126,14 @@ public:
void ClearUnknown1740(int id);
void ClearUnknown1738(int id);
std::uint32_t SyncServerTime(std::uint32_t serverTime);
std::pair<int, int>* InsertPair(int key, int value);
int SetPairValue(int value, int slot);
int SetHotkeyEntry(char enabled, int id, int value, int slot);
int SetFlag(char value);
// INLINED
NormalItemSlot& SkillHotkey(int index) {
return reinterpret_cast<NormalItemSlot*>(reinterpret_cast<unsigned char*>(this) + offsetof(CSession, unknown_06EB))[index];
}
int GetPetFood(int job);
void GetPetIllustName(int job, int, char* buffer);
int GetPetJobByEggItem(int eggItemId);
@ -178,6 +188,7 @@ static_assert(offsetof(SessionRecord6144, unknown_0030) == 0x30);
static_assert(offsetof(CSession, m_additionalSkills) == 0x4);
static_assert(offsetof(CSession, m_level) == 0x1650);
static_assert(offsetof(CSession, m_hotkeyPage) == 0xBC);
static_assert(offsetof(CSession, m_pairValues) == 0x5BF4);
static_assert(offsetof(CSession, m_hotkeyDescriptions) == 0xC0);
static_assert(offsetof(CSession, m_serverTimeOffset) == 0x794);
static_assert(offsetof(CSession, m_serverTimeAdjustCount) == 0x798);