summaryrefslogtreecommitdiff
path: root/src/wonder_mail.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/wonder_mail.c')
-rw-r--r--src/wonder_mail.c129
1 files changed, 105 insertions, 24 deletions
diff --git a/src/wonder_mail.c b/src/wonder_mail.c
index fd5e1df..0844a96 100644
--- a/src/wonder_mail.c
+++ b/src/wonder_mail.c
@@ -22,14 +22,10 @@ extern u32 sub_8031050();
extern void sub_80310B4();
extern u32 sub_8095350();
extern u8 sub_80A2824(u8);
-
-#include "data/wonder_mail_1.h"
-
extern u8 sub_809539C(u32, u32);
extern char gUnknown_202E5D8[0x50];
extern char gAvailablePokemonNames[0x50];
-extern struct MenuItem gUnknown_80DDA48[];
extern s32 sub_8095190(void);
extern u32 sub_8095324(u32);
@@ -51,7 +47,7 @@ extern void sub_803092C(void);
extern u32 sub_80154F0();
extern u32 sub_8039068(u32, u8 *r1, u8 *r0);
-extern void sub_8014248(const char *r0, u32, u32, struct MenuItem *r4, u32, u32, u32, void *r5, u32);
+extern void sub_8014248(const char *r0, u32, u32, const struct MenuItem *r4, u32, u32, u32, void *r5, u32);
extern void sub_8095274(u32);
extern void sub_80155F0();
extern void sub_80951BC(u8 *r0);
@@ -68,31 +64,15 @@ extern u8 sub_8024108(u32);
extern u32 sub_8031DCC();
extern void sub_8031E10();
extern void sub_8031E00();
-extern u16 gUnknown_80E5990[];
extern s32 sub_8001658(u32, u32);
-extern u32 gUnknown_80E4A40[];
extern u8 sub_8099B94();
-
extern void sub_8099A5C(u32, u32, u32*);
extern void sub_8099AFC(u32, u32, u32*);
extern void ResetUnusedInputStruct();
extern void sub_8099690(u32);
-
-
extern void sub_8031E10(void);
extern void sub_803084C(void);
extern void sub_8030DE4();
-extern u8 gUnknown_80DDAE4[];
-extern struct MenuItem gUnknown_80DDAA0[];
-extern struct MenuItem gUnknown_80DDA80[];
-extern struct MenuItem gUnknown_80DDAFC[];
-extern struct MenuItem gUnknown_80DDB60[];
-extern struct MenuItem gUnknown_80DDA64[];
-extern struct MenuItem gUnknown_80DDB24[];
-extern struct MenuItem gUnknown_80DD9EC[];
-extern u8 gUnknown_80DDACC[];
-extern struct MenuItem gUnknown_80DD970[];
-
extern void nullsub_23(u32);
extern s32 sub_8037D64(u32, void *, void *);
extern s32 sub_80381F4(u32, void *, void *);
@@ -108,7 +88,7 @@ extern u32 sub_8023CE8(void);
extern u32 sub_8030894(void);
extern void sub_8030F58(u32);
extern void sub_8023DA4(void);
-extern void SetMenuItems(void *, struct UnkTextStruct2 *, u32, u8 *, struct MenuItem *, u32, u32, u32);
+extern void SetMenuItems(void *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32);
extern void sub_8029B34(void);
extern void sub_8029AD8(void);
extern void sub_8029AF4(void);
@@ -168,6 +148,107 @@ extern void sub_80310B4(void);
extern void sub_8030DE4(void);
extern void sub_802453C(void);
+extern const u8 DontSendPokemon_80DDB80[];
+extern const u8 SendPokemon_80DDB98[];
+extern const u8 SendWOPokemon[];
+
+const struct MenuItem gUnknown_80DD970[] =
+{
+ {"Receive SOS Mail", 0x0},
+ {"Leave for Rescue", 0x1},
+ {"Send A-OK Mail", 0x2},
+ {"Delete Mail", 0x3},
+ {"Cancel", 0xA},
+ {NULL, 0xA}
+};
+
+const struct MenuItem gUnknown_80DD9EC[] =
+{
+ {"Delete SOS Mail", 0x5},
+ {"Delete A-OK Mail", 0x6},
+ {"Delete All Mail", 0x7},
+ {"Cancel", 0xA},
+ {NULL, 0xA}
+};
+
+const struct MenuItem gUnknown_80DDA48[] =
+{
+ {"Yes", 0x8},
+ {"Cancel", 0xA},
+ {NULL, 0xA}
+};
+
+const struct MenuItem gUnknown_80DDA64[] =
+{
+ {"Yes", 0x8},
+ {"No", 0x9},
+ {NULL, 0xA}
+};
+
+const struct MenuItem gUnknown_80DDA80[] =
+{
+ {"Yes", 0x8},
+ {"No", 0x9},
+ {"Cancel", 0xA},
+ {NULL, 0xA}
+};
+
+const struct MenuItem gUnknown_80DDAA0[] =
+{
+ {SendWOPokemon, 0x12},
+ {"Cancel", 0xA},
+ {NULL, 0xA},
+};
+
+ALIGNED(4) const u8 SendWOPokemon[] = _("Send w/o Pokémon");
+
+const struct UnkTextStruct2 gUnknown_80DDACC =
+{
+ 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x00,
+ 0x16, 0x00, 0x07, 0x00,
+ 0x06, 0x04,
+ 0x04, 0x00,
+ NULL
+};
+
+const struct UnkTextStruct2 gUnknown_80DDAE4 =
+{
+ 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x00,
+ 0x16, 0x00, 0x06, 0x00,
+ 0x06, 0x04,
+ 0x04, 0x00,
+ NULL
+};
+
+const struct MenuItem gUnknown_80DDAFC[] =
+{
+ {"Confirm", 0xB},
+ {"Info", 0xC},
+ {NULL, 0xA},
+};
+
+const struct MenuItem gUnknown_80DDB24[] =
+{
+ {"Game Link cable", 0xD},
+ {"Password", 0xF},
+ {"Cancel", 0xA},
+ {NULL, 0xA},
+};
+
+const struct MenuItem gUnknown_80DDB60[] =
+{
+ {SendPokemon_80DDB98, 0x11},
+ {DontSendPokemon_80DDB80, 0x12},
+ {"Cancel", 0xA},
+ {NULL, 0xA},
+};
+
+ALIGNED(4) const u8 DontSendPokemon_80DDB80[] = _("Don{APOSTROPHE}t Send Pokémon");
+ALIGNED(4) const u8 SendPokemon_80DDB98[] = _("Send Pokémon");
+
+#include "data/wonder_mail_1.h"
u32 sub_8027F88(void)
@@ -457,7 +538,7 @@ void sub_8028348(void)
break;
case 0x34:
sub_8006518(gUnknown_203B2C0->unk35C);
- SetMenuItems(&gUnknown_203B2C0->unk21C, gUnknown_203B2C0->unk35C, 3, gUnknown_80DDAE4, gUnknown_80DDAFC, 1, 0, 0);
+ SetMenuItems(&gUnknown_203B2C0->unk21C, gUnknown_203B2C0->unk35C, 3, &gUnknown_80DDAE4, gUnknown_80DDAFC, 1, 0, 0);
sub_8023DA4();
sub_8035CF4(&gUnknown_203B2C0->unk21C, 3, 1);
break;
@@ -619,7 +700,7 @@ void sub_8028348(void)
case 0x20:
case 0x2B:
sub_8006518(gUnknown_203B2C0->unk35C);
- SetMenuItems(&gUnknown_203B2C0->unk21C, gUnknown_203B2C0->unk35C, 3, gUnknown_80DDACC, gUnknown_80DDAFC, 1, 0, 0);
+ SetMenuItems(&gUnknown_203B2C0->unk21C, gUnknown_203B2C0->unk35C, 3, &gUnknown_80DDACC, gUnknown_80DDAFC, 1, 0, 0);
sub_803092C();
sub_8035CF4(&gUnknown_203B2C0->unk21C, 3, 1);
break;