From 26f2e330082ccfdab36e75d60cf0f8e8b07640ac Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Thu, 29 Oct 2026 18:25:09 +0000 Subject: [PATCH] Decompile fn_13663 (QuestDisplayInfo::IsValid) Batch #2687 by youko: 1 byte-identical, 0 confirmed by peer review. - fn_13663 QuestDisplayInfo::IsValid: byte-identical Merged automatically: every function is byte-identical to the original. --- Source/Contents/UserData/NormalItemSlots.cpp | 88 ++++++++++++++++++++ Source/Contents/UserData/NormalItemSlots.h | 42 ++++++++++ 2 files changed, 130 insertions(+) diff --git a/Source/Contents/UserData/NormalItemSlots.cpp b/Source/Contents/UserData/NormalItemSlots.cpp index f6c39991..cc87ebd9 100644 --- a/Source/Contents/UserData/NormalItemSlots.cpp +++ b/Source/Contents/UserData/NormalItemSlots.cpp @@ -55,6 +55,94 @@ void ExportNormalItemSlots(Json::Value& data, const NormalItemSlot* slots, const data["ItemSlotActive"] = active; } +// OFFSET: 0x009A50E0 + +// OFFSET: 0x009A5120 + +// OFFSET: 0x009A51D0 + +// OFFSET: 0x009A5210 + +// OFFSET: 0x009A5260 + +// OFFSET: 0x009A52B0 + +// OFFSET: 0x009A5300 + +// OFFSET: 0x009A53A0 + +// OFFSET: 0x009A5460 + +// OFFSET: 0x009A5500 + +// OFFSET: 0x009A5540 + +// OFFSET: 0x009A5590 + +// OFFSET: 0x009A55D0 + +// OFFSET: 0x009A5620 + +// OFFSET: 0x009A5670 + +// OFFSET: 0x009A56C0 + +// OFFSET: 0x009A5710 + +// OFFSET: 0x009A5760 + +// OFFSET: 0x009A57B0 + +// OFFSET: 0x009A5800 + +// OFFSET: 0x009A5850 + +// OFFSET: 0x009A58A0 + +// OFFSET: 0x009A58F0 + +// OFFSET: 0x009A5940 + +// OFFSET: 0x009A5980 + +// OFFSET: 0x009A59C0 + +// OFFSET: 0x009A5A00 + +// OFFSET: 0x009A5A50 + +// OFFSET: 0x009A5AA0 + +// OFFSET: 0x009A5B00 + +// OFFSET: 0x009A5B50 + +// OFFSET: 0x009A5BA0 + +// OFFSET: 0x009A5BF0 + +// OFFSET: 0x009A5C50 + +// OFFSET: 0x009A5D10 + +// OFFSET: 0x009A5D60 + +// OFFSET: 0x009A5DB0 + +// OFFSET: 0x009A5E00 + +// OFFSET: 0x009A5E50 + +// OFFSET: 0x009A5EA0 + +// OFFSET: 0x009A5EE0 +// FUNCTION: fn_13663 +int QuestDisplayInfo::IsValid() const { + return 1; +} + +// OFFSET: 0x009A5F30 + // OFFSET: 0x009A6110 // FUNCTION: fn_13668 int SkillListWndInfo::IsValid() const { diff --git a/Source/Contents/UserData/NormalItemSlots.h b/Source/Contents/UserData/NormalItemSlots.h index cef358bc..8c8b0c14 100644 --- a/Source/Contents/UserData/NormalItemSlots.h +++ b/Source/Contents/UserData/NormalItemSlots.h @@ -82,6 +82,7 @@ struct PreviewEquipWndInfo : WindowPlacement { struct AchTracingWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct BasicInfoWndInfo : WindowPlacement { @@ -91,26 +92,32 @@ struct BasicInfoWndInfo : WindowPlacement { /* 0013 */ unsigned char unknown_0013; void Reset(); + int IsValid(); }; struct CashEmotionListWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct ChatRoomWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct ChooseWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct ClanWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct CombinedCardItemCollectionWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct UnusedWndInfoA : WindowPlacement { @@ -119,6 +126,7 @@ struct UnusedWndInfoA : WindowPlacement { struct EmotionWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct EquipWndInfo : WindowPlacement { @@ -130,6 +138,7 @@ struct EquipWndInfo : WindowPlacement { struct ExchangeAcceptWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct FriendOptionWndInfo : WindowPlacement { @@ -139,54 +148,66 @@ struct FriendOptionWndInfo : WindowPlacement { struct GuildHelperWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct GuildWndInfo : WindowPlacement { /* 0010 */ int unknown_0010; void Reset(); + int IsValid() const; }; struct HomunInfoWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct ItemCollectionWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct ItemCompositionWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct ItemStoreFindWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct ItemIdentifyWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct ItemParamChangeDisplayWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct ItemPurchaseWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct ItemSellWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct ItemShopWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct ItemStoreFindListInfo : WindowPlacement { /* 0010 */ int unknown_0010; void Reset(); + int IsValid() const; }; struct ItemStoreFindSlotInfo : WindowPlacement { @@ -196,6 +217,7 @@ struct ItemStoreFindSlotInfo : WindowPlacement { }; void Reset(int index); + int IsValid() const; }; struct ItemWndInfo : WindowPlacement { @@ -207,10 +229,12 @@ struct ItemWndInfo : WindowPlacement { /* 0024 */ int unknown_0024; void Reset(); + int IsValid() const; }; struct EntryQueueWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct MiniMapWndInfo : WindowPlacement { @@ -221,34 +245,42 @@ struct MiniMapWndInfo : WindowPlacement { /* 0020 */ int unknown_0020; void Reset(); + int IsValid() const; }; struct MerInfoWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct MerchantItemMyShopWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct MerchantItemPurchaseWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct MerchantItemShopWndInfo : WindowPlacement { void Reset(bool wide); + int IsValid(bool wide) const; }; struct MerchantItemWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct MerchantMirrorItemWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct MerchantShopMakeWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct MessengerGroupWndInfo : WindowPlacement { @@ -257,10 +289,12 @@ struct MessengerGroupWndInfo : WindowPlacement { /* 0018 */ int unknown_0018; void Reset(); + int IsValid() const; }; struct NCashWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct UnusedWndInfoB : WindowPlacement { @@ -272,36 +306,44 @@ struct UnusedWndInfoB : WindowPlacement { struct SeekPartyWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct SeekPartyListWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct SeekPartyMBWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct JobListWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct PartySettingWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct PetInfoWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct QuestDisplayInfo { /* 0000 */ int unknown_0000; void Reset(); + int IsValid() const; }; struct QuickSlotWndInfo : WindowPlacement { void Reset(); + int IsValid() const; }; struct ReplayRECControlWndInfo : WindowPlacement {