From 7b701e5bc4ff2bd476493c1abff0d9a276a8dcb8 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Tue, 27 Oct 2026 20:40:03 +0000 Subject: [PATCH] Decompile fn_19333 (Replay::WriteFinalSection) Batch #1155 by ragnarok-clanker: 1 byte-identical, 0 confirmed by peer review. - fn_19333 Replay::WriteFinalSection: byte-identical Merged automatically: every function is byte-identical to the original. --- Source/Client/Replay.h | 4 +++ Source/Client/ReplayPacketRecorder.cpp | 36 ++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/Source/Client/Replay.h b/Source/Client/Replay.h index 1d6d5f7..bd0a977 100644 --- a/Source/Client/Replay.h +++ b/Source/Client/Replay.h @@ -110,6 +110,10 @@ public: std::vector BuildMetadata(); float AnimationScale() const; bool SetState(int state); + bool SetBaseFrame(std::uint32_t baseFrame); + void UpdateDuration(); + bool WriteFinalSection(); + bool SubB86660(void* packet, int a, int b); }; extern int g_replayAnimationScaling; diff --git a/Source/Client/ReplayPacketRecorder.cpp b/Source/Client/ReplayPacketRecorder.cpp index af0cc25..09215e8 100644 --- a/Source/Client/ReplayPacketRecorder.cpp +++ b/Source/Client/ReplayPacketRecorder.cpp @@ -1,3 +1,4 @@ +#include "Client/Replay.h" #include "Client/ReplayPacketRecorder.h" #include "Network/Packets/PacketLengths.h" #include "Network/Packets/PacketId.h" @@ -90,3 +91,38 @@ void WindowResponseRecorder::Record(int windowId, int response, std::intptr_t b, const Response packet{0x038408AEu, 26, windowId, response, {static_cast(b), static_cast(c), static_cast(d)}}; this->packets.Record(sizeof(packet), &packet, 42, 0); } + +// OFFSET: 0x00B86AB0 + +// OFFSET: 0x00B86AD0 + +// OFFSET: 0x00B86A80 +// FUNCTION: fn_19333 +bool Replay::WriteFinalSection() { + if (this->records == 0) { + this->sections[1].id = 1; + this->sections[1].bytes = 0; + this->sections[1].fileOffset = this->fileOffset; + } + return true; +} + +// OFFSET: 0x00B86660 + +struct UIWindowRecorderContext { + unsigned char pad[0x2C]; + int windowId; + + void RecordEvent17000(int a, int b, void* c, int d); + void RecordEvent17001(int a, void* b, void* c); + void RecordEvent17002(int a, int b, int c, int d, int e); + void RecordEvent17003(int event, const char* text); +}; + +// OFFSET: 0x00A82F80 + +// OFFSET: 0x00A83180 + +// OFFSET: 0x00A83300 + +// OFFSET: 0x00A83440