summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorrobojumper <robojumper@gmail.com>2024-05-24 16:41:33 +0200
committerrobojumper <robojumper@gmail.com>2024-05-24 16:41:33 +0200
commitb2d728089e500e463d7596867ba11e34cf6586f0 (patch)
tree918261d4590eed4b09ee63258dc59abeef8a82ed /include
parentd711118601dad11244eb8a2de79727ae9756cf9f (diff)
db_mapFile
Diffstat (limited to 'include')
-rw-r--r--include/DynamicLink.h11
-rw-r--r--include/MSL_C/MSL_Common/Src/printf.h4
-rw-r--r--include/nw4r/db/db_mapFile.h26
-rw-r--r--include/rvl/OS/OSLink.h1
4 files changed, 33 insertions, 9 deletions
diff --git a/include/DynamicLink.h b/include/DynamicLink.h
index 1e9e3319..da4a5a21 100644
--- a/include/DynamicLink.h
+++ b/include/DynamicLink.h
@@ -3,17 +3,19 @@
#include <common.h>
#include <m/m_dvd.h>
+#include <nw4r/db/db_mapFile.h>
#include <rvl/OS.h>
class DbMapFile {
public:
- DbMapFile(): unk_0(0) {}
+ DbMapFile(): mMapFileHandle(nullptr) {}
~DbMapFile();
void RegisterOnDvd(const char *, const OSModuleInfo *);
void Unregister();
private:
- UNKWORD unk_0;
+ nw4r::db::MapFileHandle mMapFileHandle;
+ nw4r::db::MapFile mMapFile;
};
// https://github.com/zeldaret/tp/blob/main/include/DynamicLink.h
@@ -75,11 +77,6 @@ struct DynamicModuleControl : DynamicModuleControlBase {
/* 0x2C */ mDvd_callback_c *mDvdCallbackRequest;
/* 0x30 */ EGG::ExpHeap *mHeap;
/* 0x34 */ DbMapFile mpRelMapFile;
- // Some of these might be members of DbMapFile
- UNKWORD unk1;
- UNKWORD unk2;
- UNKWORD unk3;
- UNKWORD unk4;
static u32 sAllocBytes;
static mDvd_toMainRam_base_c *sDvdFile;
diff --git a/include/MSL_C/MSL_Common/Src/printf.h b/include/MSL_C/MSL_Common/Src/printf.h
index 5b1a7ccd..5e35c0f4 100644
--- a/include/MSL_C/MSL_Common/Src/printf.h
+++ b/include/MSL_C/MSL_Common/Src/printf.h
@@ -10,8 +10,8 @@ extern "C" {
int fprintf(FILE* stream, const char* format, ...);
int printf(const char* format, ...);
-int sprintf(const char* str, const char* format, ...);
-int snprintf(const char* str, size_t n, const char* format, ...);
+int sprintf(char* str, const char* format, ...);
+int snprintf(char* str, size_t n, const char* format, ...);
int vsnprintf(char* str, size_t n, const char* format, va_list arg);
int vprintf(const char* format, va_list arg);
diff --git a/include/nw4r/db/db_mapFile.h b/include/nw4r/db/db_mapFile.h
new file mode 100644
index 00000000..2eb2aac6
--- /dev/null
+++ b/include/nw4r/db/db_mapFile.h
@@ -0,0 +1,26 @@
+#ifndef DB_MAPFILE_H
+#define DB_MAPFILE_H
+
+#include <rvl/OS.h>
+
+namespace nw4r {
+namespace db {
+
+typedef struct MapFile {
+ u8 *mapBuf;
+ const OSModuleInfo *moduleInfo;
+ s32 fileEntry;
+ MapFile *next;
+} MapFile;
+
+typedef MapFile* MapFileHandle;
+
+MapFileHandle MapFile_RegistOnDvd(void*, const char*, const OSModuleInfo*);
+void MapFile_Unregist(MapFileHandle);
+void MapFile_UnregistAll();
+bool MapFile_QuerySymbol(u32 address, u8 *strBuf, u32 strBufSize);
+
+} // namespace db
+} // namespace nw4r
+
+#endif
diff --git a/include/rvl/OS/OSLink.h b/include/rvl/OS/OSLink.h
index 8f6df8b0..0bc13dc3 100644
--- a/include/rvl/OS/OSLink.h
+++ b/include/rvl/OS/OSLink.h
@@ -105,6 +105,7 @@ BOOL OSLinkFixed(OSModuleInfo* newModule, void* bss);
BOOL OSUnlink(OSModuleInfo* module);
void OSSetStringTable(void* string_table);
void __OSModuleInit(void);
+OSModuleInfo* OSSearchModule(void* ptr, u32* section, u32* offset);
#ifdef __cplusplus
};