tm_case through sub_813226C
This commit is contained in:
-178
@@ -5,184 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.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
|
thumb_func_start sub_81322D4
|
||||||
sub_81322D4: @ 81322D4
|
sub_81322D4: @ 81322D4
|
||||||
push {r4-r7,lr}
|
push {r4-r7,lr}
|
||||||
|
|||||||
+1
-1
@@ -56,7 +56,7 @@ u8 ListMenuInit(struct ListMenuTemplate *template, u16 a1, u16 a2);
|
|||||||
s32 ListMenuHandleInput(u8 id);
|
s32 ListMenuHandleInput(u8 id);
|
||||||
void get_coro_args_x18_x1A(u8 a0, u16 *a1, u16 *a2);
|
void get_coro_args_x18_x1A(u8 a0, u16 *a1, u16 *a2);
|
||||||
void sub_81AE6C8(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);
|
u16 ListMenuGetYCoordForPrintingArrowCursor(u8);
|
||||||
|
|
||||||
#endif //GUARD_LIST_MENU_H
|
#endif //GUARD_LIST_MENU_H
|
||||||
|
|||||||
+1
-1
@@ -853,7 +853,7 @@ static void Task_DestroyAssetsAndCloseFameChecker(u8 taskId)
|
|||||||
FreeQuestionMarkSpriteResources();
|
FreeQuestionMarkSpriteResources();
|
||||||
FreeListMenuSelectorArrowPairResources();
|
FreeListMenuSelectorArrowPairResources();
|
||||||
SetMainCallback2(sFameCheckerData->savedCallback);
|
SetMainCallback2(sFameCheckerData->savedCallback);
|
||||||
sub_810713C(sFameCheckerData->listMenuTaskId, 0, 0);
|
sub_810713C(sFameCheckerData->listMenuTaskId, NULL, NULL);
|
||||||
Free(sBg3TilemapBuffer);
|
Free(sBg3TilemapBuffer);
|
||||||
Free(sBg1TilemapBuffer);
|
Free(sBg1TilemapBuffer);
|
||||||
Free(sBg2TilemapBuffer);
|
Free(sBg2TilemapBuffer);
|
||||||
|
|||||||
+54
-1
@@ -32,7 +32,7 @@ struct UnkStruct_203B10C
|
|||||||
|
|
||||||
struct UnkStruct_203B118
|
struct UnkStruct_203B118
|
||||||
{
|
{
|
||||||
u32 unk_00;
|
void (* unk_00)(void);
|
||||||
u8 unk_04;
|
u8 unk_04;
|
||||||
u8 unk_05;
|
u8 unk_05;
|
||||||
u8 unk_06;
|
u8 unk_06;
|
||||||
@@ -76,6 +76,7 @@ void sub_8132018(void);
|
|||||||
void sub_81320BC(void);
|
void sub_81320BC(void);
|
||||||
void sub_8132120(void);
|
void sub_8132120(void);
|
||||||
void sub_8132170(void);
|
void sub_8132170(void);
|
||||||
|
void sub_813226C(u8 taskId);
|
||||||
void sub_81322D4(u8 taskId);
|
void sub_81322D4(u8 taskId);
|
||||||
void sub_8132F20(u8 taskId);
|
void sub_8132F20(u8 taskId);
|
||||||
void sub_8133244(void);
|
void sub_8133244(void);
|
||||||
@@ -512,3 +513,55 @@ void sub_8132120(void)
|
|||||||
gUnknown_203B10C.unk_08 = gUnknown_203B118->unk_06;
|
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