From bbfe80ea0c7b6986266293ac75868037f8c95d4d Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Wed, 25 Dec 2024 13:26:41 -0800 Subject: [PATCH] decomp another file --- asm/code_80130A8.s | 304 ---------------------------------------- include/menu_input.h | 4 + include/string_format.h | 3 - ld_script.txt | 1 - src/menu_input.c | 55 ++++++++ src/string_format.c | 15 -- 6 files changed, 59 insertions(+), 323 deletions(-) delete mode 100644 asm/code_80130A8.s diff --git a/asm/code_80130A8.s b/asm/code_80130A8.s deleted file mode 100644 index b5ff8020e..000000000 --- a/asm/code_80130A8.s +++ /dev/null @@ -1,304 +0,0 @@ - #include "asm/constants/gba_constants.inc" - #include "asm/macros.inc" - - .syntax unified - - .text - -@ SpriteOAM memes. Same as sub_8013F84 except instead of a 0x60 it's a 0x80 - thumb_func_start sub_8013E54 -sub_8013E54: - push {r4-r6,lr} - sub sp, 0x8 - ldr r6, _08013F60 - movs r0, 0 - movs r1, 0 - str r0, [sp] - str r1, [sp, 0x4] - mov r0, sp - ldrh r0, [r0] - ldr r1, _08013F64 - ands r1, r0 - ldr r3, _08013F68 - ldr r0, [sp] - ands r0, r3 - orrs r0, r1 - str r0, [sp] - mov r1, sp - ldrh r1, [r1] - adds r2, r3, 0 - ands r2, r0 - orrs r2, r1 - str r2, [sp] - mov r0, sp - ldrh r1, [r0] - ldr r0, _08013F6C - ands r0, r1 - adds r1, r3, 0 - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - ldrh r0, [r0] - adds r2, r3, 0 - ands r2, r1 - orrs r2, r0 - str r2, [sp] - mov r0, sp - ldrh r1, [r0] - ldr r5, _08013F70 - adds r0, r5, 0 - ands r0, r1 - adds r1, r3, 0 - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - ldrh r0, [r0] - adds r2, r3, 0 - ands r2, r1 - orrs r2, r0 - str r2, [sp] - mov r0, sp - ldrh r1, [r0] - ldr r0, _08013F74 - ands r0, r1 - adds r1, r3, 0 - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - ldrh r0, [r0] - adds r2, r3, 0 - ands r2, r1 - orrs r2, r0 - str r2, [sp] - mov r0, sp - ldrh r1, [r0] - ldr r0, _08013F78 - ands r0, r1 - adds r1, r3, 0 - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - ldrh r0, [r0] - adds r2, r3, 0 - ands r2, r1 - orrs r2, r0 - str r2, [sp] - movs r4, 0x80 - lsls r4, 7 - mov r0, sp - ldrh r1, [r0] - ldr r0, _08013F7C - ands r0, r1 - adds r1, r3, 0 - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - ldrh r0, [r0] - orrs r4, r0 - ands r3, r1 - orrs r3, r4 - str r3, [sp] - mov r3, sp - movs r2, 0xFC - lsls r2, 2 - ldrh r1, [r3, 0x4] - movs r0, 0xFC - lsls r0, 8 - ands r0, r1 - orrs r0, r2 - ands r0, r5 - movs r2, 0xF - movs r1, 0xF0 - lsls r1, 8 - ldr r4, _08013F80 - ands r0, r4 - orrs r0, r1 - strh r0, [r3, 0x4] - movs r1, 0x2 - ldrsh r0, [r6, r1] - lsls r0, 3 - adds r0, 0x80 - ands r0, r4 - lsls r0, 4 - ldrh r1, [r3, 0x6] - ands r2, r1 - orrs r2, r0 - strh r2, [r3, 0x6] - movs r0, 0x70 - strh r0, [r3, 0x2] - movs r1, 0x80 - lsls r1, 1 - mov r0, sp - movs r2, 0 - movs r3, 0 - bl AddSprite - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08013F60: .4byte gUnknown_2027370 -_08013F64: .4byte 0x0000feff -_08013F68: .4byte 0xffff0000 -_08013F6C: .4byte 0x0000fdff -_08013F70: .4byte 0x0000f3ff -_08013F74: .4byte 0x0000efff -_08013F78: .4byte 0x0000dfff -_08013F7C: .4byte 0x00003fff -_08013F80: .4byte 0x00000fff - thumb_func_end sub_8013E54 - -@ SpriteOAM memes https://decomp.me/scratch/GROyH - thumb_func_start sub_8013F84 -sub_8013F84: - push {r4-r6,lr} - sub sp, 0x8 - ldr r6, _08014090 - movs r0, 0 - movs r1, 0 - str r0, [sp] - str r1, [sp, 0x4] - mov r0, sp - ldrh r0, [r0] - ldr r1, _08014094 - ands r1, r0 - ldr r3, _08014098 - ldr r0, [sp] - ands r0, r3 - orrs r0, r1 - str r0, [sp] - mov r1, sp - ldrh r1, [r1] - adds r2, r3, 0 - ands r2, r0 - orrs r2, r1 - str r2, [sp] - mov r0, sp - ldrh r1, [r0] - ldr r0, _0801409C - ands r0, r1 - adds r1, r3, 0 - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - ldrh r0, [r0] - adds r2, r3, 0 - ands r2, r1 - orrs r2, r0 - str r2, [sp] - mov r0, sp - ldrh r1, [r0] - ldr r5, _080140A0 - adds r0, r5, 0 - ands r0, r1 - adds r1, r3, 0 - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - ldrh r0, [r0] - adds r2, r3, 0 - ands r2, r1 - orrs r2, r0 - str r2, [sp] - mov r0, sp - ldrh r1, [r0] - ldr r0, _080140A4 - ands r0, r1 - adds r1, r3, 0 - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - ldrh r0, [r0] - adds r2, r3, 0 - ands r2, r1 - orrs r2, r0 - str r2, [sp] - mov r0, sp - ldrh r1, [r0] - ldr r0, _080140A8 - ands r0, r1 - adds r1, r3, 0 - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - ldrh r0, [r0] - adds r2, r3, 0 - ands r2, r1 - orrs r2, r0 - str r2, [sp] - movs r4, 0x80 - lsls r4, 7 - mov r0, sp - ldrh r1, [r0] - ldr r0, _080140AC - ands r0, r1 - adds r1, r3, 0 - ands r1, r2 - orrs r1, r0 - str r1, [sp] - mov r0, sp - ldrh r0, [r0] - orrs r4, r0 - ands r3, r1 - orrs r3, r4 - str r3, [sp] - mov r3, sp - movs r2, 0xFC - lsls r2, 2 - ldrh r1, [r3, 0x4] - movs r0, 0xFC - lsls r0, 8 - ands r0, r1 - orrs r0, r2 - ands r0, r5 - movs r2, 0xF - movs r1, 0xF0 - lsls r1, 8 - ldr r4, _080140B0 - ands r0, r4 - orrs r0, r1 - strh r0, [r3, 0x4] - movs r1, 0x2 - ldrsh r0, [r6, r1] - lsls r0, 3 - adds r0, 0x60 - ands r0, r4 - lsls r0, 4 - ldrh r1, [r3, 0x6] - ands r2, r1 - orrs r2, r0 - strh r2, [r3, 0x6] - movs r0, 0x70 - strh r0, [r3, 0x2] - movs r1, 0x80 - lsls r1, 1 - mov r0, sp - movs r2, 0 - movs r3, 0 - bl AddSprite - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08014090: .4byte gUnknown_2027370 -_08014094: .4byte 0x0000feff -_08014098: .4byte 0xffff0000 -_0801409C: .4byte 0x0000fdff -_080140A0: .4byte 0x0000f3ff -_080140A4: .4byte 0x0000efff -_080140A8: .4byte 0x0000dfff -_080140AC: .4byte 0x00003fff -_080140B0: .4byte 0x00000fff - thumb_func_end sub_8013F84 - - .align 2,0 diff --git a/include/menu_input.h b/include/menu_input.h index 0ffe36cda..0d897b526 100644 --- a/include/menu_input.h +++ b/include/menu_input.h @@ -47,5 +47,9 @@ void sub_8013AA0(unkStructFor8013AA0 *); u32 sub_8013BBC(unkStructFor8013AA0 *); void sub_8013C68(unkStructFor8013AA0 *); void sub_8013D10(unkStructFor8013AA0 *); +void sub_8013E54(void); +void sub_8013F84(void); +void sub_80140B4(UnkTextStruct2 *); + #endif // GUARD_MENU_INPUT_H diff --git a/include/string_format.h b/include/string_format.h index 3a8f24c7b..ad038c796 100644 --- a/include/string_format.h +++ b/include/string_format.h @@ -8,9 +8,6 @@ // TODO: once the files close to string_format.c are decompiled, check if these should be included here. Most likely, they should be declared elsewhere. // code_80130A8.s -void sub_8013E54(void); -void sub_8013F84(void); -void sub_80140B4(UnkTextStruct2 *); void sub_80140DC(void); void sub_8014114(void); s32 sub_80144A4(s32 *); diff --git a/ld_script.txt b/ld_script.txt index b6e05c121..49cc4c233 100755 --- a/ld_script.txt +++ b/ld_script.txt @@ -102,7 +102,6 @@ SECTIONS { src/quick_save_write.o(.text); src/code_8012A18.o(.text); src/menu_input.o(.text); - asm/code_80130A8.o(.text); src/string_format.o(.text); src/code_8015080.o(.text); asm/code_8015080.o(.text); diff --git a/src/menu_input.c b/src/menu_input.c index 75eb20772..3a19b7e9e 100644 --- a/src/menu_input.c +++ b/src/menu_input.c @@ -1148,3 +1148,58 @@ static bool8 sub_8013DD0(unkStructFor8013AA0 *a0) return FALSE; } } + +void sub_8013E54(void) +{ + UnkTextStruct1 *ptr = &gUnknown_2027370[0]; + SpriteOAM SStack_18 = {0}; + + SpriteSetAffine1(&SStack_18, 0); + SpriteSetAffine2(&SStack_18, 0); + SpriteSetObjMode(&SStack_18, 0); + SpriteSetMosaic(&SStack_18, 0); + SpriteSetBpp(&SStack_18, 0); + SpriteSetShape(&SStack_18, 1); + SpriteSetMatrixNum(&SStack_18, 0); + SpriteSetSize(&SStack_18, 0); + SpriteSetTileNum(&SStack_18, 0x3F0); + SpriteSetPriority(&SStack_18, 0); + SpriteSetPalNum(&SStack_18, 15); + SpriteSetY(&SStack_18, (ptr->unk2 * 8) + 0x80); + SpriteSetX(&SStack_18, 112); + + AddSprite(&SStack_18,0x100,0,0x0); +} + +void sub_8013F84(void) +{ + UnkTextStruct1 *ptr = &gUnknown_2027370[0]; + SpriteOAM SStack_18 = {0}; + + SpriteSetAffine1(&SStack_18, 0); + SpriteSetAffine2(&SStack_18, 0); + SpriteSetObjMode(&SStack_18, 0); + SpriteSetMosaic(&SStack_18, 0); + SpriteSetBpp(&SStack_18, 0); + SpriteSetShape(&SStack_18, 1); + SpriteSetMatrixNum(&SStack_18, 0); + SpriteSetSize(&SStack_18, 0); + SpriteSetTileNum(&SStack_18, 0x3F0); + SpriteSetPriority(&SStack_18, 0); + SpriteSetPalNum(&SStack_18, 15); + SpriteSetY(&SStack_18, (ptr->unk2 * 8) + 0x60); + SpriteSetX(&SStack_18, 112); + + AddSprite(&SStack_18,0x100,0,0x0); +} + +void sub_80140B4(UnkTextStruct2 *a0) +{ + s32 i; + + for(i = 0; i < 4; i++) + { + a0[i] = gUnknown_80D47C8[i]; + } +} + diff --git a/src/string_format.c b/src/string_format.c index 7516b9934..66c7dde8d 100644 --- a/src/string_format.c +++ b/src/string_format.c @@ -16,21 +16,6 @@ #include "data/code_80140DC.h" -// TODO: move to menu_input -extern UnkTextStruct2 gUnknown_80D47C8[4]; - -void sub_80140B4(UnkTextStruct2 *a0) -{ - s32 i; - - for(i = 0; i < 4; i++) - { - a0[i] = gUnknown_80D47C8[i]; - } -} - -// End of menu_input.c - void sub_80140DC(void) { DungeonPos pos;