diff --git a/Makefile b/Makefile index 99b1d5c6..6ffb4b4a 100644 --- a/Makefile +++ b/Makefile @@ -38,7 +38,7 @@ MID_BUILDDIR = $(OBJ_DIR)/$(MID_SUBDIR) ASFLAGS := -mcpu=arm7tdmi --defsym $(GAME_VERSION)=1 --defsym REVISION=$(REVISION) --defsym $(GAME_LANGUAGE)=1 CC1 := tools/agbcc/bin/agbcc -override CFLAGS += -Wimplicit -Wparentheses -Werror -Wno-multichar -O2 +override CFLAGS += -O2 -Wimplicit -Wparentheses -Werror -Wno-multichar # -fhex-asm ifeq ($(DINFO),1) diff --git a/asm/code_08016DF8.s b/asm/code_08016DF8.s index 1ce2fbce..49db41cf 100644 --- a/asm/code_08016DF8.s +++ b/asm/code_08016DF8.s @@ -128,7 +128,7 @@ _08016ED6: cmp r1, #0 beq _08016EFC ldr r2, _08016F14 @ =0x040000D4 - ldr r0, _08016F24 @ =gUnk_020344B0 + ldr r0, _08016F24 @ =gBG2Buffer str r0, [r2] ldrh r1, [r1] movs r0, #0xf8 @@ -155,7 +155,7 @@ _08016F14: .4byte 0x040000D4 _08016F18: .4byte gBG1Buffer _08016F1C: .4byte 0x84000170 _08016F20: .4byte gUnk_0200B650 -_08016F24: .4byte gUnk_020344B0 +_08016F24: .4byte gBG2Buffer thumb_func_start sub_08016F28 sub_08016F28: @ 0x08016F28 diff --git a/asm/code_08019444.s b/asm/code_08019444.s index 8636cbce..b63d2531 100644 --- a/asm/code_08019444.s +++ b/asm/code_08019444.s @@ -359,7 +359,7 @@ sub_08019698: @ 0x08019698 _08019700: movs r0, #0x11 bl LoadGfxGroup - bl sub_080AD90C + bl FlushSprites bl sub_080AD9B0 bl sub_080AD918 movs r0, #4 @@ -402,7 +402,7 @@ _08019760: .4byte gUnk_02018EB0 thumb_func_start sub_08019764 sub_08019764: @ 0x08019764 push {lr} - bl sub_080AD90C + bl FlushSprites bl sub_0805E5C0 bl sub_080AD9B0 bl sub_080AD918 diff --git a/asm/code_0801D79C.s b/asm/code_0801D79C.s index 7847ec07..38bfd35d 100644 --- a/asm/code_0801D79C.s +++ b/asm/code_0801D79C.s @@ -378,7 +378,7 @@ sub_0801DB34: @ 0x0801DB34 str r0, [r4, #0x1c] ldr r0, _0801DB7C @ =0x00001C01 strh r0, [r4, #0x14] - ldr r0, _0801DB80 @ =gUnk_020344B0 + ldr r0, _0801DB80 @ =gBG2Buffer str r0, [r4, #0x28] ldr r0, _0801DB84 @ =0x00001D02 strh r0, [r4, #0x20] @@ -398,7 +398,7 @@ _0801DB70: .4byte gBG0Buffer _0801DB74: .4byte 0x00001F0C _0801DB78: .4byte gBG1Buffer _0801DB7C: .4byte 0x00001C01 -_0801DB80: .4byte gUnk_020344B0 +_0801DB80: .4byte gBG2Buffer _0801DB84: .4byte 0x00001D02 _0801DB88: .4byte gBG3Buffer _0801DB8C: .4byte 0x00001E03 diff --git a/asm/code_0804AA84.s b/asm/code_0804AA84.s index 5ea286c8..8b1015f6 100644 --- a/asm/code_0804AA84.s +++ b/asm/code_0804AA84.s @@ -120,7 +120,7 @@ _0804AC5E: strh r0, [r2, #0x16] ldrh r0, [r1, #0xc] strh r0, [r2, #0x18] - bl sub_080AD90C + bl FlushSprites bl sub_080AD9B0 bl sub_080AD918 ldr r0, _0804AC98 @ =gUnk_02018EB0 diff --git a/asm/code_080526F8.s b/asm/code_080526F8.s index bfb2dd80..63821ab5 100644 --- a/asm/code_080526F8.s +++ b/asm/code_080526F8.s @@ -1574,7 +1574,7 @@ sub_08053320: @ 0x08053320 ldr r0, _08053380 @ =gBG1Buffer adds r1, r4, #0 bl _DmaZero - ldr r0, _08053384 @ =gUnk_020344B0 + ldr r0, _08053384 @ =gBG2Buffer adds r1, r4, #0 bl _DmaZero ldr r0, _08053388 @ =gBG3Buffer @@ -1604,7 +1604,7 @@ _08053362: .align 2, 0 _0805337C: .4byte gBG0Buffer _08053380: .4byte gBG1Buffer -_08053384: .4byte gUnk_020344B0 +_08053384: .4byte gBG2Buffer _08053388: .4byte gBG3Buffer _0805338C: .4byte gRoomControls diff --git a/asm/code_0805436C.s b/asm/code_0805436C.s index a166b867..45ab199a 100644 --- a/asm/code_0805436C.s +++ b/asm/code_0805436C.s @@ -57,7 +57,7 @@ sub_080548E8: @ 0x080548E8 adds r0, r0, r1 ldr r0, [r0] bl _call_via_r0 - bl sub_080AD90C + bl FlushSprites bl sub_0805E5C0 bl sub_080AD9B0 bl sub_080AD918 diff --git a/asm/code_080A29BC.s b/asm/code_080A29BC.s index 291dd7c3..5ab95a89 100644 --- a/asm/code_080A29BC.s +++ b/asm/code_080A29BC.s @@ -982,8 +982,8 @@ _080A3200: pop {r4, r5, pc} .align 2, 0 - thumb_func_start sub_080A3204 -sub_080A3204: @ 0x080A3204 + thumb_func_start InitSound +InitSound: @ 0xInitSound push {lr} bl sub_080A3210 bl m4aSoundInit diff --git a/asm/code_080A3480.s b/asm/code_080A3480.s index 825a6551..36ba6916 100644 --- a/asm/code_080A3480.s +++ b/asm/code_080A3480.s @@ -586,7 +586,7 @@ sub_080A38D0: @ 0x080A38D0 mov r8, r0 movs r5, #1 strh r5, [r4, #0x1a] - ldr r0, _080A3928 @ =gUnk_020344B0 + ldr r0, _080A3928 @ =gBG2Buffer adds r1, r6, #0 bl _DmaZero strh r5, [r4, #0x26] @@ -608,7 +608,7 @@ _080A3914: _080A391C: .4byte gFadeControl _080A3920: .4byte gBG1Buffer _080A3924: .4byte gScreen -_080A3928: .4byte gUnk_020344B0 +_080A3928: .4byte gBG2Buffer _080A392C: .4byte gMenu thumb_func_start sub_080A3930 diff --git a/asm/code_080A3BD0.s b/asm/code_080A3BD0.s index 10cb10be..20d43006 100644 --- a/asm/code_080A3BD0.s +++ b/asm/code_080A3BD0.s @@ -1207,7 +1207,7 @@ _080A45A2: thumb_func_start sub_080A45A4 sub_080A45A4: @ 0x080A45A4 push {lr} - bl sub_080AD90C + bl FlushSprites ldr r0, _080A45C4 @ =gUnk_02032EC0 ldrb r0, [r0, #3] cmp r0, #0xff @@ -2249,7 +2249,7 @@ sub_080A4DB8: @ 0x080A4DB8 ldr r0, _080A4E5C @ =gBG1Buffer adds r1, r4, #0 bl _DmaZero - ldr r0, _080A4E60 @ =gUnk_020344B0 + ldr r0, _080A4E60 @ =gBG2Buffer adds r1, r4, #0 bl _DmaZero ldr r0, _080A4E64 @ =gUnk_0200AF34 @@ -2314,7 +2314,7 @@ _080A4E54: .align 2, 0 _080A4E58: .4byte gBG0Buffer _080A4E5C: .4byte gBG1Buffer -_080A4E60: .4byte gUnk_020344B0 +_080A4E60: .4byte gBG2Buffer _080A4E64: .4byte gUnk_0200AF34 _080A4E68: .4byte gMenu _080A4E6C: .4byte 0x0000FFFF @@ -2357,7 +2357,7 @@ sub_080A4EA0: @ 0x080A4EA0 .align 2, 0 _080A4EB8: .4byte gUnk_02034490 _080A4EBC: - bl sub_080AD90C + bl FlushSprites ldr r1, _080A4F18 @ =gUnk_08128B30 ldrb r0, [r4, #0x11] lsls r0, r0, #2 diff --git a/asm/code_080A5574.s b/asm/code_080A5574.s index d527c237..837f9140 100644 --- a/asm/code_080A5574.s +++ b/asm/code_080A5574.s @@ -1980,7 +1980,7 @@ _080A64F8: .4byte 0x00003D3F thumb_func_start sub_080A64FC sub_080A64FC: @ 0x080A64FC push {r4, lr} - bl sub_080AD90C + bl FlushSprites ldr r1, _080A652C @ =gUnk_08128E70 ldr r4, _080A6530 @ =gMenu ldrb r0, [r4, #5] @@ -2710,7 +2710,7 @@ _080A6AB6: thumb_func_start sub_080A6AB8 sub_080A6AB8: @ 0x080A6AB8 push {r4, lr} - bl sub_080AD90C + bl FlushSprites ldr r1, _080A6AF4 @ =gUnk_08128F1C ldr r4, _080A6AF8 @ =gMenu ldrb r0, [r4, #5] @@ -2912,7 +2912,7 @@ _080A6C70: .4byte gMenu thumb_func_start sub_080A6C74 sub_080A6C74: @ 0x080A6C74 push {r4, lr} - bl sub_080AD90C + bl FlushSprites ldr r1, _080A6CA0 @ =gUnk_08128F24 ldr r4, _080A6CA4 @ =gMenu ldrb r0, [r4, #5] @@ -3955,7 +3955,7 @@ sub_080A74F4: @ 0x080A74F4 ldr r1, _080A7524 @ =gUnk_03001000 movs r0, #0 strb r0, [r1, #0xb] - bl sub_080AD90C + bl FlushSprites bl sub_0805E5C0 bl sub_0805E5F8 bl sub_0801C344 diff --git a/asm/code_080AD90C.s b/asm/code_080AD90C.s index 8b329187..9c9d41c4 100644 --- a/asm/code_080AD90C.s +++ b/asm/code_080AD90C.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_080AD90C -sub_080AD90C: @ 0x080AD90C + thumb_func_start FlushSprites +FlushSprites: @ 0x080AD90C ldr r1, _080AD914 @ =gUnk_03000000 movs r0, #0 strb r0, [r1, #3] diff --git a/asm/chooseFile.s b/asm/fileScreen.s similarity index 85% rename from asm/chooseFile.s rename to asm/fileScreen.s index 0ea31128..0cf9c0a5 100755 --- a/asm/chooseFile.s +++ b/asm/fileScreen.s @@ -5,428 +5,8 @@ .text - thumb_func_start sub_08050B3C -sub_08050B3C: @ 0x08050B3C - push {r4, r5, r6, r7, lr} - mov r7, sl - mov r6, sb - mov r5, r8 - push {r5, r6, r7} - sub sp, #8 - str r0, [sp] - ldr r1, _08050C18 @ =gUnk_02002A40 - adds r0, r1, #0 - adds r0, #0xaa - ldrb r0, [r0] - lsrs r2, r0, #1 - cmp r2, #0 - bne _08050B5A - movs r2, #1 -_08050B5A: - adds r0, r1, #0 - adds r0, #0xab - ldrb r0, [r0] - lsrs r3, r0, #1 - cmp r3, #0 - beq RETURN - cmp r2, r3 - ble _08050B6C - adds r2, r3, #0 -_08050B6C: - movs r0, #3 - ands r0, r2 - str r0, [sp, #4] - adds r0, r2, #0 - asrs r5, r0, #2 - mov ip, r5 - cmp r5, #0xa - ble _08050B80 - movs r2, #0xa - mov ip, r2 -_08050B80: - adds r6, r5, #0 - subs r6, #0xa - mov sb, r6 - cmp r6, #0 - bge _08050B8E - movs r7, #0 - mov sb, r7 -_08050B8E: - adds r0, r3, #0 - asrs r3, r0, #2 - adds r0, r3, #0 - cmp r3, #0xa - ble _08050B9A - movs r3, #0xa -_08050B9A: - adds r4, r0, #0 - subs r4, #0xa - ldr r2, [sp] - ldr r0, _08050C1C @ =0x0000F24C - mov sl, r0 - strh r0, [r2] - ldr r1, _08050C20 @ =0x040000D4 - movs r7, #0xa - mov r8, r7 - mov r0, r8 - mov r7, ip @ var5 - subs r0, r0, r7 @ 10 - var5 - lsls r0, r0, #1 - ldr r7, _08050C24 @ =gUnk_080FC914 - mov ip, r7 - add r0, ip - str r0, [r1] - adds r0, r2, #2 - str r0, [r1, #4] - movs r0, #0x80 - lsls r0, r0, #0x18 - orrs r3, r0 - str r3, [r1, #8] - ldr r0, [r1, #8] - cmp r4, #0 - ble _08050BEE - adds r2, #0x40 - mov r3, sl - strh r3, [r2] - mov r7, r8 - mov r3, sb - subs r0, r7, r3 - lsls r0, r0, #1 - add r0, ip - str r0, [r1] - adds r0, r2, #2 - str r0, [r1, #4] - movs r7, #0x80 - lsls r7, r7, #0x18 - orrs r4, r7 - str r4, [r1, #8] - ldr r0, [r1, #8] -_08050BEE: - ldr r0, [sp, #4] - cmp r0, #0 - beq RETURN - ldr r2, [sp] - cmp r5, #9 - ble _08050BFE - adds r5, r6, #0 - adds r2, #0x40 -_08050BFE: - lsls r0, r5, #1 - adds r0, r0, r2 - ldr r2, [sp, #4] - ldr r3, _08050C28 @ =0xFFFFF24D - adds r1, r2, r3 - strh r1, [r0, #2] -RETURN: - add sp, #8 - pop {r3, r4, r5} - mov r8, r3 - mov sb, r4 - mov sl, r5 - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08050C18: .4byte gUnk_02002A40 -_08050C1C: .4byte 0x0000F24C -_08050C20: .4byte 0x040000D4 -_08050C24: .4byte gUnk_080FC914 -_08050C28: .4byte 0xFFFFF24D - - thumb_func_start sub_08050C2C -sub_08050C2C: @ 0x08050C2C - push {lr} - ldr r1, _08050C48 @ =gUnk_080FC93C - ldr r0, _08050C4C @ =gMenu - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08050C50 @ =gUnk_02019EE0 - ldrb r0, [r0, #6] - bl sub_08050A64 - pop {pc} - .align 2, 0 -_08050C48: .4byte gUnk_080FC93C -_08050C4C: .4byte gMenu -_08050C50: .4byte gUnk_02019EE0 - - thumb_func_start sub_08050C54 -sub_08050C54: @ 0x08050C54 - push {r4, lr} - ldr r0, _08050C78 @ =gUnk_02019EE0 - ldrb r0, [r0] - cmp r0, #0 - beq _08050C60 - b _08050D60 -_08050C60: - ldr r0, _08050C7C @ =gMenu - ldrb r4, [r0, #1] - ldr r0, _08050C80 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - subs r0, #1 - cmp r0, #0x1f - bhi _08050D44 - lsls r0, r0, #2 - ldr r1, _08050C84 @ =_08050C88 - adds r0, r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08050C78: .4byte gUnk_02019EE0 -_08050C7C: .4byte gMenu -_08050C80: .4byte gUnk_03000FF0 -_08050C84: .4byte _08050C88 -_08050C88: @ jump table - .4byte _08050D08 @ case 0 - .4byte _08050D30 @ case 1 - .4byte _08050D44 @ case 2 - .4byte _08050D44 @ case 3 - .4byte _08050D44 @ case 4 - .4byte _08050D44 @ case 5 - .4byte _08050D44 @ case 6 - .4byte _08050D08 @ case 7 - .4byte _08050D44 @ case 8 - .4byte _08050D44 @ case 9 - .4byte _08050D44 @ case 10 - .4byte _08050D44 @ case 11 - .4byte _08050D44 @ case 12 - .4byte _08050D44 @ case 13 - .4byte _08050D44 @ case 14 - .4byte _08050D42 @ case 15 - .4byte _08050D44 @ case 16 - .4byte _08050D44 @ case 17 - .4byte _08050D44 @ case 18 - .4byte _08050D44 @ case 19 - .4byte _08050D44 @ case 20 - .4byte _08050D44 @ case 21 - .4byte _08050D44 @ case 22 - .4byte _08050D44 @ case 23 - .4byte _08050D44 @ case 24 - .4byte _08050D44 @ case 25 - .4byte _08050D44 @ case 26 - .4byte _08050D44 @ case 27 - .4byte _08050D44 @ case 28 - .4byte _08050D44 @ case 29 - .4byte _08050D44 @ case 30 - .4byte _08050D3E @ case 31 -_08050D08: - cmp r4, #0 - bne _08050D12 - ldr r0, _08050D28 @ =0x80080000 - bl PlaySFX -_08050D12: - ldr r1, _08050D2C @ =gMenu - movs r0, #0xf - strh r0, [r1, #8] - movs r0, #1 - bl sub_080A7114 - movs r0, #0x6a - bl PlaySFX - b _08050D44 - .align 2, 0 -_08050D28: .4byte 0x80080000 -_08050D2C: .4byte gMenu -_08050D30: - movs r0, #0x6c - bl PlaySFX - movs r0, #0 - bl sub_080503BC - b _08050D44 -_08050D3E: - subs r4, #1 - b _08050D44 -_08050D42: - adds r4, #1 -_08050D44: - cmp r4, #0 - bge _08050D4A - movs r4, #0 -_08050D4A: - cmp r4, #2 - ble _08050D50 - movs r4, #2 -_08050D50: - ldr r1, _08050D64 @ =gMenu - ldrb r0, [r1, #1] - cmp r0, r4 - beq _08050D60 - strb r4, [r1, #1] - movs r0, #0x69 - bl PlaySFX -_08050D60: - pop {r4, pc} - .align 2, 0 -_08050D64: .4byte gMenu - - thumb_func_start sub_08050D68 -sub_08050D68: @ 0x08050D68 - push {lr} - ldr r1, _08050D84 @ =gMenu - ldrh r0, [r1, #8] - cmp r0, #0 - bne _08050D94 - ldrb r0, [r1, #1] - cmp r0, #1 - beq _08050D88 - cmp r0, #1 - ble _08050D80 - cmp r0, #2 - beq _08050D8C -_08050D80: - movs r0, #7 - b _08050D8E - .align 2, 0 -_08050D84: .4byte gMenu -_08050D88: - movs r0, #5 - b _08050D8E -_08050D8C: - movs r0, #6 -_08050D8E: - bl sub_080503BC - b _08050D98 -_08050D94: - subs r0, #1 - strh r0, [r1, #8] -_08050D98: - pop {pc} - .align 2, 0 - - thumb_func_start sub_08050D9C -sub_08050D9C: @ 0x08050D9C - push {lr} - ldr r1, _08050DB0 @ =gUnk_080FC944 - ldr r0, _08050DB4 @ =gMenu - ldrb r0, [r0, #5] - lsls r0, r0, #2 - adds r0, r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {pc} - .align 2, 0 -_08050DB0: .4byte gUnk_080FC944 -_08050DB4: .4byte gMenu - - thumb_func_start sub_08050DB8 -sub_08050DB8: @ 0x08050DB8 - push {lr} - ldr r0, _08050DDC @ =gUnk_020344B0 - movs r1, #0x80 - lsls r1, r1, #4 - bl _DmaZero - movs r0, #0xc - bl sub_080503A8 - ldr r1, _08050DE0 @ =gMenu - movs r0, #0x80 - lsls r0, r0, #0x12 - ldrb r0, [r0, #7] - strb r0, [r1, #4] - movs r0, #1 - bl sub_080A7114 - pop {pc} - .align 2, 0 -_08050DDC: .4byte gUnk_020344B0 -_08050DE0: .4byte gMenu - - thumb_func_start sub_08050DE4 -sub_08050DE4: @ 0x08050DE4 - push {r4, lr} - ldr r0, _08050E0C @ =gUnk_02019EE0 - ldrb r0, [r0] - cmp r0, #0 - bne _08050E80 - movs r1, #0x80 - lsls r1, r1, #0x12 - ldrb r4, [r1, #7] - ldr r0, _08050E10 @ =gUnk_03000FF0 - ldrh r0, [r0, #2] - cmp r0, #8 - beq _08050E26 - cmp r0, #8 - bgt _08050E14 - cmp r0, #1 - beq _08050E26 - cmp r0, #2 - beq _08050E50 - b _08050E62 - .align 2, 0 -_08050E0C: .4byte gUnk_02019EE0 -_08050E10: .4byte gUnk_03000FF0 -_08050E14: - cmp r0, #0x40 - beq _08050E1E - cmp r0, #0x80 - beq _08050E22 - b _08050E62 -_08050E1E: - subs r4, #1 - b _08050E62 -_08050E22: - adds r4, #1 - b _08050E62 -_08050E26: - movs r0, #0x6a - bl PlaySFX - ldr r0, _08050E44 @ =gMenu - ldrb r0, [r0, #4] - cmp r0, r4 - beq _08050E48 - movs r0, #2 - bl sub_080A7114 - movs r0, #8 - movs r1, #0 - bl sub_08050318 - b _08050E62 - .align 2, 0 -_08050E44: .4byte gMenu -_08050E48: - movs r0, #0 - bl sub_080503BC - b _08050E62 -_08050E50: - ldr r0, _08050E84 @ =gMenu - ldrb r4, [r0, #4] - strb r4, [r1, #7] - movs r0, #0x6c - bl PlaySFX - movs r0, #0 - bl sub_080503BC -_08050E62: - cmp r4, #1 - bgt _08050E68 - movs r4, #2 -_08050E68: - cmp r4, #6 - ble _08050E6E - movs r4, #6 -_08050E6E: - movs r1, #0x80 - lsls r1, r1, #0x12 - ldrb r0, [r1, #7] - cmp r0, r4 - beq _08050E80 - strb r4, [r1, #7] - movs r0, #0x69 - bl PlaySFX -_08050E80: - pop {r4, pc} - .align 2, 0 -_08050E84: .4byte gMenu - - thumb_func_start sub_08050E88 -sub_08050E88: @ 0x08050E88 - push {lr} - movs r0, #2 - bl sub_0807CDA4 - cmp r0, #0 - beq _08050E9A - movs r0, #0 - bl sub_080503BC -_08050E9A: - pop {pc} - - thumb_func_start sub_08050E9C -sub_08050E9C: @ 0x08050E9C + thumb_func_start HandleFileOptions +HandleFileOptions: @ 0x08050E9C push {lr} ldr r1, _08050EB0 @ =gUnk_080FC950 ldr r0, _08050EB4 @ =gMenu @@ -581,7 +161,7 @@ _08050FBA: bl sub_080A7114 ldr r0, _08050FCC @ =gUnk_02019EE0 ldrb r0, [r0, #6] - bl sub_0805041C + bl SetActiveSave b _08050FF4 .align 2, 0 _08050FCC: .4byte gUnk_02019EE0 @@ -599,7 +179,7 @@ _08050FE2: beq _08050FF4 strb r2, [r4] ldrb r0, [r6, #6] - bl sub_080503E4 + bl LoadOptionsFromSave movs r0, #0x69 bl PlaySFX _08050FF4: @@ -669,12 +249,12 @@ _08051060: _08051068: .4byte gUnk_03000FF0 _0805106C: movs r0, #0 - bl sub_080503BC + bl SetFileSelectState _08051072: pop {pc} - thumb_func_start sub_08051074 -sub_08051074: @ 0x08051074 + thumb_func_start HandleFileNew +HandleFileNew: @ 0x08051074 push {lr} ldr r1, _08051088 @ =gUnk_080FC960 ldr r0, _0805108C @ =gMenu @@ -1189,7 +769,7 @@ _08051448: sub_0805144C: @ 0x0805144C push {lr} movs r0, #0 - bl sub_080503BC + bl SetFileSelectState pop {pc} .align 2, 0 @@ -1372,8 +952,8 @@ _08051594: .4byte gUnk_02002A40 _08051598: .4byte gUnk_02019EE0 _0805159C: .4byte 0x000004B4 - thumb_func_start sub_080515A0 -sub_080515A0: @ 0x080515A0 + thumb_func_start HandleFileDelete +HandleFileDelete: @ 0x080515A0 push {lr} ldr r1, _080515BC @ =gUnk_080FC9BC ldr r0, _080515C0 @ =gMenu @@ -1480,7 +1060,7 @@ _08051694: _080516B0: .4byte gMenu _080516B4: movs r0, #0 - bl sub_080503BC + bl SetFileSelectState movs r0, #0x6c bl PlaySFX b _080516C8 @@ -1518,15 +1098,15 @@ sub_080516E0: @ 0x080516E0 movs r0, #2 strh r0, [r1, #8] movs r0, #0 - bl sub_080503BC + bl SetFileSelectState _08051706: pop {r4, pc} .align 2, 0 _08051708: .4byte gUnk_02019EE0 _0805170C: .4byte gMenu - thumb_func_start sub_08051710 -sub_08051710: @ 0x08051710 + thumb_func_start HandleFileCopy +HandleFileCopy: @ 0x08051710 push {lr} ldr r1, _0805172C @ =gUnk_080FC9C8 ldr r0, _08051730 @ =gMenu @@ -1697,7 +1277,7 @@ _08051848: movs r0, #0x6c bl PlaySFX movs r0, #0 - bl sub_080503BC + bl SetFileSelectState _08051858: adds r0, r4, #0 bl sub_080517B4 @@ -1744,7 +1324,7 @@ sub_08051874: @ 0x08051874 adds r1, r1, r3 bl _DmaCopy movs r0, #0 - bl sub_080503BC + bl SetFileSelectState b _080518DE .align 2, 0 _080518B8: .4byte gUnk_02019EE0 @@ -1780,7 +1360,7 @@ sub_080518E4: @ 0x080518E4 cmp r0, #0 beq _08051910 movs r0, #0 - bl sub_080503BC + bl SetFileSelectState b _08051910 .align 2, 0 _08051904: .4byte gMenu @@ -1792,8 +1372,8 @@ _08051910: pop {pc} .align 2, 0 - thumb_func_start sub_08051914 -sub_08051914: @ 0x08051914 + thumb_func_start HandleFileStart +HandleFileStart: @ 0x08051914 push {lr} ldr r1, _08051940 @ =gMenu ldrb r0, [r1, #5] @@ -2014,7 +1594,7 @@ _08051B02: bl sub_08000108 bl sub_0801C344 bl sub_0805E5F8 - bl sub_080AD90C + bl FlushSprites bl sub_0801C208 bl sub_08078CB4 bl sub_080AD9B0 @@ -2115,7 +1695,7 @@ sub_08051BD0: @ 0x08051BD0 _08051C02: bl sub_08078B48 _08051C06: - bl sub_080AD90C + bl FlushSprites bl sub_0805E5C0 bl sub_08080A40 bl sub_080175F4 @@ -2182,7 +1762,7 @@ sub_08051CA8: @ 0x08051CA8 bl sub_080175F4 bl sub_0801C344 bl sub_0805E5F8 - bl sub_080AD90C + bl FlushSprites bl sub_0801C208 bl sub_08078CB4 bl sub_080AD9B0 @@ -2202,7 +1782,7 @@ _08051CEC: .4byte gFadeControl thumb_func_start sub_08051CF0 sub_08051CF0: @ 0x08051CF0 push {r4, r5, r6, lr} - bl sub_080AD90C + bl FlushSprites bl sub_0801C208 bl sub_080AD9B0 ldr r5, _08051D20 @ =gUnk_03001000 @@ -2449,7 +2029,7 @@ sub_08051F04: @ 0x08051F04 adds r0, r0, r1 ldr r0, [r0] bl _call_via_r0 - bl sub_080AD90C + bl FlushSprites bl sub_0805E5C0 bl sub_080AD9B0 bl sub_080AD918 @@ -2581,7 +2161,7 @@ sub_08052010: @ 0x08052010 lsls r4, r4, #4 adds r1, r4, #0 bl _DmaZero - ldr r0, _08052080 @ =gUnk_020344B0 + ldr r0, _08052080 @ =gBG2Buffer adds r1, r4, #0 bl _DmaZero bl sub_080A4D34 @@ -2616,7 +2196,7 @@ sub_08052010: @ 0x08052010 pop {r4, pc} .align 2, 0 _0805207C: .4byte gBG1Buffer -_08052080: .4byte gUnk_020344B0 +_08052080: .4byte gBG2Buffer _08052084: .4byte gMenu _08052088: .4byte gScreen _0805208C: .4byte 0x00001C01 @@ -2635,7 +2215,7 @@ HandleGameOverScreen: @ 0x08052094 ldrb r0, [r4, #3] cmp r0, #0 beq _080520B8 - bl sub_080AD90C + bl FlushSprites bl sub_080523D4 bl sub_080AD918 _080520B8: diff --git a/asm/non_matching/save/sub_08050B3C.inc b/asm/non_matching/save/sub_08050B3C.inc new file mode 100644 index 00000000..d7e96a1f --- /dev/null +++ b/asm/non_matching/save/sub_08050B3C.inc @@ -0,0 +1,125 @@ + .syntax unified + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #8 + str r0, [sp] + ldr r1, _08050C18 @ =gUnk_02002A40 + adds r0, r1, #0 + adds r0, #0xaa + ldrb r0, [r0] + lsrs r2, r0, #1 + cmp r2, #0 + bne _08050B5A + movs r2, #1 +_08050B5A: + adds r0, r1, #0 + adds r0, #0xab + ldrb r0, [r0] + lsrs r3, r0, #1 + cmp r3, #0 + beq RETURN + cmp r2, r3 + ble _08050B6C + adds r2, r3, #0 +_08050B6C: + movs r0, #3 + ands r0, r2 + str r0, [sp, #4] + adds r0, r2, #0 + asrs r5, r0, #2 + mov ip, r5 + cmp r5, #0xa + ble _08050B80 + movs r2, #0xa + mov ip, r2 +_08050B80: + adds r6, r5, #0 + subs r6, #0xa + mov sb, r6 + cmp r6, #0 + bge _08050B8E + movs r7, #0 + mov sb, r7 +_08050B8E: + adds r0, r3, #0 + asrs r3, r0, #2 + adds r0, r3, #0 + cmp r3, #0xa + ble _08050B9A + movs r3, #0xa +_08050B9A: + adds r4, r0, #0 + subs r4, #0xa + ldr r2, [sp] + ldr r0, _08050C1C @ =0x0000F24C + mov sl, r0 + strh r0, [r2] + ldr r1, _08050C20 @ =0x040000D4 + movs r7, #0xa + mov r8, r7 + mov r0, r8 + mov r7, ip @ var5 + subs r0, r0, r7 @ 10 - var5 + lsls r0, r0, #1 + ldr r7, _08050C24 @ =gUnk_080FC914 + mov ip, r7 + add r0, ip + str r0, [r1] + adds r0, r2, #2 + str r0, [r1, #4] + movs r0, #0x80 + lsls r0, r0, #0x18 + orrs r3, r0 + str r3, [r1, #8] + ldr r0, [r1, #8] + cmp r4, #0 + ble _08050BEE + adds r2, #0x40 + mov r3, sl + strh r3, [r2] + mov r7, r8 + mov r3, sb + subs r0, r7, r3 + lsls r0, r0, #1 + add r0, ip + str r0, [r1] + adds r0, r2, #2 + str r0, [r1, #4] + movs r7, #0x80 + lsls r7, r7, #0x18 + orrs r4, r7 + str r4, [r1, #8] + ldr r0, [r1, #8] +_08050BEE: + ldr r0, [sp, #4] + cmp r0, #0 + beq RETURN + ldr r2, [sp] + cmp r5, #9 + ble _08050BFE + adds r5, r6, #0 + adds r2, #0x40 +_08050BFE: + lsls r0, r5, #1 + adds r0, r0, r2 + ldr r2, [sp, #4] + ldr r3, _08050C28 @ =0xFFFFF24D + adds r1, r2, r3 + strh r1, [r0, #2] +RETURN: + add sp, #8 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08050C18: .4byte gUnk_02002A40 +_08050C1C: .4byte 0x0000F24C +_08050C20: .4byte 0x040000D4 +_08050C24: .4byte gUnk_080FC914 +_08050C28: .4byte 0xFFFFF24D + .syntax divided \ No newline at end of file diff --git a/data/data_080D5360.s b/data/data_080D5360.s index f6d67766..95021411 100644 --- a/data/data_080D5360.s +++ b/data/data_080D5360.s @@ -11210,1932 +11210,3 @@ gUnk_080FC844:: @ 080FC844 gUnk_080FC85C:: @ 080FC85C .incbin "baserom.gba", 0x0FC85C, 0x0000048 - -gUnk_080FC8A4:: @ 080FC8A4 - .incbin "baserom.gba", 0x0FC8A4, 0x000000C - -gUnk_080FC8B0:: @ 080FC8B0 - .incbin "baserom.gba", 0x0FC8B0, 0x0000020 - -gUnk_080FC8D0:: @ 080FC8D0 - .incbin "baserom.gba", 0x0FC8D0, 0x000000E - -gUnk_080FC8DE:: @ 080FC8DE - .incbin "baserom.gba", 0x0FC8DE, 0x000001E - -gUnk_080FC8FC:: @ 080FC8FC - .incbin "baserom.gba", 0x0FC8FC, 0x0000007 - -gUnk_080FC903:: @ 080FC903 - .incbin "baserom.gba", 0x0FC903, 0x0000005 - -gUnk_080FC908:: @ 080FC908 - .incbin "baserom.gba", 0x0FC908, 0x000000C - -gUnk_080FC914:: @ 080FC914 - .incbin "baserom.gba", 0x0FC914, 0x0000028 - -gUnk_080FC93C:: @ 080FC93C - .incbin "baserom.gba", 0x0FC93C, 0x0000008 - -gUnk_080FC944:: @ 080FC944 - .incbin "baserom.gba", 0x0FC944, 0x000000C - -gUnk_080FC950:: @ 080FC950 - .incbin "baserom.gba", 0x0FC950, 0x0000010 - -gUnk_080FC960:: @ 080FC960 - .incbin "baserom.gba", 0x0FC960, 0x0000010 - -gUnk_080FC970:: @ 080FC970 - .incbin "baserom.gba", 0x0FC970, 0x0000010 - -gUnk_080FC980:: @ 080FC980 - .incbin "baserom.gba", 0x0FC980, 0x0000020 - -gUnk_080FC9A0:: @ 080FC9A0 - .incbin "baserom.gba", 0x0FC9A0, 0x0000010 - -gUnk_080FC9B0:: @ 080FC9B0 - .incbin "baserom.gba", 0x0FC9B0, 0x000000C - -gUnk_080FC9BC:: @ 080FC9BC - .incbin "baserom.gba", 0x0FC9BC, 0x000000C - -gUnk_080FC9C8:: @ 080FC9C8 - .incbin "baserom.gba", 0x0FC9C8, 0x0000010 - -gUnk_080FC9D8:: @ 080FC9D8 - .incbin "baserom.gba", 0x0FC9D8, 0x0000010 - -gUnk_080FC9E8:: @ 080FC9E8 - .incbin "baserom.gba", 0x0FC9E8, 0x0000020 - -gUnk_080FCA08:: @ 080FCA08 - .incbin "baserom.gba", 0x0FCA08, 0x000000C - -gUnk_080FCA14:: @ 080FCA14 - .incbin "baserom.gba", 0x0FCA14, 0x000000C - -gUnk_080FCA20:: @ 080FCA20 - .incbin "baserom.gba", 0x0FCA20, 0x0000050 - -gUnk_080FCA70:: @ 080FCA70 - .incbin "baserom.gba", 0x0FCA70, 0x0000014 - -gUnk_080FCA84:: @ 080FCA84 - .incbin "baserom.gba", 0x0FCA84, 0x0000008 - -gUnk_080FCA8C:: @ 080FCA8C - .incbin "baserom.gba", 0x0FCA8C, 0x0000018 - -gUnk_080FCAA4:: @ 080FCAA4 - .incbin "baserom.gba", 0x0FCAA4, 0x0000024 - -gUnk_080FCAC8:: @ 080FCAC8 - .incbin "baserom.gba", 0x0FCAC8, 0x000000E - -gUnk_080FCAD6:: @ 080FCAD6 - .incbin "baserom.gba", 0x0FCAD6, 0x0000022 - -gUnk_080FCAF8:: @ 080FCAF8 - .incbin "baserom.gba", 0x0FCAF8, 0x0000020 - -gUnk_080FCB18:: @ 080FCB18 - .incbin "baserom.gba", 0x0FCB18, 0x0000020 - -gUnk_080FCB38:: @ 080FCB38 - .incbin "baserom.gba", 0x0FCB38, 0x000002A - -gUnk_080FCB62:: @ 080FCB62 - .incbin "baserom.gba", 0x0FCB62, 0x0000032 - -gUnk_080FCB94:: @ 080FCB94 - .incbin "baserom.gba", 0x0FCB94, 0x0000020 - -gUnk_080FCBB4:: @ 080FCBB4 - .incbin "baserom.gba", 0x0FCBB4, 0x0000010 - -gUnk_080FCBC4:: @ 080FCBC4 - .incbin "baserom.gba", 0x0FCBC4, 0x0000050 - -gUnk_080FCC14:: @ 080FCC14 - .incbin "baserom.gba", 0x0FCC14, 0x0000040 - -gUnk_080FCC54:: @ 080FCC54 - .incbin "baserom.gba", 0x0FCC54, 0x0000030 - -gUnk_080FCC84:: @ 080FCC84 - .incbin "baserom.gba", 0x0FCC84, 0x0000018 - -gUnk_080FCC9C:: @ 080FCC9C - .incbin "baserom.gba", 0x0FCC9C, 0x0000018 - -gUnk_080FCCB4:: @ 080FCCB4 - .incbin "baserom.gba", 0x0FCCB4, 0x0000048 - -gUnk_080FCCFC:: @ 080FCCFC - .incbin "baserom.gba", 0x0FCCFC, 0x000003C - -gUnk_080FCD38:: @ 080FCD38 - .incbin "baserom.gba", 0x0FCD38, 0x0000008 - -gUnk_080FCD40:: @ 080FCD40 - .incbin "baserom.gba", 0x0FCD40, 0x0000044 - -gUnk_080FCD84:: @ 080FCD84 - .incbin "baserom.gba", 0x0FCD84, 0x0000050 - -gUnk_080FCDD4:: @ 080FCDD4 - .incbin "baserom.gba", 0x0FCDD4, 0x000000C - -gUnk_080FCDE0:: @ 080FCDE0 - .incbin "baserom.gba", 0x0FCDE0, 0x0000050 - -gUnk_080FCE30:: @ 080FCE30 - .incbin "baserom.gba", 0x0FCE30, 0x0000080 - -gUnk_080FCEB0:: @ 080FCEB0 - .incbin "baserom.gba", 0x0FCEB0, 0x000000C - -gUnk_080FCEBC:: @ 080FCEBC - .incbin "baserom.gba", 0x0FCEBC, 0x0000030 - -gUnk_080FCEEC:: @ 080FCEEC - .incbin "baserom.gba", 0x0FCEEC, 0x000000C - -gUnk_080FCEF8:: @ 080FCEF8 - .incbin "baserom.gba", 0x0FCEF8, 0x000000C - -gUnk_080FCF04:: @ 080FCF04 - .incbin "baserom.gba", 0x0FCF04, 0x0000020 - -gUnk_080FCF24:: @ 080FCF24 - .incbin "baserom.gba", 0x0FCF24, 0x0000020 - -gUnk_080FCF44:: @ 080FCF44 - .incbin "baserom.gba", 0x0FCF44, 0x0000020 - -gUnk_080FCF64:: @ 080FCF64 - .incbin "baserom.gba", 0x0FCF64, 0x0000020 - -gUnk_080FCF84:: @ 080FCF84 - .incbin "baserom.gba", 0x0FCF84, 0x0000020 - -gUnk_080FCFA4:: @ 080FCFA4 - .incbin "baserom.gba", 0x0FCFA4, 0x0000014 - -gUnk_080FCFB8:: @ 080FCFB8 - .incbin "baserom.gba", 0x0FCFB8, 0x0000030 - -gUnk_080FCFE8:: @ 080FCFE8 - .incbin "baserom.gba", 0x0FCFE8, 0x0000020 - -gUnk_080FD008:: @ 080FD008 - .incbin "baserom.gba", 0x0FD008, 0x0000020 - -gUnk_080FD028:: @ 080FD028 - .incbin "baserom.gba", 0x0FD028, 0x0000020 - -gUnk_080FD048:: @ 080FD048 - .incbin "baserom.gba", 0x0FD048, 0x0000030 - -gUnk_080FD078:: @ 080FD078 - .incbin "baserom.gba", 0x0FD078, 0x0000020 - -gUnk_080FD098:: @ 080FD098 - .incbin "baserom.gba", 0x0FD098, 0x0000030 - -gUnk_080FD0C8:: @ 080FD0C8 - .incbin "baserom.gba", 0x0FD0C8, 0x0000020 - -gUnk_080FD0E8:: @ 080FD0E8 - .incbin "baserom.gba", 0x0FD0E8, 0x0000020 - -gUnk_080FD108:: @ 080FD108 - .incbin "baserom.gba", 0x0FD108, 0x0000030 - -gUnk_080FD138:: @ 080FD138 - .incbin "baserom.gba", 0x0FD138, 0x0000018 - -gUnk_080FD150:: @ 080FD150 - .incbin "baserom.gba", 0x0FD150, 0x0000008 - -gUnk_080FD158:: @ 080FD158 - .incbin "baserom.gba", 0x0FD158, 0x0000008 - -gUnk_080FD160:: @ 080FD160 - .incbin "baserom.gba", 0x0FD160, 0x0000008 - -gUnk_080FD168:: @ 080FD168 - .incbin "baserom.gba", 0x0FD168, 0x0000008 - -gUnk_080FD170:: @ 080FD170 - .incbin "baserom.gba", 0x0FD170, 0x0000008 - -gUnk_080FD178:: @ 080FD178 - .incbin "baserom.gba", 0x0FD178, 0x0000008 - -gUnk_080FD180:: @ 080FD180 - .incbin "baserom.gba", 0x0FD180, 0x0000008 - -gUnk_080FD188:: @ 080FD188 - .incbin "baserom.gba", 0x0FD188, 0x0000008 - -gUnk_080FD190:: @ 080FD190 - .incbin "baserom.gba", 0x0FD190, 0x0000008 - -gUnk_080FD198:: @ 080FD198 - .incbin "baserom.gba", 0x0FD198, 0x0000008 - -gUnk_080FD1A0:: @ 080FD1A0 - .incbin "baserom.gba", 0x0FD1A0, 0x0000008 - -gUnk_080FD1A8:: @ 080FD1A8 - .incbin "baserom.gba", 0x0FD1A8, 0x000000C - -gUnk_080FD1B4:: @ 080FD1B4 - .incbin "baserom.gba", 0x0FD1B4, 0x0000010 - -gUnk_080FD1C4:: @ 080FD1C4 - .incbin "baserom.gba", 0x0FD1C4, 0x0000008 - -gUnk_080FD1CC:: @ 080FD1CC - .incbin "baserom.gba", 0x0FD1CC, 0x0000008 - -gUnk_080FD1D4:: @ 080FD1D4 - .incbin "baserom.gba", 0x0FD1D4, 0x0000008 - -gUnk_080FD1DC:: @ 080FD1DC - .incbin "baserom.gba", 0x0FD1DC, 0x0000008 - -gUnk_080FD1E4:: @ 080FD1E4 - .incbin "baserom.gba", 0x0FD1E4, 0x0000008 - -gUnk_080FD1EC:: @ 080FD1EC - .incbin "baserom.gba", 0x0FD1EC, 0x0000008 - -gUnk_080FD1F4:: @ 080FD1F4 - .incbin "baserom.gba", 0x0FD1F4, 0x0000008 - -gUnk_080FD1FC:: @ 080FD1FC - .incbin "baserom.gba", 0x0FD1FC, 0x0000008 - -gUnk_080FD204:: @ 080FD204 - .incbin "baserom.gba", 0x0FD204, 0x0000008 - -gUnk_080FD20C:: @ 080FD20C - .incbin "baserom.gba", 0x0FD20C, 0x0000008 - -gUnk_080FD214:: @ 080FD214 - .incbin "baserom.gba", 0x0FD214, 0x0000008 - -gUnk_080FD21C:: @ 080FD21C - .incbin "baserom.gba", 0x0FD21C, 0x0000008 - -gUnk_080FD224:: @ 080FD224 - .incbin "baserom.gba", 0x0FD224, 0x0000008 - -gUnk_080FD22C:: @ 080FD22C - .incbin "baserom.gba", 0x0FD22C, 0x000000C - -gUnk_080FD238:: @ 080FD238 - .incbin "baserom.gba", 0x0FD238, 0x0000008 - -gUnk_080FD240:: @ 080FD240 - .incbin "baserom.gba", 0x0FD240, 0x0000008 - -gUnk_080FD248:: @ 080FD248 - .incbin "baserom.gba", 0x0FD248, 0x0000008 - -gUnk_080FD250:: @ 080FD250 - .incbin "baserom.gba", 0x0FD250, 0x0000008 - -gUnk_080FD258:: @ 080FD258 - .incbin "baserom.gba", 0x0FD258, 0x0000008 - -gUnk_080FD260:: @ 080FD260 - .incbin "baserom.gba", 0x0FD260, 0x0000008 - -gUnk_080FD268:: @ 080FD268 - .incbin "baserom.gba", 0x0FD268, 0x0000008 - -gUnk_080FD270:: @ 080FD270 - .incbin "baserom.gba", 0x0FD270, 0x0000008 - -gUnk_080FD278:: @ 080FD278 - .incbin "baserom.gba", 0x0FD278, 0x0000008 - -gUnk_080FD280:: @ 080FD280 - .incbin "baserom.gba", 0x0FD280, 0x0000008 - -gUnk_080FD288:: @ 080FD288 - .incbin "baserom.gba", 0x0FD288, 0x0000008 - -gUnk_080FD290:: @ 080FD290 - .incbin "baserom.gba", 0x0FD290, 0x0000008 - -gUnk_080FD298:: @ 080FD298 - .incbin "baserom.gba", 0x0FD298, 0x0000008 - -gUnk_080FD2A0:: @ 080FD2A0 - .incbin "baserom.gba", 0x0FD2A0, 0x0000008 - -gUnk_080FD2A8:: @ 080FD2A8 - .incbin "baserom.gba", 0x0FD2A8, 0x0000008 - -gUnk_080FD2B0:: @ 080FD2B0 - .incbin "baserom.gba", 0x0FD2B0, 0x0000008 - -gUnk_080FD2B8:: @ 080FD2B8 - .incbin "baserom.gba", 0x0FD2B8, 0x0000008 - -gUnk_080FD2C0:: @ 080FD2C0 - .incbin "baserom.gba", 0x0FD2C0, 0x0000008 - -gUnk_080FD2C8:: @ 080FD2C8 - .incbin "baserom.gba", 0x0FD2C8, 0x0000008 - -gUnk_080FD2D0:: @ 080FD2D0 - .incbin "baserom.gba", 0x0FD2D0, 0x0000008 - -gUnk_080FD2D8:: @ 080FD2D8 - .incbin "baserom.gba", 0x0FD2D8, 0x0000008 - -gUnk_080FD2E0:: @ 080FD2E0 - .incbin "baserom.gba", 0x0FD2E0, 0x0000008 - -gUnk_080FD2E8:: @ 080FD2E8 - .incbin "baserom.gba", 0x0FD2E8, 0x0000008 - -gUnk_080FD2F0:: @ 080FD2F0 - .incbin "baserom.gba", 0x0FD2F0, 0x0000008 - -gUnk_080FD2F8:: @ 080FD2F8 - .incbin "baserom.gba", 0x0FD2F8, 0x0000008 - -gUnk_080FD300:: @ 080FD300 - .incbin "baserom.gba", 0x0FD300, 0x0000008 - -gUnk_080FD308:: @ 080FD308 - .incbin "baserom.gba", 0x0FD308, 0x0000008 - -gUnk_080FD310:: @ 080FD310 - .incbin "baserom.gba", 0x0FD310, 0x0000008 - -gUnk_080FD318:: @ 080FD318 - .incbin "baserom.gba", 0x0FD318, 0x0000008 - -gUnk_080FD320:: @ 080FD320 - .incbin "baserom.gba", 0x0FD320, 0x0000008 - -gUnk_080FD328:: @ 080FD328 - .incbin "baserom.gba", 0x0FD328, 0x0000008 - -gUnk_080FD330:: @ 080FD330 - .incbin "baserom.gba", 0x0FD330, 0x0000008 - -gUnk_080FD338:: @ 080FD338 - .incbin "baserom.gba", 0x0FD338, 0x0000008 - -gUnk_080FD340:: @ 080FD340 - .incbin "baserom.gba", 0x0FD340, 0x000000C - -gUnk_080FD34C:: @ 080FD34C - .incbin "baserom.gba", 0x0FD34C, 0x0000008 - -gUnk_080FD354:: @ 080FD354 - .incbin "baserom.gba", 0x0FD354, 0x0000008 - -gUnk_080FD35C:: @ 080FD35C - .incbin "baserom.gba", 0x0FD35C, 0x0000008 - -gUnk_080FD364:: @ 080FD364 - .incbin "baserom.gba", 0x0FD364, 0x0000008 - -gUnk_080FD36C:: @ 080FD36C - .incbin "baserom.gba", 0x0FD36C, 0x0000008 - -gUnk_080FD374:: @ 080FD374 - .incbin "baserom.gba", 0x0FD374, 0x0000008 - -gUnk_080FD37C:: @ 080FD37C - .incbin "baserom.gba", 0x0FD37C, 0x0000008 - -gUnk_080FD384:: @ 080FD384 - .incbin "baserom.gba", 0x0FD384, 0x0000008 - -gUnk_080FD38C:: @ 080FD38C - .incbin "baserom.gba", 0x0FD38C, 0x0000008 - -gUnk_080FD394:: @ 080FD394 - .incbin "baserom.gba", 0x0FD394, 0x0000008 - -gUnk_080FD39C:: @ 080FD39C - .incbin "baserom.gba", 0x0FD39C, 0x0000008 - -gUnk_080FD3A4:: @ 080FD3A4 - .incbin "baserom.gba", 0x0FD3A4, 0x0000008 - -gUnk_080FD3AC:: @ 080FD3AC - .incbin "baserom.gba", 0x0FD3AC, 0x0000008 - -gUnk_080FD3B4:: @ 080FD3B4 - .incbin "baserom.gba", 0x0FD3B4, 0x0000008 - -gUnk_080FD3BC:: @ 080FD3BC - .incbin "baserom.gba", 0x0FD3BC, 0x0000008 - -gUnk_080FD3C4:: @ 080FD3C4 - .incbin "baserom.gba", 0x0FD3C4, 0x0000008 - -gUnk_080FD3CC:: @ 080FD3CC - .incbin "baserom.gba", 0x0FD3CC, 0x0000010 - -gUnk_080FD3DC:: @ 080FD3DC - .incbin "baserom.gba", 0x0FD3DC, 0x0000008 - -gUnk_080FD3E4:: @ 080FD3E4 - .incbin "baserom.gba", 0x0FD3E4, 0x0000008 - -gUnk_080FD3EC:: @ 080FD3EC - .incbin "baserom.gba", 0x0FD3EC, 0x0000008 - -gUnk_080FD3F4:: @ 080FD3F4 - .incbin "baserom.gba", 0x0FD3F4, 0x0000008 - -gUnk_080FD3FC:: @ 080FD3FC - .incbin "baserom.gba", 0x0FD3FC, 0x000000C - -gUnk_080FD408:: @ 080FD408 - .incbin "baserom.gba", 0x0FD408, 0x0000008 - -gUnk_080FD410:: @ 080FD410 - .incbin "baserom.gba", 0x0FD410, 0x000000C - -gUnk_080FD41C:: @ 080FD41C - .incbin "baserom.gba", 0x0FD41C, 0x0000008 - -gUnk_080FD424:: @ 080FD424 - .incbin "baserom.gba", 0x0FD424, 0x0000008 - -gUnk_080FD42C:: @ 080FD42C - .incbin "baserom.gba", 0x0FD42C, 0x0000008 - -gUnk_080FD434:: @ 080FD434 - .incbin "baserom.gba", 0x0FD434, 0x0000008 - -gUnk_080FD43C:: @ 080FD43C - .incbin "baserom.gba", 0x0FD43C, 0x000000C - -gUnk_080FD448:: @ 080FD448 - .incbin "baserom.gba", 0x0FD448, 0x0000008 - -gUnk_080FD450:: @ 080FD450 - .incbin "baserom.gba", 0x0FD450, 0x0000008 - -gUnk_080FD458:: @ 080FD458 - .incbin "baserom.gba", 0x0FD458, 0x0000008 - -gUnk_080FD460:: @ 080FD460 - .incbin "baserom.gba", 0x0FD460, 0x0000008 - -gUnk_080FD468:: @ 080FD468 - .incbin "baserom.gba", 0x0FD468, 0x0000008 - -gUnk_080FD470:: @ 080FD470 - .incbin "baserom.gba", 0x0FD470, 0x0000010 - -gUnk_080FD480:: @ 080FD480 - .incbin "baserom.gba", 0x0FD480, 0x0000008 - -gUnk_080FD488:: @ 080FD488 - .incbin "baserom.gba", 0x0FD488, 0x0000008 - -gUnk_080FD490:: @ 080FD490 - .incbin "baserom.gba", 0x0FD490, 0x0000008 - -gUnk_080FD498:: @ 080FD498 - .incbin "baserom.gba", 0x0FD498, 0x000000C - -gUnk_080FD4A4:: @ 080FD4A4 - .incbin "baserom.gba", 0x0FD4A4, 0x0000014 - -gUnk_080FD4B8:: @ 080FD4B8 - .incbin "baserom.gba", 0x0FD4B8, 0x0000008 - -gUnk_080FD4C0:: @ 080FD4C0 - .incbin "baserom.gba", 0x0FD4C0, 0x0000008 - -gUnk_080FD4C8:: @ 080FD4C8 - .incbin "baserom.gba", 0x0FD4C8, 0x0000008 - -gUnk_080FD4D0:: @ 080FD4D0 - .incbin "baserom.gba", 0x0FD4D0, 0x0000008 - -gUnk_080FD4D8:: @ 080FD4D8 - .incbin "baserom.gba", 0x0FD4D8, 0x0000008 - -gUnk_080FD4E0:: @ 080FD4E0 - .incbin "baserom.gba", 0x0FD4E0, 0x0000008 - -gUnk_080FD4E8:: @ 080FD4E8 - .incbin "baserom.gba", 0x0FD4E8, 0x0000008 - -gUnk_080FD4F0:: @ 080FD4F0 - .incbin "baserom.gba", 0x0FD4F0, 0x0000008 - -gUnk_080FD4F8:: @ 080FD4F8 - .incbin "baserom.gba", 0x0FD4F8, 0x0000008 - -gUnk_080FD500:: @ 080FD500 - .incbin "baserom.gba", 0x0FD500, 0x0000008 - -gUnk_080FD508:: @ 080FD508 - .incbin "baserom.gba", 0x0FD508, 0x0000008 - -gUnk_080FD510:: @ 080FD510 - .incbin "baserom.gba", 0x0FD510, 0x0000008 - -gUnk_080FD518:: @ 080FD518 - .incbin "baserom.gba", 0x0FD518, 0x0000008 - -gUnk_080FD520:: @ 080FD520 - .incbin "baserom.gba", 0x0FD520, 0x0000008 - -gUnk_080FD528:: @ 080FD528 - .incbin "baserom.gba", 0x0FD528, 0x0000008 - -gUnk_080FD530:: @ 080FD530 - .incbin "baserom.gba", 0x0FD530, 0x0000008 - -gUnk_080FD538:: @ 080FD538 - .incbin "baserom.gba", 0x0FD538, 0x000000C - -gUnk_080FD544:: @ 080FD544 - .incbin "baserom.gba", 0x0FD544, 0x0000008 - -gUnk_080FD54C:: @ 080FD54C - .incbin "baserom.gba", 0x0FD54C, 0x000000C - -gUnk_080FD558:: @ 080FD558 - .incbin "baserom.gba", 0x0FD558, 0x0000008 - -gUnk_080FD560:: @ 080FD560 - .incbin "baserom.gba", 0x0FD560, 0x0000008 - -gUnk_080FD568:: @ 080FD568 - .incbin "baserom.gba", 0x0FD568, 0x0000008 - -gUnk_080FD570:: @ 080FD570 - .incbin "baserom.gba", 0x0FD570, 0x0000008 - -gUnk_080FD578:: @ 080FD578 - .incbin "baserom.gba", 0x0FD578, 0x0000008 - -gUnk_080FD580:: @ 080FD580 - .incbin "baserom.gba", 0x0FD580, 0x0000008 - -gUnk_080FD588:: @ 080FD588 - .incbin "baserom.gba", 0x0FD588, 0x0000008 - -gWalletSizes:: @ 080FD590 - .incbin "baserom.gba", 0x0FD590, 0x0000010 - -gBombBagSizes:: @ 080FD5A0 - .incbin "baserom.gba", 0x0FD5A0, 0x0000004 - -gQuiverSizes:: @ 080FD5A4 - .incbin "baserom.gba", 0x0FD5A4, 0x0000004 - -gUnk_080FD5A8:: @ 080FD5A8 - .incbin "baserom.gba", 0x0FD5A8, 0x000000C - -gUnk_080FD5B4:: @ 080FD5B4 - .incbin "baserom.gba", 0x0FD5B4, 0x00003B0 - -gUnk_080FD964:: @ 080FD964 - .incbin "baserom.gba", 0x0FD964, 0x00003B0 - -gUnk_080FDD14:: @ 080FDD14 - .incbin "baserom.gba", 0x0FDD14, 0x0000005 - -gUnk_080FDD19:: @ 080FDD19 - .incbin "baserom.gba", 0x0FDD19, 0x0000005 - -gUnk_080FDD1E:: @ 080FDD1E - .incbin "baserom.gba", 0x0FDD1E, 0x0000005 - -gUnk_080FDD23:: @ 080FDD23 - .incbin "baserom.gba", 0x0FDD23, 0x0000005 - -gUnk_080FDD28:: @ 080FDD28 - .incbin "baserom.gba", 0x0FDD28, 0x0000005 - -gUnk_080FDD2D:: @ 080FDD2D - .incbin "baserom.gba", 0x0FDD2D, 0x0000005 - -gUnk_080FDD32:: @ 080FDD32 - .incbin "baserom.gba", 0x0FDD32, 0x0000005 - -gUnk_080FDD37:: @ 080FDD37 - .incbin "baserom.gba", 0x0FDD37, 0x0000011 - -gUnk_080FDD48:: @ 080FDD48 - .incbin "baserom.gba", 0x0FDD48, 0x0000005 - -gUnk_080FDD4D:: @ 080FDD4D - .incbin "baserom.gba", 0x0FDD4D, 0x0000005 - -gUnk_080FDD52:: @ 080FDD52 - .incbin "baserom.gba", 0x0FDD52, 0x0000005 - -gUnk_080FDD57:: @ 080FDD57 - .incbin "baserom.gba", 0x0FDD57, 0x0000005 - -gUnk_080FDD5C:: @ 080FDD5C - .incbin "baserom.gba", 0x0FDD5C, 0x0000005 - -gUnk_080FDD61:: @ 080FDD61 - .incbin "baserom.gba", 0x0FDD61, 0x0000031 - -gUnk_080FDD92:: @ 080FDD92 - .incbin "baserom.gba", 0x0FDD92, 0x0000005 - -gUnk_080FDD97:: @ 080FDD97 - .incbin "baserom.gba", 0x0FDD97, 0x0000011 - -gUnk_080FDDA8:: @ 080FDDA8 - .incbin "baserom.gba", 0x0FDDA8, 0x0000005 - -gUnk_080FDDAD:: @ 080FDDAD - .incbin "baserom.gba", 0x0FDDAD, 0x0000005 - -gUnk_080FDDB2:: @ 080FDDB2 - .incbin "baserom.gba", 0x0FDDB2, 0x0000005 - -gUnk_080FDDB7:: @ 080FDDB7 - .incbin "baserom.gba", 0x0FDDB7, 0x0000005 - -gUnk_080FDDBC:: @ 080FDDBC - .incbin "baserom.gba", 0x0FDDBC, 0x0000005 - -gUnk_080FDDC1:: @ 080FDDC1 - .incbin "baserom.gba", 0x0FDDC1, 0x0000005 - -gUnk_080FDDC6:: @ 080FDDC6 - .incbin "baserom.gba", 0x0FDDC6, 0x0000005 - -gUnk_080FDDCB:: @ 080FDDCB - .incbin "baserom.gba", 0x0FDDCB, 0x0000005 - -gUnk_080FDDD0:: @ 080FDDD0 - .incbin "baserom.gba", 0x0FDDD0, 0x0000005 - -gUnk_080FDDD5:: @ 080FDDD5 - .incbin "baserom.gba", 0x0FDDD5, 0x0000005 - -gUnk_080FDDDA:: @ 080FDDDA - .incbin "baserom.gba", 0x0FDDDA, 0x0000005 - -gUnk_080FDDDF:: @ 080FDDDF - .incbin "baserom.gba", 0x0FDDDF, 0x0000005 - -gUnk_080FDDE4:: @ 080FDDE4 - .incbin "baserom.gba", 0x0FDDE4, 0x0000011 - -gUnk_080FDDF5:: @ 080FDDF5 - .incbin "baserom.gba", 0x0FDDF5, 0x0000019 - -gUnk_080FDE0E:: @ 080FDE0E - .incbin "baserom.gba", 0x0FDE0E, 0x0000019 - -gUnk_080FDE27:: @ 080FDE27 - .incbin "baserom.gba", 0x0FDE27, 0x0000019 - -gUnk_080FDE40:: @ 080FDE40 - .incbin "baserom.gba", 0x0FDE40, 0x0000019 - -gUnk_080FDE59:: @ 080FDE59 - .incbin "baserom.gba", 0x0FDE59, 0x0000019 - -gUnk_080FDE72:: @ 080FDE72 - .incbin "baserom.gba", 0x0FDE72, 0x0000019 - -gUnk_080FDE8B:: @ 080FDE8B - .incbin "baserom.gba", 0x0FDE8B, 0x0000005 - -gUnk_080FDE90:: @ 080FDE90 - .incbin "baserom.gba", 0x0FDE90, 0x0000005 - -gUnk_080FDE95:: @ 080FDE95 - .incbin "baserom.gba", 0x0FDE95, 0x0000005 - -gUnk_080FDE9A:: @ 080FDE9A - .incbin "baserom.gba", 0x0FDE9A, 0x0000005 - -gUnk_080FDE9F:: @ 080FDE9F - .incbin "baserom.gba", 0x0FDE9F, 0x0000005 - -gUnk_080FDEA4:: @ 080FDEA4 - .incbin "baserom.gba", 0x0FDEA4, 0x0000005 - -gUnk_080FDEA9:: @ 080FDEA9 - .incbin "baserom.gba", 0x0FDEA9, 0x0000005 - -gUnk_080FDEAE:: @ 080FDEAE - .incbin "baserom.gba", 0x0FDEAE, 0x0000005 - -gUnk_080FDEB3:: @ 080FDEB3 - .incbin "baserom.gba", 0x0FDEB3, 0x0000005 - -gUnk_080FDEB8:: @ 080FDEB8 - .incbin "baserom.gba", 0x0FDEB8, 0x0000005 - -gUnk_080FDEBD:: @ 080FDEBD - .incbin "baserom.gba", 0x0FDEBD, 0x0000005 - -gUnk_080FDEC2:: @ 080FDEC2 - .incbin "baserom.gba", 0x0FDEC2, 0x0000005 - -gUnk_080FDEC7:: @ 080FDEC7 - .incbin "baserom.gba", 0x0FDEC7, 0x0000005 - -gUnk_080FDECC:: @ 080FDECC - .incbin "baserom.gba", 0x0FDECC, 0x0000005 - -gUnk_080FDED1:: @ 080FDED1 - .incbin "baserom.gba", 0x0FDED1, 0x0000005 - -gUnk_080FDED6:: @ 080FDED6 - .incbin "baserom.gba", 0x0FDED6, 0x0000005 - -gUnk_080FDEDB:: @ 080FDEDB - .incbin "baserom.gba", 0x0FDEDB, 0x0000005 - -gUnk_080FDEE0:: @ 080FDEE0 - .incbin "baserom.gba", 0x0FDEE0, 0x0000005 - -gUnk_080FDEE5:: @ 080FDEE5 - .incbin "baserom.gba", 0x0FDEE5, 0x0000005 - -gUnk_080FDEEA:: @ 080FDEEA - .incbin "baserom.gba", 0x0FDEEA, 0x0000005 - -gUnk_080FDEEF:: @ 080FDEEF - .incbin "baserom.gba", 0x0FDEEF, 0x0000005 - -gUnk_080FDEF4:: @ 080FDEF4 - .incbin "baserom.gba", 0x0FDEF4, 0x0000005 - -gUnk_080FDEF9:: @ 080FDEF9 - .incbin "baserom.gba", 0x0FDEF9, 0x0000005 - -gUnk_080FDEFE:: @ 080FDEFE - .incbin "baserom.gba", 0x0FDEFE, 0x0000005 - -gUnk_080FDF03:: @ 080FDF03 - .incbin "baserom.gba", 0x0FDF03, 0x0000005 - -gUnk_080FDF08:: @ 080FDF08 - .incbin "baserom.gba", 0x0FDF08, 0x0000005 - -gUnk_080FDF0D:: @ 080FDF0D - .incbin "baserom.gba", 0x0FDF0D, 0x0000005 - -gUnk_080FDF12:: @ 080FDF12 - .incbin "baserom.gba", 0x0FDF12, 0x0000005 - -gUnk_080FDF17:: @ 080FDF17 - .incbin "baserom.gba", 0x0FDF17, 0x0000011 - -gUnk_080FDF28:: @ 080FDF28 - .incbin "baserom.gba", 0x0FDF28, 0x000001D - -gUnk_080FDF45:: @ 080FDF45 - .incbin "baserom.gba", 0x0FDF45, 0x0000005 - -gUnk_080FDF4A:: @ 080FDF4A - .incbin "baserom.gba", 0x0FDF4A, 0x0000005 - -gUnk_080FDF4F:: @ 080FDF4F - .incbin "baserom.gba", 0x0FDF4F, 0x0000005 - -gUnk_080FDF54:: @ 080FDF54 - .incbin "baserom.gba", 0x0FDF54, 0x0000005 - -gUnk_080FDF59:: @ 080FDF59 - .incbin "baserom.gba", 0x0FDF59, 0x0000005 - -gUnk_080FDF5E:: @ 080FDF5E - .incbin "baserom.gba", 0x0FDF5E, 0x0000005 - -gUnk_080FDF63:: @ 080FDF63 - .incbin "baserom.gba", 0x0FDF63, 0x0000005 - -gUnk_080FDF68:: @ 080FDF68 - .incbin "baserom.gba", 0x0FDF68, 0x0000005 - -gUnk_080FDF6D:: @ 080FDF6D - .incbin "baserom.gba", 0x0FDF6D, 0x0000005 - -gUnk_080FDF72:: @ 080FDF72 - .incbin "baserom.gba", 0x0FDF72, 0x0000005 - -gUnk_080FDF77:: @ 080FDF77 - .incbin "baserom.gba", 0x0FDF77, 0x0000005 - -gUnk_080FDF7C:: @ 080FDF7C - .incbin "baserom.gba", 0x0FDF7C, 0x0000005 - -gUnk_080FDF81:: @ 080FDF81 - .incbin "baserom.gba", 0x0FDF81, 0x0000005 - -gUnk_080FDF86:: @ 080FDF86 - .incbin "baserom.gba", 0x0FDF86, 0x0000009 - -gUnk_080FDF8F:: @ 080FDF8F - .incbin "baserom.gba", 0x0FDF8F, 0x0000005 - -gUnk_080FDF94:: @ 080FDF94 - .incbin "baserom.gba", 0x0FDF94, 0x0000005 - -gUnk_080FDF99:: @ 080FDF99 - .incbin "baserom.gba", 0x0FDF99, 0x0000005 - -gUnk_080FDF9E:: @ 080FDF9E - .incbin "baserom.gba", 0x0FDF9E, 0x0000005 - -gUnk_080FDFA3:: @ 080FDFA3 - .incbin "baserom.gba", 0x0FDFA3, 0x0000005 - -gUnk_080FDFA8:: @ 080FDFA8 - .incbin "baserom.gba", 0x0FDFA8, 0x0000019 - -gUnk_080FDFC1:: @ 080FDFC1 - .incbin "baserom.gba", 0x0FDFC1, 0x0000005 - -gUnk_080FDFC6:: @ 080FDFC6 - .incbin "baserom.gba", 0x0FDFC6, 0x0000005 - -gUnk_080FDFCB:: @ 080FDFCB - .incbin "baserom.gba", 0x0FDFCB, 0x0000005 - -gUnk_080FDFD0:: @ 080FDFD0 - .incbin "baserom.gba", 0x0FDFD0, 0x0000008 - -gUnk_080FDFD8:: @ 080FDFD8 - .incbin "baserom.gba", 0x0FDFD8, 0x00001DC - -gUnk_080FE1B4:: @ 080FE1B4 - .incbin "baserom.gba", 0x0FE1B4, 0x0000012 - -gUnk_080FE1C6:: @ 080FE1C6 - .incbin "baserom.gba", 0x0FE1C6, 0x0000017 - -gUnk_080FE1DD:: @ 080FE1DD - .incbin "baserom.gba", 0x0FE1DD, 0x00000C3 - -gUnk_080FE2A0:: @ 080FE2A0 - .incbin "baserom.gba", 0x0FE2A0, 0x000000C - -gUnk_080FE2AC:: @ 080FE2AC - .incbin "baserom.gba", 0x0FE2AC, 0x0000074 - -gUnk_080FE320:: @ 080FE320 - .incbin "baserom.gba", 0x0FE320, 0x00002F0 - -gUnk_080FE610:: @ 080FE610 - .incbin "baserom.gba", 0x0FE610, 0x00004B8 - -gUnk_080FEAC8:: @ 080FEAC8 - .incbin "baserom.gba", 0x0FEAC8, 0x0000003 - -gUnk_080FEACB:: @ 080FEACB - .incbin "baserom.gba", 0x0FEACB, 0x0000023 - -gUnk_080FEAEE:: @ 080FEAEE - .incbin "baserom.gba", 0x0FEAEE, 0x000002C - -gUnk_080FEB1A:: @ 080FEB1A - .incbin "baserom.gba", 0x0FEB1A, 0x00000C2 - -gUnk_080FEBDC:: @ 080FEBDC - .incbin "baserom.gba", 0x0FEBDC, 0x000000C - -gUnk_080FEBE8:: @ 080FEBE8 - .incbin "baserom.gba", 0x0FEBE8, 0x0000006 - -gUnk_080FEBEE:: @ 080FEBEE - .incbin "baserom.gba", 0x0FEBEE, 0x000001B - -gUnk_080FEC09:: @ 080FEC09 - .incbin "baserom.gba", 0x0FEC09, 0x000001F - -gUnk_080FEC28:: @ 080FEC28 - .incbin "baserom.gba", 0x0FEC28, 0x00000A0 - -gUnk_080FECC8:: @ 080FECC8 - .incbin "baserom.gba", 0x0FECC8, 0x0000050 - -gUnk_080FED18:: @ 080FED18 - .incbin "baserom.gba", 0x0FED18, 0x0000040 - -gUnk_080FED58:: @ 080FED58 - .incbin "baserom.gba", 0x0FED58, 0x0000040 - -gUnk_080FED98:: @ 080FED98 - .incbin "baserom.gba", 0x0FED98, 0x000000C - -gUnk_080FEDA4:: @ 080FEDA4 - .incbin "baserom.gba", 0x0FEDA4, 0x0000036 - -gUnk_080FEDDA:: @ 080FEDDA - .incbin "baserom.gba", 0x0FEDDA, 0x000001E - -gUnk_080FEDF8:: @ 080FEDF8 - .incbin "baserom.gba", 0x0FEDF8, 0x0000020 - -gUnk_080FEE18:: @ 080FEE18 - .incbin "baserom.gba", 0x0FEE18, 0x0000020 - -gUnk_080FEE38:: @ 080FEE38 - .incbin "baserom.gba", 0x0FEE38, 0x0000010 - -gUnk_080FEE48:: @ 080FEE48 - .incbin "baserom.gba", 0x0FEE48, 0x0000010 - -gUnk_080FEE58:: @ 080FEE58 - .incbin "baserom.gba", 0x0FEE58, 0x0000020 - -gUnk_080FEE78:: @ 080FEE78 - .incbin "baserom.gba", 0x0FEE78, 0x0000030 - -gUnk_080FEEA8:: @ 080FEEA8 - .incbin "baserom.gba", 0x0FEEA8, 0x0000008 - -gUnk_080FEEB0:: @ 080FEEB0 - .incbin "baserom.gba", 0x0FEEB0, 0x0000008 - -gUnk_080FEEB8:: @ 080FEEB8 - .incbin "baserom.gba", 0x0FEEB8, 0x0000010 - -gUnk_080FEEC8:: @ 080FEEC8 - .incbin "baserom.gba", 0x0FEEC8, 0x000000C - -gUnk_080FEED4:: @ 080FEED4 - .incbin "baserom.gba", 0x0FEED4, 0x0000060 - -gUnk_080FEF34:: @ 080FEF34 - .incbin "baserom.gba", 0x0FEF34, 0x0000008 - -gUnk_080FEF3C:: @ 080FEF3C - .incbin "baserom.gba", 0x0FEF3C, 0x000000C - -gUnk_080FEF48:: @ 080FEF48 - .incbin "baserom.gba", 0x0FEF48, 0x0000030 - -gUnk_080FEF78:: @ 080FEF78 - .incbin "baserom.gba", 0x0FEF78, 0x0000030 - -gUnk_080FEFA8:: @ 080FEFA8 - .incbin "baserom.gba", 0x0FEFA8, 0x0000040 - -gUnk_080FEFE8:: @ 080FEFE8 - .incbin "baserom.gba", 0x0FEFE8, 0x0000050 - -gUnk_080FF038:: @ 080FF038 - .incbin "baserom.gba", 0x0FF038, 0x0000060 - -gUnk_080FF098:: @ 080FF098 - .incbin "baserom.gba", 0x0FF098, 0x0000070 - -gUnk_080FF108:: @ 080FF108 - .incbin "baserom.gba", 0x0FF108, 0x0000018 - -gUnk_080FF120:: @ 080FF120 - .incbin "baserom.gba", 0x0FF120, 0x0000008 - -gUnk_080FF128:: @ 080FF128 - .incbin "baserom.gba", 0x0FF128, 0x0000020 - -gUnk_080FF148:: @ 080FF148 - .incbin "baserom.gba", 0x0FF148, 0x000000C - -gUnk_080FF154:: @ 080FF154 - .incbin "baserom.gba", 0x0FF154, 0x0000020 - -gUnk_080FF174:: @ 080FF174 - .incbin "baserom.gba", 0x0FF174, 0x0000008 - -gUnk_080FF17C:: @ 080FF17C - .incbin "baserom.gba", 0x0FF17C, 0x0000050 - -gUnk_080FF1CC:: @ 080FF1CC - .incbin "baserom.gba", 0x0FF1CC, 0x0000008 - -gUnk_080FF1D4:: @ 080FF1D4 - .incbin "baserom.gba", 0x0FF1D4, 0x0000018 - -gUnk_080FF1EC:: @ 080FF1EC - .incbin "baserom.gba", 0x0FF1EC, 0x0000008 - -gUnk_080FF1F4:: @ 080FF1F4 - .incbin "baserom.gba", 0x0FF1F4, 0x000000C - -gUnk_080FF200:: @ 080FF200 - .incbin "baserom.gba", 0x0FF200, 0x0000004 - -gUnk_080FF204:: @ 080FF204 - .incbin "baserom.gba", 0x0FF204, 0x0000024 - -gUnk_080FF228:: @ 080FF228 - .incbin "baserom.gba", 0x0FF228, 0x0000010 - -gUnk_080FF238:: @ 080FF238 - .incbin "baserom.gba", 0x0FF238, 0x0000010 - -gUnk_080FF248:: @ 080FF248 - .incbin "baserom.gba", 0x0FF248, 0x000000C - -gUnk_080FF254:: @ 080FF254 - .incbin "baserom.gba", 0x0FF254, 0x0000010 - -gUnk_080FF264:: @ 080FF264 - .incbin "baserom.gba", 0x0FF264, 0x0000020 - -gUnk_080FF284:: @ 080FF284 - .incbin "baserom.gba", 0x0FF284, 0x0000008 - -gUnk_080FF28C:: @ 080FF28C - .incbin "baserom.gba", 0x0FF28C, 0x000000C - -gUnk_080FF298:: @ 080FF298 - .incbin "baserom.gba", 0x0FF298, 0x0000020 - -gUnk_080FF2B8:: @ 080FF2B8 - .incbin "baserom.gba", 0x0FF2B8, 0x0000008 - -gUnk_080FF2C0:: @ 080FF2C0 - .incbin "baserom.gba", 0x0FF2C0, 0x0000040 - -gUnk_080FF300:: @ 080FF300 - .incbin "baserom.gba", 0x0FF300, 0x0000008 - -gUnk_080FF308:: @ 080FF308 - .incbin "baserom.gba", 0x0FF308, 0x0000020 - -gUnk_080FF328:: @ 080FF328 - .incbin "baserom.gba", 0x0FF328, 0x0000008 - -gUnk_080FF330:: @ 080FF330 - .incbin "baserom.gba", 0x0FF330, 0x000000C - -gUnk_080FF33C:: @ 080FF33C - .incbin "baserom.gba", 0x0FF33C, 0x0000020 - -gUnk_080FF35C:: @ 080FF35C - .incbin "baserom.gba", 0x0FF35C, 0x0000010 - -gUnk_080FF36C:: @ 080FF36C - .incbin "baserom.gba", 0x0FF36C, 0x000000C - -gUnk_080FF378:: @ 080FF378 - .incbin "baserom.gba", 0x0FF378, 0x0000050 - -gUnk_080FF3C8:: @ 080FF3C8 - .incbin "baserom.gba", 0x0FF3C8, 0x0000020 - -gUnk_080FF3E8:: @ 080FF3E8 - .incbin "baserom.gba", 0x0FF3E8, 0x000000C - -gUnk_080FF3F4:: @ 080FF3F4 - .incbin "baserom.gba", 0x0FF3F4, 0x000000C - -gUnk_080FF400:: @ 080FF400 - .incbin "baserom.gba", 0x0FF400, 0x0000020 - -gUnk_080FF420:: @ 080FF420 - .incbin "baserom.gba", 0x0FF420, 0x0000008 - -gUnk_080FF428:: @ 080FF428 - .incbin "baserom.gba", 0x0FF428, 0x0000428 - -gPaletteGroups:: @ 080FF850 - .word 0x00000000 - .word 0x080FF428 - .word 0x080FF430 - .word 0x080FF438 - .word 0x080FF444 - .word 0x080FF450 - .word 0x080FF454 - .word 0x080FF458 - .word 0x080FF45C - .word 0x080FF460 - .word 0x080FF474 - .word 0x080FF488 - .word 0x080FF484 - .word 0x080FF5C8 - .word 0x080FF4A0 - .word 0x080FF4DC - .word 0x080FF560 - .word 0x080FF4E4 - .word 0x080FF4C4 - .word 0x080FF570 - .word 0x080FF49C - .word 0x080FF498 - .word 0x080FF4A4 - .word 0x080FF4A8 - .word 0x080FF4AC - .word 0x080FF4B0 - .word 0x080FF4E8 - .word 0x080FF4B8 - .word 0x080FF490 - .word 0x080FF574 - .word 0x080FF578 - .word 0x080FF590 - .word 0x080FF594 - .word 0x080FF57C - .word 0x080FF5E4 - .word 0x080FF5F8 - .word 0x080FF4F0 - .word 0x080FF4F4 - .word 0x080FF598 - .word 0x080FF494 - .word 0x080FF6C4 - .word 0x080FF59C - .word 0x080FF6C8 - .word 0x080FF6CC - .word 0x080FF58C - .word 0x080FF5CC - .word 0x080FF564 - .word 0x080FF6D0 - .word 0x080FF6D4 - .word 0x080FF6D8 - .word 0x080FF6DC - .word 0x080FF5B0 - .word 0x080FF5B4 - .word 0x080FF5C4 - .word 0x080FF4C0 - .word 0x080FF500 - .word 0x080FF510 - .word 0x080FF518 - .word 0x080FF51C - .word 0x080FF524 - .word 0x080FF50C - .word 0x080FF4B4 - .word 0x080FF5A0 - .word 0x080FF4C8 - .word 0x080FF4CC - .word 0x080FF4D0 - .word 0x080FF4D4 - .word 0x080FF568 - .word 0x080FF650 - .word 0x080FF654 - .word 0x080FF658 - .word 0x080FF65C - .word 0x080FF660 - .word 0x080FF664 - .word 0x080FF668 - .word 0x080FF66C - .word 0x080FF670 - .word 0x080FF680 - .word 0x080FF684 - .word 0x080FF688 - .word 0x080FF68C - .word 0x080FF690 - .word 0x080FF694 - .word 0x080FF698 - .word 0x080FF69C - .word 0x080FF56C - .word 0x080FF674 - .word 0x080FF678 - .word 0x080FF67C - .word 0x080FF5B8 - .word 0x080FF4EC - .word 0x080FF6E0 - .word 0x080FF5A4 - .word 0x080FF4D8 - .word 0x080FF4FC - .word 0x080FF640 - .word 0x080FF644 - .word 0x080FF648 - .word 0x080FF64C - .word 0x080FF580 - .word 0x080FF584 - .word 0x080FF5FC - .word 0x080FF5A8 - .word 0x080FF5AC - .word 0x080FF504 - .word 0x080FF53C - .word 0x080FF540 - .word 0x080FF544 - .word 0x080FF548 - .word 0x080FF4E0 - .word 0x080FF600 - .word 0x080FF630 - .word 0x080FF634 - .word 0x080FF638 - .word 0x080FF63C - .word 0x080FF6A0 - .word 0x080FF6A4 - .word 0x080FF6A8 - .word 0x080FF6AC - .word 0x080FF6B0 - .word 0x080FF54C - .word 0x080FF604 - .word 0x080FF6C0 - .word 0x080FF6BC - .word 0x080FF6B8 - .word 0x080FF608 - .word 0x080FF60C - .word 0x080FF610 - .word 0x080FF4F8 - .word 0x080FF6B4 - .word 0x080FF508 - .word 0x080FF614 - .word 0x080FF618 - .word 0x080FF61C - .word 0x080FF6E4 - .word 0x080FF6E8 - .word 0x080FF6EC - .word 0x080FF6F0 - .word 0x080FF6F4 - .word 0x080FF6F8 - .word 0x080FF6FC - .word 0x080FF700 - .word 0x080FF704 - .word 0x080FF708 - .word 0x080FF528 - .word 0x080FF520 - .word 0x080FF5D0 - .word 0x080FF5D4 - .word 0x080FF5D8 - .word 0x080FF5DC - .word 0x080FF5E0 - .word 0x080FF5E8 - .word 0x080FF5EC - .word 0x080FF5F0 - .word 0x080FF5F4 - .word 0x080FF530 - .word 0x080FF534 - .word 0x080FF5BC - .word 0x080FF620 - .word 0x080FF624 - .word 0x080FF628 - .word 0x080FF62C - .word 0x080FF514 - .word 0x080FF550 - .word 0x080FF554 - .word 0x080FF558 - .word 0x080FF55C - .word 0x080FF588 - .word 0x080FF5C0 - .word 0x080FF538 - .word 0x080FF4BC - .word 0x080FF70C - .word 0x080FF710 - .word 0x080FF714 - .word 0x080FF718 - .word 0x080FF71C - .word 0x080FF720 - .word 0x080FF724 - .word 0x080FF728 - .word 0x080FF72C - .word 0x080FF52C - .word 0x080FF730 - .word 0x080FF73C - .word 0x080FF744 - .word 0x080FF750 - .word 0x080FF75C - .word 0x080FF770 - .word 0x080FF778 - .word 0x080FF780 - .word 0x080FF788 - .word 0x080FF790 - .word 0x080FF798 - .word 0x080FF7A0 - .word 0x080FF7A8 - .word 0x080FF7B0 - .word 0x080FF7B8 - .word 0x080FF7C0 - .word 0x080FF7C8 - .word 0x080FF7D0 - .word 0x080FF7D8 - .word 0x080FF7E0 - .word 0x080FF7E8 - .word 0x080FF7F0 - .word 0x080FF7F8 - .word 0x080FF808 - .word 0x080FF814 - .word 0x080FF83C - .word 0x080FF844 - -gUnk_080FFB90:: @ 080FFB90 - .incbin "baserom.gba", 0x0FFB90, 0x0000018 - -gUnk_080FFBA8:: @ 080FFBA8 - .incbin "baserom.gba", 0x0FFBA8, 0x0000035 - -gUnk_080FFBDD:: @ 080FFBDD - .incbin "baserom.gba", 0x0FFBDD, 0x0000013 - -gUnk_080FFBF0:: @ 080FFBF0 - .incbin "baserom.gba", 0x0FFBF0, 0x0000024 - -gUnk_080FFC14:: @ 080FFC14 - .incbin "baserom.gba", 0x0FFC14, 0x0000024 - -gUnk_080FFC38:: @ 080FFC38 - .incbin "baserom.gba", 0x0FFC38, 0x0000030 - -gUnk_080FFC68:: @ 080FFC68 - .incbin "baserom.gba", 0x0FFC68, 0x0000018 - -gUnk_080FFC80:: @ 080FFC80 - .incbin "baserom.gba", 0x0FFC80, 0x000000C - -gUnk_080FFC8C:: @ 080FFC8C - .incbin "baserom.gba", 0x0FFC8C, 0x000000C - -gUnk_080FFC98:: @ 080FFC98 - .incbin "baserom.gba", 0x0FFC98, 0x0000018 - -gUnk_080FFCB0:: @ 080FFCB0 - .incbin "baserom.gba", 0x0FFCB0, 0x0000018 - -gUnk_080FFCC8:: @ 080FFCC8 - .incbin "baserom.gba", 0x0FFCC8, 0x000000C - -gUnk_080FFCD4:: @ 080FFCD4 - .incbin "baserom.gba", 0x0FFCD4, 0x0000018 - -gUnk_080FFCEC:: @ 080FFCEC - .incbin "baserom.gba", 0x0FFCEC, 0x0000001 - -gUnk_080FFCED:: @ 080FFCED - .incbin "baserom.gba", 0x0FFCED, 0x0000017 - -gUnk_080FFD04:: @ 080FFD04 - .incbin "baserom.gba", 0x0FFD04, 0x0000018 - -gUnk_080FFD1C:: @ 080FFD1C - .incbin "baserom.gba", 0x0FFD1C, 0x000000C - -gUnk_080FFD28:: @ 080FFD28 - .incbin "baserom.gba", 0x0FFD28, 0x0000018 - -gUnk_080FFD40:: @ 080FFD40 - .incbin "baserom.gba", 0x0FFD40, 0x000000C - -gUnk_080FFD4C:: @ 080FFD4C - .incbin "baserom.gba", 0x0FFD4C, 0x000000C - -gUnk_080FFD58:: @ 080FFD58 - .incbin "baserom.gba", 0x0FFD58, 0x000000C - -gUnk_080FFD64:: @ 080FFD64 - .incbin "baserom.gba", 0x0FFD64, 0x000000C - -gUnk_080FFD70:: @ 080FFD70 - .incbin "baserom.gba", 0x0FFD70, 0x000000C - -gUnk_080FFD7C:: @ 080FFD7C - .incbin "baserom.gba", 0x0FFD7C, 0x000000C - -gUnk_080FFD88:: @ 080FFD88 - .incbin "baserom.gba", 0x0FFD88, 0x000000C - -gUnk_080FFD94:: @ 080FFD94 - .incbin "baserom.gba", 0x0FFD94, 0x0000018 - -gUnk_080FFDAC:: @ 080FFDAC - .incbin "baserom.gba", 0x0FFDAC, 0x0000018 - -gUnk_080FFDC4:: @ 080FFDC4 - .incbin "baserom.gba", 0x0FFDC4, 0x000000C - -gUnk_080FFDD0:: @ 080FFDD0 - .incbin "baserom.gba", 0x0FFDD0, 0x0000018 - -gUnk_080FFDE8:: @ 080FFDE8 - .incbin "baserom.gba", 0x0FFDE8, 0x000000C - -gUnk_080FFDF4:: @ 080FFDF4 - .incbin "baserom.gba", 0x0FFDF4, 0x0000005 - -gUnk_080FFDF9:: @ 080FFDF9 - .incbin "baserom.gba", 0x0FFDF9, 0x0000007 - -gUnk_080FFE00:: @ 080FFE00 - .incbin "baserom.gba", 0x0FFE00, 0x0000018 - -gUnk_080FFE18:: @ 080FFE18 - .incbin "baserom.gba", 0x0FFE18, 0x0000018 - -gUnk_080FFE30:: @ 080FFE30 - .incbin "baserom.gba", 0x0FFE30, 0x000003C - -gUnk_080FFE6C:: @ 080FFE6C - .incbin "baserom.gba", 0x0FFE6C, 0x000003C - -gUnk_080FFEA8:: @ 080FFEA8 - .incbin "baserom.gba", 0x0FFEA8, 0x000003C - -gUnk_080FFEE4:: @ 080FFEE4 - .incbin "baserom.gba", 0x0FFEE4, 0x000003C - -gUnk_080FFF20:: @ 080FFF20 - .incbin "baserom.gba", 0x0FFF20, 0x000003C - -gUnk_080FFF5C:: @ 080FFF5C - .incbin "baserom.gba", 0x0FFF5C, 0x000003C - -gUnk_080FFF98:: @ 080FFF98 - .incbin "baserom.gba", 0x0FFF98, 0x0000030 - -gUnk_080FFFC8:: @ 080FFFC8 - .incbin "baserom.gba", 0x0FFFC8, 0x0000018 - -gUnk_080FFFE0:: @ 080FFFE0 - .incbin "baserom.gba", 0x0FFFE0, 0x000000C - -gUnk_080FFFEC:: @ 080FFFEC - .incbin "baserom.gba", 0x0FFFEC, 0x000000C - -gUnk_080FFFF8:: @ 080FFFF8 - .incbin "baserom.gba", 0x0FFFF8, 0x0000008 - -gUnk_08100000:: @ 08100000 - .incbin "baserom.gba", 0x100000, 0x0000001 - -gUnk_08100001:: @ 08100001 - .incbin "baserom.gba", 0x100001, 0x0000002 - -gUnk_08100003:: @ 08100003 - .incbin "baserom.gba", 0x100003, 0x0000001 - -gUnk_08100004:: @ 08100004 - .incbin "baserom.gba", 0x100004, 0x000000C - -gUnk_08100010:: @ 08100010 - .incbin "baserom.gba", 0x100010, 0x0000005 - -gUnk_08100015:: @ 08100015 - .incbin "baserom.gba", 0x100015, 0x0000007 - -gUnk_0810001C:: @ 0810001C - .incbin "baserom.gba", 0x10001C, 0x000000C - -gUnk_08100028:: @ 08100028 - .incbin "baserom.gba", 0x100028, 0x0000004 - -gUnk_0810002C:: @ 0810002C - .incbin "baserom.gba", 0x10002C, 0x0000008 - -gUnk_08100034:: @ 08100034 - .incbin "baserom.gba", 0x100034, 0x000000B - -gUnk_0810003F:: @ 0810003F - .incbin "baserom.gba", 0x10003F, 0x0000001 - -gUnk_08100040:: @ 08100040 - .incbin "baserom.gba", 0x100040, 0x0000002 - -gUnk_08100042:: @ 08100042 - .incbin "baserom.gba", 0x100042, 0x000000A - -gUnk_0810004C:: @ 0810004C - .incbin "baserom.gba", 0x10004C, 0x000000C - -gUnk_08100058:: @ 08100058 - .incbin "baserom.gba", 0x100058, 0x000000C - -gUnk_08100064:: @ 08100064 - .incbin "baserom.gba", 0x100064, 0x000000C - -gUnk_08100070:: @ 08100070 - .incbin "baserom.gba", 0x100070, 0x000000C - -gUnk_0810007C:: @ 0810007C - .incbin "baserom.gba", 0x10007C, 0x000000C - -gUnk_08100088:: @ 08100088 - .incbin "baserom.gba", 0x100088, 0x000000C - -gUnk_08100094:: @ 08100094 - .incbin "baserom.gba", 0x100094, 0x000000C - -gUnk_081000A0:: @ 081000A0 - .incbin "baserom.gba", 0x1000A0, 0x000000C - -gUnk_081000AC:: @ 081000AC - .incbin "baserom.gba", 0x1000AC, 0x000000C - -gUnk_081000B8:: @ 081000B8 - .incbin "baserom.gba", 0x1000B8, 0x000000C - -gUnk_081000C4:: @ 081000C4 - .incbin "baserom.gba", 0x1000C4, 0x000000C - -gUnk_081000D0:: @ 081000D0 - .incbin "baserom.gba", 0x1000D0, 0x000000C - -gUnk_081000DC:: @ 081000DC - .incbin "baserom.gba", 0x1000DC, 0x0000008 - -gUnk_081000E4:: @ 081000E4 - .incbin "baserom.gba", 0x1000E4, 0x0000004 - -gUnk_081000E8:: @ 081000E8 - .incbin "baserom.gba", 0x1000E8, 0x0000008 - -gUnk_081000F0:: @ 081000F0 - .incbin "baserom.gba", 0x1000F0, 0x0000004 - -gUnk_081000F4:: @ 081000F4 - .incbin "baserom.gba", 0x1000F4, 0x000000C - -gUnk_08100100:: @ 08100100 - .incbin "baserom.gba", 0x100100, 0x0000007 - -gUnk_08100107:: @ 08100107 - .incbin "baserom.gba", 0x100107, 0x0000002 - -gUnk_08100109:: @ 08100109 - .incbin "baserom.gba", 0x100109, 0x0000003 - -gUnk_0810010C:: @ 0810010C - .incbin "baserom.gba", 0x10010C, 0x000000C - -gUnk_08100118:: @ 08100118 - .incbin "baserom.gba", 0x100118, 0x0000008 - -gUnk_08100120:: @ 08100120 - .incbin "baserom.gba", 0x100120, 0x0000006 - -gUnk_08100126:: @ 08100126 - .incbin "baserom.gba", 0x100126, 0x000000A - -gUnk_08100130:: @ 08100130 - .incbin "baserom.gba", 0x100130, 0x0000018 - -gUnk_08100148:: @ 08100148 - .incbin "baserom.gba", 0x100148, 0x0000018 - -gUnk_08100160:: @ 08100160 - .incbin "baserom.gba", 0x100160, 0x0000018 - -gUnk_08100178:: @ 08100178 - .incbin "baserom.gba", 0x100178, 0x0000018 - -gUnk_08100190:: @ 08100190 - .incbin "baserom.gba", 0x100190, 0x0000018 - -gUnk_081001A8:: @ 081001A8 - .incbin "baserom.gba", 0x1001A8, 0x0000018 - -gUnk_081001C0:: @ 081001C0 - .incbin "baserom.gba", 0x1001C0, 0x0000018 - -gUnk_081001D8:: @ 081001D8 - .incbin "baserom.gba", 0x1001D8, 0x0000018 - -gUnk_081001F0:: @ 081001F0 - .incbin "baserom.gba", 0x1001F0, 0x0000009 - -gUnk_081001F9:: @ 081001F9 - .incbin "baserom.gba", 0x1001F9, 0x000000D - -gUnk_08100206:: @ 08100206 - .incbin "baserom.gba", 0x100206, 0x0000002 - -gUnk_08100208:: @ 08100208 - .incbin "baserom.gba", 0x100208, 0x0000018 - -gUnk_08100220:: @ 08100220 - .incbin "baserom.gba", 0x100220, 0x0000018 - -gUnk_08100238:: @ 08100238 - .incbin "baserom.gba", 0x100238, 0x0000018 - -gUnk_08100250:: @ 08100250 - .incbin "baserom.gba", 0x100250, 0x0000018 - -gUnk_08100268:: @ 08100268 - .incbin "baserom.gba", 0x100268, 0x0000018 - -gUnk_08100280:: @ 08100280 - .incbin "baserom.gba", 0x100280, 0x0000018 - -gUnk_08100298:: @ 08100298 - .incbin "baserom.gba", 0x100298, 0x0000018 - -gUnk_081002B0:: @ 081002B0 - .incbin "baserom.gba", 0x1002B0, 0x0000018 - -gUnk_081002C8:: @ 081002C8 - .incbin "baserom.gba", 0x1002C8, 0x0000018 - -gUnk_081002E0:: @ 081002E0 - .incbin "baserom.gba", 0x1002E0, 0x000000C - -gUnk_081002EC:: @ 081002EC - .incbin "baserom.gba", 0x1002EC, 0x000000C - -gUnk_081002F8:: @ 081002F8 - .incbin "baserom.gba", 0x1002F8, 0x000000C - -gUnk_08100304:: @ 08100304 - .incbin "baserom.gba", 0x100304, 0x000000C - -gUnk_08100310:: @ 08100310 - .incbin "baserom.gba", 0x100310, 0x0000007 - -gUnk_08100317:: @ 08100317 - .incbin "baserom.gba", 0x100317, 0x0000011 - -gUnk_08100328:: @ 08100328 - .incbin "baserom.gba", 0x100328, 0x0000030 - -gUnk_08100358:: @ 08100358 - .incbin "baserom.gba", 0x100358, 0x0000030 - -gUnk_08100388:: @ 08100388 - .incbin "baserom.gba", 0x100388, 0x0000054 - -gUnk_081003DC:: @ 081003DC - .incbin "baserom.gba", 0x1003DC, 0x0000024 - -gUnk_08100400:: @ 08100400 - .incbin "baserom.gba", 0x100400, 0x0000001 - -gUnk_08100401:: @ 08100401 - .incbin "baserom.gba", 0x100401, 0x0000006 - -gUnk_08100407:: @ 08100407 - .incbin "baserom.gba", 0x100407, 0x000001D - -gUnk_08100424:: @ 08100424 - .incbin "baserom.gba", 0x100424, 0x0000048 - -gUnk_0810046C:: @ 0810046C - .incbin "baserom.gba", 0x10046C, 0x0000048 - -gUnk_081004B4:: @ 081004B4 - .incbin "baserom.gba", 0x1004B4, 0x0000018 - -gUnk_081004CC:: @ 081004CC - .incbin "baserom.gba", 0x1004CC, 0x0000024 - -gUnk_081004F0:: @ 081004F0 - .incbin "baserom.gba", 0x1004F0, 0x0000008 - -gUnk_081004F8:: @ 081004F8 - .incbin "baserom.gba", 0x1004F8, 0x0000002 - -gUnk_081004FA:: @ 081004FA - .incbin "baserom.gba", 0x1004FA, 0x0000004 - -gUnk_081004FE:: @ 081004FE - .incbin "baserom.gba", 0x1004FE, 0x0000012 - -gUnk_08100510:: @ 08100510 - .incbin "baserom.gba", 0x100510, 0x0000001 - -gUnk_08100511:: @ 08100511 - .incbin "baserom.gba", 0x100511, 0x0000003 - -gUnk_08100514:: @ 08100514 - .incbin "baserom.gba", 0x100514, 0x000000C - -gUnk_08100520:: @ 08100520 - .incbin "baserom.gba", 0x100520, 0x0000021 - -gUnk_08100541:: @ 08100541 - .incbin "baserom.gba", 0x100541, 0x000000F - -gUnk_08100550:: @ 08100550 - .incbin "baserom.gba", 0x100550, 0x0000030 - -gUnk_08100580:: @ 08100580 - .incbin "baserom.gba", 0x100580, 0x0000030 - -gUnk_081005B0:: @ 081005B0 - .incbin "baserom.gba", 0x1005B0, 0x0000030 - -gUnk_081005E0:: @ 081005E0 - .incbin "baserom.gba", 0x1005E0, 0x000001B - -gUnk_081005FB:: @ 081005FB - .incbin "baserom.gba", 0x1005FB, 0x0000004 - -gUnk_081005FF:: @ 081005FF - .incbin "baserom.gba", 0x1005FF, 0x0000001 - -gUnk_08100600:: @ 08100600 - .incbin "baserom.gba", 0x100600, 0x0000005 - -gUnk_08100605:: @ 08100605 - .incbin "baserom.gba", 0x100605, 0x0000001 - -gUnk_08100606:: @ 08100606 - .incbin "baserom.gba", 0x100606, 0x000000A - -gUnk_08100610:: @ 08100610 - .incbin "baserom.gba", 0x100610, 0x0000010 - -gUnk_08100620:: @ 08100620 - .incbin "baserom.gba", 0x100620, 0x0000020 - -gUnk_08100640:: @ 08100640 - .incbin "baserom.gba", 0x100640, 0x0000030 - -gUnk_08100670:: @ 08100670 - .incbin "baserom.gba", 0x100670, 0x0000011 - -gUnk_08100681:: @ 08100681 - .incbin "baserom.gba", 0x100681, 0x000001F - -gUnk_081006A0:: @ 081006A0 - .incbin "baserom.gba", 0x1006A0, 0x0000030 - -gUnk_081006D0:: @ 081006D0 - .incbin "baserom.gba", 0x1006D0, 0x0000030 - -gUnk_08100700:: @ 08100700 - .incbin "baserom.gba", 0x100700, 0x0000010 - -gUnk_08100710:: @ 08100710 - .incbin "baserom.gba", 0x100710, 0x0000010 - -gUnk_08100720:: @ 08100720 - .incbin "baserom.gba", 0x100720, 0x0000010 - -gUnk_08100730:: @ 08100730 - .incbin "baserom.gba", 0x100730, 0x0000010 - -gUnk_08100740:: @ 08100740 - .incbin "baserom.gba", 0x100740, 0x0000010 - -gUnk_08100750:: @ 08100750 - .incbin "baserom.gba", 0x100750, 0x0000010 - -gUnk_08100760:: @ 08100760 - .incbin "baserom.gba", 0x100760, 0x0000020 - -gUnk_08100780:: @ 08100780 - .incbin "baserom.gba", 0x100780, 0x0000001 - -gUnk_08100781:: @ 08100781 - .incbin "baserom.gba", 0x100781, 0x000000F - -gUnk_08100790:: @ 08100790 - .incbin "baserom.gba", 0x100790, 0x0000030 - -gUnk_081007C0:: @ 081007C0 - .incbin "baserom.gba", 0x1007C0, 0x0000020 - -gUnk_081007E0:: @ 081007E0 - .incbin "baserom.gba", 0x1007E0, 0x0000010 - -gUnk_081007F0:: @ 081007F0 - .incbin "baserom.gba", 0x1007F0, 0x000000E - -gUnk_081007FE:: @ 081007FE - .incbin "baserom.gba", 0x1007FE, 0x0000001 - -gUnk_081007FF:: @ 081007FF - .incbin "baserom.gba", 0x1007FF, 0x0000001 - -gUnk_08100800:: @ 08100800 - .incbin "baserom.gba", 0x100800, 0x0000004 - -gUnk_08100804:: @ 08100804 - .incbin "baserom.gba", 0x100804, 0x0000005 - -gUnk_08100809:: @ 08100809 - .incbin "baserom.gba", 0x100809, 0x0000007 - -gUnk_08100810:: @ 08100810 - .incbin "baserom.gba", 0x100810, 0x0000003 - -gUnk_08100813:: @ 08100813 - .incbin "baserom.gba", 0x100813, 0x000000D - -gUnk_08100820:: @ 08100820 - .incbin "baserom.gba", 0x100820, 0x0000021 - -gUnk_08100841:: @ 08100841 - .incbin "baserom.gba", 0x100841, 0x000000F - -gUnk_08100850:: @ 08100850 - .incbin "baserom.gba", 0x100850, 0x0000030 - -gUnk_08100880:: @ 08100880 - .incbin "baserom.gba", 0x100880, 0x0000001 - -gUnk_08100881:: @ 08100881 - .incbin "baserom.gba", 0x100881, 0x000002F - -gUnk_081008B0:: @ 081008B0 - .incbin "baserom.gba", 0x1008B0, 0x0000030 - -gUnk_081008E0:: @ 081008E0 - .incbin "baserom.gba", 0x1008E0, 0x0000023 - -gUnk_08100903:: @ 08100903 - .incbin "baserom.gba", 0x100903, 0x0000001 - -gUnk_08100904:: @ 08100904 - .incbin "baserom.gba", 0x100904, 0x000000C - -gUnk_08100910:: @ 08100910 - .incbin "baserom.gba", 0x100910, 0x0000030 - -gUnk_08100940:: @ 08100940 - .incbin "baserom.gba", 0x100940, 0x0000030 - -gUnk_08100970:: @ 08100970 - .incbin "baserom.gba", 0x100970, 0x000003C - -gUnk_081009AC:: @ 081009AC - .incbin "baserom.gba", 0x1009AC, 0x000000C - -gUnk_081009B8:: @ 081009B8 - .incbin "baserom.gba", 0x1009B8, 0x000000C - -gUnk_081009C4:: @ 081009C4 - .incbin "baserom.gba", 0x1009C4, 0x000000C - -gUnk_081009D0:: @ 081009D0 - .incbin "baserom.gba", 0x1009D0, 0x0000009 - -gUnk_081009D9:: @ 081009D9 - .incbin "baserom.gba", 0x1009D9, 0x0000003 - -gUnk_081009DC:: @ 081009DC - .incbin "baserom.gba", 0x1009DC, 0x000000C - -gUnk_081009E8:: @ 081009E8 - .incbin "baserom.gba", 0x1009E8, 0x0000005 - -gUnk_081009ED:: @ 081009ED - .incbin "baserom.gba", 0x1009ED, 0x0000007 - -gUnk_081009F4:: @ 081009F4 - .incbin "baserom.gba", 0x1009F4, 0x000000C - -gUnk_08100A00:: @ 08100A00 - .incbin "baserom.gba", 0x100A00, 0x0000006 - -gUnk_08100A06:: @ 08100A06 - .incbin "baserom.gba", 0x100A06, 0x0000004 - -gUnk_08100A0A:: @ 08100A0A - .incbin "baserom.gba", 0x100A0A, 0x0000002 - -gUnk_08100A0C:: @ 08100A0C - .incbin "baserom.gba", 0x100A0C, 0x0000005 - -gUnk_08100A11:: @ 08100A11 - .incbin "baserom.gba", 0x100A11, 0x000001F - -gUnk_08100A30:: @ 08100A30 - .incbin "baserom.gba", 0x100A30, 0x0000054 - -gUnk_08100A84:: @ 08100A84 - .incbin "baserom.gba", 0x100A84, 0x000000C - -gUnk_08100A90:: @ 08100A90 - .incbin "baserom.gba", 0x100A90, 0x000000C - -gUnk_08100A9C:: @ 08100A9C - .incbin "baserom.gba", 0x100A9C, 0x000000C - -gUnk_08100AA8:: @ 08100AA8 - .incbin "baserom.gba", 0x100AA8, 0x000005F - -gUnk_08100B07:: @ 08100B07 - .incbin "baserom.gba", 0x100B07, 0x0000009 - -gUnk_08100B10:: @ 08100B10 - .incbin "baserom.gba", 0x100B10, 0x0000004 - -gUnk_08100B14:: @ 08100B14 - .incbin "baserom.gba", 0x100B14, 0x00000DC - -gUnk_08100BF0:: @ 08100BF0 - .incbin "baserom.gba", 0x100BF0, 0x000000D - -gUnk_08100BFD:: @ 08100BFD - .incbin "baserom.gba", 0x100BFD, 0x0000004 - -gUnk_08100C01:: @ 08100C01 - .incbin "baserom.gba", 0x100C01, 0x0000001 - -gUnk_08100C02:: @ 08100C02 - .incbin "baserom.gba", 0x100C02, 0x000007F - -gUnk_08100C81:: @ 08100C81 - .incbin "baserom.gba", 0x100C81, 0x000003B diff --git a/data/data_080FC8A4.s b/data/data_080FC8A4.s new file mode 100644 index 00000000..4b2d84c6 --- /dev/null +++ b/data/data_080FC8A4.s @@ -0,0 +1,1928 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + .align 2 + +gUnk_080FC8D0:: @ 080FC8D0 + .incbin "baserom.gba", 0x0FC8D0, 0x000000E + +gUnk_080FC8DE:: @ 080FC8DE + .incbin "baserom.gba", 0x0FC8DE, 0x000001E + +sFileSelectDefaultHandlers:: @ 080FC8FC + .incbin "baserom.gba", 0x0FC8FC, 0x0000007 + +gUnk_080FC903:: @ 080FC903 + .incbin "baserom.gba", 0x0FC903, 0x0000005 + +gUnk_080FC908:: @ 080FC908 + .incbin "baserom.gba", 0x0FC908, 0x000000C + +gUnk_080FC914:: @ 080FC914 + .incbin "baserom.gba", 0x0FC914, 0x0000028 + +gUnk_080FC93C:: @ 080FC93C + .incbin "baserom.gba", 0x0FC93C, 0x0000008 + +gUnk_080FC944:: @ 080FC944 + .incbin "baserom.gba", 0x0FC944, 0x000000C + +gUnk_080FC950:: @ 080FC950 + .incbin "baserom.gba", 0x0FC950, 0x0000010 + +gUnk_080FC960:: @ 080FC960 + .incbin "baserom.gba", 0x0FC960, 0x0000010 + +gUnk_080FC970:: @ 080FC970 + .incbin "baserom.gba", 0x0FC970, 0x0000010 + +gUnk_080FC980:: @ 080FC980 + .incbin "baserom.gba", 0x0FC980, 0x0000020 + +gUnk_080FC9A0:: @ 080FC9A0 + .incbin "baserom.gba", 0x0FC9A0, 0x0000010 + +gUnk_080FC9B0:: @ 080FC9B0 + .incbin "baserom.gba", 0x0FC9B0, 0x000000C + +gUnk_080FC9BC:: @ 080FC9BC + .incbin "baserom.gba", 0x0FC9BC, 0x000000C + +gUnk_080FC9C8:: @ 080FC9C8 + .incbin "baserom.gba", 0x0FC9C8, 0x0000010 + +gUnk_080FC9D8:: @ 080FC9D8 + .incbin "baserom.gba", 0x0FC9D8, 0x0000010 + +gUnk_080FC9E8:: @ 080FC9E8 + .incbin "baserom.gba", 0x0FC9E8, 0x0000020 + +gUnk_080FCA08:: @ 080FCA08 + .incbin "baserom.gba", 0x0FCA08, 0x000000C + +gUnk_080FCA14:: @ 080FCA14 + .incbin "baserom.gba", 0x0FCA14, 0x000000C + +gUnk_080FCA20:: @ 080FCA20 + .incbin "baserom.gba", 0x0FCA20, 0x0000050 + +gUnk_080FCA70:: @ 080FCA70 + .incbin "baserom.gba", 0x0FCA70, 0x0000014 + +gUnk_080FCA84:: @ 080FCA84 + .incbin "baserom.gba", 0x0FCA84, 0x0000008 + +gUnk_080FCA8C:: @ 080FCA8C + .incbin "baserom.gba", 0x0FCA8C, 0x0000018 + +gUnk_080FCAA4:: @ 080FCAA4 + .incbin "baserom.gba", 0x0FCAA4, 0x0000024 + +gUnk_080FCAC8:: @ 080FCAC8 + .incbin "baserom.gba", 0x0FCAC8, 0x000000E + +gUnk_080FCAD6:: @ 080FCAD6 + .incbin "baserom.gba", 0x0FCAD6, 0x0000022 + +gUnk_080FCAF8:: @ 080FCAF8 + .incbin "baserom.gba", 0x0FCAF8, 0x0000020 + +gUnk_080FCB18:: @ 080FCB18 + .incbin "baserom.gba", 0x0FCB18, 0x0000020 + +gUnk_080FCB38:: @ 080FCB38 + .incbin "baserom.gba", 0x0FCB38, 0x000002A + +gUnk_080FCB62:: @ 080FCB62 + .incbin "baserom.gba", 0x0FCB62, 0x0000032 + +gUnk_080FCB94:: @ 080FCB94 + .incbin "baserom.gba", 0x0FCB94, 0x0000020 + +gUnk_080FCBB4:: @ 080FCBB4 + .incbin "baserom.gba", 0x0FCBB4, 0x0000010 + +gUnk_080FCBC4:: @ 080FCBC4 + .incbin "baserom.gba", 0x0FCBC4, 0x0000050 + +gUnk_080FCC14:: @ 080FCC14 + .incbin "baserom.gba", 0x0FCC14, 0x0000040 + +gUnk_080FCC54:: @ 080FCC54 + .incbin "baserom.gba", 0x0FCC54, 0x0000030 + +gUnk_080FCC84:: @ 080FCC84 + .incbin "baserom.gba", 0x0FCC84, 0x0000018 + +gUnk_080FCC9C:: @ 080FCC9C + .incbin "baserom.gba", 0x0FCC9C, 0x0000018 + +gUnk_080FCCB4:: @ 080FCCB4 + .incbin "baserom.gba", 0x0FCCB4, 0x0000048 + +gUnk_080FCCFC:: @ 080FCCFC + .incbin "baserom.gba", 0x0FCCFC, 0x000003C + +gUnk_080FCD38:: @ 080FCD38 + .incbin "baserom.gba", 0x0FCD38, 0x0000008 + +gUnk_080FCD40:: @ 080FCD40 + .incbin "baserom.gba", 0x0FCD40, 0x0000044 + +gUnk_080FCD84:: @ 080FCD84 + .incbin "baserom.gba", 0x0FCD84, 0x0000050 + +gUnk_080FCDD4:: @ 080FCDD4 + .incbin "baserom.gba", 0x0FCDD4, 0x000000C + +gUnk_080FCDE0:: @ 080FCDE0 + .incbin "baserom.gba", 0x0FCDE0, 0x0000050 + +gUnk_080FCE30:: @ 080FCE30 + .incbin "baserom.gba", 0x0FCE30, 0x0000080 + +gUnk_080FCEB0:: @ 080FCEB0 + .incbin "baserom.gba", 0x0FCEB0, 0x000000C + +gUnk_080FCEBC:: @ 080FCEBC + .incbin "baserom.gba", 0x0FCEBC, 0x0000030 + +gUnk_080FCEEC:: @ 080FCEEC + .incbin "baserom.gba", 0x0FCEEC, 0x000000C + +gUnk_080FCEF8:: @ 080FCEF8 + .incbin "baserom.gba", 0x0FCEF8, 0x000000C + +gUnk_080FCF04:: @ 080FCF04 + .incbin "baserom.gba", 0x0FCF04, 0x0000020 + +gUnk_080FCF24:: @ 080FCF24 + .incbin "baserom.gba", 0x0FCF24, 0x0000020 + +gUnk_080FCF44:: @ 080FCF44 + .incbin "baserom.gba", 0x0FCF44, 0x0000020 + +gUnk_080FCF64:: @ 080FCF64 + .incbin "baserom.gba", 0x0FCF64, 0x0000020 + +gUnk_080FCF84:: @ 080FCF84 + .incbin "baserom.gba", 0x0FCF84, 0x0000020 + +gUnk_080FCFA4:: @ 080FCFA4 + .incbin "baserom.gba", 0x0FCFA4, 0x0000014 + +gUnk_080FCFB8:: @ 080FCFB8 + .incbin "baserom.gba", 0x0FCFB8, 0x0000030 + +gUnk_080FCFE8:: @ 080FCFE8 + .incbin "baserom.gba", 0x0FCFE8, 0x0000020 + +gUnk_080FD008:: @ 080FD008 + .incbin "baserom.gba", 0x0FD008, 0x0000020 + +gUnk_080FD028:: @ 080FD028 + .incbin "baserom.gba", 0x0FD028, 0x0000020 + +gUnk_080FD048:: @ 080FD048 + .incbin "baserom.gba", 0x0FD048, 0x0000030 + +gUnk_080FD078:: @ 080FD078 + .incbin "baserom.gba", 0x0FD078, 0x0000020 + +gUnk_080FD098:: @ 080FD098 + .incbin "baserom.gba", 0x0FD098, 0x0000030 + +gUnk_080FD0C8:: @ 080FD0C8 + .incbin "baserom.gba", 0x0FD0C8, 0x0000020 + +gUnk_080FD0E8:: @ 080FD0E8 + .incbin "baserom.gba", 0x0FD0E8, 0x0000020 + +gUnk_080FD108:: @ 080FD108 + .incbin "baserom.gba", 0x0FD108, 0x0000030 + +gUnk_080FD138:: @ 080FD138 + .incbin "baserom.gba", 0x0FD138, 0x0000018 + +gUnk_080FD150:: @ 080FD150 + .incbin "baserom.gba", 0x0FD150, 0x0000008 + +gUnk_080FD158:: @ 080FD158 + .incbin "baserom.gba", 0x0FD158, 0x0000008 + +gUnk_080FD160:: @ 080FD160 + .incbin "baserom.gba", 0x0FD160, 0x0000008 + +gUnk_080FD168:: @ 080FD168 + .incbin "baserom.gba", 0x0FD168, 0x0000008 + +gUnk_080FD170:: @ 080FD170 + .incbin "baserom.gba", 0x0FD170, 0x0000008 + +gUnk_080FD178:: @ 080FD178 + .incbin "baserom.gba", 0x0FD178, 0x0000008 + +gUnk_080FD180:: @ 080FD180 + .incbin "baserom.gba", 0x0FD180, 0x0000008 + +gUnk_080FD188:: @ 080FD188 + .incbin "baserom.gba", 0x0FD188, 0x0000008 + +gUnk_080FD190:: @ 080FD190 + .incbin "baserom.gba", 0x0FD190, 0x0000008 + +gUnk_080FD198:: @ 080FD198 + .incbin "baserom.gba", 0x0FD198, 0x0000008 + +gUnk_080FD1A0:: @ 080FD1A0 + .incbin "baserom.gba", 0x0FD1A0, 0x0000008 + +gUnk_080FD1A8:: @ 080FD1A8 + .incbin "baserom.gba", 0x0FD1A8, 0x000000C + +gUnk_080FD1B4:: @ 080FD1B4 + .incbin "baserom.gba", 0x0FD1B4, 0x0000010 + +gUnk_080FD1C4:: @ 080FD1C4 + .incbin "baserom.gba", 0x0FD1C4, 0x0000008 + +gUnk_080FD1CC:: @ 080FD1CC + .incbin "baserom.gba", 0x0FD1CC, 0x0000008 + +gUnk_080FD1D4:: @ 080FD1D4 + .incbin "baserom.gba", 0x0FD1D4, 0x0000008 + +gUnk_080FD1DC:: @ 080FD1DC + .incbin "baserom.gba", 0x0FD1DC, 0x0000008 + +gUnk_080FD1E4:: @ 080FD1E4 + .incbin "baserom.gba", 0x0FD1E4, 0x0000008 + +gUnk_080FD1EC:: @ 080FD1EC + .incbin "baserom.gba", 0x0FD1EC, 0x0000008 + +gUnk_080FD1F4:: @ 080FD1F4 + .incbin "baserom.gba", 0x0FD1F4, 0x0000008 + +gUnk_080FD1FC:: @ 080FD1FC + .incbin "baserom.gba", 0x0FD1FC, 0x0000008 + +gUnk_080FD204:: @ 080FD204 + .incbin "baserom.gba", 0x0FD204, 0x0000008 + +gUnk_080FD20C:: @ 080FD20C + .incbin "baserom.gba", 0x0FD20C, 0x0000008 + +gUnk_080FD214:: @ 080FD214 + .incbin "baserom.gba", 0x0FD214, 0x0000008 + +gUnk_080FD21C:: @ 080FD21C + .incbin "baserom.gba", 0x0FD21C, 0x0000008 + +gUnk_080FD224:: @ 080FD224 + .incbin "baserom.gba", 0x0FD224, 0x0000008 + +gUnk_080FD22C:: @ 080FD22C + .incbin "baserom.gba", 0x0FD22C, 0x000000C + +gUnk_080FD238:: @ 080FD238 + .incbin "baserom.gba", 0x0FD238, 0x0000008 + +gUnk_080FD240:: @ 080FD240 + .incbin "baserom.gba", 0x0FD240, 0x0000008 + +gUnk_080FD248:: @ 080FD248 + .incbin "baserom.gba", 0x0FD248, 0x0000008 + +gUnk_080FD250:: @ 080FD250 + .incbin "baserom.gba", 0x0FD250, 0x0000008 + +gUnk_080FD258:: @ 080FD258 + .incbin "baserom.gba", 0x0FD258, 0x0000008 + +gUnk_080FD260:: @ 080FD260 + .incbin "baserom.gba", 0x0FD260, 0x0000008 + +gUnk_080FD268:: @ 080FD268 + .incbin "baserom.gba", 0x0FD268, 0x0000008 + +gUnk_080FD270:: @ 080FD270 + .incbin "baserom.gba", 0x0FD270, 0x0000008 + +gUnk_080FD278:: @ 080FD278 + .incbin "baserom.gba", 0x0FD278, 0x0000008 + +gUnk_080FD280:: @ 080FD280 + .incbin "baserom.gba", 0x0FD280, 0x0000008 + +gUnk_080FD288:: @ 080FD288 + .incbin "baserom.gba", 0x0FD288, 0x0000008 + +gUnk_080FD290:: @ 080FD290 + .incbin "baserom.gba", 0x0FD290, 0x0000008 + +gUnk_080FD298:: @ 080FD298 + .incbin "baserom.gba", 0x0FD298, 0x0000008 + +gUnk_080FD2A0:: @ 080FD2A0 + .incbin "baserom.gba", 0x0FD2A0, 0x0000008 + +gUnk_080FD2A8:: @ 080FD2A8 + .incbin "baserom.gba", 0x0FD2A8, 0x0000008 + +gUnk_080FD2B0:: @ 080FD2B0 + .incbin "baserom.gba", 0x0FD2B0, 0x0000008 + +gUnk_080FD2B8:: @ 080FD2B8 + .incbin "baserom.gba", 0x0FD2B8, 0x0000008 + +gUnk_080FD2C0:: @ 080FD2C0 + .incbin "baserom.gba", 0x0FD2C0, 0x0000008 + +gUnk_080FD2C8:: @ 080FD2C8 + .incbin "baserom.gba", 0x0FD2C8, 0x0000008 + +gUnk_080FD2D0:: @ 080FD2D0 + .incbin "baserom.gba", 0x0FD2D0, 0x0000008 + +gUnk_080FD2D8:: @ 080FD2D8 + .incbin "baserom.gba", 0x0FD2D8, 0x0000008 + +gUnk_080FD2E0:: @ 080FD2E0 + .incbin "baserom.gba", 0x0FD2E0, 0x0000008 + +gUnk_080FD2E8:: @ 080FD2E8 + .incbin "baserom.gba", 0x0FD2E8, 0x0000008 + +gUnk_080FD2F0:: @ 080FD2F0 + .incbin "baserom.gba", 0x0FD2F0, 0x0000008 + +gUnk_080FD2F8:: @ 080FD2F8 + .incbin "baserom.gba", 0x0FD2F8, 0x0000008 + +gUnk_080FD300:: @ 080FD300 + .incbin "baserom.gba", 0x0FD300, 0x0000008 + +gUnk_080FD308:: @ 080FD308 + .incbin "baserom.gba", 0x0FD308, 0x0000008 + +gUnk_080FD310:: @ 080FD310 + .incbin "baserom.gba", 0x0FD310, 0x0000008 + +gUnk_080FD318:: @ 080FD318 + .incbin "baserom.gba", 0x0FD318, 0x0000008 + +gUnk_080FD320:: @ 080FD320 + .incbin "baserom.gba", 0x0FD320, 0x0000008 + +gUnk_080FD328:: @ 080FD328 + .incbin "baserom.gba", 0x0FD328, 0x0000008 + +gUnk_080FD330:: @ 080FD330 + .incbin "baserom.gba", 0x0FD330, 0x0000008 + +gUnk_080FD338:: @ 080FD338 + .incbin "baserom.gba", 0x0FD338, 0x0000008 + +gUnk_080FD340:: @ 080FD340 + .incbin "baserom.gba", 0x0FD340, 0x000000C + +gUnk_080FD34C:: @ 080FD34C + .incbin "baserom.gba", 0x0FD34C, 0x0000008 + +gUnk_080FD354:: @ 080FD354 + .incbin "baserom.gba", 0x0FD354, 0x0000008 + +gUnk_080FD35C:: @ 080FD35C + .incbin "baserom.gba", 0x0FD35C, 0x0000008 + +gUnk_080FD364:: @ 080FD364 + .incbin "baserom.gba", 0x0FD364, 0x0000008 + +gUnk_080FD36C:: @ 080FD36C + .incbin "baserom.gba", 0x0FD36C, 0x0000008 + +gUnk_080FD374:: @ 080FD374 + .incbin "baserom.gba", 0x0FD374, 0x0000008 + +gUnk_080FD37C:: @ 080FD37C + .incbin "baserom.gba", 0x0FD37C, 0x0000008 + +gUnk_080FD384:: @ 080FD384 + .incbin "baserom.gba", 0x0FD384, 0x0000008 + +gUnk_080FD38C:: @ 080FD38C + .incbin "baserom.gba", 0x0FD38C, 0x0000008 + +gUnk_080FD394:: @ 080FD394 + .incbin "baserom.gba", 0x0FD394, 0x0000008 + +gUnk_080FD39C:: @ 080FD39C + .incbin "baserom.gba", 0x0FD39C, 0x0000008 + +gUnk_080FD3A4:: @ 080FD3A4 + .incbin "baserom.gba", 0x0FD3A4, 0x0000008 + +gUnk_080FD3AC:: @ 080FD3AC + .incbin "baserom.gba", 0x0FD3AC, 0x0000008 + +gUnk_080FD3B4:: @ 080FD3B4 + .incbin "baserom.gba", 0x0FD3B4, 0x0000008 + +gUnk_080FD3BC:: @ 080FD3BC + .incbin "baserom.gba", 0x0FD3BC, 0x0000008 + +gUnk_080FD3C4:: @ 080FD3C4 + .incbin "baserom.gba", 0x0FD3C4, 0x0000008 + +gUnk_080FD3CC:: @ 080FD3CC + .incbin "baserom.gba", 0x0FD3CC, 0x0000010 + +gUnk_080FD3DC:: @ 080FD3DC + .incbin "baserom.gba", 0x0FD3DC, 0x0000008 + +gUnk_080FD3E4:: @ 080FD3E4 + .incbin "baserom.gba", 0x0FD3E4, 0x0000008 + +gUnk_080FD3EC:: @ 080FD3EC + .incbin "baserom.gba", 0x0FD3EC, 0x0000008 + +gUnk_080FD3F4:: @ 080FD3F4 + .incbin "baserom.gba", 0x0FD3F4, 0x0000008 + +gUnk_080FD3FC:: @ 080FD3FC + .incbin "baserom.gba", 0x0FD3FC, 0x000000C + +gUnk_080FD408:: @ 080FD408 + .incbin "baserom.gba", 0x0FD408, 0x0000008 + +gUnk_080FD410:: @ 080FD410 + .incbin "baserom.gba", 0x0FD410, 0x000000C + +gUnk_080FD41C:: @ 080FD41C + .incbin "baserom.gba", 0x0FD41C, 0x0000008 + +gUnk_080FD424:: @ 080FD424 + .incbin "baserom.gba", 0x0FD424, 0x0000008 + +gUnk_080FD42C:: @ 080FD42C + .incbin "baserom.gba", 0x0FD42C, 0x0000008 + +gUnk_080FD434:: @ 080FD434 + .incbin "baserom.gba", 0x0FD434, 0x0000008 + +gUnk_080FD43C:: @ 080FD43C + .incbin "baserom.gba", 0x0FD43C, 0x000000C + +gUnk_080FD448:: @ 080FD448 + .incbin "baserom.gba", 0x0FD448, 0x0000008 + +gUnk_080FD450:: @ 080FD450 + .incbin "baserom.gba", 0x0FD450, 0x0000008 + +gUnk_080FD458:: @ 080FD458 + .incbin "baserom.gba", 0x0FD458, 0x0000008 + +gUnk_080FD460:: @ 080FD460 + .incbin "baserom.gba", 0x0FD460, 0x0000008 + +gUnk_080FD468:: @ 080FD468 + .incbin "baserom.gba", 0x0FD468, 0x0000008 + +gUnk_080FD470:: @ 080FD470 + .incbin "baserom.gba", 0x0FD470, 0x0000010 + +gUnk_080FD480:: @ 080FD480 + .incbin "baserom.gba", 0x0FD480, 0x0000008 + +gUnk_080FD488:: @ 080FD488 + .incbin "baserom.gba", 0x0FD488, 0x0000008 + +gUnk_080FD490:: @ 080FD490 + .incbin "baserom.gba", 0x0FD490, 0x0000008 + +gUnk_080FD498:: @ 080FD498 + .incbin "baserom.gba", 0x0FD498, 0x000000C + +gUnk_080FD4A4:: @ 080FD4A4 + .incbin "baserom.gba", 0x0FD4A4, 0x0000014 + +gUnk_080FD4B8:: @ 080FD4B8 + .incbin "baserom.gba", 0x0FD4B8, 0x0000008 + +gUnk_080FD4C0:: @ 080FD4C0 + .incbin "baserom.gba", 0x0FD4C0, 0x0000008 + +gUnk_080FD4C8:: @ 080FD4C8 + .incbin "baserom.gba", 0x0FD4C8, 0x0000008 + +gUnk_080FD4D0:: @ 080FD4D0 + .incbin "baserom.gba", 0x0FD4D0, 0x0000008 + +gUnk_080FD4D8:: @ 080FD4D8 + .incbin "baserom.gba", 0x0FD4D8, 0x0000008 + +gUnk_080FD4E0:: @ 080FD4E0 + .incbin "baserom.gba", 0x0FD4E0, 0x0000008 + +gUnk_080FD4E8:: @ 080FD4E8 + .incbin "baserom.gba", 0x0FD4E8, 0x0000008 + +gUnk_080FD4F0:: @ 080FD4F0 + .incbin "baserom.gba", 0x0FD4F0, 0x0000008 + +gUnk_080FD4F8:: @ 080FD4F8 + .incbin "baserom.gba", 0x0FD4F8, 0x0000008 + +gUnk_080FD500:: @ 080FD500 + .incbin "baserom.gba", 0x0FD500, 0x0000008 + +gUnk_080FD508:: @ 080FD508 + .incbin "baserom.gba", 0x0FD508, 0x0000008 + +gUnk_080FD510:: @ 080FD510 + .incbin "baserom.gba", 0x0FD510, 0x0000008 + +gUnk_080FD518:: @ 080FD518 + .incbin "baserom.gba", 0x0FD518, 0x0000008 + +gUnk_080FD520:: @ 080FD520 + .incbin "baserom.gba", 0x0FD520, 0x0000008 + +gUnk_080FD528:: @ 080FD528 + .incbin "baserom.gba", 0x0FD528, 0x0000008 + +gUnk_080FD530:: @ 080FD530 + .incbin "baserom.gba", 0x0FD530, 0x0000008 + +gUnk_080FD538:: @ 080FD538 + .incbin "baserom.gba", 0x0FD538, 0x000000C + +gUnk_080FD544:: @ 080FD544 + .incbin "baserom.gba", 0x0FD544, 0x0000008 + +gUnk_080FD54C:: @ 080FD54C + .incbin "baserom.gba", 0x0FD54C, 0x000000C + +gUnk_080FD558:: @ 080FD558 + .incbin "baserom.gba", 0x0FD558, 0x0000008 + +gUnk_080FD560:: @ 080FD560 + .incbin "baserom.gba", 0x0FD560, 0x0000008 + +gUnk_080FD568:: @ 080FD568 + .incbin "baserom.gba", 0x0FD568, 0x0000008 + +gUnk_080FD570:: @ 080FD570 + .incbin "baserom.gba", 0x0FD570, 0x0000008 + +gUnk_080FD578:: @ 080FD578 + .incbin "baserom.gba", 0x0FD578, 0x0000008 + +gUnk_080FD580:: @ 080FD580 + .incbin "baserom.gba", 0x0FD580, 0x0000008 + +gUnk_080FD588:: @ 080FD588 + .incbin "baserom.gba", 0x0FD588, 0x0000008 + +gWalletSizes:: @ 080FD590 + .incbin "baserom.gba", 0x0FD590, 0x0000010 + +gBombBagSizes:: @ 080FD5A0 + .incbin "baserom.gba", 0x0FD5A0, 0x0000004 + +gQuiverSizes:: @ 080FD5A4 + .incbin "baserom.gba", 0x0FD5A4, 0x0000004 + +gUnk_080FD5A8:: @ 080FD5A8 + .incbin "baserom.gba", 0x0FD5A8, 0x000000C + +gUnk_080FD5B4:: @ 080FD5B4 + .incbin "baserom.gba", 0x0FD5B4, 0x00003B0 + +gUnk_080FD964:: @ 080FD964 + .incbin "baserom.gba", 0x0FD964, 0x00003B0 + +gUnk_080FDD14:: @ 080FDD14 + .incbin "baserom.gba", 0x0FDD14, 0x0000005 + +gUnk_080FDD19:: @ 080FDD19 + .incbin "baserom.gba", 0x0FDD19, 0x0000005 + +gUnk_080FDD1E:: @ 080FDD1E + .incbin "baserom.gba", 0x0FDD1E, 0x0000005 + +gUnk_080FDD23:: @ 080FDD23 + .incbin "baserom.gba", 0x0FDD23, 0x0000005 + +gUnk_080FDD28:: @ 080FDD28 + .incbin "baserom.gba", 0x0FDD28, 0x0000005 + +gUnk_080FDD2D:: @ 080FDD2D + .incbin "baserom.gba", 0x0FDD2D, 0x0000005 + +gUnk_080FDD32:: @ 080FDD32 + .incbin "baserom.gba", 0x0FDD32, 0x0000005 + +gUnk_080FDD37:: @ 080FDD37 + .incbin "baserom.gba", 0x0FDD37, 0x0000011 + +gUnk_080FDD48:: @ 080FDD48 + .incbin "baserom.gba", 0x0FDD48, 0x0000005 + +gUnk_080FDD4D:: @ 080FDD4D + .incbin "baserom.gba", 0x0FDD4D, 0x0000005 + +gUnk_080FDD52:: @ 080FDD52 + .incbin "baserom.gba", 0x0FDD52, 0x0000005 + +gUnk_080FDD57:: @ 080FDD57 + .incbin "baserom.gba", 0x0FDD57, 0x0000005 + +gUnk_080FDD5C:: @ 080FDD5C + .incbin "baserom.gba", 0x0FDD5C, 0x0000005 + +gUnk_080FDD61:: @ 080FDD61 + .incbin "baserom.gba", 0x0FDD61, 0x0000031 + +gUnk_080FDD92:: @ 080FDD92 + .incbin "baserom.gba", 0x0FDD92, 0x0000005 + +gUnk_080FDD97:: @ 080FDD97 + .incbin "baserom.gba", 0x0FDD97, 0x0000011 + +gUnk_080FDDA8:: @ 080FDDA8 + .incbin "baserom.gba", 0x0FDDA8, 0x0000005 + +gUnk_080FDDAD:: @ 080FDDAD + .incbin "baserom.gba", 0x0FDDAD, 0x0000005 + +gUnk_080FDDB2:: @ 080FDDB2 + .incbin "baserom.gba", 0x0FDDB2, 0x0000005 + +gUnk_080FDDB7:: @ 080FDDB7 + .incbin "baserom.gba", 0x0FDDB7, 0x0000005 + +gUnk_080FDDBC:: @ 080FDDBC + .incbin "baserom.gba", 0x0FDDBC, 0x0000005 + +gUnk_080FDDC1:: @ 080FDDC1 + .incbin "baserom.gba", 0x0FDDC1, 0x0000005 + +gUnk_080FDDC6:: @ 080FDDC6 + .incbin "baserom.gba", 0x0FDDC6, 0x0000005 + +gUnk_080FDDCB:: @ 080FDDCB + .incbin "baserom.gba", 0x0FDDCB, 0x0000005 + +gUnk_080FDDD0:: @ 080FDDD0 + .incbin "baserom.gba", 0x0FDDD0, 0x0000005 + +gUnk_080FDDD5:: @ 080FDDD5 + .incbin "baserom.gba", 0x0FDDD5, 0x0000005 + +gUnk_080FDDDA:: @ 080FDDDA + .incbin "baserom.gba", 0x0FDDDA, 0x0000005 + +gUnk_080FDDDF:: @ 080FDDDF + .incbin "baserom.gba", 0x0FDDDF, 0x0000005 + +gUnk_080FDDE4:: @ 080FDDE4 + .incbin "baserom.gba", 0x0FDDE4, 0x0000011 + +gUnk_080FDDF5:: @ 080FDDF5 + .incbin "baserom.gba", 0x0FDDF5, 0x0000019 + +gUnk_080FDE0E:: @ 080FDE0E + .incbin "baserom.gba", 0x0FDE0E, 0x0000019 + +gUnk_080FDE27:: @ 080FDE27 + .incbin "baserom.gba", 0x0FDE27, 0x0000019 + +gUnk_080FDE40:: @ 080FDE40 + .incbin "baserom.gba", 0x0FDE40, 0x0000019 + +gUnk_080FDE59:: @ 080FDE59 + .incbin "baserom.gba", 0x0FDE59, 0x0000019 + +gUnk_080FDE72:: @ 080FDE72 + .incbin "baserom.gba", 0x0FDE72, 0x0000019 + +gUnk_080FDE8B:: @ 080FDE8B + .incbin "baserom.gba", 0x0FDE8B, 0x0000005 + +gUnk_080FDE90:: @ 080FDE90 + .incbin "baserom.gba", 0x0FDE90, 0x0000005 + +gUnk_080FDE95:: @ 080FDE95 + .incbin "baserom.gba", 0x0FDE95, 0x0000005 + +gUnk_080FDE9A:: @ 080FDE9A + .incbin "baserom.gba", 0x0FDE9A, 0x0000005 + +gUnk_080FDE9F:: @ 080FDE9F + .incbin "baserom.gba", 0x0FDE9F, 0x0000005 + +gUnk_080FDEA4:: @ 080FDEA4 + .incbin "baserom.gba", 0x0FDEA4, 0x0000005 + +gUnk_080FDEA9:: @ 080FDEA9 + .incbin "baserom.gba", 0x0FDEA9, 0x0000005 + +gUnk_080FDEAE:: @ 080FDEAE + .incbin "baserom.gba", 0x0FDEAE, 0x0000005 + +gUnk_080FDEB3:: @ 080FDEB3 + .incbin "baserom.gba", 0x0FDEB3, 0x0000005 + +gUnk_080FDEB8:: @ 080FDEB8 + .incbin "baserom.gba", 0x0FDEB8, 0x0000005 + +gUnk_080FDEBD:: @ 080FDEBD + .incbin "baserom.gba", 0x0FDEBD, 0x0000005 + +gUnk_080FDEC2:: @ 080FDEC2 + .incbin "baserom.gba", 0x0FDEC2, 0x0000005 + +gUnk_080FDEC7:: @ 080FDEC7 + .incbin "baserom.gba", 0x0FDEC7, 0x0000005 + +gUnk_080FDECC:: @ 080FDECC + .incbin "baserom.gba", 0x0FDECC, 0x0000005 + +gUnk_080FDED1:: @ 080FDED1 + .incbin "baserom.gba", 0x0FDED1, 0x0000005 + +gUnk_080FDED6:: @ 080FDED6 + .incbin "baserom.gba", 0x0FDED6, 0x0000005 + +gUnk_080FDEDB:: @ 080FDEDB + .incbin "baserom.gba", 0x0FDEDB, 0x0000005 + +gUnk_080FDEE0:: @ 080FDEE0 + .incbin "baserom.gba", 0x0FDEE0, 0x0000005 + +gUnk_080FDEE5:: @ 080FDEE5 + .incbin "baserom.gba", 0x0FDEE5, 0x0000005 + +gUnk_080FDEEA:: @ 080FDEEA + .incbin "baserom.gba", 0x0FDEEA, 0x0000005 + +gUnk_080FDEEF:: @ 080FDEEF + .incbin "baserom.gba", 0x0FDEEF, 0x0000005 + +gUnk_080FDEF4:: @ 080FDEF4 + .incbin "baserom.gba", 0x0FDEF4, 0x0000005 + +gUnk_080FDEF9:: @ 080FDEF9 + .incbin "baserom.gba", 0x0FDEF9, 0x0000005 + +gUnk_080FDEFE:: @ 080FDEFE + .incbin "baserom.gba", 0x0FDEFE, 0x0000005 + +gUnk_080FDF03:: @ 080FDF03 + .incbin "baserom.gba", 0x0FDF03, 0x0000005 + +gUnk_080FDF08:: @ 080FDF08 + .incbin "baserom.gba", 0x0FDF08, 0x0000005 + +gUnk_080FDF0D:: @ 080FDF0D + .incbin "baserom.gba", 0x0FDF0D, 0x0000005 + +gUnk_080FDF12:: @ 080FDF12 + .incbin "baserom.gba", 0x0FDF12, 0x0000005 + +gUnk_080FDF17:: @ 080FDF17 + .incbin "baserom.gba", 0x0FDF17, 0x0000011 + +gUnk_080FDF28:: @ 080FDF28 + .incbin "baserom.gba", 0x0FDF28, 0x000001D + +gUnk_080FDF45:: @ 080FDF45 + .incbin "baserom.gba", 0x0FDF45, 0x0000005 + +gUnk_080FDF4A:: @ 080FDF4A + .incbin "baserom.gba", 0x0FDF4A, 0x0000005 + +gUnk_080FDF4F:: @ 080FDF4F + .incbin "baserom.gba", 0x0FDF4F, 0x0000005 + +gUnk_080FDF54:: @ 080FDF54 + .incbin "baserom.gba", 0x0FDF54, 0x0000005 + +gUnk_080FDF59:: @ 080FDF59 + .incbin "baserom.gba", 0x0FDF59, 0x0000005 + +gUnk_080FDF5E:: @ 080FDF5E + .incbin "baserom.gba", 0x0FDF5E, 0x0000005 + +gUnk_080FDF63:: @ 080FDF63 + .incbin "baserom.gba", 0x0FDF63, 0x0000005 + +gUnk_080FDF68:: @ 080FDF68 + .incbin "baserom.gba", 0x0FDF68, 0x0000005 + +gUnk_080FDF6D:: @ 080FDF6D + .incbin "baserom.gba", 0x0FDF6D, 0x0000005 + +gUnk_080FDF72:: @ 080FDF72 + .incbin "baserom.gba", 0x0FDF72, 0x0000005 + +gUnk_080FDF77:: @ 080FDF77 + .incbin "baserom.gba", 0x0FDF77, 0x0000005 + +gUnk_080FDF7C:: @ 080FDF7C + .incbin "baserom.gba", 0x0FDF7C, 0x0000005 + +gUnk_080FDF81:: @ 080FDF81 + .incbin "baserom.gba", 0x0FDF81, 0x0000005 + +gUnk_080FDF86:: @ 080FDF86 + .incbin "baserom.gba", 0x0FDF86, 0x0000009 + +gUnk_080FDF8F:: @ 080FDF8F + .incbin "baserom.gba", 0x0FDF8F, 0x0000005 + +gUnk_080FDF94:: @ 080FDF94 + .incbin "baserom.gba", 0x0FDF94, 0x0000005 + +gUnk_080FDF99:: @ 080FDF99 + .incbin "baserom.gba", 0x0FDF99, 0x0000005 + +gUnk_080FDF9E:: @ 080FDF9E + .incbin "baserom.gba", 0x0FDF9E, 0x0000005 + +gUnk_080FDFA3:: @ 080FDFA3 + .incbin "baserom.gba", 0x0FDFA3, 0x0000005 + +gUnk_080FDFA8:: @ 080FDFA8 + .incbin "baserom.gba", 0x0FDFA8, 0x0000019 + +gUnk_080FDFC1:: @ 080FDFC1 + .incbin "baserom.gba", 0x0FDFC1, 0x0000005 + +gUnk_080FDFC6:: @ 080FDFC6 + .incbin "baserom.gba", 0x0FDFC6, 0x0000005 + +gUnk_080FDFCB:: @ 080FDFCB + .incbin "baserom.gba", 0x0FDFCB, 0x0000005 + +gUnk_080FDFD0:: @ 080FDFD0 + .incbin "baserom.gba", 0x0FDFD0, 0x0000008 + +gUnk_080FDFD8:: @ 080FDFD8 + .incbin "baserom.gba", 0x0FDFD8, 0x00001DC + +gUnk_080FE1B4:: @ 080FE1B4 + .incbin "baserom.gba", 0x0FE1B4, 0x0000012 + +gUnk_080FE1C6:: @ 080FE1C6 + .incbin "baserom.gba", 0x0FE1C6, 0x0000017 + +gUnk_080FE1DD:: @ 080FE1DD + .incbin "baserom.gba", 0x0FE1DD, 0x00000C3 + +gUnk_080FE2A0:: @ 080FE2A0 + .incbin "baserom.gba", 0x0FE2A0, 0x000000C + +gUnk_080FE2AC:: @ 080FE2AC + .incbin "baserom.gba", 0x0FE2AC, 0x0000074 + +gUnk_080FE320:: @ 080FE320 + .incbin "baserom.gba", 0x0FE320, 0x00002F0 + +gUnk_080FE610:: @ 080FE610 + .incbin "baserom.gba", 0x0FE610, 0x00004B8 + +gUnk_080FEAC8:: @ 080FEAC8 + .incbin "baserom.gba", 0x0FEAC8, 0x0000003 + +gUnk_080FEACB:: @ 080FEACB + .incbin "baserom.gba", 0x0FEACB, 0x0000023 + +gUnk_080FEAEE:: @ 080FEAEE + .incbin "baserom.gba", 0x0FEAEE, 0x000002C + +gUnk_080FEB1A:: @ 080FEB1A + .incbin "baserom.gba", 0x0FEB1A, 0x00000C2 + +gUnk_080FEBDC:: @ 080FEBDC + .incbin "baserom.gba", 0x0FEBDC, 0x000000C + +gUnk_080FEBE8:: @ 080FEBE8 + .incbin "baserom.gba", 0x0FEBE8, 0x0000006 + +gUnk_080FEBEE:: @ 080FEBEE + .incbin "baserom.gba", 0x0FEBEE, 0x000001B + +gUnk_080FEC09:: @ 080FEC09 + .incbin "baserom.gba", 0x0FEC09, 0x000001F + +gUnk_080FEC28:: @ 080FEC28 + .incbin "baserom.gba", 0x0FEC28, 0x00000A0 + +gUnk_080FECC8:: @ 080FECC8 + .incbin "baserom.gba", 0x0FECC8, 0x0000050 + +gUnk_080FED18:: @ 080FED18 + .incbin "baserom.gba", 0x0FED18, 0x0000040 + +gUnk_080FED58:: @ 080FED58 + .incbin "baserom.gba", 0x0FED58, 0x0000040 + +gUnk_080FED98:: @ 080FED98 + .incbin "baserom.gba", 0x0FED98, 0x000000C + +gUnk_080FEDA4:: @ 080FEDA4 + .incbin "baserom.gba", 0x0FEDA4, 0x0000036 + +gUnk_080FEDDA:: @ 080FEDDA + .incbin "baserom.gba", 0x0FEDDA, 0x000001E + +gUnk_080FEDF8:: @ 080FEDF8 + .incbin "baserom.gba", 0x0FEDF8, 0x0000020 + +gUnk_080FEE18:: @ 080FEE18 + .incbin "baserom.gba", 0x0FEE18, 0x0000020 + +gUnk_080FEE38:: @ 080FEE38 + .incbin "baserom.gba", 0x0FEE38, 0x0000010 + +gUnk_080FEE48:: @ 080FEE48 + .incbin "baserom.gba", 0x0FEE48, 0x0000010 + +gUnk_080FEE58:: @ 080FEE58 + .incbin "baserom.gba", 0x0FEE58, 0x0000020 + +gUnk_080FEE78:: @ 080FEE78 + .incbin "baserom.gba", 0x0FEE78, 0x0000030 + +gUnk_080FEEA8:: @ 080FEEA8 + .incbin "baserom.gba", 0x0FEEA8, 0x0000008 + +gUnk_080FEEB0:: @ 080FEEB0 + .incbin "baserom.gba", 0x0FEEB0, 0x0000008 + +gUnk_080FEEB8:: @ 080FEEB8 + .incbin "baserom.gba", 0x0FEEB8, 0x0000010 + +gUnk_080FEEC8:: @ 080FEEC8 + .incbin "baserom.gba", 0x0FEEC8, 0x000000C + +gUnk_080FEED4:: @ 080FEED4 + .incbin "baserom.gba", 0x0FEED4, 0x0000060 + +gUnk_080FEF34:: @ 080FEF34 + .incbin "baserom.gba", 0x0FEF34, 0x0000008 + +gUnk_080FEF3C:: @ 080FEF3C + .incbin "baserom.gba", 0x0FEF3C, 0x000000C + +gUnk_080FEF48:: @ 080FEF48 + .incbin "baserom.gba", 0x0FEF48, 0x0000030 + +gUnk_080FEF78:: @ 080FEF78 + .incbin "baserom.gba", 0x0FEF78, 0x0000030 + +gUnk_080FEFA8:: @ 080FEFA8 + .incbin "baserom.gba", 0x0FEFA8, 0x0000040 + +gUnk_080FEFE8:: @ 080FEFE8 + .incbin "baserom.gba", 0x0FEFE8, 0x0000050 + +gUnk_080FF038:: @ 080FF038 + .incbin "baserom.gba", 0x0FF038, 0x0000060 + +gUnk_080FF098:: @ 080FF098 + .incbin "baserom.gba", 0x0FF098, 0x0000070 + +gUnk_080FF108:: @ 080FF108 + .incbin "baserom.gba", 0x0FF108, 0x0000018 + +gUnk_080FF120:: @ 080FF120 + .incbin "baserom.gba", 0x0FF120, 0x0000008 + +gUnk_080FF128:: @ 080FF128 + .incbin "baserom.gba", 0x0FF128, 0x0000020 + +gUnk_080FF148:: @ 080FF148 + .incbin "baserom.gba", 0x0FF148, 0x000000C + +gUnk_080FF154:: @ 080FF154 + .incbin "baserom.gba", 0x0FF154, 0x0000020 + +gUnk_080FF174:: @ 080FF174 + .incbin "baserom.gba", 0x0FF174, 0x0000008 + +gUnk_080FF17C:: @ 080FF17C + .incbin "baserom.gba", 0x0FF17C, 0x0000050 + +gUnk_080FF1CC:: @ 080FF1CC + .incbin "baserom.gba", 0x0FF1CC, 0x0000008 + +gUnk_080FF1D4:: @ 080FF1D4 + .incbin "baserom.gba", 0x0FF1D4, 0x0000018 + +gUnk_080FF1EC:: @ 080FF1EC + .incbin "baserom.gba", 0x0FF1EC, 0x0000008 + +gUnk_080FF1F4:: @ 080FF1F4 + .incbin "baserom.gba", 0x0FF1F4, 0x000000C + +gUnk_080FF200:: @ 080FF200 + .incbin "baserom.gba", 0x0FF200, 0x0000004 + +gUnk_080FF204:: @ 080FF204 + .incbin "baserom.gba", 0x0FF204, 0x0000024 + +gUnk_080FF228:: @ 080FF228 + .incbin "baserom.gba", 0x0FF228, 0x0000010 + +gUnk_080FF238:: @ 080FF238 + .incbin "baserom.gba", 0x0FF238, 0x0000010 + +gUnk_080FF248:: @ 080FF248 + .incbin "baserom.gba", 0x0FF248, 0x000000C + +gUnk_080FF254:: @ 080FF254 + .incbin "baserom.gba", 0x0FF254, 0x0000010 + +gUnk_080FF264:: @ 080FF264 + .incbin "baserom.gba", 0x0FF264, 0x0000020 + +gUnk_080FF284:: @ 080FF284 + .incbin "baserom.gba", 0x0FF284, 0x0000008 + +gUnk_080FF28C:: @ 080FF28C + .incbin "baserom.gba", 0x0FF28C, 0x000000C + +gUnk_080FF298:: @ 080FF298 + .incbin "baserom.gba", 0x0FF298, 0x0000020 + +gUnk_080FF2B8:: @ 080FF2B8 + .incbin "baserom.gba", 0x0FF2B8, 0x0000008 + +gUnk_080FF2C0:: @ 080FF2C0 + .incbin "baserom.gba", 0x0FF2C0, 0x0000040 + +gUnk_080FF300:: @ 080FF300 + .incbin "baserom.gba", 0x0FF300, 0x0000008 + +gUnk_080FF308:: @ 080FF308 + .incbin "baserom.gba", 0x0FF308, 0x0000020 + +gUnk_080FF328:: @ 080FF328 + .incbin "baserom.gba", 0x0FF328, 0x0000008 + +gUnk_080FF330:: @ 080FF330 + .incbin "baserom.gba", 0x0FF330, 0x000000C + +gUnk_080FF33C:: @ 080FF33C + .incbin "baserom.gba", 0x0FF33C, 0x0000020 + +gUnk_080FF35C:: @ 080FF35C + .incbin "baserom.gba", 0x0FF35C, 0x0000010 + +gUnk_080FF36C:: @ 080FF36C + .incbin "baserom.gba", 0x0FF36C, 0x000000C + +gUnk_080FF378:: @ 080FF378 + .incbin "baserom.gba", 0x0FF378, 0x0000050 + +gUnk_080FF3C8:: @ 080FF3C8 + .incbin "baserom.gba", 0x0FF3C8, 0x0000020 + +gUnk_080FF3E8:: @ 080FF3E8 + .incbin "baserom.gba", 0x0FF3E8, 0x000000C + +gUnk_080FF3F4:: @ 080FF3F4 + .incbin "baserom.gba", 0x0FF3F4, 0x000000C + +gUnk_080FF400:: @ 080FF400 + .incbin "baserom.gba", 0x0FF400, 0x0000020 + +gUnk_080FF420:: @ 080FF420 + .incbin "baserom.gba", 0x0FF420, 0x0000008 + +gUnk_080FF428:: @ 080FF428 + .incbin "baserom.gba", 0x0FF428, 0x0000428 + +gPaletteGroups:: @ 080FF850 + .word 0x00000000 + .word 0x080FF428 + .word 0x080FF430 + .word 0x080FF438 + .word 0x080FF444 + .word 0x080FF450 + .word 0x080FF454 + .word 0x080FF458 + .word 0x080FF45C + .word 0x080FF460 + .word 0x080FF474 + .word 0x080FF488 + .word 0x080FF484 + .word 0x080FF5C8 + .word 0x080FF4A0 + .word 0x080FF4DC + .word 0x080FF560 + .word 0x080FF4E4 + .word 0x080FF4C4 + .word 0x080FF570 + .word 0x080FF49C + .word 0x080FF498 + .word 0x080FF4A4 + .word 0x080FF4A8 + .word 0x080FF4AC + .word 0x080FF4B0 + .word 0x080FF4E8 + .word 0x080FF4B8 + .word 0x080FF490 + .word 0x080FF574 + .word 0x080FF578 + .word 0x080FF590 + .word 0x080FF594 + .word 0x080FF57C + .word 0x080FF5E4 + .word 0x080FF5F8 + .word 0x080FF4F0 + .word 0x080FF4F4 + .word 0x080FF598 + .word 0x080FF494 + .word 0x080FF6C4 + .word 0x080FF59C + .word 0x080FF6C8 + .word 0x080FF6CC + .word 0x080FF58C + .word 0x080FF5CC + .word 0x080FF564 + .word 0x080FF6D0 + .word 0x080FF6D4 + .word 0x080FF6D8 + .word 0x080FF6DC + .word 0x080FF5B0 + .word 0x080FF5B4 + .word 0x080FF5C4 + .word 0x080FF4C0 + .word 0x080FF500 + .word 0x080FF510 + .word 0x080FF518 + .word 0x080FF51C + .word 0x080FF524 + .word 0x080FF50C + .word 0x080FF4B4 + .word 0x080FF5A0 + .word 0x080FF4C8 + .word 0x080FF4CC + .word 0x080FF4D0 + .word 0x080FF4D4 + .word 0x080FF568 + .word 0x080FF650 + .word 0x080FF654 + .word 0x080FF658 + .word 0x080FF65C + .word 0x080FF660 + .word 0x080FF664 + .word 0x080FF668 + .word 0x080FF66C + .word 0x080FF670 + .word 0x080FF680 + .word 0x080FF684 + .word 0x080FF688 + .word 0x080FF68C + .word 0x080FF690 + .word 0x080FF694 + .word 0x080FF698 + .word 0x080FF69C + .word 0x080FF56C + .word 0x080FF674 + .word 0x080FF678 + .word 0x080FF67C + .word 0x080FF5B8 + .word 0x080FF4EC + .word 0x080FF6E0 + .word 0x080FF5A4 + .word 0x080FF4D8 + .word 0x080FF4FC + .word 0x080FF640 + .word 0x080FF644 + .word 0x080FF648 + .word 0x080FF64C + .word 0x080FF580 + .word 0x080FF584 + .word 0x080FF5FC + .word 0x080FF5A8 + .word 0x080FF5AC + .word 0x080FF504 + .word 0x080FF53C + .word 0x080FF540 + .word 0x080FF544 + .word 0x080FF548 + .word 0x080FF4E0 + .word 0x080FF600 + .word 0x080FF630 + .word 0x080FF634 + .word 0x080FF638 + .word 0x080FF63C + .word 0x080FF6A0 + .word 0x080FF6A4 + .word 0x080FF6A8 + .word 0x080FF6AC + .word 0x080FF6B0 + .word 0x080FF54C + .word 0x080FF604 + .word 0x080FF6C0 + .word 0x080FF6BC + .word 0x080FF6B8 + .word 0x080FF608 + .word 0x080FF60C + .word 0x080FF610 + .word 0x080FF4F8 + .word 0x080FF6B4 + .word 0x080FF508 + .word 0x080FF614 + .word 0x080FF618 + .word 0x080FF61C + .word 0x080FF6E4 + .word 0x080FF6E8 + .word 0x080FF6EC + .word 0x080FF6F0 + .word 0x080FF6F4 + .word 0x080FF6F8 + .word 0x080FF6FC + .word 0x080FF700 + .word 0x080FF704 + .word 0x080FF708 + .word 0x080FF528 + .word 0x080FF520 + .word 0x080FF5D0 + .word 0x080FF5D4 + .word 0x080FF5D8 + .word 0x080FF5DC + .word 0x080FF5E0 + .word 0x080FF5E8 + .word 0x080FF5EC + .word 0x080FF5F0 + .word 0x080FF5F4 + .word 0x080FF530 + .word 0x080FF534 + .word 0x080FF5BC + .word 0x080FF620 + .word 0x080FF624 + .word 0x080FF628 + .word 0x080FF62C + .word 0x080FF514 + .word 0x080FF550 + .word 0x080FF554 + .word 0x080FF558 + .word 0x080FF55C + .word 0x080FF588 + .word 0x080FF5C0 + .word 0x080FF538 + .word 0x080FF4BC + .word 0x080FF70C + .word 0x080FF710 + .word 0x080FF714 + .word 0x080FF718 + .word 0x080FF71C + .word 0x080FF720 + .word 0x080FF724 + .word 0x080FF728 + .word 0x080FF72C + .word 0x080FF52C + .word 0x080FF730 + .word 0x080FF73C + .word 0x080FF744 + .word 0x080FF750 + .word 0x080FF75C + .word 0x080FF770 + .word 0x080FF778 + .word 0x080FF780 + .word 0x080FF788 + .word 0x080FF790 + .word 0x080FF798 + .word 0x080FF7A0 + .word 0x080FF7A8 + .word 0x080FF7B0 + .word 0x080FF7B8 + .word 0x080FF7C0 + .word 0x080FF7C8 + .word 0x080FF7D0 + .word 0x080FF7D8 + .word 0x080FF7E0 + .word 0x080FF7E8 + .word 0x080FF7F0 + .word 0x080FF7F8 + .word 0x080FF808 + .word 0x080FF814 + .word 0x080FF83C + .word 0x080FF844 + +gUnk_080FFB90:: @ 080FFB90 + .incbin "baserom.gba", 0x0FFB90, 0x0000018 + +gUnk_080FFBA8:: @ 080FFBA8 + .incbin "baserom.gba", 0x0FFBA8, 0x0000035 + +gUnk_080FFBDD:: @ 080FFBDD + .incbin "baserom.gba", 0x0FFBDD, 0x0000013 + +gUnk_080FFBF0:: @ 080FFBF0 + .incbin "baserom.gba", 0x0FFBF0, 0x0000024 + +gUnk_080FFC14:: @ 080FFC14 + .incbin "baserom.gba", 0x0FFC14, 0x0000024 + +gUnk_080FFC38:: @ 080FFC38 + .incbin "baserom.gba", 0x0FFC38, 0x0000030 + +gUnk_080FFC68:: @ 080FFC68 + .incbin "baserom.gba", 0x0FFC68, 0x0000018 + +gUnk_080FFC80:: @ 080FFC80 + .incbin "baserom.gba", 0x0FFC80, 0x000000C + +gUnk_080FFC8C:: @ 080FFC8C + .incbin "baserom.gba", 0x0FFC8C, 0x000000C + +gUnk_080FFC98:: @ 080FFC98 + .incbin "baserom.gba", 0x0FFC98, 0x0000018 + +gUnk_080FFCB0:: @ 080FFCB0 + .incbin "baserom.gba", 0x0FFCB0, 0x0000018 + +gUnk_080FFCC8:: @ 080FFCC8 + .incbin "baserom.gba", 0x0FFCC8, 0x000000C + +gUnk_080FFCD4:: @ 080FFCD4 + .incbin "baserom.gba", 0x0FFCD4, 0x0000018 + +gUnk_080FFCEC:: @ 080FFCEC + .incbin "baserom.gba", 0x0FFCEC, 0x0000001 + +gUnk_080FFCED:: @ 080FFCED + .incbin "baserom.gba", 0x0FFCED, 0x0000017 + +gUnk_080FFD04:: @ 080FFD04 + .incbin "baserom.gba", 0x0FFD04, 0x0000018 + +gUnk_080FFD1C:: @ 080FFD1C + .incbin "baserom.gba", 0x0FFD1C, 0x000000C + +gUnk_080FFD28:: @ 080FFD28 + .incbin "baserom.gba", 0x0FFD28, 0x0000018 + +gUnk_080FFD40:: @ 080FFD40 + .incbin "baserom.gba", 0x0FFD40, 0x000000C + +gUnk_080FFD4C:: @ 080FFD4C + .incbin "baserom.gba", 0x0FFD4C, 0x000000C + +gUnk_080FFD58:: @ 080FFD58 + .incbin "baserom.gba", 0x0FFD58, 0x000000C + +gUnk_080FFD64:: @ 080FFD64 + .incbin "baserom.gba", 0x0FFD64, 0x000000C + +gUnk_080FFD70:: @ 080FFD70 + .incbin "baserom.gba", 0x0FFD70, 0x000000C + +gUnk_080FFD7C:: @ 080FFD7C + .incbin "baserom.gba", 0x0FFD7C, 0x000000C + +gUnk_080FFD88:: @ 080FFD88 + .incbin "baserom.gba", 0x0FFD88, 0x000000C + +gUnk_080FFD94:: @ 080FFD94 + .incbin "baserom.gba", 0x0FFD94, 0x0000018 + +gUnk_080FFDAC:: @ 080FFDAC + .incbin "baserom.gba", 0x0FFDAC, 0x0000018 + +gUnk_080FFDC4:: @ 080FFDC4 + .incbin "baserom.gba", 0x0FFDC4, 0x000000C + +gUnk_080FFDD0:: @ 080FFDD0 + .incbin "baserom.gba", 0x0FFDD0, 0x0000018 + +gUnk_080FFDE8:: @ 080FFDE8 + .incbin "baserom.gba", 0x0FFDE8, 0x000000C + +gUnk_080FFDF4:: @ 080FFDF4 + .incbin "baserom.gba", 0x0FFDF4, 0x0000005 + +gUnk_080FFDF9:: @ 080FFDF9 + .incbin "baserom.gba", 0x0FFDF9, 0x0000007 + +gUnk_080FFE00:: @ 080FFE00 + .incbin "baserom.gba", 0x0FFE00, 0x0000018 + +gUnk_080FFE18:: @ 080FFE18 + .incbin "baserom.gba", 0x0FFE18, 0x0000018 + +gUnk_080FFE30:: @ 080FFE30 + .incbin "baserom.gba", 0x0FFE30, 0x000003C + +gUnk_080FFE6C:: @ 080FFE6C + .incbin "baserom.gba", 0x0FFE6C, 0x000003C + +gUnk_080FFEA8:: @ 080FFEA8 + .incbin "baserom.gba", 0x0FFEA8, 0x000003C + +gUnk_080FFEE4:: @ 080FFEE4 + .incbin "baserom.gba", 0x0FFEE4, 0x000003C + +gUnk_080FFF20:: @ 080FFF20 + .incbin "baserom.gba", 0x0FFF20, 0x000003C + +gUnk_080FFF5C:: @ 080FFF5C + .incbin "baserom.gba", 0x0FFF5C, 0x000003C + +gUnk_080FFF98:: @ 080FFF98 + .incbin "baserom.gba", 0x0FFF98, 0x0000030 + +gUnk_080FFFC8:: @ 080FFFC8 + .incbin "baserom.gba", 0x0FFFC8, 0x0000018 + +gUnk_080FFFE0:: @ 080FFFE0 + .incbin "baserom.gba", 0x0FFFE0, 0x000000C + +gUnk_080FFFEC:: @ 080FFFEC + .incbin "baserom.gba", 0x0FFFEC, 0x000000C + +gUnk_080FFFF8:: @ 080FFFF8 + .incbin "baserom.gba", 0x0FFFF8, 0x0000008 + +gUnk_08100000:: @ 08100000 + .incbin "baserom.gba", 0x100000, 0x0000001 + +gUnk_08100001:: @ 08100001 + .incbin "baserom.gba", 0x100001, 0x0000002 + +gUnk_08100003:: @ 08100003 + .incbin "baserom.gba", 0x100003, 0x0000001 + +gUnk_08100004:: @ 08100004 + .incbin "baserom.gba", 0x100004, 0x000000C + +gUnk_08100010:: @ 08100010 + .incbin "baserom.gba", 0x100010, 0x0000005 + +gUnk_08100015:: @ 08100015 + .incbin "baserom.gba", 0x100015, 0x0000007 + +gUnk_0810001C:: @ 0810001C + .incbin "baserom.gba", 0x10001C, 0x000000C + +gUnk_08100028:: @ 08100028 + .incbin "baserom.gba", 0x100028, 0x0000004 + +gUnk_0810002C:: @ 0810002C + .incbin "baserom.gba", 0x10002C, 0x0000008 + +gUnk_08100034:: @ 08100034 + .incbin "baserom.gba", 0x100034, 0x000000B + +gUnk_0810003F:: @ 0810003F + .incbin "baserom.gba", 0x10003F, 0x0000001 + +gUnk_08100040:: @ 08100040 + .incbin "baserom.gba", 0x100040, 0x0000002 + +gUnk_08100042:: @ 08100042 + .incbin "baserom.gba", 0x100042, 0x000000A + +gUnk_0810004C:: @ 0810004C + .incbin "baserom.gba", 0x10004C, 0x000000C + +gUnk_08100058:: @ 08100058 + .incbin "baserom.gba", 0x100058, 0x000000C + +gUnk_08100064:: @ 08100064 + .incbin "baserom.gba", 0x100064, 0x000000C + +gUnk_08100070:: @ 08100070 + .incbin "baserom.gba", 0x100070, 0x000000C + +gUnk_0810007C:: @ 0810007C + .incbin "baserom.gba", 0x10007C, 0x000000C + +gUnk_08100088:: @ 08100088 + .incbin "baserom.gba", 0x100088, 0x000000C + +gUnk_08100094:: @ 08100094 + .incbin "baserom.gba", 0x100094, 0x000000C + +gUnk_081000A0:: @ 081000A0 + .incbin "baserom.gba", 0x1000A0, 0x000000C + +gUnk_081000AC:: @ 081000AC + .incbin "baserom.gba", 0x1000AC, 0x000000C + +gUnk_081000B8:: @ 081000B8 + .incbin "baserom.gba", 0x1000B8, 0x000000C + +gUnk_081000C4:: @ 081000C4 + .incbin "baserom.gba", 0x1000C4, 0x000000C + +gUnk_081000D0:: @ 081000D0 + .incbin "baserom.gba", 0x1000D0, 0x000000C + +gUnk_081000DC:: @ 081000DC + .incbin "baserom.gba", 0x1000DC, 0x0000008 + +gUnk_081000E4:: @ 081000E4 + .incbin "baserom.gba", 0x1000E4, 0x0000004 + +gUnk_081000E8:: @ 081000E8 + .incbin "baserom.gba", 0x1000E8, 0x0000008 + +gUnk_081000F0:: @ 081000F0 + .incbin "baserom.gba", 0x1000F0, 0x0000004 + +gUnk_081000F4:: @ 081000F4 + .incbin "baserom.gba", 0x1000F4, 0x000000C + +gUnk_08100100:: @ 08100100 + .incbin "baserom.gba", 0x100100, 0x0000007 + +gUnk_08100107:: @ 08100107 + .incbin "baserom.gba", 0x100107, 0x0000002 + +gUnk_08100109:: @ 08100109 + .incbin "baserom.gba", 0x100109, 0x0000003 + +gUnk_0810010C:: @ 0810010C + .incbin "baserom.gba", 0x10010C, 0x000000C + +gUnk_08100118:: @ 08100118 + .incbin "baserom.gba", 0x100118, 0x0000008 + +gUnk_08100120:: @ 08100120 + .incbin "baserom.gba", 0x100120, 0x0000006 + +gUnk_08100126:: @ 08100126 + .incbin "baserom.gba", 0x100126, 0x000000A + +gUnk_08100130:: @ 08100130 + .incbin "baserom.gba", 0x100130, 0x0000018 + +gUnk_08100148:: @ 08100148 + .incbin "baserom.gba", 0x100148, 0x0000018 + +gUnk_08100160:: @ 08100160 + .incbin "baserom.gba", 0x100160, 0x0000018 + +gUnk_08100178:: @ 08100178 + .incbin "baserom.gba", 0x100178, 0x0000018 + +gUnk_08100190:: @ 08100190 + .incbin "baserom.gba", 0x100190, 0x0000018 + +gUnk_081001A8:: @ 081001A8 + .incbin "baserom.gba", 0x1001A8, 0x0000018 + +gUnk_081001C0:: @ 081001C0 + .incbin "baserom.gba", 0x1001C0, 0x0000018 + +gUnk_081001D8:: @ 081001D8 + .incbin "baserom.gba", 0x1001D8, 0x0000018 + +gUnk_081001F0:: @ 081001F0 + .incbin "baserom.gba", 0x1001F0, 0x0000009 + +gUnk_081001F9:: @ 081001F9 + .incbin "baserom.gba", 0x1001F9, 0x000000D + +gUnk_08100206:: @ 08100206 + .incbin "baserom.gba", 0x100206, 0x0000002 + +gUnk_08100208:: @ 08100208 + .incbin "baserom.gba", 0x100208, 0x0000018 + +gUnk_08100220:: @ 08100220 + .incbin "baserom.gba", 0x100220, 0x0000018 + +gUnk_08100238:: @ 08100238 + .incbin "baserom.gba", 0x100238, 0x0000018 + +gUnk_08100250:: @ 08100250 + .incbin "baserom.gba", 0x100250, 0x0000018 + +gUnk_08100268:: @ 08100268 + .incbin "baserom.gba", 0x100268, 0x0000018 + +gUnk_08100280:: @ 08100280 + .incbin "baserom.gba", 0x100280, 0x0000018 + +gUnk_08100298:: @ 08100298 + .incbin "baserom.gba", 0x100298, 0x0000018 + +gUnk_081002B0:: @ 081002B0 + .incbin "baserom.gba", 0x1002B0, 0x0000018 + +gUnk_081002C8:: @ 081002C8 + .incbin "baserom.gba", 0x1002C8, 0x0000018 + +gUnk_081002E0:: @ 081002E0 + .incbin "baserom.gba", 0x1002E0, 0x000000C + +gUnk_081002EC:: @ 081002EC + .incbin "baserom.gba", 0x1002EC, 0x000000C + +gUnk_081002F8:: @ 081002F8 + .incbin "baserom.gba", 0x1002F8, 0x000000C + +gUnk_08100304:: @ 08100304 + .incbin "baserom.gba", 0x100304, 0x000000C + +gUnk_08100310:: @ 08100310 + .incbin "baserom.gba", 0x100310, 0x0000007 + +gUnk_08100317:: @ 08100317 + .incbin "baserom.gba", 0x100317, 0x0000011 + +gUnk_08100328:: @ 08100328 + .incbin "baserom.gba", 0x100328, 0x0000030 + +gUnk_08100358:: @ 08100358 + .incbin "baserom.gba", 0x100358, 0x0000030 + +gUnk_08100388:: @ 08100388 + .incbin "baserom.gba", 0x100388, 0x0000054 + +gUnk_081003DC:: @ 081003DC + .incbin "baserom.gba", 0x1003DC, 0x0000024 + +gUnk_08100400:: @ 08100400 + .incbin "baserom.gba", 0x100400, 0x0000001 + +gUnk_08100401:: @ 08100401 + .incbin "baserom.gba", 0x100401, 0x0000006 + +gUnk_08100407:: @ 08100407 + .incbin "baserom.gba", 0x100407, 0x000001D + +gUnk_08100424:: @ 08100424 + .incbin "baserom.gba", 0x100424, 0x0000048 + +gUnk_0810046C:: @ 0810046C + .incbin "baserom.gba", 0x10046C, 0x0000048 + +gUnk_081004B4:: @ 081004B4 + .incbin "baserom.gba", 0x1004B4, 0x0000018 + +gUnk_081004CC:: @ 081004CC + .incbin "baserom.gba", 0x1004CC, 0x0000024 + +gUnk_081004F0:: @ 081004F0 + .incbin "baserom.gba", 0x1004F0, 0x0000008 + +gUnk_081004F8:: @ 081004F8 + .incbin "baserom.gba", 0x1004F8, 0x0000002 + +gUnk_081004FA:: @ 081004FA + .incbin "baserom.gba", 0x1004FA, 0x0000004 + +gUnk_081004FE:: @ 081004FE + .incbin "baserom.gba", 0x1004FE, 0x0000012 + +gUnk_08100510:: @ 08100510 + .incbin "baserom.gba", 0x100510, 0x0000001 + +gUnk_08100511:: @ 08100511 + .incbin "baserom.gba", 0x100511, 0x0000003 + +gUnk_08100514:: @ 08100514 + .incbin "baserom.gba", 0x100514, 0x000000C + +gUnk_08100520:: @ 08100520 + .incbin "baserom.gba", 0x100520, 0x0000021 + +gUnk_08100541:: @ 08100541 + .incbin "baserom.gba", 0x100541, 0x000000F + +gUnk_08100550:: @ 08100550 + .incbin "baserom.gba", 0x100550, 0x0000030 + +gUnk_08100580:: @ 08100580 + .incbin "baserom.gba", 0x100580, 0x0000030 + +gUnk_081005B0:: @ 081005B0 + .incbin "baserom.gba", 0x1005B0, 0x0000030 + +gUnk_081005E0:: @ 081005E0 + .incbin "baserom.gba", 0x1005E0, 0x000001B + +gUnk_081005FB:: @ 081005FB + .incbin "baserom.gba", 0x1005FB, 0x0000004 + +gUnk_081005FF:: @ 081005FF + .incbin "baserom.gba", 0x1005FF, 0x0000001 + +gUnk_08100600:: @ 08100600 + .incbin "baserom.gba", 0x100600, 0x0000005 + +gUnk_08100605:: @ 08100605 + .incbin "baserom.gba", 0x100605, 0x0000001 + +gUnk_08100606:: @ 08100606 + .incbin "baserom.gba", 0x100606, 0x000000A + +gUnk_08100610:: @ 08100610 + .incbin "baserom.gba", 0x100610, 0x0000010 + +gUnk_08100620:: @ 08100620 + .incbin "baserom.gba", 0x100620, 0x0000020 + +gUnk_08100640:: @ 08100640 + .incbin "baserom.gba", 0x100640, 0x0000030 + +gUnk_08100670:: @ 08100670 + .incbin "baserom.gba", 0x100670, 0x0000011 + +gUnk_08100681:: @ 08100681 + .incbin "baserom.gba", 0x100681, 0x000001F + +gUnk_081006A0:: @ 081006A0 + .incbin "baserom.gba", 0x1006A0, 0x0000030 + +gUnk_081006D0:: @ 081006D0 + .incbin "baserom.gba", 0x1006D0, 0x0000030 + +gUnk_08100700:: @ 08100700 + .incbin "baserom.gba", 0x100700, 0x0000010 + +gUnk_08100710:: @ 08100710 + .incbin "baserom.gba", 0x100710, 0x0000010 + +gUnk_08100720:: @ 08100720 + .incbin "baserom.gba", 0x100720, 0x0000010 + +gUnk_08100730:: @ 08100730 + .incbin "baserom.gba", 0x100730, 0x0000010 + +gUnk_08100740:: @ 08100740 + .incbin "baserom.gba", 0x100740, 0x0000010 + +gUnk_08100750:: @ 08100750 + .incbin "baserom.gba", 0x100750, 0x0000010 + +gUnk_08100760:: @ 08100760 + .incbin "baserom.gba", 0x100760, 0x0000020 + +gUnk_08100780:: @ 08100780 + .incbin "baserom.gba", 0x100780, 0x0000001 + +gUnk_08100781:: @ 08100781 + .incbin "baserom.gba", 0x100781, 0x000000F + +gUnk_08100790:: @ 08100790 + .incbin "baserom.gba", 0x100790, 0x0000030 + +gUnk_081007C0:: @ 081007C0 + .incbin "baserom.gba", 0x1007C0, 0x0000020 + +gUnk_081007E0:: @ 081007E0 + .incbin "baserom.gba", 0x1007E0, 0x0000010 + +gUnk_081007F0:: @ 081007F0 + .incbin "baserom.gba", 0x1007F0, 0x000000E + +gUnk_081007FE:: @ 081007FE + .incbin "baserom.gba", 0x1007FE, 0x0000001 + +gUnk_081007FF:: @ 081007FF + .incbin "baserom.gba", 0x1007FF, 0x0000001 + +gUnk_08100800:: @ 08100800 + .incbin "baserom.gba", 0x100800, 0x0000004 + +gUnk_08100804:: @ 08100804 + .incbin "baserom.gba", 0x100804, 0x0000005 + +gUnk_08100809:: @ 08100809 + .incbin "baserom.gba", 0x100809, 0x0000007 + +gUnk_08100810:: @ 08100810 + .incbin "baserom.gba", 0x100810, 0x0000003 + +gUnk_08100813:: @ 08100813 + .incbin "baserom.gba", 0x100813, 0x000000D + +gUnk_08100820:: @ 08100820 + .incbin "baserom.gba", 0x100820, 0x0000021 + +gUnk_08100841:: @ 08100841 + .incbin "baserom.gba", 0x100841, 0x000000F + +gUnk_08100850:: @ 08100850 + .incbin "baserom.gba", 0x100850, 0x0000030 + +gUnk_08100880:: @ 08100880 + .incbin "baserom.gba", 0x100880, 0x0000001 + +gUnk_08100881:: @ 08100881 + .incbin "baserom.gba", 0x100881, 0x000002F + +gUnk_081008B0:: @ 081008B0 + .incbin "baserom.gba", 0x1008B0, 0x0000030 + +gUnk_081008E0:: @ 081008E0 + .incbin "baserom.gba", 0x1008E0, 0x0000023 + +gUnk_08100903:: @ 08100903 + .incbin "baserom.gba", 0x100903, 0x0000001 + +gUnk_08100904:: @ 08100904 + .incbin "baserom.gba", 0x100904, 0x000000C + +gUnk_08100910:: @ 08100910 + .incbin "baserom.gba", 0x100910, 0x0000030 + +gUnk_08100940:: @ 08100940 + .incbin "baserom.gba", 0x100940, 0x0000030 + +gUnk_08100970:: @ 08100970 + .incbin "baserom.gba", 0x100970, 0x000003C + +gUnk_081009AC:: @ 081009AC + .incbin "baserom.gba", 0x1009AC, 0x000000C + +gUnk_081009B8:: @ 081009B8 + .incbin "baserom.gba", 0x1009B8, 0x000000C + +gUnk_081009C4:: @ 081009C4 + .incbin "baserom.gba", 0x1009C4, 0x000000C + +gUnk_081009D0:: @ 081009D0 + .incbin "baserom.gba", 0x1009D0, 0x0000009 + +gUnk_081009D9:: @ 081009D9 + .incbin "baserom.gba", 0x1009D9, 0x0000003 + +gUnk_081009DC:: @ 081009DC + .incbin "baserom.gba", 0x1009DC, 0x000000C + +gUnk_081009E8:: @ 081009E8 + .incbin "baserom.gba", 0x1009E8, 0x0000005 + +gUnk_081009ED:: @ 081009ED + .incbin "baserom.gba", 0x1009ED, 0x0000007 + +gUnk_081009F4:: @ 081009F4 + .incbin "baserom.gba", 0x1009F4, 0x000000C + +gUnk_08100A00:: @ 08100A00 + .incbin "baserom.gba", 0x100A00, 0x0000006 + +gUnk_08100A06:: @ 08100A06 + .incbin "baserom.gba", 0x100A06, 0x0000004 + +gUnk_08100A0A:: @ 08100A0A + .incbin "baserom.gba", 0x100A0A, 0x0000002 + +gUnk_08100A0C:: @ 08100A0C + .incbin "baserom.gba", 0x100A0C, 0x0000005 + +gUnk_08100A11:: @ 08100A11 + .incbin "baserom.gba", 0x100A11, 0x000001F + +gUnk_08100A30:: @ 08100A30 + .incbin "baserom.gba", 0x100A30, 0x0000054 + +gUnk_08100A84:: @ 08100A84 + .incbin "baserom.gba", 0x100A84, 0x000000C + +gUnk_08100A90:: @ 08100A90 + .incbin "baserom.gba", 0x100A90, 0x000000C + +gUnk_08100A9C:: @ 08100A9C + .incbin "baserom.gba", 0x100A9C, 0x000000C + +gUnk_08100AA8:: @ 08100AA8 + .incbin "baserom.gba", 0x100AA8, 0x000005F + +gUnk_08100B07:: @ 08100B07 + .incbin "baserom.gba", 0x100B07, 0x0000009 + +gUnk_08100B10:: @ 08100B10 + .incbin "baserom.gba", 0x100B10, 0x0000004 + +gUnk_08100B14:: @ 08100B14 + .incbin "baserom.gba", 0x100B14, 0x00000DC + +gUnk_08100BF0:: @ 08100BF0 + .incbin "baserom.gba", 0x100BF0, 0x000000D + +gUnk_08100BFD:: @ 08100BFD + .incbin "baserom.gba", 0x100BFD, 0x0000004 + +gUnk_08100C01:: @ 08100C01 + .incbin "baserom.gba", 0x100C01, 0x0000001 + +gUnk_08100C02:: @ 08100C02 + .incbin "baserom.gba", 0x100C02, 0x000007F + +gUnk_08100C81:: @ 08100C81 + .incbin "baserom.gba", 0x100C81, 0x000003B diff --git a/data/data_08107BC8.s b/data/data_08107BC8.s index 699c41d5..599388bd 100755 --- a/data/data_08107BC8.s +++ b/data/data_08107BC8.s @@ -4,15 +4,6 @@ .section .rodata .align 2 -gUnk_08107BC8:: @ 08107BC8 - .incbin "baserom.gba", 0x107BC8, 0x0000018 - -gUnk_08107BE0:: @ 08107BE0 - .incbin "baserom.gba", 0x107BE0, 0x0000014 - -gUnk_08107BF4:: @ 08107BF4 - .incbin "baserom.gba", 0x107BF4, 0x0000018 - gUnk_08107C0C:: @ 08107C0C .incbin "baserom.gba", 0x107C0C, 0x0000003 diff --git a/data/data_0811E454.s b/data/data_0811E454.s index 520aaa25..e1d26604 100755 --- a/data/data_0811E454.s +++ b/data/data_0811E454.s @@ -4,30 +4,6 @@ .section .rodata .align 2 -gUnk_0811E454:: @ 0811E454 - .incbin "baserom.gba", 0x11E454, 0x000001C - -gUnk_0811E470:: @ 0811E470 - .incbin "baserom.gba", 0x11E470, 0x0000008 - -gUnk_0811E478:: @ 0811E478 - .incbin "baserom.gba", 0x11E478, 0x000000C - -gUnk_0811E484:: @ 0811E484 - .incbin "baserom.gba", 0x11E484, 0x0000020 - -gUnk_0811E4A4:: @ 0811E4A4 - .incbin "baserom.gba", 0x11E4A4, 0x0000008 - -gUnk_0811E4AC:: @ 0811E4AC - .incbin "baserom.gba", 0x11E4AC, 0x0000001 - -gUnk_0811E4AD:: @ 0811E4AD - .incbin "baserom.gba", 0x11E4AD, 0x0000007 - -gUnk_0811E4B4:: @ 0811E4B4 - .incbin "baserom.gba", 0x11E4B4, 0x0000008 - gUnk_0811E4BC:: @ 0811E4BC .incbin "baserom.gba", 0x11E4BC, 0x0000054 diff --git a/include/fileScreen.h b/include/fileScreen.h new file mode 100644 index 00000000..ffc99996 --- /dev/null +++ b/include/fileScreen.h @@ -0,0 +1,77 @@ +#ifndef FILESELECT_H +#define FILESELECT_H + +#include "global.h" +#include "functions.h" +#include "main.h" +#include "player.h" +#include "readKeyInput.h" +#include "screen.h" +#include "menu.h" +#include "save.h" + +typedef struct { + u8 filler0[0x5]; + u8 state; + u8 subState; + u16 timer; + u8 fillerA[0x26]; +} ChooseFileState; + +// TODO: This occupies the same memory region as gMenu +extern ChooseFileState gChooseFileState; + +typedef struct { + u8 filler0[0x1]; + u8 unk1; + u8 charColor; + u8 bgColor; + u16 unk4; + u16 unk6; + u8* unk8; +} struct_02036540; + +typedef struct { + u8 filler0[0x10]; + u16 unk10; + u8 filler12[0x6]; +} struct_080FC844; + +typedef struct { + u8 filler0[0x4]; +} struct_020227E8; + +extern struct_020227E8 gUnk_020227E8; + +extern SaveFile gSaveFiles[]; +extern u32 gUsedPalettes; +extern u8 gUnk_02000D00[]; + +struct OAMCommand { + u16 x; + u16 y; + u16 _4; + u16 _6; + u16 _8; +} extern gUnk_03001010; + +extern void sub_08056FEC(u32, struct_020227E8*); +extern void sub_0805F46C(u32, struct_080FC844*); +extern void sub_0801C4A0(u32, u32); +extern void sub_08080668(void); +extern void sub_0805194C(u32); +extern void LoadPalettes(const u8*, int, int); +extern struct_02036540* sub_0805F2C8(void); +extern void sub_0805F7DC(u32, struct_02036540*); +extern void sub_0805F300(struct_02036540*); +extern void sub_08050A64(u32); +extern void sub_08050AFC(u32); + +extern const struct_080FC844 gUnk_080FC844; +extern const u16 gUnk_080FC85C[][3]; +extern void (*const gUnk_080FC908[])(void); +extern const u16 gUnk_080FC8DE[]; +extern const u8 gGlobalGfxAndPalettes[]; +extern void (*const gUnk_080FC93C[])(); + +#endif \ No newline at end of file diff --git a/include/functions.h b/include/functions.h index e4a00199..4f77c1cf 100644 --- a/include/functions.h +++ b/include/functions.h @@ -65,12 +65,6 @@ extern u32 IsItemEquipped(u32); extern void DeleteManager(Manager*); extern bool32 CheckPlayerInRegion(u32 centerX, u32 centerY, u32 radiusX, u32 radiusY); extern u32 CheckIsDungeon(); -extern void HandleIntroScreen(void); -extern void HandleChooseFileScreen(void); -extern void HandleGameplayScreen(void); -extern void HandleGameOverScreen(void); -extern void HandleCreditsScreen(void); -extern void HandleDebugTextScreen(void); extern u32 GetTileTypeByEntity(Entity*); // Unidentified @@ -136,7 +130,7 @@ extern s32 sub_0807887C(Entity*, u32, u32); extern s32 sub_08078904(); extern void sub_0805E5A8(void); extern void sub_0805E5C0(void); -extern void sub_080AD90C(void); +extern void FlushSprites(void); extern void sub_080AD9B0(void); extern void sub_080AD918(void); extern void sub_0801E104(void); @@ -190,7 +184,7 @@ extern void sub_0804F578(void); extern void sub_08059994(void); extern s32 sub_0801CFA8(u32); extern void sub_080A3210(void); -extern void sub_080ADA14(u32, u32); +extern void sub_080ADA14(u32, u32); // trampoline to sub_080B27F4 extern void sub_0801E1B8(u32, u32); extern void sub_0801E1EC(s32, s32, s32); extern void sub_08050008(void); @@ -203,7 +197,6 @@ extern u32 sub_080A4494(void); extern void sub_080A4528(void); extern void sub_080A4398(void); extern void sub_0801E738(u32); -extern void sub_080A70AC(const void*); extern void sub_080A7114(u32); extern void sub_08001324(Entity*); extern void sub_08001242(Entity*); @@ -219,7 +212,7 @@ extern void sub_0807A108(void); extern void sub_0801766C(Entity*); extern void sub_08004168(Entity*); extern u32 sub_08052638(u32); -extern void sub_0805616C(void); +extern void InitDMA(void); extern u32 sub_0807CF08(u32, u8*); extern void sub_0807CF48(u32); extern u32 sub_0807CF10(u8*); @@ -227,12 +220,11 @@ extern void sub_08056208(void); extern void sub_08050384(); extern void sub_080B1520(u32); extern struct_0807D1C4* sub_0807D1C4(u32); -extern u32 sub_0807D24C(u32, char*, u32); +extern u32 sub_0807D24C(u32, const char*, u32); extern void sub_0807CF68(u32); -extern void sub_0807D20C(u32, char*, u32); +extern void sub_0807D20C(u32, const char*, u32); extern u32 sub_0807CF88(u32, u8*); -extern u32 sub_0807D008(u32, void*); -extern void sub_0807D184(u32, char*); +extern void sub_0807D184(u32, const char*); extern u32 sub_0806F520(); extern void sub_0806F4E8(Entity*); extern u32 sub_0806F3E4(Entity*); @@ -323,7 +315,7 @@ extern void sub_08008790(Entity*, u32); extern void sub_0804ACF8(); extern void sub_08073904(Entity*); extern u32 sub_08056134(void); -extern u32 sub_0807CF30(void*); +extern u32 sub_0807CF30(SaveFile*); extern void sub_08004484(Entity*, Entity*); extern void sub_080564C8(u32); extern void sub_08056F70(void); diff --git a/include/main.h b/include/main.h index 71d6fbd0..767b9441 100644 --- a/include/main.h +++ b/include/main.h @@ -13,6 +13,26 @@ typedef struct { // 0x03001000 u8 field_0xb; u32 spritePriority; } MainStruct; +#define SIGNATURE 'MCZ3' +#define MAX_MSG_SPEED 3 +#define NUM_SAVE_SLOTS 3 +#define MAX_BRIGHTNESS 3 + +typedef enum { + LANGUAGE_JP, + LANGUAGE_EN, + LANGUAGE_FR, + LANGUAGE_DE, + LANGUAGE_ES, + LANGUAGE_IT, + NUM_LANGUAGES, +} Language; + +#ifdef ENGLISH +#define GAME_LANGUAGE LANGUAGE_EN +#else +#define GAME_LANGUAGE LANGUAGE_JP +#endif enum { SCREEN_INTRO, @@ -23,13 +43,6 @@ enum { SCREEN_DEBUG_TEXT, }; -#define GAME_LANGUAGE GAME_LANGUAGE_EN -#define SIGNATURE 'MCZ3' -#define GAME_LANGUAGE_EN 1 -#define MAX_MSG_SPEED 3 -#define MAX_SAVE_FILES 3 -#define MAX_BRIGHTNESS 3 - typedef struct { u8 interruptFlag; u8 field_0x1; @@ -47,7 +60,7 @@ typedef struct { typedef struct { /*0x00*/ u16 nextToLoad; - /*0x02*/ u8 transitionType; + /*0x02*/ u8 lastState; /*0x03*/ u8 field_0x3; /*0x04*/ u8 state; /*0x05*/ u8 field_0x5; @@ -62,7 +75,7 @@ static_assert(sizeof(UI) == 0x3b4); extern Main gUnk_03001000; extern UI gUnk_02032EC0; -extern void sub_080A3204(void); +extern void InitSound(void); extern void sub_0807CE90(void); extern void sub_080560B8(void); extern void sub_08056208(void); @@ -76,9 +89,19 @@ extern void ReadKeyInput(void); extern void DoSoftReset(void); extern void sub_08056260(void); extern void VBlankIntrWait(); -extern s32 _call_via_r0(s32); extern void sub_08056458(void); extern void sub_08050154(void); extern void sub_080A3480(void); +extern u8 gUnk_03003DE4; + +extern void sub_0804FF84(u32); +extern u16 gPaletteBuffer[]; +extern void VBlankInterruptWait(void); +extern void DisableInterruptsAndDMA(void); +extern void sub_08016B34(void); + +static void sub_08055F70(void); +static bool32 SoftResetKeysPressed(void); + #endif diff --git a/include/menu.h b/include/menu.h index 1203978e..7d8c2abd 100644 --- a/include/menu.h +++ b/include/menu.h @@ -17,9 +17,30 @@ typedef struct { u32 filler3[3]; } MenuControls; +typedef struct { + u8 key; + u8 value; +} KeySetting; + +typedef struct { + u8 aButtonX; + u8 aButtonY; + u8 aButtonText; + u8 bButtonX; + u8 bButtonY; + u8 bButtonText; + u8 rButtonX; + u8 rButtonY; + u8 rButtonText; + KeySetting settingDict[0]; + u8 eof; +} PACKED KeyButtonLayout; + +extern void sub_080A70AC(const KeyButtonLayout*); + typedef struct { u8 field_0x0; - u8 field_0x1; + u8 column_idx; u8 field_0x2; u8 field_0x3; u8 field_0x4; diff --git a/include/object.h b/include/object.h index b407ebb2..d0bdcea8 100644 --- a/include/object.h +++ b/include/object.h @@ -76,7 +76,7 @@ extern void Object44(Entity*); extern void Object45(Entity*); extern void GiantBookLadder(Entity*); extern void HeartContainer(Entity*); -extern void Object48(Entity*); +extern void FileScreenObjects(Entity*); extern void Object49(Entity*); extern void BackgroundCloud(Entity*); extern void Object4B(Entity*); diff --git a/include/save.h b/include/save.h new file mode 100644 index 00000000..bb044997 --- /dev/null +++ b/include/save.h @@ -0,0 +1,24 @@ +#ifndef SAVE_H +#define SAVE_H + +#include "global.h" +#include "entity.h" +#include "functions.h" +#include "menu.h" +#include "structures.h" + +typedef enum { + SAVE_BUSY = 0, + SAVE_OK = 1, + SAVE_ERROR = 0xFFFFFFFF, +} SaveResult; + +typedef enum { + SAVE_INIT, + SAVE_IN_PROGRESS, + SAVE_DONE, +} SaveState; + +extern u32 sub_0807CDA4(SaveState state); + +#endif \ No newline at end of file diff --git a/include/structures.h b/include/structures.h index fecc4af0..0e7f202b 100644 --- a/include/structures.h +++ b/include/structures.h @@ -114,14 +114,15 @@ typedef struct { } ScreenTransitionData; typedef struct { - /*0x00*/ u8 unk0; + /*0x00*/ u8 isTransitioning; /*0x01*/ u8 unk1; /*0x02*/ u8 unk2; /*0x03*/ u8 unk3; /*0x04*/ u8 filler4[0x2]; /*0x06*/ u8 unk6; /*0x07*/ u8 unk7; - /*0x08*/ s8 unk8[0xE20]; + /*0x08*/ s8 saveStatus[3]; + /*0x0b*/ u8 unkB[0xE1D]; } struct_02019EE0; extern struct_02019EE0 gUnk_02019EE0; @@ -147,9 +148,9 @@ extern struct_03000FD0 gFadeControl; typedef struct { u8 filler0[0x1A]; - u16 unk1A; + u16 rButtonX; u8 filler1C[0x4]; - u16 unk20; + u16 rButtonY; u8 filler22[0x2]; u8 ezloNagFuncIndex; u8 filler25[0x30F]; @@ -200,6 +201,7 @@ typedef struct { } BGBuffer; extern BGBuffer gBG0Buffer; extern BGBuffer gBG1Buffer; +extern BGBuffer gBG2Buffer; static_assert(sizeof(BGBuffer) == 0x800); /* diff --git a/include/textbox.h b/include/textbox.h index 8089e3bc..4b0333a5 100644 --- a/include/textbox.h +++ b/include/textbox.h @@ -19,10 +19,46 @@ typedef struct { u16 field_0xe; u32 field_0x10; } TextBox; - extern TextBox gTextBox; -void TextboxNoOverlap(u32 index, Entity* ent); +typedef struct { + u8 _0; + u8 _1; + u8 _2; + u8 _3[5]; + u16 _8; + u8 _b[0x16]; + u8 _20; + u8 _21; + u8 _22[0xa]; + void* _2c; + u8 _30[0x23]; + u8 _53; + u16 _54; + u8 _56[0x2]; + void* _58; + u8 _5c; + u8 _5d; + u8 _5e[24]; + u8 _76; + u8 _77[0x11]; + u8 _88; + u8 _89; + u8 _8a; + u8 _8b[0xe]; + u8 _99; + u8 _9a; + u8 _9b; + u8 _9c; + u8 _9d; + u8 _9e[0xa]; +} struct_02022780; +extern struct_02022780 gUnk_02022780; +static_assert(sizeof(struct_02022780) == 0xa8); + +void ShowTextbox(u32 index); +void TextboxAtPosition(u32 index, u32 x, u32 y); +void TextboxNoOverlap(u32 index, Entity* ent); +void TextboxNoOverlapFollow(u32 index); -extern void TextboxNoOverlapFollow(u32 index); #endif diff --git a/linker.ld b/linker.ld index f904239b..74df0a87 100644 --- a/linker.ld +++ b/linker.ld @@ -87,7 +87,11 @@ SECTIONS { . = 0x00022740; gUnk_02022740 = .; . = 0x00022750; gUnk_02022750 = .; . = 0x00022780; gUnk_02022780 = .; + . = 0x000227DC; gUnk_020227DC = .; . = 0x000227E8; gUnk_020227E8 = .; + . = 0x000227F0; gUnk_020227F0 = .; + . = 0x000227F8; gUnk_020227F8 = .; + . = 0x00022800; gUnk_02022800 = .; . = 0x0002281E; gUnk_0202281E = .; . = 0x00022830; gUnk_02022830 = .; . = 0x00024030; gUnk_02024030 = .; @@ -124,7 +128,7 @@ SECTIONS { . = 0x00034490; gUnk_02034490 = .; . = 0x00034492; gUnk_02034492 = .; . = 0x000344A0; gUnk_020344A0 = .; - . = 0x000344B0; gUnk_020344B0 = .; + . = 0x000344B0; gBG2Buffer = .; . = 0x000344F0; gUnk_020344F0 = .; . = 0x00034CB0; gBG0Buffer = .; . = 0x00034CB2; gUnk_02034CB2 = .; @@ -452,8 +456,8 @@ SECTIONS { src/sub_08050008.o(.text); src/sub_08050024.o(.text); asm/code_08050038.o(.text); - src/chooseFile.o(.text); - asm/chooseFile.o(.text); + src/fileScreen.o(.text); + asm/fileScreen.o(.text); asm/sub_08052418.o(.text); src/initializePlayer.o(.text); src/area.o(.text); @@ -671,7 +675,7 @@ SECTIONS { asm/getInventoryValue.o(.text); asm/code_0807CAA0.o(.text); src/flags.o(.text); - src/code_0807CC3C.o(.text); + src/save.o(.text); asm/code_0807CC3C.o(.text); src/executeScriptCommandSet.o(.text); asm/code_0807F0D8.o(.text); @@ -755,7 +759,7 @@ SECTIONS { asm/object45.o(.text); asm/giantBookLadder.o(.text); src/object/heartContainer.o(.text); - src/object/object48.o(.text); + src/object/fileScreenObjects.o(.text); src/object/object49.o(.text); src/object/backgroundCloud.o(.text); asm/object4B.o(.text); @@ -992,20 +996,23 @@ SECTIONS { data/data_080D3D94.o(.rodata); data/entity_headers.o(.rodata); data/data_080D5360.o(.rodata); + src/fileScreen.o(.rodata); + data/data_080FC8A4.o(.rodata); src/main.o(.rodata); data/tileset_headers.o(.rodata); data/metatile_headers.o(.rodata); data/map_headers.o(.rodata); + src/textbox.o(.rodata); data/data_08107BC8.o(.rodata); src/manager/manager5.o(.rodata); src/manager/manager7.o(.rodata); . = ALIGN(4); - src/manager/manager9.o(.rodata); - src/manager/managerA.o(.rodata); + src/manager/manager9.o(.rodata); + src/manager/managerA.o(.rodata); src/manager/managerB.o(.rodata); src/manager/managerC.o(.rodata); data/data_08108308.o(.rodata); - src/manager/manager1E.o(.rodata); + src/manager/manager1E.o(.rodata); data/data_08108C94.o(.rodata); src/manager/manager26.o(.rodata); src/manager/manager27.o(.rodata); @@ -1014,8 +1021,9 @@ SECTIONS { src/item.o(.rodata); data/data_0811BD44.o(.rodata); data/room_headers.o(.rodata); + src/save.o(.rodata); data/data_0811E454.o(.rodata); - src/executeScriptCommandSet.o(.rodata); + src/executeScriptCommandSet.o(.rodata); data/data_0811E750.o(.rodata); src/object/greatFairy.o(.rodata); data/animations/greatFairy.o(.rodata); diff --git a/src/chooseFile.c b/src/chooseFile.c deleted file mode 100644 index e20247f1..00000000 --- a/src/chooseFile.c +++ /dev/null @@ -1,557 +0,0 @@ -#include "global.h" -#include "functions.h" -#include "main.h" -#include "player.h" -#include "readKeyInput.h" -#include "screen.h" - -typedef struct { - u8 filler0[0x5]; - u8 state; - u8 subState; - u16 timer; - u8 fillerA[0x26]; -} ChooseFileState; - -// TODO: This occupies the same memory region as gMenu -extern ChooseFileState gChooseFileState; - -typedef struct { - u8 filler0[0x1]; - u8 unk1; - u8 unk2; - u8 unk3; - u16 unk4; - u16 unk6; - u8* unk8; -} struct_02036540; - -typedef struct { - u8 filler0[0x10]; - u16 unk10; - u8 filler12[0x6]; -} struct_080FC844; - -typedef struct { - u8 filler0[0x4]; -} struct_020227E8; - -extern struct_020227E8 gUnk_020227E8; - -extern SaveFile gSaveFiles[]; -extern u32 gUsedPalettes; -extern u8 gUnk_02000D00[]; -extern u16 gUnk_03001010[5]; - -static void sub_08050624(u32); -static void sub_0805066C(void); -static void sub_080507FC(void); - -extern void sub_08056FEC(u32, struct_020227E8*); -extern void sub_0805F46C(u32, struct_080FC844*); -extern void sub_0801C4A0(u32, u32); -extern void sub_08080668(void); -extern void sub_0805194C(u32); -extern void LoadPalettes(const u8*, int, int); -extern struct_02036540* sub_0805F2C8(void); -extern void sub_0805F7DC(u32, struct_02036540*); -extern void sub_0805F300(struct_02036540*); -extern void sub_08050A64(u32); -extern void sub_08050AFC(u32); - -extern const struct_080FC844 gUnk_080FC844; -extern const u16 gUnk_080FC85C[][3]; -extern void (*const gUnk_080FC8A4[])(void); -extern void (*const gUnk_080FC8B0[])(void); -extern void (*const gUnk_080FC8FC[])(void); -extern void (*const gUnk_080FC908[])(void); -extern const u8 gUnk_080FC8D0[]; -extern const u16 gUnk_080FC8DE[]; -extern const u8 gGlobalGfxAndPalettes[]; - -void sub_08050318(u32 arg0, u32 arg1) { - u32 sfx; - struct_080FC844 var0; - - sub_08050384(); - _DmaCopy(&gUnk_080FC844, &var0, sizeof(gUnk_080FC844)); - sub_08056FEC(arg1, &gUnk_020227E8); - var0.unk10 |= gUnk_080FC85C[arg0][0] << 0xC; - sub_0805F46C(gUnk_080FC85C[arg0][1], &var0); - sfx = gUnk_080FC85C[arg0][2]; - if (sfx) { - PlaySFX(sfx); - } - gScreen.bg.bg3Control = 1; -} - -void sub_08050384(void) { - sub_0801C4A0(0, 0); - _DmaZero(&gBG0Buffer, sizeof(gBG0Buffer)); - gScreen.bg.bg3Control = 1; -} - -void sub_080503A8(u32 gfxGroup) { - LoadGfxGroup(gfxGroup); - gScreen.bg.bg2yOffset = 1; - gScreen.affine.unk = 1; -} - -void sub_080503BC(u8 state) { - gUnk_02032EC0.state = state; - _DmaZero(&gBG0Buffer, sizeof(gBG0Buffer)); - _DmaZero(&gBG1Buffer, sizeof(gBG1Buffer)); -} - -void sub_080503E4(u32 saveFileId) { - u8 messageSpeed; - u8 brightnessPref; - - if (saveFileId > 2) { - messageSpeed = 1; - brightnessPref = 1; - } else { - SaveFile* saveFile = &gSaveFiles[saveFileId]; - messageSpeed = saveFile->messageSpeed; - brightnessPref = saveFile->brightnessPref; - } - - ((struct_02000000*)0x2000000)->messageSpeed = messageSpeed; - ((struct_02000000*)0x2000000)->brightnessPref = brightnessPref; - gUsedPalettes = 0xFFFFFFFF; -} - -void sub_0805041C(u32 saveFileId) { - SaveFile* saveFile; - - if (saveFileId < 3) { - ((struct_02000000*)0x2000000)->saveFileId = saveFileId; - saveFile = &gSaveFiles[saveFileId]; - _DmaCopy(saveFile, &gUnk_02002A40, sizeof(*saveFile)); - } - sub_080503E4(saveFileId); -} - -void HandleChooseFileScreen(void) { - sub_080AD90C(); - gUnk_080FC8A4[gUnk_03001000.funcIndex](); - if (gUnk_02032EC0.transitionType != gUnk_02032EC0.state) { - gUnk_02032EC0.transitionType = gUnk_02032EC0.state; - gScreen.bg.bg1Control = 0; - gScreen.bg.bg2Control = 0; - gScreen.bg.bg1yOffset = 0; - gScreen.bg.bg2xOffset = 0; - gScreen.affine.bg2xOffset = 0; - gScreen.affine.bg2yOffset = 0; - _DmaZero(&gChooseFileState, sizeof(gChooseFileState)); - } - - sub_080507FC(); - gUnk_080FC8B0[gUnk_02032EC0.transitionType](); - gUnk_02019EE0.unk0 = 0; - sub_0805E5C0(); - sub_0805066C(); - sub_0801C1D4(); - sub_0801C208(); - sub_080AD9B0(); - sub_080AD918(); - if (gUnk_02019EE0.unk3 != ((struct_02000000*)0x2000000)->gameLanguage) { - gUnk_02019EE0.unk3 = ((struct_02000000*)0x2000000)->gameLanguage; - sub_080503A8(0x6); - sub_080503A8(0xF); - } -} - -void sub_080504F4(void) { - u32 i; - - sub_0801DA90(1); - sub_080A3210(); - _DmaZero((void*)VRAM, 0x80); - sub_08056418(); - EraseAllEntities(); - sub_08080668(); - sub_080ADD30(); - sub_0801CFA8(0); - _DmaZero(&gUnk_0200AF00, sizeof(gUnk_0200AF00)); - _DmaZero(&gUnk_02019EE0, sizeof(gUnk_02019EE0)); - gUnk_02019EE0.unk3 = 7; - gUnk_02019EE0.unk6 = ((struct_02000000*)0x2000000)->gameLanguage > 1 ? 3 : 0; - _DmaZero(&gUnk_02032EC0, sizeof(gUnk_02032EC0)); - gUnk_02032EC0.transitionType = 8; - sub_080503BC(0); - sub_0805616C(); - sub_08050624(0); - sub_08050624(1); - sub_08050624(2); - sub_08056208(); - sub_080503A8(0x5); - LoadPaletteGroup(0x9); - for (i = 0; i < 26; i++) { - CreateObject(0x48, i, 0); - } - - sub_080A70AC(gUnk_080FC8D0); - sub_080507FC(); - gScreen.lcd.displayControl |= 0x1F00; - gScreen.affine.bg3Control = 0x1E0B; - gScreen.controls.layerFXControl = 0x844; - gScreen.controls.alphaBlend = BLDALPHA_BLEND(15, 10); - gUnk_02024490.unk0 = 1; - gUnk_03001000.funcIndex = 1; - PlaySFX(0x7); - DoFade(4, 8); -} - -void nullsub_479(void) { -} - -void sub_0805060C(void) { - if (!gFadeControl.active) { - InitScreen(SCREEN_GAMEPLAY); - } -} - -static void sub_08050624(u32 saveFileId) { - SaveFile* saveFile = &gSaveFiles[saveFileId]; - int var0 = sub_0807CF28(saveFileId, saveFile); - switch (var0) { - case -1: - sub_0807CF48(saveFileId); - // fallthrough - case 0: - sub_0805194C(saveFileId); - break; - } - gUnk_02019EE0.unk8[saveFileId] = var0; -} - -static void sub_0805066C(void) { - u32 loadNewPalette; - const u8* paletteOffset; - - loadNewPalette = FALSE; - if (--gUnk_02019EE0.unk1 == 0) { - gUnk_02019EE0.unk1 = 16; - gUnk_02019EE0.unk2 = (gUnk_02019EE0.unk2 + 1) % 15; - loadNewPalette = TRUE; - } - - if (gUnk_02019EE0.unk2 == 0) { - gUnk_02019EE0.unk2 = 1; - gUnk_02019EE0.unk1 = (Random() & 0x7) * 16 + 8; - loadNewPalette = TRUE; - } - - if (loadNewPalette) { - paletteOffset = &gGlobalGfxAndPalettes[gUnk_080FC8DE[gUnk_02019EE0.unk2]]; - LoadPalettes(&paletteOffset[0x11AA0], 11, 1); - LoadPalettes(&paletteOffset[0x11BA0], 12, 1); - LoadPalettes(&paletteOffset[0x11CA0], 13, 1); - LoadPalettes(&paletteOffset[0x11DA0], 14, 1); - } -} - -void sub_0805070C(void) { - u32 i; - int j; - struct_02036540* var0; - u8* playerName; - - var0 = sub_0805F2C8(); - if (var0) { - var0->unk2 = 0; - var0->unk3 = 5; - var0->unk1 = 1; - var0->unk4 = 0x30; - var0->unk8 = gUnk_02000D00; - for (i = 0; i < 3; i++) { - var0->unk6 = 0; - _DmaZero(var0->unk8, 0x200); - playerName = gSaveFiles[i].playerName; - for (j = 0; j < 6; j++) { - sub_0805F7DC(playerName[j], var0); - } - _DmaCopy(var0->unk8, (void*)(OBJ_VRAM0 + 0x4000 + i * 0x200), 0x200); - } - sub_0805F300(var0); - } -} - -void sub_08050790(void) { - u32 i, j; - struct_02036540* var0; - u32 var1; - - var0 = sub_0805F2C8(); - if (var0) { - var0->unk2 = 0; - var0->unk3 = 5; - var0->unk1 = 1; - var0->unk4 = 0x80; - var0->unk8 = gUnk_02000D00; - for (i = 0; i < 16; i++) { - var0->unk6 = 0; - var1 = i * 16; - for (j = 0; j < 16; j++) { - sub_0805F7DC(var1, var0); - var1++; - } - _DmaCopy(gUnk_02000D00, (void*)(BG_VRAM + i * 0x400), 0x400); - } - sub_0805F300(var0); - } -} - -static void sub_080507FC(void) { - gUnk_0200AF00.unk1A = 0x140; - gUnk_0200AF00.unk20 = 0x24; -} - -void sub_08050810(void) { - gUnk_0200AF00.unk1A = 0xD0; - gUnk_0200AF00.unk20 = 0x24; -} - -void sub_08050820(void) { - gUnk_080FC8FC[gChooseFileState.state](); - sub_08050A64(gUnk_02019EE0.unk6); -} - -void sub_08050848(void) { - sub_080503A8(0x7); - sub_0805070C(); - gUnk_02019EE0.unk7 = 0; - sub_08050AFC(gUnk_02019EE0.unk6); - sub_080A7114(1); -} - -void sub_0805086C(void) { - gUnk_080FC908[gChooseFileState.subState](); -} - -void sub_08050888(void) { - if (!gFadeControl.active) { - switch (gUnk_02019EE0.unk8[gUnk_02019EE0.unk7]) { - case 0: - sub_0805194C(gUnk_02019EE0.unk7); - gChooseFileState.subState = 2; - break; - case 1: - gChooseFileState.subState = 2; - break; - default: - sub_0805194C(gUnk_02019EE0.unk7); - sub_08050318(0, gUnk_02019EE0.unk7 + 1); - gChooseFileState.timer = 30; - gChooseFileState.subState = 1; - break; - } - } -} - -void sub_080508E4(void) { - if (gChooseFileState.timer == 0) { - if (gUnk_03000FF0.newKeys & (A_BUTTON | START_BUTTON)) { - gChooseFileState.subState = 2; - } - } else { - gChooseFileState.timer--; - } -} - -void sub_08050910(void) { - sub_08050384(); - if (++gUnk_02019EE0.unk7 > 2) { - sub_080A7114(2); - } else { - gChooseFileState.subState = 0; - } -} - -void sub_08050940(void) { - int saveFileId; - u32 newKeys; - int var1; - u32 var2; - - if (gUnk_02019EE0.unk0) { - return; - } - - saveFileId = gUnk_02019EE0.unk6; - newKeys = gUnk_03000FF0.newKeys; - if ((gUnk_03000FF0.heldKeys & L_BUTTON) && gUnk_02019EE0.unk8[saveFileId] == 1) { - newKeys &= ~(DPAD_UP | DPAD_DOWN); - } - - var1 = ((struct_02000000*)0x2000000)->gameLanguage > 1 ? 4 : 3; - var2 = gUnk_02032EC0.transitionType; - switch (newKeys) { - case DPAD_UP: - if (saveFileId > 0) { - saveFileId--; - } - break; - case DPAD_DOWN: - if (var1 - 1 > saveFileId) { - saveFileId++; - } - break; - case R_BUTTON: - if (gUnk_02019EE0.unk8[saveFileId] == 1) { - var2 = 3; - } - break; - case A_BUTTON: - case START_BUTTON: - sub_0805041C(saveFileId); - if (saveFileId == 3) { - var2 = 2; - } else { - switch (gUnk_02019EE0.unk8[saveFileId]) { - case 0: - var2 = 1; - break; - case 1: - var2 = 4; - break; - } - } - break; - } - - if (gUnk_02032EC0.transitionType != var2) { - sub_080503BC(var2); - PlaySFX(0x6A); - } - - saveFileId = (saveFileId + var1) % var1; - if (gUnk_02019EE0.unk6 != saveFileId) { - gUnk_02019EE0.unk6 = saveFileId; - sub_08050AFC(saveFileId); - PlaySFX(0x69); - } - - if (gUnk_02019EE0.unk8[gUnk_02019EE0.unk6] == 1) { - sub_08050810(); - } -} - -void sub_08050A64(u32 saveFileId) { - if (gUnk_02019EE0.unk8[saveFileId] != 1) { - return; - } - - gUnk_03001010[2] = 0; - gUnk_03001010[3] = 0; - gUnk_03001010[4] = 0x400; - - // Draw the save file's obtained elements. - if (GetInventoryValue(0x40)) { - gUnk_03001010[0] = 0xA2; - gUnk_03001010[1] = 0x36; - sub_080ADA14(0x145, 0x24); - } - if (GetInventoryValue(0x41)) { - gUnk_03001010[0] = 0x96; - gUnk_03001010[1] = 0x3D; - sub_080ADA14(0x145, 0x22); - } - if (GetInventoryValue(0x42)) { - gUnk_03001010[0] = 0xAE; - gUnk_03001010[1] = 0x3D; - sub_080ADA14(0x145, 0x23); - } - if (GetInventoryValue(0x43)) { - gUnk_03001010[0] = 0xA2; - gUnk_03001010[1] = 0x44; - sub_080ADA14(0x145, 0x21); - } -} - -void sub_08050B3C(u16*); - -void sub_08050AFC(u32 saveFileId) { - sub_0805041C(saveFileId); - _DmaZero(&gBG1Buffer, sizeof(gBG1Buffer)); - if (gUnk_02019EE0.unk8[saveFileId] == 1) { - sub_08050B3C(&gBG1Buffer.unk29C); - } - gScreen.bg.bg2yOffset = 1; -} - -// typedef struct { -// u16* unk0; -// u32 unk4; -// } unk_08050B3C; - -// extern const u16 gUnk_080FC914[]; - -// void sub_08050B3C(u16* arg0) { -// unk_08050B3C sp; -// int var0; -// int var1; -// int var2; -// int var3; -// int var4; -// int var5; -// int var6; -// int var7; -// u16* var8; - -// sp.unk0 = arg0; -// var0 = gUnk_02002A40.stats.health * 2; -// if (var0 == 0) { -// var0 = 1; -// } - -// var1 = gUnk_02002A40.stats.maxHealth * 2; -// if (var1 == 0) { -// return; -// } - -// if (var0 > var1) { -// var0 = var1; -// } - -// sp.unk4 = var0 & 0x3; -// var2 = var0 >> 2; -// var5 = var2; -// if (var2 > 10) { -// var5 = 10; -// } - -// var6 = var2; -// var6 -= 10; -// var7 = var6; -// if (var6 < 0) { -// var7 = 0; -// } - -// var1 = var1 >> 2; -// var4 = var1; -// if (var1 > 10) { -// var1 = 10; -// } - -// var4 -= 10; -// sp.unk0[0] = 0xF24C; -// DmaCopy16(3, &gUnk_080FC914[10 - var5], &sp.unk0[1], var1 * 2); -// if (var4 > 0) { -// sp.unk0[0x20] = 0xF24C; -// DmaCopy16(3, &gUnk_080FC914[10 - var7], &sp.unk0[1], var4 * 2); -// } - -// if (!sp.unk4) { -// return; -// } - -// var8 = sp.unk0; -// if (var2 >= 10) { -// var2 = var6; -// var8 += 0x20; -// } - -// var8[var2 + 1] = sp.unk4 - 0xDB3; -// } diff --git a/src/code_0804AA84.c b/src/code_0804AA84.c index 11db91d7..aa46613c 100644 --- a/src/code_0804AA84.c +++ b/src/code_0804AA84.c @@ -47,7 +47,7 @@ void sub_0804AAD4(void) { void sub_0804AB04(void) { sub_0805E5C0(); if (gArea.field_0x10 != 0) { - sub_080AD90C(); + FlushSprites(); sub_080AD9B0(); sub_080AD918(); } diff --git a/src/code_0808091C.c b/src/code_0808091C.c index 74caf177..1916869c 100644 --- a/src/code_0808091C.c +++ b/src/code_0808091C.c @@ -39,7 +39,6 @@ void sub_08080910(void) { void sub_0808091C(ScreenTransitionData* param_1, u32 param_2) { DoExitTransition(param_1); gScreenTransition.transitionType = param_2; - return; } void sub_08080930(void) @@ -50,7 +49,6 @@ void sub_08080930(void) gRoomControls.unk2 = 2; gRoomControls.filler[0] = 0; sub_0805E5A8(); - return; } u32* GetLayerByIndex(u32 param_1) { @@ -65,7 +63,6 @@ u32* GetLayerByIndex(u32 param_1) { void sub_08080964(u32 time, u32 magnitude) { gRoomControls.screenShakeTime = time; gRoomControls.screenShakeMagnitude = magnitude & 7; - return; } void sub_08080974(u32 arg0, u32 arg1) { diff --git a/src/fileScreen.c b/src/fileScreen.c new file mode 100644 index 00000000..5e96d7e7 --- /dev/null +++ b/src/fileScreen.c @@ -0,0 +1,680 @@ +#include "fileScreen.h" + +// copy, erase, start +#define NUM_FILE_OPERATIONS 3 + +// todo: does this belong with gUnk_02019EE0? +typedef enum { + SAVE_EMPTY = 0, + SAVE_VALID = 1, + SAVE_DELETED = 0xFFFFFFFF, +} SaveStatus; + +typedef enum { + STATE_NONE, + STATE_NEW, + STATE_CHOOSE_LANG, + STATE_OPTIONS, + STATE_VIEW, + STATE_COPY, + STATE_ERASE, + STATE_START, +} FileSelectState; + +static void HandleFileScreenEnter(void); +static void HandleFileScreenActive(void); +static void HandleFileScreenExit(void); + +static void (*const sScreenHandlers[])(void) = { + HandleFileScreenEnter, + HandleFileScreenActive, + HandleFileScreenExit, +}; + +static void HandleFileSelect(void); +extern void HandleFileNew(void); +static void HandleFileLanguageSelect(void); +extern void HandleFileOptions(void); +static void HandleFileView(void); +extern void HandleFileCopy(void); +extern void HandleFileDelete(void); +extern void HandleFileStart(void); + +static void (*const sFileScreenSubHandlers[])(void) = { + HandleFileSelect, HandleFileNew, HandleFileLanguageSelect, HandleFileOptions, + HandleFileView, HandleFileCopy, HandleFileDelete, HandleFileStart, +}; + +extern KeyButtonLayout gUnk_080FC8D0; +// static const KeyButtonLayout gUnk_080FC8D0 = { +// 0xFF, 0xD8, 0x0, 0xFF, 0xD8, 0x0, 0xE0, 0x10, 0xF, {{0x5, 0x0}, { 0x2, 0x0 }}, 0xFF +// }; + +// main "file selection" screen +extern void (*const sFileSelectDefaultHandlers[])(void); + +// handles submenus +extern void (*const sFileScreenSubHandlers[])(void); + +extern void (*const gUnk_080FC944[])(void); + +static void sub_08050624(u32); +static void sub_0805066C(void); +static void HideButtonR(void); +static void ShowButtonR(void); + +void sub_08050318(u32 arg0, u32 arg1) { + u32 sfx; + struct_080FC844 var0; + + sub_08050384(); + _DmaCopy(&gUnk_080FC844, &var0, sizeof(gUnk_080FC844)); + sub_08056FEC(arg1, &gUnk_020227E8); + var0.unk10 |= gUnk_080FC85C[arg0][0] << 0xC; + sub_0805F46C(gUnk_080FC85C[arg0][1], &var0); + sfx = gUnk_080FC85C[arg0][2]; + if (sfx) { + PlaySFX(sfx); + } + gScreen.bg.bg3Control = BGCNT_PRIORITY(1); +} + +void sub_08050384(void) { + sub_0801C4A0(0, 0); + _DmaZero(&gBG0Buffer, sizeof(gBG0Buffer)); + gScreen.bg.bg3Control = BGCNT_PRIORITY(1); +} + +void sub_080503A8(u32 gfxGroup) { + LoadGfxGroup(gfxGroup); + gScreen.bg.bg2yOffset = 1; + gScreen.affine.unk = 1; +} + +void SetFileSelectState(FileSelectState mode) { + gUnk_02032EC0.state = mode; + _DmaZero(&gBG0Buffer, sizeof(gBG0Buffer)); + _DmaZero(&gBG1Buffer, sizeof(gBG1Buffer)); +} + +void LoadOptionsFromSave(u32 idx) { + u8 messageSpeed; + u8 brightnessPref; + + if (idx >= NUM_SAVE_SLOTS) { + // these apply to the language selection screen + messageSpeed = 1; + brightnessPref = 1; + } else { + SaveFile* saveFile = &gSaveFiles[idx]; + messageSpeed = saveFile->messageSpeed; + brightnessPref = saveFile->brightnessPref; + } + + gUnk_02000000->messageSpeed = messageSpeed; + gUnk_02000000->brightnessPref = brightnessPref; + gUsedPalettes = 0xFFFFFFFF; +} + +void SetActiveSave(u32 idx) { + if (idx < NUM_SAVE_SLOTS) { + gUnk_02000000->saveFileId = idx; + _DmaCopy(&gSaveFiles[idx], &gUnk_02002A40, sizeof(gSaveFiles[idx])); + } + LoadOptionsFromSave(idx); +} + +void HandleChooseFileScreen(void) { + FlushSprites(); + sScreenHandlers[gUnk_03001000.funcIndex](); + if (gUnk_02032EC0.lastState != gUnk_02032EC0.state) { + gUnk_02032EC0.lastState = gUnk_02032EC0.state; + gScreen.bg.bg1Control = 0; + gScreen.bg.bg2Control = 0; + gScreen.bg.bg1yOffset = 0; + gScreen.bg.bg2xOffset = 0; + gScreen.affine.bg2xOffset = 0; + gScreen.affine.bg2yOffset = 0; + _DmaZero(&gChooseFileState, sizeof(gChooseFileState)); + } + + HideButtonR(); + sFileScreenSubHandlers[gUnk_02032EC0.lastState](); + + gUnk_02019EE0.isTransitioning = FALSE; + sub_0805E5C0(); + sub_0805066C(); + sub_0801C1D4(); + sub_0801C208(); + sub_080AD9B0(); + sub_080AD918(); + if (gUnk_02019EE0.unk3 != gUnk_02000000->gameLanguage) { + gUnk_02019EE0.unk3 = gUnk_02000000->gameLanguage; + sub_080503A8(0x6); + sub_080503A8(0xF); + } +} + +static void HandleFileScreenEnter(void) { + u32 i; + + sub_0801DA90(1); + sub_080A3210(); + _DmaZero((void*)VRAM, 0x80); // clear palettes + sub_08056418(); + EraseAllEntities(); + sub_08080668(); + sub_080ADD30(); + sub_0801CFA8(0); + _DmaZero(&gUnk_0200AF00, sizeof(gUnk_0200AF00)); + _DmaZero(&gUnk_02019EE0, sizeof(gUnk_02019EE0)); + gUnk_02019EE0.unk3 = 7; + gUnk_02019EE0.unk6 = gUnk_02000000->gameLanguage > LANGUAGE_EN ? 3 : 0; + _DmaZero(&gUnk_02032EC0, sizeof(gUnk_02032EC0)); + gUnk_02032EC0.lastState = 8; + SetFileSelectState(STATE_NONE); + InitDMA(); + sub_08050624(0); + sub_08050624(1); + sub_08050624(2); + sub_08056208(); + sub_080503A8(0x5); + LoadPaletteGroup(0x9); + for (i = 0; i < 26; i++) { + CreateObject(0x48, i, 0); + } + + sub_080A70AC(&gUnk_080FC8D0); + HideButtonR(); + gScreen.lcd.displayControl |= DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON; + gScreen.affine.bg3Control = BGCNT_PRIORITY(3) | BGCNT_CHARBASE(2) | BGCNT_SCREENBASE(30); + gScreen.controls.layerFXControl = BLDCNT_TGT1_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_EFFECT_BLEND; + gScreen.controls.alphaBlend = BLDALPHA_BLEND(15, 10); + gUnk_02024490.unk0 = 1; + gUnk_03001000.funcIndex = 1; + PlaySFX(0x7); + DoFade(4, 8); +} + +static void HandleFileScreenActive(void) { +} + +static void HandleFileScreenExit(void) { + if (!gFadeControl.active) { + InitScreen(SCREEN_GAMEPLAY); + } +} + +static void sub_08050624(u32 idx) { + SaveFile* saveFile = &gSaveFiles[idx]; + int status = sub_0807CF28(idx, saveFile); + switch (status) { + case SAVE_DELETED: + sub_0807CF48(idx); + // fallthrough + case SAVE_EMPTY: + sub_0805194C(idx); + break; + } + gUnk_02019EE0.saveStatus[idx] = status; +} + +static void sub_0805066C(void) { + u32 loadNewPalette; + const u8* paletteOffset; + + loadNewPalette = FALSE; + if (--gUnk_02019EE0.unk1 == 0) { + gUnk_02019EE0.unk1 = 16; + gUnk_02019EE0.unk2 = (gUnk_02019EE0.unk2 + 1) % 15; + loadNewPalette = TRUE; + } + + if (gUnk_02019EE0.unk2 == 0) { + gUnk_02019EE0.unk2 = 1; + gUnk_02019EE0.unk1 = (Random() & 0x7) * 16 + 8; + loadNewPalette = TRUE; + } + + if (loadNewPalette) { + paletteOffset = &gGlobalGfxAndPalettes[gUnk_080FC8DE[gUnk_02019EE0.unk2]]; + LoadPalettes(&paletteOffset[0x11AA0], 11, 1); + LoadPalettes(&paletteOffset[0x11BA0], 12, 1); + LoadPalettes(&paletteOffset[0x11CA0], 13, 1); + LoadPalettes(&paletteOffset[0x11DA0], 14, 1); + } +} + +void sub_0805070C(void) { + u32 i; + int j; + struct_02036540* var0; + u8* playerName; + + var0 = sub_0805F2C8(); + if (var0) { + var0->charColor = 0; + var0->bgColor = 5; + var0->unk1 = 1; + var0->unk4 = 0x30; + var0->unk8 = gUnk_02000D00; + for (i = 0; i < 3; i++) { + var0->unk6 = 0; + _DmaZero(var0->unk8, 0x200); + playerName = gSaveFiles[i].playerName; + for (j = 0; j < 6; j++) { + sub_0805F7DC(playerName[j], var0); + } + // i is a struct of size 0x200 + _DmaCopy(var0->unk8, (void*)(OBJ_VRAM0 + 0x4000 + i * 0x200), 0x200); + } + sub_0805F300(var0); + } +} + +void sub_08050790(void) { + u32 i, j; + struct_02036540* var0; + u32 var1; + + var0 = sub_0805F2C8(); + if (var0) { + var0->charColor = 0; + var0->bgColor = 5; + var0->unk1 = 1; + var0->unk4 = 0x80; + var0->unk8 = gUnk_02000D00; + for (i = 0; i < 16; i++) { + var0->unk6 = 0; + var1 = i * 16; + for (j = 0; j < 16; j++) { + sub_0805F7DC(var1, var0); + var1++; + } + _DmaCopy(gUnk_02000D00, (void*)(BG_VRAM + i * 0x400), 0x400); + } + sub_0805F300(var0); + } +} + +static void HideButtonR(void) { + gUnk_0200AF00.rButtonX = 0x140; + gUnk_0200AF00.rButtonY = 0x24; +} + +static void ShowButtonR(void) { + gUnk_0200AF00.rButtonX = 0xD0; + gUnk_0200AF00.rButtonY = 0x24; +} + +static void HandleFileSelect(void) { + sFileSelectDefaultHandlers[gChooseFileState.state](); + sub_08050A64(gUnk_02019EE0.unk6); +} + +void sub_08050848(void) { + sub_080503A8(0x7); + sub_0805070C(); + gUnk_02019EE0.unk7 = 0; + sub_08050AFC(gUnk_02019EE0.unk6); + sub_080A7114(1); +} + +void sub_0805086C(void) { + gUnk_080FC908[gChooseFileState.subState](); +} + +// transitioning away from submenu +void sub_08050888(void) { + if (!gFadeControl.active) { + switch (gUnk_02019EE0.saveStatus[gUnk_02019EE0.unk7]) { + case SAVE_EMPTY: + sub_0805194C(gUnk_02019EE0.unk7); + gChooseFileState.subState = 2; + break; + case SAVE_VALID: + gChooseFileState.subState = 2; + break; + default: + sub_0805194C(gUnk_02019EE0.unk7); + sub_08050318(0, gUnk_02019EE0.unk7 + 1); + gChooseFileState.timer = 30; + gChooseFileState.subState = 1; + break; + } + } +} + +void sub_080508E4(void) { + if (gChooseFileState.timer == 0) { + if (gUnk_03000FF0.newKeys & (A_BUTTON | START_BUTTON)) { + gChooseFileState.subState = 2; + } + } else { + gChooseFileState.timer--; + } +} + +void sub_08050910(void) { + sub_08050384(); + if (++gUnk_02019EE0.unk7 > 2) { + sub_080A7114(2); + } else { + gChooseFileState.subState = 0; + } +} + +void sub_08050940(void) { + int row_idx; + u32 keys; + int num_rows; + FileSelectState mode; + + if (gUnk_02019EE0.isTransitioning) { + return; + } + + row_idx = gUnk_02019EE0.unk6; + keys = gUnk_03000FF0.newKeys; + if ((gUnk_03000FF0.heldKeys & L_BUTTON) && gUnk_02019EE0.saveStatus[row_idx] == SAVE_VALID) { + keys &= ~(DPAD_UP | DPAD_DOWN); + } + + num_rows = gUnk_02000000->gameLanguage > GAME_LANGUAGE ? NUM_SAVE_SLOTS + 1 : NUM_SAVE_SLOTS; + mode = gUnk_02032EC0.lastState; + switch (keys) { + case DPAD_UP: + if (row_idx > 0) + row_idx--; + break; + case DPAD_DOWN: + if (num_rows - 1 > row_idx) + row_idx++; + break; + case R_BUTTON: + if (gUnk_02019EE0.saveStatus[row_idx] == SAVE_VALID) + mode = STATE_OPTIONS; + break; + case A_BUTTON: + case START_BUTTON: + SetActiveSave(row_idx); + if (row_idx == 3) + mode = STATE_CHOOSE_LANG; + else + switch (gUnk_02019EE0.saveStatus[row_idx]) { + case SAVE_EMPTY: + mode = STATE_NEW; + break; + case SAVE_VALID: + mode = STATE_VIEW; + break; + } + break; + } + + if (gUnk_02032EC0.lastState != mode) { + SetFileSelectState(mode); + PlaySFX(0x6A); + } + + row_idx = (row_idx + num_rows) % num_rows; + if (gUnk_02019EE0.unk6 != row_idx) { + gUnk_02019EE0.unk6 = row_idx; + sub_08050AFC(row_idx); + PlaySFX(0x69); + } + + if (gUnk_02019EE0.saveStatus[gUnk_02019EE0.unk6] == SAVE_VALID) { + ShowButtonR(); + } +} + +void sub_08050A64(u32 idx) { + if (gUnk_02019EE0.saveStatus[idx] != SAVE_VALID) { + return; + } + + gUnk_03001010._4 = 0; + gUnk_03001010._6 = 0; + gUnk_03001010._8 = 0x400; + + // Draw the save file's obtained elements. + if (GetInventoryValue(0x40)) { + gUnk_03001010.x = 0xA2; + gUnk_03001010.y = 0x36; + sub_080ADA14(0x145, 0x24); + } + if (GetInventoryValue(0x41)) { + gUnk_03001010.x = 0x96; + gUnk_03001010.y = 0x3D; + sub_080ADA14(0x145, 0x22); + } + if (GetInventoryValue(0x42)) { + gUnk_03001010.x = 0xAE; + gUnk_03001010.y = 0x3D; + sub_080ADA14(0x145, 0x23); + } + if (GetInventoryValue(0x43)) { + gUnk_03001010.x = 0xA2; + gUnk_03001010.y = 0x44; + sub_080ADA14(0x145, 0x21); + } +} + +void sub_08050B3C(u16*); + +void sub_08050AFC(u32 idx) { + SetActiveSave(idx); + _DmaZero(&gBG1Buffer, sizeof(gBG1Buffer)); + if (gUnk_02019EE0.saveStatus[idx] == SAVE_VALID) { + sub_08050B3C(&gBG1Buffer.unk29C); + } + gScreen.bg.bg2yOffset = 1; +} + +typedef struct { + u16* unk0; + u32 unk4; +} unk_08050B3C; + +extern const u16 gUnk_080FC914[]; + +// Handles drawing of hearts +NONMATCH("asm/non_matching/save/sub_08050B3C.inc", void sub_08050B3C(u16* arg0)) { + unk_08050B3C sp; + int var0; + int var1; + int var2; + int var3; + int var4; + int var5; + int var6; + int var7; + u16* var8; + + sp.unk0 = arg0; + var0 = gUnk_02002A40.stats.health / 2; + if (var0 == 0) { + var0 = 1; + } + + var1 = gUnk_02002A40.stats.maxHealth / 2; + if (var1 == 0) { + return; + } + + if (var0 > var1) { + var0 = var1; + } + + sp.unk4 = var0 & 0x3; + var2 = var0 * 2; + var5 = var2; + if (var2 > 10) { + var5 = 10; + } + + var6 = var2; + var6 -= 10; + var7 = var6; + if (var6 < 0) { + var7 = 0; + } + + var1 = var1 >> 2; + var4 = var1; + if (var1 > 10) { + var1 = 10; + } + + var4 -= 10; + sp.unk0[0] = 0xF24C; + DmaCopy16(3, &gUnk_080FC914[10 - var5], &sp.unk0[1], var1 * 2); + if (var4 > 0) { + sp.unk0[0x20] = 0xF24C; + DmaCopy16(3, &gUnk_080FC914[10 - var7], &sp.unk0[1], var4 * 2); + } + + if (!sp.unk4) { + return; + } + + var8 = sp.unk0; + if (var2 >= 10) { + var2 = var6; + var8 += 0x20; + } + + var8[var2 + 1] = sp.unk4 - 0xDB3; +} +END_NONMATCH + +void HandleFileView(void) { + gUnk_080FC93C[gMenu.menuType](); + sub_08050A64(gUnk_02019EE0.unk6); +} + +extern Input gUnk_03000FF0; + +void sub_08050C54(void) { + s32 column_idx; + + if (gUnk_02019EE0.isTransitioning) + return; + + column_idx = gMenu.column_idx; + switch (gUnk_03000FF0.newKeys) { + case A_BUTTON: + case START_BUTTON: + if (column_idx == 0) { + PlaySFX(0x80080000); + } + gMenu.transitionTimer = 0xf; + sub_080A7114(1); + PlaySFX(0x6a); + break; + case B_BUTTON: + PlaySFX(0x6c); + SetFileSelectState(STATE_NONE); + break; + case DPAD_LEFT: + column_idx--; + break; + case DPAD_RIGHT: + column_idx++; + break; + } + if (column_idx < 0) { + column_idx = 0; + } + if (column_idx >= NUM_FILE_OPERATIONS) { + column_idx = NUM_FILE_OPERATIONS - 1; + } + if (gMenu.column_idx != column_idx) { + gMenu.column_idx = column_idx; + PlaySFX(0x69); + } +} + +void sub_08050D68(void) { + u32 state; + + if (gMenu.transitionTimer == 0) { + switch (gMenu.column_idx) { + default: + case 0: + state = STATE_START; + break; + case 1: + state = STATE_COPY; + break; + case 2: + state = STATE_ERASE; + break; + } + SetFileSelectState(state); + } else { + gMenu.transitionTimer--; + } +} + +void HandleFileLanguageSelect(void) { + gUnk_080FC944[gMenu.menuType](); +} + +void sub_08050DB8(void) { + _DmaZero(&gBG2Buffer, sizeof(gBG2Buffer)); + sub_080503A8(0xc); + gMenu.field_0x4 = gUnk_02000000->gameLanguage; + sub_080A7114(1); +} + +void sub_08050DE4(void) { + s32 row_idx; + + if (gUnk_02019EE0.isTransitioning) + return; + + row_idx = gUnk_02000000->gameLanguage; + switch (gUnk_03000FF0.newKeys) { + case DPAD_UP: + row_idx--; + break; + case DPAD_DOWN: + row_idx++; + break; + case A_BUTTON: + case START_BUTTON: + PlaySFX(0x6a); + if (gMenu.field_0x4 != row_idx) { + sub_080A7114(2); + sub_08050318(8, 0); + } else { + SetFileSelectState(STATE_NONE); + } + break; + case B_BUTTON: + row_idx = gMenu.field_0x4; + gUnk_02000000->gameLanguage = gMenu.field_0x4; + PlaySFX(0x6c); + SetFileSelectState(STATE_NONE); + break; + } + + // Lazy solution for positioning the rows lower on the screen + if (row_idx < 2) { + row_idx = 2; + } + if (row_idx > 6) { + row_idx = 6; + } + if (gUnk_02000000->gameLanguage != row_idx) { + gUnk_02000000->gameLanguage = row_idx; + PlaySFX(0x69); + } +} + +void sub_08050E88(void) { + if (sub_0807CDA4(SAVE_DONE)) + SetFileSelectState(0); +} diff --git a/src/intro.c b/src/intro.c index 090c9b9d..ac2c6e76 100644 --- a/src/intro.c +++ b/src/intro.c @@ -53,22 +53,22 @@ static const u16 sLightRaysAlphaBlends[] = { }; static u32 AdvanceIntroSequence(u32 transition) { - gUnk_02032EC0.transitionType = transition; + gUnk_02032EC0.lastState = transition; gUnk_03001000.funcIndex = 2; _DmaZero(&gIntroState, sizeof(gIntroState)); DoFade(7, 8); } void HandleIntroScreen(void) { - sub_080AD90C(); + FlushSprites(); switch (gUnk_03001000.funcIndex) { case 0: sub_08056418(); - _DmaZero(&gUnk_02032EC0, 0x3b4); + _DmaZero(&gUnk_02032EC0, sizeof(gUnk_02032EC0)); AdvanceIntroSequence(0); break; case 1: - sIntroSequenceHandlers[gUnk_02032EC0.transitionType](); + sIntroSequenceHandlers[gUnk_02032EC0.lastState](); break; case 2: if (gFadeControl.active) { @@ -92,13 +92,13 @@ static void HandleNintendoCapcomLogos(void) { gIntroState.timer = 120; LoadGfxGroup(16); LoadGfxGroup(1); - if (((struct_02000000*)0x2000000)->gameLanguage == 0) { + if (gUnk_02000000->gameLanguage == 0) { paletteGroup = 1; } else { paletteGroup = 2; } LoadPaletteGroup(paletteGroup); - gScreen.lcd.displayControl |= 0x400; + gScreen.lcd.displayControl |= DISPCNT_BG2_ON; gScreen.bg.bg2yOffset = 1; DoFade(6, 8); advance = ADVANCE_NONE; @@ -132,28 +132,30 @@ static void HandleTitlescreen(void) { sub_080ADD30(); gUnk_02024490.unk0 = 1; LoadGfxGroup(2); - if (((struct_02000000*)0x2000000)->gameLanguage == 0) { + if (gUnk_02000000->gameLanguage == 0) { paletteGroup = 3; } else { paletteGroup = 4; } LoadPaletteGroup(paletteGroup); - if (((struct_02000000*)0x2000000)->gameLanguage == 0) { - gScreen.controls.layerFXControl = 0x844; + if (gUnk_02000000->gameLanguage == 0) { + // Blend first and second layer + gScreen.controls.layerFXControl = BLDCNT_TGT1_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_EFFECT_BLEND; gScreen.controls.alphaBlend = BLDALPHA_BLEND(9, 9); gScreen.bg.bg1xOffset = 0x1c09; - gScreen.affine.bg2Control = 0x1d02; - gScreen.affine.bg3Control = 0x1e03; - gScreen.lcd.displayControl |= 0x1e00; + gScreen.affine.bg2Control = BGCNT_SCREENBASE(29) | BGCNT_PRIORITY(2); + gScreen.affine.bg3Control = BGCNT_SCREENBASE(30) | BGCNT_PRIORITY(3); + gScreen.lcd.displayControl |= DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_BG3_ON | DISPCNT_OBJ_ON; gScreen.bg.bg2xOffset = 0xff60; } else { - gScreen.controls.layerFXControl = 0x241; + gScreen.controls.layerFXControl = BLDCNT_TGT1_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_EFFECT_BLEND; gScreen.controls.alphaBlend = BLDALPHA_BLEND(9, 9); - gScreen.bg.bg0Control = 0x1d02; + gScreen.bg.bg0Control = BGCNT_SCREENBASE(29) | BGCNT_PRIORITY(2); gScreen.bg.bg1xOffset = 0x1E03; - gScreen.affine.bg2Control = 0x7C89; - gScreen.lcd.displayControl |= 1; - gScreen.lcd.displayControl |= 0x1300; + gScreen.affine.bg2Control = BGCNT_PRIORITY(1) | BGCNT_CHARBASE(2) | BGCNT_256COLOR | + BGCNT_SCREENBASE(28) | BGCNT_WRAP | BGCNT_TXT512x256; + gScreen.lcd.displayControl |= DISPCNT_MODE_1; + gScreen.lcd.displayControl |= DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_ON; gIntroState.swordBgScaleRatio = 0x10; UpdateSwordBgAffineData(); } @@ -165,7 +167,7 @@ static void HandleTitlescreen(void) { if (gFadeControl.active) { return; } - if (((struct_02000000*)0x2000000)->gameLanguage == 0) { + if (gUnk_02000000->gameLanguage == 0) { HandleJapaneseTitlescreenAnimationIntro(); } else { HandleTitlescreenAnimationIntro(); @@ -196,8 +198,8 @@ static void HandleTitlescreen(void) { sub_080ADA14(0x1ff, 0); } } - if (gIntroState.gameLanguage != ((struct_02000000*)0x2000000)->gameLanguage) { - gIntroState.gameLanguage = ((struct_02000000*)0x2000000)->gameLanguage; + if (gIntroState.gameLanguage != gUnk_02000000->gameLanguage) { + gIntroState.gameLanguage = gUnk_02000000->gameLanguage; LoadGfxGroup(3); } UpdateLightRays(); @@ -219,8 +221,8 @@ static void UpdateSwordBgAffineData(void) { struct BgAffineSrcData aff; aff.texY = 0x8000; aff.texX = 0x8000; - aff.scrX = 0x78; - aff.scrY = 0x48; + aff.scrX = DISPLAY_WIDTH / 2; + aff.scrY = DISPLAY_HEIGHT / 2 - 8; aff.alpha = 0; aff.sy = aff.sx = gIntroState.swordBgScaleRatio; BgAffineSet(&aff, (struct BgAffineDstData*)&gBgControls, 1); @@ -254,7 +256,7 @@ static void HandleJapaneseTitlescreenAnimationIntro(void) { pEVar2 = CreateObject(0xb4, 0, 0); if (pEVar2 != NULL) { pEVar2->x.HALF.HI = 0; - pEVar2->y.HALF.HI = 0x48; + pEVar2->y.HALF.HI = DISPLAY_HEIGHT / 2 - 8; } } break; @@ -271,7 +273,7 @@ static void HandleTitlescreenAnimationIntro(void) { case 0: if (!gFadeControl.active) { gIntroState.subState = 1; - gScreen.lcd.displayControl |= 0x400; + gScreen.lcd.displayControl |= DISPCNT_BG2_ON; PlaySFX(0xF6); } break; @@ -334,14 +336,14 @@ static u32 GetAdvanceState(void) { } static void UpdateLightRays(void) { - // Periodically rotate the palette to give a shimmeriming effect. + // Periodically rotate the palette to give a shimmering effect. if ((gIntroState.counter & 0x7) == 0) { gIntroState.lightRaysPaletteGroup++; gIntroState.lightRaysPaletteGroup &= 0x3; LoadPaletteGroup(5 + gIntroState.lightRaysPaletteGroup); } - // Periodiccally update the transparency of the light rays. + // Periodically update the transparency of the light rays. if ((gIntroState.counter & 0x1F) == 0) { gIntroState.lightRaysAlphaBlendIndex = (gIntroState.lightRaysAlphaBlendIndex + 1) & 0x7; gScreen.controls.alphaBlend = sLightRaysAlphaBlends[gIntroState.lightRaysAlphaBlendIndex]; diff --git a/src/main.c b/src/main.c index fdb72796..15b67996 100644 --- a/src/main.c +++ b/src/main.c @@ -6,16 +6,12 @@ #include "random.h" #include "readKeyInput.h" -extern u8 gUnk_03003DE4; - -extern void sub_0804FF84(u32); -extern u16 gPaletteBuffer[]; -extern void VBlankInterruptWait(void); -extern void DisableInterruptsAndDMA(void); -extern void sub_08016B34(void); - -static void sub_08055F70(void); -static bool32 SoftResetKeysPressed(void); +extern void HandleIntroScreen(void); +extern void HandleChooseFileScreen(void); +extern void HandleGameplayScreen(void); +extern void HandleGameOverScreen(void); +extern void HandleCreditsScreen(void); +extern void HandleDebugTextScreen(void); static void (*const sScreenHandlers[])(void) = { [SCREEN_INTRO] = HandleIntroScreen, [SCREEN_CHOOSE_FILE] = HandleChooseFileScreen, @@ -27,8 +23,8 @@ void MainLoop(void) { int var0; sub_08055F70(); - sub_080A3204(); - sub_0805616C(); + InitSound(); + InitDMA(); sub_0807CE90(); sub_080560B8(); sub_08056208(); @@ -176,7 +172,7 @@ NONMATCH("asm/non_matching/sub_080560B8.inc", void sub_080560B8(void)) { END_NONMATCH u32 sub_08056134(void) { - if ((gUnk_02000000->signature != SIGNATURE) || (gUnk_02000000->saveFileId >= MAX_SAVE_FILES) || + if ((gUnk_02000000->signature != SIGNATURE) || (gUnk_02000000->saveFileId >= NUM_SAVE_SLOTS) || (gUnk_02000000->messageSpeed >= MAX_MSG_SPEED) || (gUnk_02000000->brightnessPref >= MAX_BRIGHTNESS) || (gUnk_02000000->gameLanguage != GAME_LANGUAGE) || (gUnk_02000000->_e != 0)) return FALSE; @@ -184,7 +180,7 @@ u32 sub_08056134(void) { return TRUE; } -void sub_0805616C() { +void InitDMA() { PlaySFX(0x80040000); gScreen._6d = gScreen._6c; gScreen._6c = 0; diff --git a/src/object.c b/src/object.c index 6713b8e7..4fd93b40 100644 --- a/src/object.c +++ b/src/object.c @@ -2,6 +2,7 @@ #include "entity.h" #include "object.h" //clang-format off + void (*const gObjectFunctions[])(Entity*) = { /*0x00*/ ItemOnGround, /*0x01*/ DeathFx, @@ -75,7 +76,7 @@ void (*const gObjectFunctions[])(Entity*) = { /*0x45*/ Object45, /*0x46*/ GiantBookLadder, /*0x47*/ HeartContainer, - /*0x48*/ Object48, + /*0x48*/ FileScreenObjects, /*0x49*/ Object49, /*0x4a*/ BackgroundCloud, /*0x4b*/ Object4B, diff --git a/src/object/object48.c b/src/object/fileScreenObjects.c similarity index 91% rename from src/object/object48.c rename to src/object/fileScreenObjects.c index e62b174a..4b18fa79 100644 --- a/src/object/object48.c +++ b/src/object/fileScreenObjects.c @@ -47,7 +47,7 @@ extern const u16 gUnk_08121D18[][8]; extern const u8 gUnk_08121D48[]; extern const struct_08121D54 gUnk_08121D54[]; -void Object48(Entity* this) { +void FileScreenObjects(Entity* this) { if (this->currentHealth == 0) { sub_0808EFF0(this); } @@ -91,7 +91,7 @@ void sub_0808E818(Entity* this) { LoadPalettes(&gGlobalGfxAndPalettes[var1], 31, 1); } - if (gUnk_02032EC0.transitionType == 0) { + if (gUnk_02032EC0.lastState == 0) { if (gUnk_03000FF0.heldKeys & L_BUTTON) { switch (gUnk_03000FF0.newKeys) { case DPAD_UP: @@ -126,13 +126,13 @@ void sub_0808E818(Entity* this) { static bool32 sub_0808E950(void) { bool32 result = FALSE; - switch (gUnk_02032EC0.transitionType) { + switch (gUnk_02032EC0.lastState) { case 0: case 4: case 5: case 6: case 7: - result = gUnk_02019EE0.unk8[gUnk_02019EE0.unk6] == 1; + result = gUnk_02019EE0.saveStatus[gUnk_02019EE0.unk6] == 1; break; } return result; @@ -179,7 +179,7 @@ void sub_0808EA28(Entity* this) { u32 var1; if (this->entityType.form == 3) { - if (((struct_02000000*)0x2000000)->gameLanguage > 1) { + if (gUnk_02000000->gameLanguage > LANGUAGE_EN) { this->spriteSettings.b.draw = 2; } else { this->spriteSettings.b.draw = 0; @@ -190,7 +190,7 @@ void sub_0808EA28(Entity* this) { var0 = 12; var1 = 1; } else { - if (gUnk_02032EC0.transitionType == 5 && this->entityType.form == gUnk_02019EE0.unk7) { + if (gUnk_02032EC0.lastState == 5 && this->entityType.form == gUnk_02019EE0.unk7) { var0 = 13; var1 = 2; } else { @@ -202,14 +202,14 @@ void sub_0808EA28(Entity* this) { this->palette.b.b0 = var0; this->spriteRendering.b3 = var1; sub_0808EABC(this); - gUnk_02019EE0.unk0 |= sub_0808EF6C(this); + gUnk_02019EE0.isTransitioning |= sub_0808EF6C(this); } void sub_0808EABC(Entity* this) { int var0 = -72; int var1 = this->entityType.form * 32 + 40; int var2 = gUnk_02019EE0.unk6 == this->entityType.form; - switch (gUnk_02032EC0.transitionType) { + switch (gUnk_02032EC0.lastState) { case 0: var0 = 24; break; @@ -272,15 +272,15 @@ void sub_0808EBB8(Entity* this) { u32 x, y; Entity* entity; - switch (gUnk_02032EC0.transitionType) { + switch (gUnk_02032EC0.lastState) { case 4: - var0 = gMenu.field_0x1 + 4; + var0 = gMenu.column_idx + 4; break; case 5: var0 = 2; break; case 6: - var0 = gMenu.field_0x1 == 0 ? 7 : 6; + var0 = gMenu.column_idx == 0 ? 7 : 6; break; case 7: var0 = 4; @@ -341,8 +341,8 @@ void sub_0808ECBC(Entity* this) { int var2; const struct_08121CD4* var3; - var0 = gMenu.field_0x1; - switch (gUnk_02032EC0.transitionType) { + var0 = gMenu.column_idx; + switch (gUnk_02032EC0.lastState) { case 4: var1 = 1; break; @@ -371,12 +371,12 @@ void sub_0808ECBC(Entity* this) { this->palette.b.b0 = 14; } - gUnk_02019EE0.unk0 |= sub_0808EF6C(this); + gUnk_02019EE0.isTransitioning |= sub_0808EF6C(this); } void sub_0808ED64(Entity* this) { int y = 255; - if (gUnk_02032EC0.transitionType == 1 && gMenu.focusCoords[1] != 5) { + if (gUnk_02032EC0.lastState == 1 && gMenu.focusCoords[1] != 5) { this->x.HALF.HI = gMenu.focusCoords[0] * 16 + 28; y = gMenu.focusCoords[1] * 16 + 58; } @@ -385,7 +385,7 @@ void sub_0808ED64(Entity* this) { void sub_0808ED98(Entity* this) { int y; - if (gUnk_02032EC0.transitionType != 1) { + if (gUnk_02032EC0.lastState != 1) { this->field_0x68.HWORD = 27; y = -10; } else { @@ -413,7 +413,7 @@ void sub_0808EE00(Entity* this) { this->x.HALF.HI = gUnk_08121D18[var0][var1]; this->field_0x68.HWORD = gUnk_08121D18[var0][var1]; var1 -= var0; - if (gUnk_02032EC0.transitionType != 1) { + if (gUnk_02032EC0.lastState != 1) { var1 = 128; var2 = 176; } else { @@ -422,14 +422,14 @@ void sub_0808EE00(Entity* this) { this->field_0x6a.HWORD = var2; this->palette.b.b0 = gMenu.focusCoords[1] == 5 && var1 == gMenu.field_0x12 ? 11 : 9; - gUnk_02019EE0.unk0 |= sub_0808EF6C(this); + gUnk_02019EE0.isTransitioning |= sub_0808EF6C(this); } void nullsub_522(Entity* this) { } void sub_0808EE98(Entity* this) { - this->actionDelay = gUnk_02032EC0.transitionType; + this->actionDelay = gUnk_02032EC0.lastState; this->frameIndex = gUnk_08121D48[this->actionDelay]; if (this->actionDelay != 2) { this->field_0x68.HWORD = 96; @@ -441,18 +441,18 @@ void sub_0808EE98(Entity* this) { void sub_0808EED8(Entity* this) { int var0; - if (gUnk_02032EC0.transitionType != 3) { + if (gUnk_02032EC0.lastState != 3) { this->spriteSettings.b.draw = 0; } else { this->spriteSettings.b.draw = 2; var0 = this->entityType.form - 19; - this->palette.b.b0 = gMenu.field_0x1 == var0 ? 4 : 3; + this->palette.b.b0 = gMenu.column_idx == var0 ? 4 : 3; } } void sub_0808EF24(Entity* this) { int var0; - if (gUnk_02032EC0.transitionType != 3) { + if (gUnk_02032EC0.lastState != 3) { this->spriteSettings.b.draw = 0; } else { this->spriteSettings.b.draw = 2; @@ -515,7 +515,7 @@ static u32 sub_0808EF6C(Entity* this) { static void sub_0808EFF0(Entity* this) { const struct_08121D54* var0; - int var1; + u8 var1; this->spriteSettings.b.draw = 2; this->nonPlanarMovement = 0x400; @@ -533,7 +533,7 @@ static void sub_0808EFF0(Entity* this) { this->field_0x6c.HWORD = var0->unk0; var1 = var0->unk7; if (var1 & 0x80) { - var1 &= 0x7F; + var1 &= ~(0x80); this->frameIndex = var1; this->lastFrameIndex = var1; } else { diff --git a/src/code_0807CC3C.c b/src/save.c similarity index 53% rename from src/code_0807CC3C.c rename to src/save.c index b16dca9e..c129dc9d 100644 --- a/src/code_0807CC3C.c +++ b/src/save.c @@ -1,38 +1,52 @@ -#include "global.h" -#include "entity.h" -#include "functions.h" -#include "menu.h" -#include "structures.h" +#include "save.h" -extern void (*const gUnk_0811E478[])(u32); +extern u32 sub_0807D008(u32, SaveFile*); + +const u16 gUnk_0811E454[] = { 0x0, 0x0, 0x100, 0x200, 0x300, 0x400, 0x500, + 0x5C0, 0x680, 0x740, 0x800, 0x8C0, 0x9C0, 0xA80 }; + +const char gUnk_0811E470[6] = "LINK"; + +static SaveResult HandleSaveInit(u32); +static SaveResult HandleSaveInProgress(u32); +static SaveResult HandleSaveDone(u32); +static SaveResult (*const sSaveHandlers[])(u32) = { HandleSaveInit, HandleSaveInProgress, HandleSaveDone }; + +static const char sSignatureLong[32] = "AGBZELDA:THE MINISH CAP:ZELDA 5"; + +// Save file is untouched +static const char sSaveDescInit[8] = "\xFF\xFF\xFF\xFF" + "INIT"; +// Save file is deleted +static const char sSaveDescDeleted[8] = "\xFF\xFF\xFF\xFF" + "DelF"; + +const char gUnk_0811E4B4[8] = "DAMEDAME"; extern s16 gUnk_02021EE0[6]; -extern char gUnk_0811E484[]; -extern char gUnk_0811E4AC[]; -extern char gUnk_0811E4A4[]; void sub_0807CD9C() { sub_080530C8(); } -void sub_0807CDA4(u32 arg0) { - gUnk_0811E478[gMenu.storyPanelIndex](arg0); +SaveResult sub_0807CDA4(SaveState state) { + return sSaveHandlers[gMenu.storyPanelIndex](state); } -u32 sub_0807CDC0(void) { +SaveResult HandleSaveInit(u32 arg0) { gUnk_02021EE0[5] -= 8; if (gUnk_02021EE0[4] <= 0) { gMenu.field_0xa = 8; gMenu.storyPanelIndex = 1; } - return 0; + return SAVE_BUSY; } -u32 sub_0807CDE8(u32 arg0) { +SaveResult HandleSaveInProgress(u32 arg0) { u32 temp; if (gMenu.field_0xa == 0) { - sub_0805616C(); + InitDMA(); switch (arg0) { case 0: temp = sub_0807CF08(gUnk_02000000->saveFileId, gUnk_02002A40.filler0); @@ -51,25 +65,25 @@ u32 sub_0807CDE8(u32 arg0) { } else { gMenu.field_0xa--; } - return 0; + return SAVE_BUSY; } -s32 sub_0807CE54(void) { - u32 uVar1; +SaveResult HandleSaveDone(u32 arg0) { + SaveResult result; - uVar1 = 0; + result = SAVE_BUSY; gUnk_02021EE0[5] += 8; if (gUnk_02021EE0[3] <= gUnk_02021EE0[5]) { gUnk_02021EE0[5] = gUnk_02021EE0[3]; sub_08050384(); gMenu.storyPanelIndex = 0; if (gMenu.field_0xa == 1) { - uVar1 = 1; + result = SAVE_OK; } else { - uVar1 = -1; + result = SAVE_ERROR; } } - return uVar1; + return result; } u32 sub_0807CE90(void) { @@ -80,10 +94,10 @@ u32 sub_0807CE90(void) { sub_080B1520(0x40); puVar1 = sub_0807D1C4(4); iVar3 = 0; - if (sub_0807D24C(puVar1->field_0x6, gUnk_0811E484, puVar1->field_0x0) == 0) { + if (sub_0807D24C(puVar1->field_0x6, sSignatureLong, puVar1->field_0x0) == 0) { iVar3 += 1; } - if (sub_0807D24C(puVar1->field_0x8, gUnk_0811E484, puVar1->field_0x0) == 0) { + if (sub_0807D24C(puVar1->field_0x8, sSignatureLong, puVar1->field_0x0) == 0) { iVar3 += 2; } if (iVar3 != 0) { @@ -94,8 +108,8 @@ u32 sub_0807CE90(void) { sub_0807CF68(1); sub_0807CF68(0); } - sub_0807D20C(puVar1->field_0x8, gUnk_0811E484, puVar1->field_0x0); - sub_0807D20C(puVar1->field_0x6, gUnk_0811E484, puVar1->field_0x0); + sub_0807D20C(puVar1->field_0x8, sSignatureLong, puVar1->field_0x0); + sub_0807D20C(puVar1->field_0x6, sSignatureLong, puVar1->field_0x0); } return 1; } @@ -116,11 +130,11 @@ int sub_0807CF28(u32 arg0, SaveFile* arg1) { return sub_0807D008(arg0, arg1); } -u32 sub_0807CF30(void* arg0) { +u32 sub_0807CF30(SaveFile* arg0) { return sub_0807D008(3, arg0); } -u32 sub_0807CF3C(void* arg0) { +u32 sub_0807CF3C(SaveFile* arg0) { return sub_0807D008(5, arg0); } @@ -128,16 +142,16 @@ void sub_0807CF48(u32 arg0) { struct_0807D1C4* temp; temp = sub_0807D1C4(arg0); - sub_0807D184(temp->field_0x4, gUnk_0811E4AC); - sub_0807D184(temp->field_0x2, gUnk_0811E4AC); + sub_0807D184(temp->field_0x4, sSaveDescDeleted); + sub_0807D184(temp->field_0x2, sSaveDescDeleted); } void sub_0807CF68(u32 arg0) { struct_0807D1C4* temp; - char* str; + const char* str; temp = sub_0807D1C4(arg0); - str = gUnk_0811E4A4; + str = sSaveDescInit; sub_0807D184(temp->field_0x4, str); sub_0807D184(temp->field_0x2, str); } diff --git a/src/sub_080A3B84.c b/src/sub_080A3B84.c index 1fa55fb0..3a0d5eb4 100644 --- a/src/sub_080A3B84.c +++ b/src/sub_080A3B84.c @@ -8,7 +8,7 @@ extern void (*const gUnk_081280C4[])(); void DrawKinstoneMenu(void) { gScreenTransition.field_0x24[8] = 2; - sub_080AD90C(); + FlushSprites(); gUnk_081280C4[gMenu.menuType](); sub_080A3B74(); sub_080A4054(); @@ -26,7 +26,7 @@ void sub_080A3BD0(void) { s32 iVar1; s32 iVar2; - gMenu.field_0x1 = 1; + gMenu.column_idx = 1; gMenu.unk2a = 0; sub_080A4D34(); LoadPaletteGroup(0xcb); diff --git a/src/textbox.c b/src/textbox.c index ad3bc4d8..2ecc7242 100644 --- a/src/textbox.c +++ b/src/textbox.c @@ -5,53 +5,34 @@ #include "textbox.h" #include "structures.h" -void ShowTextbox(); -void TextboxAtPosition(); +u32 sub_080564DC(void); +u32 sub_080564EC(void); +u32 sub_08056654(void); +u32 sub_080565B4(void); +u32 sub_080565F8(void); +u32 sub_08056640(void); -typedef struct { - u8 _0; - u8 _1; - u8 _2; - u8 _3[5]; - u16 _8; - u8 _b[0x16]; - u8 _20; - u8 _21; - u8 _22[0xa]; - void* _2c; - u8 _30[0x23]; - u8 _53; - u16 _54; - u8 _56[0x2]; - void* _58; - u8 _5c; - u8 _5d; - u8 _5e[24]; - u8 _76; - u8 _77[0x11]; - u8 _88; - u8 _89; - u8 _8a; - u8 _8b[0xe]; - u8 _99; - u8 _9a; - u8 _9b; - u8 _9c; - u8 _9d; - u8 _9e[0xa]; -} struct_02022780; -extern struct_02022780 gUnk_02022780; -static_assert(sizeof(struct_02022780) == 0xa8); +u32 (*const gUnk_08107BC8[])(void) = { sub_080564DC, sub_080564EC, sub_08056654, + sub_080565B4, sub_080565F8, sub_08056640 }; -extern const s32 (*const gUnk_08107BC8[])(); -extern const void (*const gUnk_08107BF4[])(struct_02022780*); +extern u8 gUnk_020227DC, gUnk_020227E8, gUnk_020227F0, gUnk_020227F8, gUnk_02022800; +u8* const gUnk_08107BE0[] = { &gUnk_020227DC, &gUnk_020227E8, &gUnk_020227F0, &gUnk_020227F8, &gUnk_02022800 }; + +void sub_08056684(struct_02022780*); +void sub_080566B8(struct_02022780*); +void sub_08056BA0(struct_02022780*); +void sub_08056B1C(struct_02022780*); +void sub_08056B7C(struct_02022780*); +void sub_080569D4(struct_02022780*); + +void (*const gUnk_08107BF4[])(struct_02022780*) = { sub_08056684, sub_080566B8, sub_08056BA0, + sub_08056B1C, sub_08056B7C, sub_080569D4 }; extern u32 gUnk_02036A40; extern u32 gUnk_02036A38; extern u8 gUnk_02024030; extern u8 gUnk_020227A0; extern u8 gUnk_02000D00; -extern u8 gUnk_08107BE0; s32 sub_08056338(void) { s32 result; @@ -100,7 +81,7 @@ void TextboxAtPosition(u32 index, u32 x, u32 y) { gTextBox.textWindowPosY = y; } -void ShowTextbox(u32 index, u32 param_2, u32* dest) { +void ShowTextbox(u32 index) { _DmaZero(&gTextBox, 32); gTextBox.textIndex = index; gTextBox.textSpeed = 99; @@ -158,10 +139,10 @@ NONMATCH("asm/non_matching/textbox/sub_080564EC.inc", u32 sub_080564EC(void)) { char* dest; u32 i; char c; - - _DmaZero((void *)&gUnk_02036A40, 8); - _DmaZero((void *)&gUnk_02024030, 0x18); - _DmaZero((void *)&gUnk_02022780, 0xa8); + + _DmaZero((void*)&gUnk_02036A40, 8); + _DmaZero((void*)&gUnk_02024030, 0x18); + _DmaZero((void*)&gUnk_02022780, 0xa8); _DmaCopy(&gTextBox, &gUnk_02022780, 32); if (gUnk_02022780._2 == 0x63) { gUnk_02022780._2 = gUnk_02000000->messageSpeed; @@ -174,7 +155,8 @@ NONMATCH("asm/non_matching/textbox/sub_080564EC.inc", u32 sub_080564EC(void)) { for (i = 0; i < 6; ++i) { c = gUnk_02002A40.playerName[i]; - if (c == '\0') break; + if (c == '\0') + break; dest[i] = c; } diff --git a/src/tmc.code-workspace b/src/tmc.code-workspace index 788922bd..0bcb3f84 100644 --- a/src/tmc.code-workspace +++ b/src/tmc.code-workspace @@ -5,7 +5,14 @@ "ios": "c", "functions.h": "c", "textbox.h": "c", - "structures.h": "c" + "structures.h": "c", + "fileselect.h": "c", + "menu.h": "c", + "save.h": "c", + "main.h": "c", + "object.h": "c", + "filescreen.h": "c", + "screen.h": "c" } } }