From d41f643fdbf2689eb7f3ef53043ec54724c38bcf Mon Sep 17 00:00:00 2001 From: Kermalis <29823718+Kermalis@users.noreply.github.com> Date: Wed, 13 Sep 2023 01:42:28 -0400 Subject: [PATCH] Match sub_8013C68 --- asm/code_80130A8.s | 93 ------------------------------------------ include/code_80130A8.h | 1 - include/menu_input.h | 1 + src/menu_input.c | 25 +++++++++++- 4 files changed, 25 insertions(+), 95 deletions(-) diff --git a/asm/code_80130A8.s b/asm/code_80130A8.s index 0bb02cdb9..659346406 100644 --- a/asm/code_80130A8.s +++ b/asm/code_80130A8.s @@ -5,99 +5,6 @@ .text - thumb_func_start sub_8013C68 -sub_8013C68: - push {r4-r6,lr} - sub sp, 0x2C - adds r5, r0, 0 - ldr r1, [r5] - ldr r2, [r5, 0x10] - add r0, sp, 0x4 - bl ConvertToDecimal - ldr r0, [r5, 0x10] - subs r4, r0, 0x1 - cmp r4, 0 - ble _08013CA0 - lsls r0, r4, 2 - mov r1, sp - adds r1, r0 - adds r1, 0x4 - ldr r0, [r1] - cmp r0, 0 - bne _08013CA0 - movs r2, 0xFF -_08013C90: - str r2, [r1] - subs r1, 0x4 - subs r4, 0x1 - cmp r4, 0 - ble _08013CA0 - ldr r0, [r1] - cmp r0, 0 - beq _08013C90 -_08013CA0: - movs r4, 0 - adds r0, r5, 0 - adds r0, 0x25 - adds r6, r0, 0 - b _08013CDA -_08013CAA: - lsls r0, r4, 2 - add r0, sp - adds r0, 0x4 - ldr r0, [r0] - cmp r0, 0xFF - bne _08013CBA - movs r3, 0x2A - b _08013CC0 -_08013CBA: - adds r0, 0x30 - lsls r0, 24 - lsrs r3, r0, 24 -_08013CC0: - adds r4, 0x1 - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - ldr r0, [r5, 0x1C] - subs r0, r1 - ldr r1, [r5, 0x20] - ldr r2, [r5, 0x14] - str r2, [sp] - adds r2, r3, 0 - movs r3, 0x7 - bl sub_8012C60 -_08013CDA: - ldrb r0, [r6] - cmp r4, r0 - blt _08013CAA - movs r4, 0 - b _08013D02 -_08013CE4: - ldr r0, [r5, 0x14] - adds r4, 0x1 - lsls r2, r4, 1 - adds r2, r4 - lsls r2, 2 - ldr r1, [r5, 0x1C] - subs r1, r2 - subs r1, 0x1 - ldr r2, [r5, 0x20] - adds r2, 0xA - movs r3, 0x5 - str r3, [sp] - movs r3, 0xB - bl sub_800792C -_08013D02: - ldr r0, [r5, 0x10] - cmp r4, r0 - blt _08013CE4 - add sp, 0x2C - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8013C68 - thumb_func_start sub_8013D10 sub_8013D10: push {r4-r7,lr} diff --git a/include/code_80130A8.h b/include/code_80130A8.h index f7e90c498..ef1ecd5fb 100644 --- a/include/code_80130A8.h +++ b/include/code_80130A8.h @@ -6,7 +6,6 @@ #include "text.h" // code_80130A8.s -extern void sub_8013C68(unkStructFor8013AA0 *); extern void sub_8013D10(unkStructFor8013AA0 *); extern bool8 sub_8013DD0(unkStructFor8013AA0 *); extern void sub_8013F84(void); diff --git a/include/menu_input.h b/include/menu_input.h index 6993a8529..ca05fdcc8 100644 --- a/include/menu_input.h +++ b/include/menu_input.h @@ -54,5 +54,6 @@ void nullsub_34(MenuInputStructSub *); void sub_8013AA0(unkStructFor8013AA0 *); u32 sub_8013BBC(unkStructFor8013AA0 *); +void sub_8013C68(unkStructFor8013AA0 *); #endif // GUARD_MENU_INPUT_H \ No newline at end of file diff --git a/src/menu_input.c b/src/menu_input.c index 56843f28f..9129c6109 100644 --- a/src/menu_input.c +++ b/src/menu_input.c @@ -1028,7 +1028,6 @@ void sub_8013818(MenuInputStruct *param_1, s32 param_2, u32 param_3, s32 param_4 sub_80137F8(param_1, 12); } - void sub_8013848(MenuInputStruct *param_1, s32 param_2, u32 param_3, s32 param_4) { param_1->unk0 = param_4; @@ -1286,4 +1285,28 @@ u32 sub_8013BBC(unkStructFor8013AA0 *a0) return 3; } return 0; +} + +void sub_8013C68(unkStructFor8013AA0 *a0) +{ + u8 ch; + s32 i; + s32 sp[10]; + + ConvertToDecimal(sp, a0->unk0, a0->unk10); + + for (i = a0->unk10 - 1; i > 0 && sp[i] == 0; i--) + sp[i] = 0xFF; + + for (i = 0; i < a0->unk25; i++) { + if (sp[i] == 0xFF) + ch = '*'; + else + ch = '0' + sp[i]; + + sub_8012C60(a0->unk1C - ((i + 1) * 12), a0->unk20, ch, 7, a0->unk14); + } + + for (i = 0; i < a0->unk10; i++) + sub_800792C(a0->unk14, a0->unk1C - ((i + 1) * 12) - 1, a0->unk20 + 10, 11, 5); } \ No newline at end of file