summaryrefslogtreecommitdiff
path: root/arm9/src
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/src')
-rw-r--r--arm9/src/filesystem.c56
-rw-r--r--arm9/src/main.c12
-rw-r--r--arm9/src/unk_02006234.c78
3 files changed, 112 insertions, 34 deletions
diff --git a/arm9/src/filesystem.c b/arm9/src/filesystem.c
index 3faada5c..de0f6457 100644
--- a/arm9/src/filesystem.c
+++ b/arm9/src/filesystem.c
@@ -152,7 +152,7 @@ static char * sNarcFileList[] = {
"poketool/shinzukan.narc",
};
-THUMB_FUNC void ReadNARCFile(void * dest, const char * path, s32 file_idx, u32 offset, u32 size)
+THUMB_FUNC void ReadFromNarcMemberByPathAndId(void * dest, const char * path, s32 file_idx, u32 offset, u32 size)
{
FSFile file;
register u32 chunk_starts[3];
@@ -192,7 +192,7 @@ THUMB_FUNC void ReadNARCFile(void * dest, const char * path, s32 file_idx, u32 o
FS_CloseFile(&file);
}
-THUMB_FUNC void * LoadFileIntoMemory(const char * path, s32 file_idx, u32 heap_id, u32 offset, u32 size, BOOL r4)
+THUMB_FUNC void * AllocAndReadFromNarcMemberByPathAndId(const char * path, s32 file_idx, u32 heap_id, u32 offset, u32 size, BOOL r4)
{
FSFile file;
register u32 chunk_starts[3];
@@ -232,10 +232,10 @@ THUMB_FUNC void * LoadFileIntoMemory(const char * path, s32 file_idx, u32 heap_i
switch (r4)
{
case 0:
- dest = FUN_02016998(heap_id, chunk_size);
+ dest = AllocFromHeap(heap_id, chunk_size);
break;
default:
- dest = FUN_020169D8(heap_id, chunk_size);
+ dest = AllocFromHeapAtEnd(heap_id, chunk_size);
break;
}
FS_ReadFile(&file, dest, chunk_size);
@@ -243,37 +243,37 @@ THUMB_FUNC void * LoadFileIntoMemory(const char * path, s32 file_idx, u32 heap_i
return dest;
}
-THUMB_FUNC void LoadFromNARC(void * dest, NarcId narc_id, s32 file_id)
+THUMB_FUNC void ReadWholeNarcMemberByIdPair(void * dest, NarcId narc_id, s32 file_id)
{
- ReadNARCFile(dest, sNarcFileList[narc_id], file_id, 0, 0);
+ ReadFromNarcMemberByPathAndId(dest, sNarcFileList[narc_id], file_id, 0, 0);
}
-THUMB_FUNC void * LoadFromNarc_2(NarcId narc_id, s32 file_id, u32 heap_id)
+THUMB_FUNC void * AllocAndReadWholeNarcMemberByIdPair(NarcId narc_id, s32 file_id, u32 heap_id)
{
- return LoadFileIntoMemory(sNarcFileList[narc_id], file_id, heap_id, 0, 0, FALSE);
+ return AllocAndReadFromNarcMemberByPathAndId(sNarcFileList[narc_id], file_id, heap_id, 0, 0, FALSE);
}
-THUMB_FUNC void * FUN_02006528(NarcId narc_id, s32 file_id, u32 heap_id)
+THUMB_FUNC void * AllocAtEndAndReadWholeNarcMemberByIdPair(NarcId narc_id, s32 file_id, u32 heap_id)
{
- return LoadFileIntoMemory(sNarcFileList[narc_id], file_id, heap_id, 0, 0, TRUE);
+ return AllocAndReadFromNarcMemberByPathAndId(sNarcFileList[narc_id], file_id, heap_id, 0, 0, TRUE);
}
-THUMB_FUNC void FUN_02006548(void * dest, NarcId narc_id, s32 file_id, u32 offset, u32 size)
+THUMB_FUNC void ReadFromNarcMemberByIdPair(void * dest, NarcId narc_id, s32 file_id, u32 offset, u32 size)
{
- ReadNARCFile(dest, sNarcFileList[narc_id], file_id, offset, size);
+ ReadFromNarcMemberByPathAndId(dest, sNarcFileList[narc_id], file_id, offset, size);
}
-THUMB_FUNC void * FUN_02006564(NarcId narc_id, s32 file_id, u32 heap_id, u32 offset, u32 size)
+THUMB_FUNC void * AllocAndReadFromNarcMemberByIdPair(NarcId narc_id, s32 file_id, u32 heap_id, u32 offset, u32 size)
{
- return LoadFileIntoMemory(sNarcFileList[narc_id], file_id, heap_id, offset, size, FALSE);
+ return AllocAndReadFromNarcMemberByPathAndId(sNarcFileList[narc_id], file_id, heap_id, offset, size, FALSE);
}
-THUMB_FUNC void * FUN_02006584(NarcId narc_id, s32 file_id, u32 heap_id, u32 offset, u32 size)
+THUMB_FUNC void * AllocAtEndAndReadFromNarcMemberByIdPair(NarcId narc_id, s32 file_id, u32 heap_id, u32 offset, u32 size)
{
- return LoadFileIntoMemory(sNarcFileList[narc_id], file_id, heap_id, offset, size, TRUE);
+ return AllocAndReadFromNarcMemberByPathAndId(sNarcFileList[narc_id], file_id, heap_id, offset, size, TRUE);
}
-THUMB_FUNC u32 LoadFromNARC_7(NarcId narc_id, s32 file_idx)
+THUMB_FUNC u32 GetNarcMemberSizeByIdPair(NarcId narc_id, s32 file_idx)
{
FSFile file;
register u32 chunk_starts[3];
@@ -310,9 +310,9 @@ THUMB_FUNC u32 LoadFromNARC_7(NarcId narc_id, s32 file_idx)
return chunk_size;
}
-THUMB_FUNC NARC * FUN_02006670(NarcId narc_id, u32 heap_id)
+THUMB_FUNC NARC * NARC_ctor(NarcId narc_id, u32 heap_id)
{
- NARC * narc = (NARC *)FUN_02016998(heap_id, sizeof(NARC));
+ NARC * narc = (NARC *)AllocFromHeap(heap_id, sizeof(NARC));
u32 btnf_start;
u32 chunk_size;
if (narc != NULL)
@@ -333,13 +333,13 @@ THUMB_FUNC NARC * FUN_02006670(NarcId narc_id, u32 heap_id)
return narc;
}
-THUMB_FUNC void FUN_020066F4(NARC * narc)
+THUMB_FUNC void NARC_dtor(NARC * narc)
{
FS_CloseFile(&narc->file);
- FUN_02016A18(narc); // free to heap
+ FreeToHeap(narc); // free to heap
}
-THUMB_FUNC void * FUN_02006704(NARC * narc, u32 file_id, u32 heap_id)
+THUMB_FUNC void * NARC_AllocAndReadWholeMember(NARC * narc, u32 file_id, u32 heap_id)
{
u32 file_start;
u32 file_end;
@@ -350,7 +350,7 @@ THUMB_FUNC void * FUN_02006704(NARC * narc, u32 file_id, u32 heap_id)
FS_ReadFile(&narc->file, &file_start, 4);
FS_ReadFile(&narc->file, &file_end, 4);
FS_SeekFile(&narc->file, narc->gmif_start + 8 + file_start, FS_SEEK_SET);
- dest = FUN_02016998(heap_id, file_end - file_start);
+ dest = AllocFromHeap(heap_id, file_end - file_start);
if (dest != NULL)
{
FS_ReadFile(&narc->file, dest, file_end - file_start);
@@ -358,7 +358,7 @@ THUMB_FUNC void * FUN_02006704(NARC * narc, u32 file_id, u32 heap_id)
return dest;
}
-THUMB_FUNC void FUN_02006774(NARC * narc, u32 file_id, void * dest)
+THUMB_FUNC void NARC_ReadWholeMember(NARC * narc, u32 file_id, void * dest)
{
u32 file_start;
u32 file_end;
@@ -371,7 +371,7 @@ THUMB_FUNC void FUN_02006774(NARC * narc, u32 file_id, void * dest)
FS_ReadFile(&narc->file, dest, file_end - file_start);
}
-THUMB_FUNC u32 FUN_020067D0(NARC * narc, u32 file_id)
+THUMB_FUNC u32 NARC_GetMemberSize(NARC * narc, u32 file_id)
{
u32 file_start;
u32 file_end;
@@ -383,7 +383,7 @@ THUMB_FUNC u32 FUN_020067D0(NARC * narc, u32 file_id)
return file_end - file_start;
}
-THUMB_FUNC void FUN_02006814(NARC * narc, u32 file_id, u32 pos, u32 size, void * dest)
+THUMB_FUNC void NARC_ReadFromMember(NARC * narc, u32 file_id, u32 pos, u32 size, void * dest)
{
u32 file_start;
if (narc->num_files <= file_id)
@@ -394,12 +394,12 @@ THUMB_FUNC void FUN_02006814(NARC * narc, u32 file_id, u32 pos, u32 size, void *
FS_ReadFile(&narc->file, dest, size);
}
-THUMB_FUNC void FUN_02006864(NARC * narc, u32 size, void * dest)
+THUMB_FUNC void NARC_ReadFile(NARC * narc, u32 size, void * dest)
{
FS_ReadFile(&narc->file, dest, size);
}
-THUMB_FUNC u16 FUN_02006874(NARC * narc)
+THUMB_FUNC u16 NARC_GetFileCount(NARC * narc)
{
return narc->num_files;
}
diff --git a/arm9/src/main.c b/arm9/src/main.c
index ae3961cd..82b8b734 100644
--- a/arm9/src/main.c
+++ b/arm9/src/main.c
@@ -54,8 +54,8 @@ extern struct Unk21DBE18 MOD52_UNK_021D76C8;
extern u8 SDK_STATIC_BSS_START[];
-const enum GameVersion gGameVersion = VERSION_DIAMOND;
-const enum GameLanguage gGameLanguage = LANGUAGE_ENGLISH;
+const enum GameVersion gGameVersion = GAME_VERSION;
+const enum GameLanguage gGameLanguage = GAME_LANGUAGE;
THUMB_FUNC void NitroMain(void)
{
@@ -85,7 +85,7 @@ THUMB_FUNC void NitroMain(void)
}
else
{
- switch (*((s32 *)HW_RESET_PARAMETER_BUF))
+ switch (OS_GetResetParameter())
{
case 0:
gBacklightTop.unk1C = 0;
@@ -156,18 +156,18 @@ THUMB_FUNC void FUN_02000E0C(void)
{
if (gBacklightTop.unk14 == NULL)
return;
- if (gBacklightTop.unk10 != -1u)
+ if (gBacklightTop.unk10 != SDK_OVERLAY_INVALID_ID)
HandleLoadOverlay(gBacklightTop.unk10, 0);
gBacklightTop.unk8 = gBacklightTop.unk10;
gBacklightTop.unkC = FUN_02006234(gBacklightTop.unk14, &gBacklightTop.unk18, 0);
- gBacklightTop.unk10 = -1u;
+ gBacklightTop.unk10 = SDK_OVERLAY_INVALID_ID;
gBacklightTop.unk14 = NULL;
}
if (FUN_02006290(gBacklightTop.unkC))
{
FUN_02006260(gBacklightTop.unkC);
gBacklightTop.unkC = 0;
- if (gBacklightTop.unk8 != -1u)
+ if (gBacklightTop.unk8 != SDK_OVERLAY_INVALID_ID)
UnloadOverlayByID(gBacklightTop.unk8);
}
}
diff --git a/arm9/src/unk_02006234.c b/arm9/src/unk_02006234.c
new file mode 100644
index 00000000..8915ab83
--- /dev/null
+++ b/arm9/src/unk_02006234.c
@@ -0,0 +1,78 @@
+#include "global.h"
+#include "main.h"
+#include "poke_overlay.h"
+#include "heap.h"
+
+THUMB_FUNC struct UnkStruct_02006234 * FUN_02006234(struct Unk21DBE18 * ovly_mgr, int * a1, u32 heap_id)
+{
+ struct UnkStruct_02006234 * ret = (struct UnkStruct_02006234 *)AllocFromHeap(heap_id, sizeof(struct UnkStruct_02006234));
+ ret->ovly_mgr = *ovly_mgr;
+ ret->unk10 = 0;
+ ret->unk14 = 0;
+ ret->unk18 = a1;
+ ret->unk1C = NULL;
+ ret->unk20 = 0;
+ ret->unk24 = 0;
+ return ret;
+}
+
+THUMB_FUNC void FUN_02006260(struct UnkStruct_02006234 * a0)
+{
+ FreeToHeap(a0);
+}
+
+THUMB_FUNC void * FUN_02006268(struct UnkStruct_02006234 * a0, u32 size, u32 heap_id)
+{
+ return a0->unk1C = AllocFromHeap(heap_id, size);
+}
+
+THUMB_FUNC void * FUN_02006278(struct UnkStruct_02006234 * a0)
+{
+ return a0->unk1C;
+}
+
+THUMB_FUNC void FUN_0200627C(struct UnkStruct_02006234 * a0)
+{
+ FreeToHeap(a0->unk1C);
+ a0->unk1C = NULL;
+}
+
+THUMB_FUNC int * FUN_0200628C(struct UnkStruct_02006234 * a0)
+{
+ return a0->unk18;
+}
+
+THUMB_FUNC BOOL FUN_02006290(struct UnkStruct_02006234 * a0)
+{
+ switch (a0->unk10)
+ {
+ case 0:
+ if (a0->ovly_mgr.ovly != SDK_OVERLAY_INVALID_ID)
+ HandleLoadOverlay(a0->ovly_mgr.ovly, 2);
+ a0->unk10 = 1;
+ // fallthrough
+ case 1:
+ if (a0->ovly_mgr.unk0(a0, &a0->unk14) == TRUE)
+ {
+ a0->unk10 = 2;
+ a0->unk14 = 0;
+ }
+ break;
+ case 2:
+ if (a0->ovly_mgr.unk4(a0, &a0->unk14) == TRUE)
+ {
+ a0->unk10 = 3;
+ a0->unk14 = 0;
+ }
+ break;
+ case 3:
+ if (a0->ovly_mgr.unk8(a0, &a0->unk14) == TRUE)
+ {
+ if (a0->ovly_mgr.ovly != SDK_OVERLAY_INVALID_ID)
+ UnloadOverlayByID(a0->ovly_mgr.ovly);
+ return TRUE;
+ }
+ break;
+ }
+ return FALSE;
+}