Fix most vtable issues (#2706)

This commit is contained in:
LagoLunatic
2025-09-27 18:35:11 -04:00
committed by GitHub
parent 4a029d7c16
commit e657d4bff4
13 changed files with 27 additions and 119 deletions
-27
View File
@@ -80,33 +80,6 @@ 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;