From 513816ce5c055be898b80dfa3b7048bcaca876a7 Mon Sep 17 00:00:00 2001 From: Max Roncace Date: Sun, 24 Aug 2025 02:52:08 -0400 Subject: Add a precompiled header for RELs (#2597) --- src/d/d_menu_save.cpp | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) (limited to 'src/d/d_menu_save.cpp') 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; -- cgit v1.2.3