summaryrefslogtreecommitdiff
path: root/src/wonder_mail_pre.c
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-09-01 18:05:30 -0700
committerGitHub <noreply@github.com>2021-09-01 18:05:30 -0700
commitdb05ce306fa55c9d64b7123e47cf2b66416afe40 (patch)
treefa0258192daa7a0319a425a688e1c56a8ed67ab2 /src/wonder_mail_pre.c
parent459171cf48157699e044b66b8274e500ecd5fe0d (diff)
More PMD grind (#50)
* more sese grind * match sub_802ABF8 * some more work
Diffstat (limited to 'src/wonder_mail_pre.c')
-rw-r--r--src/wonder_mail_pre.c310
1 files changed, 260 insertions, 50 deletions
diff --git a/src/wonder_mail_pre.c b/src/wonder_mail_pre.c
index 9e2e5cc..34cbaea 100644
--- a/src/wonder_mail_pre.c
+++ b/src/wonder_mail_pre.c
@@ -2,6 +2,7 @@
#include "file_system.h"
#include "input.h"
#include "pokemon.h"
+#include "sub_8095228.h"
#include "wonder_mail.h"
#include "memory.h"
@@ -10,57 +11,64 @@ extern struct WonderMailStruct_203B2C0 *gUnknown_203B2C0;
extern char gUnknown_202E5D8[0x50];
extern char gAvailablePokemonNames[0x50];
-extern void sub_8029B34();
-extern void sub_8029AD8();
-extern void sub_8029AF4();
-extern void sub_8029A88();
-extern void sub_8029AB0();
-extern void sub_80297B8();
-extern void sub_80297D4();
-extern void sub_8029884();
-extern void sub_8029944();
-extern void sub_80299AC();
-extern void sub_80299D8();
-extern void sub_8029A6C();
-extern void sub_8028CE0();
-extern void sub_8028BF0();
-extern void sub_8029A18();
-extern void sub_80295A8();
-extern void sub_8029668();
-extern void sub_8029684();
-extern void sub_8029740();
-extern void sub_80295D8();
-extern void sub_802979C();
-extern void sub_8029358();
-extern void sub_8029374();
-extern void sub_802939C();
-extern void sub_8028F58();
-extern void sub_8028F30();
-extern void sub_8028F04();
-extern void sub_8028ED4();
-extern void sub_80293D8();
-extern void sub_80293F4();
+extern void sub_8029B34(void);
+extern void sub_8029AD8(void);
+extern void sub_8029AF4(void);
+extern void sub_8029A88(void);
+extern void sub_8029AB0(void);
+extern void sub_80297B8(void);
+extern void sub_80297D4(void);
+extern void sub_8029884(void);
+extern void sub_8029944(void);
+extern void sub_80299AC(void);
+extern void sub_80299D8(void);
+extern void sub_8029A6C(void);
+extern void sub_8028CE0(void);
+extern void sub_8028BF0(void);
+extern void sub_8029A18(void);
+extern void sub_80295A8(void);
+extern void sub_8029668(void);
+extern void sub_8029684(void);
+extern void sub_8029740(void);
+extern void sub_80295D8(void);
+extern void sub_802979C(void);
+extern void sub_8029358(void);
+extern void sub_8029374(void);
+extern void sub_802939C(void);
+extern void sub_8028F58(void);
+extern void sub_8028F30(void);
+extern void sub_8028F04(void);
+extern void sub_8028ED4(void);
+extern void sub_80293D8(void);
+extern void sub_80293F4(void);
extern void sub_8028DE8(u32);
-extern void sub_8028EAC();
-extern void sub_802955C();
-extern void sub_80292A4();
-extern void sub_80292EC();
-extern void sub_802933C();
-extern void sub_802958C();
-extern void sub_8029208();
-extern void sub_8028E84();
-extern void sub_8028F80();
-extern void sub_8028FC0();
-extern void sub_8028FDC();
-extern void sub_8028E54();
-extern void sub_8028E24();
-extern void sub_8028E08();
-extern void sub_80290D4();
-extern void sub_80290F0();
-extern void sub_80291AC();
-extern void sub_8029044();
-extern void sub_8028CFC();
-extern void sub_8028D4C();
+extern void sub_8028EAC(void);
+extern void sub_802955C(void);
+extern void sub_80292A4(void);
+extern void sub_80292EC(void);
+extern void sub_802933C(void);
+extern void sub_802958C(void);
+extern void sub_8029208(void);
+extern void sub_8028E84(void);
+extern void sub_8028F80(void);
+extern void sub_8028FC0(void);
+extern void sub_8028FDC(void);
+extern void sub_8028E54(void);
+extern void sub_8028E24(void);
+extern void sub_8028E08(void);
+extern void sub_80290D4(void);
+extern void sub_80290F0(void);
+extern void sub_80291AC(void);
+extern void sub_8029044(void);
+extern void sub_8028CFC(void);
+extern void sub_8028D4C(void);
+extern void sub_8031E10(void);
+extern void sub_8023C60(void);
+extern void sub_803084C(void);
+extern void sub_80155F0(void);
+extern void sub_80310B4(void);
+extern void sub_8030DE4(void);
+extern void sub_802453C(void);
u32 sub_8027F88(void)
{
@@ -93,3 +101,205 @@ u32 sub_8027F88(void)
sub_8028B04(0); // Set initial state to 0?
return 1;
}
+
+u32 sub_8028078(void)
+{
+
+ switch(gUnknown_203B2C0->state) {
+ case 0x3c:
+ sub_8029B34();
+ break;
+ case 0x3a:
+ sub_8029AD8();
+ break;
+ case 0x3b:
+ sub_8029AF4();
+ break;
+ case 0x38:
+ sub_8029A88();
+ break;
+ case 0x37:
+ sub_8029AB0();
+ break;
+ case 0x32:
+ sub_80297B8();
+ break;
+ case 0x33:
+ sub_80297D4();
+ break;
+ case 0x34:
+ sub_8029884();
+ break;
+ case 0x35:
+ sub_8029944();
+ break;
+ case 0x31:
+ sub_80299AC();
+ break;
+ case 0x36:
+ sub_80299D8();
+ break;
+ case 0x30:
+ sub_8029A6C();
+ break;
+ case 0x2e:
+ sub_8029A18();
+ break;
+ case 0x2d:
+ sub_80295A8();
+ break;
+ case 0x29:
+ sub_8029668();
+ break;
+ case 0x2b:
+ sub_8029684();
+ break;
+ case 0x2c:
+ sub_8029740();
+ break;
+ case 0x2a:
+ sub_80295D8();
+ break;
+ case 0x2f:
+ sub_802979C();
+ break;
+ case 9:
+ sub_8029358();
+ break;
+ case 0x23:
+ sub_8029374();
+ break;
+ case 0x24:
+ sub_802939C();
+ break;
+ case 0x26:
+ sub_80293D8();
+ break;
+ case 0x27:
+ sub_80293F4();
+ break;
+ case 0x28:
+ sub_802955C();
+ break;
+ case 4:
+ sub_80292A4();
+ break;
+ case 6:
+ sub_80292EC();
+ break;
+ case 7:
+ sub_802933C();
+ break;
+ case 5:
+ sub_802958C();
+ break;
+ case 8:
+ sub_8029208();
+ break;
+ case 0x1a:
+ sub_8028DE8(1);
+ break;
+ case 0x1b:
+ sub_8028F80();
+ break;
+ case 0x1c:
+ case 0x1d:
+ sub_8028FC0();
+ break;
+ case 0x22:
+ sub_8028FDC();
+ break;
+ case 0x1e:
+ sub_80290D4();
+ break;
+ case 0x20:
+ sub_80290F0();
+ break;
+ case 0x21:
+ sub_80291AC();
+ break;
+ case 0x1f:
+ sub_8029044();
+ break;
+ case 10:
+ sub_8028CFC();
+ break;
+ case 0xb:
+ sub_8028D4C();
+ break;
+ case 0xd:
+ case 0xf:
+ sub_8028DE8(10);
+ break;
+ case 0x11:
+ sub_8028E08();
+ break;
+ case 0xc:
+ case 0xe:
+ case 0x10:
+ sub_8028DE8(0x19);
+ break;
+ case 0x12:
+ sub_8028E24();
+ break;
+ case 0x13:
+ sub_8028E54();
+ break;
+ case 0x17:
+ sub_8028E84();
+ break;
+ case 0x18:
+ sub_8028EAC();
+ break;
+ case 0x19:
+ sub_8028ED4();
+ break;
+ case 0x14:
+ sub_8028F04();
+ break;
+ case 0x15:
+ sub_8028F30();
+ break;
+ case 0x16:
+ sub_8028F58();
+ break;
+ case 0:
+ case 1:
+ sub_8028BF0();
+ break;
+ case 2:
+ case 0x25:
+ case 0x39:
+ sub_8028CE0();
+ break;
+ case 3:
+ return 3;
+ }
+ return 0;
+}
+
+s32 sub_80282DC(u8 *r0)
+{
+ *r0 = gUnknown_203B2C0->unk218;
+ return gUnknown_203B2C0->unk53C;
+}
+
+void sub_80282FC(void)
+{
+ if (gUnknown_203B2C0 != NULL) {
+ CloseFile(gUnknown_203B2C0->faceFile);
+ MemoryFree(gUnknown_203B2C0);
+ gUnknown_203B2C0 = NULL;
+ sub_8031E10();
+ sub_8023C60();
+ sub_803084C();
+ sub_80155F0();
+ sub_80310B4();
+ sub_8030DE4();
+ sub_802453C();
+ }
+}
+
+void nullsub_130(void)
+{
+}