summaryrefslogtreecommitdiff
path: root/src/credits.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/credits.c')
-rw-r--r--src/credits.c1116
1 files changed, 1116 insertions, 0 deletions
diff --git a/src/credits.c b/src/credits.c
new file mode 100644
index 000000000..0329bf7c3
--- /dev/null
+++ b/src/credits.c
@@ -0,0 +1,1116 @@
+#include "global.h"
+#include "malloc.h"
+#include "palette.h"
+#include "gpu_regs.h"
+#include "task.h"
+#include "overworld.h"
+#include "event_data.h"
+#include "window.h"
+#include "new_menu_helpers.h"
+#include "menu.h"
+#include "strings.h"
+#include "field_weather.h"
+
+struct CreditsResources
+{
+ u8 unk_00;
+ u8 unk_01;
+ u8 unk_02;
+ u16 unk_04;
+ u16 unk_06;
+ u8 unk_08;
+ u8 unk_09;
+ u8 unk_0A;
+ bool8 unk_0B;
+ u8 filler_0C[16];
+ u8 unk_1C;
+ u8 unk_1D;
+};
+
+struct UnkStruct_8410CF4
+{
+ u8 unk0;
+ u8 unk1;
+ u16 unk2;
+};
+
+struct UnkStruct_84145BC
+{
+ const u8 * unk_0;
+ const u8 * unk_4;
+ u8 unk_8;
+};
+
+EWRAM_DATA struct CreditsResources * gUnknown_203AB40 = NULL;
+
+void sub_80F39E8(void);
+s32 sub_80F3BD0(void);
+bool32 sub_80F4328(void);
+bool32 sub_80F4674(void);
+void sub_80F48D0(void);
+void sub_80F4930(u8 a0);
+
+/*
+const ALIGNED(4) u8 gUnknown_8410E00[3] = {0, 5, 2};
+const ALIGNED(4) u8 gUnknown_8410E04[3] = {0, 1, 2};
+
+const struct WindowTemplate gUnknown_8410E08 = {
+ .bg = 0,
+ .tilemapLeft = 0,
+ .tilemapTop = 4,
+ .width = 30,
+ .height = 12,
+ .paletteNum = 15,
+ .baseBlock = 0x008
+};
+ */
+
+extern const struct UnkStruct_8410CF4 gUnknown_8410CF4[];
+extern const u8 gUnknown_8410E00[3];
+extern const u8 gUnknown_8410E04[3];
+extern const struct WindowTemplate gUnknown_8410E08;
+
+extern const char * gUnknown_8414588[];
+extern const struct UnkStruct_84145BC gUnknown_84145BC[];
+
+void sub_80F39B4(void)
+{
+ gUnknown_203AB40 = AllocZeroed(sizeof(*gUnknown_203AB40));
+ ResetTasks();
+ gUnknown_203AB40->unk_02 = 0xFF;
+ gUnknown_203AB40->unk_1D = 0;
+ ResetSpriteData();
+ SetMainCallback2(sub_80F39E8);
+}
+
+void sub_80F39E8(void)
+{
+ switch (sub_80F3BD0())
+ {
+ case 0:
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+ break;
+ case 1:
+ if (gUnknown_203AB40->unk_1D & 1)
+ {
+ sub_80574A4();
+ }
+ else
+ {
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+ }
+ gUnknown_203AB40->unk_1D++;
+ break;
+ case 2:
+ FlagClear(0x4000);
+ gUnknown_2031DD8 = 0;
+ Free(gUnknown_203AB40);
+ SoftReset(RESET_ALL);
+ // noreturn
+ }
+}
+
+void sub_80F3A74(void)
+{
+ ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN1_ON);
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
+ SetGpuReg(REG_OFFSET_WININ, 0x1F3F);
+ SetGpuReg(REG_OFFSET_WINOUT, 0x000E);
+}
+
+void sub_80F3AA4(void)
+{
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_DARKEN);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 4));
+ SetGpuReg(REG_OFFSET_BLDY, 10);
+}
+
+void sub_80F3AC4(void)
+{
+ gUnknown_203AB40->unk_0A = AddWindow(&gUnknown_8410E08);
+ FillWindowPixelBuffer(gUnknown_203AB40->unk_0A, PIXEL_FILL(0));
+ PutWindowTilemap(gUnknown_203AB40->unk_0A);
+ CopyWindowToVram(gUnknown_203AB40->unk_0A, 3);
+ gUnknown_203AB40->unk_0B = TRUE;
+}
+
+void sub_80F3B04(void)
+{
+ if (gUnknown_203AB40->unk_0B)
+ {
+ RemoveWindow(gUnknown_203AB40->unk_0A);
+ CleanupOverworldWindowsAndTilemaps();
+ gUnknown_203AB40->unk_0B = FALSE;
+ }
+}
+
+bool32 sub_80F3B2C(UNUSED u8 unused)
+{
+ switch (gUnknown_203AB40->unk_01)
+ {
+ case 0:
+ FlagSet(0x4000);
+ gUnknown_2031DD8 = 2;
+ gUnknown_203AB40->unk_1C = 0;
+ gUnknown_203AB40->unk_01++;
+ // fallthrough
+ case 1:
+ if (!sub_805750C(&gUnknown_203AB40->unk_1C, gUnknown_8414588[gUnknown_203AB40->unk_09], 0))
+ return FALSE;
+ sub_80F3AC4();
+ SetGpuReg(REG_OFFSET_WIN0H, 0xF0);
+ SetGpuReg(REG_OFFSET_WIN0V, 0x247C);
+ sub_80F3A74();
+ sub_80F3AA4();
+ Menu_LoadStdPalAt(0xF0);
+ gPlttBufferUnfaded[0xFF] = RGB_BLACK;
+ gPlttBufferFaded[0xFF] = RGB_BLACK;
+ return TRUE;
+ default:
+ return FALSE;
+ }
+}
+
+#ifdef NONMATCHING
+s32 sub_80F3BD0(void)
+{
+ u16 win0v[2];
+
+ switch (gUnknown_203AB40->unk_00)
+ {
+ case 0:
+ sub_80F3A74();
+ SetGpuReg(REG_OFFSET_WIN0H, 0x40);
+ SetGpuReg(REG_OFFSET_WIN0V, 0x4F51);
+ gUnknown_203AB40->unk_00 = 1;
+ return 0;
+ case 1:
+ sub_80F3AA4();
+ sub_80F3AC4();
+ Menu_LoadStdPalAt(0xF0);
+ gPlttBufferUnfaded[0xFF] = RGB_BLACK;
+ gPlttBufferFaded[0xFF] = RGB_BLACK;
+ gUnknown_203AB40->unk_00 = 2;
+ return 0;
+ case 2:
+ win0v[0] = GetGpuReg(REG_OFFSET_WIN0V) >> 8;
+ win0v[1] = GetGpuReg(REG_OFFSET_WIN0V) & 0xFF;
+ if (win0v[0] == 0x24)
+ {
+ gUnknown_203AB40->unk_04 = 0;
+ gUnknown_203AB40->unk_00 = 3;
+ }
+ else
+ {
+ win0v[0]--;
+ win0v[1]++;
+ SetGpuReg(REG_OFFSET_WIN0V, win0v[1] + (win0v[0] << 8));
+ }
+ return 0;
+ case 3:
+ if (gUnknown_203AB40->unk_04 == 0)
+ {
+ sub_80F4930(0);
+ gUnknown_203AB40->unk_04 = 100;
+ gUnknown_203AB40->unk_00 = 4;
+ }
+ else
+ {
+ gUnknown_203AB40->unk_04--;
+ }
+ return 0;
+ case 4:
+ if (gUnknown_203AB40->unk_04 == 0)
+ {
+ gUnknown_203AB40->unk_04 = 360;
+ AddTextPrinterParameterized4(gUnknown_203AB40->unk_0A, 1, 0x08, 0x29, 1, 2, gUnknown_8410E00, 0, gUnknown_841D198);
+ gUnknown_203AB40->unk_00 = 5;
+ }
+ else
+ {
+ gUnknown_203AB40->unk_04--;
+ }
+ return 0;
+ case 5:
+ if (gUnknown_203AB40->unk_04 == 0)
+ {
+ sub_80F3B04();
+ gUnknown_203AB40->unk_00 = 6;
+ gUnknown_203AB40->unk_04 = 0;
+ gUnknown_203AB40->unk_06 = 0;
+ }
+ else
+ {
+ gUnknown_203AB40->unk_04--;
+ }
+ return 0;
+ case 6:
+ if (gUnknown_203AB40->unk_04 != 0)
+ {
+ gUnknown_203AB40->unk_04--;
+ return gUnknown_203AB40->unk_08;
+ }
+ else
+ {
+ switch (gUnknown_203AB40->unk_06)
+ {
+ case 0:
+ BeginNormalPaletteFade(0x00008000, 0, 0, 16, RGB_BLACK);
+ gUnknown_203AB40->unk_00 = 7;
+ FillWindowPixelBuffer(gUnknown_203AB40->unk_0A, PIXEL_FILL(0));
+ return gUnknown_203AB40->unk_08;
+ case 1:
+ gUnknown_203AB40->unk_00 = 10;
+ gUnknown_203AB40->unk_09 = gUnknown_8410CF4[gUnknown_203AB40->unk_06].unk1;
+ sub_807A944(1, 0, 0x3FFFFFFF);
+ break;
+ case 2:
+ gUnknown_203AB40->unk_00 = 12;
+ gUnknown_203AB40->unk_09 = gUnknown_8410CF4[gUnknown_203AB40->unk_06].unk1;
+ break;
+ case 3:
+ gUnknown_203AB40->unk_00 = 13;
+ gUnknown_203AB40->unk_09 = gUnknown_8410CF4[gUnknown_203AB40->unk_06].unk1;
+ fade_screen(1, 0);
+ break;
+ case 4:
+ gUnknown_203AB40->unk_00 = 15;
+ gUnknown_203AB40->unk_09 = gUnknown_8410CF4[gUnknown_203AB40->unk_06].unk1;
+ BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 16, RGB_BLACK);
+ break;
+ case 5:
+ gUnknown_203AB40->unk_00 = 17;
+ break;
+ }
+ gUnknown_203AB40->unk_04 = gUnknown_8410CF4[gUnknown_203AB40->unk_06].unk2;
+ gUnknown_203AB40->unk_06++;
+ }
+ return 0;
+ case 7:
+ if (!gPaletteFade.active)
+ {
+ win0v[0] = gUnknown_84145BC[gUnknown_8410CF4[gUnknown_203AB40->unk_06].unk1].unk_8; // unused
+ AddTextPrinterParameterized4(gUnknown_203AB40->unk_0A, 1, 2, 6, 0, 0, gUnknown_8410E00, -1, gUnknown_84145BC[gUnknown_8410CF4[gUnknown_203AB40->unk_06].unk1].unk_0);
+ gUnknown_203AB40->unk_00 = 8;
+ }
+ return gUnknown_203AB40->unk_08;
+ case 8:
+ win0v[0] = gUnknown_84145BC[gUnknown_8410CF4[gUnknown_203AB40->unk_06].unk1].unk_8;
+ AddTextPrinterParameterized4(gUnknown_203AB40->unk_0A, 1, 2, 6, 0, 0, gUnknown_8410E00, -1, gUnknown_84145BC[gUnknown_8410CF4[gUnknown_203AB40->unk_06].unk1].unk_4);
+ gUnknown_203AB40->unk_00 = 9;
+ return gUnknown_203AB40->unk_08;
+ case 9:
+ CopyWindowToVram(gUnknown_203AB40->unk_0A, 2);
+ gUnknown_203AB40->unk_04 = gUnknown_8410CF4[gUnknown_203AB40->unk_06].unk2;
+ gUnknown_203AB40->unk_06++;
+ BeginNormalPaletteFade(0x00008000, 0, 16, 0, RGB_BLACK);
+ gUnknown_203AB40->unk_00 = 6;
+ return gUnknown_203AB40->unk_08;
+ case 10:
+ if (!gPaletteFade.active)
+ {
+ sub_80F3B04();
+ gUnknown_203AB40->unk_01 = 0;
+ gUnknown_203AB40->unk_00 = 11;
+ }
+ return 0;
+ case 11:
+ if (sub_80F3B2C(gUnknown_203AB40->unk_09))
+ {
+ gUnknown_203AB40->unk_08 = 1;
+ gUnknown_203AB40->unk_00 = 6;
+ }
+ return 0;
+ case 12:
+ if (!gPaletteFade.active)
+ {
+ sub_80F3B04();
+ gUnknown_203AB40->unk_01 = 0;
+ while (sub_80F3B2C(gUnknown_203AB40->unk_09))
+ {}
+ switch (gUnknown_203AB40->unk_09)
+ {
+ default:
+ win0v[0] = 1;
+ break;
+ case 6:
+ win0v[0] = 2;
+ break;
+ case 9:
+ win0v[0] = 3;
+ break;
+ case 12:
+ win0v[0] = 4;
+ break;
+ }
+ sub_80F4930(win0v[0]);
+ gUnknown_203AB40->unk_08 = 1;
+ gUnknown_203AB40->unk_00 = 6;
+ }
+ return 0;
+ case 13:
+ if (!gPaletteFade.active)
+ {
+ sub_80F48D0();
+ sub_80F3B04();
+ gUnknown_203AB40->unk_01 = 0;
+ gUnknown_203AB40->unk_08 = 0;
+ gUnknown_203AB40->unk_00 = 14;
+ }
+ return 0;
+ case 14:
+ if (sub_80F4328())
+ {
+ gUnknown_203AB40->unk_00 = 6;
+ }
+ return 0;
+ case 15:
+ if (!gPaletteFade.active)
+ {
+ sub_80F3B04();
+ gUnknown_203AB40->unk_01 = 0;
+ gUnknown_203AB40->unk_08 = 0;
+ gUnknown_203AB40->unk_00 = 16;
+ }
+ return 0;
+ case 16:
+ if (sub_80F4674())
+ {
+ gUnknown_203AB40->unk_00 = 6;
+ }
+ return 0;
+ case 17:
+ if (JOY_NEW(A_BUTTON))
+ {
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_WHITE);
+ gUnknown_203AB40->unk_00 = 18;
+ }
+ else if (gUnknown_203AB40->unk_04 == 0)
+ {
+ gUnknown_203AB40->unk_00 = 18;
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_WHITE);
+ }
+ else
+ gUnknown_203AB40->unk_04--;
+ return 0;
+ case 18:
+ if (!gPaletteFade.active)
+ sub_80F3B04();
+ default:
+ return 2;
+ }
+}
+#else
+NAKED
+s32 sub_80F3BD0(void)
+{
+ asm_unified("\tpush {r4-r7,lr}\n"
+ "\tsub sp, 0x24\n"
+ "\tldr r1, _080F3BEC @ =gUnknown_203AB40\n"
+ "\tldr r0, [r1]\n"
+ "\tldrb r0, [r0]\n"
+ "\tadds r7, r1, 0\n"
+ "\tcmp r0, 0x12\n"
+ "\tbls _080F3BE2\n"
+ "\tb _080F4180_default_return2\n"
+ "_080F3BE2:\n"
+ "\tlsls r0, 2\n"
+ "\tldr r1, _080F3BF0 @ =_080F3BF4\n"
+ "\tadds r0, r1\n"
+ "\tldr r0, [r0]\n"
+ "\tmov pc, r0\n"
+ "\t.align 2, 0\n"
+ "_080F3BEC: .4byte gUnknown_203AB40\n"
+ "_080F3BF0: .4byte _080F3BF4\n"
+ "\t.align 2, 0\n"
+ "_080F3BF4:\n"
+ "\t.4byte _080F3C40_case00\n"
+ "\t.4byte _080F3C64_case01\n"
+ "\t.4byte _080F3C98_case02\n"
+ "\t.4byte _080F3CEE_case03\n"
+ "\t.4byte _080F3D0A_case04\n"
+ "\t.4byte _080F3D48_case05\n"
+ "\t.4byte _080F3D6A_case06\n"
+ "\t.4byte _080F3EB4_case07\n"
+ "\t.4byte _080F3F24_case08\n"
+ "\t.4byte _080F3F84_case09\n"
+ "\t.4byte _080F3FC4_case0A\n"
+ "\t.4byte _080F3FF0_case0B\n"
+ "\t.4byte _080F400A_case0C\n"
+ "\t.4byte _080F4084_case0D\n"
+ "\t.4byte _080F40B8_case0E\n"
+ "\t.4byte _080F40D0_case0F\n"
+ "\t.4byte _080F4100_case10\n"
+ "\t.4byte _080F4118_case11\n"
+ "\t.4byte _080F4170_case12\n"
+ "_080F3C40_case00:\n"
+ "\tbl sub_80F3A74\n"
+ "\tmovs r0, 0x40\n"
+ "\tmovs r1, 0xF0\n"
+ "\tbl SetGpuReg\n"
+ "\tldr r1, _080F3C5C @ =0x00004f51\n"
+ "\tmovs r0, 0x44\n"
+ "\tbl SetGpuReg\n"
+ "\tldr r0, _080F3C60 @ =gUnknown_203AB40\n"
+ "\tldr r1, [r0]\n"
+ "\tmovs r0, 0x1\n"
+ "\tb _080F413C_setfield0_return0\n"
+ "\t.align 2, 0\n"
+ "_080F3C5C: .4byte 0x00004f51\n"
+ "_080F3C60: .4byte gUnknown_203AB40\n"
+ "_080F3C64_case01:\n"
+ "\tbl sub_80F3AA4\n"
+ "\tbl sub_80F3AC4\n"
+ "\tmovs r0, 0xF0\n"
+ "\tbl Menu_LoadStdPalAt\n"
+ "\tldr r0, _080F3C8C @ =gPlttBufferUnfaded\n"
+ "\tmovs r2, 0xFF\n"
+ "\tlsls r2, 1\n"
+ "\tadds r0, r2\n"
+ "\tmovs r1, 0\n"
+ "\tstrh r1, [r0]\n"
+ "\tldr r0, _080F3C90 @ =gPlttBufferFaded\n"
+ "\tadds r0, r2\n"
+ "\tstrh r1, [r0]\n"
+ "\tldr r0, _080F3C94 @ =gUnknown_203AB40\n"
+ "\tldr r1, [r0]\n"
+ "\tmovs r0, 0x2\n"
+ "\tb _080F413C_setfield0_return0\n"
+ "\t.align 2, 0\n"
+ "_080F3C8C: .4byte gPlttBufferUnfaded\n"
+ "_080F3C90: .4byte gPlttBufferFaded\n"
+ "_080F3C94: .4byte gUnknown_203AB40\n"
+ "_080F3C98_case02:\n"
+ "\tmovs r0, 0x44\n"
+ "\tbl GetGpuReg\n"
+ "\tadd r1, sp, 0x14\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 24\n"
+ "\tstrh r0, [r1]\n"
+ "\tmovs r0, 0x44\n"
+ "\tbl GetGpuReg\n"
+ "\tadd r2, sp, 0x14\n"
+ "\tmovs r1, 0xFF\n"
+ "\tands r1, r0\n"
+ "\tstrh r1, [r2, 0x2]\n"
+ "\tadds r0, r2, 0\n"
+ "\tldrh r0, [r0]\n"
+ "\tcmp r0, 0x24\n"
+ "\tbne _080F3CCC\n"
+ "\tldr r0, _080F3CC8 @ =gUnknown_203AB40\n"
+ "\tldr r1, [r0]\n"
+ "\tmovs r0, 0\n"
+ "\tstrh r0, [r1, 0x4]\n"
+ "\tmovs r0, 0x3\n"
+ "\tb _080F413C_setfield0_return0\n"
+ "\t.align 2, 0\n"
+ "_080F3CC8: .4byte gUnknown_203AB40\n"
+ "_080F3CCC:\n"
+ "\tadd r1, sp, 0x14\n"
+ "\tsubs r0, 0x1\n"
+ "\tstrh r0, [r1]\n"
+ "\tadds r2, r1, 0\n"
+ "\tadds r0, r1, 0\n"
+ "\tldrh r1, [r0, 0x2]\n"
+ "\tadds r1, 0x1\n"
+ "\tstrh r1, [r2, 0x2]\n"
+ "\tldrh r0, [r0]\n"
+ "\tlsls r0, 8\n"
+ "\tadds r1, r0\n"
+ "\tlsls r1, 16\n"
+ "\tlsrs r1, 16\n"
+ "\tmovs r0, 0x44\n"
+ "\tbl SetGpuReg\n"
+ "\tb _080F3D06_return0\n"
+ "_080F3CEE_case03:\n"
+ "\tldr r1, [r7]\n"
+ "\tldrh r0, [r1, 0x4]\n"
+ "\tcmp r0, 0\n"
+ "\tbne _080F3D52_decfield4_return0\n"
+ "\tmovs r0, 0\n"
+ "\tbl sub_80F4930\n"
+ "\tldr r0, [r7]\n"
+ "\tmovs r1, 0x64\n"
+ "\tstrh r1, [r0, 0x4]\n"
+ "\tmovs r1, 0x4\n"
+ "\tstrb r1, [r0]\n"
+ "_080F3D06_return0:\n"
+ "\tmovs r0, 0\n"
+ "\tb _080F4182_return\n"
+ "_080F3D0A_case04:\n"
+ "\tldr r1, [r7]\n"
+ "\tldrh r0, [r1, 0x4]\n"
+ "\tadds r2, r0, 0\n"
+ "\tcmp r2, 0\n"
+ "\tbne _080F3D52_decfield4_return0\n"
+ "\tmovs r0, 0xB4\n"
+ "\tlsls r0, 1\n"
+ "\tstrh r0, [r1, 0x4]\n"
+ "\tldrb r0, [r1, 0xA]\n"
+ "\tmovs r1, 0x1\n"
+ "\tstr r1, [sp]\n"
+ "\tmovs r1, 0x2\n"
+ "\tstr r1, [sp, 0x4]\n"
+ "\tldr r1, _080F3D40 @ =gUnknown_8410E00\n"
+ "\tstr r1, [sp, 0x8]\n"
+ "\tstr r2, [sp, 0xC]\n"
+ "\tldr r1, _080F3D44 @ =gUnknown_841D198\n"
+ "\tstr r1, [sp, 0x10]\n"
+ "\tmovs r1, 0x1\n"
+ "\tmovs r2, 0x8\n"
+ "\tmovs r3, 0x29\n"
+ "\tbl AddTextPrinterParameterized4\n"
+ "\tldr r1, [r7]\n"
+ "\tmovs r0, 0x5\n"
+ "\tb _080F413C_setfield0_return0\n"
+ "\t.align 2, 0\n"
+ "_080F3D40: .4byte gUnknown_8410E00\n"
+ "_080F3D44: .4byte gUnknown_841D198\n"
+ "_080F3D48_case05:\n"
+ "\tldr r1, [r7]\n"
+ "\tldrh r0, [r1, 0x4]\n"
+ "\tadds r4, r0, 0\n"
+ "\tcmp r4, 0\n"
+ "\tbeq _080F3D58\n"
+ "_080F3D52_decfield4_return0:\n"
+ "\tsubs r0, 0x1\n"
+ "\tstrh r0, [r1, 0x4]\n"
+ "\tb _080F3D06_return0\n"
+ "_080F3D58:\n"
+ "\tbl sub_80F3B04\n"
+ "\tldr r0, [r7]\n"
+ "\tmovs r1, 0x6\n"
+ "\tstrb r1, [r0]\n"
+ "\tldr r0, [r7]\n"
+ "\tstrh r4, [r0, 0x4]\n"
+ "\tstrh r4, [r0, 0x6]\n"
+ "\tb _080F3D06_return0\n"
+ "_080F3D6A_case06:\n"
+ "\tldr r2, [r7]\n"
+ "\tldrh r0, [r2, 0x4]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080F3D7A\n"
+ "\tsubs r0, 0x1\n"
+ "\tstrh r0, [r2, 0x4]\n"
+ "\tldrb r0, [r2, 0x8]\n"
+ "\tb _080F4182_return\n"
+ "_080F3D7A:\n"
+ "\tldr r1, _080F3D94 @ =gUnknown_8410CF4\n"
+ "\tldrh r0, [r2, 0x6]\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r1\n"
+ "\tldrb r0, [r0]\n"
+ "\tcmp r0, 0x5\n"
+ "\tbls _080F3D8A\n"
+ "\tb _080F3E94\n"
+ "_080F3D8A:\n"
+ "\tlsls r0, 2\n"
+ "\tldr r1, _080F3D98 @ =_080F3D9C\n"
+ "\tadds r0, r1\n"
+ "\tldr r0, [r0]\n"
+ "\tmov pc, r0\n"
+ "\t.align 2, 0\n"
+ "_080F3D94: .4byte gUnknown_8410CF4\n"
+ "_080F3D98: .4byte _080F3D9C\n"
+ "\t.align 2, 0\n"
+ "_080F3D9C:\n"
+ "\t.4byte _080F3DB4\n"
+ "\t.4byte _080F3DE0\n"
+ "\t.4byte _080F3E10\n"
+ "\t.4byte _080F3E30\n"
+ "\t.4byte _080F3E58\n"
+ "\t.4byte _080F3E8C\n"
+ "_080F3DB4:\n"
+ "\tmovs r0, 0x80\n"
+ "\tlsls r0, 8\n"
+ "\tmovs r1, 0\n"
+ "\tstr r1, [sp]\n"
+ "\tmovs r2, 0\n"
+ "\tmovs r3, 0x10\n"
+ "\tbl BeginNormalPaletteFade\n"
+ "\tldr r4, _080F3DDC @ =gUnknown_203AB40\n"
+ "\tldr r1, [r4]\n"
+ "\tmovs r0, 0x7\n"
+ "\tstrb r0, [r1]\n"
+ "\tldr r0, [r4]\n"
+ "\tldrb r0, [r0, 0xA]\n"
+ "\tmovs r1, 0\n"
+ "\tbl FillWindowPixelBuffer\n"
+ "\tldr r0, [r4]\n"
+ "\tldrb r0, [r0, 0x8]\n"
+ "\tb _080F4182_return\n"
+ "\t.align 2, 0\n"
+ "_080F3DDC: .4byte gUnknown_203AB40\n"
+ "_080F3DE0:\n"
+ "\tldr r2, _080F3E04 @ =gUnknown_203AB40\n"
+ "\tldr r1, [r2]\n"
+ "\tmovs r0, 0xA\n"
+ "\tstrb r0, [r1]\n"
+ "\tldr r2, [r2]\n"
+ "\tldr r1, _080F3E08 @ =gUnknown_8410CF4\n"
+ "\tldrh r0, [r2, 0x6]\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r1\n"
+ "\tldrb r0, [r0, 0x1]\n"
+ "\tstrb r0, [r2, 0x9]\n"
+ "\tldr r2, _080F3E0C @ =0x3fffffff\n"
+ "\tmovs r0, 0x1\n"
+ "\tmovs r1, 0\n"
+ "\tbl sub_807A944\n"
+ "\tb _080F3E94\n"
+ "\t.align 2, 0\n"
+ "_080F3E04: .4byte gUnknown_203AB40\n"
+ "_080F3E08: .4byte gUnknown_8410CF4\n"
+ "_080F3E0C: .4byte 0x3fffffff\n"
+ "_080F3E10:\n"
+ "\tldr r2, _080F3E28 @ =gUnknown_203AB40\n"
+ "\tldr r1, [r2]\n"
+ "\tmovs r0, 0xC\n"
+ "\tstrb r0, [r1]\n"
+ "\tldr r2, [r2]\n"
+ "\tldr r1, _080F3E2C @ =gUnknown_8410CF4\n"
+ "\tldrh r0, [r2, 0x6]\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r1\n"
+ "\tldrb r0, [r0, 0x1]\n"
+ "\tstrb r0, [r2, 0x9]\n"
+ "\tb _080F3E94\n"
+ "\t.align 2, 0\n"
+ "_080F3E28: .4byte gUnknown_203AB40\n"
+ "_080F3E2C: .4byte gUnknown_8410CF4\n"
+ "_080F3E30:\n"
+ "\tldr r2, _080F3E50 @ =gUnknown_203AB40\n"
+ "\tldr r1, [r2]\n"
+ "\tmovs r0, 0xD\n"
+ "\tstrb r0, [r1]\n"
+ "\tldr r2, [r2]\n"
+ "\tldr r1, _080F3E54 @ =gUnknown_8410CF4\n"
+ "\tldrh r0, [r2, 0x6]\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r1\n"
+ "\tldrb r0, [r0, 0x1]\n"
+ "\tstrb r0, [r2, 0x9]\n"
+ "\tmovs r0, 0x1\n"
+ "\tmovs r1, 0\n"
+ "\tbl fade_screen\n"
+ "\tb _080F3E94\n"
+ "\t.align 2, 0\n"
+ "_080F3E50: .4byte gUnknown_203AB40\n"
+ "_080F3E54: .4byte gUnknown_8410CF4\n"
+ "_080F3E58:\n"
+ "\tldr r2, _080F3E84 @ =gUnknown_203AB40\n"
+ "\tldr r1, [r2]\n"
+ "\tmovs r3, 0\n"
+ "\tmovs r0, 0xF\n"
+ "\tstrb r0, [r1]\n"
+ "\tldr r2, [r2]\n"
+ "\tldr r1, _080F3E88 @ =gUnknown_8410CF4\n"
+ "\tldrh r0, [r2, 0x6]\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r1\n"
+ "\tldrb r0, [r0, 0x1]\n"
+ "\tstrb r0, [r2, 0x9]\n"
+ "\tmovs r0, 0x1\n"
+ "\tnegs r0, r0\n"
+ "\tstr r3, [sp]\n"
+ "\tmovs r1, 0x4\n"
+ "\tmovs r2, 0\n"
+ "\tmovs r3, 0x10\n"
+ "\tbl BeginNormalPaletteFade\n"
+ "\tb _080F3E94\n"
+ "\t.align 2, 0\n"
+ "_080F3E84: .4byte gUnknown_203AB40\n"
+ "_080F3E88: .4byte gUnknown_8410CF4\n"
+ "_080F3E8C:\n"
+ "\tldr r0, _080F3EAC @ =gUnknown_203AB40\n"
+ "\tldr r1, [r0]\n"
+ "\tmovs r0, 0x11\n"
+ "\tstrb r0, [r1]\n"
+ "_080F3E94:\n"
+ "\tldr r0, _080F3EAC @ =gUnknown_203AB40\n"
+ "\tldr r1, [r0]\n"
+ "\tldr r2, _080F3EB0 @ =gUnknown_8410CF4\n"
+ "\tldrh r0, [r1, 0x6]\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r2\n"
+ "\tldrh r0, [r0, 0x2]\n"
+ "\tstrh r0, [r1, 0x4]\n"
+ "\tldrh r0, [r1, 0x6]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrh r0, [r1, 0x6]\n"
+ "\tb _080F3D06_return0\n"
+ "\t.align 2, 0\n"
+ "_080F3EAC: .4byte gUnknown_203AB40\n"
+ "_080F3EB0: .4byte gUnknown_8410CF4\n"
+ "_080F3EB4_case07:\n"
+ "\tldr r0, _080F3F14 @ =gPaletteFade\n"
+ "\tldrb r1, [r0, 0x7]\n"
+ "\tmovs r0, 0x80\n"
+ "\tands r0, r1\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r6, r0, 24\n"
+ "\tcmp r6, 0\n"
+ "\tbne _080F3FBA_returnfield8\n"
+ "\tadd r3, sp, 0x14\n"
+ "\tldr r5, _080F3F18 @ =gUnknown_84145BC\n"
+ "\tldr r4, _080F3F1C @ =gUnknown_8410CF4\n"
+ "\tldr r2, [r7]\n"
+ "\tldrh r0, [r2, 0x6]\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r4\n"
+ "\tldrb r1, [r0, 0x1]\n"
+ "\tlsls r0, r1, 1\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r5\n"
+ "\tldrb r0, [r0, 0x8]\n"
+ "\tstrh r0, [r3]\n"
+ "\tldrb r0, [r2, 0xA]\n"
+ "\tstr r6, [sp]\n"
+ "\tstr r6, [sp, 0x4]\n"
+ "\tldr r1, _080F3F20 @ =gUnknown_8410E00\n"
+ "\tstr r1, [sp, 0x8]\n"
+ "\tmovs r1, 0x1\n"
+ "\tnegs r1, r1\n"
+ "\tstr r1, [sp, 0xC]\n"
+ "\tldrh r1, [r2, 0x6]\n"
+ "\tlsls r1, 2\n"
+ "\tadds r1, r4\n"
+ "\tldrb r2, [r1, 0x1]\n"
+ "\tlsls r1, r2, 1\n"
+ "\tadds r1, r2\n"
+ "\tlsls r1, 2\n"
+ "\tadds r1, r5\n"
+ "\tldr r1, [r1]\n"
+ "\tstr r1, [sp, 0x10]\n"
+ "\tmovs r1, 0x1\n"
+ "\tmovs r2, 0x2\n"
+ "\tmovs r3, 0x6\n"
+ "\tbl AddTextPrinterParameterized4\n"
+ "\tldr r1, [r7]\n"
+ "\tmovs r0, 0x8\n"
+ "\tb _080F3FB8_setfield0_returnfield8\n"
+ "\t.align 2, 0\n"
+ "_080F3F14: .4byte gPaletteFade\n"
+ "_080F3F18: .4byte gUnknown_84145BC\n"
+ "_080F3F1C: .4byte gUnknown_8410CF4\n"
+ "_080F3F20: .4byte gUnknown_8410E00\n"
+ "_080F3F24_case08:\n"
+ "\tadd r4, sp, 0x14\n"
+ "\tldr r3, _080F3F78 @ =gUnknown_84145BC\n"
+ "\tldr r5, _080F3F7C @ =gUnknown_8410CF4\n"
+ "\tldr r2, [r7]\n"
+ "\tldrh r0, [r2, 0x6]\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r5\n"
+ "\tldrb r1, [r0, 0x1]\n"
+ "\tlsls r0, r1, 1\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r3\n"
+ "\tldrb r0, [r0, 0x8]\n"
+ "\tmovs r1, 0\n"
+ "\tstrh r0, [r4]\n"
+ "\tldrb r0, [r2, 0xA]\n"
+ "\tstr r1, [sp]\n"
+ "\tstr r1, [sp, 0x4]\n"
+ "\tldr r1, _080F3F80 @ =gUnknown_8410E04\n"
+ "\tstr r1, [sp, 0x8]\n"
+ "\tmovs r1, 0x1\n"
+ "\tnegs r1, r1\n"
+ "\tstr r1, [sp, 0xC]\n"
+ "\tldrh r1, [r2, 0x6]\n"
+ "\tlsls r1, 2\n"
+ "\tadds r1, r5\n"
+ "\tldrb r2, [r1, 0x1]\n"
+ "\tlsls r1, r2, 1\n"
+ "\tadds r1, r2\n"
+ "\tlsls r1, 2\n"
+ "\tadds r3, 0x4\n"
+ "\tadds r1, r3\n"
+ "\tldr r1, [r1]\n"
+ "\tstr r1, [sp, 0x10]\n"
+ "\tmovs r1, 0x2\n"
+ "\tmovs r2, 0x8\n"
+ "\tmovs r3, 0x6\n"
+ "\tbl AddTextPrinterParameterized4\n"
+ "\tldr r1, [r7]\n"
+ "\tmovs r0, 0x9\n"
+ "\tb _080F3FB8_setfield0_returnfield8\n"
+ "\t.align 2, 0\n"
+ "_080F3F78: .4byte gUnknown_84145BC\n"
+ "_080F3F7C: .4byte gUnknown_8410CF4\n"
+ "_080F3F80: .4byte gUnknown_8410E04\n"
+ "_080F3F84_case09:\n"
+ "\tldr r0, [r7]\n"
+ "\tldrb r0, [r0, 0xA]\n"
+ "\tmovs r1, 0x2\n"
+ "\tbl CopyWindowToVram\n"
+ "\tldr r1, [r7]\n"
+ "\tldr r2, _080F3FC0 @ =gUnknown_8410CF4\n"
+ "\tldrh r0, [r1, 0x6]\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r2\n"
+ "\tldrh r0, [r0, 0x2]\n"
+ "\tmovs r2, 0\n"
+ "\tstrh r0, [r1, 0x4]\n"
+ "\tldrh r0, [r1, 0x6]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrh r0, [r1, 0x6]\n"
+ "\tmovs r0, 0x80\n"
+ "\tlsls r0, 8\n"
+ "\tstr r2, [sp]\n"
+ "\tmovs r1, 0\n"
+ "\tmovs r2, 0x10\n"
+ "\tmovs r3, 0\n"
+ "\tbl BeginNormalPaletteFade\n"
+ "\tldr r1, [r7]\n"
+ "\tmovs r0, 0x6\n"
+ "_080F3FB8_setfield0_returnfield8:\n"
+ "\tstrb r0, [r1]\n"
+ "_080F3FBA_returnfield8:\n"
+ "\tldr r0, [r7]\n"
+ "\tldrb r0, [r0, 0x8]\n"
+ "\tb _080F4182_return\n"
+ "\t.align 2, 0\n"
+ "_080F3FC0: .4byte gUnknown_8410CF4\n"
+ "_080F3FC4_case0A:\n"
+ "\tldr r0, _080F3FE8 @ =gPaletteFade\n"
+ "\tldrb r1, [r0, 0x7]\n"
+ "\tmovs r0, 0x80\n"
+ "\tands r0, r1\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r4, r0, 24\n"
+ "\tcmp r4, 0\n"
+ "\tbeq _080F3FD6\n"
+ "\tb _080F3D06_return0\n"
+ "_080F3FD6:\n"
+ "\tbl sub_80F3B04\n"
+ "\tldr r1, _080F3FEC @ =gUnknown_203AB40\n"
+ "\tldr r0, [r1]\n"
+ "\tstrb r4, [r0, 0x1]\n"
+ "\tldr r1, [r1]\n"
+ "\tmovs r0, 0xB\n"
+ "\tb _080F413C_setfield0_return0\n"
+ "\t.align 2, 0\n"
+ "_080F3FE8: .4byte gPaletteFade\n"
+ "_080F3FEC: .4byte gUnknown_203AB40\n"
+ "_080F3FF0_case0B:\n"
+ "\tldr r0, [r7]\n"
+ "\tldrb r0, [r0, 0x9]\n"
+ "\tbl sub_80F3B2C\n"
+ "\tcmp r0, 0\n"
+ "\tbne _080F3FFE\n"
+ "\tb _080F3D06_return0\n"
+ "_080F3FFE:\n"
+ "\tldr r1, [r7]\n"
+ "\tmovs r0, 0x1\n"
+ "\tstrb r0, [r1, 0x8]\n"
+ "\tldr r1, [r7]\n"
+ "\tmovs r0, 0x6\n"
+ "\tb _080F413C_setfield0_return0\n"
+ "_080F400A_case0C:\n"
+ "\tldr r0, _080F4050 @ =gPaletteFade\n"
+ "\tldrb r1, [r0, 0x7]\n"
+ "\tmovs r0, 0x80\n"
+ "\tands r0, r1\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r4, r0, 24\n"
+ "\tcmp r4, 0\n"
+ "\tbeq _080F401C\n"
+ "\tb _080F3D06_return0\n"
+ "_080F401C:\n"
+ "\tbl sub_80F3B04\n"
+ "\tldr r1, _080F4054 @ =gUnknown_203AB40\n"
+ "\tldr r0, [r1]\n"
+ "\tstrb r4, [r0, 0x1]\n"
+ "\tadds r4, r1, 0\n"
+ "_080F4028:\n"
+ "\tldr r0, [r4]\n"
+ "\tldrb r0, [r0, 0x9]\n"
+ "\tbl sub_80F3B2C\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080F4028\n"
+ "\tldr r0, _080F4054 @ =gUnknown_203AB40\n"
+ "\tldr r0, [r0]\n"
+ "\tldrb r0, [r0, 0x9]\n"
+ "\tcmp r0, 0x6\n"
+ "\tbeq _080F4058\n"
+ "\tcmp r0, 0x6\n"
+ "\tble _080F404A\n"
+ "\tcmp r0, 0x9\n"
+ "\tbeq _080F405E\n"
+ "\tcmp r0, 0xC\n"
+ "\tbeq _080F4064\n"
+ "_080F404A:\n"
+ "\tadd r1, sp, 0x14\n"
+ "\tmovs r0, 0x1\n"
+ "\tb _080F4068\n"
+ "\t.align 2, 0\n"
+ "_080F4050: .4byte gPaletteFade\n"
+ "_080F4054: .4byte gUnknown_203AB40\n"
+ "_080F4058:\n"
+ "\tadd r1, sp, 0x14\n"
+ "\tmovs r0, 0x2\n"
+ "\tb _080F4068\n"
+ "_080F405E:\n"
+ "\tadd r1, sp, 0x14\n"
+ "\tmovs r0, 0x3\n"
+ "\tb _080F4068\n"
+ "_080F4064:\n"
+ "\tadd r1, sp, 0x14\n"
+ "\tmovs r0, 0x4\n"
+ "_080F4068:\n"
+ "\tstrh r0, [r1]\n"
+ "\tadd r0, sp, 0x14\n"
+ "\tldrb r0, [r0]\n"
+ "\tbl sub_80F4930\n"
+ "\tldr r2, _080F4080 @ =gUnknown_203AB40\n"
+ "\tldr r1, [r2]\n"
+ "\tmovs r0, 0x1\n"
+ "\tstrb r0, [r1, 0x8]\n"
+ "\tldr r1, [r2]\n"
+ "\tmovs r0, 0x6\n"
+ "\tb _080F413C_setfield0_return0\n"
+ "\t.align 2, 0\n"
+ "_080F4080: .4byte gUnknown_203AB40\n"
+ "_080F4084_case0D:\n"
+ "\tldr r0, _080F40B0 @ =gPaletteFade\n"
+ "\tldrb r1, [r0, 0x7]\n"
+ "\tmovs r0, 0x80\n"
+ "\tands r0, r1\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r4, r0, 24\n"
+ "\tcmp r4, 0\n"
+ "\tbeq _080F4096\n"
+ "\tb _080F3D06_return0\n"
+ "_080F4096:\n"
+ "\tbl sub_80F48D0\n"
+ "\tbl sub_80F3B04\n"
+ "\tldr r1, _080F40B4 @ =gUnknown_203AB40\n"
+ "\tldr r0, [r1]\n"
+ "\tstrb r4, [r0, 0x1]\n"
+ "\tldr r0, [r1]\n"
+ "\tstrb r4, [r0, 0x8]\n"
+ "\tldr r1, [r1]\n"
+ "\tmovs r0, 0xE\n"
+ "\tb _080F413C_setfield0_return0\n"
+ "\t.align 2, 0\n"
+ "_080F40B0: .4byte gPaletteFade\n"
+ "_080F40B4: .4byte gUnknown_203AB40\n"
+ "_080F40B8_case0E:\n"
+ "\tbl sub_80F4328\n"
+ "\tcmp r0, 0\n"
+ "\tbne _080F40C2\n"
+ "\tb _080F3D06_return0\n"
+ "_080F40C2:\n"
+ "\tldr r0, _080F40CC @ =gUnknown_203AB40\n"
+ "\tldr r1, [r0]\n"
+ "\tmovs r0, 0x6\n"
+ "\tb _080F413C_setfield0_return0\n"
+ "\t.align 2, 0\n"
+ "_080F40CC: .4byte gUnknown_203AB40\n"
+ "_080F40D0_case0F:\n"
+ "\tldr r0, _080F40F8 @ =gPaletteFade\n"
+ "\tldrb r1, [r0, 0x7]\n"
+ "\tmovs r0, 0x80\n"
+ "\tands r0, r1\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r4, r0, 24\n"
+ "\tcmp r4, 0\n"
+ "\tbeq _080F40E2\n"
+ "\tb _080F3D06_return0\n"
+ "_080F40E2:\n"
+ "\tbl sub_80F3B04\n"
+ "\tldr r1, _080F40FC @ =gUnknown_203AB40\n"
+ "\tldr r0, [r1]\n"
+ "\tstrb r4, [r0, 0x1]\n"
+ "\tldr r0, [r1]\n"
+ "\tstrb r4, [r0, 0x8]\n"
+ "\tldr r1, [r1]\n"
+ "\tmovs r0, 0x10\n"
+ "\tb _080F413C_setfield0_return0\n"
+ "\t.align 2, 0\n"
+ "_080F40F8: .4byte gPaletteFade\n"
+ "_080F40FC: .4byte gUnknown_203AB40\n"
+ "_080F4100_case10:\n"
+ "\tbl sub_80F4674\n"
+ "\tcmp r0, 0\n"
+ "\tbne _080F410A\n"
+ "\tb _080F3D06_return0\n"
+ "_080F410A:\n"
+ "\tldr r0, _080F4114 @ =gUnknown_203AB40\n"
+ "\tldr r1, [r0]\n"
+ "\tmovs r0, 0x6\n"
+ "\tb _080F413C_setfield0_return0\n"
+ "\t.align 2, 0\n"
+ "_080F4114: .4byte gUnknown_203AB40\n"
+ "_080F4118_case11:\n"
+ "\tldr r0, _080F4140 @ =gMain\n"
+ "\tldrh r1, [r0, 0x2E]\n"
+ "\tmovs r0, 0x1\n"
+ "\tands r0, r1\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080F414C\n"
+ "\tmovs r0, 0x1\n"
+ "\tnegs r0, r0\n"
+ "\tldr r1, _080F4144 @ =0x00007fff\n"
+ "\tstr r1, [sp]\n"
+ "\tmovs r1, 0\n"
+ "\tmovs r2, 0\n"
+ "\tmovs r3, 0x10\n"
+ "\tbl BeginNormalPaletteFade\n"
+ "\tldr r0, _080F4148 @ =gUnknown_203AB40\n"
+ "\tldr r1, [r0]\n"
+ "\tmovs r0, 0x12\n"
+ "_080F413C_setfield0_return0:\n"
+ "\tstrb r0, [r1]\n"
+ "\tb _080F3D06_return0\n"
+ "\t.align 2, 0\n"
+ "_080F4140: .4byte gMain\n"
+ "_080F4144: .4byte 0x00007fff\n"
+ "_080F4148: .4byte gUnknown_203AB40\n"
+ "_080F414C:\n"
+ "\tldr r1, [r7]\n"
+ "\tldrh r0, [r1, 0x4]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080F4156\n"
+ "\tb _080F3D52_decfield4_return0\n"
+ "_080F4156:\n"
+ "\tmovs r0, 0x12\n"
+ "\tstrb r0, [r1]\n"
+ "\tsubs r0, 0x13\n"
+ "\tldr r1, _080F416C @ =0x00007fff\n"
+ "\tstr r1, [sp]\n"
+ "\tmovs r1, 0\n"
+ "\tmovs r2, 0\n"
+ "\tmovs r3, 0x10\n"
+ "\tbl BeginNormalPaletteFade\n"
+ "\tb _080F3D06_return0\n"
+ "\t.align 2, 0\n"
+ "_080F416C: .4byte 0x00007fff\n"
+ "_080F4170_case12:\n"
+ "\tldr r0, _080F418C @ =gPaletteFade\n"
+ "\tldrb r1, [r0, 0x7]\n"
+ "\tmovs r0, 0x80\n"
+ "\tands r0, r1\n"
+ "\tcmp r0, 0\n"
+ "\tbne _080F4180_default_return2\n"
+ "\tbl sub_80F3B04\n"
+ "_080F4180_default_return2:\n"
+ "\tmovs r0, 0x2\n"
+ "_080F4182_return:\n"
+ "\tadd sp, 0x24\n"
+ "\tpop {r4-r7}\n"
+ "\tpop {r1}\n"
+ "\tbx r1\n"
+ "\t.align 2, 0\n"
+ "_080F418C: .4byte gPaletteFade");
+}
+#endif //NONMATCHING