From db4dc09f6ea2edda2dd90e370de6bbf226d97c51 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Sat, 31 Oct 2026 12:47:18 +0000 Subject: [PATCH] Decompile fn_13601 (UIMakeTargetProcessWnd::BuildReplayRecords) Batch #7947 by Tanke: 0 byte-identical, 1 confirmed by peer review. - fn_13601 UIMakeTargetProcessWnd::BuildReplayRecords: logic confirmed by peer review Peer-reviewed-by: eAthena, Yommy, secret Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/UI/Items/UIMakeTargetProcessWnd.cpp | 21 +++++++++++++++++++++ Source/UI/Items/UIMakeTargetProcessWnd.h | 3 +++ 2 files changed, 24 insertions(+) diff --git a/Source/UI/Items/UIMakeTargetProcessWnd.cpp b/Source/UI/Items/UIMakeTargetProcessWnd.cpp index f2ab2a30..f18af746 100644 --- a/Source/UI/Items/UIMakeTargetProcessWnd.cpp +++ b/Source/UI/Items/UIMakeTargetProcessWnd.cpp @@ -3,12 +3,14 @@ #include "Client/Mode/ModeDragState.h" #include "Client/Mode/ModeMgr.h" #include "Client/ReplayPacketRecorder.h" +#include "Client/Replay.h" #include "Client/Session.h" #include "UI/Window/UIWindowMgr.h" #include "UI/Window/WindowManagerWindows.h" #include #include +#include struct ClientItemLists { bool AddItem1710(const ITEM_INFO& item, unsigned char refresh); @@ -59,6 +61,25 @@ void UIMakeTargetProcessWnd::Slot10(int x, int y, std::intptr_t value) { g_modeMgr.gameMode->SendMsg(18, 0, 0, 0, 0); } +// OFFSET: 0x009A0690 +// FUNCTION: fn_13601 +std::vector UIMakeTargetProcessWnd::BuildReplayRecords() { + std::vector records; + { + const auto record = BuildReplayTaggedRecord(22000, nullptr, 0); + records.insert(records.end(), record.begin(), record.end()); + } + { + const auto record = BuildReplayTaggedRecord(22002, &this->makeType, sizeof(this->makeType)); + records.insert(records.end(), record.begin(), record.end()); + } + { + const auto record = BuildReplayTaggedRecord(22001, nullptr, 0); + records.insert(records.end(), record.begin(), record.end()); + } + return records; +} + // OFFSET: 0x009A09E0 // FUNCTION: fn_13603 ITEM_INFO UIMakeTargetProcessWnd::GetItemAt(int x, int y) { diff --git a/Source/UI/Items/UIMakeTargetProcessWnd.h b/Source/UI/Items/UIMakeTargetProcessWnd.h index 32a484d7..c281027e 100644 --- a/Source/UI/Items/UIMakeTargetProcessWnd.h +++ b/Source/UI/Items/UIMakeTargetProcessWnd.h @@ -4,6 +4,8 @@ #include "Contents/Items/ItemInfo.h" #include "UI/Window/UIFrameWnd.h" +#include + struct UIButtonContext; struct WindowResponseRecorder; @@ -14,6 +16,7 @@ public: void Slot15(int width, int height) override; void Slot25(int x, int y) override; int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override; + std::vector BuildReplayRecords(); ITEM_INFO GetItemAt(int x, int y); /* 00B4 */ int makeType;