From b2b1da96cca8a033bdd4cda6464f0329c9451811 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Fri, 6 Nov 2026 03:54:15 +0000 Subject: [PATCH] Decompile fn_17244 (UIWindowMgr::SaveReplayWindows) Batch #12984 by Yommy: 0 byte-identical, 1 confirmed by peer review. - fn_17244 UIWindowMgr::SaveReplayWindows: logic confirmed by peer review Peer-reviewed-by: aDw, cremane, codeplay Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/UI/Window/UIWindowMgr.cpp | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/Source/UI/Window/UIWindowMgr.cpp b/Source/UI/Window/UIWindowMgr.cpp index eb9d30f9..5a2aefac 100644 --- a/Source/UI/Window/UIWindowMgr.cpp +++ b/Source/UI/Window/UIWindowMgr.cpp @@ -2115,29 +2115,19 @@ static __forceinline std::vector MakeReplayChunk(int tag, const s std::vector UIWindowMgr::SaveReplayWindows() { std::vector data; { - std::vector chunk(6); - *reinterpret_cast(&chunk[0]) = 20000; - *reinterpret_cast(&chunk[2]) = 0; + std::vector chunk = MakeReplayMarker(20000); data.insert(data.end(), chunk.begin(), chunk.end()); } for (UIWindow* window : this->rendered) { const unsigned id = static_cast(window->geometry.id); if (id <= 10040 && this->policy[id].actions[7]) { std::vector state = window->Slot44(); - const int tag = window->geometry.id + 20100; - std::vector chunk(state.size() + 6, 0); - *reinterpret_cast(&chunk[0]) = static_cast(tag); - *reinterpret_cast(&chunk[2]) = static_cast(state.size()); - if (state.size()) { - std::memcpy(&chunk[6], state.data(), state.size()); - } + std::vector chunk = MakeReplayChunk(window->geometry.id + 20100, state); data.insert(data.end(), chunk.begin(), chunk.end()); } } { - std::vector chunk(6); - *reinterpret_cast(&chunk[0]) = 20001; - *reinterpret_cast(&chunk[2]) = 0; + std::vector chunk = MakeReplayMarker(20001); data.insert(data.end(), chunk.begin(), chunk.end()); } return data;