tm_case through sub_813226C
This commit is contained in:
-178
@@ -5,184 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8132170
|
||||
sub_8132170: @ 8132170
|
||||
push {r4-r6,lr}
|
||||
ldr r0, _081321CC @ =gUnknown_203B10C
|
||||
ldrh r1, [r0, 0x8]
|
||||
adds r6, r0, 0
|
||||
cmp r1, 0x3
|
||||
bls _081321C4
|
||||
movs r4, 0
|
||||
ldrh r0, [r6, 0x8]
|
||||
subs r0, 0x3
|
||||
cmp r4, r0
|
||||
bgt _081321C4
|
||||
ldrh r1, [r6, 0xA]
|
||||
ldr r5, _081321D0 @ =gUnknown_203B118
|
||||
ldr r2, [r5]
|
||||
ldrb r0, [r2, 0x5]
|
||||
adds r1, r0
|
||||
ldrb r0, [r2, 0x6]
|
||||
adds r0, 0x1
|
||||
cmp r1, r0
|
||||
beq _081321C4
|
||||
adds r3, r6, 0
|
||||
_0813219A:
|
||||
ldrh r0, [r3, 0x8]
|
||||
subs r0, 0x1
|
||||
strh r0, [r3, 0x8]
|
||||
ldrh r0, [r3, 0xA]
|
||||
adds r0, 0x1
|
||||
strh r0, [r3, 0xA]
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
ldrh r0, [r3, 0x8]
|
||||
subs r0, 0x3
|
||||
cmp r4, r0
|
||||
bgt _081321C4
|
||||
ldrh r1, [r6, 0xA]
|
||||
ldr r2, [r5]
|
||||
ldrb r0, [r2, 0x5]
|
||||
adds r1, r0
|
||||
ldrb r0, [r2, 0x6]
|
||||
adds r0, 0x1
|
||||
cmp r1, r0
|
||||
bne _0813219A
|
||||
_081321C4:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_081321CC: .4byte gUnknown_203B10C
|
||||
_081321D0: .4byte gUnknown_203B118
|
||||
thumb_func_end sub_8132170
|
||||
|
||||
thumb_func_start sub_81321D4
|
||||
sub_81321D4: @ 81321D4
|
||||
push {lr}
|
||||
ldr r0, _0813221C @ =gUnknown_203B118
|
||||
ldr r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _081321E2
|
||||
bl Free
|
||||
_081321E2:
|
||||
ldr r0, _08132220 @ =gUnknown_203B120
|
||||
ldr r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _081321EE
|
||||
bl Free
|
||||
_081321EE:
|
||||
ldr r0, _08132224 @ =gUnknown_203B124
|
||||
ldr r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _081321FA
|
||||
bl Free
|
||||
_081321FA:
|
||||
ldr r0, _08132228 @ =gUnknown_203B128
|
||||
ldr r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _08132206
|
||||
bl Free
|
||||
_08132206:
|
||||
ldr r0, _0813222C @ =gUnknown_203B12C
|
||||
ldr r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _08132212
|
||||
bl Free
|
||||
_08132212:
|
||||
bl FreeAllWindowBuffers
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0813221C: .4byte gUnknown_203B118
|
||||
_08132220: .4byte gUnknown_203B120
|
||||
_08132224: .4byte gUnknown_203B124
|
||||
_08132228: .4byte gUnknown_203B128
|
||||
_0813222C: .4byte gUnknown_203B12C
|
||||
thumb_func_end sub_81321D4
|
||||
|
||||
thumb_func_start sub_8132230
|
||||
sub_8132230: @ 8132230
|
||||
push {r4,lr}
|
||||
sub sp, 0x4
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
movs r1, 0x2
|
||||
negs r1, r1
|
||||
movs r2, 0
|
||||
str r2, [sp]
|
||||
movs r3, 0x10
|
||||
bl BeginNormalPaletteFade
|
||||
ldr r1, _08132264 @ =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, _08132268 @ =sub_813226C
|
||||
str r1, [r0]
|
||||
add sp, 0x4
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08132264: .4byte gTasks
|
||||
_08132268: .4byte sub_813226C
|
||||
thumb_func_end sub_8132230
|
||||
|
||||
thumb_func_start sub_813226C
|
||||
sub_813226C: @ 813226C
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
lsls r0, r5, 2
|
||||
adds r0, r5
|
||||
lsls r0, 3
|
||||
ldr r1, _081322A4 @ =gTasks+0x8
|
||||
adds r2, r0, r1
|
||||
ldr r0, _081322A8 @ =gPaletteFade
|
||||
ldrb r1, [r0, 0x7]
|
||||
movs r0, 0x80
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _081322CC
|
||||
ldrb r0, [r2]
|
||||
ldr r4, _081322AC @ =gUnknown_203B10C + 10
|
||||
subs r2, r4, 0x2
|
||||
adds r1, r4, 0
|
||||
bl sub_810713C
|
||||
ldr r0, _081322B0 @ =gUnknown_203B118
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _081322B4
|
||||
bl SetMainCallback2
|
||||
b _081322BE
|
||||
.align 2, 0
|
||||
_081322A4: .4byte gTasks+0x8
|
||||
_081322A8: .4byte gPaletteFade
|
||||
_081322AC: .4byte gUnknown_203B10C + 10
|
||||
_081322B0: .4byte gUnknown_203B118
|
||||
_081322B4:
|
||||
adds r0, r4, 0
|
||||
subs r0, 0xA
|
||||
ldr r0, [r0]
|
||||
bl SetMainCallback2
|
||||
_081322BE:
|
||||
bl sub_813208C
|
||||
bl sub_81321D4
|
||||
adds r0, r5, 0
|
||||
bl DestroyTask
|
||||
_081322CC:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_813226C
|
||||
|
||||
thumb_func_start sub_81322D4
|
||||
sub_81322D4: @ 81322D4
|
||||
push {r4-r7,lr}
|
||||
|
||||
+1
-1
@@ -56,7 +56,7 @@ u8 ListMenuInit(struct ListMenuTemplate *template, u16 a1, u16 a2);
|
||||
s32 ListMenuHandleInput(u8 id);
|
||||
void get_coro_args_x18_x1A(u8 a0, u16 *a1, u16 *a2);
|
||||
void sub_81AE6C8(u8 a0, u16 *a1, u16 *a2);
|
||||
void sub_810713C(u8, u8, u8);
|
||||
void sub_810713C(u8, u16 *, u16 *);
|
||||
u16 ListMenuGetYCoordForPrintingArrowCursor(u8);
|
||||
|
||||
#endif //GUARD_LIST_MENU_H
|
||||
|
||||
+1
-1
@@ -853,7 +853,7 @@ static void Task_DestroyAssetsAndCloseFameChecker(u8 taskId)
|
||||
FreeQuestionMarkSpriteResources();
|
||||
FreeListMenuSelectorArrowPairResources();
|
||||
SetMainCallback2(sFameCheckerData->savedCallback);
|
||||
sub_810713C(sFameCheckerData->listMenuTaskId, 0, 0);
|
||||
sub_810713C(sFameCheckerData->listMenuTaskId, NULL, NULL);
|
||||
Free(sBg3TilemapBuffer);
|
||||
Free(sBg1TilemapBuffer);
|
||||
Free(sBg2TilemapBuffer);
|
||||
|
||||
+54
-1
@@ -32,7 +32,7 @@ struct UnkStruct_203B10C
|
||||
|
||||
struct UnkStruct_203B118
|
||||
{
|
||||
u32 unk_00;
|
||||
void (* unk_00)(void);
|
||||
u8 unk_04;
|
||||
u8 unk_05;
|
||||
u8 unk_06;
|
||||
@@ -76,6 +76,7 @@ void sub_8132018(void);
|
||||
void sub_81320BC(void);
|
||||
void sub_8132120(void);
|
||||
void sub_8132170(void);
|
||||
void sub_813226C(u8 taskId);
|
||||
void sub_81322D4(u8 taskId);
|
||||
void sub_8132F20(u8 taskId);
|
||||
void sub_8133244(void);
|
||||
@@ -512,3 +513,55 @@ void sub_8132120(void)
|
||||
gUnknown_203B10C.unk_08 = gUnknown_203B118->unk_06;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8132170(void)
|
||||
{
|
||||
u8 i;
|
||||
if (gUnknown_203B10C.unk_08 > 3)
|
||||
{
|
||||
for (i = 0; i <= gUnknown_203B10C.unk_08 - 3 && gUnknown_203B10C.unk_0a + gUnknown_203B118->unk_05 != gUnknown_203B118->unk_06 + 1; i++)
|
||||
{
|
||||
do {} while (0);
|
||||
gUnknown_203B10C.unk_08--;
|
||||
gUnknown_203B10C.unk_0a++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_81321D4(void)
|
||||
{
|
||||
if (gUnknown_203B118 != NULL)
|
||||
Free(gUnknown_203B118);
|
||||
if (gUnknown_203B120 != NULL)
|
||||
Free(gUnknown_203B120);
|
||||
if (gUnknown_203B124 != NULL)
|
||||
Free(gUnknown_203B124);
|
||||
if (gUnknown_203B128 != NULL)
|
||||
Free(gUnknown_203B128);
|
||||
if (gUnknown_203B12C != NULL)
|
||||
Free(gUnknown_203B12C);
|
||||
FreeAllWindowBuffers();
|
||||
}
|
||||
|
||||
void sub_8132230(u8 taskId)
|
||||
{
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK);
|
||||
gTasks[taskId].func = sub_813226C;
|
||||
}
|
||||
|
||||
void sub_813226C(u8 taskId)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
sub_810713C(data[0], &gUnknown_203B10C.unk_0a, &gUnknown_203B10C.unk_08);
|
||||
if (gUnknown_203B118->unk_00 != NULL)
|
||||
SetMainCallback2(gUnknown_203B118->unk_00);
|
||||
else
|
||||
SetMainCallback2(gUnknown_203B10C.unk_00);
|
||||
sub_813208C();
|
||||
sub_81321D4();
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user