Match sub_8013C68

This commit is contained in:
Kermalis
2023-09-13 01:42:28 -04:00
parent efadf60a61
commit d41f643fdb
4 changed files with 25 additions and 95 deletions

View File

@@ -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}

View File

@@ -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);

View File

@@ -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

View File

@@ -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);
}