summaryrefslogtreecommitdiff
path: root/src/subtask/subtaskMapHint.c
diff options
context:
space:
mode:
authoroctorock <79596758+octorock@users.noreply.github.com>2022-09-05 22:50:19 +0200
committeranonymous <>2022-10-08 22:32:54 +0200
commit67467fd831d2928715835f8a389b4f464a0f9a7a (patch)
tree261864c07f334c35024033a908b4af8e808caebe /src/subtask/subtaskMapHint.c
parent756a8a89da46dade06fad1723de88fa5a82cc2ec (diff)
Extract some data
And split up subtasks and world events.
Diffstat (limited to 'src/subtask/subtaskMapHint.c')
-rw-r--r--src/subtask/subtaskMapHint.c71
1 files changed, 71 insertions, 0 deletions
diff --git a/src/subtask/subtaskMapHint.c b/src/subtask/subtaskMapHint.c
new file mode 100644
index 00000000..2a802f2b
--- /dev/null
+++ b/src/subtask/subtaskMapHint.c
@@ -0,0 +1,71 @@
+/**
+ * @file subtask.c
+ * @ingroup Subtasks
+ *
+ * @brief Map Hint Subtask
+ */
+#include "menu.h"
+#include "functions.h"
+#include "subtask.h"
+#include "common.h"
+#include "main.h"
+#include "sound.h"
+#include "save.h"
+#include "flags.h"
+#include "fileselect.h"
+#include "kinstone.h"
+#include "game.h"
+
+void sub_080A6438();
+
+void Subtask_MapHint(void) {
+ extern void (*const Subtask_MapHint_Functions[])(void);
+ FlushSprites();
+ Subtask_MapHint_Functions[gMenu.menuType]();
+ if ((gGenericMenu.unk2c & 0x20) != 0) {
+ sub_080A6438();
+ }
+ sub_080A6498();
+ CopyOAM();
+}
+
+void Subtask_MapHint_0(void) {
+ extern const u16 gUnk_08128F4C[];
+ u32 val;
+ sub_080A4D34();
+ sub_080A4DB8(4);
+ sub_080A6290();
+ gScreen.lcd.displayControl = gScreen.lcd.displayControl & 0xf7ff;
+ SetColor(0, gPaletteBuffer[0x51]);
+ val = gUnk_08128F4C[gUI.field_0x3];
+ gSave.field_0x20 |= val;
+ gGenericMenu.unk10.h[1] = val & gGenericMenu.unk10.h[0];
+ gGenericMenu.unk10.h[0] = 0;
+ gMenu.transitionTimer = 60;
+ SetMenuType(1);
+ SetFade(FADE_INSTANT, 8);
+}
+
+void Subtask_MapHint_1(void) {
+ if (!gFadeControl.active) {
+ gGenericMenu.unk2c++;
+ switch (gMenu.transitionTimer) {
+ case 0x1e:
+ gGenericMenu.unk10.h[0] = gGenericMenu.unk10.h[1];
+ gGenericMenu.unk2c = 0x20;
+ SoundReq(SFX_103);
+ default:
+ gMenu.transitionTimer--;
+ break;
+ case 0:
+ switch (gInput.newKeys) {
+ case A_BUTTON:
+ case B_BUTTON:
+ case START_BUTTON:
+ Subtask_Exit();
+ break;
+ }
+ break;
+ }
+ }
+}