Nonmatching sub_810287C; annotate rodata
This commit is contained in:
+661
-2
@@ -13,13 +13,41 @@
|
||||
#include "new_menu_helpers.h"
|
||||
#include "sound.h"
|
||||
#include "event_data.h"
|
||||
#include "help_system.h"
|
||||
#include "menu_indicators.h"
|
||||
#include "overworld.h"
|
||||
|
||||
struct PokedexScreenData
|
||||
{
|
||||
u8 field_00;
|
||||
u8 filler_01[0x43];
|
||||
u8 field_01;
|
||||
u8 filler_02[0x6];
|
||||
u32 field_08;
|
||||
s32 field_0C;
|
||||
u16 field_10;
|
||||
u16 field_12;
|
||||
u8 field_14;
|
||||
u8 field_15;
|
||||
u8 field_16;
|
||||
u8 field_17;
|
||||
u8 filler_18[0x10];
|
||||
u8 field_28;
|
||||
u8 filler_29[0x2];
|
||||
u8 field_2B;
|
||||
u8 field_2C;
|
||||
u8 field_2D;
|
||||
u8 field_2E;
|
||||
u8 field_2F;
|
||||
u8 filler_30[0x8];
|
||||
u16 field_38;
|
||||
u16 field_3A;
|
||||
u8 filler_3C[0x6];
|
||||
u8 field_42;
|
||||
void * field_44;
|
||||
u8 filler_48[0x1E];
|
||||
u8 filler_48[0x18];
|
||||
u8 field_60;
|
||||
u16 field_62;
|
||||
u8 filler_64[0x2];
|
||||
u16 field_66;
|
||||
u16 field_68;
|
||||
u16 field_6A;
|
||||
@@ -29,7 +57,13 @@ struct PokedexScreenData
|
||||
EWRAM_DATA struct PokedexScreenData * gUnknown_203ACF0 = NULL;
|
||||
|
||||
void sub_810287C(u8 taskId);
|
||||
void sub_8103238(u8 taskId);
|
||||
void sub_8103AC8(u8 taskId);
|
||||
void sub_8102C28(void);
|
||||
void sub_8102F80(u8 taskId);
|
||||
void sub_81047B0(u8 *a0);
|
||||
u16 sub_8104BBC(u8 a0, u8 a1);
|
||||
u8 sub_81068A0(u8 a0);
|
||||
|
||||
extern const u32 gUnknown_8440274[];
|
||||
extern const u32 gUnknown_84403AC[];
|
||||
@@ -38,6 +72,8 @@ extern const u16 gUnknown_84406E0[];
|
||||
extern const struct BgTemplate gUnknown_8451EBC[4];
|
||||
extern const struct WindowTemplate gUnknown_8451ECC[];
|
||||
extern const struct PokedexScreenData gUnknown_8451EE4;
|
||||
extern const struct ScrollArrowsTemplate gUnknown_84520D4;
|
||||
extern const struct ScrollArrowsTemplate gUnknown_84520E4;
|
||||
|
||||
void sub_81024C0(void)
|
||||
{
|
||||
@@ -118,3 +154,626 @@ void sub_810250C(void)
|
||||
FillBgTilemapBufferRect(0, 0x0000, 0, 2, 32, 16, 0x11);
|
||||
FillBgTilemapBufferRect(0, 0x003, 0, 18, 32, 2, 0xF);
|
||||
}
|
||||
|
||||
void CB2_OpenPokedexFromStartMenu(void)
|
||||
{
|
||||
sub_810250C();
|
||||
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON);
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDY, 0);
|
||||
SetMainCallback2(sub_81024D4);
|
||||
HelpSystem_SetSomeVariable2(4);
|
||||
}
|
||||
|
||||
#define FREE_IF_NOT_NULL(ptr0) ({ void * ptr = (ptr0); if (ptr) Free(ptr); })
|
||||
|
||||
bool8 sub_8102798(void)
|
||||
{
|
||||
switch (gMain.state)
|
||||
{
|
||||
case 0:
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
|
||||
gMain.state++;
|
||||
return FALSE;
|
||||
case 1:
|
||||
if (!gPaletteFade.active)
|
||||
gMain.state = 2;
|
||||
else
|
||||
UpdatePaletteFade();
|
||||
return FALSE;
|
||||
case 2:
|
||||
FREE_IF_NOT_NULL(gUnknown_203ACF0->field_44);
|
||||
FREE_IF_NOT_NULL(gUnknown_203ACF0);
|
||||
FreeAllWindowBuffers();
|
||||
FREE_IF_NOT_NULL(GetBgTilemapBuffer(0));
|
||||
FREE_IF_NOT_NULL(GetBgTilemapBuffer(1));
|
||||
FREE_IF_NOT_NULL(GetBgTilemapBuffer(2));
|
||||
FREE_IF_NOT_NULL(GetBgTilemapBuffer(3));
|
||||
sub_807249C();
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_8102858(void)
|
||||
{
|
||||
if (sub_8102798())
|
||||
{
|
||||
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON);
|
||||
SetMainCallback2(CB2_ReturnToFieldWithOpenMenu);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_810287C(u8 taskId)
|
||||
{
|
||||
int i;
|
||||
switch (gUnknown_203ACF0->field_01)
|
||||
{
|
||||
case 0:
|
||||
gUnknown_203ACF0->field_08 = 0;
|
||||
for (i = 0; i < 9; i++)
|
||||
gUnknown_203ACF0->field_08 |= sub_81068A0(i);
|
||||
gUnknown_203ACF0->field_01 = 2;
|
||||
break;
|
||||
case 1:
|
||||
RemoveScrollIndicatorArrowPair(gUnknown_203ACF0->field_60);
|
||||
sub_81047B0(&gUnknown_203ACF0->field_14);
|
||||
sub_81047B0(&gUnknown_203ACF0->field_15);
|
||||
sub_81047B0(&gUnknown_203ACF0->field_16);
|
||||
SetMainCallback2(sub_8102858);
|
||||
DestroyTask(taskId);
|
||||
break;
|
||||
case 2:
|
||||
sub_8102C28();
|
||||
gUnknown_203ACF0->field_01 = 3;
|
||||
break;
|
||||
case 3:
|
||||
CopyBgTilemapBufferToVram(3);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
gUnknown_203ACF0->field_01 = 4;
|
||||
break;
|
||||
case 4:
|
||||
ShowBg(3);
|
||||
ShowBg(2);
|
||||
ShowBg(1);
|
||||
ShowBg(0);
|
||||
if (gPaletteFade.bufferTransferDisabled)
|
||||
{
|
||||
gPaletteFade.bufferTransferDisabled = FALSE;
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0, RGB_WHITEALPHA);
|
||||
}
|
||||
else
|
||||
BeginNormalPaletteFade(0xFFFF7FFF, 0, 16, 0, RGB_WHITEALPHA);
|
||||
gUnknown_203ACF0->field_01 = 5;
|
||||
break;
|
||||
case 5:
|
||||
ListMenuGetScrollAndRow(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_62, NULL);
|
||||
if (IsNationalPokedexEnabled())
|
||||
gUnknown_203ACF0->field_60 = AddScrollIndicatorArrowPair(&gUnknown_84520E4, &gUnknown_203ACF0->field_62);
|
||||
else
|
||||
gUnknown_203ACF0->field_60 = AddScrollIndicatorArrowPair(&gUnknown_84520D4, &gUnknown_203ACF0->field_62);
|
||||
gUnknown_203ACF0->field_01 = 6;
|
||||
break;
|
||||
case 6:
|
||||
gUnknown_203ACF0->field_0C = ListMenu_ProcessInput(gUnknown_203ACF0->field_17);
|
||||
ListMenuGetScrollAndRow(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_62, NULL);
|
||||
if (JOY_NEW(A_BUTTON))
|
||||
{
|
||||
// FIXME: Get this switch to behave
|
||||
switch (gUnknown_203ACF0->field_0C)
|
||||
{
|
||||
case -2:
|
||||
gUnknown_203ACF0->field_01 = 1;
|
||||
break;
|
||||
case -1:
|
||||
return;
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
if (sub_81068A0(gUnknown_203ACF0->field_0C))
|
||||
{
|
||||
RemoveScrollIndicatorArrowPair(gUnknown_203ACF0->field_60);
|
||||
gUnknown_203ACF0->field_28 = gUnknown_203ACF0->field_0C;
|
||||
BeginNormalPaletteFade(0xFFFF7FFF, 0, 0, 16, RGB_WHITEALPHA);
|
||||
gUnknown_203ACF0->field_01 = 7;
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
case 14:
|
||||
RemoveScrollIndicatorArrowPair(gUnknown_203ACF0->field_60);
|
||||
gUnknown_203ACF0->field_42 = gUnknown_203ACF0->field_0C - 9;
|
||||
BeginNormalPaletteFade(0xFFFF7FFF, 0, 0, 16, RGB_WHITEALPHA);
|
||||
gUnknown_203ACF0->field_01 = 9;
|
||||
break;
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
case 13:
|
||||
RemoveScrollIndicatorArrowPair(gUnknown_203ACF0->field_60);
|
||||
gUnknown_203ACF0->field_42 = gUnknown_203ACF0->field_0C - 9;
|
||||
gUnknown_203ACF0->field_38 = gUnknown_203ACF0->field_3A = 0;
|
||||
BeginNormalPaletteFade(0xFFFF7FFF, 0, 0, 16, RGB_WHITEALPHA);
|
||||
gUnknown_203ACF0->field_01 = 8;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (JOY_NEW(B_BUTTON))
|
||||
{
|
||||
gUnknown_203ACF0->field_01 = 1;
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
DestroyListMenuTask(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_12, &gUnknown_203ACF0->field_10);
|
||||
FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 32, 20);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
sub_81047B0(&gUnknown_203ACF0->field_14);
|
||||
sub_81047B0(&gUnknown_203ACF0->field_15);
|
||||
sub_81047B0(&gUnknown_203ACF0->field_16);
|
||||
gUnknown_203ACF0->field_2B = 0;
|
||||
gUnknown_203ACF0->field_2D = 0;
|
||||
gUnknown_203ACF0->field_2F = 0;
|
||||
gTasks[taskId].func = sub_8103AC8;
|
||||
gUnknown_203ACF0->field_01 = 0;
|
||||
break;
|
||||
case 8:
|
||||
DestroyListMenuTask(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_12, &gUnknown_203ACF0->field_10);
|
||||
HideBg(1);
|
||||
sub_81047B0(&gUnknown_203ACF0->field_14);
|
||||
sub_81047B0(&gUnknown_203ACF0->field_15);
|
||||
sub_81047B0(&gUnknown_203ACF0->field_16);
|
||||
gTasks[taskId].func = sub_8103238;
|
||||
gUnknown_203ACF0->field_01 = 0;
|
||||
break;
|
||||
case 9:
|
||||
DestroyListMenuTask(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_12, &gUnknown_203ACF0->field_10);
|
||||
HideBg(1);
|
||||
sub_81047B0(&gUnknown_203ACF0->field_14);
|
||||
sub_81047B0(&gUnknown_203ACF0->field_15);
|
||||
sub_81047B0(&gUnknown_203ACF0->field_16);
|
||||
gTasks[taskId].func = sub_8102F80;
|
||||
gUnknown_203ACF0->field_01 = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
void sub_810287C(u8 taskId)
|
||||
{
|
||||
asm_unified("\tpush {r4,r5,lr}\n"
|
||||
"\tsub sp, 0x8\n"
|
||||
"\tlsls r0, 24\n"
|
||||
"\tlsrs r5, r0, 24\n"
|
||||
"\tldr r1, _0810289C @ =gUnknown_203ACF0\n"
|
||||
"\tldr r0, [r1]\n"
|
||||
"\tldrb r0, [r0, 0x1]\n"
|
||||
"\tadds r4, r1, 0\n"
|
||||
"\tcmp r0, 0x9\n"
|
||||
"\tbls _08102892\n"
|
||||
"\tb _08102C18\n"
|
||||
"_08102892:\n"
|
||||
"\tlsls r0, 2\n"
|
||||
"\tldr r1, _081028A0 @ =_081028A4\n"
|
||||
"\tadds r0, r1\n"
|
||||
"\tldr r0, [r0]\n"
|
||||
"\tmov pc, r0\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0810289C: .4byte gUnknown_203ACF0\n"
|
||||
"_081028A0: .4byte _081028A4\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_081028A4:\n"
|
||||
"\t.4byte _081028CC\n"
|
||||
"\t.4byte _081028FC\n"
|
||||
"\t.4byte _08102930\n"
|
||||
"\t.4byte _08102940\n"
|
||||
"\t.4byte _08102964\n"
|
||||
"\t.4byte _081029D0\n"
|
||||
"\t.4byte _08102A14\n"
|
||||
"\t.4byte _08102B24\n"
|
||||
"\t.4byte _08102B94\n"
|
||||
"\t.4byte _08102BD8\n"
|
||||
"_081028CC:\n"
|
||||
"\tldr r1, [r4]\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tstr r0, [r1, 0x8]\n"
|
||||
"\tmovs r4, 0\n"
|
||||
"_081028D4:\n"
|
||||
"\tlsls r0, r4, 24\n"
|
||||
"\tlsrs r0, 24\n"
|
||||
"\tbl sub_81068A0\n"
|
||||
"\tldr r1, _081028F8 @ =gUnknown_203ACF0\n"
|
||||
"\tldr r2, [r1]\n"
|
||||
"\tlsls r0, 24\n"
|
||||
"\tlsrs r0, 24\n"
|
||||
"\tlsls r0, r4\n"
|
||||
"\tldr r1, [r2, 0x8]\n"
|
||||
"\torrs r1, r0\n"
|
||||
"\tstr r1, [r2, 0x8]\n"
|
||||
"\tadds r4, 0x1\n"
|
||||
"\tcmp r4, 0x8\n"
|
||||
"\tble _081028D4\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tstrb r0, [r2, 0x1]\n"
|
||||
"\tb _08102C18\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_081028F8: .4byte gUnknown_203ACF0\n"
|
||||
"_081028FC:\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x60\n"
|
||||
"\tldrb r0, [r0]\n"
|
||||
"\tbl RemoveScrollIndicatorArrowPair\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x14\n"
|
||||
"\tbl sub_81047B0\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x15\n"
|
||||
"\tbl sub_81047B0\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x16\n"
|
||||
"\tbl sub_81047B0\n"
|
||||
"\tldr r0, _0810292C @ =sub_8102858\n"
|
||||
"\tbl SetMainCallback2\n"
|
||||
"\tadds r0, r5, 0\n"
|
||||
"\tbl DestroyTask\n"
|
||||
"\tb _08102C18\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0810292C: .4byte sub_8102858\n"
|
||||
"_08102930:\n"
|
||||
"\tbl sub_8102C28\n"
|
||||
"\tldr r0, _0810293C @ =gUnknown_203ACF0\n"
|
||||
"\tldr r1, [r0]\n"
|
||||
"\tmovs r0, 0x3\n"
|
||||
"\tb _08102C16\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0810293C: .4byte gUnknown_203ACF0\n"
|
||||
"_08102940:\n"
|
||||
"\tmovs r0, 0x3\n"
|
||||
"\tbl CopyBgTilemapBufferToVram\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tbl CopyBgTilemapBufferToVram\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tbl CopyBgTilemapBufferToVram\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tbl CopyBgTilemapBufferToVram\n"
|
||||
"\tldr r0, _08102960 @ =gUnknown_203ACF0\n"
|
||||
"\tldr r1, [r0]\n"
|
||||
"\tmovs r0, 0x4\n"
|
||||
"\tb _08102C16\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_08102960: .4byte gUnknown_203ACF0\n"
|
||||
"_08102964:\n"
|
||||
"\tmovs r0, 0x3\n"
|
||||
"\tbl ShowBg\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tbl ShowBg\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tbl ShowBg\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tbl ShowBg\n"
|
||||
"\tldr r2, _081029A4 @ =gPaletteFade\n"
|
||||
"\tldrb r1, [r2, 0x8]\n"
|
||||
"\tmovs r0, 0x80\n"
|
||||
"\tands r0, r1\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbeq _081029AC\n"
|
||||
"\tmovs r0, 0x7F\n"
|
||||
"\tands r0, r1\n"
|
||||
"\tstrb r0, [r2, 0x8]\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tnegs r0, r0\n"
|
||||
"\tldr r1, _081029A8 @ =0x0000ffff\n"
|
||||
"\tstr r1, [sp]\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl BeginNormalPaletteFade\n"
|
||||
"\tb _081029BC\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_081029A4: .4byte gPaletteFade\n"
|
||||
"_081029A8: .4byte 0x0000ffff\n"
|
||||
"_081029AC:\n"
|
||||
"\tldr r0, _081029C4 @ =0xffff7fff\n"
|
||||
"\tldr r1, _081029C8 @ =0x0000ffff\n"
|
||||
"\tstr r1, [sp]\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tmovs r2, 0x10\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl BeginNormalPaletteFade\n"
|
||||
"_081029BC:\n"
|
||||
"\tldr r0, _081029CC @ =gUnknown_203ACF0\n"
|
||||
"\tldr r1, [r0]\n"
|
||||
"\tmovs r0, 0x5\n"
|
||||
"\tb _08102C16\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_081029C4: .4byte 0xffff7fff\n"
|
||||
"_081029C8: .4byte 0x0000ffff\n"
|
||||
"_081029CC: .4byte gUnknown_203ACF0\n"
|
||||
"_081029D0:\n"
|
||||
"\tldr r4, _081029EC @ =gUnknown_203ACF0\n"
|
||||
"\tldr r1, [r4]\n"
|
||||
"\tldrb r0, [r1, 0x17]\n"
|
||||
"\tadds r1, 0x62\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tbl ListMenuGetScrollAndRow\n"
|
||||
"\tbl IsNationalPokedexEnabled\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbeq _081029F4\n"
|
||||
"\tldr r0, _081029F0 @ =gUnknown_84520E4\n"
|
||||
"\tb _081029F6\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_081029EC: .4byte gUnknown_203ACF0\n"
|
||||
"_081029F0: .4byte gUnknown_84520E4\n"
|
||||
"_081029F4:\n"
|
||||
"\tldr r0, _08102A0C @ =gUnknown_84520D4\n"
|
||||
"_081029F6:\n"
|
||||
"\tldr r1, [r4]\n"
|
||||
"\tadds r1, 0x62\n"
|
||||
"\tbl AddScrollIndicatorArrowPair\n"
|
||||
"\tldr r1, [r4]\n"
|
||||
"\tadds r1, 0x60\n"
|
||||
"\tstrb r0, [r1]\n"
|
||||
"\tldr r0, _08102A10 @ =gUnknown_203ACF0\n"
|
||||
"\tldr r1, [r0]\n"
|
||||
"\tmovs r0, 0x6\n"
|
||||
"\tb _08102C16\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_08102A0C: .4byte gUnknown_84520D4\n"
|
||||
"_08102A10: .4byte gUnknown_203ACF0\n"
|
||||
"_08102A14:\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tldrb r0, [r0, 0x17]\n"
|
||||
"\tbl ListMenu_ProcessInput\n"
|
||||
"\tldr r1, [r4]\n"
|
||||
"\tstr r0, [r1, 0xC]\n"
|
||||
"\tldrb r0, [r1, 0x17]\n"
|
||||
"\tadds r1, 0x62\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tbl ListMenuGetScrollAndRow\n"
|
||||
"\tldr r0, _08102A4C @ =gMain\n"
|
||||
"\tldrh r1, [r0, 0x2E]\n"
|
||||
"\tmovs r3, 0x1\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tands r0, r1\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbeq _08102B14\n"
|
||||
"\tldr r2, [r4]\n"
|
||||
"\tldr r1, [r2, 0xC]\n"
|
||||
"\tcmp r1, 0xD\n"
|
||||
"\tbhi _08102A50\n"
|
||||
"\tcmp r1, 0xA\n"
|
||||
"\tbcs _08102ADC\n"
|
||||
"\tcmp r1, 0x8\n"
|
||||
"\tbls _08102A62\n"
|
||||
"\tb _08102AA4\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_08102A4C: .4byte gMain\n"
|
||||
"_08102A50:\n"
|
||||
"\tcmp r1, 0xE\n"
|
||||
"\tbeq _08102AA4\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tnegs r0, r0\n"
|
||||
"\tcmp r1, r0\n"
|
||||
"\tbeq _08102A5E\n"
|
||||
"\tb _08102C18\n"
|
||||
"_08102A5E:\n"
|
||||
"\tstrb r3, [r2, 0x1]\n"
|
||||
"\tb _08102C18\n"
|
||||
"_08102A62:\n"
|
||||
"\tlsls r0, r1, 24\n"
|
||||
"\tlsrs r0, 24\n"
|
||||
"\tbl sub_81068A0\n"
|
||||
"\tlsls r0, 24\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbne _08102A72\n"
|
||||
"\tb _08102C18\n"
|
||||
"_08102A72:\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x60\n"
|
||||
"\tldrb r0, [r0]\n"
|
||||
"\tbl RemoveScrollIndicatorArrowPair\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tldr r1, [r0, 0xC]\n"
|
||||
"\tadds r0, 0x28\n"
|
||||
"\tstrb r1, [r0]\n"
|
||||
"\tldr r0, _08102A9C @ =0xffff7fff\n"
|
||||
"\tldr r1, _08102AA0 @ =0x0000ffff\n"
|
||||
"\tstr r1, [sp]\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0x10\n"
|
||||
"\tbl BeginNormalPaletteFade\n"
|
||||
"\tldr r1, [r4]\n"
|
||||
"\tmovs r0, 0x7\n"
|
||||
"\tb _08102C16\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_08102A9C: .4byte 0xffff7fff\n"
|
||||
"_08102AA0: .4byte 0x0000ffff\n"
|
||||
"_08102AA4:\n"
|
||||
"\tldr r4, _08102AD0 @ =gUnknown_203ACF0\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x60\n"
|
||||
"\tldrb r0, [r0]\n"
|
||||
"\tbl RemoveScrollIndicatorArrowPair\n"
|
||||
"\tldr r1, [r4]\n"
|
||||
"\tldr r0, [r1, 0xC]\n"
|
||||
"\tsubs r0, 0x9\n"
|
||||
"\tadds r1, 0x42\n"
|
||||
"\tstrb r0, [r1]\n"
|
||||
"\tldr r0, _08102AD4 @ =0xffff7fff\n"
|
||||
"\tldr r1, _08102AD8 @ =0x0000ffff\n"
|
||||
"\tstr r1, [sp]\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0x10\n"
|
||||
"\tbl BeginNormalPaletteFade\n"
|
||||
"\tldr r1, [r4]\n"
|
||||
"\tmovs r0, 0x9\n"
|
||||
"\tb _08102C16\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_08102AD0: .4byte gUnknown_203ACF0\n"
|
||||
"_08102AD4: .4byte 0xffff7fff\n"
|
||||
"_08102AD8: .4byte 0x0000ffff\n"
|
||||
"_08102ADC:\n"
|
||||
"\tadds r0, r2, 0\n"
|
||||
"\tadds r0, 0x60\n"
|
||||
"\tldrb r0, [r0]\n"
|
||||
"\tbl RemoveScrollIndicatorArrowPair\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tldr r1, [r0, 0xC]\n"
|
||||
"\tsubs r1, 0x9\n"
|
||||
"\tadds r0, 0x42\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tstrb r1, [r0]\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tstrh r2, [r0, 0x3A]\n"
|
||||
"\tstrh r2, [r0, 0x38]\n"
|
||||
"\tldr r0, _08102B0C @ =0xffff7fff\n"
|
||||
"\tldr r1, _08102B10 @ =0x0000ffff\n"
|
||||
"\tstr r1, [sp]\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tmovs r3, 0x10\n"
|
||||
"\tbl BeginNormalPaletteFade\n"
|
||||
"\tldr r1, [r4]\n"
|
||||
"\tmovs r0, 0x8\n"
|
||||
"\tb _08102C16\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_08102B0C: .4byte 0xffff7fff\n"
|
||||
"_08102B10: .4byte 0x0000ffff\n"
|
||||
"_08102B14:\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tands r0, r1\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbne _08102B1E\n"
|
||||
"\tb _08102C18\n"
|
||||
"_08102B1E:\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tstrb r3, [r0, 0x1]\n"
|
||||
"\tb _08102C18\n"
|
||||
"_08102B24:\n"
|
||||
"\tldr r2, [r4]\n"
|
||||
"\tldrb r0, [r2, 0x17]\n"
|
||||
"\tadds r1, r2, 0\n"
|
||||
"\tadds r1, 0x12\n"
|
||||
"\tadds r2, 0x10\n"
|
||||
"\tbl DestroyListMenuTask\n"
|
||||
"\tmovs r0, 0x20\n"
|
||||
"\tstr r0, [sp]\n"
|
||||
"\tmovs r0, 0x14\n"
|
||||
"\tstr r0, [sp, 0x4]\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl FillBgTilemapBufferRect_Palette0\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tbl CopyBgTilemapBufferToVram\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x14\n"
|
||||
"\tbl sub_81047B0\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x15\n"
|
||||
"\tbl sub_81047B0\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x16\n"
|
||||
"\tbl sub_81047B0\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x2B\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tstrb r2, [r0]\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x2D\n"
|
||||
"\tstrb r2, [r0]\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x2F\n"
|
||||
"\tstrb r2, [r0]\n"
|
||||
"\tldr r1, _08102B8C @ =gTasks\n"
|
||||
"\tlsls r0, r5, 2\n"
|
||||
"\tadds r0, r5\n"
|
||||
"\tlsls r0, 3\n"
|
||||
"\tadds r0, r1\n"
|
||||
"\tldr r1, _08102B90 @ =sub_8103AC8\n"
|
||||
"\tstr r1, [r0]\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tstrb r2, [r0, 0x1]\n"
|
||||
"\tb _08102C18\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_08102B8C: .4byte gTasks\n"
|
||||
"_08102B90: .4byte sub_8103AC8\n"
|
||||
"_08102B94:\n"
|
||||
"\tldr r2, [r4]\n"
|
||||
"\tldrb r0, [r2, 0x17]\n"
|
||||
"\tadds r1, r2, 0\n"
|
||||
"\tadds r1, 0x12\n"
|
||||
"\tadds r2, 0x10\n"
|
||||
"\tbl DestroyListMenuTask\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tbl HideBg\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x14\n"
|
||||
"\tbl sub_81047B0\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x15\n"
|
||||
"\tbl sub_81047B0\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x16\n"
|
||||
"\tbl sub_81047B0\n"
|
||||
"\tldr r1, _08102BD0 @ =gTasks\n"
|
||||
"\tlsls r0, r5, 2\n"
|
||||
"\tadds r0, r5\n"
|
||||
"\tlsls r0, 3\n"
|
||||
"\tadds r0, r1\n"
|
||||
"\tldr r1, _08102BD4 @ =sub_8103238\n"
|
||||
"\tb _08102C10\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_08102BD0: .4byte gTasks\n"
|
||||
"_08102BD4: .4byte sub_8103238\n"
|
||||
"_08102BD8:\n"
|
||||
"\tldr r2, [r4]\n"
|
||||
"\tldrb r0, [r2, 0x17]\n"
|
||||
"\tadds r1, r2, 0\n"
|
||||
"\tadds r1, 0x12\n"
|
||||
"\tadds r2, 0x10\n"
|
||||
"\tbl DestroyListMenuTask\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tbl HideBg\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x14\n"
|
||||
"\tbl sub_81047B0\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x15\n"
|
||||
"\tbl sub_81047B0\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x16\n"
|
||||
"\tbl sub_81047B0\n"
|
||||
"\tldr r1, _08102C20 @ =gTasks\n"
|
||||
"\tlsls r0, r5, 2\n"
|
||||
"\tadds r0, r5\n"
|
||||
"\tlsls r0, 3\n"
|
||||
"\tadds r0, r1\n"
|
||||
"\tldr r1, _08102C24 @ =sub_8102F80\n"
|
||||
"_08102C10:\n"
|
||||
"\tstr r1, [r0]\n"
|
||||
"\tldr r1, [r4]\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"_08102C16:\n"
|
||||
"\tstrb r0, [r1, 0x1]\n"
|
||||
"_08102C18:\n"
|
||||
"\tadd sp, 0x8\n"
|
||||
"\tpop {r4,r5}\n"
|
||||
"\tpop {r0}\n"
|
||||
"\tbx r0\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_08102C20: .4byte gTasks\n"
|
||||
"_08102C24: .4byte sub_8102F80");
|
||||
}
|
||||
#endif //NONMATCHING
|
||||
|
||||
Reference in New Issue
Block a user