summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-01-18 12:32:32 -0600
committerSeth Barberee <seth.barberee@gmail.com>2021-01-20 16:02:26 -0600
commitd010378f7280ee7ff2212d9ed8b38c2c201b5335 (patch)
treebec14bbcb063e65e9dce2def9b37bcafc74a8f54 /src
parent02f3b08f8ca256b04001c85f3fa8a54fcebbb40b (diff)
mass doc'ing of symbols and some tiny decomp work
Diffstat (limited to 'src')
-rw-r--r--src/code_2.c1
-rw-r--r--src/code_800D090.c14
-rw-r--r--src/code_80118A4.c77
-rw-r--r--src/code_8027C84_pre.c6
-rw-r--r--src/code_803C190.c34
-rw-r--r--src/code_803C1B4.c17
-rw-r--r--src/code_8040094.c4
-rw-r--r--src/code_8048480.c131
-rw-r--r--src/code_8098BDC.c26
-rw-r--r--src/fatal_system.c36
-rw-r--r--src/friend_area.c6
-rw-r--r--src/pokemon.c4
-rw-r--r--src/pokemon_1.c6
-rw-r--r--src/pokemon_mail.c20
-rw-r--r--src/text.c10
15 files changed, 304 insertions, 88 deletions
diff --git a/src/code_2.c b/src/code_2.c
index ef469c8..1830188 100644
--- a/src/code_2.c
+++ b/src/code_2.c
@@ -64,7 +64,6 @@ extern void sub_8005180(void);
extern void sub_80060EC(void);
extern void sub_8011860(void);
extern void sub_800CB20(void);
-extern void LoadBufferedInputs(void);
extern void CopySpritesToOam(void);
extern void sub_8005304(void);
extern void TransferBGPaletteBuffer(void);
diff --git a/src/code_800D090.c b/src/code_800D090.c
index 1031a2d..da82789 100644
--- a/src/code_800D090.c
+++ b/src/code_800D090.c
@@ -1,4 +1,8 @@
-#include "global.h"
+#include <stdarg.h>
+#include <stdio.h>
+#include "gba/gba.h"
+#include "config.h"
+
extern void SoundBiasReset(void);
extern void SoundBiasSet(void);
@@ -63,3 +67,11 @@ void sub_800D098(void)
REG_DISPCNT = dispcnt_save; // restore DISPCNT
while(REG_KEYINPUT != 0x3ff){} // All buttons
}
+
+void sub_800D158(u8 *buffer, const char *text, ...)
+{
+ va_list vArgv;
+ va_start(vArgv, text);
+ vsprintf(buffer, text, vArgv);
+ va_end(vArgv);
+}
diff --git a/src/code_80118A4.c b/src/code_80118A4.c
index c4022da..2cb450d 100644
--- a/src/code_80118A4.c
+++ b/src/code_80118A4.c
@@ -1,6 +1,9 @@
#include "global.h"
#include "music.h"
#include "constants/bg_music.h"
+#include "time.h"
+#include "bg.h"
+#include "input.h"
void sub_8011924(void);
void nullsub_26(void);
@@ -24,6 +27,29 @@ extern void nullsub_28(void);
extern int sprintf(char *, const char *, ...);
+extern struct PlayTimeStruct *gUnknown_203B47C;
+
+struct UnkSaveStruct1
+{
+ /* 0x0 */ u32 unk0;
+ /* 0x4 */ u32 unk4;
+ /* 0x8 */ u16 unk8;
+ /* 0xA */ u8 unkA;
+};
+extern struct UnkSaveStruct1 *gUnknown_203B46C;
+
+struct UnkBgStruct
+{
+ u8 padding[0x4c4b];
+ u32 unk4c4c;
+ u8 padding2[0x17A];
+ u32 *unk4dcc;
+ u32 unk4dd0;
+ s16 unk4dd4;
+ s16 unk4dd6;
+};
+extern struct UnkBgStruct *gUnknown_203B0E4;
+
struct DebugLocation
{
char *file;
@@ -39,8 +65,51 @@ extern s16 gUnknown_202DE24;
extern u32 gUnknown_202DE1C;
extern u32 gUnknown_203B14C;
extern const char gNotEntryText[];
-extern const char gUnknown_80D418C[];
-extern const char gUnknown_80D41C4[];
+extern const char gFuncFileLineString[];
+extern const char gFuncFileLineStringWPrefix[];
+
+void nullsub_8(u32);
+void sub_8005838(u32, u32);
+extern void CopySpritesToOam(void);
+extern void sub_8005304(void);
+extern void TransferBGPaletteBuffer(void);
+extern void xxx_call_update_bg_vram(void);
+extern void sub_8009908(void);
+extern void xxx_call_update_bg_sound_input(void);
+extern void sub_8005180(void);
+extern void sub_80060EC(void);
+extern void sub_8011860(void);
+extern void sub_800CB20(void);
+extern void ResetSprites(u32);
+extern void sub_8004AF0(u8, u32 *r1, u32, u32, u32 *r2, u32);
+extern u8 sub_80111C4();
+extern void sub_8010F28();
+
+void sub_801169C(void)
+{
+ u8 return_var;
+
+ SetBG2RegOffsets(gUnknown_203B0E4->unk4dd4, gUnknown_203B0E4->unk4dd6);
+ SetBG3RegOffsets(gUnknown_203B0E4->unk4dd4, gUnknown_203B0E4->unk4dd6);
+ sub_8010F28();
+ return_var = sub_80111C4();
+ sub_8004AF0(return_var, &(gUnknown_203B0E4->unk4c4c), 0xB0, 0x10, (gUnknown_203B0E4->unk4dcc), 0);
+ sub_8005838(0, 0);
+ nullsub_8(gUnknown_203B46C->unkA);
+ sub_8005180();
+ sub_80060EC();
+ IncrementPlayTime(gUnknown_203B47C);
+ sub_800CB20();
+ LoadBufferedInputs();
+ CopySpritesToOam();
+ sub_8005304();
+ TransferBGPaletteBuffer();
+ xxx_call_update_bg_vram();
+ sub_8009908();
+ xxx_call_update_bg_sound_input();
+ sub_8011860();
+ ResetSprites(0);
+}
void sub_8011760(void)
{
@@ -251,7 +320,7 @@ void PrintFuncFileLineOrNotEntry(char * r0, struct DebugLocation *r1)
{
if(r1 != 0)
{
- sprintf(r0, gUnknown_80D418C, r1->func, r1->file, r1->line);
+ sprintf(r0, gFuncFileLineString, r1->func, r1->file, r1->line);
}
else
{
@@ -261,5 +330,5 @@ void PrintFuncFileLineOrNotEntry(char * r0, struct DebugLocation *r1)
void PrintFuncFileLine(char *buf, struct DebugLocation *loc, char* prefix)
{
- sprintf(buf, gUnknown_80D41C4, prefix, loc->func, loc->file, loc->line);
+ sprintf(buf, gFuncFileLineStringWPrefix, prefix, loc->func, loc->file, loc->line);
}
diff --git a/src/code_8027C84_pre.c b/src/code_8027C84_pre.c
index 2dbdd66..9ff107e 100644
--- a/src/code_8027C84_pre.c
+++ b/src/code_8027C84_pre.c
@@ -28,11 +28,11 @@ struct UnkStructTemp
/* 0x14 */ u32 unk14;
/* 0x18 */ u32 unk18;
/* 0x1C */ u32 unk1C;
- /* 0x20 */ struct UnkOtherStructTemp *unk20;
+ /* 0x20 */ u32 unk20;
/* 0x24 */ u16 unk24;
/* 0x26 */ u16 unk26;
/* 0x28 */ u16 unk28;
- /* 0x2A */ u16 unk2A;
+ /* 0x2A */ u16 *unk2A;
};
@@ -79,7 +79,7 @@ void sub_8027C84()
// // lsls r0, 3
// // adds r0, r1, r0
// // Why are we shifting the pointer by 3?
-// gUnknown_203B2BC->unk24 = temp_store->unk2A;
+// gUnknown_203B2BC->unk24 = temp_store->unk2A[temp_store];
// sub_8027184(0x10);
// break;
// }
diff --git a/src/code_803C190.c b/src/code_803C190.c
deleted file mode 100644
index 26565c0..0000000
--- a/src/code_803C190.c
+++ /dev/null
@@ -1,34 +0,0 @@
-#include "global.h"
-
-struct unkStruct_80EBA18
-{
- u32 unk0;
- u32 unk4;
-};
-
-extern struct unkStruct_80EBA18 gUnknown_80EBA18[];
-extern s32 sub_80908D8(u32);
-
-u32 sub_803C190(u8 r0)
-{
- return gUnknown_80EBA18[r0].unk0;
-}
-
-
-u32 sub_803C1A0(u8 r0)
-{
- return gUnknown_80EBA18[r0].unk4;
-}
-
-s32 sub_803C1B4(s32 r0, u8 r1)
-{
- s32 temp;
- temp = sub_80908D8(r0);
- if(r1 == 2)
- {
- temp += 2;
- }
- if(temp > 0xF)
- temp = 0xF;
- return temp;
-}
diff --git a/src/code_803C1B4.c b/src/code_803C1B4.c
new file mode 100644
index 0000000..5f37e61
--- /dev/null
+++ b/src/code_803C1B4.c
@@ -0,0 +1,17 @@
+#include "global.h"
+
+extern s32 sub_80908D8(u32);
+
+s32 sub_803C1B4(s32 r0, u8 r1)
+{
+ s32 temp;
+ temp = sub_80908D8(r0);
+ if(r1 == 2)
+ {
+ temp += 2;
+ }
+ if(temp > 0xF)
+ temp = 0xF;
+ return temp;
+}
+
diff --git a/src/code_8040094.c b/src/code_8040094.c
index f322fa9..bb4e208 100644
--- a/src/code_8040094.c
+++ b/src/code_8040094.c
@@ -20,7 +20,7 @@ extern struct unkStruct_203B418 *gUnknown_203B418;
extern s32 gUnknown_80F6568[];
extern u8 gUnknown_202EE01;
extern const char gUnknown_80F6604; // "zmappat"
-extern struct FileArchive gUnknown_83B0000;
+extern struct FileArchive gDungeonFileArchive;
extern struct OpenedFile *gUnknown_202EE04;
extern void sub_803F7BC(void);
@@ -65,5 +65,5 @@ void sub_8040124(void)
void sub_8040130(void)
{
- gUnknown_202EE04 = OpenFileAndGetFileDataPtr(&gUnknown_80F6604, &gUnknown_83B0000);
+ gUnknown_202EE04 = OpenFileAndGetFileDataPtr(&gUnknown_80F6604, &gDungeonFileArchive);
}
diff --git a/src/code_8048480.c b/src/code_8048480.c
index 8ede564..4d403e1 100644
--- a/src/code_8048480.c
+++ b/src/code_8048480.c
@@ -9,43 +9,140 @@ struct unkDungeon_8041D5C
extern u32 gUnknown_80F89F4;
extern u32 gUnknown_202DF98;
extern u32 gUnknown_80FB580;
+extern s16 gUnknown_80F4FB6;
+extern s16 gUnknown_80F4FB8;
+extern s16 gUnknown_80F4FBA;
+extern s16 gUnknown_80F4FBC;
+extern s16 gUnknown_80F4FBE;
-extern void sub_807D148(u32 r0, u32 r1, u32 r2, u32 r3);
-extern void sub_8075FCC(void);
-extern void sub_8077AE4(u32 r0, u32 r1, u32 r2);
-extern void sub_8072008(u32 r0, u32 r1, u32 r2, u8 r3);
-extern void sub_8076D10(void);
-extern void sub_807232C(u32 r0, u32 r1, u32 r2);
+extern void sub_807D148(u32 r0, struct unkDungeon_8041D5C *r1, u32 r2, u32 r3);
+extern void sub_8075FCC(u32 r0, struct unkDungeon_8041D5C *r1);
+extern void sub_8077AE4(u32 r0, struct unkDungeon_8041D5C *r1, u32 r2);
+extern void sub_8072008(u32 r0, struct unkDungeon_8041D5C *r1, u32 r2, u8 r3);
+extern void sub_8076D10(u32 r0, struct unkDungeon_8041D5C *r1);
+extern void sub_807232C(u32 r0, struct unkDungeon_8041D5C *r1, u32 r2);
extern void sub_8045B94(u32 *r0, struct unkDungeon_8041D5C *r1, u32);
-extern void sub_807A290(u32);
+extern void sub_807A290(u32, struct unkDungeon_8041D5C *r1);
extern void sub_80522F4(u32 r0, struct unkDungeon_8041D5C *r1, u32);
+extern void sub_8079270(u32 r0, struct unkDungeon_8041D5C *r1);
+extern void sub_8077910(u32, struct unkDungeon_8041D5C *r1, u32, u32);
+extern void sub_80791D8(u32, struct unkDungeon_8041D5C *r1);
+extern void sub_8079140(u32, struct unkDungeon_8041D5C *r1);
+extern void sub_8077C44(u32, struct unkDungeon_8041D5C *r1, s16, s16, u32);
+extern void sub_80792F8(u32, struct unkDungeon_8041D5C *r1, u32);
+extern void sub_8079F20(u32, struct unkDungeon_8041D5C *r1, u32, u8);
+extern void sub_806F370(u32, struct unkDungeon_8041D5C *r1, u32, u32);
-void sub_8048480(u32 r0, u32 r1)
+void sub_8048340(u32 r0, struct unkDungeon_8041D5C *r1, u32 r2)
+{
+ u32 temp[6];
+
+ temp[0] = 0;
+ temp[1] = 0;
+ temp[2] = 528;
+ temp[3] = 0;
+ temp[4] = 0;
+ temp[5] = 0;
+ sub_806F370(r0, r1, r2, 1);
+}
+
+void sub_8048364(u32 r0, struct unkDungeon_8041D5C *r1, u8 r2)
+{
+ sub_8079F20(r0, r1, 1, r2);
+}
+
+void sub_8048374(u32 r0, struct unkDungeon_8041D5C *r1)
+{
+ sub_8077C44(r0, r1, gUnknown_80F4FB6, gUnknown_80F4FB8, 1);
+}
+
+
+void sub_804839C(u32 r0, struct unkDungeon_8041D5C *r1)
+{
+ sub_8077C44(r0, r1, gUnknown_80F4FBA, gUnknown_80F4FBC, 1);
+}
+
+
+void sub_80483C4(u32 r0, struct unkDungeon_8041D5C *r1)
+{
+ sub_80792F8(r0, r1, 999);
+}
+
+void sub_80483D4(u32 r0, struct unkDungeon_8041D5C *r1)
+{
+ sub_8077C44(r0, r1, 0, gUnknown_80F4FBE, 1);
+}
+
+void sub_80483F4(u32 r0, struct unkDungeon_8041D5C *r1)
+{
+ sub_8079140(r0, r1);
+}
+
+void sub_8048400(u32 r0, struct unkDungeon_8041D5C *r1)
+{
+ sub_80791D8(r0, r1);
+}
+
+void sub_804840C(u32 r0, struct unkDungeon_8041D5C *r1)
+{
+ sub_8077910(r0, r1, 0, 1);
+}
+
+void sub_804841C(u32 r0, struct unkDungeon_8041D5C *r1)
+{
+ sub_8079270(r0, r1);
+}
+
+void sub_8048428(u32 r0, struct unkDungeon_8041D5C *r1)
+{
+ u8 *temp;
+ temp = r1->unk70[0];
+ if(temp[0xAC] == 4)
+ {
+ sub_807A290(r0, r1);
+ return;
+ }
+ sub_80522F4(r0, r1, gUnknown_80F89F4);
+}
+
+void sub_8048450(u32 r0, struct unkDungeon_8041D5C *r1)
+{
+ u8 *temp;
+ temp = r1->unk70[0];
+ if((u8)(temp[0xAC] - 2) <= 1)
+ {
+ sub_807A290(r0, r1);
+ return;
+ }
+ sub_80522F4(r0, r1, gUnknown_80F89F4);
+}
+
+void sub_8048480(u32 r0, struct unkDungeon_8041D5C *r1)
{
sub_807D148(r0, r1, 0, 0);
}
-void sub_8048490(void)
+void sub_8048490(u32 r0, struct unkDungeon_8041D5C *r1)
{
- sub_8075FCC();
+ sub_8075FCC(r0, r1);
}
-void sub_804849C(u32 r0, u32 r1)
+void sub_804849C(u32 r0, struct unkDungeon_8041D5C *r1)
{
sub_8077AE4(r0, r1, 1);
}
-void sub_80484A8(u32 r0, u32 r1)
-{
+void sub_80484A8(u32 r0, struct unkDungeon_8041D5C *r1)
+{
volatile u32 temp;
temp = 1;
sub_8072008(r0, r1, 1, 1);
}
-void sub_80484BC(void)
+void sub_80484BC(u32 r0, struct unkDungeon_8041D5C *r1)
{
- sub_8076D10();
+ sub_8076D10(r0, r1);
}
void sub_80484C8(u32 r0, struct unkDungeon_8041D5C *r1)
@@ -53,7 +150,7 @@ void sub_80484C8(u32 r0, struct unkDungeon_8041D5C *r1)
sub_80522F4(r0, r1, gUnknown_80F89F4);
}
-void sub_80484DC(u32 r0, u32 r1)
+void sub_80484DC(u32 r0, struct unkDungeon_8041D5C *r1)
{
sub_807232C(r0, r1, 1);
}
@@ -64,7 +161,7 @@ void sub_80484E8(u32 r0, struct unkDungeon_8041D5C *r1)
temp = r1->unk70[0];
if(temp[0xAC] == 1)
{
- sub_807A290(r0);
+ sub_807A290(r0, r1);
return;
}
sub_8045B94(&gUnknown_202DF98, r1, 0);
diff --git a/src/code_8098BDC.c b/src/code_8098BDC.c
index 40a25fa..a7c8534 100644
--- a/src/code_8098BDC.c
+++ b/src/code_8098BDC.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "time.h"
+#include "input.h"
extern struct PlayTimeStruct *gUnknown_203B47C;
extern u32 gUnknown_20398A8;
@@ -14,13 +15,13 @@ extern u16 gUnknown_20398BE;
extern u8 gUnknown_203B49D;
extern u8 gUnknown_203B49C;
-extern u32 gUnknown_8115F5C;
-extern u32 gUnknown_8115F80;
-extern u32 gUnknown_8115FA4;
-extern u32 gUnknown_8115FC8;
-extern u32 gUnknown_8115FE8;
+extern const char gUnknown_8115F5C;
+extern const char gUnknown_8115F80;
+extern const char gUnknown_8115FA4;
+extern const char gUnknown_8115FC8;
+extern const char gUnknown_8115FE8;
-extern void Log(u32, u32*, s32, u32);
+extern void Log(u8 *, const char*, ...);
extern void sub_809B57C();
extern void GroundScript_Unlock();
@@ -33,7 +34,6 @@ extern void sub_8099BE4();
extern void sub_8099744();
extern void sub_8011860();
extern void sub_800CB20();
-extern void LoadBufferedInputs();
extern void nullsub_120();
extern void sub_80A5E70();
extern void sub_809B638();
@@ -179,7 +179,7 @@ bool8 sub_8098D1C(s16 r0, u32 r1, u32 r2)
temp = r0; // force a asr shift
if(gUnknown_20398A8 == 0)
{
- Log(0, &gUnknown_8115F5C, temp, r2);
+ Log(NULL, &gUnknown_8115F5C, temp, r2);
gUnknown_20398A8 = 1;
gUnknown_20398AC = 1;
gUnknown_20398B0 = r2;
@@ -230,7 +230,7 @@ bool8 sub_8098E18(s16 r0, u32 r1)
s32 r2 = r0, r5 = r2;
if(gUnknown_20398A8 == 0)
{
- Log(0, &gUnknown_8115F80, r2, r1);
+ Log(NULL, &gUnknown_8115F80, r2, r1);
if(gUnknown_203B49D != 0)
{
gUnknown_20398A8 = 7;
@@ -263,7 +263,7 @@ u32 sub_8098EB0(u32 r0, u32 r1, u32 r2, u32 r3)
{
if(gUnknown_203B49D != 0)
{
- Log(0, &gUnknown_8115FA4, r0, r3);
+ Log(NULL, &gUnknown_8115FA4, r0, r3);
gUnknown_20398A8 = 7;
gUnknown_20398AC = 1;
gUnknown_20398B0 = r0;
@@ -278,7 +278,7 @@ u32 sub_8098F00(u32 r0, u32 r1, u32 r2, u32 r3)
{
if(gUnknown_20398A8 == 0)
{
- Log(0, &gUnknown_8115FC8, r0, r3);
+ Log(NULL, &gUnknown_8115FC8, r0, r3);
gUnknown_20398A8 = 9;
gUnknown_20398AC = 1;
gUnknown_20398B0 = r0;
@@ -292,8 +292,8 @@ u32 sub_8098F44(u32 r0, u32 r1, u32 r2, u32 r3)
{
if(gUnknown_20398A8 == 0)
{
- Log(0, &gUnknown_8115FE8, r0, r3);
- gUnknown_20398A8 = 0xA;
+ Log(NULL, &gUnknown_8115FE8, r0, r3);
+ gUnknown_20398A8 = 10;
gUnknown_20398AC = 1;
gUnknown_20398B0 = r0;
sub_809C730();
diff --git a/src/fatal_system.c b/src/fatal_system.c
index 3d5bb25..31c430e 100644
--- a/src/fatal_system.c
+++ b/src/fatal_system.c
@@ -51,3 +51,39 @@ void UnusedHang(void)
{
Hang();
}
+
+void Log(u8 *buffer, const char *text, ...)
+{
+ va_list vArgv;
+ va_start(vArgv, text);
+ va_end(vArgv);
+}
+
+// Unused
+void sub_8011BC8(u32 r0, u32 r1, u32 r2, ...)
+{
+ va_list vArgv;
+ va_start(vArgv, r2);
+ va_end(vArgv);
+}
+
+void nullsub_29()
+{
+}
+
+void nullsub_30()
+{
+}
+
+void nullsub_31()
+{
+}
+
+void nullsub_32()
+{
+}
+
+void FatalErrorHang()
+{
+ Hang();
+}
diff --git a/src/friend_area.c b/src/friend_area.c
index a737302..445a1cf 100644
--- a/src/friend_area.c
+++ b/src/friend_area.c
@@ -28,14 +28,14 @@ struct unkFriendAreaStruct
extern struct unkStruct_203B45C gUnknown_203B45C[];
-extern struct FriendAreaSettings gFriendAreaSettings[58];
extern bool8 *gFriendAreas;
extern u32 gFriendAreaDescriptions[];
extern const char *gFriendAreaNames[];
-extern u32 gUnknown_81098A4;
+extern const char gUnknown_81098A4;
+extern const char gUnknown_81098AC;
-extern void sub_800D158(u8 *buffer, u32 *r1, const char *r2, ...);
+extern void sub_800D158(u8 *buffer, const char *r2, ...);
extern void sub_8090FEC(u32, u32 *r1, u32);
diff --git a/src/pokemon.c b/src/pokemon.c
index 11dc189..1df0542 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -4,7 +4,7 @@
extern u32 *gUnknown_203B45C;
extern u32 gUnknown_202F400;
-extern struct FileArchive gUnknown_8300500;
+extern struct FileArchive gSystemFileArchive;
extern const char gUnknown_81075F4;
extern struct OpenedFile *gMonsterParametersFile;
extern u16 gLevelCurrentPokeId;
@@ -29,7 +29,7 @@ u64 *sub_808CDB0(u8 r0)
void LoadMonsterParameters(void)
{
gUnknown_203B45C = &gUnknown_202F400;
- gMonsterParametersFile = OpenFileAndGetFileDataPtr(&gUnknown_81075F4, &gUnknown_8300500);
+ gMonsterParametersFile = OpenFileAndGetFileDataPtr(&gUnknown_81075F4, &gSystemFileArchive);
// TODO verify this... other parts imply this is an array
gMonsterParameters.species = gMonsterParametersFile->data;
gLevelCurrentPokeId = 0;
diff --git a/src/pokemon_1.c b/src/pokemon_1.c
index ebb24d7..80ae6a1 100644
--- a/src/pokemon_1.c
+++ b/src/pokemon_1.c
@@ -5,7 +5,7 @@
extern int sprintf(char *, const char *, ...);
extern struct gPokemon *gMonsterParameters;
-extern struct FileArchive gUnknown_8510000;
+extern struct FileArchive gMonsterFileArchive;
extern const char gUnknown_8107684[];
struct unkEvolve
@@ -51,7 +51,7 @@ struct OpenedFile *sub_808DD90(s16 r0)
return NULL;
}
sprintf(buffer, gUnknown_8107684, r0); // "kao%03d"
- return OpenFile(buffer, &gUnknown_8510000);
+ return OpenFile(buffer, &gMonsterFileArchive);
}
struct OpenedFile *sub_808DDD0(s16 r0)
@@ -64,7 +64,7 @@ struct OpenedFile *sub_808DDD0(s16 r0)
return NULL;
}
sprintf(buffer, gUnknown_8107684, r0); // "kao%03d"
- return OpenFileAndGetFileDataPtr(buffer, &gUnknown_8510000);
+ return OpenFileAndGetFileDataPtr(buffer, &gMonsterFileArchive);
}
bool8 sub_808DE10(s16 r0, s32 r1)
diff --git a/src/pokemon_mail.c b/src/pokemon_mail.c
new file mode 100644
index 0000000..365bafd
--- /dev/null
+++ b/src/pokemon_mail.c
@@ -0,0 +1,20 @@
+#include "global.h"
+
+struct Pokemon_Mail
+{
+ char *headline;
+ char *text;
+};
+
+extern struct Pokemon_Mail gPokemonMail[];
+
+char *GetPokemonMailHeadline(u8 index)
+{
+ return gPokemonMail[index].headline;
+}
+
+
+char *GetPokemonMailText(u8 index)
+{
+ return gPokemonMail[index].text;
+}
diff --git a/src/text.c b/src/text.c
index 65275ef..6ef7f5e 100644
--- a/src/text.c
+++ b/src/text.c
@@ -46,9 +46,9 @@ void sub_80089AC(const struct UnkTextStruct2 *a0, void *a1);
void sub_8009388(void);
extern const struct UnkTextStruct2 gUnknown_80B857C[4];
-extern const char gUnknown_80B87B4[];
-extern const char gUnknown_80B87BC[];
-extern const struct FileArchive gUnknown_8300500;
+extern const char gKanjiA_file_string[];
+extern const char gKanjiB_file_string[];
+extern const struct FileArchive gSystemFileArchive;
extern const u32 gUnknown_80B87C4[8];
extern const u32 gUnknown_80B87E4[8];
extern const u32 gUnknown_80B8804[4];
@@ -60,8 +60,8 @@ void LoadCharmaps(void)
int k;
gCurrentCharmap = 0;
- gCharmapFiles[0] = OpenFileAndGetFileDataPtr(gUnknown_80B87B4, &gUnknown_8300500);
- gCharmapFiles[1] = OpenFileAndGetFileDataPtr(gUnknown_80B87BC, &gUnknown_8300500);
+ gCharmapFiles[0] = OpenFileAndGetFileDataPtr(gKanjiA_file_string, &gSystemFileArchive);
+ gCharmapFiles[1] = OpenFileAndGetFileDataPtr(gKanjiB_file_string, &gSystemFileArchive);
gCharmaps[0] = gCharmapFiles[0]->data;
gCharmaps[1] = gCharmapFiles[1]->data;
gUnknown_202B028[0] = 11;