summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorscnorton <scnorton@biociphers.org>2017-06-20 14:14:54 -0400
committerscnorton <scnorton@biociphers.org>2017-06-20 14:14:54 -0400
commit27ce8721331d5970c2d15d1a0459e37d094e0aa1 (patch)
tree3b85297cd47ffe04d1bfbdab237dde1ce56a8bd0 /src
parentc8993068c9a9b25b9ea573737646872098829d24 (diff)
Elevator menu main task
Diffstat (limited to 'src')
-rwxr-xr-xsrc/field_specials.c59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/field_specials.c b/src/field_specials.c
index 83aede229..cdfa3810d 100755
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -934,7 +934,11 @@ void EndLotteryCornerComputerEffect(void)
static void sub_810E874(void);
void sub_810E944(void);
void sub_810E984(u8);
+void sub_810EAC8(u8, u8);
+void sub_810EBEC(void);
+void sub_810EC9C(u8);
void sub_810ECD4(void);
+void sub_810EEDC(void);
const u8 *const gUnknown_083F8380[] = {
OtherText_1F,
@@ -1041,3 +1045,58 @@ static void sub_810E874(void)
sub_810E944();
CreateTask(sub_810E984, 8);
}
+
+void sub_810E944(void)
+{
+ MenuDrawTextWindow(20, 0, 29, 5);
+ sub_8072BD8(gOtherText_NowOn, 21, 1, 64);
+ sub_8072BD8(gUnknown_083F8380[gSpecialVar_0x8005], 21, 3, 64);
+}
+
+void sub_810E984(u8 taskId)
+{
+ u8 curMenuPos;
+ if (gMain.newKeys == DPAD_UP && gUnknown_0203925B != 0)
+ {
+ gUnknown_0203925B--;
+ curMenuPos = GetMenuCursorPos();
+ MoveMenuCursorNoWrap(-1);
+ sub_810EAC8(curMenuPos, DPAD_UP);
+ }
+ if (gMain.newKeys == DPAD_DOWN && gUnknown_0203925B != gUnknown_0203925A - 1)
+ {
+ gUnknown_0203925B++;
+ curMenuPos = GetMenuCursorPos();
+ MoveMenuCursorNoWrap(+1);
+ sub_810EAC8(curMenuPos, DPAD_DOWN);
+ }
+ if (gMain.newKeys & A_BUTTON)
+ {
+ saved_warp2_set_2(0, gUnknown_03000760[gUnknown_0203925B].var1, gUnknown_03000760[gUnknown_0203925B].var2, -1, 2, 1);
+ if (gSpecialVar_0x8005 == gUnknown_0203925B)
+ {
+ gScriptResult = 0;
+ PlaySE(SE_SELECT);
+ MenuZeroFillWindowRect(0, 0, 29, 12);
+ sub_810EC9C(taskId);
+ }
+ else
+ {
+ gScriptResult = 1;
+ gSpecialVar_0x8005 = gUnknown_0203925B;
+ sub_810EBEC();
+ FieldObjectTurnByLocalIdAndMap(gScriptLastTalked, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, DIR_SOUTH);
+ sub_810EEDC();
+ MenuZeroFillScreen();
+ DestroyTask(taskId);
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ gScriptResult = 0;
+ PlaySE(SE_SELECT);
+ sub_810EEDC();
+ MenuZeroFillWindowRect(0, 0, 29, 12);
+ sub_810EC9C(taskId);
+ }
+}