diff options
| author | jdflyer <jdflyer10@gmail.com> | 2022-04-10 16:29:58 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-10 18:29:58 -0400 |
| commit | 545da8536d13393c0a9e1d336c0a606fa42e1a21 (patch) | |
| tree | 43f59d61e59e4113805201ea7f83a4aacc26b3f6 /src/DynamicLink.cpp | |
| parent | dd8899033b0b70a262f4c89153ede57ceac9878e (diff) | |
Add Progress.md (#187)
* Match DynamicLink
* finish merge
* Add Progress.md and update readme
Diffstat (limited to 'src/DynamicLink.cpp')
| -rw-r--r-- | src/DynamicLink.cpp | 136 |
1 files changed, 34 insertions, 102 deletions
diff --git a/src/DynamicLink.cpp b/src/DynamicLink.cpp index 470cc646c0..ff49957ce1 100644 --- a/src/DynamicLink.cpp +++ b/src/DynamicLink.cpp @@ -12,85 +12,6 @@ #include "dolphin/types.h" #include "m_Do/m_Do_ext.h" -// -// Forward References: -// - -extern "C" void __dt__24DynamicModuleControlBaseFv(); -extern "C" void __ct__24DynamicModuleControlBaseFv(); -extern "C" void link__24DynamicModuleControlBaseFv(); -extern "C" void unlink__24DynamicModuleControlBaseFv(); -extern "C" void load_async__24DynamicModuleControlBaseFv(); -extern "C" void force_unlink__24DynamicModuleControlBaseFv(); -extern "C" void dump__24DynamicModuleControlBaseFv(); -extern "C" void __ct__20DynamicModuleControlFPCc(); -extern "C" void mountCallback__20DynamicModuleControlFPv(); -extern "C" void initialize__20DynamicModuleControlFv(); -extern "C" void callback__20DynamicModuleControlFPv(); -extern "C" static void calcSum2__FPCUsUl(); -extern "C" void do_load__20DynamicModuleControlFv(); -extern "C" void do_load_async__20DynamicModuleControlFv(); -extern "C" void do_unload__20DynamicModuleControlFv(); -extern "C" void dump2__20DynamicModuleControlFv(); -extern "C" void do_link__20DynamicModuleControlFv(); -extern "C" void do_unlink__20DynamicModuleControlFv(); -extern "C" void getModuleSize__20DynamicModuleControlCFv(); -extern "C" void getModuleTypeString__20DynamicModuleControlCFv(); -extern "C" void ModuleProlog(); -extern "C" void ModuleEpilog(); -extern "C" void ModuleUnresolved(); -extern "C" void ModuleConstructorsX(void (**ctors)()); -extern "C" void ModuleDestructorsX(void (**dtors)()); -extern "C" bool do_link__24DynamicModuleControlBaseFv(); -extern "C" bool do_load__24DynamicModuleControlBaseFv(); -extern "C" bool do_unload__24DynamicModuleControlBaseFv(); -extern "C" bool do_unlink__24DynamicModuleControlBaseFv(); -extern "C" bool do_load_async__24DynamicModuleControlBaseFv(); -extern "C" void dump2__24DynamicModuleControlBaseFv(); -extern "C" void getModuleTypeString__24DynamicModuleControlBaseCFv(); -extern "C" bool getModuleSize__24DynamicModuleControlBaseCFv(); -extern "C" void getModuleName__20DynamicModuleControlCFv(); -extern "C" extern char const* const DynamicLink__stringBase0; -extern "C" u8 mFirst__24DynamicModuleControlBase[4]; -extern "C" u8 mLast__24DynamicModuleControlBase[4]; -extern "C" u8 sAllocBytes__20DynamicModuleControl[4]; -extern "C" u8 sArchive__20DynamicModuleControl[4]; -extern "C" u8 sFileCache__20DynamicModuleControl[4 + 4 /* padding */]; - -// -// External References: -// - -extern "C" void mDoExt_getArchiveHeap__Fv(); -extern "C" void create__20mDoDvdThd_callback_cFPFPv_PvPv(); -extern "C" bool getModuleName__24DynamicModuleControlBaseCFv(); -extern "C" void __dt__20DynamicModuleControlFv(); -extern "C" void alloc__7JKRHeapFUliP7JKRHeap(); -extern "C" void free__7JKRHeapFPvP7JKRHeap(); -extern "C" void resize__7JKRHeapFPvUlP7JKRHeap(); -extern "C" void getSize__7JKRHeapFPvP7JKRHeap(); -extern "C" void __dl__FPv(); -extern "C" void detachResource__13JKRFileLoaderFPvP13JKRFileLoader(); -extern "C" void mount__12JKRFileCacheFPCcP7JKRHeapPCc(); -extern "C" void -mount__10JKRArchiveFPCcQ210JKRArchive10EMountModeP7JKRHeapQ210JKRArchive15EMountDirection(); -extern "C" void getGlbResource__10JKRArchiveFUlPCcP10JKRArchive(); -extern "C" void -loadToMainRAM__12JKRDvdRipperFPCcPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); - -// -// Declarations: -// - -extern "C" void* __vt__20DynamicModuleControl[13]; -extern "C" void* __vt__24DynamicModuleControlBase[13]; - /* 80451138-8045113C 000638 0004+00 3/3 0/0 0/0 .sbss mFirst__24DynamicModuleControlBase */ DynamicModuleControlBase* DynamicModuleControlBase::mFirst; @@ -246,10 +167,7 @@ JKRArchive* DynamicModuleControl::sArchive; */ JKRFileCache* DynamicModuleControl::sFileCache; -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039A57B = "Base"; -#pragma pop +static const char* baseString = "Base"; /* 802626D0-8026275C 25D010 008C+00 1/1 0/0 0/0 .text mountCallback__20DynamicModuleControlFPv */ JKRArchive* DynamicModuleControl::mountCallback(void* param_0) { @@ -538,7 +456,7 @@ error: */ bool DynamicModuleControl::do_unlink() { OSTime time1 = OSGetTime(); - mModule->epilog(); + ((void(*)())mModule->epilog)(); OSTime time2 = OSGetTime(); BOOL unklink = OSUnlink(mModule); OSTime time3 = OSGetTime(); @@ -576,23 +494,6 @@ const char* DynamicModuleControl::getModuleTypeString() const { return strings[mResourceType & 3]; } -/* 803C34C0-803C34F4 0205E0 0034+00 1/1 2/2 0/0 .data __vt__20DynamicModuleControl */ -SECTION_DATA extern void* __vt__20DynamicModuleControl[13] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__20DynamicModuleControlFv, - (void*)getModuleName__20DynamicModuleControlCFv, - (void*)getModuleSize__20DynamicModuleControlCFv, - (void*)getModuleTypeString__20DynamicModuleControlCFv, - (void*)dump__24DynamicModuleControlBaseFv, - (void*)dump2__20DynamicModuleControlFv, - (void*)do_load__20DynamicModuleControlFv, - (void*)do_load_async__20DynamicModuleControlFv, - (void*)do_unload__20DynamicModuleControlFv, - (void*)do_link__20DynamicModuleControlFv, - (void*)do_unlink__20DynamicModuleControlFv, -}; - /* 80263088-8026308C 25D9C8 0004+00 0/0 0/0 756/756 .text ModuleProlog */ extern "C" void ModuleProlog() { /* empty function */ @@ -682,4 +583,35 @@ const char* DynamicModuleControl::getModuleName() const { return mName; } -/* 8039A4A0-8039A4A0 026B00 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +extern "C" void dump__24DynamicModuleControlBaseFv(); +extern "C" void __ct__20DynamicModuleControlFPCc(); +extern "C" void mountCallback__20DynamicModuleControlFPv(); +extern "C" void initialize__20DynamicModuleControlFv(); +extern "C" void callback__20DynamicModuleControlFPv(); +extern "C" void do_load__20DynamicModuleControlFv(); +extern "C" void do_load_async__20DynamicModuleControlFv(); +extern "C" void do_unload__20DynamicModuleControlFv(); +extern "C" void dump2__20DynamicModuleControlFv(); +extern "C" void do_link__20DynamicModuleControlFv(); +extern "C" void do_unlink__20DynamicModuleControlFv(); +extern "C" void getModuleSize__20DynamicModuleControlCFv(); +extern "C" void getModuleTypeString__20DynamicModuleControlCFv(); +extern "C" void getModuleName__20DynamicModuleControlCFv(); +extern "C" void __dt__20DynamicModuleControlFv(); + +/* 803C34C0-803C34F4 0205E0 0034+00 1/1 2/2 0/0 .data __vt__20DynamicModuleControl */ +SECTION_DATA extern void* __vt__20DynamicModuleControl[13] = { + (void*)NULL /* RTTI */, + (void*)NULL, + (void*)__dt__20DynamicModuleControlFv, + (void*)getModuleName__20DynamicModuleControlCFv, + (void*)getModuleSize__20DynamicModuleControlCFv, + (void*)getModuleTypeString__20DynamicModuleControlCFv, + (void*)dump__24DynamicModuleControlBaseFv, + (void*)dump2__20DynamicModuleControlFv, + (void*)do_load__20DynamicModuleControlFv, + (void*)do_load_async__20DynamicModuleControlFv, + (void*)do_unload__20DynamicModuleControlFv, + (void*)do_link__20DynamicModuleControlFv, + (void*)do_unlink__20DynamicModuleControlFv, +}; |
