Match sub_080A70AC

This commit is contained in:
Tal Hayon 2022-04-06 11:03:45 +03:00
parent 01067740c1
commit 5db4564087
2 changed files with 19 additions and 54 deletions

View File

@ -1,53 +0,0 @@
.syntax unified
push {r4, r5, lr}
adds r5, r0, #0
ldr r4, _080A7110 @ =gUnk_0200AF34
movs r1, #0xc0
lsls r1, r1, #2
adds r0, r4, #0
bl MemClear
adds r2, r4, #0
subs r2, #0x34
movs r0, #0x7f
strb r0, [r2, #0x13]
strb r0, [r2, #0x14]
ldrb r0, [r5]
strh r0, [r2, #0x16]
movs r0, #1
ldrsb r0, [r5, r0]
strh r0, [r2, #0x1c]
ldrb r1, [r5, #2]
subs r0, r4, #4
strb r1, [r0]
ldrb r0, [r5, #3]
strh r0, [r2, #0x18]
movs r0, #4
ldrsb r0, [r5, r0]
strh r0, [r2, #0x1e]
ldrb r1, [r5, #5]
subs r0, r4, #3
strb r1, [r0]
ldrb r0, [r5, #6]
strh r0, [r2, #0x1a]
movs r0, #7
ldrsb r0, [r5, r0]
strh r0, [r2, #0x20]
ldrb r0, [r5, #8]
subs r4, #2
strb r0, [r4]
adds r5, #9
movs r4, #1
rsbs r4, r4, #0
_080A70FC:
ldrb r0, [r5]
ldrb r1, [r5, #1]
bl CreateUIElement
adds r5, #2
movs r0, #0
ldrsb r0, [r5, r0]
cmp r0, r4
bne _080A70FC
pop {r4, r5, pc}
.align 2, 0
_080A7110: .4byte gUnk_0200AF34
.syntax divided

View File

@ -803,7 +803,25 @@ void sub_080A7040(u32 param_1) {
}
}
ASM_FUNC("asm/non_matching/subtask2/sub_080A70AC.inc", void sub_080A70AC(const KeyButtonLayout* layout))
void sub_080A70AC(const KeyButtonLayout* layout) {
MemClear(&gUnk_0200AF00.elements, 0x300);
gUnk_0200AF00.unk_13 = 0x7f;
gUnk_0200AF00.unk_14 = 0x7f;
gUnk_0200AF00.buttonX[0] = layout->aButtonX;
gUnk_0200AF00.buttonY[0] = (s8)layout->aButtonY;
gUnk_0200AF00.unk_30[0] = layout->aButtonText;
gUnk_0200AF00.buttonX[1] = layout->bButtonX;
gUnk_0200AF00.buttonY[1] = (s8)layout->bButtonY;
gUnk_0200AF00.unk_30[1] = layout->bButtonText;
gUnk_0200AF00.buttonX[2] = layout->rButtonX;
gUnk_0200AF00.buttonY[2] = (s8)layout->rButtonY;
gUnk_0200AF00.unk_32 = layout->rButtonText;
layout++;
do {
CreateUIElement(layout->aButtonX, layout->aButtonY);
layout = (KeyButtonLayout*)&layout->aButtonText;
} while ((s8)layout->aButtonX != -1);
}
void SetMenuType(u32 menuType) {
gMenu.menuType = menuType;