Match most of DynamicLink

This commit is contained in:
jdflyer
2022-01-03 21:05:34 -07:00
parent 6c681c985c
commit 346215bd49
9 changed files with 663 additions and 465 deletions
+4
View File
@@ -221,4 +221,8 @@ inline JKRHeap* JKRGetCurrentHeap() {
return JKRHeap::getCurrentHeap();
}
inline u32 JKRGetMemBlockSize(JKRHeap* heap,void* block) {
return JKRHeap::getSize(block,heap);
}
#endif /* JKRHEAP_H */
+7 -7
View File
@@ -115,12 +115,12 @@ private:
/* 0x10 */ JUTConsole* mDirectConsole;
}; // Size: 0x14
void JUTConsole_print_f_va_(JUTConsole*, const char*, va_list);
void JUTSetReportConsole(JUTConsole*);
JUTConsole* JUTGetReportConsole();
void JUTSetWarningConsole(JUTConsole*);
JUTConsole* JUTGetWarningConsole();
void JUTReportConsole_f_va(const char*, va_list);
void JUTReportConsole_f(const char*, ...);
extern "C" void JUTConsole_print_f_va_(JUTConsole*, const char*, va_list);
extern "C" void JUTSetReportConsole(JUTConsole*);
extern "C" JUTConsole* JUTGetReportConsole();
extern "C" void JUTSetWarningConsole(JUTConsole*);
extern "C" JUTConsole* JUTGetWarningConsole();
extern "C" void JUTReportConsole_f_va(const char*, va_list);
extern "C" void JUTReportConsole_f(const char*, ...);
#endif /* JUTCONSOLE_H */
+32 -26
View File
@@ -3,34 +3,40 @@
#include "dolphin/types.h"
struct OSModuleInfo {
u32 id;
OSModuleInfo* next;
OSModuleInfo* prev;
u32 num_sections;
u32 section_info_offset;
u32 name_offset;
u32 name_size;
u32 version;
u32 bss_size;
u32 rel_offset;
u32 imp_offset;
u32 imp_size;
u8 prolog_section;
u8 epilog_section;
u8 unresolved_section;
u8 bss_section;
u32 prolog;
u32 epilog;
u32 unresolved;
u32 align;
u32 bss_align;
u32 fix_size;
struct OSSectionInfo {
u32 mOffset;
u32 mSize;
};
struct OSSectionInfo {
u32 offset;
u32 size;
struct OSModuleInfo {
u32 mId;
OSModuleInfo* mNext;
OSModuleInfo* mPrev;
u32 mNumSections;
struct { //Needed to get an assert corret; very likely bigger
u32 sectionInfoOffset;
} info;
u32 mModuleNameOffset;
u32 mModuleNameSize;
u32 mModuleVersion;
u32 mBssSize;
u32 mRelocationTableOffset;
u32 mImportTableOffset;
u32 mImportTableSize;
u8 mPrologSection;
u8 mEpilogSection;
u8 mUnresolvedSection;
u8 mBssSection;
u32 (*prolog)();
void(*epilog)();
u32 mUnresolvedFuncOffset;
u32 mModuleAlignment;
u32 mBssAlignment;
u32 fixSize;
};
extern "C" BOOL OSLink(OSModuleInfo*);
extern "C" BOOL OSLinkFixed(OSModuleInfo*,u32);
extern "C" BOOL OSUnlink(OSModuleInfo*);
#endif /* OSLINK_H */
+2
View File
@@ -16,6 +16,8 @@ public:
public:
/* 800158FC */ virtual ~mDoDvdThd_command_c();
/* 80015B74 */ mDoDvdThd_command_c();
inline s32 sync() {return mIsDone;}
inline void destroy() {delete this;}
virtual s32 execute() = 0;
}; // Size = 0x14