summaryrefslogtreecommitdiff
path: root/src/d/d_menu_save.cpp
diff options
context:
space:
mode:
authorMax Roncace <me@caseif.net>2025-08-24 02:52:08 -0400
committerGitHub <noreply@github.com>2025-08-24 09:52:08 +0300
commit513816ce5c055be898b80dfa3b7048bcaca876a7 (patch)
tree85ac5e0383eb1ef1e4442c95f7c63c2c146098ae /src/d/d_menu_save.cpp
parent8a30030dc73931727bd3d6327c1a37255a295f3f (diff)
Add a precompiled header for RELs (#2597)
Diffstat (limited to 'src/d/d_menu_save.cpp')
-rw-r--r--src/d/d_menu_save.cpp34
1 files changed, 29 insertions, 5 deletions
diff --git a/src/d/d_menu_save.cpp b/src/d/d_menu_save.cpp
index af264a821a..cb9edffbcd 100644
--- a/src/d/d_menu_save.cpp
+++ b/src/d/d_menu_save.cpp
@@ -3,6 +3,8 @@
// Translation Unit: d/d_menu_save
//
+#include "d/dolzel.h"
+
#include "d/d_menu_save.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "JSystem/JKernel/JKRMemArchive.h"
@@ -23,11 +25,6 @@
#include "JSystem/J2DGraph/J2DAnmLoader.h"
#include "f_op/f_op_msg_mng.h"
-/* 803BDF78-803BDF84 01B098 000C+00 2/2 0/0 0/0 .data cNullVec__6Z2Calc */
-static u8 cNullVec__6Z2Calc[12] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
/* 803BDF84-803BDF90 01B0A4 000C+00 3/3 0/0 0/0 .data SelStartFrameTbl */
static int SelStartFrameTbl[3] = {
59,
@@ -83,6 +80,33 @@ dMs_HIO_c::dMs_HIO_c() {
field_0xf = 0;
}
+// Need 0x24 bytes of padding with no symbol between dDlst_MenuSaveExplain_c::__vtable and dMs_HIO_c::__vtable
+// This is likely caused by the vtable of an abstract base class getting put there and then stripped out.
+// Not sure which abstract base class could go there though, so we simulate it with some dummy classes for now.
+class dummy_abstract_class {
+public:
+ virtual void virt_func_0() = 0;
+ virtual void virt_func_1() = 0;
+ virtual void virt_func_2() = 0;
+ virtual void virt_func_3() = 0;
+ virtual void virt_func_4() = 0;
+ virtual void virt_func_5() = 0;
+ virtual void virt_func_6() = 0;
+};
+class dummy_child_class : dummy_abstract_class {
+ virtual void virt_func_0();
+ virtual void virt_func_1();
+ virtual void virt_func_2();
+ virtual void virt_func_3();
+ virtual void virt_func_4();
+ virtual void virt_func_5();
+ virtual void virt_func_6();
+};
+static dummy_child_class dummy() {
+ dummy_child_class temp;
+ return temp;
+}
+
/* 801EF6A0-801EF7AC 1E9FE0 010C+00 0/0 3/3 0/0 .text __ct__12dMenu_save_cFv */
dMenu_save_c::dMenu_save_c() {
mpScrnExplain = NULL;