diff --git a/asm/non_matching/fileScreen/sub_08051738.inc b/asm/non_matching/fileScreen/sub_08051738.inc deleted file mode 100644 index f1e65adb..00000000 --- a/asm/non_matching/fileScreen/sub_08051738.inc +++ /dev/null @@ -1,65 +0,0 @@ - .syntax unified - push {r4, r5, r6, r7, lr} - ldr r1, _08051768 @ =gMapDataBottomSpecial - movs r0, #4 - strb r0, [r1, #7] - movs r4, #0 - movs r3, #0 - adds r5, r1, #0 - adds r7, r5, #0 - adds r7, #8 - ldr r6, _0805176C @ =gUnk_02000090 -_0805174C: - adds r0, r3, r7 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #1 - bne _08051770 - ldrb r1, [r5, #6] - movs r2, #4 - eors r1, r3 - rsbs r0, r1, #0 - orrs r0, r1 - asrs r0, r0, #0x1f - ands r2, r0 - b _08051774 - .align 2, 0 -_08051768: .4byte gMapDataBottomSpecial -_0805176C: .4byte gUnk_02000090 -_08051770: - adds r4, #1 - adds r2, r4, #0 -_08051774: - adds r0, r3, r6 - strb r2, [r0] - adds r3, #1 - cmp r3, #2 - bls _0805174C - cmp r4, #0 - bne _0805179C - ldr r1, _08051798 @ =gMenu - movs r0, #0x3c - strh r0, [r1, #8] - movs r0, #1 - movs r1, #0 - bl CreateDialogBox - movs r0, #3 - bl SetMenuType - b _080517A2 - .align 2, 0 -_08051798: .4byte gMenu -_0805179C: - movs r0, #1 - bl SetMenuType -_080517A2: - adds r4, #1 - ldr r0, _080517B0 @ =gMenu - strb r4, [r0, #0x16] - movs r1, #4 - strb r1, [r0, #0x13] - strb r4, [r0, #0x14] - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_080517B0: .4byte gMenu - .syntax divided diff --git a/src/fileselect.c b/src/fileselect.c index b7b4170c..aacb57f0 100644 --- a/src/fileselect.c +++ b/src/fileselect.c @@ -1098,22 +1098,27 @@ void HandleFileCopy(void) { sub_08050A64(gMapDataBottomSpecial.unk6); } -// regalloc -NONMATCH("asm/non_matching/fileScreen/sub_08051738.inc", void sub_08051738(void)) { +void sub_08051738(void) { s32 temp; u32 i; s32 uVar3; + s32 val; + u32 temp2; gMapDataBottomSpecial.unk7 = 4; uVar3 = 0; for (i = 0; i < 3; i++) { if (gMapDataBottomSpecial.saveStatus[i] == 1) { - temp = gMapDataBottomSpecial.unk6 ^ i; - uVar3 = !!temp & 4; + temp = gMapDataBottomSpecial.unk6; + val = 4; + if ((temp ^ i) == 0) { + val = 0; + } } else { uVar3++; + val = uVar3; } - (&gGenericMenu.selectMtx)[i] = uVar3; + gGenericMenu.unk10.a[i] = val; } if (uVar3 == 0) { gMenu.transitionTimer = 0x3c; @@ -1127,7 +1132,6 @@ NONMATCH("asm/non_matching/fileScreen/sub_08051738.inc", void sub_08051738(void) gGenericMenu.unk10.a[3] = 4; gGenericMenu.unk14 = uVar3; } -END_NONMATCH s32 sub_080517B4(s32 a1) { u32 i = gMapDataBottomSpecial.unk7;