diff options
Diffstat (limited to 'asm/unk_debug_menu_3.s')
-rw-r--r-- | asm/unk_debug_menu_3.s | 747 |
1 files changed, 747 insertions, 0 deletions
diff --git a/asm/unk_debug_menu_3.s b/asm/unk_debug_menu_3.s new file mode 100644 index 000000000..aa156a99b --- /dev/null +++ b/asm/unk_debug_menu_3.s @@ -0,0 +1,747 @@ +.if DEBUG + + .include "constants/gba_constants.inc" + .include "include/macros.inc" + + .text + + thumb_func_start debug_sub_813C404 +debug_sub_813C404: + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r5, ._1 @ gUnknown_Debug_845DDB2 + ldr r4, ._1 + 4 @ gUnknown_Debug_845DAE1 + sub r5, r5, r4 + add r1, r4, #0 + add r2, r5, #0 + bl memcpy + add r0, r6, #0 + add r1, r4, #0 + bl unref_sub_812620C + add r0, r5, #0 + pop {r4, r5, r6} + pop {r1} + bx r1 +._2: + .align 2, 0 +._1: + .word gUnknown_Debug_845DDB2 + .word gUnknown_Debug_845DAE1 + + thumb_func_end debug_sub_813C404 + + thumb_func_start debug_sub_813C430 +debug_sub_813C430: + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r5, ._3 @ gUnknown_Debug_845E402 + ldr r4, ._3 + 4 @ gUnknown_Debug_845E3E0 + sub r5, r5, r4 + add r1, r4, #0 + add r2, r5, #0 + bl memcpy + add r0, r6, #0 + add r1, r4, #0 + bl unref_sub_812620C + add r0, r5, #0 + pop {r4, r5, r6} + pop {r1} + bx r1 +._4: + .align 2, 0 +._3: + .word gUnknown_Debug_845E402 + .word gUnknown_Debug_845E3E0 + + thumb_func_end debug_sub_813C430 + + thumb_func_start debug_sub_813C45C +debug_sub_813C45C: + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r5, ._5 @ gUnknown_Debug_845E443 + ldr r4, ._5 + 4 @ gUnknown_Debug_845E422 + sub r5, r5, r4 + add r1, r4, #0 + add r2, r5, #0 + bl memcpy + add r0, r6, #0 + add r1, r4, #0 + bl unref_sub_812620C + add r0, r5, #0 + pop {r4, r5, r6} + pop {r1} + bx r1 +._6: + .align 2, 0 +._5: + .word gUnknown_Debug_845E443 + .word gUnknown_Debug_845E422 + + thumb_func_end debug_sub_813C45C + + thumb_func_start debug_sub_813C488 +debug_sub_813C488: + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r5, ._7 @ gUnknown_Debug_845E422 + ldr r4, ._7 + 4 @ gUnknown_Debug_845E402 + sub r5, r5, r4 + add r1, r4, #0 + add r2, r5, #0 + bl memcpy + add r0, r6, #0 + add r1, r4, #0 + bl unref_sub_812620C + add r0, r5, #0 + pop {r4, r5, r6} + pop {r1} + bx r1 +._8: + .align 2, 0 +._7: + .word gUnknown_Debug_845E422 + .word gUnknown_Debug_845E402 + + thumb_func_end debug_sub_813C488 + + thumb_func_start debug_sub_813C4B4 +debug_sub_813C4B4: + push {r4, lr} + ldr r4, ._9 @ gUnknown_Debug_845E619 + ldr r1, ._9 + 4 @ gUnknown_Debug_845E606 + sub r4, r4, r1 + add r2, r4, #0 + bl memcpy + add r0, r4, #0 + pop {r4} + pop {r1} + bx r1 +._10: + .align 2, 0 +._9: + .word gUnknown_Debug_845E619 + .word gUnknown_Debug_845E606 + + thumb_func_end debug_sub_813C4B4 + + thumb_func_start debug_sub_813C4D4 +debug_sub_813C4D4: + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r5, ._11 @ gUnknown_Debug_845E712 + ldr r4, ._11 + 4 @ gUnknown_Debug_845E619 + sub r5, r5, r4 + add r1, r4, #0 + add r2, r5, #0 + bl memcpy + add r0, r6, #0 + add r1, r4, #0 + bl unref_sub_81261B4 + add r0, r5, #0 + pop {r4, r5, r6} + pop {r1} + bx r1 +._12: + .align 2, 0 +._11: + .word gUnknown_Debug_845E712 + .word gUnknown_Debug_845E619 + + thumb_func_end debug_sub_813C4D4 + + thumb_func_start debug_sub_813C500 +debug_sub_813C500: + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r5, ._13 @ gUnknown_Debug_845E797 + ldr r4, ._13 + 4 @ gUnknown_Debug_845E712 + sub r5, r5, r4 + add r1, r4, #0 + add r2, r5, #0 + bl memcpy + add r0, r6, #0 + add r1, r4, #0 + bl unref_sub_812620C + add r0, r5, #0 + pop {r4, r5, r6} + pop {r1} + bx r1 +._14: + .align 2, 0 +._13: + .word gUnknown_Debug_845E797 + .word gUnknown_Debug_845E712 + + thumb_func_end debug_sub_813C500 + + thumb_func_start debug_sub_813C52C +debug_sub_813C52C: + push {r4, r5, r6, lr} + mov r6, r9 + mov r5, r8 + push {r5, r6} + mov r8, r0 + lsl r5, r1, #0x10 + lsr r0, r5, #0x10 + mov r9, r0 + ldr r6, ._15 @ gUnknown_Debug_845E7BB + ldr r4, ._15 + 4 @ gUnknown_Debug_845E797 + sub r6, r6, r4 + mov r0, r8 + add r1, r4, #0 + add r2, r6, #0 + bl memcpy + ldr r0, ._15 + 8 @ gUnknown_Debug_845E7B5 + sub r0, r0, r4 + add r0, r0, r8 + add r0, r0, #0x3 + mov r1, r9 + strb r1, [r0] + lsr r5, r5, #0x18 + strb r5, [r0, #0x1] + mov r0, r8 + add r1, r4, #0 + bl unref_sub_812620C + add r0, r6, #0 + pop {r3, r4} + mov r8, r3 + mov r9, r4 + pop {r4, r5, r6} + pop {r1} + bx r1 +._16: + .align 2, 0 +._15: + .word gUnknown_Debug_845E7BB + .word gUnknown_Debug_845E797 + .word gUnknown_Debug_845E7B5 + + thumb_func_end debug_sub_813C52C + + thumb_func_start debug_sub_813C580 +debug_sub_813C580: + push {lr} + mov r1, #0xd + bl debug_sub_813C52C + pop {r1} + bx r1 + + thumb_func_end debug_sub_813C580 + + thumb_func_start debug_sub_813C58C +debug_sub_813C58C: + push {lr} + mov r1, #0x4 + bl debug_sub_813C52C + pop {r1} + bx r1 + + thumb_func_end debug_sub_813C58C + + thumb_func_start debug_sub_813C598 +debug_sub_813C598: + push {lr} + mov r1, #0x85 + bl debug_sub_813C52C + pop {r1} + bx r1 + + thumb_func_end debug_sub_813C598 + + thumb_func_start debug_sub_813C5A4 +debug_sub_813C5A4: + push {lr} + ldr r1, ._17 @ 0x121 + bl debug_sub_813C52C + pop {r1} + bx r1 +._18: + .align 2, 0 +._17: + .word 0x121 + + thumb_func_end debug_sub_813C5A4 + + thumb_func_start debug_sub_813C5B4 +debug_sub_813C5B4: + push {r4, r5, r6, r7, lr} + add r4, r0, #0 + ldr r7, ._23 @ gSaveBlock1 + ldr r0, ._23 + 4 @ gUnknown_Debug_845DDD6 + ldr r1, ._23 + 8 @ gUnknown_Debug_845DDB2 + sub r0, r0, r1 + add r6, r0, r4 + ldr r0, ._23 + 12 @ gUnknown_Debug_845E306 + sub r5, r0, r1 + ldr r0, ._23 + 16 @ Str_842E23C + mov r1, #0x0 + mov r2, #0x0 + bl debug_sub_80C2C18 + mov r2, #0x0 + ldr r3, ._23 + 20 @ 0xfff + mov r1, #0x0 +._19: + add r0, r4, r2 + strb r1, [r0] + add r2, r2, #0x1 + cmp r2, r3 + ble ._19 @cond_branch + mov r2, #0x0 + cmp r2, r5 + bcs ._20 @cond_branch + ldr r3, ._23 + 8 @ gUnknown_Debug_845DDB2 +._21: + add r0, r4, r2 + add r1, r2, r3 + ldrb r1, [r1] + strb r1, [r0] + add r2, r2, #0x1 + cmp r2, r5 + bcc ._21 @cond_branch +._20: + mov r2, #0x0 + ldr r3, ._23 + 24 @ 0x52f +._22: + add r0, r6, r2 + add r1, r7, r2 + ldrb r1, [r1] + strb r1, [r0] + add r2, r2, #0x1 + cmp r2, r3 + bls ._22 @cond_branch + bl ClearEnigmaBerries + ldr r1, ._23 + 8 @ gUnknown_Debug_845DDB2 + add r0, r4, #0 + bl unref_sub_81261B4 + add r0, r5, #0 + pop {r4, r5, r6, r7} + pop {r1} + bx r1 +._24: + .align 2, 0 +._23: + .word gSaveBlock1+0x3160 + .word gUnknown_Debug_845DDD6 + .word gUnknown_Debug_845DDB2 + .word gUnknown_Debug_845E306 + .word Str_842E23C + .word 0xfff + .word 0x52f + + thumb_func_end debug_sub_813C5B4 + + thumb_func_start debug_sub_813C638 +debug_sub_813C638: + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + add sp, sp, #0xffffffec + mov r8, r0 + add r4, r1, #0 + add r5, r2, #0 + add r6, r3, #0 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + lsl r6, r6, #0x10 + lsr r6, r6, #0x10 + bl ZeroMonData + mov r0, #0x0 + str r0, [sp] + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + ldr r0, ._25 @ 0x270f + str r0, [sp, #0xc] + mov r0, r8 + add r1, r4, #0 + add r2, r5, #0 + mov r3, #0x20 + bl CreateMon + ldr r2, ._25 + 4 @ Str_842E240 + mov r0, r8 + mov r1, #0x7 + bl SetMonData + ldr r2, ._25 + 8 @ Str_842E248 + mov r0, r8 + mov r1, #0x2 + bl SetMonData + str r6, [sp, #0x10] + mov r0, r8 + mov r1, #0xc + add r2, sp, #0x10 + bl SetMonData + add sp, sp, #0x14 + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r0} + bx r0 +._26: + .align 2, 0 +._25: + .word 0x270f + .word Str_842E240 + .word Str_842E248 + + thumb_func_end debug_sub_813C638 + + thumb_func_start debug_sub_813C6AC +debug_sub_813C6AC: + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + add sp, sp, #0xfffffff8 + add r6, r0, #0 + add r5, r1, #0 + add r0, r5, #0 + bl ClearMailStruct + add r0, r6, #0 + mov r1, #0xc + bl GetMonData + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r8, r0 + bl ItemIsMail + lsl r0, r0, #0x18 + cmp r0, #0 + beq ._27 @cond_branch + add r4, r5, #0 + add r4, r4, #0x12 + add r7, r5, #0 + add r7, r7, #0x1a + mov r1, #0x9 + add r0, r5, #0 + add r0, r0, #0x10 +._28: + strh r1, [r0] + sub r1, r1, #0x1 + sub r0, r0, #0x2 + cmp r0, r5 + bge ._28 @cond_branch + add r0, r6, #0 + mov r1, #0x7 + mov r2, sp + bl GetMonData + add r0, r4, #0 + mov r1, sp + mov r2, #0x8 + bl StringCopyN + add r0, r6, #0 + mov r1, #0x1 + bl GetMonData + add r1, r7, #0 + bl write_word_to_mem + add r0, r6, #0 + mov r1, #0xb + bl GetMonData + add r4, r0, #0 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + add r0, r6, #0 + mov r1, #0x0 + bl GetMonData + add r1, r0, #0 + add r0, r4, #0 + bl SpeciesToMailSpecies + strh r0, [r5, #0x1e] + mov r0, r8 + strh r0, [r5, #0x20] +._27: + add sp, sp, #0x8 + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7} + pop {r0} + bx r0 + + thumb_func_end debug_sub_813C6AC + + thumb_func_start debug_sub_813C740 +debug_sub_813C740: + push {r4, r5, r6, lr} + mov r6, sl + mov r5, r9 + mov r4, r8 + push {r4, r5, r6} + add sp, sp, #0xffffffd0 + add r6, r0, #0 + ldr r0, ._29 @ gUnknown_Debug_845E443 + mov r8, r0 + ldr r1, ._29 + 4 @ gUnknown_Debug_845E4EF + ldr r5, ._29 + 8 @ gEnemyParty + sub r1, r1, r0 + mov r9, r1 + add r0, r6, #0 + mov r1, r8 + mov r2, r9 + bl memcpy + add r0, r5, #0 + mov r1, #0x19 + mov r2, #0x5 + mov r3, #0x0 + bl debug_sub_813C638 + add r4, sp, #0x24 + mov r0, #0x1 + mov sl, r0 + mov r1, sl + strb r1, [r4] + add r0, r5, #0 + mov r1, #0x2d + add r2, r4, #0 + bl SetMonData + mov r0, #0x3 + strb r0, [r4] + add r0, r5, #0 + mov r1, #0x20 + add r2, r4, #0 + bl SetMonData + mov r0, #0xff + strb r0, [r4] + add r0, r5, #0 + mov r1, #0x23 + add r2, r4, #0 + bl SetMonData + ldr r1, ._29 + 12 @ Str_842E238 + add r0, r4, #0 + mov r2, #0xb + bl StringCopyN + add r0, r5, #0 + mov r1, #0x2 + add r2, r4, #0 + bl SetMonData + mov r0, sl + strb r0, [r4] + add r0, r5, #0 + mov r1, #0x3 + add r2, r4, #0 + bl SetMonData + ldr r0, ._29 + 16 @ gUnknown_Debug_845E467 + add r0, r6, r0 + mov r1, r8 + sub r0, r0, r1 + add r1, r5, #0 + mov r2, #0x64 + bl memcpy + ldr r0, ._29 + 20 @ gUnknown_Debug_845E4CB + add r6, r6, r0 + mov r0, r8 + sub r6, r6, r0 + add r0, r6, #0 + mov r1, sp + mov r2, #0x24 + bl memcpy + mov r0, r9 + add sp, sp, #0x30 + pop {r3, r4, r5} + mov r8, r3 + mov r9, r4 + mov sl, r5 + pop {r4, r5, r6} + pop {r1} + bx r1 +._30: + .align 2, 0 +._29: + .word gUnknown_Debug_845E443 + .word gUnknown_Debug_845E4EF + .word gEnemyParty + .word Str_842E238 + .word gUnknown_Debug_845E467 + .word gUnknown_Debug_845E4CB + + thumb_func_end debug_sub_813C740 + + thumb_func_start debug_sub_813C810 +debug_sub_813C810: + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + add sp, sp, #0xffffffdc + add r6, r0, #0 + ldr r5, ._31 @ gUnknown_Debug_845E443 + ldr r0, ._31 + 4 @ gUnknown_Debug_845E4EF + ldr r4, ._31 + 8 @ gEnemyParty + sub r0, r0, r5 + mov r8, r0 + add r0, r6, #0 + add r1, r5, #0 + mov r2, r8 + bl memcpy + add r0, r4, #0 + mov r1, #0xc9 + mov r2, #0x15 + mov r3, #0x82 + bl debug_sub_813C638 + add r0, r4, #0 + mov r1, sp + bl debug_sub_813C6AC + ldr r0, ._31 + 12 @ gUnknown_Debug_845E467 + add r0, r6, r0 + sub r0, r0, r5 + add r1, r4, #0 + mov r2, #0x64 + bl memcpy + ldr r0, ._31 + 16 @ gUnknown_Debug_845E4CB + add r0, r6, r0 + sub r0, r0, r5 + mov r1, sp + mov r2, #0x24 + bl memcpy + add r0, r6, #0 + add r1, r5, #0 + bl unref_sub_812620C + mov r0, r8 + add sp, sp, #0x24 + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r1} + bx r1 +._32: + .align 2, 0 +._31: + .word gUnknown_Debug_845E443 + .word gUnknown_Debug_845E4EF + .word gEnemyParty + .word gUnknown_Debug_845E467 + .word gUnknown_Debug_845E4CB + + thumb_func_end debug_sub_813C810 + + thumb_func_start debug_sub_813C888 +debug_sub_813C888: + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + add sp, sp, #0xffffffdc + add r6, r0, #0 + ldr r5, ._33 @ gUnknown_Debug_845E443 + ldr r0, ._33 + 4 @ gUnknown_Debug_845E4EF + ldr r4, ._33 + 8 @ gEnemyParty + sub r0, r0, r5 + mov r8, r0 + add r0, r6, #0 + add r1, r5, #0 + mov r2, r8 + bl memcpy + add r0, r4, #0 + mov r1, #0xc9 + mov r2, #0x15 + mov r3, #0x82 + bl debug_sub_813C638 + add r0, r4, #0 + mov r1, sp + bl debug_sub_813C6AC + mov r0, #0x0 + strh r0, [r4, #0x1c] + ldr r0, ._33 + 12 @ gUnknown_Debug_845E467 + add r0, r6, r0 + sub r0, r0, r5 + add r1, r4, #0 + mov r2, #0x64 + bl memcpy + ldr r0, ._33 + 16 @ gUnknown_Debug_845E4CB + add r0, r6, r0 + sub r0, r0, r5 + mov r1, sp + mov r2, #0x24 + bl memcpy + add r0, r6, #0 + add r1, r5, #0 + bl unref_sub_812620C + mov r0, r8 + add sp, sp, #0x24 + pop {r3} + mov r8, r3 + pop {r4, r5, r6} + pop {r1} + bx r1 +._34: + .align 2, 0 +._33: + .word gUnknown_Debug_845E443 + .word gUnknown_Debug_845E4EF + .word gEnemyParty + .word gUnknown_Debug_845E467 + .word gUnknown_Debug_845E4CB + + thumb_func_end debug_sub_813C888 + + thumb_func_start debug_sub_813C904 +debug_sub_813C904: + push {r4, lr} + ldr r4, ._35 @ gPlayerParty + add r0, r4, #0 + mov r1, #0x5 + mov r2, #0x32 + mov r3, #0xb7 + bl debug_sub_813C638 + add r0, r4, #0 + add r0, r0, #0x64 + mov r1, #0x8 + mov r2, #0x32 + mov r3, #0xc4 + bl debug_sub_813C638 + add r4, r4, #0xc8 + add r0, r4, #0 + mov r1, #0x2 + mov r2, #0x32 + mov r3, #0x8d + bl debug_sub_813C638 + pop {r4} + pop {r0} + bx r0 +._36: + .align 2, 0 +._35: + .word gPlayerParty + + thumb_func_end debug_sub_813C904 + + thumb_func_start debug_sub_813C93C +debug_sub_813C93C: + push {r4, r5, r6, lr} + add sp, sp, #0xffffff44 + add r4, r0, #0 + ldr r6, ._37 @ gUnknown_Debug_845E4EF + ldr r5, ._37 + 4 @ gUnknown_Debug_845E606 + sub r5, r5, r6 + add r1, r6, #0 + add r2, r5, #0 + bl memcpy + bl SavePlayerParty + bl debug_sub_813C904 + ldr r1, ._37 + 8 @ Str_842E253 + ldr r2, ._37 + 12 @ 0x270f + mov r0, sp + bl debug_sub_8075DB4 + bl LoadPlayerParty + ldr r0, ._37 + 16 @ gUnknown_Debug_845E506 + add r4, r4, r0 + sub r4, r4, r6 + add r0, r4, #0 + mov r1, sp + mov r2, #0xbc + bl memcpy + add r0, r5, #0 + add sp, sp, #0xbc + pop {r4, r5, r6} + pop {r1} + bx r1 +._38: + .align 2, 0 +._37: + .word gUnknown_Debug_845E4EF + .word gUnknown_Debug_845E606 + .word Str_842E253+5 @ weird... + .word 0x270f + .word gUnknown_Debug_845E506 + + thumb_func_end debug_sub_813C93C + + .align 2, 0 + +.endif |