summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/field_region_map.c2
-rw-r--r--src/region_map.c54
2 files changed, 55 insertions, 1 deletions
diff --git a/src/field_region_map.c b/src/field_region_map.c
index c2a14d04e..e8c52de77 100644
--- a/src/field_region_map.c
+++ b/src/field_region_map.c
@@ -120,7 +120,7 @@ void sub_8170290(void)
switch (gUnknown_0203BCD0->state)
{
case 0:
- sub_8122CDC(&gUnknown_0203BCD0->regionMap, 0);
+ sub_8122CDC(&gUnknown_0203BCD0->regionMap, FALSE);
sub_8124288(0, 0);
sub_81240D4(1, 1);
gUnknown_0203BCD0->state ++;
diff --git a/src/region_map.c b/src/region_map.c
new file mode 100644
index 000000000..1f54108d6
--- /dev/null
+++ b/src/region_map.c
@@ -0,0 +1,54 @@
+
+// Includes
+#include "global.h"
+#include "region_map.h"
+
+// Static type declarations
+
+struct UnkStruct_0203A148 {
+ u8 filler_000[0xa74];
+};
+
+// Static RAM declarations
+
+EWRAM_DATA struct RegionMap *gUnknown_0203A144 = NULL;
+EWRAM_DATA struct UnkStruct_0203A148 *gUnknown_0203A148 = NULL;
+
+// Static ROM declarations
+
+void sub_8122CF8(struct RegionMap *regionMap, struct UnkStruct_8122CF8 *arg1, bool8 arg2);
+bool8 sub_8122DB0(void);
+u8 sub_8123254(void);
+u8 sub_81230C4(void);
+
+// .rodata
+
+// .text
+
+void sub_8122CDC(struct RegionMap *regionMap, bool8 argument)
+{
+ sub_8122CF8(regionMap, NULL, argument);
+ while (sub_8122DB0());
+}
+
+void sub_8122CF8(struct RegionMap *regionMap, struct UnkStruct_8122CF8 *arg1, bool8 arg2)
+{
+ gUnknown_0203A144 = regionMap;
+ gUnknown_0203A144->unk_079 = 0;
+ gUnknown_0203A144->unk_078 = arg2;
+ gUnknown_0203A144->inputCallback = arg2 == TRUE ? sub_8123254 : sub_81230C4;
+ if (arg1 != NULL)
+ {
+ gUnknown_0203A144->unk_080 = arg1->unk_0_0;
+ gUnknown_0203A144->unk_081 = arg1->unk_0_2;
+ gUnknown_0203A144->unk_082 = arg1->unk_0_4;
+ gUnknown_0203A144->unk_083 = TRUE;
+ }
+ else
+ {
+ gUnknown_0203A144->unk_080 = 2;
+ gUnknown_0203A144->unk_081 = 2;
+ gUnknown_0203A144->unk_082 = 28;
+ gUnknown_0203A144->unk_083 = FALSE;
+ }
+}