summaryrefslogtreecommitdiff
path: root/src/region_map.c
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-10-29 21:14:53 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-10-29 21:14:53 -0400
commitf07307dc73ef7e7a04c9c7091428a73303f8714c (patch)
treec56c283ecdefd82a46af7bc5416ff161ec453f38 /src/region_map.c
parenta9afb8b13082fbc8090a6f8c14a6e6489d317998 (diff)
sub_81230C4
Diffstat (limited to 'src/region_map.c')
-rw-r--r--src/region_map.c66
1 files changed, 60 insertions, 6 deletions
diff --git a/src/region_map.c b/src/region_map.c
index 714aa51ee..7d3db9c8b 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -1,6 +1,7 @@
// Includes
#include "global.h"
+#include "main.h"
#include "region_map.h"
#include "menu.h"
#include "palette.h"
@@ -12,6 +13,17 @@ struct UnkStruct_0203A148 {
u8 filler_000[0xa74];
};
+enum
+{
+ INPUT_EVENT_NONE,
+ INPUT_EVENT_DPAD,
+ INPUT_EVENT_2,
+ INPUT_EVENT_3,
+ INPUT_EVENT_A_BUTTON,
+ INPUT_EVENT_B_BUTTON,
+};
+
+
// Static RAM declarations
EWRAM_DATA struct RegionMap *gUnknown_0203A144 = NULL;
@@ -19,16 +31,15 @@ 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);
+u8 sub_8123254(void);
+void sub_81236C4(s32 a0, s32 a1, s32 a2, s32 a3, u16 a4, u16 a5, u16 a6);
+void sub_81237B4(void);
void sub_81238AC(void);
-u16 sub_8123EB4(u16 mapSecId);
u8 get_flagnr_blue_points(u16 mapSecId);
-void sub_81236C4(s32 a0, s32 a1, s32 a2, s32 a3, u16 a4, u16 a5, u16 a6);
+u16 sub_8123EB4(u16 mapSecId);
void sub_8123FB0(void);
-void sub_81237B4(void);
+u8 _swiopen(void);
// .rodata
@@ -187,3 +198,46 @@ u8 sub_81230AC(void)
{
return gUnknown_0203A144->inputCallback();
}
+
+u8 sub_81230C4(void)
+{
+ u8 input;
+
+ input = INPUT_EVENT_NONE;
+ gUnknown_0203A144->unk_07b = 0;
+ gUnknown_0203A144->unk_07c = 0;
+ if (gMain.heldKeys & DPAD_UP && gUnknown_0203A144->unk_056 > 2)
+ {
+ gUnknown_0203A144->unk_07c = -1;
+ input = INPUT_EVENT_DPAD;
+ }
+ if (gMain.heldKeys & DPAD_DOWN && gUnknown_0203A144->unk_056 < 16)
+ {
+ gUnknown_0203A144->unk_07c = +1;
+ input = INPUT_EVENT_DPAD;
+ }
+ if (gMain.heldKeys & DPAD_LEFT && gUnknown_0203A144->unk_054 > 1)
+ {
+ gUnknown_0203A144->unk_07b = -1;
+ input = INPUT_EVENT_DPAD;
+ }
+ if (gMain.heldKeys & DPAD_RIGHT && gUnknown_0203A144->unk_054 < 28)
+ {
+ gUnknown_0203A144->unk_07b = +1;
+ input = INPUT_EVENT_DPAD;
+ }
+ if (gMain.newKeys & A_BUTTON)
+ {
+ input = INPUT_EVENT_A_BUTTON;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ input = INPUT_EVENT_B_BUTTON;
+ }
+ if (input == INPUT_EVENT_DPAD)
+ {
+ gUnknown_0203A144->unk_07a = 4;
+ gUnknown_0203A144->inputCallback = _swiopen;
+ }
+ return input;
+}