From a0870efdca20a31dae6a8a7774b928bcc177f699 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Sun, 1 Nov 2026 00:41:24 +0000 Subject: [PATCH] Decompile fn_13282 (UIItemSellWnd2::BuildReplayRecords) Batch #9079 by pedrao: 0 byte-identical, 1 confirmed by peer review. - fn_13282 UIItemSellWnd2::BuildReplayRecords: logic confirmed by peer review Peer-reviewed-by: youko, dori Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/UI/Edit/UIEditCtrl.cpp | 23 +++++++++++++++++++++++ Source/UI/Item/UIItemSellWnd2.h | 2 ++ Source/UI/Shop/UIMerchantItemShopWnd.h | 2 ++ Source/UI/Shop/UIMerchantShopMakeWnd.h | 2 ++ 4 files changed, 29 insertions(+) diff --git a/Source/UI/Edit/UIEditCtrl.cpp b/Source/UI/Edit/UIEditCtrl.cpp index 3394563a..79f504ab 100644 --- a/Source/UI/Edit/UIEditCtrl.cpp +++ b/Source/UI/Edit/UIEditCtrl.cpp @@ -3918,6 +3918,25 @@ std::vector* sub_972E60(std::vector* result) { return result; } +// OFFSET: 0x00972F50 +// FUNCTION: fn_13282 +std::vector UIItemSellWnd2::BuildReplayRecords() { + std::vector records; + { + const auto record = BuildReplayTaggedRecord(20800, nullptr, 0); + records.insert(records.end(), record.begin(), record.end()); + } + { + const auto record = BuildReplayTaggedRecord(20802, &this->unknown_00FC, 4); + records.insert(records.end(), record.begin(), record.end()); + } + { + const auto record = BuildReplayTaggedRecord(20801, nullptr, 0); + records.insert(records.end(), record.begin(), record.end()); + } + return records; +} + // OFFSET: 0x00973080 // FUNCTION: fn_13283 std::vector* sub_973080(std::vector* result) { @@ -3940,6 +3959,8 @@ std::vector* sub_973170(std::vector* result) { return result; } +// OFFSET: 0x009734E0 + // OFFSET: 0x00973670 // FUNCTION: fn_13288 std::vector* sub_973670(std::vector* result) { @@ -3951,6 +3972,8 @@ std::vector* sub_973670(std::vector* result) { return result; } +// OFFSET: 0x00973760 + // OFFSET: 0x009738A0 // FUNCTION: fn_13290 int UIItemBaseWnd::GetItemIndexAt(int x, int y) { diff --git a/Source/UI/Item/UIItemSellWnd2.h b/Source/UI/Item/UIItemSellWnd2.h index caab2962..f5437706 100644 --- a/Source/UI/Item/UIItemSellWnd2.h +++ b/Source/UI/Item/UIItemSellWnd2.h @@ -5,6 +5,7 @@ #include "UI/Item/UIItemBaseWnd.h" #include +#include struct WindowReplayRecorder; class UIStaticText; @@ -12,6 +13,7 @@ class UIStaticText; class UIItemSellWnd2 : public UIItemBaseWnd { public: UIItemSellWnd2(UIWindowContext& windows, UIFrameContext& frames); + std::vector BuildReplayRecords(); void Slot10(int x, int y, std::intptr_t value) override; void Slot11() override; void Slot25(int x, int y) override; diff --git a/Source/UI/Shop/UIMerchantItemShopWnd.h b/Source/UI/Shop/UIMerchantItemShopWnd.h index 5c7aafc7..22c6d54f 100644 --- a/Source/UI/Shop/UIMerchantItemShopWnd.h +++ b/Source/UI/Shop/UIMerchantItemShopWnd.h @@ -6,12 +6,14 @@ #include #include +#include class UIStaticText; class UIMerchantItemShopWnd : public UIItemBaseWnd { public: UIMerchantItemShopWnd(UIWindowContext& windows, UIFrameContext& frames, int value); + std::vector BuildReplayRecords(); void Slot11() override; void Slot19() override; void Slot10(int x, int y, std::intptr_t value) override; diff --git a/Source/UI/Shop/UIMerchantShopMakeWnd.h b/Source/UI/Shop/UIMerchantShopMakeWnd.h index 544abe46..d430206b 100644 --- a/Source/UI/Shop/UIMerchantShopMakeWnd.h +++ b/Source/UI/Shop/UIMerchantShopMakeWnd.h @@ -9,6 +9,7 @@ #include #include #include +#include class UIBasicButton; class UIEditCtrl; @@ -16,6 +17,7 @@ struct UIButtonContext; class UIMerchantShopMakeWnd : public UIFrameWnd { public: + std::vector BuildReplayRecords(); void Slot11() override; void Slot19() override; void Slot10(int x, int y, std::intptr_t value) override;