From a933e8e24dfef0dcb5b697b9f2b7f307720cca67 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Fri, 2 Dec 2016 17:05:01 -0500 Subject: partially decompile matsuda_debug_menu.c (#117) * begin decompiling matsuda_debug_menu.c * i'm sorry for misspelling your name * decompile more masuda_debug_menu.c * mergable state * whatever yama --- asm/contest.s | 48 +- asm/contest_link_80C2020.s | 12 +- asm/contest_link_80C857C.s | 4 +- asm/matsuda_debug_menu.s | 1579 ++++++++++++++++++++++++ asm/matuda_debug_menu.s | 2877 -------------------------------------------- data/data2.s | 80 +- ld_script.txt | 3 +- src/matsuda_debug_menu.c | 937 +++++++++++++++ sym_ewram.txt | 5 +- 9 files changed, 2594 insertions(+), 2951 deletions(-) create mode 100644 asm/matsuda_debug_menu.s delete mode 100644 asm/matuda_debug_menu.s create mode 100644 src/matsuda_debug_menu.c diff --git a/asm/contest.s b/asm/contest.s index 59fd22aef..4b99acefc 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -2428,7 +2428,7 @@ _080AC664: bl sub_80AF138 ldr r0, _080AC690 @ =gStringVar1 lsls r1, r7, 6 - ldr r2, _080AC694 @ =gUnknown_02038572 + ldr r2, _080AC694 @ =gUnknown_02038570 + 0x2 adds r1, r2 bl StringCopy ldrh r1, [r5, 0x6] @@ -2446,7 +2446,7 @@ _080AC664: b _080AC6B0 .align 2, 0 _080AC690: .4byte gStringVar1 -_080AC694: .4byte gUnknown_02038572 +_080AC694: .4byte gUnknown_02038570 + 0x2 _080AC698: .4byte gStringVar2 _080AC69C: .4byte gMoveNames _080AC6A0: @@ -3369,7 +3369,7 @@ _080ACE0A: bl sub_80AF138 ldr r0, _080ACE4C @ =gStringVar1 lsls r1, r7, 6 - ldr r2, _080ACE50 @ =gUnknown_02038572 + ldr r2, _080ACE50 @ =gUnknown_02038570 + 0x2 adds r1, r2 bl StringCopy ldr r4, _080ACE54 @ =gStringVar4 @@ -3396,7 +3396,7 @@ _080ACE36: .align 2, 0 _080ACE48: .4byte 0x02019260 _080ACE4C: .4byte gStringVar1 -_080ACE50: .4byte gUnknown_02038572 +_080ACE50: .4byte gUnknown_02038570 + 0x2 _080ACE54: .4byte gStringVar4 _080ACE58: .4byte gUnknown_083CC103 _080ACE5C: .4byte gMenuWindow @@ -3511,7 +3511,7 @@ _080ACF48: bl sub_80AF138 ldr r0, _080ACF90 @ =gStringVar1 lsls r1, r7, 6 - ldr r2, _080ACF94 @ =gUnknown_02038572 + ldr r2, _080ACF94 @ =gUnknown_02038570 + 0x2 adds r1, r2 bl StringCopy ldr r4, _080ACF98 @ =gStringVar4 @@ -3541,7 +3541,7 @@ _080ACF88: bl _080AD8CA .align 2, 0 _080ACF90: .4byte gStringVar1 -_080ACF94: .4byte gUnknown_02038572 +_080ACF94: .4byte gUnknown_02038570 + 0x2 _080ACF98: .4byte gStringVar4 _080ACF9C: .4byte gUnknown_083CBD52 _080ACFA0: .4byte gMenuWindow @@ -3655,7 +3655,7 @@ _080AD070: bl sub_80AF138 ldr r0, _080AD0D0 @ =gStringVar1 lsls r1, r7, 6 - ldr r2, _080AD0D4 @ =gUnknown_02038572 + ldr r2, _080AD0D4 @ =gUnknown_02038570 + 0x2 adds r1, r2 bl StringCopy ldr r4, _080AD0D8 @ =gStringVar4 @@ -3685,7 +3685,7 @@ _080AD070: .align 2, 0 _080AD0CC: .4byte 0x02019260 _080AD0D0: .4byte gStringVar1 -_080AD0D4: .4byte gUnknown_02038572 +_080AD0D4: .4byte gUnknown_02038570 + 0x2 _080AD0D8: .4byte gStringVar4 _080AD0DC: .4byte gUnknown_083CC075 _080AD0E0: .4byte gMenuWindow @@ -3859,7 +3859,7 @@ _080AD23A: bl sub_80AF138 ldr r0, _080AD280 @ =gStringVar1 lsls r1, r7, 6 - ldr r2, _080AD284 @ =gUnknown_02038572 + ldr r2, _080AD284 @ =gUnknown_02038570 + 0x2 adds r1, r2 bl StringCopy ldr r3, _080AD288 @ =0x02019204 @@ -3887,7 +3887,7 @@ _080AD274: .4byte gUnknown_083CC2D8 _080AD278: .4byte gContestMoves _080AD27C: .4byte 0x02019260 _080AD280: .4byte gStringVar1 -_080AD284: .4byte gUnknown_02038572 +_080AD284: .4byte gUnknown_02038570 + 0x2 _080AD288: .4byte 0x02019204 _080AD28C: .4byte gTasks _080AD290: @@ -4242,7 +4242,7 @@ _080AD53C: lsls r1, 20 lsrs r1, 29 lsls r1, 6 - ldr r5, _080AD5B0 @ =gUnknown_02038572 + ldr r5, _080AD5B0 @ =gUnknown_02038570 + 0x2 adds r1, r5 bl StringCopy ldr r0, _080AD5B4 @ =gStringVar1 @@ -4285,7 +4285,7 @@ _080AD53C: .align 2, 0 _080AD5A8: .4byte gStringVar3 _080AD5AC: .4byte 0x02019328 -_080AD5B0: .4byte gUnknown_02038572 +_080AD5B0: .4byte gUnknown_02038570 + 0x2 _080AD5B4: .4byte gStringVar1 _080AD5B8: .4byte gStringVar2 _080AD5BC: .4byte gMoveNames @@ -4365,7 +4365,7 @@ _080AD664: bl sub_80B09B0 ldr r0, _080AD6B8 @ =gStringVar1 lsls r1, r7, 6 - ldr r2, _080AD6BC @ =gUnknown_02038572 + ldr r2, _080AD6BC @ =gUnknown_02038570 + 0x2 adds r1, r2 bl StringCopy ldr r0, _080AD6C0 @ =gStringVar2 @@ -4399,7 +4399,7 @@ _080AD664: .align 2, 0 _080AD6B4: .4byte 0x02019260 _080AD6B8: .4byte gStringVar1 -_080AD6BC: .4byte gUnknown_02038572 +_080AD6BC: .4byte gUnknown_02038570 + 0x2 _080AD6C0: .4byte gStringVar2 _080AD6C4: .4byte gMoveNames _080AD6C8: .4byte gStringVar4 @@ -4548,7 +4548,7 @@ _080AD7E8: bl sub_80AF138 ldr r0, _080AD828 @ =gStringVar1 lsls r1, r7, 6 - ldr r2, _080AD82C @ =gUnknown_02038572 + ldr r2, _080AD82C @ =gUnknown_02038570 + 0x2 adds r1, r2 bl StringCopy ldr r4, _080AD830 @ =gStringVar4 @@ -4574,7 +4574,7 @@ _080AD7E8: b _080AD8CA .align 2, 0 _080AD828: .4byte gStringVar1 -_080AD82C: .4byte gUnknown_02038572 +_080AD82C: .4byte gUnknown_02038570 + 0x2 _080AD830: .4byte gStringVar4 _080AD834: .4byte gUnknown_083CB00D _080AD838: .4byte gMenuWindow @@ -5043,7 +5043,7 @@ sub_80ADB88: @ 80ADB88 ldr r0, _080ADBF4 @ =gStringVar1 ldrb r1, [r6] lsls r1, 6 - ldr r2, _080ADBF8 @ =gUnknown_02038572 + ldr r2, _080ADBF8 @ =gUnknown_02038570 + 0x2 adds r1, r2 bl StringCopy ldr r6, _080ADBFC @ =gStringVar4 @@ -5076,7 +5076,7 @@ sub_80ADB88: @ 80ADB88 _080ADBEC: .4byte gUnknown_02038695 _080ADBF0: .4byte 0x02019260 _080ADBF4: .4byte gStringVar1 -_080ADBF8: .4byte gUnknown_02038572 +_080ADBF8: .4byte gUnknown_02038570 + 0x2 _080ADBFC: .4byte gStringVar4 _080ADC00: .4byte gUnknown_083CB2F0 _080ADC04: .4byte gMenuWindow @@ -5804,7 +5804,7 @@ _080AE19A: ldr r5, _080AE2C4 @ =gUnknown_02038695 ldrb r0, [r5] lsls r0, 6 - ldr r1, _080AE2C8 @ =gUnknown_02038572 + ldr r1, _080AE2C8 @ =gUnknown_02038570 + 0x2 mov r8, r1 add r0, r8 mov r1, sp @@ -5937,7 +5937,7 @@ _080AE19A: b _080AE31E .align 2, 0 _080AE2C4: .4byte gUnknown_02038695 -_080AE2C8: .4byte gUnknown_02038572 +_080AE2C8: .4byte gUnknown_02038570 + 0x2 _080AE2CC: .4byte gPlayerParty _080AE2D0: cmp r2, 0xFF @@ -6499,7 +6499,7 @@ sub_80AE6E4: @ 80AE6E4 strb r0, [r3, 0x2] adds r3, 0x3 lsls r1, r4, 6 - ldr r0, _080AE760 @ =gUnknown_02038572 + ldr r0, _080AE760 @ =gUnknown_02038570 + 0x2 adds r1, r0 adds r0, r3, 0 bl sub_80AE598 @@ -6541,7 +6541,7 @@ sub_80AE6E4: @ 80AE6E4 bx r0 .align 2, 0 _080AE75C: .4byte gUnknown_020238CC -_080AE760: .4byte gUnknown_02038572 +_080AE760: .4byte gUnknown_02038570 + 0x2 _080AE764: .4byte gUnknown_03004210 _080AE768: .4byte gUnknown_02038696 _080AE76C: .4byte gUnknown_083CA308 @@ -12550,7 +12550,7 @@ sub_80B146C: @ 80B146C lsrs r5, r1, 24 ldr r0, _080B14C8 @ =gStringVar1 lsls r1, r4, 6 - ldr r2, _080B14CC @ =gUnknown_02038572 + ldr r2, _080B14CC @ =gUnknown_02038570 + 0x2 adds r1, r2 bl StringCopy ldr r0, _080B14D0 @ =gStringVar2 @@ -12586,7 +12586,7 @@ sub_80B146C: @ 80B146C b _080B1538 .align 2, 0 _080B14C8: .4byte gStringVar1 -_080B14CC: .4byte gUnknown_02038572 +_080B14CC: .4byte gUnknown_02038570 + 0x2 _080B14D0: .4byte gStringVar2 _080B14D4: .4byte 0x02019260 _080B14D8: .4byte gMoveNames diff --git a/asm/contest_link_80C2020.s b/asm/contest_link_80C2020.s index d4b9a7c0f..4149db9dc 100644 --- a/asm/contest_link_80C2020.s +++ b/asm/contest_link_80C2020.s @@ -301,7 +301,7 @@ _080C2296: strb r0, [r2, 0x2] adds r2, 0x3 lsls r6, r5, 6 - ldr r7, _080C22EC @ =gUnknown_02038572 + ldr r7, _080C22EC @ =gUnknown_02038570 + 0x2 adds r1, r6, r7 adds r0, r2, 0 bl StringCopy @@ -332,7 +332,7 @@ _080C2296: b _080C230A .align 2, 0 _080C22E8: .4byte gUnknown_020238CC -_080C22EC: .4byte gUnknown_02038572 +_080C22EC: .4byte gUnknown_02038570 + 0x2 _080C22F0: .4byte gUnknown_083D17E0 _080C22F4: .4byte gUnknown_0203869A _080C22F8: .4byte gLinkPlayers + 0x8 @@ -1209,7 +1209,7 @@ _080C2A04: bl StringCopy _080C2A10: ldr r0, _080C2A58 @ =gStringVar2 - ldr r1, _080C2A5C @ =gUnknown_02038572 + ldr r1, _080C2A5C @ =gUnknown_02038570 + 0x2 adds r1, r4, r1 bl StringCopy ldr r1, _080C2A60 @ =gContestText_PokeWon @@ -1241,7 +1241,7 @@ _080C2A4A: .align 2, 0 _080C2A54: .4byte gUnknown_0203857D _080C2A58: .4byte gStringVar2 -_080C2A5C: .4byte gUnknown_02038572 +_080C2A5C: .4byte gUnknown_02038570 + 0x2 _080C2A60: .4byte gContestText_PokeWon _080C2A64: .4byte 0x02018000 _080C2A68: .4byte 0x0000ffff @@ -4867,7 +4867,7 @@ sub_80C4698: @ 80C4698 lsls r1, 24 lsrs r4, r1, 24 lsls r1, r4, 6 - ldr r0, _080C46E0 @ =gUnknown_02038572 + ldr r0, _080C46E0 @ =gUnknown_02038570 + 0x2 adds r1, r0 adds r0, r5, 0 bl StringCopy @@ -4897,7 +4897,7 @@ _080C46DA: pop {r0} bx r0 .align 2, 0 -_080C46E0: .4byte gUnknown_02038572 +_080C46E0: .4byte gUnknown_02038570 + 0x2 _080C46E4: .4byte gUnknown_0203869A _080C46E8: .4byte gLinkPlayers thumb_func_end sub_80C4698 diff --git a/asm/contest_link_80C857C.s b/asm/contest_link_80C857C.s index b44220769..b06a88faf 100644 --- a/asm/contest_link_80C857C.s +++ b/asm/contest_link_80C857C.s @@ -342,7 +342,7 @@ _080C87EA: mov r0, r10 movs r2, 0x40 bl memcpy - ldr r0, _080C8824 @ =gUnknown_02038572 + ldr r0, _080C8824 @ =gUnknown_02038570 + 0x2 adds r4, r5, r0 ldrh r0, [r6, 0x1A] cmp r0, 0x1 @@ -359,7 +359,7 @@ _080C87EA: _080C8818: .4byte gUnknown_02038570 _080C881C: .4byte gLinkPlayers _080C8820: .4byte gBlockRecvBuffer -_080C8824: .4byte gUnknown_02038572 +_080C8824: .4byte gUnknown_02038570 + 0x2 _080C8828: ldrb r0, [r4, 0xA] cmp r0, 0xFC diff --git a/asm/matsuda_debug_menu.s b/asm/matsuda_debug_menu.s new file mode 100644 index 000000000..2b7052f25 --- /dev/null +++ b/asm/matsuda_debug_menu.s @@ -0,0 +1,1579 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_80AA5BC +sub_80AA5BC: @ 80AA5BC + push {lr} + sub sp, 0x4 + lsls r0, 24 + ldr r2, _080AA5E0 @ =gMenuWindow + ldr r1, _080AA5E4 @ =gUnknown_083C93B4 + lsrs r0, 22 + adds r0, r1 + ldr r1, [r0] + movs r0, 0x12 + str r0, [sp] + adds r0, r2, 0 + movs r2, 0xC2 + movs r3, 0x3 + bl sub_8003460 + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_080AA5E0: .4byte gMenuWindow +_080AA5E4: .4byte gUnknown_083C93B4 + thumb_func_end sub_80AA5BC + + thumb_func_start sub_80AA5E8 +sub_80AA5E8: @ 80AA5E8 + push {lr} + sub sp, 0x4 + lsls r0, 24 + ldr r2, _080AA60C @ =gMenuWindow + ldr r1, _080AA610 @ =gUnknown_083C93F0 + lsrs r0, 22 + adds r0, r1 + ldr r1, [r0] + movs r0, 0x4 + str r0, [sp] + adds r0, r2, 0 + movs r2, 0xE8 + movs r3, 0x3 + bl sub_8003460 + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_080AA60C: .4byte gMenuWindow +_080AA610: .4byte gUnknown_083C93F0 + thumb_func_end sub_80AA5E8 + + thumb_func_start sub_80AA614 +sub_80AA614: @ 80AA614 + push {r4,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + bl sub_80AE770 + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + ldr r4, _080AA650 @ =0x02000000 + adds r0, r4, 0 + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + ldr r0, _080AA654 @ =gMenuWindow + movs r1, 0xC + str r1, [sp] + adds r1, r4, 0 + movs r2, 0xE2 + movs r3, 0x3 + bl sub_8003460 + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AA650: .4byte 0x02000000 +_080AA654: .4byte gMenuWindow + thumb_func_end sub_80AA614 + + thumb_func_start sub_80AA658 +sub_80AA658: @ 80AA658 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r5, 0 + bl sub_80AA340 + adds r0, r5, 0 + bl sub_80AA388 + adds r0, r5, 0 + bl sub_80AA3D0 + adds r0, r5, 0 + bl sub_80AA418 + adds r0, r5, 0 + bl sub_80AA460 + adds r0, r5, 0 + bl sub_80AA4A8 + movs r4, 0 +_080AA684: + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_80AA4F0 + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x3 + bls _080AA684 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80AA658 + + thumb_func_start sub_80AA69C +sub_80AA69C: @ 80AA69C + push {r4-r6,lr} + ldr r6, _080AA748 @ =gPlayerParty + ldr r5, _080AA74C @ =gUnknown_02038695 + ldrb r2, [r5] + lsls r2, 6 + ldr r4, _080AA750 @ =gUnknown_02038596 + adds r2, r4 + adds r0, r6, 0 + movs r1, 0x16 + bl SetMonData + ldrb r2, [r5] + lsls r2, 6 + adds r0, r4, 0x2 + adds r2, r0 + adds r0, r6, 0 + movs r1, 0x18 + bl SetMonData + ldrb r2, [r5] + lsls r2, 6 + adds r0, r4, 0x1 + adds r2, r0 + adds r0, r6, 0 + movs r1, 0x17 + bl SetMonData + ldrb r2, [r5] + lsls r2, 6 + adds r0, r4, 0x3 + adds r2, r0 + adds r0, r6, 0 + movs r1, 0x21 + bl SetMonData + ldrb r2, [r5] + lsls r2, 6 + adds r0, r4, 0x4 + adds r2, r0 + adds r0, r6, 0 + movs r1, 0x2F + bl SetMonData + ldrb r2, [r5] + lsls r2, 6 + adds r0, r4, 0x5 + adds r2, r0 + adds r0, r6, 0 + movs r1, 0x30 + bl SetMonData + ldrb r2, [r5] + lsls r2, 6 + subs r4, 0x8 + adds r2, r4 + adds r0, r6, 0 + movs r1, 0xD + bl SetMonData + ldrb r2, [r5] + lsls r2, 6 + adds r2, r4 + adds r2, 0x2 + adds r0, r6, 0 + movs r1, 0xE + bl SetMonData + ldrb r2, [r5] + lsls r2, 6 + adds r2, r4 + adds r2, 0x4 + adds r0, r6, 0 + movs r1, 0xF + bl SetMonData + ldrb r2, [r5] + lsls r2, 6 + adds r2, r4 + adds r2, 0x6 + adds r0, r6, 0 + movs r1, 0x10 + bl SetMonData + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080AA748: .4byte gPlayerParty +_080AA74C: .4byte gUnknown_02038695 +_080AA750: .4byte gUnknown_02038596 + thumb_func_end sub_80AA69C + + thumb_func_start sub_80AA754 +sub_80AA754: @ 80AA754 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _080AA774 @ =gMain + ldrh r1, [r0, 0x30] + cmp r1, 0x20 + beq _080AA7A2 + cmp r1, 0x20 + bgt _080AA782 + cmp r1, 0x2 + beq _080AA7F8 + cmp r1, 0x2 + bgt _080AA778 + cmp r1, 0x1 + beq _080AA7D8 + b _080AA870 + .align 2, 0 +_080AA774: .4byte gMain +_080AA778: + cmp r1, 0x8 + beq _080AA868 + cmp r1, 0x10 + beq _080AA7A2 + b _080AA870 +_080AA782: + cmp r1, 0x80 + beq _080AA7C2 + cmp r1, 0x80 + bgt _080AA790 + cmp r1, 0x40 + beq _080AA7AC + b _080AA870 +_080AA790: + movs r0, 0x80 + lsls r0, 1 + cmp r1, r0 + beq _080AA814 + movs r0, 0x80 + lsls r0, 2 + cmp r1, r0 + beq _080AA834 + b _080AA870 +_080AA7A2: + ldrh r0, [r4, 0x2E] + movs r1, 0x1 + eors r0, r1 + strh r0, [r4, 0x2E] + b _080AA870 +_080AA7AC: + ldrh r1, [r4, 0x30] + movs r2, 0x30 + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080AA7BC + movs r0, 0x8 + strh r0, [r4, 0x30] + b _080AA870 +_080AA7BC: + subs r0, r1, 0x1 + strh r0, [r4, 0x30] + b _080AA870 +_080AA7C2: + ldrh r1, [r4, 0x30] + movs r3, 0x30 + ldrsh r0, [r4, r3] + cmp r0, 0x8 + bne _080AA7D2 + movs r0, 0 + strh r0, [r4, 0x30] + b _080AA870 +_080AA7D2: + adds r0, r1, 0x1 + strh r0, [r4, 0x30] + b _080AA870 +_080AA7D8: + ldr r2, _080AA7F4 @ =gUnknown_083C92E4 + movs r1, 0x2E + ldrsh r0, [r4, r1] + lsls r0, 2 + movs r3, 0x30 + ldrsh r1, [r4, r3] + lsls r1, 3 + adds r0, r1 + adds r0, r2 + ldr r2, [r0] + adds r0, r4, 0 + movs r1, 0x1 + b _080AA84E + .align 2, 0 +_080AA7F4: .4byte gUnknown_083C92E4 +_080AA7F8: + ldr r1, _080AA810 @ =gUnknown_083C92E4 + movs r0, 0x2E + ldrsh r2, [r4, r0] + lsls r2, 2 + movs r3, 0x30 + ldrsh r0, [r4, r3] + lsls r0, 3 + adds r2, r0 + adds r2, r1 + movs r1, 0x1 + negs r1, r1 + b _080AA84A + .align 2, 0 +_080AA810: .4byte gUnknown_083C92E4 +_080AA814: + ldr r2, _080AA830 @ =gUnknown_083C92E4 + movs r1, 0x2E + ldrsh r0, [r4, r1] + lsls r0, 2 + movs r3, 0x30 + ldrsh r1, [r4, r3] + lsls r1, 3 + adds r0, r1 + adds r0, r2 + ldr r2, [r0] + adds r0, r4, 0 + movs r1, 0xA + b _080AA84E + .align 2, 0 +_080AA830: .4byte gUnknown_083C92E4 +_080AA834: + ldr r1, _080AA864 @ =gUnknown_083C92E4 + movs r0, 0x2E + ldrsh r2, [r4, r0] + lsls r2, 2 + movs r3, 0x30 + ldrsh r0, [r4, r3] + lsls r0, 3 + adds r2, r0 + adds r2, r1 + movs r1, 0xA + negs r1, r1 +_080AA84A: + ldr r2, [r2] + adds r0, r4, 0 +_080AA84E: + bl _call_via_r2 + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x34] + lsls r1, 24 + lsrs r1, 24 + bl sub_80AA614 + b _080AA870 + .align 2, 0 +_080AA864: .4byte gUnknown_083C92E4 +_080AA868: + adds r0, r4, 0 + movs r1, 0x1 + bl sub_80AAD08 +_080AA870: + ldr r2, _080AA898 @ =gUnknown_083C9296 + movs r0, 0x2E + ldrsh r1, [r4, r0] + movs r3, 0x30 + ldrsh r0, [r4, r3] + lsls r0, 1 + adds r1, r0 + adds r1, r2 + ldrb r0, [r1] + strh r0, [r4, 0x20] + ldr r1, _080AA89C @ =gUnknown_083C92A8 + movs r2, 0x30 + ldrsh r0, [r4, r2] + adds r0, r1 + ldrb r0, [r0] + strh r0, [r4, 0x22] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AA898: .4byte gUnknown_083C9296 +_080AA89C: .4byte gUnknown_083C92A8 + thumb_func_end sub_80AA754 + + thumb_func_start sub_80AA8A0 +sub_80AA8A0: @ 80AA8A0 + push {r4,lr} + adds r4, r0, 0 + lsls r2, 24 + lsrs r0, r2, 24 + lsls r1, 24 + asrs r1, 24 + cmp r1, 0x1 + bne _080AA8C0 + strh r0, [r4, 0x32] + bl sub_80AA280 + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + bl sub_80AA658 +_080AA8C0: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80AA8A0 + + thumb_func_start sub_80AA8C8 +sub_80AA8C8: @ 80AA8C8 + push {lr} + lsls r1, 24 + asrs r1, 24 + movs r2, 0 + bl sub_80AA8A0 + pop {r0} + bx r0 + thumb_func_end sub_80AA8C8 + + thumb_func_start sub_80AA8D8 +sub_80AA8D8: @ 80AA8D8 + push {lr} + lsls r1, 24 + asrs r1, 24 + movs r2, 0x1 + bl sub_80AA8A0 + pop {r0} + bx r0 + thumb_func_end sub_80AA8D8 + + thumb_func_start sub_80AA8E8 +sub_80AA8E8: @ 80AA8E8 + push {lr} + lsls r1, 24 + asrs r1, 24 + movs r2, 0x2 + bl sub_80AA8A0 + pop {r0} + bx r0 + thumb_func_end sub_80AA8E8 + + thumb_func_start sub_80AA8F8 +sub_80AA8F8: @ 80AA8F8 + push {lr} + lsls r1, 24 + asrs r1, 24 + movs r2, 0x3 + bl sub_80AA8A0 + pop {r0} + bx r0 + thumb_func_end sub_80AA8F8 + + thumb_func_start sub_80AA908 +sub_80AA908: @ 80AA908 + push {lr} + lsls r1, 24 + lsrs r1, 24 + lsls r2, 24 + asrs r2, 24 + adds r2, r1 + lsls r2, 16 + lsrs r0, r2, 16 + asrs r2, 16 + cmp r2, 0xFF + ble _080AA922 + movs r0, 0xFF + b _080AA928 +_080AA922: + cmp r2, 0 + bge _080AA928 + movs r0, 0 +_080AA928: + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_80AA908 + + thumb_func_start sub_80AA930 +sub_80AA930: @ 80AA930 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + ldr r5, _080AA970 @ =gUnknown_02038570 + movs r3, 0x32 + ldrsh r2, [r4, r3] + lsls r2, 6 + adds r2, r5 + adds r2, 0x26 + ldrb r3, [r2] + lsls r2, r1, 24 + asrs r2, 24 + adds r1, r3, 0 + bl sub_80AA908 + movs r2, 0x32 + ldrsh r1, [r4, r2] + lsls r1, 6 + adds r1, r5 + adds r1, 0x26 + strb r0, [r1] + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + bl sub_80AA340 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AA970: .4byte gUnknown_02038570 + thumb_func_end sub_80AA930 + + thumb_func_start sub_80AA974 +sub_80AA974: @ 80AA974 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + ldr r5, _080AA9B4 @ =gUnknown_02038570 + movs r3, 0x32 + ldrsh r2, [r4, r3] + lsls r2, 6 + adds r2, r5 + adds r2, 0x28 + ldrb r3, [r2] + lsls r2, r1, 24 + asrs r2, 24 + adds r1, r3, 0 + bl sub_80AA908 + movs r2, 0x32 + ldrsh r1, [r4, r2] + lsls r1, 6 + adds r1, r5 + adds r1, 0x28 + strb r0, [r1] + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + bl sub_80AA388 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AA9B4: .4byte gUnknown_02038570 + thumb_func_end sub_80AA974 + + thumb_func_start sub_80AA9B8 +sub_80AA9B8: @ 80AA9B8 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + ldr r5, _080AA9F8 @ =gUnknown_02038570 + movs r3, 0x32 + ldrsh r2, [r4, r3] + lsls r2, 6 + adds r2, r5 + adds r2, 0x27 + ldrb r3, [r2] + lsls r2, r1, 24 + asrs r2, 24 + adds r1, r3, 0 + bl sub_80AA908 + movs r2, 0x32 + ldrsh r1, [r4, r2] + lsls r1, 6 + adds r1, r5 + adds r1, 0x27 + strb r0, [r1] + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + bl sub_80AA3D0 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AA9F8: .4byte gUnknown_02038570 + thumb_func_end sub_80AA9B8 + + thumb_func_start sub_80AA9FC +sub_80AA9FC: @ 80AA9FC + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + ldr r5, _080AAA3C @ =gUnknown_02038570 + movs r3, 0x32 + ldrsh r2, [r4, r3] + lsls r2, 6 + adds r2, r5 + adds r2, 0x29 + ldrb r3, [r2] + lsls r2, r1, 24 + asrs r2, 24 + adds r1, r3, 0 + bl sub_80AA908 + movs r2, 0x32 + ldrsh r1, [r4, r2] + lsls r1, 6 + adds r1, r5 + adds r1, 0x29 + strb r0, [r1] + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + bl sub_80AA418 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AAA3C: .4byte gUnknown_02038570 + thumb_func_end sub_80AA9FC + + thumb_func_start sub_80AAA40 +sub_80AAA40: @ 80AAA40 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + ldr r5, _080AAA80 @ =gUnknown_02038570 + movs r3, 0x32 + ldrsh r2, [r4, r3] + lsls r2, 6 + adds r2, r5 + adds r2, 0x2A + ldrb r3, [r2] + lsls r2, r1, 24 + asrs r2, 24 + adds r1, r3, 0 + bl sub_80AA908 + movs r2, 0x32 + ldrsh r1, [r4, r2] + lsls r1, 6 + adds r1, r5 + adds r1, 0x2A + strb r0, [r1] + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + bl sub_80AA460 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AAA80: .4byte gUnknown_02038570 + thumb_func_end sub_80AAA40 + + thumb_func_start sub_80AAA84 +sub_80AAA84: @ 80AAA84 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + ldr r5, _080AAAC4 @ =gUnknown_02038570 + movs r3, 0x32 + ldrsh r2, [r4, r3] + lsls r2, 6 + adds r2, r5 + adds r2, 0x2B + ldrb r3, [r2] + lsls r2, r1, 24 + asrs r2, 24 + adds r1, r3, 0 + bl sub_80AA908 + movs r2, 0x32 + ldrsh r1, [r4, r2] + lsls r1, 6 + adds r1, r5 + adds r1, 0x2B + strb r0, [r1] + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + bl sub_80AA4A8 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AAAC4: .4byte gUnknown_02038570 + thumb_func_end sub_80AAA84 + + thumb_func_start sub_80AAAC8 +sub_80AAAC8: @ 80AAAC8 + push {lr} + lsls r1, 16 + lsrs r1, 16 + lsls r2, 24 + asrs r2, 24 + adds r1, r2 + lsls r1, 16 + lsrs r0, r1, 16 + asrs r1, 16 + movs r2, 0xB1 + lsls r2, 1 + cmp r1, r2 + ble _080AAAE6 + movs r0, 0x1 + b _080AAAEC +_080AAAE6: + cmp r1, 0 + bge _080AAAEC + adds r0, r2, 0 +_080AAAEC: + pop {r1} + bx r1 + thumb_func_end sub_80AAAC8 + + thumb_func_start sub_80AAAF0 +sub_80AAAF0: @ 80AAAF0 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + ldr r5, _080AAB2C @ =gUnknown_02038570 + movs r3, 0x32 + ldrsh r2, [r4, r3] + lsls r2, 6 + adds r2, r5 + ldrh r3, [r2, 0x1E] + lsls r2, r1, 24 + asrs r2, 24 + adds r1, r3, 0 + bl sub_80AAAC8 + movs r2, 0x32 + ldrsh r1, [r4, r2] + lsls r1, 6 + adds r1, r5 + strh r0, [r1, 0x1E] + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl sub_80AA4F0 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AAB2C: .4byte gUnknown_02038570 + thumb_func_end sub_80AAAF0 + + thumb_func_start sub_80AAB30 +sub_80AAB30: @ 80AAB30 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + ldr r5, _080AAB6C @ =gUnknown_02038570 + movs r3, 0x32 + ldrsh r2, [r4, r3] + lsls r2, 6 + adds r2, r5 + ldrh r3, [r2, 0x20] + lsls r2, r1, 24 + asrs r2, 24 + adds r1, r3, 0 + bl sub_80AAAC8 + movs r2, 0x32 + ldrsh r1, [r4, r2] + lsls r1, 6 + adds r1, r5 + strh r0, [r1, 0x20] + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x1 + bl sub_80AA4F0 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AAB6C: .4byte gUnknown_02038570 + thumb_func_end sub_80AAB30 + + thumb_func_start sub_80AAB70 +sub_80AAB70: @ 80AAB70 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + ldr r5, _080AABAC @ =gUnknown_02038570 + movs r3, 0x32 + ldrsh r2, [r4, r3] + lsls r2, 6 + adds r2, r5 + ldrh r3, [r2, 0x22] + lsls r2, r1, 24 + asrs r2, 24 + adds r1, r3, 0 + bl sub_80AAAC8 + movs r2, 0x32 + ldrsh r1, [r4, r2] + lsls r1, 6 + adds r1, r5 + strh r0, [r1, 0x22] + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x2 + bl sub_80AA4F0 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AABAC: .4byte gUnknown_02038570 + thumb_func_end sub_80AAB70 + + thumb_func_start sub_80AABB0 +sub_80AABB0: @ 80AABB0 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + ldr r5, _080AABEC @ =gUnknown_02038570 + movs r3, 0x32 + ldrsh r2, [r4, r3] + lsls r2, 6 + adds r2, r5 + ldrh r3, [r2, 0x24] + lsls r2, r1, 24 + asrs r2, 24 + adds r1, r3, 0 + bl sub_80AAAC8 + movs r2, 0x32 + ldrsh r1, [r4, r2] + lsls r1, 6 + adds r1, r5 + strh r0, [r1, 0x24] + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x3 + bl sub_80AA4F0 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AABEC: .4byte gUnknown_02038570 + thumb_func_end sub_80AABB0 + + thumb_func_start sub_80AABF0 +sub_80AABF0: @ 80AABF0 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r1, 24 + movs r0, 0xFF + cmp r1, 0 + ble _080AABFE + movs r0, 0x1 +_080AABFE: + lsls r0, 24 + asrs r0, 24 + ldrh r1, [r5, 0x34] + adds r0, r1 + lsls r0, 24 + lsrs r4, r0, 24 + asrs r0, 24 + cmp r0, 0 + bge _080AAC14 + movs r4, 0 + b _080AAC1A +_080AAC14: + cmp r0, 0x4 + ble _080AAC1A + movs r4, 0x4 +_080AAC1A: + lsls r4, 24 + lsrs r0, r4, 24 + bl sub_80AA5BC + asrs r4, 24 + strh r4, [r5, 0x34] + ldr r0, _080AAC54 @ =gScriptContestCategory + strh r4, [r0] + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080AAC58 @ =gScriptContestRank + ldrb r1, [r0] + adds r0, r4, 0 + bl sub_80AE398 + ldrh r0, [r5, 0x32] + lsls r0, 24 + lsrs r0, 24 + bl sub_80AA280 + ldrh r0, [r5, 0x32] + lsls r0, 24 + lsrs r0, 24 + bl sub_80AA658 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AAC54: .4byte gScriptContestCategory +_080AAC58: .4byte gScriptContestRank + thumb_func_end sub_80AABF0 + + thumb_func_start sub_80AAC5C +sub_80AAC5C: @ 80AAC5C + push {r4,r5,lr} + adds r5, r0, 0 + lsls r1, 24 + cmp r1, 0 + ble _080AAC78 + ldr r1, _080AAC74 @ =gScriptContestRank + ldrh r0, [r1] + adds r0, 0x1 + strh r0, [r1] + adds r4, r1, 0 + b _080AAC86 + .align 2, 0 +_080AAC74: .4byte gScriptContestRank +_080AAC78: + ldr r0, _080AACBC @ =gScriptContestRank + ldrh r2, [r0] + adds r4, r0, 0 + cmp r2, 0 + beq _080AAC86 + subs r0, r2, 0x1 + strh r0, [r4] +_080AAC86: + adds r1, r4, 0 + ldrh r0, [r1] + cmp r0, 0x3 + bls _080AAC92 + movs r0, 0x3 + strh r0, [r1] +_080AAC92: + ldrb r0, [r4] + bl sub_80AA5E8 + ldr r0, _080AACC0 @ =gScriptContestCategory + ldrb r0, [r0] + ldrb r1, [r4] + bl sub_80AE398 + ldrh r0, [r5, 0x32] + lsls r0, 24 + lsrs r0, 24 + bl sub_80AA280 + ldrh r0, [r5, 0x32] + lsls r0, 24 + lsrs r0, 24 + bl sub_80AA658 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AACBC: .4byte gScriptContestRank +_080AACC0: .4byte gScriptContestCategory + thumb_func_end sub_80AAC5C + + thumb_func_start sub_80AACC4 +sub_80AACC4: @ 80AACC4 + push {lr} + bl UpdatePaletteFade + ldr r0, _080AACF8 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _080AACF4 + bl sub_80AA69C + ldr r0, _080AACFC @ =gUnknown_0203869A + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _080AACEE + ldr r0, _080AAD00 @ =0x02000000 + ldrb r0, [r0] + bl sub_80AE82C +_080AACEE: + ldr r0, _080AAD04 @ =sub_80AB47C + bl SetMainCallback2 +_080AACF4: + pop {r0} + bx r0 + .align 2, 0 +_080AACF8: .4byte gPaletteFade +_080AACFC: .4byte gUnknown_0203869A +_080AAD00: .4byte 0x02000000 +_080AAD04: .4byte sub_80AB47C + thumb_func_end sub_80AACC4 + + thumb_func_start sub_80AAD08 +sub_80AAD08: @ 80AAD08 + push {r4,lr} + sub sp, 0x4 + lsls r1, 24 + asrs r1, 24 + cmp r1, 0x1 + bne _080AAD32 + ldr r1, _080AAD3C @ =0x02000000 + ldrh r0, [r0, 0x34] + movs r4, 0 + strb r0, [r1] + ldr r0, _080AAD40 @ =sub_80AACC4 + bl SetMainCallback2 + movs r0, 0x1 + negs r0, r0 + str r4, [sp] + movs r1, 0 + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade +_080AAD32: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080AAD3C: .4byte 0x02000000 +_080AAD40: .4byte sub_80AACC4 + thumb_func_end sub_80AAD08 + + thumb_func_start sub_80AAD44 +sub_80AAD44: @ 80AAD44 + push {r4,r5,lr} + lsls r1, 24 + asrs r1, 24 + cmp r1, 0x1 + bne _080AAD72 + bl sub_80AA69C + movs r4, 0 + ldr r5, _080AAD78 @ =gUnknown_02038670 +_080AAD56: + lsls r0, r4, 24 + lsrs r0, 24 + ldr r1, _080AAD7C @ =gScriptContestCategory + ldrb r1, [r1] + bl sub_80AE770 + strh r0, [r5] + adds r5, 0x2 + adds r4, 0x1 + cmp r4, 0x3 + ble _080AAD56 + ldr r0, _080AAD80 @ =sub_805469C + bl SetMainCallback2 +_080AAD72: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080AAD78: .4byte gUnknown_02038670 +_080AAD7C: .4byte gScriptContestCategory +_080AAD80: .4byte sub_805469C + thumb_func_end sub_80AAD44 + + thumb_func_start sub_80AAD84 +sub_80AAD84: @ 80AAD84 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x64 + mov r9, r0 + lsls r1, 24 + lsrs r1, 24 + str r1, [sp, 0x48] + lsls r2, 24 + lsrs r2, 24 + str r2, [sp, 0x4C] + lsls r3, 24 + lsrs r3, 24 + mov r10, r3 + mov r5, r10 + adds r5, 0x1 + lsls r1, r5, 8 + ldr r0, _080AAEC4 @ =0x06018000 + subs r1, r0, r1 + movs r0, 0 + str r0, [sp, 0x44] + ldr r4, _080AAEC8 @ =0x040000d4 + add r0, sp, 0x44 + str r0, [r4] + str r1, [r4, 0x4] + ldr r0, _080AAECC @ =0x85000040 + str r0, [r4, 0x8] + ldr r0, [r4, 0x8] + mov r0, r9 + bl StringLength + lsls r0, 16 + lsrs r7, r0, 16 + cmp r7, 0x8 + bls _080AADD0 + movs r7, 0x8 +_080AADD0: + movs r6, 0 + mov r8, r5 + mov r1, r10 + lsls r1, 1 + str r1, [sp, 0x58] + ldr r2, [sp, 0x48] + adds r2, 0x20 + str r2, [sp, 0x5C] + cmp r6, r7 + bge _080AAE1E + add r5, sp, 0x40 + add r0, sp, 0x20 + mov r10, r0 + ldr r2, _080AAEC4 @ =0x06018000 +_080AADEC: + mov r1, r9 + adds r0, r1, r6 + ldrb r0, [r0] + strb r0, [r5] + movs r0, 0xFF + strb r0, [r5, 0x1] + mov r0, sp + adds r1, r5, 0 + str r2, [sp, 0x60] + bl sub_80034D4 + mov r1, r8 + lsls r0, r1, 8 + ldr r2, [sp, 0x60] + subs r0, r2, r0 + mov r1, r10 + str r1, [r4] + str r0, [r4, 0x4] + ldr r0, _080AAED0 @ =0x84000008 + str r0, [r4, 0x8] + ldr r0, [r4, 0x8] + adds r2, 0x20 + adds r6, 0x1 + cmp r6, r7 + blt _080AADEC +_080AAE1E: + movs r1, 0x7C + ldr r2, [sp, 0x58] + subs r1, r2 + lsls r1, 24 + lsrs r7, r1, 24 + ldr r0, _080AAED4 @ =gMain + mov r9, r0 + lsls r3, r7, 3 + add r3, r9 + ldr r0, _080AAED8 @ =gUnknown_083C9400 + ldr r1, [r0] + ldr r2, [r0, 0x4] + str r1, [sp, 0x50] + str r2, [sp, 0x54] + str r1, [r3, 0x3C] + str r2, [r3, 0x40] + mov r2, r8 + lsls r0, r2, 3 + movs r1, 0x80 + lsls r1, 3 + adds r2, r1, 0 + subs r2, r0 + adds r6, r3, 0 + adds r6, 0x40 + ldr r0, _080AAEDC @ =0x000003ff + mov r8, r0 + mov r1, r8 + ands r2, r1 + ldrh r5, [r6] + ldr r4, _080AAEE0 @ =0xfffffc00 + adds r0, r4, 0 + ands r0, r5 + orrs r0, r2 + strh r0, [r6] + ldrh r5, [r3, 0x3E] + ldr r2, _080AAEE4 @ =0xfffffe00 + adds r0, r2, 0 + ands r0, r5 + ldr r1, [sp, 0x48] + orrs r0, r1 + strh r0, [r3, 0x3E] + adds r3, 0x3C + add r0, sp, 0x4C + ldrb r0, [r0] + strb r0, [r3] + adds r1, r7, 0x1 + lsls r1, 3 + mov r0, r9 + adds r7, r1, r0 + ldr r0, [sp, 0x50] + ldr r1, [sp, 0x54] + str r0, [r7, 0x3C] + str r1, [r7, 0x40] + ldrh r0, [r6] + lsls r0, 22 + lsrs r0, 22 + adds r0, 0x4 + adds r5, r7, 0 + adds r5, 0x40 + mov r1, r8 + ands r0, r1 + ldrh r3, [r5] + ands r4, r3 + orrs r4, r0 + strh r4, [r5] + ldrh r0, [r7, 0x3E] + ands r2, r0 + ldr r0, [sp, 0x5C] + orrs r2, r0 + strh r2, [r7, 0x3E] + adds r1, r7, 0 + adds r1, 0x3C + add r2, sp, 0x4C + ldrb r2, [r2] + strb r2, [r1] + add sp, 0x64 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AAEC4: .4byte 0x06018000 +_080AAEC8: .4byte 0x040000d4 +_080AAECC: .4byte 0x85000040 +_080AAED0: .4byte 0x84000008 +_080AAED4: .4byte gMain +_080AAED8: .4byte gUnknown_083C9400 +_080AAEDC: .4byte 0x000003ff +_080AAEE0: .4byte 0xfffffc00 +_080AAEE4: .4byte 0xfffffe00 + thumb_func_end sub_80AAD84 + + thumb_func_start unref_sub_80AAEE8 +unref_sub_80AAEE8: @ 80AAEE8 + push {r4-r7,lr} + sub sp, 0xC + adds r4, r0, 0 + lsls r1, 24 + lsrs r7, r1, 24 + lsls r2, 24 + lsrs r6, r2, 24 + lsls r3, 24 + lsrs r5, r3, 24 + movs r0, 0 + cmp r4, 0 + bge _080AAF08 + mov r1, sp + movs r0, 0xAE + strb r0, [r1] + movs r0, 0x1 +_080AAF08: + add r0, sp + adds r1, r4, 0 + cmp r1, 0 + bge _080AAF12 + negs r1, r1 +_080AAF12: + movs r2, 0 + movs r3, 0x8 + bl ConvertIntToDecimalStringN + mov r0, sp + adds r1, r7, 0 + adds r2, r6, 0 + adds r3, r5, 0 + bl sub_80AAD84 + add sp, 0xC + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end unref_sub_80AAEE8 + + thumb_func_start sub_80AAF30 +sub_80AAF30: @ 80AAF30 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + ldr r1, _080AAFC0 @ =gUnknown_0203856C + movs r0, 0x1 + strb r0, [r1] + ldr r1, _080AAFC4 @ =gUnknown_02038695 + movs r0, 0x3 + strb r0, [r1] + movs r0, 0 + bl sub_80AE098 + movs r4, 0x3 + movs r5, 0x1 + negs r5, r5 + ldr r3, _080AAFC8 @ =gUnknown_02038690 + movs r2, 0x3 +_080AAF56: + adds r1, r4, r3 + subs r0, r2, r4 + strb r0, [r1] + subs r4, 0x1 + cmp r4, r5 + bgt _080AAF56 + movs r4, 0 + movs r6, 0 + ldr r7, _080AAFCC @ =gUnknown_02038670 + ldr r5, _080AAFD0 @ =gUnknown_02038570 + mov r9, r5 +_080AAF6C: + lsls r1, r4, 1 + strh r6, [r7] + ldr r0, _080AAFD4 @ =gUnknown_02038680 + mov r8, r0 + adds r0, r1, r0 + strh r6, [r0] + ldr r3, _080AAFD8 @ =gUnknown_02038678 + adds r1, r3 + strh r6, [r1] + adds r0, r5, 0 + mov r1, r9 + adds r1, 0xC0 + movs r2, 0x40 + str r3, [sp] + bl memcpy + adds r7, 0x2 + adds r5, 0x40 + adds r4, 0x1 + ldr r3, [sp] + cmp r4, 0x2 + ble _080AAF6C + ldr r0, _080AAFCC @ =gUnknown_02038670 + movs r1, 0x96 + lsls r1, 1 + strh r1, [r0, 0x6] + movs r0, 0xC8 + lsls r0, 1 + mov r1, r8 + strh r0, [r1, 0x6] + strh r0, [r3, 0x6] + movs r0, 0xFE + bl sub_80B2A7C + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AAFC0: .4byte gUnknown_0203856C +_080AAFC4: .4byte gUnknown_02038695 +_080AAFC8: .4byte gUnknown_02038690 +_080AAFCC: .4byte gUnknown_02038670 +_080AAFD0: .4byte gUnknown_02038570 +_080AAFD4: .4byte gUnknown_02038680 +_080AAFD8: .4byte gUnknown_02038678 + thumb_func_end sub_80AAF30 + + thumb_func_start MasudaDebugMenu_SetHighScore +MasudaDebugMenu_SetHighScore: @ 80AAFDC + push {lr} + bl sub_80AAF30 + bl sub_8071C20 + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end MasudaDebugMenu_SetHighScore + + thumb_func_start MasudaDebugMenu_ResetHighScore +MasudaDebugMenu_ResetHighScore: @ 80AAFEC + push {r4,lr} + ldr r1, _080AB01C @ =gUnknown_0203856C + movs r0, 0 + strb r0, [r1] + movs r4, 0 + ldr r3, _080AB020 @ =gUnknown_02038678 + ldr r2, _080AB024 @ =gUnknown_02038680 + ldr r1, _080AB028 @ =gUnknown_02038670 + movs r0, 0x3 +_080AAFFE: + strh r4, [r1] + strh r4, [r2] + strh r4, [r3] + adds r3, 0x2 + adds r2, 0x2 + adds r1, 0x2 + subs r0, 0x1 + cmp r0, 0 + bge _080AAFFE + bl sub_8071C20 + movs r0, 0x1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080AB01C: .4byte gUnknown_0203856C +_080AB020: .4byte gUnknown_02038678 +_080AB024: .4byte gUnknown_02038680 +_080AB028: .4byte gUnknown_02038670 + thumb_func_end MasudaDebugMenu_ResetHighScore + + thumb_func_start MasudaDebugMenu_SetArtMuseumItems +MasudaDebugMenu_SetArtMuseumItems: @ 80AB02C + push {r4,r5,lr} + ldr r1, _080AB078 @ =gUnknown_02038695 + movs r0, 0x3 + strb r0, [r1] + movs r0, 0 + bl sub_80AE098 + movs r2, 0x3 + movs r5, 0x1 + negs r5, r5 + ldr r4, _080AB07C @ =gUnknown_02038690 + movs r3, 0x3 +_080AB044: + adds r1, r2, r4 + subs r0, r3, r2 + strb r0, [r1] + subs r2, 0x1 + cmp r2, r5 + bgt _080AB044 + ldr r1, _080AB080 @ =gScriptContestCategory + movs r0, 0 + strh r0, [r1] + adds r4, r1, 0 +_080AB058: + movs r0, 0xFF + bl sub_80B2A7C + ldrh r0, [r4] + adds r0, 0x1 + strh r0, [r4] + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x4 + bls _080AB058 + bl sub_8071C20 + movs r0, 0x1 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_080AB078: .4byte gUnknown_02038695 +_080AB07C: .4byte gUnknown_02038690 +_080AB080: .4byte gScriptContestCategory + thumb_func_end MasudaDebugMenu_SetArtMuseumItems + + thumb_func_start unref_sub_80AB084 +unref_sub_80AB084: @ 80AB084 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x8 + mov r8, r0 + ldr r0, _080AB160 @ =REG_BG0HOFS + movs r1, 0 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x22 + strh r1, [r0] + adds r0, 0x4 + strh r1, [r0] + subs r0, 0x2 + strh r1, [r0] + adds r0, 0x4 + strh r1, [r0] + movs r2, 0x80 + lsls r2, 19 + movs r3, 0xFA + lsls r3, 5 + adds r0, r3, 0 + strh r0, [r2] + ldr r3, _080AB164 @ =0x04000208 + ldrh r2, [r3] + strh r1, [r3] + ldr r4, _080AB168 @ =0x04000200 + ldrh r0, [r4] + movs r1, 0x1 + orrs r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r1, _080AB16C @ =REG_DISPSTAT + movs r0, 0x8 + strh r0, [r1] + bl ResetTasks + bl ResetSpriteData + ldr r0, _080AB170 @ =sub_80AB184 + bl SetMainCallback2 + movs r2, 0xC0 + lsls r2, 19 + movs r3, 0xC0 + lsls r3, 9 + movs r5, 0 + ldr r1, _080AB174 @ =0x040000d4 + movs r4, 0x80 + lsls r4, 5 + ldr r6, _080AB178 @ =0x85000400 + movs r7, 0x85 + lsls r7, 24 +_080AB108: + str r5, [sp, 0x4] + add r0, sp, 0x4 + str r0, [r1] + str r2, [r1, 0x4] + str r6, [r1, 0x8] + ldr r0, [r1, 0x8] + adds r2, r4 + subs r3, r4 + cmp r3, r4 + bhi _080AB108 + str r5, [sp, 0x4] + add r0, sp, 0x4 + str r0, [r1] + str r2, [r1, 0x4] + lsrs r0, r3, 2 + orrs r0, r7 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + ldr r4, _080AB17C @ =gWindowConfig_81E6FD8 + adds r0, r4, 0 + bl SetUpWindowConfig + ldr r5, _080AB180 @ =gUnknown_03004210 + adds r0, r5, 0 + adds r1, r4, 0 + bl InitWindowFromConfig + adds r0, r4, 0 + bl LoadFontDefaultPalette + movs r0, 0x7 + str r0, [sp] + adds r0, r5, 0 + mov r1, r8 + movs r2, 0x1 + movs r3, 0x9 + bl sub_8003460 + add sp, 0x8 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AB160: .4byte REG_BG0HOFS +_080AB164: .4byte 0x04000208 +_080AB168: .4byte 0x04000200 +_080AB16C: .4byte REG_DISPSTAT +_080AB170: .4byte sub_80AB184 +_080AB174: .4byte 0x040000d4 +_080AB178: .4byte 0x85000400 +_080AB17C: .4byte gWindowConfig_81E6FD8 +_080AB180: .4byte gUnknown_03004210 + thumb_func_end unref_sub_80AB084 + + thumb_func_start sub_80AB184 +sub_80AB184: @ 80AB184 + ldr r0, _080AB1A8 @ =REG_BG0HOFS + movs r1, 0 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + bx lr + .align 2, 0 +_080AB1A8: .4byte REG_BG0HOFS + thumb_func_end sub_80AB184 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/matuda_debug_menu.s b/asm/matuda_debug_menu.s deleted file mode 100644 index c2fb1f004..000000000 --- a/asm/matuda_debug_menu.s +++ /dev/null @@ -1,2877 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start unref_sub_80A9B28 -unref_sub_80A9B28: @ 80A9B28 - push {lr} - sub sp, 0x8 - bl MenuZeroFillScreen - movs r0, 0 - movs r1, 0 - movs r2, 0x11 - movs r3, 0x12 - bl MenuDrawTextWindow - ldr r3, _080A9B6C @ =gUnknown_083C91F0 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x7 - bl PrintMenuItems - movs r0, 0 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x7 - bl InitMenu - ldr r1, _080A9B70 @ =gCallback_03004AE8 - ldr r0, _080A9B74 @ =sub_80A9B78 - str r0, [r1] - movs r0, 0 - add sp, 0x8 - pop {r1} - bx r1 - .align 2, 0 -_080A9B6C: .4byte gUnknown_083C91F0 -_080A9B70: .4byte gCallback_03004AE8 -_080A9B74: .4byte sub_80A9B78 - thumb_func_end unref_sub_80A9B28 - - thumb_func_start sub_80A9B78 -sub_80A9B78: @ 80A9B78 - push {lr} - bl ProcessMenuInput - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - bne _080A9B8E - movs r0, 0 - b _080A9BB6 -_080A9B8E: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080A9BB0 - ldr r2, _080A9BA8 @ =gCallback_03004AE8 - ldr r0, _080A9BAC @ =gUnknown_083C91F0 - lsls r1, 3 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - str r0, [r2] - movs r0, 0 - b _080A9BB6 - .align 2, 0 -_080A9BA8: .4byte gCallback_03004AE8 -_080A9BAC: .4byte gUnknown_083C91F0 -_080A9BB0: - bl sub_8071C20 - movs r0, 0x1 -_080A9BB6: - pop {r1} - bx r1 - thumb_func_end sub_80A9B78 - - thumb_func_start sub_80A9BBC -sub_80A9BBC: @ 80A9BBC - push {lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _080A9BE0 @ =sub_80A9BE4 - movs r1, 0xFF - bl CreateTask - movs r0, 0x1 - add sp, 0x4 - pop {r1} - bx r1 - .align 2, 0 -_080A9BE0: .4byte sub_80A9BE4 - thumb_func_end sub_80A9BBC - - thumb_func_start sub_80A9BE4 -sub_80A9BE4: @ 80A9BE4 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080A9C14 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080A9C10 - adds r0, r2, 0 - bl DestroyTask - ldr r0, _080A9C18 @ =gUnknown_0203869A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080A9C0C - bl sub_80AF668 -_080A9C0C: - bl sub_80C2358 -_080A9C10: - pop {r0} - bx r0 - .align 2, 0 -_080A9C14: .4byte gPaletteFade -_080A9C18: .4byte gUnknown_0203869A - thumb_func_end sub_80A9BE4 - - thumb_func_start sub_80A9C1C -sub_80A9C1C: @ 80A9C1C - push {lr} - ldr r1, _080A9C30 @ =gUnknown_0203869A - movs r0, 0 - strb r0, [r1] - bl sub_80AA10C - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080A9C30: .4byte gUnknown_0203869A - thumb_func_end sub_80A9C1C - - thumb_func_start sub_80A9C34 -sub_80A9C34: @ 80A9C34 - push {lr} - bl sub_80AA10C - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_80A9C34 - - thumb_func_start sub_80A9C40 -sub_80A9C40: @ 80A9C40 - push {r4,r5,lr} - ldr r5, _080A9C88 @ =sub_80A9E3C - adds r0, r5, 0 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r2, _080A9C8C @ =sub_80A9C98 - adds r0, r4, 0 - adds r1, r5, 0 - bl SetTaskFuncWithFollowupFunc - ldr r0, _080A9C90 @ =sub_80A9E04 - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A9C94 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x1C] - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - strh r0, [r1, 0x1C] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080A9C88: .4byte sub_80A9E3C -_080A9C8C: .4byte sub_80A9C98 -_080A9C90: .4byte sub_80A9E04 -_080A9C94: .4byte gTasks - thumb_func_end sub_80A9C40 - - thumb_func_start sub_80A9C98 -sub_80A9C98: @ 80A9C98 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_80AE098 - ldr r1, _080A9CB8 @ =sub_80C8734 - ldr r2, _080A9CBC @ =sub_80A9CC0 - adds r0, r4, 0 - bl SetTaskFuncWithFollowupFunc - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9CB8: .4byte sub_80C8734 -_080A9CBC: .4byte sub_80A9CC0 - thumb_func_end sub_80A9C98 - - thumb_func_start sub_80A9CC0 -sub_80A9CC0: @ 80A9CC0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A9CD4 @ =sub_80C88AC - ldr r2, _080A9CD8 @ =sub_80A9CDC - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .align 2, 0 -_080A9CD4: .4byte sub_80C88AC -_080A9CD8: .4byte sub_80A9CDC - thumb_func_end sub_80A9CC0 - - thumb_func_start sub_80A9CDC -sub_80A9CDC: @ 80A9CDC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A9CF0 @ =sub_80C8E1C - ldr r2, _080A9CF4 @ =sub_80A9D58 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .align 2, 0 -_080A9CF0: .4byte sub_80C8E1C -_080A9CF4: .4byte sub_80A9D58 - thumb_func_end sub_80A9CDC - - thumb_func_start sub_80A9CF8 -sub_80A9CF8: @ 80A9CF8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080A9D28 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080A9D20 - ldr r0, _080A9D2C @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1, 0x1C] - bl DestroyTask - adds r0, r4, 0 - bl DestroyTask - bl sub_8071C20 -_080A9D20: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9D28: .4byte gReceivedRemoteLinkPlayers -_080A9D2C: .4byte gTasks - thumb_func_end sub_80A9CF8 - - thumb_func_start sub_80A9D30 -sub_80A9D30: @ 80A9D30 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_800832C - ldr r1, _080A9D50 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080A9D54 @ =sub_80A9CF8 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9D50: .4byte gTasks -_080A9D54: .4byte sub_80A9CF8 - thumb_func_end sub_80A9D30 - - thumb_func_start sub_80A9D58 -sub_80A9D58: @ 80A9D58 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - movs r3, 0 - ldr r1, _080A9DA8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, 0x12 - adds r2, r0, r1 -_080A9D6E: - mov r0, sp - adds r1, r0, r3 - ldrh r0, [r2] - strb r0, [r1] - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x3 - ble _080A9D6E - mov r0, sp - bl sub_80C4B34 - ldr r1, _080A9DAC @ =gUnknown_0203869B - strb r0, [r1] - ldr r0, _080A9DB0 @ =gScriptContestCategory - ldrb r0, [r0] - bl sub_80AE82C - movs r0, 0 - bl sub_80B0F28 - ldr r1, _080A9DB4 @ =sub_80C8EBC - ldr r2, _080A9DB8 @ =sub_80A9DBC - adds r0, r4, 0 - bl SetTaskFuncWithFollowupFunc - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9DA8: .4byte gTasks -_080A9DAC: .4byte gUnknown_0203869B -_080A9DB0: .4byte gScriptContestCategory -_080A9DB4: .4byte sub_80C8EBC -_080A9DB8: .4byte sub_80A9DBC - thumb_func_end sub_80A9D58 - - thumb_func_start sub_80A9DBC -sub_80A9DBC: @ 80A9DBC - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080A9DD0 @ =sub_80C8F34 - ldr r2, _080A9DD4 @ =sub_80A9DD8 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .align 2, 0 -_080A9DD0: .4byte sub_80C8F34 -_080A9DD4: .4byte sub_80A9DD8 - thumb_func_end sub_80A9DBC - - thumb_func_start sub_80A9DD8 -sub_80A9DD8: @ 80A9DD8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080A9E00 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x1C] - bl DestroyTask - adds r0, r4, 0 - bl DestroyTask - bl sub_8071C20 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9E00: .4byte gTasks - thumb_func_end sub_80A9DD8 - - thumb_func_start sub_80A9E04 -sub_80A9E04: @ 80A9E04 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _080A9E30 @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0x2 - bne _080A9E2A - ldr r2, _080A9E34 @ =gTasks - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r1, [r0, 0x1C] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, _080A9E38 @ =sub_80A9D30 - str r1, [r0] -_080A9E2A: - pop {r0} - bx r0 - .align 2, 0 -_080A9E30: .4byte gMain -_080A9E34: .4byte gTasks -_080A9E38: .4byte sub_80A9D30 - thumb_func_end sub_80A9E04 - - thumb_func_start sub_80A9E3C -sub_80A9E3C: @ 80A9E3C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl OpenLink - movs r1, 0 - ldr r3, _080A9E74 @ =gBlockRecvBuffer - movs r2, 0xFF -_080A9E4C: - lsls r0, r1, 8 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _080A9E4C - ldr r1, _080A9E78 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - ldr r1, _080A9E7C @ =sub_80A9E80 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9E74: .4byte gBlockRecvBuffer -_080A9E78: .4byte gTasks -_080A9E7C: .4byte sub_80A9E80 - thumb_func_end sub_80A9E3C - - thumb_func_start sub_80A9E80 -sub_80A9E80: @ 80A9E80 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A9EA0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r1, [r4, 0x8] - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0x9 - bgt _080A9EA4 - adds r0, r1, 0x1 - strh r0, [r4, 0x8] - b _080A9ECC - .align 2, 0 -_080A9EA0: .4byte gTasks -_080A9EA4: - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _080A9ECC - movs r0, 0 - strh r0, [r4, 0x8] - bl IsLinkMaster - lsls r0, 24 - cmp r0, 0 - beq _080A9EC8 - ldr r0, _080A9EC4 @ =sub_80A9ED8 - b _080A9ECA - .align 2, 0 -_080A9EC4: .4byte sub_80A9ED8 -_080A9EC8: - ldr r0, _080A9ED4 @ =sub_80A9F10 -_080A9ECA: - str r0, [r4] -_080A9ECC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9ED4: .4byte sub_80A9F10 - thumb_func_end sub_80A9E80 - - thumb_func_start sub_80A9ED8 -sub_80A9ED8: @ 80A9ED8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A9F08 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x65 - bne _080A9F02 - bl sub_8007F4C - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, _080A9F0C @ =sub_80A9F10 - str r0, [r4] -_080A9F02: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9F08: .4byte gTasks -_080A9F0C: .4byte sub_80A9F10 - thumb_func_end sub_80A9ED8 - - thumb_func_start sub_80A9F10 -sub_80A9F10: @ 80A9F10 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080A9F44 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080A9F3E - bl GetMultiplayerId - ldr r1, _080A9F48 @ =gUnknown_02038695 - strb r0, [r1] - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _080A9F3E - ldr r1, _080A9F4C @ =gUnknown_0203869A - movs r0, 0x1 - strb r0, [r1] - adds r0, r4, 0 - bl SwitchTaskToFollowupFunc -_080A9F3E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9F44: .4byte gReceivedRemoteLinkPlayers -_080A9F48: .4byte gUnknown_02038695 -_080A9F4C: .4byte gUnknown_0203869A - thumb_func_end sub_80A9F10 - - thumb_func_start sub_80A9F50 -sub_80A9F50: @ 80A9F50 - push {r4,lr} - movs r2, 0x80 - lsls r2, 19 - movs r0, 0x40 - strh r0, [r2] - ldrh r0, [r2] - movs r3, 0x88 - lsls r3, 5 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2] - ldr r4, _080A9FB8 @ =gWindowConfig_81E6C3C - adds r0, r4, 0 - bl SetUpWindowConfig - ldr r0, _080A9FBC @ =gMenuWindow - adds r1, r4, 0 - bl InitWindowFromConfig - ldr r0, _080A9FC0 @ =REG_MOSAIC - movs r1, 0 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x44 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldr r0, _080A9FC4 @ =gUnknown_030042A4 - strh r1, [r0] - ldr r0, _080A9FC8 @ =gUnknown_030042A0 - strh r1, [r0] - ldr r0, _080A9FCC @ =gUnknown_030042C0 - strh r1, [r0] - ldr r0, _080A9FD0 @ =gUnknown_030041B4 - strh r1, [r0] - ldr r0, _080A9FD4 @ =gUnknown_03004288 - strh r1, [r0] - ldr r0, _080A9FD8 @ =gUnknown_03004280 - strh r1, [r0] - ldr r0, _080A9FDC @ =gUnknown_030041B0 - strh r1, [r0] - ldr r0, _080A9FE0 @ =gUnknown_030041B8 - strh r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A9FB8: .4byte gWindowConfig_81E6C3C -_080A9FBC: .4byte gMenuWindow -_080A9FC0: .4byte REG_MOSAIC -_080A9FC4: .4byte gUnknown_030042A4 -_080A9FC8: .4byte gUnknown_030042A0 -_080A9FCC: .4byte gUnknown_030042C0 -_080A9FD0: .4byte gUnknown_030041B4 -_080A9FD4: .4byte gUnknown_03004288 -_080A9FD8: .4byte gUnknown_03004280 -_080A9FDC: .4byte gUnknown_030041B0 -_080A9FE0: .4byte gUnknown_030041B8 - thumb_func_end sub_80A9F50 - - thumb_func_start sub_80A9FE4 -sub_80A9FE4: @ 80A9FE4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - ldr r1, _080AA054 @ =gUnknown_083C9228 - mov r0, sp - movs r2, 0x5 - bl memcpy - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0xC0 - lsls r3, 9 - add r5, sp, 0x8 - movs r6, 0 - ldr r1, _080AA058 @ =0x040000d4 - movs r4, 0x80 - lsls r4, 5 - mov r12, r5 - ldr r7, _080AA05C @ =0x85000400 - movs r0, 0x85 - lsls r0, 24 - mov r8, r0 -_080AA012: - str r6, [sp, 0x8] - mov r0, r12 - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _080AA012 - str r6, [sp, 0x8] - str r5, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - mov r2, r8 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xC0 - lsls r0, 19 - mov r1, sp - bl sub_80034D4 - ldr r0, _080AA060 @ =gWindowConfig_81E6C3C - bl LoadFontDefaultPalette - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AA054: .4byte gUnknown_083C9228 -_080AA058: .4byte 0x040000d4 -_080AA05C: .4byte 0x85000400 -_080AA060: .4byte gWindowConfig_81E6C3C - thumb_func_end sub_80A9FE4 - - thumb_func_start sub_80AA064 -sub_80AA064: @ 80AA064 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTasks - bl UpdatePaletteFade - ldr r0, _080AA088 @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0x4 - bne _080AA084 - ldr r0, _080AA08C @ =sub_805469C - bl SetMainCallback2 -_080AA084: - pop {r0} - bx r0 - .align 2, 0 -_080AA088: .4byte gMain -_080AA08C: .4byte sub_805469C - thumb_func_end sub_80AA064 - - thumb_func_start sub_80AA090 -sub_80AA090: @ 80AA090 - push {lr} - ldr r1, _080AA0E8 @ =REG_BG0HOFS - ldr r0, _080AA0EC @ =gUnknown_030042A4 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080AA0F0 @ =gUnknown_030042A0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080AA0F4 @ =gUnknown_030042C0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080AA0F8 @ =gUnknown_030041B4 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080AA0FC @ =gUnknown_03004288 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080AA100 @ =gUnknown_03004280 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080AA104 @ =gUnknown_030041B0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldr r0, _080AA108 @ =gUnknown_030041B8 - ldrh r0, [r0] - strh r0, [r1] - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - bl sub_8089668 - pop {r0} - bx r0 - .align 2, 0 -_080AA0E8: .4byte REG_BG0HOFS -_080AA0EC: .4byte gUnknown_030042A4 -_080AA0F0: .4byte gUnknown_030042A0 -_080AA0F4: .4byte gUnknown_030042C0 -_080AA0F8: .4byte gUnknown_030041B4 -_080AA0FC: .4byte gUnknown_03004288 -_080AA100: .4byte gUnknown_03004280 -_080AA104: .4byte gUnknown_030041B0 -_080AA108: .4byte gUnknown_030041B8 - thumb_func_end sub_80AA090 - - thumb_func_start sub_80AA10C -sub_80AA10C: @ 80AA10C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r4, _080AA238 @ =gPaletteFade - ldrb r0, [r4, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r4, 0x8] - movs r0, 0 - bl SetVBlankCallback - bl sub_80A9F50 - bl dp12_8087EA4 - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - bl FreeAllSpritePalettes - bl sub_80A9FE4 - ldr r0, _080AA23C @ =sub_80AA090 - bl SetVBlankCallback - ldr r0, _080AA240 @ =sub_80AA064 - bl SetMainCallback2 - ldrb r1, [r4, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r4, 0x8] - ldr r4, _080AA244 @ =gUnknown_02038694 - movs r0, 0 - strb r0, [r4] - ldr r0, _080AA248 @ =gUnknown_02038570 - ldrb r0, [r0, 0x2] - cmp r0, 0 - bne _080AA16A - movs r0, 0 - movs r1, 0 - bl sub_80AE398 -_080AA16A: - ldrb r0, [r4] - bl sub_80AE098 - movs r5, 0 - ldr r6, _080AA24C @ =gUnknown_083C9276 - adds r0, r6, 0x1 - mov r8, r0 - ldr r7, _080AA250 @ =gUnknown_083C9364 -_080AA17A: - lsls r2, r5, 2 - adds r0, r2, r7 - ldr r1, [r0] - adds r2, r5 - lsls r2, 17 - movs r0, 0xA8 - lsls r0, 14 - adds r2, r0 - lsrs r2, 16 - lsls r4, r5, 1 - adds r0, r4, r6 - ldrb r3, [r0] - add r4, r8 - ldrb r0, [r4] - str r0, [sp] - ldr r0, _080AA254 @ =gMenuWindow - bl sub_8003460 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080AA17A - ldr r1, _080AA258 @ =gScriptContestCategory - ldr r4, _080AA25C @ =gScriptContestRank - movs r0, 0 - strh r0, [r4] - strh r0, [r1] - movs r5, 0 - movs r0, 0 - bl sub_80AA5BC - ldrb r0, [r4] - bl sub_80AA5E8 - ldr r4, _080AA254 @ =gMenuWindow - ldr r1, _080AA260 @ =gUnknown_083C9337 - movs r0, 0x12 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0xD6 - movs r3, 0x12 - bl sub_8003460 - ldr r1, _080AA264 @ =gUnknown_083C933B - movs r0, 0xC - str r0, [sp] - adds r0, r4, 0 - movs r2, 0xDC - movs r3, 0 - bl sub_8003460 - ldr r0, _080AA268 @ =gUnknown_083C92B4 - bl LoadSpriteSheet - ldr r0, _080AA26C @ =gUnknown_083C92BC - bl LoadSpritePalette - movs r0, 0x3 - bl sub_80AA280 - movs r0, 0x3 - bl sub_80AA658 - movs r0, 0x3 - movs r1, 0 - bl sub_80AA614 - ldr r0, _080AA270 @ =gSpriteTemplate_83C92CC - ldr r1, _080AA274 @ =gUnknown_083C9296 - ldrb r1, [r1, 0x3] - ldr r2, _080AA278 @ =gUnknown_083C92A8 - ldrb r2, [r2, 0x1] - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080AA27C @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x2E] - strh r0, [r1, 0x30] - movs r0, 0x3 - strh r0, [r1, 0x32] - strh r5, [r1, 0x34] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AA238: .4byte gPaletteFade -_080AA23C: .4byte sub_80AA090 -_080AA240: .4byte sub_80AA064 -_080AA244: .4byte gUnknown_02038694 -_080AA248: .4byte gUnknown_02038570 -_080AA24C: .4byte gUnknown_083C9276 -_080AA250: .4byte gUnknown_083C9364 -_080AA254: .4byte gMenuWindow -_080AA258: .4byte gScriptContestCategory -_080AA25C: .4byte gScriptContestRank -_080AA260: .4byte gUnknown_083C9337 -_080AA264: .4byte gUnknown_083C933B -_080AA268: .4byte gUnknown_083C92B4 -_080AA26C: .4byte gUnknown_083C92BC -_080AA270: .4byte gSpriteTemplate_83C92CC -_080AA274: .4byte gUnknown_083C9296 -_080AA278: .4byte gUnknown_083C92A8 -_080AA27C: .4byte gSprites - thumb_func_end sub_80AA10C - - thumb_func_start sub_80AA280 -sub_80AA280: @ 80AA280 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _080AA2E8 @ =gMenuWindow - movs r1, 0x1E - str r1, [sp] - movs r1, 0x3 - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillWindowRect_DefaultPalette - ldr r4, _080AA2EC @ =0x02000000 - ldr r1, _080AA2F0 @ =gUnknown_083C932C - adds r0, r4, 0 - bl StringCopy - lsls r1, r7, 6 - ldr r0, _080AA2F4 @ =gUnknown_0203857D - adds r1, r0 - adds r0, r4, 0 - bl StringAppend - movs r5, 0 - ldr r6, _080AA2F8 @ =gUnknown_083C926E - adds r0, r6, 0x1 - mov r8, r0 -_080AA2BE: - cmp r7, r5 - bne _080AA2FC - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 17 - movs r0, 0x80 - lsls r0, 10 - adds r2, r0 - lsrs r2, 16 - lsls r1, r5, 1 - adds r0, r1, r6 - ldrb r3, [r0] - add r1, r8 - ldrb r0, [r1] - str r0, [sp] - ldr r0, _080AA2E8 @ =gMenuWindow - ldr r1, _080AA2EC @ =0x02000000 - bl sub_8003460 - b _080AA322 - .align 2, 0 -_080AA2E8: .4byte gMenuWindow -_080AA2EC: .4byte 0x02000000 -_080AA2F0: .4byte gUnknown_083C932C -_080AA2F4: .4byte gUnknown_0203857D -_080AA2F8: .4byte gUnknown_083C926E -_080AA2FC: - lsls r1, r5, 6 - ldr r0, _080AA338 @ =gUnknown_0203857D - adds r1, r0 - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 17 - movs r0, 0x80 - lsls r0, 10 - adds r2, r0 - lsrs r2, 16 - lsls r4, r5, 1 - adds r0, r4, r6 - ldrb r3, [r0] - add r4, r8 - ldrb r0, [r4] - str r0, [sp] - ldr r0, _080AA33C @ =gMenuWindow - bl sub_8003460 -_080AA322: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _080AA2BE - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AA338: .4byte gUnknown_0203857D -_080AA33C: .4byte gMenuWindow - thumb_func_end sub_80AA280 - - thumb_func_start sub_80AA340 -sub_80AA340: @ 80AA340 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - ldr r4, _080AA378 @ =0x02000000 - ldr r1, _080AA37C @ =gUnknown_02038570 - lsrs r0, 18 - adds r0, r1 - adds r0, 0x26 - ldrb r1, [r0] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _080AA380 @ =gMenuWindow - ldr r1, _080AA384 @ =gUnknown_083C9282 - ldrb r3, [r1] - ldrb r1, [r1, 0x1] - str r1, [sp] - adds r1, r4, 0 - movs r2, 0x66 - bl sub_8003460 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA378: .4byte 0x02000000 -_080AA37C: .4byte gUnknown_02038570 -_080AA380: .4byte gMenuWindow -_080AA384: .4byte gUnknown_083C9282 - thumb_func_end sub_80AA340 - - thumb_func_start sub_80AA388 -sub_80AA388: @ 80AA388 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - ldr r4, _080AA3C0 @ =0x02000000 - ldr r1, _080AA3C4 @ =gUnknown_02038570 - lsrs r0, 18 - adds r0, r1 - adds r0, 0x28 - ldrb r1, [r0] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _080AA3C8 @ =gMenuWindow - ldr r1, _080AA3CC @ =gUnknown_083C9282 - ldrb r3, [r1, 0x2] - ldrb r1, [r1, 0x3] - str r1, [sp] - adds r1, r4, 0 - movs r2, 0x6C - bl sub_8003460 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA3C0: .4byte 0x02000000 -_080AA3C4: .4byte gUnknown_02038570 -_080AA3C8: .4byte gMenuWindow -_080AA3CC: .4byte gUnknown_083C9282 - thumb_func_end sub_80AA388 - - thumb_func_start sub_80AA3D0 -sub_80AA3D0: @ 80AA3D0 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - ldr r4, _080AA408 @ =0x02000000 - ldr r1, _080AA40C @ =gUnknown_02038570 - lsrs r0, 18 - adds r0, r1 - adds r0, 0x27 - ldrb r1, [r0] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _080AA410 @ =gMenuWindow - ldr r1, _080AA414 @ =gUnknown_083C9282 - ldrb r3, [r1, 0x4] - ldrb r1, [r1, 0x5] - str r1, [sp] - adds r1, r4, 0 - movs r2, 0x72 - bl sub_8003460 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA408: .4byte 0x02000000 -_080AA40C: .4byte gUnknown_02038570 -_080AA410: .4byte gMenuWindow -_080AA414: .4byte gUnknown_083C9282 - thumb_func_end sub_80AA3D0 - - thumb_func_start sub_80AA418 -sub_80AA418: @ 80AA418 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - ldr r4, _080AA450 @ =0x02000000 - ldr r1, _080AA454 @ =gUnknown_02038570 - lsrs r0, 18 - adds r0, r1 - adds r0, 0x29 - ldrb r1, [r0] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _080AA458 @ =gMenuWindow - ldr r1, _080AA45C @ =gUnknown_083C9282 - ldrb r3, [r1, 0x6] - ldrb r1, [r1, 0x7] - str r1, [sp] - adds r1, r4, 0 - movs r2, 0x78 - bl sub_8003460 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA450: .4byte 0x02000000 -_080AA454: .4byte gUnknown_02038570 -_080AA458: .4byte gMenuWindow -_080AA45C: .4byte gUnknown_083C9282 - thumb_func_end sub_80AA418 - - thumb_func_start sub_80AA460 -sub_80AA460: @ 80AA460 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - ldr r4, _080AA498 @ =0x02000000 - ldr r1, _080AA49C @ =gUnknown_02038570 - lsrs r0, 18 - adds r0, r1 - adds r0, 0x2A - ldrb r1, [r0] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _080AA4A0 @ =gMenuWindow - ldr r1, _080AA4A4 @ =gUnknown_083C9282 - ldrb r3, [r1, 0x8] - ldrb r1, [r1, 0x9] - str r1, [sp] - adds r1, r4, 0 - movs r2, 0x7E - bl sub_8003460 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA498: .4byte 0x02000000 -_080AA49C: .4byte gUnknown_02038570 -_080AA4A0: .4byte gMenuWindow -_080AA4A4: .4byte gUnknown_083C9282 - thumb_func_end sub_80AA460 - - thumb_func_start sub_80AA4A8 -sub_80AA4A8: @ 80AA4A8 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - ldr r4, _080AA4E0 @ =0x02000000 - ldr r1, _080AA4E4 @ =gUnknown_02038570 - lsrs r0, 18 - adds r0, r1 - adds r0, 0x2B - ldrb r1, [r0] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _080AA4E8 @ =gMenuWindow - ldr r1, _080AA4EC @ =gUnknown_083C9282 - ldrb r3, [r1, 0xA] - ldrb r1, [r1, 0xB] - str r1, [sp] - adds r1, r4, 0 - movs r2, 0x84 - bl sub_8003460 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA4E0: .4byte 0x02000000 -_080AA4E4: .4byte gUnknown_02038570 -_080AA4E8: .4byte gMenuWindow -_080AA4EC: .4byte gUnknown_083C9282 - thumb_func_end sub_80AA4A8 - - thumb_func_start sub_80AA4F0 -sub_80AA4F0: @ 80AA4F0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r4, r0, 0 - adds r6, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r7, _080AA5A8 @ =gMenuWindow - ldr r0, _080AA5AC @ =gUnknown_083C928E - lsls r5, r6, 1 - adds r1, r5, r0 - ldrb r1, [r1] - mov r9, r1 - adds r0, 0x1 - adds r0, r5, r0 - ldrb r0, [r0] - mov r10, r0 - movs r0, 0x7 - add r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - str r0, [sp] - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - adds r0, r7, 0 - movs r1, 0 - mov r2, r9 - mov r3, r10 - bl FillWindowRect_DefaultPalette - ldr r0, _080AA5B0 @ =gUnknown_02038570 - lsls r4, 6 - adds r4, r5, r4 - adds r0, 0x1E - adds r4, r0 - ldrh r1, [r4] - movs r0, 0xD - muls r1, r0 - ldr r0, _080AA5B4 @ =gMoveNames - adds r1, r0 - lsls r2, r6, 3 - subs r2, r6 - lsls r2, 17 - movs r0, 0x8A - lsls r0, 16 - adds r2, r0 - lsrs r2, 16 - mov r0, r10 - str r0, [sp] - adds r0, r7, 0 - mov r3, r9 - bl sub_8003460 - ldr r0, _080AA5B8 @ =gStringVar1 - mov r9, r0 - ldrh r1, [r4] - movs r2, 0x2 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r5, r6 - lsls r5, 17 - movs r0, 0xFA - lsls r0, 16 - adds r5, r0 - lsrs r5, 16 - mov r0, r10 - str r0, [sp] - adds r0, r7, 0 - mov r1, r9 - adds r2, r5, 0 - mov r3, r8 - bl sub_8003460 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AA5A8: .4byte gMenuWindow -_080AA5AC: .4byte gUnknown_083C928E -_080AA5B0: .4byte gUnknown_02038570 -_080AA5B4: .4byte gMoveNames -_080AA5B8: .4byte gStringVar1 - thumb_func_end sub_80AA4F0 - - thumb_func_start sub_80AA5BC -sub_80AA5BC: @ 80AA5BC - push {lr} - sub sp, 0x4 - lsls r0, 24 - ldr r2, _080AA5E0 @ =gMenuWindow - ldr r1, _080AA5E4 @ =gUnknown_083C93B4 - lsrs r0, 22 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x12 - str r0, [sp] - adds r0, r2, 0 - movs r2, 0xC2 - movs r3, 0x3 - bl sub_8003460 - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080AA5E0: .4byte gMenuWindow -_080AA5E4: .4byte gUnknown_083C93B4 - thumb_func_end sub_80AA5BC - - thumb_func_start sub_80AA5E8 -sub_80AA5E8: @ 80AA5E8 - push {lr} - sub sp, 0x4 - lsls r0, 24 - ldr r2, _080AA60C @ =gMenuWindow - ldr r1, _080AA610 @ =gUnknown_083C93F0 - lsrs r0, 22 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x4 - str r0, [sp] - adds r0, r2, 0 - movs r2, 0xE8 - movs r3, 0x3 - bl sub_8003460 - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080AA60C: .4byte gMenuWindow -_080AA610: .4byte gUnknown_083C93F0 - thumb_func_end sub_80AA5E8 - - thumb_func_start sub_80AA614 -sub_80AA614: @ 80AA614 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - bl sub_80AE770 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r4, _080AA650 @ =0x02000000 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _080AA654 @ =gMenuWindow - movs r1, 0xC - str r1, [sp] - adds r1, r4, 0 - movs r2, 0xE2 - movs r3, 0x3 - bl sub_8003460 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA650: .4byte 0x02000000 -_080AA654: .4byte gMenuWindow - thumb_func_end sub_80AA614 - - thumb_func_start sub_80AA658 -sub_80AA658: @ 80AA658 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_80AA340 - adds r0, r5, 0 - bl sub_80AA388 - adds r0, r5, 0 - bl sub_80AA3D0 - adds r0, r5, 0 - bl sub_80AA418 - adds r0, r5, 0 - bl sub_80AA460 - adds r0, r5, 0 - bl sub_80AA4A8 - movs r4, 0 -_080AA684: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80AA4F0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080AA684 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80AA658 - - thumb_func_start sub_80AA69C -sub_80AA69C: @ 80AA69C - push {r4-r6,lr} - ldr r6, _080AA748 @ =gPlayerParty - ldr r5, _080AA74C @ =gUnknown_02038695 - ldrb r2, [r5] - lsls r2, 6 - ldr r4, _080AA750 @ =gUnknown_02038596 - adds r2, r4 - adds r0, r6, 0 - movs r1, 0x16 - bl SetMonData - ldrb r2, [r5] - lsls r2, 6 - adds r0, r4, 0x2 - adds r2, r0 - adds r0, r6, 0 - movs r1, 0x18 - bl SetMonData - ldrb r2, [r5] - lsls r2, 6 - adds r0, r4, 0x1 - adds r2, r0 - adds r0, r6, 0 - movs r1, 0x17 - bl SetMonData - ldrb r2, [r5] - lsls r2, 6 - adds r0, r4, 0x3 - adds r2, r0 - adds r0, r6, 0 - movs r1, 0x21 - bl SetMonData - ldrb r2, [r5] - lsls r2, 6 - adds r0, r4, 0x4 - adds r2, r0 - adds r0, r6, 0 - movs r1, 0x2F - bl SetMonData - ldrb r2, [r5] - lsls r2, 6 - adds r0, r4, 0x5 - adds r2, r0 - adds r0, r6, 0 - movs r1, 0x30 - bl SetMonData - ldrb r2, [r5] - lsls r2, 6 - subs r4, 0x8 - adds r2, r4 - adds r0, r6, 0 - movs r1, 0xD - bl SetMonData - ldrb r2, [r5] - lsls r2, 6 - adds r2, r4 - adds r2, 0x2 - adds r0, r6, 0 - movs r1, 0xE - bl SetMonData - ldrb r2, [r5] - lsls r2, 6 - adds r2, r4 - adds r2, 0x4 - adds r0, r6, 0 - movs r1, 0xF - bl SetMonData - ldrb r2, [r5] - lsls r2, 6 - adds r2, r4 - adds r2, 0x6 - adds r0, r6, 0 - movs r1, 0x10 - bl SetMonData - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080AA748: .4byte gPlayerParty -_080AA74C: .4byte gUnknown_02038695 -_080AA750: .4byte gUnknown_02038596 - thumb_func_end sub_80AA69C - - thumb_func_start sub_80AA754 -sub_80AA754: @ 80AA754 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080AA774 @ =gMain - ldrh r1, [r0, 0x30] - cmp r1, 0x20 - beq _080AA7A2 - cmp r1, 0x20 - bgt _080AA782 - cmp r1, 0x2 - beq _080AA7F8 - cmp r1, 0x2 - bgt _080AA778 - cmp r1, 0x1 - beq _080AA7D8 - b _080AA870 - .align 2, 0 -_080AA774: .4byte gMain -_080AA778: - cmp r1, 0x8 - beq _080AA868 - cmp r1, 0x10 - beq _080AA7A2 - b _080AA870 -_080AA782: - cmp r1, 0x80 - beq _080AA7C2 - cmp r1, 0x80 - bgt _080AA790 - cmp r1, 0x40 - beq _080AA7AC - b _080AA870 -_080AA790: - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - beq _080AA814 - movs r0, 0x80 - lsls r0, 2 - cmp r1, r0 - beq _080AA834 - b _080AA870 -_080AA7A2: - ldrh r0, [r4, 0x2E] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x2E] - b _080AA870 -_080AA7AC: - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080AA7BC - movs r0, 0x8 - strh r0, [r4, 0x30] - b _080AA870 -_080AA7BC: - subs r0, r1, 0x1 - strh r0, [r4, 0x30] - b _080AA870 -_080AA7C2: - ldrh r1, [r4, 0x30] - movs r3, 0x30 - ldrsh r0, [r4, r3] - cmp r0, 0x8 - bne _080AA7D2 - movs r0, 0 - strh r0, [r4, 0x30] - b _080AA870 -_080AA7D2: - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - b _080AA870 -_080AA7D8: - ldr r2, _080AA7F4 @ =gUnknown_083C92E4 - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r0, 2 - movs r3, 0x30 - ldrsh r1, [r4, r3] - lsls r1, 3 - adds r0, r1 - adds r0, r2 - ldr r2, [r0] - adds r0, r4, 0 - movs r1, 0x1 - b _080AA84E - .align 2, 0 -_080AA7F4: .4byte gUnknown_083C92E4 -_080AA7F8: - ldr r1, _080AA810 @ =gUnknown_083C92E4 - movs r0, 0x2E - ldrsh r2, [r4, r0] - lsls r2, 2 - movs r3, 0x30 - ldrsh r0, [r4, r3] - lsls r0, 3 - adds r2, r0 - adds r2, r1 - movs r1, 0x1 - negs r1, r1 - b _080AA84A - .align 2, 0 -_080AA810: .4byte gUnknown_083C92E4 -_080AA814: - ldr r2, _080AA830 @ =gUnknown_083C92E4 - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r0, 2 - movs r3, 0x30 - ldrsh r1, [r4, r3] - lsls r1, 3 - adds r0, r1 - adds r0, r2 - ldr r2, [r0] - adds r0, r4, 0 - movs r1, 0xA - b _080AA84E - .align 2, 0 -_080AA830: .4byte gUnknown_083C92E4 -_080AA834: - ldr r1, _080AA864 @ =gUnknown_083C92E4 - movs r0, 0x2E - ldrsh r2, [r4, r0] - lsls r2, 2 - movs r3, 0x30 - ldrsh r0, [r4, r3] - lsls r0, 3 - adds r2, r0 - adds r2, r1 - movs r1, 0xA - negs r1, r1 -_080AA84A: - ldr r2, [r2] - adds r0, r4, 0 -_080AA84E: - bl _call_via_r2 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - bl sub_80AA614 - b _080AA870 - .align 2, 0 -_080AA864: .4byte gUnknown_083C92E4 -_080AA868: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80AAD08 -_080AA870: - ldr r2, _080AA898 @ =gUnknown_083C9296 - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r3, 0x30 - ldrsh r0, [r4, r3] - lsls r0, 1 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - strh r0, [r4, 0x20] - ldr r1, _080AA89C @ =gUnknown_083C92A8 - movs r2, 0x30 - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4, 0x22] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA898: .4byte gUnknown_083C9296 -_080AA89C: .4byte gUnknown_083C92A8 - thumb_func_end sub_80AA754 - - thumb_func_start sub_80AA8A0 -sub_80AA8A0: @ 80AA8A0 - push {r4,lr} - adds r4, r0, 0 - lsls r2, 24 - lsrs r0, r2, 24 - lsls r1, 24 - asrs r1, 24 - cmp r1, 0x1 - bne _080AA8C0 - strh r0, [r4, 0x32] - bl sub_80AA280 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA658 -_080AA8C0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AA8A0 - - thumb_func_start sub_80AA8C8 -sub_80AA8C8: @ 80AA8C8 - push {lr} - lsls r1, 24 - asrs r1, 24 - movs r2, 0 - bl sub_80AA8A0 - pop {r0} - bx r0 - thumb_func_end sub_80AA8C8 - - thumb_func_start sub_80AA8D8 -sub_80AA8D8: @ 80AA8D8 - push {lr} - lsls r1, 24 - asrs r1, 24 - movs r2, 0x1 - bl sub_80AA8A0 - pop {r0} - bx r0 - thumb_func_end sub_80AA8D8 - - thumb_func_start sub_80AA8E8 -sub_80AA8E8: @ 80AA8E8 - push {lr} - lsls r1, 24 - asrs r1, 24 - movs r2, 0x2 - bl sub_80AA8A0 - pop {r0} - bx r0 - thumb_func_end sub_80AA8E8 - - thumb_func_start sub_80AA8F8 -sub_80AA8F8: @ 80AA8F8 - push {lr} - lsls r1, 24 - asrs r1, 24 - movs r2, 0x3 - bl sub_80AA8A0 - pop {r0} - bx r0 - thumb_func_end sub_80AA8F8 - - thumb_func_start sub_80AA908 -sub_80AA908: @ 80AA908 - push {lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - asrs r2, 24 - adds r2, r1 - lsls r2, 16 - lsrs r0, r2, 16 - asrs r2, 16 - cmp r2, 0xFF - ble _080AA922 - movs r0, 0xFF - b _080AA928 -_080AA922: - cmp r2, 0 - bge _080AA928 - movs r0, 0 -_080AA928: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80AA908 - - thumb_func_start sub_80AA930 -sub_80AA930: @ 80AA930 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AA970 @ =gUnknown_02038570 - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - adds r2, 0x26 - ldrb r3, [r2] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AA908 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - adds r1, 0x26 - strb r0, [r1] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA340 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AA970: .4byte gUnknown_02038570 - thumb_func_end sub_80AA930 - - thumb_func_start sub_80AA974 -sub_80AA974: @ 80AA974 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AA9B4 @ =gUnknown_02038570 - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - adds r2, 0x28 - ldrb r3, [r2] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AA908 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - adds r1, 0x28 - strb r0, [r1] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA388 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AA9B4: .4byte gUnknown_02038570 - thumb_func_end sub_80AA974 - - thumb_func_start sub_80AA9B8 -sub_80AA9B8: @ 80AA9B8 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AA9F8 @ =gUnknown_02038570 - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - adds r2, 0x27 - ldrb r3, [r2] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AA908 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - adds r1, 0x27 - strb r0, [r1] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA3D0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AA9F8: .4byte gUnknown_02038570 - thumb_func_end sub_80AA9B8 - - thumb_func_start sub_80AA9FC -sub_80AA9FC: @ 80AA9FC - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AAA3C @ =gUnknown_02038570 - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - adds r2, 0x29 - ldrb r3, [r2] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AA908 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - adds r1, 0x29 - strb r0, [r1] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA418 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AAA3C: .4byte gUnknown_02038570 - thumb_func_end sub_80AA9FC - - thumb_func_start sub_80AAA40 -sub_80AAA40: @ 80AAA40 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AAA80 @ =gUnknown_02038570 - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - adds r2, 0x2A - ldrb r3, [r2] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AA908 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - adds r1, 0x2A - strb r0, [r1] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA460 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AAA80: .4byte gUnknown_02038570 - thumb_func_end sub_80AAA40 - - thumb_func_start sub_80AAA84 -sub_80AAA84: @ 80AAA84 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AAAC4 @ =gUnknown_02038570 - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - adds r2, 0x2B - ldrb r3, [r2] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AA908 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - adds r1, 0x2B - strb r0, [r1] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA4A8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AAAC4: .4byte gUnknown_02038570 - thumb_func_end sub_80AAA84 - - thumb_func_start sub_80AAAC8 -sub_80AAAC8: @ 80AAAC8 - push {lr} - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - asrs r2, 24 - adds r1, r2 - lsls r1, 16 - lsrs r0, r1, 16 - asrs r1, 16 - movs r2, 0xB1 - lsls r2, 1 - cmp r1, r2 - ble _080AAAE6 - movs r0, 0x1 - b _080AAAEC -_080AAAE6: - cmp r1, 0 - bge _080AAAEC - adds r0, r2, 0 -_080AAAEC: - pop {r1} - bx r1 - thumb_func_end sub_80AAAC8 - - thumb_func_start sub_80AAAF0 -sub_80AAAF0: @ 80AAAF0 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AAB2C @ =gUnknown_02038570 - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - ldrh r3, [r2, 0x1E] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AAAC8 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - strh r0, [r1, 0x1E] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_80AA4F0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AAB2C: .4byte gUnknown_02038570 - thumb_func_end sub_80AAAF0 - - thumb_func_start sub_80AAB30 -sub_80AAB30: @ 80AAB30 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AAB6C @ =gUnknown_02038570 - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - ldrh r3, [r2, 0x20] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AAAC8 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - strh r0, [r1, 0x20] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_80AA4F0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AAB6C: .4byte gUnknown_02038570 - thumb_func_end sub_80AAB30 - - thumb_func_start sub_80AAB70 -sub_80AAB70: @ 80AAB70 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AABAC @ =gUnknown_02038570 - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - ldrh r3, [r2, 0x22] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AAAC8 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - strh r0, [r1, 0x22] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_80AA4F0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AABAC: .4byte gUnknown_02038570 - thumb_func_end sub_80AAB70 - - thumb_func_start sub_80AABB0 -sub_80AABB0: @ 80AABB0 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080AABEC @ =gUnknown_02038570 - movs r3, 0x32 - ldrsh r2, [r4, r3] - lsls r2, 6 - adds r2, r5 - ldrh r3, [r2, 0x24] - lsls r2, r1, 24 - asrs r2, 24 - adds r1, r3, 0 - bl sub_80AAAC8 - movs r2, 0x32 - ldrsh r1, [r4, r2] - lsls r1, 6 - adds r1, r5 - strh r0, [r1, 0x24] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl sub_80AA4F0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AABEC: .4byte gUnknown_02038570 - thumb_func_end sub_80AABB0 - - thumb_func_start sub_80AABF0 -sub_80AABF0: @ 80AABF0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - movs r0, 0xFF - cmp r1, 0 - ble _080AABFE - movs r0, 0x1 -_080AABFE: - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r5, 0x34] - adds r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - asrs r0, 24 - cmp r0, 0 - bge _080AAC14 - movs r4, 0 - b _080AAC1A -_080AAC14: - cmp r0, 0x4 - ble _080AAC1A - movs r4, 0x4 -_080AAC1A: - lsls r4, 24 - lsrs r0, r4, 24 - bl sub_80AA5BC - asrs r4, 24 - strh r4, [r5, 0x34] - ldr r0, _080AAC54 @ =gScriptContestCategory - strh r4, [r0] - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080AAC58 @ =gScriptContestRank - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_80AE398 - ldrh r0, [r5, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA280 - ldrh r0, [r5, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA658 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AAC54: .4byte gScriptContestCategory -_080AAC58: .4byte gScriptContestRank - thumb_func_end sub_80AABF0 - - thumb_func_start sub_80AAC5C -sub_80AAC5C: @ 80AAC5C - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - cmp r1, 0 - ble _080AAC78 - ldr r1, _080AAC74 @ =gScriptContestRank - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - adds r4, r1, 0 - b _080AAC86 - .align 2, 0 -_080AAC74: .4byte gScriptContestRank -_080AAC78: - ldr r0, _080AACBC @ =gScriptContestRank - ldrh r2, [r0] - adds r4, r0, 0 - cmp r2, 0 - beq _080AAC86 - subs r0, r2, 0x1 - strh r0, [r4] -_080AAC86: - adds r1, r4, 0 - ldrh r0, [r1] - cmp r0, 0x3 - bls _080AAC92 - movs r0, 0x3 - strh r0, [r1] -_080AAC92: - ldrb r0, [r4] - bl sub_80AA5E8 - ldr r0, _080AACC0 @ =gScriptContestCategory - ldrb r0, [r0] - ldrb r1, [r4] - bl sub_80AE398 - ldrh r0, [r5, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA280 - ldrh r0, [r5, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA658 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AACBC: .4byte gScriptContestRank -_080AACC0: .4byte gScriptContestCategory - thumb_func_end sub_80AAC5C - - thumb_func_start sub_80AACC4 -sub_80AACC4: @ 80AACC4 - push {lr} - bl UpdatePaletteFade - ldr r0, _080AACF8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080AACF4 - bl sub_80AA69C - ldr r0, _080AACFC @ =gUnknown_0203869A - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080AACEE - ldr r0, _080AAD00 @ =0x02000000 - ldrb r0, [r0] - bl sub_80AE82C -_080AACEE: - ldr r0, _080AAD04 @ =sub_80AB47C - bl SetMainCallback2 -_080AACF4: - pop {r0} - bx r0 - .align 2, 0 -_080AACF8: .4byte gPaletteFade -_080AACFC: .4byte gUnknown_0203869A -_080AAD00: .4byte 0x02000000 -_080AAD04: .4byte sub_80AB47C - thumb_func_end sub_80AACC4 - - thumb_func_start sub_80AAD08 -sub_80AAD08: @ 80AAD08 - push {r4,lr} - sub sp, 0x4 - lsls r1, 24 - asrs r1, 24 - cmp r1, 0x1 - bne _080AAD32 - ldr r1, _080AAD3C @ =0x02000000 - ldrh r0, [r0, 0x34] - movs r4, 0 - strb r0, [r1] - ldr r0, _080AAD40 @ =sub_80AACC4 - bl SetMainCallback2 - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_080AAD32: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AAD3C: .4byte 0x02000000 -_080AAD40: .4byte sub_80AACC4 - thumb_func_end sub_80AAD08 - - thumb_func_start sub_80AAD44 -sub_80AAD44: @ 80AAD44 - push {r4,r5,lr} - lsls r1, 24 - asrs r1, 24 - cmp r1, 0x1 - bne _080AAD72 - bl sub_80AA69C - movs r4, 0 - ldr r5, _080AAD78 @ =gUnknown_02038670 -_080AAD56: - lsls r0, r4, 24 - lsrs r0, 24 - ldr r1, _080AAD7C @ =gScriptContestCategory - ldrb r1, [r1] - bl sub_80AE770 - strh r0, [r5] - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _080AAD56 - ldr r0, _080AAD80 @ =sub_805469C - bl SetMainCallback2 -_080AAD72: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AAD78: .4byte gUnknown_02038670 -_080AAD7C: .4byte gScriptContestCategory -_080AAD80: .4byte sub_805469C - thumb_func_end sub_80AAD44 - - thumb_func_start sub_80AAD84 -sub_80AAD84: @ 80AAD84 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x64 - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x48] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x4C] - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - mov r5, r10 - adds r5, 0x1 - lsls r1, r5, 8 - ldr r0, _080AAEC4 @ =0x06018000 - subs r1, r0, r1 - movs r0, 0 - str r0, [sp, 0x44] - ldr r4, _080AAEC8 @ =0x040000d4 - add r0, sp, 0x44 - str r0, [r4] - str r1, [r4, 0x4] - ldr r0, _080AAECC @ =0x85000040 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - mov r0, r9 - bl StringLength - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x8 - bls _080AADD0 - movs r7, 0x8 -_080AADD0: - movs r6, 0 - mov r8, r5 - mov r1, r10 - lsls r1, 1 - str r1, [sp, 0x58] - ldr r2, [sp, 0x48] - adds r2, 0x20 - str r2, [sp, 0x5C] - cmp r6, r7 - bge _080AAE1E - add r5, sp, 0x40 - add r0, sp, 0x20 - mov r10, r0 - ldr r2, _080AAEC4 @ =0x06018000 -_080AADEC: - mov r1, r9 - adds r0, r1, r6 - ldrb r0, [r0] - strb r0, [r5] - movs r0, 0xFF - strb r0, [r5, 0x1] - mov r0, sp - adds r1, r5, 0 - str r2, [sp, 0x60] - bl sub_80034D4 - mov r1, r8 - lsls r0, r1, 8 - ldr r2, [sp, 0x60] - subs r0, r2, r0 - mov r1, r10 - str r1, [r4] - str r0, [r4, 0x4] - ldr r0, _080AAED0 @ =0x84000008 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - adds r2, 0x20 - adds r6, 0x1 - cmp r6, r7 - blt _080AADEC -_080AAE1E: - movs r1, 0x7C - ldr r2, [sp, 0x58] - subs r1, r2 - lsls r1, 24 - lsrs r7, r1, 24 - ldr r0, _080AAED4 @ =gMain - mov r9, r0 - lsls r3, r7, 3 - add r3, r9 - ldr r0, _080AAED8 @ =gUnknown_083C9400 - ldr r1, [r0] - ldr r2, [r0, 0x4] - str r1, [sp, 0x50] - str r2, [sp, 0x54] - str r1, [r3, 0x3C] - str r2, [r3, 0x40] - mov r2, r8 - lsls r0, r2, 3 - movs r1, 0x80 - lsls r1, 3 - adds r2, r1, 0 - subs r2, r0 - adds r6, r3, 0 - adds r6, 0x40 - ldr r0, _080AAEDC @ =0x000003ff - mov r8, r0 - mov r1, r8 - ands r2, r1 - ldrh r5, [r6] - ldr r4, _080AAEE0 @ =0xfffffc00 - adds r0, r4, 0 - ands r0, r5 - orrs r0, r2 - strh r0, [r6] - ldrh r5, [r3, 0x3E] - ldr r2, _080AAEE4 @ =0xfffffe00 - adds r0, r2, 0 - ands r0, r5 - ldr r1, [sp, 0x48] - orrs r0, r1 - strh r0, [r3, 0x3E] - adds r3, 0x3C - add r0, sp, 0x4C - ldrb r0, [r0] - strb r0, [r3] - adds r1, r7, 0x1 - lsls r1, 3 - mov r0, r9 - adds r7, r1, r0 - ldr r0, [sp, 0x50] - ldr r1, [sp, 0x54] - str r0, [r7, 0x3C] - str r1, [r7, 0x40] - ldrh r0, [r6] - lsls r0, 22 - lsrs r0, 22 - adds r0, 0x4 - adds r5, r7, 0 - adds r5, 0x40 - mov r1, r8 - ands r0, r1 - ldrh r3, [r5] - ands r4, r3 - orrs r4, r0 - strh r4, [r5] - ldrh r0, [r7, 0x3E] - ands r2, r0 - ldr r0, [sp, 0x5C] - orrs r2, r0 - strh r2, [r7, 0x3E] - adds r1, r7, 0 - adds r1, 0x3C - add r2, sp, 0x4C - ldrb r2, [r2] - strb r2, [r1] - add sp, 0x64 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AAEC4: .4byte 0x06018000 -_080AAEC8: .4byte 0x040000d4 -_080AAECC: .4byte 0x85000040 -_080AAED0: .4byte 0x84000008 -_080AAED4: .4byte gMain -_080AAED8: .4byte gUnknown_083C9400 -_080AAEDC: .4byte 0x000003ff -_080AAEE0: .4byte 0xfffffc00 -_080AAEE4: .4byte 0xfffffe00 - thumb_func_end sub_80AAD84 - - thumb_func_start unref_sub_80AAEE8 -unref_sub_80AAEE8: @ 80AAEE8 - push {r4-r7,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - lsls r3, 24 - lsrs r5, r3, 24 - movs r0, 0 - cmp r4, 0 - bge _080AAF08 - mov r1, sp - movs r0, 0xAE - strb r0, [r1] - movs r0, 0x1 -_080AAF08: - add r0, sp - adds r1, r4, 0 - cmp r1, 0 - bge _080AAF12 - negs r1, r1 -_080AAF12: - movs r2, 0 - movs r3, 0x8 - bl ConvertIntToDecimalStringN - mov r0, sp - adds r1, r7, 0 - adds r2, r6, 0 - adds r3, r5, 0 - bl sub_80AAD84 - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end unref_sub_80AAEE8 - - thumb_func_start sub_80AAF30 -sub_80AAF30: @ 80AAF30 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - ldr r1, _080AAFC0 @ =gUnknown_0203856C - movs r0, 0x1 - strb r0, [r1] - ldr r1, _080AAFC4 @ =gUnknown_02038695 - movs r0, 0x3 - strb r0, [r1] - movs r0, 0 - bl sub_80AE098 - movs r4, 0x3 - movs r5, 0x1 - negs r5, r5 - ldr r3, _080AAFC8 @ =gUnknown_02038690 - movs r2, 0x3 -_080AAF56: - adds r1, r4, r3 - subs r0, r2, r4 - strb r0, [r1] - subs r4, 0x1 - cmp r4, r5 - bgt _080AAF56 - movs r4, 0 - movs r6, 0 - ldr r7, _080AAFCC @ =gUnknown_02038670 - ldr r5, _080AAFD0 @ =gUnknown_02038570 - mov r9, r5 -_080AAF6C: - lsls r1, r4, 1 - strh r6, [r7] - ldr r0, _080AAFD4 @ =gUnknown_02038680 - mov r8, r0 - adds r0, r1, r0 - strh r6, [r0] - ldr r3, _080AAFD8 @ =gUnknown_02038678 - adds r1, r3 - strh r6, [r1] - adds r0, r5, 0 - mov r1, r9 - adds r1, 0xC0 - movs r2, 0x40 - str r3, [sp] - bl memcpy - adds r7, 0x2 - adds r5, 0x40 - adds r4, 0x1 - ldr r3, [sp] - cmp r4, 0x2 - ble _080AAF6C - ldr r0, _080AAFCC @ =gUnknown_02038670 - movs r1, 0x96 - lsls r1, 1 - strh r1, [r0, 0x6] - movs r0, 0xC8 - lsls r0, 1 - mov r1, r8 - strh r0, [r1, 0x6] - strh r0, [r3, 0x6] - movs r0, 0xFE - bl sub_80B2A7C - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AAFC0: .4byte gUnknown_0203856C -_080AAFC4: .4byte gUnknown_02038695 -_080AAFC8: .4byte gUnknown_02038690 -_080AAFCC: .4byte gUnknown_02038670 -_080AAFD0: .4byte gUnknown_02038570 -_080AAFD4: .4byte gUnknown_02038680 -_080AAFD8: .4byte gUnknown_02038678 - thumb_func_end sub_80AAF30 - - thumb_func_start sub_80AAFDC -sub_80AAFDC: @ 80AAFDC - push {lr} - bl sub_80AAF30 - bl sub_8071C20 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_80AAFDC - - thumb_func_start sub_80AAFEC -sub_80AAFEC: @ 80AAFEC - push {r4,lr} - ldr r1, _080AB01C @ =gUnknown_0203856C - movs r0, 0 - strb r0, [r1] - movs r4, 0 - ldr r3, _080AB020 @ =gUnknown_02038678 - ldr r2, _080AB024 @ =gUnknown_02038680 - ldr r1, _080AB028 @ =gUnknown_02038670 - movs r0, 0x3 -_080AAFFE: - strh r4, [r1] - strh r4, [r2] - strh r4, [r3] - adds r3, 0x2 - adds r2, 0x2 - adds r1, 0x2 - subs r0, 0x1 - cmp r0, 0 - bge _080AAFFE - bl sub_8071C20 - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080AB01C: .4byte gUnknown_0203856C -_080AB020: .4byte gUnknown_02038678 -_080AB024: .4byte gUnknown_02038680 -_080AB028: .4byte gUnknown_02038670 - thumb_func_end sub_80AAFEC - - thumb_func_start sub_80AB02C -sub_80AB02C: @ 80AB02C - push {r4,r5,lr} - ldr r1, _080AB078 @ =gUnknown_02038695 - movs r0, 0x3 - strb r0, [r1] - movs r0, 0 - bl sub_80AE098 - movs r2, 0x3 - movs r5, 0x1 - negs r5, r5 - ldr r4, _080AB07C @ =gUnknown_02038690 - movs r3, 0x3 -_080AB044: - adds r1, r2, r4 - subs r0, r3, r2 - strb r0, [r1] - subs r2, 0x1 - cmp r2, r5 - bgt _080AB044 - ldr r1, _080AB080 @ =gScriptContestCategory - movs r0, 0 - strh r0, [r1] - adds r4, r1, 0 -_080AB058: - movs r0, 0xFF - bl sub_80B2A7C - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bls _080AB058 - bl sub_8071C20 - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080AB078: .4byte gUnknown_02038695 -_080AB07C: .4byte gUnknown_02038690 -_080AB080: .4byte gScriptContestCategory - thumb_func_end sub_80AB02C - - thumb_func_start unref_sub_80AB084 -unref_sub_80AB084: @ 80AB084 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - mov r8, r0 - ldr r0, _080AB160 @ =REG_BG0HOFS - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x22 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - movs r2, 0x80 - lsls r2, 19 - movs r3, 0xFA - lsls r3, 5 - adds r0, r3, 0 - strh r0, [r2] - ldr r3, _080AB164 @ =0x04000208 - ldrh r2, [r3] - strh r1, [r3] - ldr r4, _080AB168 @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r1, _080AB16C @ =REG_DISPSTAT - movs r0, 0x8 - strh r0, [r1] - bl ResetTasks - bl ResetSpriteData - ldr r0, _080AB170 @ =sub_80AB184 - bl SetMainCallback2 - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0xC0 - lsls r3, 9 - movs r5, 0 - ldr r1, _080AB174 @ =0x040000d4 - movs r4, 0x80 - lsls r4, 5 - ldr r6, _080AB178 @ =0x85000400 - movs r7, 0x85 - lsls r7, 24 -_080AB108: - str r5, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r1] - str r2, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _080AB108 - str r5, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r4, _080AB17C @ =gWindowConfig_81E6FD8 - adds r0, r4, 0 - bl SetUpWindowConfig - ldr r5, _080AB180 @ =gUnknown_03004210 - adds r0, r5, 0 - adds r1, r4, 0 - bl InitWindowFromConfig - adds r0, r4, 0 - bl LoadFontDefaultPalette - movs r0, 0x7 - str r0, [sp] - adds r0, r5, 0 - mov r1, r8 - movs r2, 0x1 - movs r3, 0x9 - bl sub_8003460 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080AB160: .4byte REG_BG0HOFS -_080AB164: .4byte 0x04000208 -_080AB168: .4byte 0x04000200 -_080AB16C: .4byte REG_DISPSTAT -_080AB170: .4byte sub_80AB184 -_080AB174: .4byte 0x040000d4 -_080AB178: .4byte 0x85000400 -_080AB17C: .4byte gWindowConfig_81E6FD8 -_080AB180: .4byte gUnknown_03004210 - thumb_func_end unref_sub_80AB084 - - thumb_func_start sub_80AB184 -sub_80AB184: @ 80AB184 - ldr r0, _080AB1A8 @ =REG_BG0HOFS - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bx lr - .align 2, 0 -_080AB1A8: .4byte REG_BG0HOFS - thumb_func_end sub_80AB184 - - .align 2, 0 @ Don't pad with nop. diff --git a/data/data2.s b/data/data2.s index 4a3b246cb..c954c670f 100644 --- a/data/data2.s +++ b/data/data2.s @@ -13747,41 +13747,42 @@ gBattleAnimSpriteTemplate_83C2010:: @ 83C2010 @ 83C9150 .string "テストです$" @ "test" -Unknown_83C9166: +gMasudaDebugMenu_ActionContestText: .string "Contest$" -Unknown_83C916E: +gMasudaDebugMenu_ActionContestResultsText: .string "Contest results$" .string "パラメータへんこう$" @ "Change parameter" .string "わざ へんこう$" @ "Change move" -Unknown_83C9190: +gMasudaDebugMenu_ActionContestCommText: .string "Contest (comm.)$" -Unknown_83C91A0: +gMasudaDebugMenu_ActionCommTestText: .string "Init comm. data$" -Unknown_83C91B0: +gMasudaDebugMenu_ActionSetHighScoreText: .string "Set highest score$" -Unknown_83C91C2: +gMasudaDebugMenu_ActionResetHighScoreText: .string "Reset highest score$" -Unknown_83C91D6: +gMasudaDebugMenu_ActionSetAllArtMuseumText: .string "Set all art museum items$" .align 2 -gUnknown_083C91F0:: @ 83C91F0 - .4byte Unknown_83C9166, sub_80A9C1C - .4byte Unknown_83C916E, sub_80A9BBC - .4byte Unknown_83C9190, sub_80A9C34 - .4byte Unknown_83C91A0, sub_80A9C40 - .4byte Unknown_83C91B0, sub_80AAFDC - .4byte Unknown_83C91C2, sub_80AAFEC - .4byte Unknown_83C91D6, sub_80AB02C +gMasudaDebugMenuActions:: @ 83C91F0 + .4byte gMasudaDebugMenu_ActionContestText, MasudaDebugMenu_Contest + .4byte gMasudaDebugMenu_ActionContestResultsText, MasudaDebugMenu_ContestResults + .4byte gMasudaDebugMenu_ActionContestCommText, MasudaDebugMenu_ContestComm + .4byte gMasudaDebugMenu_ActionCommTestText, MasudaDebugMenu_CommTest + .4byte gMasudaDebugMenu_ActionSetHighScoreText, MasudaDebugMenu_SetHighScore + .4byte gMasudaDebugMenu_ActionResetHighScoreText, MasudaDebugMenu_ResetHighScore + .4byte gMasudaDebugMenu_ActionSetAllArtMuseumText, MasudaDebugMenu_SetArtMuseumItems + +gMasudaDebugMenu_UnknownByteArray:: @ 83C9228 + .byte 0xFC, 0x02, 0x0F, 0x00, 0xFF -gUnknown_083C9228:: @ 83C9228 - .incbin "baserom.gba", 0x003c9228, 0x5 Unknown_083C922D: .incbin "graphics/unknown/ball.4bpp" @@ -13792,8 +13793,13 @@ Unknown_083C924E: gUnknown_083C926E:: @ 83C926E .incbin "baserom.gba", 0x003c926e, 0x8 -gUnknown_083C9276:: @ 83C9276 - .incbin "baserom.gba", 0x003c9276, 0xc +gMasudaDebugMenuContestTopLeft:: @ 83C9276 + .byte 0, 6 + .byte 15, 6 + .byte 0, 8 + .byte 15, 8 + .byte 0, 10 + .byte 15, 10 gUnknown_083C9282:: @ 83C9282 .incbin "baserom.gba", 0x003c9282, 0xc @@ -13802,10 +13808,10 @@ gUnknown_083C928E:: @ 83C928E .incbin "baserom.gba", 0x003c928e, 0x8 gUnknown_083C9296:: @ 83C9296 - .incbin "baserom.gba", 0x003c9296, 0x12 + .byte 0x08, 0x80, 0x08, 0x80, 0x10, 0x10, 0x30, 0xA8, 0x30, 0xA8, 0x30, 0xA8, 0x08, 0x80, 0x08, 0x80, 0x10, 0x88 gUnknown_083C92A8:: @ 83C92A8 - .incbin "baserom.gba", 0x003c92a8, 0xc + .byte 0x08, 0x18, 0x28, 0x38, 0x48, 0x58, 0x78, 0x88, 0x98 .align 2 gUnknown_083C92B4:: @ 83C92B4 @@ -13846,37 +13852,37 @@ gUnknown_083C92E4:: @ 83C92E4 .4byte sub_80AABF0 .4byte sub_80AAD44 -gUnknown_083C932C:: @ 83C932C +gMasudaDebugMenu_StartText:: @ 83C932C .string "{COLOR CYAN}{HIGHLIGHT RED}$" .string "かいし$" @ Start -gUnknown_083C9337:: @ 83C9337 +gMasudaDebugMenu_GoBackText:: @ 83C9337 .string "もどる$" @ Go Back -gUnknown_083C933B:: @ 83C933B +gMasudaDebugMenu_BattlePointsText:: @ 83C933B .string "{COLOR MAGENTA}BP.$" -Unknown_83C9342: +gMasudaDebugMenuText_Cool: .string "かっこよさ$" @ coolness -Unknown_83C9348: +gMasudaDebugMenuText_Cute: .string "かわいさ$" @ cuteness -Unknown_83C934D: +gMasudaDebugMenuText_Beauty: .string "うつくしさ$" @ beauty -Unknown_83C9353: +gMasudaDebugMenuText_Smart: .string "かしこさ$" @ smartness -Unknown_83C9358: +gMasudaDebugMenuText_Tough: .string "たくましさ$" @ toughness -Unknown_83C935E: +gMasudaDebugMenuText_Sheen: .string "けづや$" @ sheen .align 2 -gUnknown_083C9364:: @ 83C9364 - .4byte Unknown_83C9342 - .4byte Unknown_83C9348 - .4byte Unknown_83C934D - .4byte Unknown_83C9353 - .4byte Unknown_83C9358 - .4byte Unknown_83C935E +gMasudaDebugMenuTextList1:: @ 83C9364 + .4byte gMasudaDebugMenuText_Cool + .4byte gMasudaDebugMenuText_Cute + .4byte gMasudaDebugMenuText_Beauty + .4byte gMasudaDebugMenuText_Smart + .4byte gMasudaDebugMenuText_Tough + .4byte gMasudaDebugMenuText_Sheen Unknown_83C937C: .string "かっこよさコンテスト$" @ Cool Contest diff --git a/ld_script.txt b/ld_script.txt index f410daf32..ea9ecce67 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -115,7 +115,8 @@ SECTIONS { asm/item_menu.o(.text); asm/battle_anim_80A7E7C.o(.text); src/item.o(.text); - asm/matuda_debug_menu.o(.text); + src/matsuda_debug_menu.o(.text); + asm/matsuda_debug_menu.o(.text); asm/contest.o(.text); asm/shop.o(.text); src/berry.o(.text); diff --git a/src/matsuda_debug_menu.c b/src/matsuda_debug_menu.c new file mode 100644 index 000000000..d68352a34 --- /dev/null +++ b/src/matsuda_debug_menu.c @@ -0,0 +1,937 @@ +#include "global.h" +#include "main.h" +#include "menu.h" +#include "palette.h" +#include "task.h" +#include "link.h" +#include "text.h" +#include "sprite.h" +#include "string_util.h" + +#define BIT(n) (1 << (n)) + +extern u8 gUnknown_0203869A; +extern u8 gUnknown_0203869B; +extern u8 gUnknown_02038695; +extern u16 gScriptContestCategory; +extern u16 gScriptContestRank; +extern u8 (*gCallback_03004AE8)(void); +extern void sub_80034D4(u8 *, u8 *); +extern void sub_80AF668(void); +extern void sub_80C2358(void); +extern void sub_8071C20(void); +extern void sub_80AA10C(void); +extern void sub_80A9C98(u8); +extern void sub_80C8734(void); +extern void sub_80A9CC0(u8); +extern void sub_80C88AC(u8); +extern void sub_80A9CDC(u8); +extern void sub_80C8E1C(u8); +extern void sub_80A9D58(u8); +extern void sub_80C8EBC(u8); +extern void sub_80A9DBC(u8); +extern u8 sub_80C4B34(u8 *); +extern void sub_80B0F28(u8); +extern void sub_80C8F34(u8); +extern void sub_80A9DD8(u8); +extern void sub_80A9F10(u8); +extern void sub_805469C(void); +extern void sub_80AE398(u8, u8); +extern void sub_80AE098(u8); +extern void sub_80AA5BC(u8); +extern void sub_80AA5E8(u16); +extern void sub_80AA658(u8); +extern void sub_80AA614(u8, u8); + +extern struct Window gMenuWindow; + +extern u16 gUnknown_030042A4; +extern u16 gUnknown_030042A0; +extern u16 gUnknown_030042C0; +extern u16 gUnknown_030041B4; +extern u16 gUnknown_03004288; +extern u16 gUnknown_03004280; +extern u16 gUnknown_030041B0; +extern u16 gUnknown_030041B8; + +extern u8 gUnknown_02038694; +extern u8 gUnknown_083C9296[]; +extern u8 gUnknown_083C92A8[]; +extern u8 gUnknown_083C9282[]; +extern u8 gUnknown_0203857D[][64]; +extern u8 gUnknown_083C926E[][2]; +extern u8 gUnknown_083C928E[][2]; +extern u8 unk_2000000[]; +extern u8 gMasudaDebugMenu_GoBackText[]; +extern u8 gMasudaDebugMenu_BattlePointsText[]; +extern u8 gMasudaDebugMenu_StartText[]; + +extern u8 gUnknown_083C92BC[]; +extern u8 gUnknown_083C92B4[]; +extern struct SpriteTemplate gSpriteTemplate_83C92CC; + +extern u8 gMoveNames[][13]; + +extern u8 gMasudaDebugMenu_UnknownByteArray[]; +extern u32 gMasudaDebugMenuTextList1[]; +extern u8 gMasudaDebugMenuContestTopLeft[][2]; + +struct UnknownStruct +{ + u8 text[2]; + u8 unk2; + u8 filler3[28]; + u16 unk1E[1]; + u8 filler4[5]; + u8 unkArr[6]; + u8 filler[20]; +}; + +extern struct UnknownStruct gUnknown_02038570[]; + +extern bool8 gReceivedRemoteLinkPlayers; +extern u16 gBlockRecvBuffer[MAX_LINK_PLAYERS][BLOCK_BUFFER_SIZE / 2]; + +struct DebugMenuAction +{ + u8 *text; + u8 (*func)(void); +}; + +extern struct DebugMenuAction gMasudaDebugMenuActions[]; + +s8 sub_80A9B78(void); +void sub_80A9BE4(u8 taskId); +void sub_80A9E04(u8 taskId); +void sub_80A9E3C(u8 taskId); +void sub_80A9ED8(u8); +void sub_80A9E80(u8); +void sub_80AA280(u8); + +u8 unref_sub_80A9B28(void) +{ + MenuZeroFillScreen(); + MenuDrawTextWindow(0, 0, 17, 18); + PrintMenuItems(1, 1, 7, gMasudaDebugMenuActions); + InitMenu(0, 1, 1, 7, 0, 16); + gCallback_03004AE8 = sub_80A9B78; + return 0; +} + +s8 sub_80A9B78(void) +{ + s8 choice = ProcessMenuInput(); + + switch(choice) + { + case -2: + return 0; + default: + gCallback_03004AE8 = gMasudaDebugMenuActions[choice].func; + return 0; + case -1: + sub_8071C20(); + return 1; + } +} + +s8 MasudaDebugMenu_ContestResults(void) +{ + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + CreateTask(sub_80A9BE4, 0xFF); + return 1; +} + +void sub_80A9BE4(u8 taskId) +{ + if(!gPaletteFade.active) + { + DestroyTask(taskId); + + if(!(gUnknown_0203869A & 1)) + sub_80AF668(); + + sub_80C2358(); + } +} + +s8 MasudaDebugMenu_Contest(void) +{ + gUnknown_0203869A = 0; + sub_80AA10C(); + return 0; +} + +s8 MasudaDebugMenu_ContestComm(void) +{ + sub_80AA10C(); + return 0; +} + +s8 MasudaDebugMenu_CommTest(void) +{ + u8 newTaskId; + u8 newTaskId2; + + newTaskId = CreateTask(sub_80A9E3C, 0); + SetTaskFuncWithFollowupFunc(newTaskId, sub_80A9E3C, sub_80A9C98); + newTaskId2 = CreateTask(sub_80A9E04, 1); + gTasks[newTaskId2].data[10] = newTaskId; + gTasks[newTaskId].data[10] = newTaskId2; + return 1; +} + +void sub_80A9C98(u8 taskId) +{ + sub_80AE098(0); + SetTaskFuncWithFollowupFunc(taskId, sub_80C8734, sub_80A9CC0); +} + +void sub_80A9CC0(u8 taskId) +{ + SetTaskFuncWithFollowupFunc(taskId, sub_80C88AC, sub_80A9CDC); +} + +void sub_80A9CDC(u8 taskId) +{ + SetTaskFuncWithFollowupFunc(taskId, sub_80C8E1C, sub_80A9D58); +} + +void sub_80A9CF8(u8 taskId) +{ + if(gReceivedRemoteLinkPlayers == FALSE) + { + DestroyTask(gTasks[taskId].data[10]); + DestroyTask(taskId); + sub_8071C20(); + } +} + +void sub_80A9D30(u8 taskId) +{ + sub_800832C(); + gTasks[taskId].func = sub_80A9CF8; +} + +void sub_80A9D58(u8 taskId) +{ + int i; + u8 dest[4]; + + for(i = 0; i < 4; i++) + dest[i] = gTasks[taskId].data[5 + i]; + + gUnknown_0203869B = sub_80C4B34(&dest); + sub_80AE82C((u8)gScriptContestCategory); + sub_80B0F28(0); + SetTaskFuncWithFollowupFunc(taskId, sub_80C8EBC, sub_80A9DBC); +} + +void sub_80A9DBC(u8 taskId) +{ + SetTaskFuncWithFollowupFunc(taskId, sub_80C8F34, sub_80A9DD8); +} + +void sub_80A9DD8(u8 taskId) +{ + DestroyTask(gTasks[taskId].data[10]); + DestroyTask(taskId); + sub_8071C20(); +} + +void sub_80A9E04(u8 taskId) +{ + if(gMain.newKeys == 2) + gTasks[(u8)gTasks[taskId].data[10]].func = sub_80A9D30; +} + +void sub_80A9E3C(u8 taskId) +{ + u8 i; + + OpenLink(); + + for(i = 0; i < 4; i++) + gBlockRecvBuffer[i][0] = 255; + + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_80A9E80; +} + +void sub_80A9E80(u8 taskId) +{ + TaskFunc func; + + if(gTasks[taskId].data[0] < 10) + gTasks[taskId].data[0]++; + else + { + if(GetLinkPlayerCount_2() > 3) + { + gTasks[taskId].data[0] = 0; + + if(IsLinkMaster()) + { + func = sub_80A9ED8; + gTasks[taskId].func = (TaskFunc)func; + } + else + { + func = sub_80A9F10; + gTasks[taskId].func = (TaskFunc)func; + } + } + } +} + +void sub_80A9ED8(u8 taskId) +{ + gTasks[taskId].data[0] = gTasks[taskId].data[0] + 1; + if((gTasks[taskId].data[0]) == 101) + { + sub_8007F4C(); + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_80A9F10; + } +} + +void sub_80A9F10(u8 taskId) +{ + if(gReceivedRemoteLinkPlayers) + { + gUnknown_02038695 = GetMultiplayerId(); + if(GetLinkPlayerCount() == 4) + { + gUnknown_0203869A = 1; + SwitchTaskToFollowupFunc(taskId); + } + } +} + +void sub_80A9F50(void) +{ + REG_DISPCNT = DISPCNT_OBJ_1D_MAP; + REG_DISPCNT |= DISPCNT_OBJ_ON | DISPCNT_BG0_ON; + SetUpWindowConfig(&gWindowConfig_81E6C3C); + InitWindowFromConfig(&gMenuWindow, &gWindowConfig_81E6C3C); + REG_MOSAIC = 0; + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + REG_BLDY = 0; + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + gUnknown_030042A4 = 0; + gUnknown_030042A0 = 0; + gUnknown_030042C0 = 0; + gUnknown_030041B4 = 0; + gUnknown_03004288 = 0; + gUnknown_03004280 = 0; + gUnknown_030041B0 = 0; + gUnknown_030041B8 = 0; +} + +void sub_80A9FE4(void) +{ + u8 *addr; + u32 i; + u8 ptr[5]; + + memcpy(ptr, gMasudaDebugMenu_UnknownByteArray, 5); + + addr = (void *)VRAM; + i = VRAM_SIZE; + + while(1) + { + DmaFill32(3, 0, addr, 0x1000); + addr += 0x1000; + i -= 0x1000; + if(i <= 0x1000) + { + DmaFill32(3, 0, addr, i); + break; + } + } + sub_80034D4(VRAM, &ptr); + LoadFontDefaultPalette(&gWindowConfig_81E6C3C); +} + +void sub_80AA064(void) +{ + AnimateSprites(); + BuildOamBuffer(); + RunTasks(); + UpdatePaletteFade(); + if(gMain.newKeys == 4) + SetMainCallback2(sub_805469C); +} + +void sub_80AA090(void) +{ + REG_BG0HOFS = gUnknown_030042A4; + REG_BG0VOFS = gUnknown_030042A0; + REG_BG1HOFS = gUnknown_030042C0; + REG_BG1VOFS = gUnknown_030041B4; + REG_BG2HOFS = gUnknown_03004288; + REG_BG2VOFS = gUnknown_03004280; + REG_BG3HOFS = gUnknown_030041B0; + REG_BG3VOFS = gUnknown_030041B8; + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + sub_8089668(); +} + +void sub_80AA10C(void) +{ + u8 i; + u8 zero; + u8 spriteId; + + gPaletteFade.bufferTransferDisabled = 1; + SetVBlankCallback(0); + sub_80A9F50(); + dp12_8087EA4(); + ResetPaletteFade(); + ResetSpriteData(); + ResetTasks(); + FreeAllSpritePalettes(); + sub_80A9FE4(); + SetVBlankCallback(sub_80AA090); + SetMainCallback2(sub_80AA064); + gPaletteFade.bufferTransferDisabled = 0; + gUnknown_02038694 = 0; + + if(!(gUnknown_02038570[0].unk2)) + sub_80AE398(0, 0); + + sub_80AE098(gUnknown_02038694); + + for(i = 0; i < 6; i++) + { + sub_8003460(&gMenuWindow, gMasudaDebugMenuTextList1[i], + (0xA * i + 0x2A), gMasudaDebugMenuContestTopLeft[i][0], + gMasudaDebugMenuContestTopLeft[i][1]); + } + + gScriptContestCategory = gScriptContestRank = 0; + zero = 0; + sub_80AA5BC(zero); + sub_80AA5E8((u8)gScriptContestRank); + sub_8003460(&gMenuWindow, gMasudaDebugMenu_GoBackText, 0xD6, 0x12, 0x12); + sub_8003460(&gMenuWindow, gMasudaDebugMenu_BattlePointsText, 0xDC, zero, 0xC); + LoadSpriteSheet(gUnknown_083C92B4); + LoadSpritePalette(gUnknown_083C92BC); + sub_80AA280(3); + sub_80AA658(3); + sub_80AA614(3, zero); + spriteId = CreateSprite(&gSpriteTemplate_83C92CC, gUnknown_083C9296[3], gUnknown_083C92A8[1], 5); + gSprites[spriteId].data0 = 1; + gSprites[spriteId].data1 = 1; + gSprites[spriteId].data2 = 3; + gSprites[spriteId].data3 = zero; // only this assignment of zero is necessary. other replacements of 0 with zero do not change the asm, compiler will treat it the same. +} + +void sub_80AA280(u8 var) +{ + u8 i; + + FillWindowRect_DefaultPalette(&gMenuWindow, 0, 0, 0, 0x1E, 3); + StringCopy(unk_2000000, &gMasudaDebugMenu_StartText); + StringAppend(unk_2000000, &gUnknown_0203857D[var][0]); + + for(i = 0; i < 4; i++) + { + if(var == i) + { + sub_8003460(&gMenuWindow, unk_2000000, (10 * i + 2), gUnknown_083C926E[i][0], gUnknown_083C926E[i][1]); + } + else + { + u8 *ptr = gUnknown_0203857D[i]; + sub_8003460(&gMenuWindow, ptr, (10 * i + 2), gUnknown_083C926E[i][0], gUnknown_083C926E[i][1]); + } + } +} + +#ifdef NONMATCHING +void sub_80AA340(u8 var) +{ + ConvertIntToDecimalStringN(unk_2000000, gUnknown_02038570[var].unkArr[1], STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, unk_2000000, 0x66, gUnknown_083C9282[0], gUnknown_083C9282[1]); +} +#else +__attribute__((naked)) +void sub_80AA340(u8 var) +{ + asm(".syntax unified\n\ + push {r4,lr}\n\ + sub sp, 0x4\n\ + lsls r0, 24\n\ + ldr r4, _080AA378 @ =0x02000000\n\ + ldr r1, _080AA37C @ =gUnknown_02038570\n\ + lsrs r0, 18\n\ + adds r0, r1\n\ + adds r0, 0x26\n\ + ldrb r1, [r0]\n\ + adds r0, r4, 0\n\ + movs r2, 0x1\n\ + movs r3, 0x3\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r0, _080AA380 @ =gMenuWindow\n\ + ldr r1, _080AA384 @ =gUnknown_083C9282\n\ + ldrb r3, [r1]\n\ + ldrb r1, [r1, 0x1]\n\ + str r1, [sp]\n\ + adds r1, r4, 0\n\ + movs r2, 0x66\n\ + bl sub_8003460\n\ + add sp, 0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080AA378: .4byte 0x02000000\n\ +_080AA37C: .4byte gUnknown_02038570\n\ +_080AA380: .4byte gMenuWindow\n\ +_080AA384: .4byte gUnknown_083C9282\n\ + .syntax divided"); +} +#endif + +#ifdef NONMATCHING +void sub_80AA388(u8 var) +{ + ConvertIntToDecimalStringN(unk_2000000, gUnknown_02038570[var].unkArr[3], STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, unk_2000000, 0x6C, gUnknown_083C9282[2], gUnknown_083C9282[3]); +} +#else +__attribute__((naked)) +void sub_80AA388(u8 var) +{ + asm(".syntax unified\n\ + push {r4,lr}\n\ + sub sp, 0x4\n\ + lsls r0, 24\n\ + ldr r4, _080AA3C0 @ =0x02000000\n\ + ldr r1, _080AA3C4 @ =gUnknown_02038570\n\ + lsrs r0, 18\n\ + adds r0, r1\n\ + adds r0, 0x28\n\ + ldrb r1, [r0]\n\ + adds r0, r4, 0\n\ + movs r2, 0x1\n\ + movs r3, 0x3\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r0, _080AA3C8 @ =gMenuWindow\n\ + ldr r1, _080AA3CC @ =gUnknown_083C9282\n\ + ldrb r3, [r1, 0x2]\n\ + ldrb r1, [r1, 0x3]\n\ + str r1, [sp]\n\ + adds r1, r4, 0\n\ + movs r2, 0x6C\n\ + bl sub_8003460\n\ + add sp, 0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080AA3C0: .4byte 0x02000000\n\ +_080AA3C4: .4byte gUnknown_02038570\n\ +_080AA3C8: .4byte gMenuWindow\n\ +_080AA3CC: .4byte gUnknown_083C9282\n\ + .syntax divided"); +} +#endif + +#ifdef NONMATCHING +void sub_80AA3D0(u8 var) +{ + ConvertIntToDecimalStringN(unk_2000000, gUnknown_02038570[var].unkArr[2], STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, unk_2000000, 0x72, gUnknown_083C9282[4], gUnknown_083C9282[5]); +} +#else +__attribute__((naked)) +void sub_80AA3D0(u8 var) +{ + asm(".syntax unified\n\ + push {r4,lr}\n\ + sub sp, 0x4\n\ + lsls r0, 24\n\ + ldr r4, _080AA408 @ =0x02000000\n\ + ldr r1, _080AA40C @ =gUnknown_02038570\n\ + lsrs r0, 18\n\ + adds r0, r1\n\ + adds r0, 0x27\n\ + ldrb r1, [r0]\n\ + adds r0, r4, 0\n\ + movs r2, 0x1\n\ + movs r3, 0x3\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r0, _080AA410 @ =gMenuWindow\n\ + ldr r1, _080AA414 @ =gUnknown_083C9282\n\ + ldrb r3, [r1, 0x4]\n\ + ldrb r1, [r1, 0x5]\n\ + str r1, [sp]\n\ + adds r1, r4, 0\n\ + movs r2, 0x72\n\ + bl sub_8003460\n\ + add sp, 0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080AA408: .4byte 0x02000000\n\ +_080AA40C: .4byte gUnknown_02038570\n\ +_080AA410: .4byte gMenuWindow\n\ +_080AA414: .4byte gUnknown_083C9282\n\ + .syntax divided"); +} +#endif + +#ifdef NONMATCHING +void sub_80AA418(u8 var) +{ + ConvertIntToDecimalStringN(unk_2000000, gUnknown_02038570[var].unkArr[4], STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, unk_2000000, 0x78, gUnknown_083C9282[6], gUnknown_083C9282[7]); +} +#else +__attribute__((naked)) +void sub_80AA418(u8 var) +{ + asm(".syntax unified\n\ + push {r4,lr}\n\ + sub sp, 0x4\n\ + lsls r0, 24\n\ + ldr r4, _080AA450 @ =0x02000000\n\ + ldr r1, _080AA454 @ =gUnknown_02038570\n\ + lsrs r0, 18\n\ + adds r0, r1\n\ + adds r0, 0x29\n\ + ldrb r1, [r0]\n\ + adds r0, r4, 0\n\ + movs r2, 0x1\n\ + movs r3, 0x3\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r0, _080AA458 @ =gMenuWindow\n\ + ldr r1, _080AA45C @ =gUnknown_083C9282\n\ + ldrb r3, [r1, 0x6]\n\ + ldrb r1, [r1, 0x7]\n\ + str r1, [sp]\n\ + adds r1, r4, 0\n\ + movs r2, 0x78\n\ + bl sub_8003460\n\ + add sp, 0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080AA450: .4byte 0x02000000\n\ +_080AA454: .4byte gUnknown_02038570\n\ +_080AA458: .4byte gMenuWindow\n\ +_080AA45C: .4byte gUnknown_083C9282\n\ + .syntax divided"); +} +#endif + +#ifdef NONMATCHING +void sub_80AA460(u8 var) +{ + ConvertIntToDecimalStringN(unk_2000000, gUnknown_02038570[var].unkArr[5], STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, unk_2000000, 0x7E, gUnknown_083C9282[8], gUnknown_083C9282[9]); +} +#else +__attribute__((naked)) +void sub_80AA460(u8 var) +{ + asm(".syntax unified\n\ + push {r4,lr}\n\ + sub sp, 0x4\n\ + lsls r0, 24\n\ + ldr r4, _080AA498 @ =0x02000000\n\ + ldr r1, _080AA49C @ =gUnknown_02038570\n\ + lsrs r0, 18\n\ + adds r0, r1\n\ + adds r0, 0x2A\n\ + ldrb r1, [r0]\n\ + adds r0, r4, 0\n\ + movs r2, 0x1\n\ + movs r3, 0x3\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r0, _080AA4A0 @ =gMenuWindow\n\ + ldr r1, _080AA4A4 @ =gUnknown_083C9282\n\ + ldrb r3, [r1, 0x8]\n\ + ldrb r1, [r1, 0x9]\n\ + str r1, [sp]\n\ + adds r1, r4, 0\n\ + movs r2, 0x7E\n\ + bl sub_8003460\n\ + add sp, 0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080AA498: .4byte 0x02000000\n\ +_080AA49C: .4byte gUnknown_02038570\n\ +_080AA4A0: .4byte gMenuWindow\n\ +_080AA4A4: .4byte gUnknown_083C9282\n\ + .syntax divided"); +} +#endif + +#ifdef NONMATCHING +void sub_80AA4A8(u8 var) +{ + ConvertIntToDecimalStringN(unk_2000000, gUnknown_02038570[var].unkArr[6], STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, unk_2000000, 0x84, gUnknown_083C9282[10], gUnknown_083C9282[11]); +} +#else +__attribute__((naked)) +void sub_80AA4A8(u8 var) +{ + asm(".syntax unified\n\ + push {r4,lr}\n\ + sub sp, 0x4\n\ + lsls r0, 24\n\ + ldr r4, _080AA4E0 @ =0x02000000\n\ + ldr r1, _080AA4E4 @ =gUnknown_02038570\n\ + lsrs r0, 18\n\ + adds r0, r1\n\ + adds r0, 0x2B\n\ + ldrb r1, [r0]\n\ + adds r0, r4, 0\n\ + movs r2, 0x1\n\ + movs r3, 0x3\n\ + bl ConvertIntToDecimalStringN\n\ + ldr r0, _080AA4E8 @ =gMenuWindow\n\ + ldr r1, _080AA4EC @ =gUnknown_083C9282\n\ + ldrb r3, [r1, 0xA]\n\ + ldrb r1, [r1, 0xB]\n\ + str r1, [sp]\n\ + adds r1, r4, 0\n\ + movs r2, 0x84\n\ + bl sub_8003460\n\ + add sp, 0x4\n\ + pop {r4}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080AA4E0: .4byte 0x02000000\n\ +_080AA4E4: .4byte gUnknown_02038570\n\ +_080AA4E8: .4byte gMenuWindow\n\ +_080AA4EC: .4byte gUnknown_083C9282\n\ + .syntax divided"); +} +#endif + +#ifdef NONMATCHING +void sub_80AA4F0(u8 var1, u8 var2) +{ + u8 temp = gUnknown_083C928E[var2][0] + 7; + u8 temp2 = gUnknown_083C928E[var2][1] + 1; + + FillWindowRect_DefaultPalette(&gMenuWindow, 0, temp, temp2, temp, temp2); + sub_8003460(&gMenuWindow, gMoveNames[gUnknown_02038570[var1].unk1E[var2]], var2 * 14 + 0x8A, temp, temp2); + ConvertIntToDecimalStringN(gStringVar1, gUnknown_02038570[var1].unk1E[var2], STR_CONV_MODE_LEADING_ZEROS, 3); + sub_8003460(&gMenuWindow, gStringVar1, var2 * 2 + 0xFA, temp, temp2); +} +#else +__attribute__((naked)) +void sub_80AA4F0(u8 var1, u8 var2) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x8\n\ + adds r4, r0, 0\n\ + adds r6, r1, 0\n\ + lsls r4, 24\n\ + lsrs r4, 24\n\ + lsls r6, 24\n\ + lsrs r6, 24\n\ + ldr r7, _080AA5A8 @ =gMenuWindow\n\ + ldr r0, _080AA5AC @ =gUnknown_083C928E\n\ + lsls r5, r6, 1\n\ + adds r1, r5, r0\n\ + ldrb r1, [r1]\n\ + mov r9, r1\n\ + adds r0, 0x1\n\ + adds r0, r5, r0\n\ + ldrb r0, [r0]\n\ + mov r10, r0\n\ + movs r0, 0x7\n\ + add r0, r9\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r8, r0\n\ + str r0, [sp]\n\ + mov r0, r10\n\ + adds r0, 0x1\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + str r0, [sp, 0x4]\n\ + adds r0, r7, 0\n\ + movs r1, 0\n\ + mov r2, r9\n\ + mov r3, r10\n\ + bl FillWindowRect_DefaultPalette\n\ + ldr r0, _080AA5B0 @ =gUnknown_02038570\n\ + lsls r4, 6\n\ + adds r4, r5, r4\n\ + adds r0, 0x1E\n\ + adds r4, r0\n\ + ldrh r1, [r4]\n\ + movs r0, 0xD\n\ + muls r1, r0\n\ + ldr r0, _080AA5B4 @ =gMoveNames\n\ + adds r1, r0\n\ + lsls r2, r6, 3\n\ + subs r2, r6\n\ + lsls r2, 17\n\ + movs r0, 0x8A\n\ + lsls r0, 16\n\ + adds r2, r0\n\ + lsrs r2, 16\n\ + mov r0, r10\n\ + str r0, [sp]\n\ + adds r0, r7, 0\n\ + mov r3, r9\n\ + bl sub_8003460\n\ + ldr r0, _080AA5B8 @ =gStringVar1\n\ + mov r9, r0\n\ + ldrh r1, [r4]\n\ + movs r2, 0x2\n\ + movs r3, 0x3\n\ + bl ConvertIntToDecimalStringN\n\ + adds r5, r6\n\ + lsls r5, 17\n\ + movs r0, 0xFA\n\ + lsls r0, 16\n\ + adds r5, r0\n\ + lsrs r5, 16\n\ + mov r0, r10\n\ + str r0, [sp]\n\ + adds r0, r7, 0\n\ + mov r1, r9\n\ + adds r2, r5, 0\n\ + mov r3, r8\n\ + bl sub_8003460\n\ + add sp, 0x8\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080AA5A8: .4byte gMenuWindow\n\ +_080AA5AC: .4byte gUnknown_083C928E\n\ +_080AA5B0: .4byte gUnknown_02038570\n\ +_080AA5B4: .4byte gMoveNames\n\ +_080AA5B8: .4byte gStringVar1\n\ + .syntax divided"); +} +#endif + +/* + thumb_func_start sub_80AA4F0 +sub_80AA4F0: @ 80AA4F0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + adds r4, r0, 0 + adds r6, r1, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r6, 24 + lsrs r6, 24 + ldr r7, _080AA5A8 @ =gMenuWindow + ldr r0, _080AA5AC @ =gUnknown_083C928E + lsls r5, r6, 1 + adds r1, r5, r0 + ldrb r1, [r1] + mov r9, r1 + adds r0, 0x1 + adds r0, r5, r0 + ldrb r0, [r0] + mov r10, r0 + movs r0, 0x7 + add r0, r9 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + str r0, [sp] + mov r0, r10 + adds r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x4] + adds r0, r7, 0 + movs r1, 0 + mov r2, r9 + mov r3, r10 + bl FillWindowRect_DefaultPalette + ldr r0, _080AA5B0 @ =gUnknown_02038570 + lsls r4, 6 + adds r4, r5, r4 + adds r0, 0x1E + adds r4, r0 + ldrh r1, [r4] + movs r0, 0xD + muls r1, r0 + ldr r0, _080AA5B4 @ =gMoveNames + adds r1, r0 + lsls r2, r6, 3 + subs r2, r6 + lsls r2, 17 + movs r0, 0x8A + lsls r0, 16 + adds r2, r0 + lsrs r2, 16 + mov r0, r10 + str r0, [sp] + adds r0, r7, 0 + mov r3, r9 + bl sub_8003460 + ldr r0, _080AA5B8 @ =gStringVar1 + mov r9, r0 + ldrh r1, [r4] + movs r2, 0x2 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + adds r5, r6 + lsls r5, 17 + movs r0, 0xFA + lsls r0, 16 + adds r5, r0 + lsrs r5, 16 + mov r0, r10 + str r0, [sp] + adds r0, r7, 0 + mov r1, r9 + adds r2, r5, 0 + mov r3, r8 + bl sub_8003460 + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080AA5A8: .4byte gMenuWindow +_080AA5AC: .4byte gUnknown_083C928E +_080AA5B0: .4byte gUnknown_02038570 +_080AA5B4: .4byte gMoveNames +_080AA5B8: .4byte gStringVar1 + thumb_func_end sub_80AA4F0 +*/ diff --git a/sym_ewram.txt b/sym_ewram.txt index 5bcdf1363..44804c5bb 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -749,10 +749,7 @@ gUnknown_0203856C: @ 203856C .space 0x4 gUnknown_02038570: @ 2038570 - .space 0x2 - -gUnknown_02038572: @ 2038572 - .space 0xB + .space 0xD gUnknown_0203857D: @ 203857D .space 0x11 -- cgit v1.2.3