summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2018-04-11 17:36:58 -0700
committerGitHub <noreply@github.com>2018-04-11 17:36:58 -0700
commitfcb919c7cf56e0099f5aa2e455930e2eb080f90e (patch)
treeb0e686b62f386a424ad34308facc3b1ab9677798
parentba6f60e4674785e4442232d0dd55bf13b9dab228 (diff)
parent78bd32c68bc8f20b5d3aeb0d0dd694608fee62da (diff)
Merge pull request #594 from PikalaxALT/taya
Taya debug window
-rw-r--r--asm/taya_debug_window.s2054
-rw-r--r--data/debug_menu_taya.s219
-rw-r--r--include/battle_setup.h2
-rw-r--r--include/mauville_man.h2
-rw-r--r--include/pokemon_storage_system.h1
-rw-r--r--include/region_map.h1
-rw-r--r--ld_script.txt3
-rw-r--r--src/debug/taya_debug_window.c1085
8 files changed, 1090 insertions, 2277 deletions
diff --git a/asm/taya_debug_window.s b/asm/taya_debug_window.s
deleted file mode 100644
index 68d27390d..000000000
--- a/asm/taya_debug_window.s
+++ /dev/null
@@ -1,2054 +0,0 @@
-.if DEBUG
-
- .include "constants/gba_constants.inc"
- .include "include/macros.inc"
-
- .text
-
- thumb_func_start TayaDebugMenu_Trend
-TayaDebugMenu_Trend:
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, r9
- mov r5, r8
- push {r5, r6, r7}
- add sp, sp, #0xffffffd8
- bl Menu_EraseScreen
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0x1e
- mov r3, #0xb
- bl Menu_DrawStdWindowFrame
- ldr r5, ._3 @ gSaveBlock1
- mov r7, #0x0
- mov r0, #0x1
- add r0, r0, sp
- mov sl, r0
- mov r9, sp
- mov r0, #0x0
- mov r8, r0
- add r6, sp, #0x20
-._2:
- ldrb r1, [r5, #0x1]
- mov r0, #0x40
- and r0, r0, r1
- mov r1, #0xa1
- cmp r0, #0
- beq ._1 @cond_branch
- mov r1, #0xa2
-._1:
- mov r0, r9
- strb r1, [r0]
- ldrh r1, [r5, #0x4]
- add r0, r6, #0
- bl EasyChat_GetWordText
- mov r0, sl
- add r1, r6, #0
- mov r2, #0x0
- mov r3, #0x7
- bl StringCopyPadded
- add r4, r0, #0
- ldrh r1, [r5, #0x6]
- add r0, r6, #0
- bl EasyChat_GetWordText
- add r0, r4, #0
- add r1, r6, #0
- mov r2, #0x0
- mov r3, #0x8
- bl StringCopyPadded
- add r4, r0, #0
- ldrb r1, [r5]
- lsl r1, r1, #0x19
- lsr r1, r1, #0x19
- mov r2, #0x1
- mov r3, #0x3
- bl ConvertIntToDecimalStringN
- add r4, r0, #0
- mov r0, r8
- strb r0, [r4]
- add r4, r4, #0x1
- ldrh r1, [r5]
- lsl r1, r1, #0x12
- lsr r1, r1, #0x19
- add r0, r4, #0
- mov r2, #0x1
- mov r3, #0x3
- bl ConvertIntToDecimalStringN
- add r4, r0, #0
- mov r0, r8
- strb r0, [r4]
- add r4, r4, #0x1
- ldrh r1, [r5, #0x2]
- add r0, r4, #0
- mov r2, #0x1
- mov r3, #0x5
- bl ConvertIntToDecimalStringN
- lsl r2, r7, #0x1
- add r2, r2, #0x1
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- mov r0, sp
- mov r1, #0x1
- bl Menu_PrintText
- add r5, r5, #0x8
- add r0, r7, #1
- lsl r0, r0, #0x10
- lsr r7, r0, #0x10
- cmp r7, #0x4
- bls ._2 @cond_branch
- ldr r1, ._3 + 4 @ gMenuCallback
- ldr r0, ._3 + 8 @ debug_sub_8090808
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x28
- pop {r3, r4, r5}
- mov r8, r3
- mov r9, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r1}
- bx r1
-._4:
- .align 2, 0
-._3:
- .word gSaveBlock1+0x2dd4
- .word gMenuCallback
- .word debug_sub_8090808+1
-
- thumb_func_end TayaDebugMenu_Trend
-
- thumb_func_start debug_sub_8090808
-debug_sub_8090808:
- push {lr}
- ldr r0, ._7 @ gMain
- ldrh r1, [r0, #0x2e]
- mov r0, #0x3
- and r0, r0, r1
- cmp r0, #0
- bne ._5 @cond_branch
- mov r0, #0x0
- b ._6
-._8:
- .align 2, 0
-._7:
- .word gMain
-._5:
- bl Menu_EraseScreen
- bl CloseMenu
- mov r0, #0x1
-._6:
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_8090808
-
- thumb_func_start TayaDebugMenu_TrendR
-TayaDebugMenu_TrendR:
- push {r4, r5, r6, r7, lr}
- mov r0, #0x0
- ldr r7, ._11 @ gSaveBlock1
-._10:
- mov r4, #0x0
- lsl r5, r0, #0x3
- add r6, r0, #1
-._9:
- bl Random
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r1, #0x16
- bl __umodsi3
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl sub_80EB72C
- lsl r1, r4, #0x1
- add r1, r1, r5
- add r1, r1, r7
- strh r0, [r1]
- add r0, r4, #1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x1
- bls ._9 @cond_branch
- lsl r0, r6, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0x4
- bls ._10 @cond_branch
- bl Menu_EraseScreen
- bl CloseMenu
- mov r0, #0x1
- pop {r4, r5, r6, r7}
- pop {r1}
- bx r1
-._12:
- .align 2, 0
-._11:
- .word gSaveBlock1+0x2dd8
-
- thumb_func_end TayaDebugMenu_TrendR
-
- thumb_func_start debug_sub_8090880
-debug_sub_8090880:
- push {lr}
- bl UpdatePaletteFade
- lsl r0, r0, #0x18
- cmp r0, #0
- beq ._13 @cond_branch
- mov r0, #0x0
- b ._14
-._13:
- bl sub_80E60D8
- mov r0, #0x1
-._14:
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_8090880
-
- thumb_func_start debug_sub_809089C
-debug_sub_809089C:
- push {lr}
- bl Menu_ProcessInput
- lsl r0, r0, #0x18
- asr r1, r0, #0x18
- mov r0, #0x2
- neg r0, r0
- cmp r1, r0
- beq ._15 @cond_branch
- add r0, r0, #0x1
- cmp r1, r0
- bne ._16 @cond_branch
- bl CloseMenu
- mov r0, #0x1
- b ._17
-._16:
- ldr r2, ._19 @ gSpecialVar_0x8004
- ldr r0, ._19 + 4 @ gUnknown_Debug_083C4EC0
- lsl r1, r1, #0x3
- add r0, r0, #0x4
- add r1, r1, r0
- ldr r0, [r1]
- strh r0, [r2]
- ldrh r0, [r2]
- sub r0, r0, #0x5
- cmp r0, #0x7
- bhi ._27 @cond_branch
- lsl r0, r0, #0x2
- ldr r1, ._19 + 8 @
- add r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
-._20:
- .align 2, 0
-._19:
- .word gSpecialVar_0x8004
- .word gUnknown_Debug_083C4EC0
- .word ._21
-._21:
- .word ._29
- .word ._27
- .word ._29
- .word ._29
- .word ._27
- .word ._27
- .word ._29
- .word ._29
-._29:
- ldr r0, ._30 @ gSpecialVar_0x8005
- mov r1, #0x0
- strh r1, [r0]
- ldr r0, ._30 + 4 @ gSpecialVar_0x8006
- strh r1, [r0]
-._27:
- mov r0, #0x1
- mov r1, #0x0
- bl FadeScreen
- ldr r1, ._30 + 8 @ gMenuCallback
- ldr r0, ._30 + 12 @ debug_sub_8090880
- str r0, [r1]
-._15:
- mov r0, #0x0
-._17:
- pop {r1}
- bx r1
-._31:
- .align 2, 0
-._30:
- .word gSpecialVar_0x8005
- .word gSpecialVar_0x8006
- .word gMenuCallback
- .word debug_sub_8090880+1
-
- thumb_func_end debug_sub_809089C
-
- thumb_func_start TayaDebugMenu_SimpleText
-TayaDebugMenu_SimpleText:
- push {lr}
- add sp, sp, #0xfffffff8
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0xc
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- ldr r3, ._32 @ gUnknown_Debug_083C4EC0
- mov r0, #0x1
- mov r1, #0x1
- mov r2, #0x9
- bl Menu_PrintItems
- mov r0, #0x0
- str r0, [sp]
- mov r0, #0xb
- str r0, [sp, #0x4]
- mov r0, #0x0
- mov r1, #0x1
- mov r2, #0x1
- mov r3, #0x9
- bl InitMenu
- ldr r1, ._32 + 4 @ gMenuCallback
- ldr r0, ._32 + 8 @ debug_sub_809089C
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r1}
- bx r1
-._33:
- .align 2, 0
-._32:
- .word gUnknown_Debug_083C4EC0
- .word gMenuCallback
- .word debug_sub_809089C+1
-
- thumb_func_end TayaDebugMenu_SimpleText
-
- thumb_func_start debug_sub_8090984
-debug_sub_8090984:
- push {r4, r5, r6, r7, lr}
- bl Menu_ProcessInput
- lsl r2, r0, #0x18
- asr r1, r2, #0x18
- mov r0, #0x2
- neg r0, r0
- cmp r1, r0
- beq ._34 @cond_branch
- add r0, r0, #0x1
- cmp r1, r0
- beq ._46 @cond_branch
- cmp r1, #0x4
- bgt ._36 @cond_branch
- lsr r0, r2, #0x18
- bl debug_sub_810B32C
- b ._46
-._34:
- mov r0, #0x0
- b ._38
-._36:
- cmp r1, #0x5
- bne ._39 @cond_branch
- bl sub_80F7F30
- b ._46
-._39:
- cmp r1, #0x6
- bne ._41 @cond_branch
- mov r4, #0x0
- ldr r0, ._44 @ gSaveBlock1
- add r1, r0, #2
- mov ip, r1
- ldr r7, ._44 + 4 @ gUnknown_Debug_083C4F08
- ldr r1, ._44 + 8 @ 0xfffffd94
- add r6, r0, r1
- add r5, r0, #0
- add r5, r5, #0xe
-._42:
- lsl r1, r4, #0x1
- mov r0, ip
- add r3, r1, r0
- add r0, r1, r7
- ldrh r2, [r0]
- strh r2, [r3]
- add r0, r1, r5
- strh r2, [r0]
- add r1, r6, r1
- strh r2, [r1]
- add r0, r4, #1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x2
- bls ._42 @cond_branch
- b ._46
-._45:
- .align 2, 0
-._44:
- .word gSaveBlock1+0x2d94
- .word gUnknown_Debug_083C4F08
- .word 0xfffffd94
-._41:
- cmp r1, #0x7
- bne ._46 @cond_branch
- mov r4, #0x0
-._47:
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- bl sub_80EB890
- add r0, r4, #1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x20
- bls ._47 @cond_branch
-._46:
- bl CloseMenu
- mov r0, #0x1
-._38:
- pop {r4, r5, r6, r7}
- pop {r1}
- bx r1
-
- thumb_func_end debug_sub_8090984
-
- thumb_func_start TayaDebugMenu_OldMan
-TayaDebugMenu_OldMan:
- push {lr}
- add sp, sp, #0xfffffff8
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0xa
- mov r3, #0x11
- bl Menu_DrawStdWindowFrame
- ldr r3, ._48 @ gUnknown_Debug_083C4F54
- mov r0, #0x1
- mov r1, #0x1
- mov r2, #0x8
- bl Menu_PrintItems
- bl GetCurrentMauvilleOldMan
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp]
- mov r0, #0x9
- str r0, [sp, #0x4]
- mov r0, #0x0
- mov r1, #0x1
- mov r2, #0x1
- mov r3, #0x8
- bl InitMenu
- ldr r1, ._48 + 4 @ gMenuCallback
- ldr r0, ._48 + 8 @ debug_sub_8090984
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r1}
- bx r1
-._49:
- .align 2, 0
-._48:
- .word gUnknown_Debug_083C4F54
- .word gMenuCallback
- .word debug_sub_8090984+1
-
- thumb_func_end TayaDebugMenu_OldMan
-
- thumb_func_start TayaDebugMenu_LanettesPC
-TayaDebugMenu_LanettesPC:
- push {lr}
- bl Menu_EraseScreen
- bl ShowPokemonStorageSystem
- mov r0, #0x1
- pop {r1}
- bx r1
-
- thumb_func_end TayaDebugMenu_LanettesPC
-
- thumb_func_start TayaDebugMenu_TownFlags
-TayaDebugMenu_TownFlags:
- push {lr}
- ldr r0, ._50 @ 0x80f
- bl FlagSet
- mov r0, #0x81
- lsl r0, r0, #0x4
- bl FlagSet
- ldr r0, ._50 + 4 @ 0x811
- bl FlagSet
- ldr r0, ._50 + 8 @ 0x812
- bl FlagSet
- ldr r0, ._50 + 12 @ 0x813
- bl FlagSet
- ldr r0, ._50 + 16 @ 0x814
- bl FlagSet
- ldr r0, ._50 + 20 @ 0x815
- bl FlagSet
- ldr r0, ._50 + 24 @ 0x816
- bl FlagSet
- ldr r0, ._50 + 28 @ 0x817
- bl FlagSet
- ldr r0, ._50 + 32 @ 0x818
- bl FlagSet
- ldr r0, ._50 + 36 @ 0x819
- bl FlagSet
- ldr r0, ._50 + 40 @ 0x81a
- bl FlagSet
- ldr r0, ._50 + 44 @ 0x81b
- bl FlagSet
- ldr r0, ._50 + 48 @ 0x81c
- bl FlagSet
- ldr r0, ._50 + 52 @ 0x81d
- bl FlagSet
- ldr r0, ._50 + 56 @ 0x81e
- bl FlagSet
- ldr r0, ._50 + 60 @ 0x848
- bl FlagSet
- ldr r0, ._50 + 64 @ 0x849
- bl FlagSet
- ldr r0, ._50 + 68 @ 0x84a
- bl FlagSet
- ldr r0, ._50 + 72 @ 0x854
- bl FlagSet
- ldr r0, ._50 + 76 @ 0x855
- bl FlagSet
- ldr r0, ._50 + 80 @ 0x856
- bl FlagSet
- ldr r0, ._50 + 84 @ 0x857
- bl FlagSet
- ldr r0, ._50 + 88 @ 0x858
- bl FlagSet
- ldr r0, ._50 + 92 @ 0x859
- bl FlagSet
- ldr r0, ._50 + 96 @ 0x85a
- bl FlagSet
- ldr r0, ._50 + 100 @ 0x85b
- bl FlagSet
- ldr r0, ._50 + 104 @ 0x85c
- bl FlagSet
- ldr r0, ._50 + 108 @ 0x83c
- bl FlagSet
- ldr r0, ._50 + 112 @ 0x83d
- bl FlagSet
- ldr r0, ._50 + 116 @ 0x83e
- bl FlagSet
- ldr r0, ._50 + 120 @ 0x83f
- bl FlagSet
- mov r0, #0x84
- lsl r0, r0, #0x4
- bl FlagSet
- ldr r0, ._50 + 124 @ 0x841
- bl FlagSet
- ldr r0, ._50 + 128 @ 0x842
- bl FlagSet
- ldr r0, ._50 + 132 @ 0x843
- bl FlagSet
- ldr r0, ._50 + 136 @ 0x844
- bl FlagSet
- ldr r0, ._50 + 140 @ 0x845
- bl FlagSet
- ldr r0, ._50 + 144 @ 0x846
- bl FlagSet
- ldr r0, ._50 + 148 @ 0x847
- bl FlagSet
- ldr r0, ._50 + 152 @ 0x83b
- bl FlagSet
- bl CloseMenu
- mov r0, #0x1
- pop {r1}
- bx r1
-._51:
- .align 2, 0
-._50:
- .word 0x80f
- .word 0x811
- .word 0x812
- .word 0x813
- .word 0x814
- .word 0x815
- .word 0x816
- .word 0x817
- .word 0x818
- .word 0x819
- .word 0x81a
- .word 0x81b
- .word 0x81c
- .word 0x81d
- .word 0x81e
- .word 0x848
- .word 0x849
- .word 0x84a
- .word 0x854
- .word 0x855
- .word 0x856
- .word 0x857
- .word 0x858
- .word 0x859
- .word 0x85a
- .word 0x85b
- .word 0x85c
- .word 0x83c
- .word 0x83d
- .word 0x83e
- .word 0x83f
- .word 0x841
- .word 0x842
- .word 0x843
- .word 0x844
- .word 0x845
- .word 0x846
- .word 0x847
- .word 0x83b
-
- thumb_func_end TayaDebugMenu_TownFlags
-
- thumb_func_start TayaDebugMenu_AwardARibbon
-TayaDebugMenu_AwardARibbon:
- push {lr}
- mov r0, #0x1
- neg r0, r0
- mov r1, #0x10
- mov r2, #0x0
- bl BlendPalettes
- ldr r0, ._52 @ debug_sub_80915BC
- bl SetMainCallback2
- bl CloseMenu
- mov r0, #0x1
- pop {r1}
- bx r1
-._53:
- .align 2, 0
-._52:
- .word debug_sub_80915BC+1
-
- thumb_func_end TayaDebugMenu_AwardARibbon
-
- thumb_func_start debug_sub_8090C44
-debug_sub_8090C44:
- push {r4, r5, lr}
- ldr r4, ._54 @ gSharedMem
- sub r5, r4, #1
- ldrh r1, [r5, #0x8]
- add r0, r4, #0
- mov r2, #0x2
- mov r3, #0x5
- bl ConvertIntToDecimalStringN
- add r0, r4, #0
- mov r1, #0x1
- mov r2, #0x1
- bl Menu_PrintText
- add r0, r4, #0
- mov r1, #0x0
- mov r2, #0x5
- bl StringFill
- ldrb r0, [r5]
- add r0, r0, r4
- mov r1, #0x79
- strb r1, [r0]
- add r0, r4, #0
- mov r1, #0x1
- mov r2, #0x3
- bl Menu_PrintText
- pop {r4, r5}
- pop {r0}
- bx r0
-._55:
- .align 2, 0
-._54:
- .word gSharedMem+1
-
- thumb_func_end debug_sub_8090C44
-
- thumb_func_start debug_sub_8090C88
-debug_sub_8090C88:
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- add sp, sp, #0xfffffffc
- mov r0, #0x1
- mov r8, r0
- ldr r2, ._59 @ gMain
- ldrh r1, [r2, #0x2e]
- mov r0, #0x20
- and r0, r0, r1
- add r3, r2, #0
- cmp r0, #0
- beq ._57 @cond_branch
- ldr r1, ._59 + 4 @ gSharedMem
- ldrb r0, [r1]
- cmp r0, #0
- beq ._57 @cond_branch
- sub r0, r0, #0x1
- strb r0, [r1]
- b ._62
-._60:
- .align 2, 0
-._59:
- .word gMain
- .word gSharedMem
-._67:
- add r0, r0, #0x1
- strb r0, [r1]
- b ._62
-._77:
- strh r1, [r7, #0x8]
- b ._62
-._79:
- ldr r0, ._64 @ gSharedMem
- ldrh r0, [r0, #0x8]
- bl SetLotteryNumber16_Unused
-._78:
- bl CloseMenu
- mov r0, #0x1
- b ._63
-._65:
- .align 2, 0
-._64:
- .word gSharedMem
-._57:
- ldrh r1, [r3, #0x2e]
- mov r0, #0x10
- and r0, r0, r1
- cmp r0, #0
- beq ._66 @cond_branch
- ldr r1, ._81 @ gSharedMem
- ldrb r0, [r1]
- cmp r0, #0x3
- bls ._67 @cond_branch
-._66:
- ldrh r1, [r3, #0x30]
- mov r0, #0x40
- and r0, r0, r1
- cmp r0, #0
- beq ._68 @cond_branch
- ldr r0, ._81 @ gSharedMem
- ldrh r1, [r0, #0x8]
- str r1, [r0, #0xc]
- ldr r1, ._81 + 4 @ 0x2710
- strh r1, [r0, #0x10]
- mov r4, #0x0
- ldrb r1, [r0]
- add r7, r0, #0
- cmp r4, r1
- bcs ._69 @cond_branch
- add r5, r7, #0
- add r6, r1, #0
-._70:
- ldrh r0, [r5, #0x10]
- mov r1, #0xa
- str r3, [sp]
- bl __udivsi3
- strh r0, [r5, #0x10]
- add r0, r4, #1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- ldr r3, [sp]
- cmp r4, r6
- bcc ._70 @cond_branch
-._69:
- ldrh r1, [r7, #0x10]
- ldr r0, [r7, #0xc]
- add r0, r0, r1
- str r0, [r7, #0xc]
- ldr r1, ._81 + 8 @ 0xffff
- cmp r0, r1
- ble ._71 @cond_branch
- str r1, [r7, #0xc]
-._71:
- ldrh r0, [r7, #0x8]
- ldr r1, [r7, #0xc]
- cmp r0, r1
- bne ._77 @cond_branch
-._68:
- ldrh r1, [r3, #0x30]
- mov r0, #0x80
- and r0, r0, r1
- cmp r0, #0
- beq ._73 @cond_branch
- ldr r0, ._81 @ gSharedMem
- ldrh r1, [r0, #0x8]
- str r1, [r0, #0xc]
- ldr r1, ._81 + 4 @ 0x2710
- strh r1, [r0, #0x10]
- mov r4, #0x0
- ldrb r1, [r0]
- add r7, r0, #0
- cmp r4, r1
- bcs ._74 @cond_branch
- add r5, r7, #0
- add r6, r1, #0
-._75:
- ldrh r0, [r5, #0x10]
- mov r1, #0xa
- str r3, [sp]
- bl __udivsi3
- strh r0, [r5, #0x10]
- add r0, r4, #1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- ldr r3, [sp]
- cmp r4, r6
- bcc ._75 @cond_branch
-._74:
- add r2, r7, #0
- ldrh r1, [r2, #0x10]
- ldr r0, [r2, #0xc]
- sub r0, r0, r1
- str r0, [r2, #0xc]
- cmp r0, #0
- bge ._76 @cond_branch
- mov r0, #0x0
- str r0, [r2, #0xc]
-._76:
- ldrh r0, [r2, #0x8]
- ldr r1, [r2, #0xc]
- cmp r0, r1
- bne ._77 @cond_branch
-._73:
- ldrh r2, [r3, #0x2e]
- mov r0, #0x2
- and r0, r0, r2
- cmp r0, #0
- bne ._78 @cond_branch
- mov r0, #0x1
- and r0, r0, r2
- cmp r0, #0
- bne ._79 @cond_branch
- mov r0, #0x0
- mov r8, r0
-._62:
- mov r0, r8
- cmp r0, #0
- beq ._80 @cond_branch
- bl debug_sub_8090C44
-._80:
- mov r0, #0x0
-._63:
- add sp, sp, #0x4
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r1}
- bx r1
-._82:
- .align 2, 0
-._81:
- .word gSharedMem
- .word 0x2710
- .word 0xffff
-
- thumb_func_end debug_sub_8090C88
-
- thumb_func_start TayaDebugMenu_PKMNLottery
-TayaDebugMenu_PKMNLottery:
- push {lr}
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0x6
- mov r3, #0x5
- bl Menu_DrawStdWindowFrame
- bl RetrieveLotteryNumber
- ldr r2, ._83 @ gSharedMem
- ldr r0, ._83 + 4 @ gSpecialVar_Result
- ldrh r0, [r0]
- mov r1, #0x0
- strh r0, [r2, #0x8]
- strb r1, [r2]
- bl debug_sub_8090C44
- ldr r1, ._83 + 8 @ gMenuCallback
- ldr r0, ._83 + 12 @ debug_sub_8090C88
- str r0, [r1]
- mov r0, #0x0
- pop {r1}
- bx r1
-._84:
- .align 2, 0
-._83:
- .word gSharedMem
- .word gSpecialVar_Result
- .word gMenuCallback
- .word debug_sub_8090C88+1
-
- thumb_func_end TayaDebugMenu_PKMNLottery
-
- thumb_func_start TayaDebugMenu_Trainer
-TayaDebugMenu_Trainer:
- push {r4, r5, lr}
- mov r4, #0x0
- ldr r5, ._86 @ gTrainerEyeTrainers
-._85:
- lsl r0, r4, #0x4
- add r0, r0, r5
- ldrh r0, [r0]
- bl SetTrainerFlag
- add r0, r4, #1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x37
- bls ._85 @cond_branch
- ldr r0, ._86 + 4 @ 0x109
- bl SetTrainerFlag
- mov r0, #0x85
- lsl r0, r0, #0x1
- bl SetTrainerFlag
- ldr r0, ._86 + 8 @ 0x10b
- bl SetTrainerFlag
- mov r0, #0x86
- lsl r0, r0, #0x1
- bl SetTrainerFlag
- ldr r0, ._86 + 12 @ 0x10d
- bl SetTrainerFlag
- mov r0, #0x87
- lsl r0, r0, #0x1
- bl SetTrainerFlag
- ldr r0, ._86 + 16 @ 0x10f
- bl SetTrainerFlag
- mov r0, #0x88
- lsl r0, r0, #0x1
- bl SetTrainerFlag
- ldr r0, ._86 + 20 @ 0x105
- bl SetTrainerFlag
- mov r0, #0x83
- lsl r0, r0, #0x1
- bl SetTrainerFlag
- ldr r0, ._86 + 24 @ 0x107
- bl SetTrainerFlag
- mov r0, #0x84
- lsl r0, r0, #0x1
- bl SetTrainerFlag
- ldr r0, ._86 + 28 @ 0x14f
- bl SetTrainerFlag
- bl CloseMenu
- mov r0, #0x1
- pop {r4, r5}
- pop {r1}
- bx r1
-._87:
- .align 2, 0
-._86:
- .word gTrainerEyeTrainers
- .word 0x109
- .word 0x10b
- .word 0x10d
- .word 0x10f
- .word 0x105
- .word 0x107
- .word 0x14f
-
- thumb_func_end TayaDebugMenu_Trainer
-
- thumb_func_start TayaDebugMenu_PokenavD
-TayaDebugMenu_PokenavD:
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, r9
- mov r5, r8
- push {r5, r6, r7}
- add sp, sp, #0xffffffe4
- bl Menu_DisplayDialogueFrame
- mov r0, #0x0
- mov sl, r0
- mov r6, #0x1
- mov r7, #0xff
- mov r1, #0x3
- mov r9, r1
-._93:
- ldr r4, ._94 @ gSharedMem
- add r0, r4, #0
- ldr r1, ._94 + 4 @ gUnknown_Debug_083C4F94
- bl StringCopy
- mov r5, sl
- add r5, r5, #0x1
- add r1, r5, r4
- mov r0, #0xff
- strb r0, [r1]
- add r0, r4, #0
- mov r1, #0x2
- mov r2, #0xf
- bl Menu_PrintText
- mov r0, #0x0
- mov r8, r0
- str r5, [sp, #0x14]
- mov r1, sl
- lsl r1, r1, #0x2
- str r1, [sp, #0x18]
-._91:
- bl Random
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- add r0, r0, #0x1
- str r0, [sp, #0x10]
- bl Random
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r1, #0x64
- bl __umodsi3
- add r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- bl Random
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r1, #0xc1
- lsl r1, r1, #0x1
- bl __umodsi3
- add r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r3, r0, #0x10
- cmp r3, #0xfb
- bls ._89 @cond_branch
- add r0, r3, #0
- add r0, r0, #0x19
- lsl r0, r0, #0x10
- lsr r3, r0, #0x10
- ldr r0, ._94 + 8 @ 0x19b
- cmp r3, r0
- bls ._89 @cond_branch
- mov r3, #0x1
-._89:
- ldr r0, [sp, #0x18]
- add r0, r0, sl
- lsl r4, r0, #0x4
- sub r4, r4, r0
- lsl r4, r4, #0x5
- mov r1, r8
- lsl r0, r1, #0x2
- add r0, r0, r8
- lsl r0, r0, #0x4
- ldr r1, ._94 + 12 @ gPokemonStorage
- add r0, r0, r1
- add r4, r4, r0
- lsl r2, r5, #0x18
- lsr r2, r2, #0x18
- mov r0, #0x0
- str r0, [sp]
- str r0, [sp, #0x4]
- str r6, [sp, #0x8]
- ldr r0, [sp, #0x10]
- str r0, [sp, #0xc]
- add r0, r4, #0
- add r1, r3, #0
- mov r3, #0x20
- bl CreateBoxMon
- bl Random
- add r1, r7, #0
- and r1, r1, r0
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x16
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- add r1, r7, #0
- and r1, r1, r0
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x17
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- add r1, r7, #0
- and r1, r1, r0
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x18
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- add r1, r7, #0
- and r1, r1, r0
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x21
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- add r1, r7, #0
- and r1, r1, r0
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x2f
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- add r1, r7, #0
- and r1, r1, r0
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x30
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- mov r1, r9
- and r1, r1, r0
- add r1, r1, #0x1
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x32
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- mov r1, r9
- and r1, r1, r0
- add r1, r1, #0x1
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x33
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- mov r1, r9
- and r1, r1, r0
- add r1, r1, #0x1
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x34
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- mov r1, r9
- and r1, r1, r0
- add r1, r1, #0x1
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x36
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- mov r1, r9
- and r1, r1, r0
- add r1, r1, #0x1
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x35
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- add r1, r6, #0
- and r1, r1, r0
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x43
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- add r1, r6, #0
- and r1, r1, r0
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x44
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- add r1, r6, #0
- and r1, r1, r0
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x45
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- add r1, r6, #0
- and r1, r1, r0
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x46
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- add r1, r6, #0
- and r1, r1, r0
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x47
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- add r1, r6, #0
- and r1, r1, r0
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x48
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- add r1, r6, #0
- and r1, r1, r0
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x49
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- add r1, r6, #0
- and r1, r1, r0
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x4a
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- add r1, r6, #0
- and r1, r1, r0
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x4b
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- add r1, r6, #0
- and r1, r1, r0
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x4c
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- add r1, r6, #0
- and r1, r1, r0
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x4d
- add r2, sp, #0x10
- bl SetBoxMonData
- bl Random
- add r1, r6, #0
- and r1, r1, r0
- str r1, [sp, #0x10]
- add r0, r4, #0
- mov r1, #0x4e
- add r2, sp, #0x10
- bl SetBoxMonData
- mov r0, r8
- add r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r8, r0
- cmp r0, #0x1d
- bhi ._90 @cond_branch
- b ._91
-._90:
- ldr r1, [sp, #0x14]
- lsl r0, r1, #0x10
- lsr r0, r0, #0x10
- mov sl, r0
- cmp r0, #0xd
- bhi ._92 @cond_branch
- b ._93
-._92:
- bl TayaDebugMenu_TownFlags
- bl TayaDebugMenu_Trainer
- bl CloseMenu
- mov r0, #0x1
- add sp, sp, #0x1c
- pop {r3, r4, r5}
- mov r8, r3
- mov r9, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r1}
- bx r1
-._95:
- .align 2, 0
-._94:
- .word gSharedMem
- .word gUnknown_Debug_083C4F94
- .word 0x19b
- .word gPokemonStorage+0x4
-
- thumb_func_end TayaDebugMenu_PokenavD
-
- thumb_func_start TayaDebugMenu_8091190
-TayaDebugMenu_8091190:
- push {r4, r5, lr}
- add sp, sp, #0xfffffff8
- bl Menu_ProcessInput
- lsl r0, r0, #0x18
- asr r3, r0, #0x18
- mov r0, #0x2
- neg r0, r0
- cmp r3, r0
- beq ._96 @cond_branch
- add r0, r0, #0x1
- cmp r3, r0
- beq ._97 @cond_branch
- ldr r2, ._99 @ gMenuCallback
- ldr r1, ._99 + 4 @ gUnknown_Debug_83C5068
- ldr r0, ._99 + 8 @ unk_2030224
- ldrb r0, [r0]
- lsl r0, r0, #0x18
- asr r0, r0, #0x18
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, [r0]
- lsl r0, r3, #0x3
- add r0, r0, r1
- ldr r0, [r0, #0x4]
- str r0, [r2]
-._106:
- mov r0, #0x0
- b ._98
-._100:
- .align 2, 0
-._99:
- .word gMenuCallback
- .word gUnknown_Debug_83C5068
- .word unk_2030224
-._96:
- ldr r3, ._107 @ unk_2030224
- ldrb r4, [r3]
- ldr r2, ._107 + 4 @ gMain
- ldrh r1, [r2, #0x2e]
- mov r0, #0x20
- and r0, r0, r1
- add r5, r3, #0
- cmp r0, #0
- beq ._102 @cond_branch
- sub r0, r4, #1
- strb r0, [r5]
- lsl r0, r0, #0x18
- cmp r0, #0
- bge ._102 @cond_branch
- mov r0, #0x1
- strb r0, [r5]
-._102:
- ldrh r1, [r2, #0x2e]
- mov r0, #0x10
- and r0, r0, r1
- cmp r0, #0
- beq ._104 @cond_branch
- ldrb r0, [r5]
- add r0, r0, #0x1
- strb r0, [r5]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x1
- bls ._104 @cond_branch
- mov r0, #0x0
- strb r0, [r5]
-._104:
- lsl r0, r4, #0x18
- asr r0, r0, #0x18
- mov r1, #0x0
- ldrsb r1, [r5, r1]
- cmp r0, r1
- beq ._106 @cond_branch
- bl Menu_EraseScreen
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0xb
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- ldr r4, ._107 + 8 @ gUnknown_Debug_83C5068
- mov r0, #0x0
- ldrsb r0, [r5, r0]
- lsl r0, r0, #0x3
- add r0, r0, r4
- ldrb r2, [r0, #0x4]
- ldr r3, [r0]
- mov r0, #0x1
- mov r1, #0x1
- bl Menu_PrintItems
- mov r0, #0x0
- ldrsb r0, [r5, r0]
- lsl r0, r0, #0x3
- add r0, r0, r4
- ldrb r3, [r0, #0x4]
- mov r0, #0x0
- str r0, [sp]
- mov r0, #0xa
- str r0, [sp, #0x4]
- mov r0, #0x0
- mov r1, #0x1
- mov r2, #0x1
- bl InitMenu
- b ._106
-._108:
- .align 2, 0
-._107:
- .word unk_2030224
- .word gMain
- .word gUnknown_Debug_83C5068
-._97:
- bl CloseMenu
- mov r0, #0x1
-._98:
- add sp, sp, #0x8
- pop {r4, r5}
- pop {r1}
- bx r1
-
- thumb_func_end TayaDebugMenu_8091190
-
- thumb_func_start InitTayaDebugWindow
-InitTayaDebugWindow:
- push {lr}
- add sp, sp, #0xfffffff8
- ldr r1, ._109 @ unk_2030224
- mov r0, #0x0
- strb r0, [r1]
- bl Menu_EraseScreen
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0xb
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- ldr r0, ._109 + 4 @ gUnknown_Debug_83C5068
- ldr r3, [r0]
- mov r0, #0x1
- mov r1, #0x1
- mov r2, #0x9
- bl Menu_PrintItems
- mov r0, #0x0
- str r0, [sp]
- mov r0, #0xa
- str r0, [sp, #0x4]
- mov r0, #0x0
- mov r1, #0x1
- mov r2, #0x1
- mov r3, #0x9
- bl InitMenu
- ldr r1, ._109 + 8 @ gMenuCallback
- ldr r0, ._109 + 12 @ TayaDebugMenu_8091190
- str r0, [r1]
- mov r0, #0x0
- add sp, sp, #0x8
- pop {r1}
- bx r1
-._110:
- .align 2, 0
-._109:
- .word unk_2030224
- .word gUnknown_Debug_83C5068
- .word gMenuCallback
- .word TayaDebugMenu_8091190+1
-
- thumb_func_end InitTayaDebugWindow
-
- thumb_func_start debug_sub_80912D8
-debug_sub_80912D8:
- push {lr}
- ldr r0, ._113 @ gPaletteFade
- ldrb r1, [r0, #0x7]
- mov r0, #0x80
- and r0, r0, r1
- cmp r0, #0
- beq ._111 @cond_branch
- mov r0, #0x0
- b ._112
-._114:
- .align 2, 0
-._113:
- .word gPaletteFade
-._111:
- ldr r0, ._115 @ debug_sub_8110F28
- bl SetMainCallback2
- mov r0, #0x1
-._112:
- pop {r1}
- bx r1
-._116:
- .align 2, 0
-._115:
- .word debug_sub_8110F28+1
-
- thumb_func_end debug_sub_80912D8
-
- thumb_func_start debug_sub_8091300
-debug_sub_8091300:
- push {lr}
- mov r0, #0x1
- mov r1, #0x0
- bl FadeScreen
- ldr r1, ._117 @ gMenuCallback
- ldr r0, ._117 + 4 @ debug_sub_80912D8
- str r0, [r1]
- mov r0, #0x0
- pop {r1}
- bx r1
-._118:
- .align 2, 0
-._117:
- .word gMenuCallback
- .word debug_sub_80912D8+1
-
- thumb_func_end debug_sub_8091300
-
- thumb_func_start debug_sub_8091320
-debug_sub_8091320:
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
-
- thumb_func_end debug_sub_8091320
-
- thumb_func_start debug_sub_8091334
-debug_sub_8091334:
- push {r4, r5, r6, r7, lr}
- mov r7, r9
- mov r6, r8
- push {r6, r7}
- bl AnimateSprites
- bl BuildOamBuffer
- ldr r3, ._123 @ gSharedMem
- add r0, r3, #0
- add r0, r0, #0x52
- ldrb r4, [r0]
- cmp r4, #0
- beq ._119 @cond_branch
- cmp r4, #0x1
- bne ._120 @cond_branch
- b ._121
-._120:
- b ._162
-._124:
- .align 2, 0
-._123:
- .word gSharedMem
-._119:
- add r5, r3, #0
- add r5, r5, #0x55
- strb r4, [r5]
- ldr r2, ._131 @ gMain
- ldrh r1, [r2, #0x2e]
- mov r0, #0x40
- and r0, r0, r1
- mov r9, r2
- cmp r0, #0
- beq ._126 @cond_branch
- add r1, r3, #0
- add r1, r1, #0x54
- ldrb r0, [r1]
- cmp r0, #0
- beq ._126 @cond_branch
- sub r0, r0, #0x1
- strb r0, [r1]
- mov r0, #0x1
- strb r0, [r5]
-._126:
- mov r0, r9
- ldrh r1, [r0, #0x2e]
- mov r0, #0x80
- and r0, r0, r1
- ldr r5, ._131 + 4 @ gSharedMem
- cmp r0, #0
- beq ._133 @cond_branch
- add r0, r5, #0
- add r0, r0, #0x53
- ldrb r0, [r0]
- cmp r0, #0x2
- beq ._128 @cond_branch
- add r1, r5, #0
- add r1, r1, #0x54
- ldrb r0, [r1]
- cmp r0, #0x4
- bhi ._133 @cond_branch
- b ._130
-._132:
- .align 2, 0
-._131:
- .word gMain
- .word gSharedMem
-._128:
- add r1, r5, #0
- add r1, r1, #0x54
- ldrb r0, [r1]
- cmp r0, #0x3
- bhi ._133 @cond_branch
-._130:
- add r0, r0, #0x1
- strb r0, [r1]
- add r1, r1, #0x1
- mov r0, #0x1
- strb r0, [r1]
-._133:
- mov r2, r9
- ldrh r1, [r2, #0x2e]
- mov r0, #0x20
- and r0, r0, r1
- cmp r0, #0
- beq ._135 @cond_branch
- add r1, r5, #0
- add r1, r1, #0x53
- ldrb r0, [r1]
- cmp r0, #0
- beq ._135 @cond_branch
- sub r0, r0, #0x1
- strb r0, [r1]
- add r1, r1, #0x2
- mov r0, #0x1
- strb r0, [r1]
-._135:
- mov r3, r9
- ldrh r1, [r3, #0x2e]
- mov r0, #0x10
- and r0, r0, r1
- cmp r0, #0
- beq ._140 @cond_branch
- add r0, r5, #0
- add r0, r0, #0x54
- ldrb r0, [r0]
- cmp r0, #0x5
- beq ._137 @cond_branch
- add r1, r5, #0
- add r1, r1, #0x53
- ldrb r0, [r1]
- cmp r0, #0x1
- bhi ._140 @cond_branch
- b ._139
-._137:
- add r1, r5, #0
- add r1, r1, #0x53
- ldrb r0, [r1]
- cmp r0, #0
- bne ._140 @cond_branch
-._139:
- add r0, r0, #0x1
- strb r0, [r1]
- add r1, r1, #0x2
- mov r0, #0x1
- strb r0, [r1]
-._140:
- add r0, r5, #0
- add r0, r0, #0x55
- ldrb r0, [r0]
- cmp r0, #0
- bne ._141 @cond_branch
- mov r0, r9
- ldrh r2, [r0, #0x2e]
- mov r0, #0x1
- and r0, r0, r2
- cmp r0, #0
- beq ._142 @cond_branch
- ldr r2, ._145 @ gUnknown_Debug_083C50EC
- add r3, r5, #0
- add r3, r3, #0x53
- add r0, r5, #0
- add r0, r0, #0x54
- ldrb r1, [r0]
- lsl r0, r1, #0x1
- add r0, r0, r1
- ldrb r3, [r3]
- add r0, r0, r3
- lsl r0, r0, #0x3
- add r0, r0, r2
- ldrh r0, [r0, #0x4]
- sub r0, r0, #0x32
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0x4
- bhi ._143 @cond_branch
- add r1, r5, #0
- add r1, r1, #0x56
- mov r0, #0x4
- b ._144
-._146:
- .align 2, 0
-._145:
- .word gUnknown_Debug_083C50EC
-._143:
- add r1, r5, #0
- add r1, r1, #0x56
- mov r0, #0x1
-._144:
- strb r0, [r1]
- add r1, r5, #0
- add r1, r1, #0x52
- mov r0, #0x1
- strb r0, [r1]
- b ._162
-._142:
- mov r0, #0x2
- and r0, r0, r2
- cmp r0, #0
- bne ._148 @cond_branch
- b ._162
-._148:
- mov r0, #0x1
- neg r0, r0
- mov r1, #0x10
- mov r2, #0x0
- bl BlendPalettes
- ldr r0, ._151 @ sub_80546F0
- bl SetMainCallback2
- b ._162
-._152:
- .align 2, 0
-._151:
- .word sub_80546F0+1
-._121:
- add r5, r3, #0
- add r5, r5, #0x55
- mov r0, #0x0
- strb r0, [r5]
- ldr r2, ._159 @ gMain
- ldrh r1, [r2, #0x2e]
- mov r0, #0x40
- and r0, r0, r1
- mov r9, r2
- cmp r0, #0
- beq ._154 @cond_branch
- add r2, r3, #0
- add r2, r2, #0x53
- add r0, r3, #0
- add r0, r0, #0x54
- ldrb r1, [r0]
- lsl r0, r1, #0x1
- add r0, r0, r1
- ldrb r2, [r2]
- add r0, r0, r2
- add r2, r0, r3
- add r0, r3, #0
- add r0, r0, #0x56
- ldrb r1, [r2]
- ldrb r0, [r0]
- cmp r1, r0
- bcs ._154 @cond_branch
- add r0, r1, #1
- strb r0, [r2]
- strb r4, [r5]
-._154:
- mov r2, r9
- ldrh r1, [r2, #0x2e]
- mov r0, #0x80
- and r0, r0, r1
- ldr r5, ._159 + 4 @ gSharedMem
- cmp r0, #0
- beq ._156 @cond_branch
- add r2, r5, #0
- add r2, r2, #0x53
- add r0, r5, #0
- add r0, r0, #0x54
- ldrb r1, [r0]
- lsl r0, r1, #0x1
- add r0, r0, r1
- ldrb r2, [r2]
- add r0, r0, r2
- add r1, r0, r5
- ldrb r0, [r1]
- cmp r0, #0
- beq ._156 @cond_branch
- sub r0, r0, #0x1
- strb r0, [r1]
- add r1, r5, #0
- add r1, r1, #0x55
- mov r0, #0x1
- strb r0, [r1]
-._156:
- add r6, r5, #0
- add r0, r6, #0
- add r0, r0, #0x55
- ldrb r7, [r0]
- cmp r7, #0
- beq ._157 @cond_branch
-._141:
- bl debug_sub_80916AC
- b ._162
-._160:
- .align 2, 0
-._159:
- .word gMain
- .word gSharedMem
-._157:
- mov r3, r9
- ldrh r1, [r3, #0x2e]
- mov r0, #0x2
- and r0, r0, r1
- cmp r0, #0
- beq ._161 @cond_branch
- ldr r0, ._164 @ gPlayerParty
- ldr r1, ._164 + 4 @ gUnknown_Debug_083C50EC
- mov ip, r1
- mov r2, #0x53
- add r2, r2, r6
- mov r8, r2
- add r4, r6, #0
- add r4, r4, #0x54
- ldrb r2, [r4]
- lsl r1, r2, #0x1
- add r1, r1, r2
- mov r3, r8
- ldrb r3, [r3]
- add r1, r1, r3
- lsl r1, r1, #0x3
- add r1, r1, ip
- ldrh r1, [r1, #0x4]
- bl GetMonData
- ldrb r2, [r4]
- lsl r1, r2, #0x1
- add r1, r1, r2
- mov r2, r8
- ldrb r2, [r2]
- add r1, r1, r2
- add r1, r1, r6
- strb r0, [r1]
- bl debug_sub_80916AC
- add r0, r6, #0
- add r0, r0, #0x52
- strb r7, [r0]
-._161:
- mov r3, r9
- ldrh r1, [r3, #0x2e]
- mov r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- beq ._162 @cond_branch
- ldr r2, ._164 + 4 @ gUnknown_Debug_083C50EC
- add r0, r6, #0
- add r0, r0, #0x53
- ldrb r4, [r0]
- add r0, r0, #0x1
- ldrb r1, [r0]
- lsl r0, r1, #0x1
- add r3, r0, r1
- add r0, r3, r4
- lsl r0, r0, #0x3
- add r1, r0, r2
- ldrh r0, [r1, #0x4]
- cmp r0, #0
- beq ._163 @cond_branch
- ldr r0, ._164 @ gPlayerParty
- ldrh r1, [r1, #0x4]
- add r2, r4, r6
- add r2, r3, r2
- bl SetMonData
-._163:
- add r0, r5, #0
- add r0, r0, #0x52
- strb r7, [r0]
-._162:
- pop {r3, r4}
- mov r8, r3
- mov r9, r4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._165:
- .align 2, 0
-._164:
- .word gPlayerParty
- .word gUnknown_Debug_083C50EC
-
- thumb_func_end debug_sub_8091334
-
- thumb_func_start debug_sub_80915BC
-debug_sub_80915BC:
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- ldr r0, ._168 @ 0x4000010
- mov r1, #0x0
- strh r1, [r0]
- add r0, r0, #0x2
- strh r1, [r0]
- mov r1, #0x0
- ldr r0, ._168 + 4 @ gUnknown_Debug_083C50EC
- mov r8, r0
- ldr r7, ._168 + 8 @ gSharedMem
-._171:
- mov r4, #0x0
- lsl r0, r1, #0x1
- add r6, r1, #1
- add r5, r0, r1
-._170:
- add r0, r5, r4
- lsl r0, r0, #0x3
- add r0, r0, r8
- ldrh r1, [r0, #0x4]
- cmp r1, #0
- beq ._166 @cond_branch
- ldr r0, ._168 + 12 @ gPlayerParty
- bl GetMonData
- add r1, r4, r5
- add r1, r1, r7
- strb r0, [r1]
- b ._167
-._169:
- .align 2, 0
-._168:
- .word 0x4000010
- .word gUnknown_Debug_083C50EC
- .word gSharedMem
- .word gPlayerParty
-._166:
- add r0, r4, r5
- add r0, r0, r7
- strb r1, [r0]
-._167:
- add r0, r4, #1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x2
- bls ._170 @cond_branch
- lsl r0, r6, #0x18
- lsr r1, r0, #0x18
- cmp r1, #0x5
- bls ._171 @cond_branch
- ldr r4, ._172 @ gWindowTemplate_81E7224
- add r0, r4, #0
- bl Text_LoadWindowTemplate
- add r0, r4, #0
- bl InitMenuWindow
- bl Menu_EraseScreen
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0x1d
- mov r3, #0x3
- bl Menu_DrawStdWindowFrame
- ldr r0, ._172 + 4 @ gUnknown_Debug_083C517C
- mov r1, #0x1
- mov r2, #0x1
- bl Menu_PrintText
- mov r0, #0x0
- mov r1, #0x4
- mov r2, #0x1d
- mov r3, #0x11
- bl Menu_DrawStdWindowFrame
- mov r0, #0x0
- mov r1, #0x12
- mov r2, #0x1d
- mov r3, #0x15
- bl Menu_DrawStdWindowFrame
- mov r1, #0x80
- lsl r1, r1, #0x13
- mov r2, #0x8a
- lsl r2, r2, #0x5
- add r0, r2, #0
- strh r0, [r1]
- ldr r2, ._172 + 8 @ gSharedMem
- add r0, r2, #0
- add r0, r0, #0x53
- mov r1, #0x0
- strb r1, [r0]
- add r0, r0, #0x1
- strb r1, [r0]
- sub r0, r0, #0x2
- strb r1, [r0]
- bl debug_sub_80916AC
- ldr r0, ._172 + 12 @ debug_sub_8091320
- bl SetVBlankCallback
- ldr r0, ._172 + 16 @ debug_sub_8091334
- bl SetMainCallback2
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._173:
- .align 2, 0
-._172:
- .word gWindowTemplate_81E7224
- .word gUnknown_Debug_083C517C
- .word gSharedMem
- .word debug_sub_8091320+1
- .word debug_sub_8091334+1
-
- thumb_func_end debug_sub_80915BC
-
- thumb_func_start debug_sub_80916AC
-debug_sub_80916AC:
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, r9
- mov r5, r8
- push {r5, r6, r7}
- add sp, sp, #0xfffffffc
- mov r6, #0x0
- ldr r0, ._177 @ gSharedMem
- mov sl, r0
- mov r1, #0x0
- mov r8, r1
-._182:
- ldr r2, ._177 + 4 @ gSharedMem
- mov r5, #0x0
- lsl r0, r6, #0x1
- mov r9, r0
- add r1, r6, #1
- str r1, [sp]
-._181:
- mov r0, sl
- add r0, r0, #0x53
- ldrb r0, [r0]
- cmp r0, r5
- bne ._175 @cond_branch
- ldr r1, ._177 + 8 @ gSharedMem
- ldrb r0, [r1]
- cmp r0, r6
- bne ._175 @cond_branch
- mov r0, #0xef
- b ._176
-._178:
- .align 2, 0
-._177:
- .word gSharedMem
- .word gSharedMem+0x12
- .word gSharedMem+0x54
-._175:
- mov r0, r8
- strb r0, [r2]
- add r2, r2, #0x1
-._176:
- strb r0, [r2]
- add r2, r2, #0x1
- mov r1, r9
- add r4, r1, r6
- add r0, r4, r5
- lsl r0, r0, #0x3
- ldr r1, ._183 @ gUnknown_Debug_083C50EC
- add r0, r0, r1
- ldr r1, [r0]
- add r0, r2, #0
- bl StringCopy
- add r2, r0, #0
- mov r0, r8
- strb r0, [r2]
- add r2, r2, #0x1
- ldr r7, ._183 + 4 @ gSharedMem
- add r4, r5, r4
- add r4, r4, r7
- ldrb r1, [r4]
- add r0, r2, #0
- mov r2, #0x0
- mov r3, #0x1
- bl ConvertIntToDecimalStringN
- add r2, r0, #0
- mov r1, r8
- strb r1, [r2]
- add r2, r2, #0x1
- add r0, r5, #1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x2
- bhi ._179 @cond_branch
- cmp r6, #0x5
- bne ._181 @cond_branch
- cmp r5, #0x2
- bne ._181 @cond_branch
-._179:
- sub r1, r2, #1
- mov r0, #0xff
- strb r0, [r1]
- mov r2, r9
- add r2, r2, #0x5
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- add r0, r7, #0
- add r0, r0, #0x12
- mov r1, #0x1
- bl Menu_PrintText
- ldr r1, [sp]
- lsl r0, r1, #0x18
- lsr r6, r0, #0x18
- cmp r6, #0x5
- bls ._182 @cond_branch
- add sp, sp, #0x4
- pop {r3, r4, r5}
- mov r8, r3
- mov r9, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._184:
- .align 2, 0
-._183:
- .word gUnknown_Debug_083C50EC
- .word gSharedMem
-
- thumb_func_end debug_sub_80916AC
-
- .align 2, 0
-
-.endif
diff --git a/data/debug_menu_taya.s b/data/debug_menu_taya.s
deleted file mode 100644
index 4bd8239f4..000000000
--- a/data/debug_menu_taya.s
+++ /dev/null
@@ -1,219 +0,0 @@
- .include "include/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .if DEBUG
-
-gUnknown_Debug_083C4E54:: @ 0x83C4E54
- .string "Profile$"
-
-gUnknown_Debug_083C4E5C:: @ 0x83C4E5C
- .string "Battle’s start$"
-
-gUnknown_Debug_083C4E6B:: @ 0x83C4E6B
- .string "Good saying$"
-
-gUnknown_Debug_083C4E77:: @ 0x83C4E77
- .string "Lose a battle$"
-
-gUnknown_Debug_083C4E85:: @ 0x83C4E85
- .string "MAIL$"
-
-gUnknown_Debug_083C4E8A:: @ 0x83C4E8A
- .string "MAIL salutation$"
-
-gUnknown_Debug_083C4E9A:: @ 0x83C4E9A
- .string "BARD’s song$"
-
-gUnknown_Debug_083C4EA6:: @ 0x83C4EA6
- .string "Interview$"
-
-gUnknown_Debug_083C4EB0:: @ 0x83C4EB0
- .string "InterviewシBTス$"
-
- .align 2
-gUnknown_Debug_083C4EC0:: @ 0x83C4EC0
- .4byte gUnknown_Debug_083C4E54, 0x0
- .4byte gUnknown_Debug_083C4E5C, 0x1
- .4byte gUnknown_Debug_083C4E6B, 0xD
- .4byte gUnknown_Debug_083C4E77, 0x3
- .4byte gUnknown_Debug_083C4E85, 0x4
- .4byte gUnknown_Debug_083C4E8A, 0x5
- .4byte gUnknown_Debug_083C4E9A, 0x6
- .4byte gUnknown_Debug_083C4EA6, 0x7
- .4byte gUnknown_Debug_083C4EB0, 0xC
-
-gUnknown_Debug_083C4F08:: @ 0x83C4F08
- .string "サえぃえそい"
-
-gUnknown_Debug_083C4F0E:: @ 0x83C4F0E
- .string "BARD$"
-
-gUnknown_Debug_083C4F13:: @ 0x83C4F13
- .string "HIPSTER$"
-
-gUnknown_Debug_083C4F1B:: @ 0x83C4F1B
- .string "RECYCLE$"
-
-gUnknown_Debug_083C4F23:: @ 0x83C4F23
- .string "STORYTELLER$"
-
-gUnknown_Debug_083C4F2F:: @ 0x83C4F2F
- .string "GIDDY GUY$"
-
-gUnknown_Debug_083C4F39:: @ 0x83C4F39
- .string "Flag OFF$"
-
-gUnknown_Debug_083C4F42:: @ 0x83C4F42
- .string "21 letters$"
-
-gUnknown_Debug_083C4F4D:: @ 0x83C4F4D
- .string "ナウくなる$"
-
- .align 2
-gUnknown_Debug_083C4F54:: @ 0x83C4F54
- .4byte gUnknown_Debug_083C4F0E, 0x0
- .4byte gUnknown_Debug_083C4F13, 0x0
- .4byte gUnknown_Debug_083C4F1B, 0x0
- .4byte gUnknown_Debug_083C4F23, 0x0
- .4byte gUnknown_Debug_083C4F2F, 0x0
- .4byte gUnknown_Debug_083C4F39, 0x0
- .4byte gUnknown_Debug_083C4F42, 0x0
- .4byte gUnknown_Debug_083C4F4D, 0x0
-
-gUnknown_Debug_083C4F94:: @ 0x83C4F94
- .string "しょうしょうおまちください!$"
-
-gUnknown_Debug_083C4FA3:: @ 0x83C4FA3
- .string "Weather$"
-
-gUnknown_Debug_083C4FAB:: @ 0x83C4FAB
- .string "LANETTE’S PC$"
-
-gUnknown_Debug_083C4FB8:: @ 0x83C4FB8
- .string "SimpleText$"
-
-gUnknown_Debug_083C4FC3:: @ 0x83C4FC3
- .string "Old man$"
-
-gUnknown_Debug_083C4FCB:: @ 0x83C4FCB
- .string "Trend$"
-
-gUnknown_Debug_083C4FD1:: @ 0x83C4FD1
- .string "Trend R$"
-
-gUnknown_Debug_083C4FD9:: @ 0x83C4FD9
- .string "Town flag$"
-
-gUnknown_Debug_083C4FE3:: @ 0x83C4FE3
- .string "Award a ribbon$"
-
-gUnknown_Debug_083C4FF2:: @ 0x83C4FF2
- .string "{PKMN}LOTTERY$"
-
-gUnknown_Debug_083C4FFC:: @ 0x83C4FFC
- .string "Trainer$"
-
-gUnknown_Debug_083C5004:: @ 0x83C5004
- .string "POKéNAV D$"
-
- .align 2
-gUnknown_Debug_083C5010:: @ 0x83C5010
- .4byte gUnknown_Debug_083C4FA3, debug_sub_808560C+1
- .4byte gUnknown_Debug_083C4FAB, TayaDebugMenu_LanettesPC+1
- .4byte gUnknown_Debug_083C4FB8, TayaDebugMenu_SimpleText+1
- .4byte gUnknown_Debug_083C4FC3, TayaDebugMenu_OldMan+1
- .4byte gUnknown_Debug_083C4FCB, TayaDebugMenu_Trend+1
- .4byte gUnknown_Debug_083C4FD1, TayaDebugMenu_TrendR+1
- .4byte gUnknown_Debug_083C4FD9, TayaDebugMenu_TownFlags+1
- .4byte gUnknown_Debug_083C4FE3, TayaDebugMenu_AwardARibbon+1
- .4byte gUnknown_Debug_083C4FF2, TayaDebugMenu_PKMNLottery+1
-
-gUnknown_Debug_083C5058:: @ 0x83C5058
- .4byte gUnknown_Debug_083C4FFC, TayaDebugMenu_Trainer+1
- .4byte gUnknown_Debug_083C5004, TayaDebugMenu_PokenavD+1
-
-gUnknown_Debug_83C5068::
- .4byte gUnknown_Debug_083C5010, 0x9
- .4byte gUnknown_Debug_083C5058, 0x2
-
-gUnknown_Debug_083C5078:: @ 0x83C5078
- .string "CHANP$"
-
-gUnknown_Debug_083C507E:: @ 0x83C507E
- .string "COOL$"
-
-gUnknown_Debug_083C5083:: @ 0x83C5083
- .string "BEAUTY$"
-
-gUnknown_Debug_083C508A:: @ 0x83C508A
- .string "CUTE$"
-
-gUnknown_Debug_083C508F:: @ 0x83C508F
- .string "SMART$"
-
-gUnknown_Debug_083C5095:: @ 0x83C5095
- .string "TOUGH$"
-
-gUnknown_Debug_083C509B:: @ 0x83C509B
- .string "WIN$"
-
-gUnknown_Debug_083C509F:: @ 0x83C509F
- .string "VICTORY$"
-
-gUnknown_Debug_083C50A7:: @ 0x83C50A7
- .string "BROMIDE$"
-
-gUnknown_Debug_083C50AF:: @ 0x83C50AF
- .string "ACCESSIT$"
-
-gUnknown_Debug_083C50B8:: @ 0x83C50B8
- .string "MARINE$"
-
-gUnknown_Debug_083C50BF:: @ 0x83C50BF
- .string "LAND$"
-
-gUnknown_Debug_083C50C4:: @ 0x83C50C4
- .string "SKY$"
-
-gUnknown_Debug_083C50C8:: @ 0x83C50C8
- .string "COUNTRY$"
-
-gUnknown_Debug_083C50D0:: @ 0x83C50D0
- .string "NATIONAL$"
-
-gUnknown_Debug_083C50D9:: @ 0x83C50D9
- .string "EARTH$"
-
-gUnknown_Debug_083C50DF:: @ 0x83C50DF
- .string "WORLD$"
-
-gUnknown_Debug_083C50E5:: @ 0x83C50E5
- .string "     $"
-
- .align 2
-gUnknown_Debug_083C50EC:: @ 0x83C50EC
- .4byte gUnknown_Debug_083C5078, 0x43
- .4byte gUnknown_Debug_083C507E, 0x32
- .4byte gUnknown_Debug_083C5083, 0x33
- .4byte gUnknown_Debug_083C508A, 0x34
- .4byte gUnknown_Debug_083C508F, 0x35
- .4byte gUnknown_Debug_083C5095, 0x36
- .4byte gUnknown_Debug_083C509B, 0x44
- .4byte gUnknown_Debug_083C509F, 0x45
- .4byte gUnknown_Debug_083C50A7, 0x46
- .4byte gUnknown_Debug_083C50AF, 0x47
- .4byte gUnknown_Debug_083C50B8, 0x48
- .4byte gUnknown_Debug_083C50BF, 0x49
- .4byte gUnknown_Debug_083C50C4, 0x4A
- .4byte gUnknown_Debug_083C50C8, 0x4B
- .4byte gUnknown_Debug_083C50D0, 0x4C
- .4byte gUnknown_Debug_083C50D9, 0x4D
- .4byte gUnknown_Debug_083C50DF, 0x4E
- .4byte gUnknown_Debug_083C50E5, 0x0
-
-gUnknown_Debug_083C517C:: @ 0x83C517C
- .string "Select Ribbon$"
-
- .endif
diff --git a/include/battle_setup.h b/include/battle_setup.h
index 8423a6e6e..88afcdf0a 100644
--- a/include/battle_setup.h
+++ b/include/battle_setup.h
@@ -47,6 +47,8 @@ struct TrainerEyeTrainer
u16 mapNum;
};
+extern const struct TrainerEyeTrainer gTrainerEyeTrainers[56];
+
void BattleSetup_StartWildBattle(void);
void BattleSetup_StartRoamerBattle(void);
void BattleSetup_StartScriptedWildBattle(void);
diff --git a/include/mauville_man.h b/include/mauville_man.h
index 622cd1bfb..5b2d00c6a 100644
--- a/include/mauville_man.h
+++ b/include/mauville_man.h
@@ -6,5 +6,7 @@
void SetupMauvilleOldMan(void);
void sub_80F7F30(void);
void sub_80F83D0(void);
+void debug_sub_810B32C(u8);
+u8 GetCurrentMauvilleOldMan(void);
#endif // GUARD_MAUVILLE_OLD_MAN_H
diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h
index 5319b7a2d..c6c37c123 100644
--- a/include/pokemon_storage_system.h
+++ b/include/pokemon_storage_system.h
@@ -298,5 +298,6 @@ void sub_809CFF0(void);
void sub_809D034(void *dest, u16 dLeft, u16 dTop, const void *src, u16 sLeft, u16 sTop, u16 width, u16 height);
void sub_809D104(void *dest, u16 dLeft, u16 dTop, const void *src, u16 sLeft, u16 sTop, u16 width, u16 height);
void sub_809D16C(void *dest, u16 dLeft, u16 dTop, u16 width, u16 height);
+void ShowPokemonStorageSystem(void);
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H
diff --git a/include/region_map.h b/include/region_map.h
index e7a357fe2..89a47cd05 100644
--- a/include/region_map.h
+++ b/include/region_map.h
@@ -69,5 +69,6 @@ const u8 *GetMapSectionName(u8 *dest, u16 mapSectionId, u16 length);
const u8 *CopyMapName(u8 *dest, u16 b);
const u8 *CopyLocationName(u8 *dest, u16 b);
void CB2_InitFlyRegionMap(void);
+void debug_sub_8110F28(void);
#endif // GUARD_REGION_MAP_H
diff --git a/ld_script.txt b/ld_script.txt
index 33fdee0eb..2c861fdb7 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -117,7 +117,6 @@ SECTIONS {
src/debug/tomomichi_debug_menu.o(.text);
src/debug/nohara_debug_menu.o(.text);
src/debug/mori_debug_menu.o(.text);
- asm/taya_debug_window.o(.text);
src/debug/taya_debug_window.o(.text);
src/trainer_see.o(.text);
src/wild_encounter.o(.text);
@@ -561,7 +560,7 @@ SECTIONS {
src/debug/tomomichi_debug_menu.o(.rodata);
src/debug/nohara_debug_menu.o(.rodata);
src/debug/mori_debug_menu.o(.rodata);
- data/debug_menu_taya.o(.rodata);
+ src/debug/taya_debug_window.o(.rodata);
src/trainer_see.o(.rodata);
src/wild_encounter.o(.rodata);
src/field_effect.o(.rodata);
diff --git a/src/debug/taya_debug_window.c b/src/debug/taya_debug_window.c
index f7e0e3770..55212315c 100644
--- a/src/debug/taya_debug_window.c
+++ b/src/debug/taya_debug_window.c
@@ -1,6 +1,1087 @@
#if DEBUG
#include "global.h"
+#include "constants/species.h"
+#include "constants/opponents.h"
+#include "random.h"
+#include "palette.h"
+#include "ewram.h"
+#include "menu.h"
+#include "easy_chat.h"
+#include "event_data.h"
+#include "string_util.h"
+#include "main.h"
+#include "start_menu.h"
+#include "field_weather.h"
+#include "mauville_man.h"
+#include "pokemon_storage_system.h"
+#include "lottery_corner.h"
+#include "battle_setup.h"
+#include "region_map.h"
+#include "overworld.h"
-EWRAM_DATA u8 unk_2030224[4] = { 0 };
+bool8 debug_sub_8090808(void);
+bool8 debug_sub_808560C(void);
+bool8 TayaDebugMenu_LanettesPC(void);
+bool8 TayaDebugMenu_SimpleText(void);
+bool8 TayaDebugMenu_OldMan(void);
+bool8 TayaDebugMenu_Trend(void);
+bool8 TayaDebugMenu_TrendR(void);
+bool8 TayaDebugMenu_TownFlags(void);
+bool8 TayaDebugMenu_AwardARibbon(void);
+bool8 TayaDebugMenu_PKMNLottery(void);
+bool8 TayaDebugMenu_Trainer(void);
+bool8 TayaDebugMenu_PokenavD(void);
+void debug_sub_80915BC(void);
+void debug_sub_80916AC(void);
-#endif
+EWRAM_DATA s8 sTayaTopMenuPage = 0;
+
+struct TayaLuckyNumberEwramStruct {
+ u8 digit;
+ u8 charbuf[7];
+ u16 curLuckyId;
+ s32 tempLuckyId;
+ u16 digitDeltaMagnitude;
+};
+
+struct TayaMonDataEwramStruct {
+ u8 data[6][3];
+ u8 charbuf[0x40];
+ u8 state;
+ u8 x;
+ u8 y;
+ u8 redraw;
+ u8 maxVal;
+};
+
+#define eTayaLuckyNumber (*(struct TayaLuckyNumberEwramStruct *)gSharedMem)
+#define eTayaMonData (*(struct TayaMonDataEwramStruct *)gSharedMem)
+
+const u8 gUnknown_Debug_083C4E54[] = _("Profile");
+const u8 gUnknown_Debug_083C4E5C[] = _("Battle’s start");
+const u8 gUnknown_Debug_083C4E6B[] = _("Good saying");
+const u8 gUnknown_Debug_083C4E77[] = _("Lose a battle");
+const u8 gUnknown_Debug_083C4E85[] = _("MAIL");
+const u8 gUnknown_Debug_083C4E8A[] = _("MAIL salutation");
+const u8 gUnknown_Debug_083C4E9A[] = _("BARD’s song");
+const u8 gUnknown_Debug_083C4EA6[] = _("Interview");
+const u8 gUnknown_Debug_083C4EB0[] = _("InterviewシBTス");
+
+const struct {
+ const u8 * text;
+ u32 unk4;
+} gUnknown_Debug_083C4EC0[] = {
+ {gUnknown_Debug_083C4E54, 0x0},
+ {gUnknown_Debug_083C4E5C, 0x1},
+ {gUnknown_Debug_083C4E6B, 0xD},
+ {gUnknown_Debug_083C4E77, 0x3},
+ {gUnknown_Debug_083C4E85, 0x4},
+ {gUnknown_Debug_083C4E8A, 0x5},
+ {gUnknown_Debug_083C4E9A, 0x6},
+ {gUnknown_Debug_083C4EA6, 0x7},
+ {gUnknown_Debug_083C4EB0, 0xC}
+};
+
+const u16 gUnknown_Debug_083C4F08[] = {0x45b, 0x430, 0x20f};
+
+const u8 gUnknown_Debug_083C4F0E[] = _("BARD");
+const u8 gUnknown_Debug_083C4F13[] = _("HIPSTER");
+const u8 gUnknown_Debug_083C4F1B[] = _("RECYCLE");
+const u8 gUnknown_Debug_083C4F23[] = _("STORYTELLER");
+const u8 gUnknown_Debug_083C4F2F[] = _("GIDDY GUY");
+const u8 gUnknown_Debug_083C4F39[] = _("Flag OFF");
+const u8 gUnknown_Debug_083C4F42[] = _("21 letters");
+const u8 gUnknown_Debug_083C4F4D[] = _("ナウくなる");
+
+const struct {
+ const u8 * text;
+ u8 filler[4];
+} gUnknown_Debug_083C4F54[] = {
+ {gUnknown_Debug_083C4F0E},
+ {gUnknown_Debug_083C4F13},
+ {gUnknown_Debug_083C4F1B},
+ {gUnknown_Debug_083C4F23},
+ {gUnknown_Debug_083C4F2F},
+ {gUnknown_Debug_083C4F39},
+ {gUnknown_Debug_083C4F42},
+ {gUnknown_Debug_083C4F4D}
+};
+
+const u8 gUnknown_Debug_083C4F94[] = _("しょうしょうおまちください!");
+const u8 gUnknown_Debug_083C4FA3[] = _("Weather");
+const u8 gUnknown_Debug_083C4FAB[] = _("LANETTE’S PC");
+const u8 gUnknown_Debug_083C4FB8[] = _("SimpleText");
+const u8 gUnknown_Debug_083C4FC3[] = _("Old man");
+const u8 gUnknown_Debug_083C4FCB[] = _("Trend");
+const u8 gUnknown_Debug_083C4FD1[] = _("Trend R");
+const u8 gUnknown_Debug_083C4FD9[] = _("Town flag");
+const u8 gUnknown_Debug_083C4FE3[] = _("Award a ribbon");
+const u8 gUnknown_Debug_083C4FF2[] = _("{PKMN}LOTTERY");
+const u8 gUnknown_Debug_083C4FFC[] = _("Trainer");
+const u8 gUnknown_Debug_083C5004[] = _("POKéNAV D");
+
+const struct MenuAction gUnknown_Debug_083C5010[] = {
+ {gUnknown_Debug_083C4FA3, debug_sub_808560C},
+ {gUnknown_Debug_083C4FAB, TayaDebugMenu_LanettesPC},
+ {gUnknown_Debug_083C4FB8, TayaDebugMenu_SimpleText},
+ {gUnknown_Debug_083C4FC3, TayaDebugMenu_OldMan},
+ {gUnknown_Debug_083C4FCB, TayaDebugMenu_Trend},
+ {gUnknown_Debug_083C4FD1, TayaDebugMenu_TrendR},
+ {gUnknown_Debug_083C4FD9, TayaDebugMenu_TownFlags},
+ {gUnknown_Debug_083C4FE3, TayaDebugMenu_AwardARibbon},
+ {gUnknown_Debug_083C4FF2, TayaDebugMenu_PKMNLottery}
+};
+
+const struct MenuAction gUnknown_Debug_083C5058[] = {
+ {gUnknown_Debug_083C4FFC, TayaDebugMenu_Trainer},
+ {gUnknown_Debug_083C5004, TayaDebugMenu_PokenavD}
+};
+
+const struct {
+ const struct MenuAction *menuActions;
+ u8 nitems;
+} gUnknown_Debug_83C5068[] = {
+ {gUnknown_Debug_083C5010, 9},
+ {gUnknown_Debug_083C5058, 2}
+};
+
+const u8 gUnknown_Debug_083C5078[] = _("CHANP");
+const u8 gUnknown_Debug_083C507E[] = _("COOL");
+const u8 gUnknown_Debug_083C5083[] = _("BEAUTY");
+const u8 gUnknown_Debug_083C508A[] = _("CUTE");
+const u8 gUnknown_Debug_083C508F[] = _("SMART");
+const u8 gUnknown_Debug_083C5095[] = _("TOUGH");
+const u8 gUnknown_Debug_083C509B[] = _("WIN");
+const u8 gUnknown_Debug_083C509F[] = _("VICTORY");
+const u8 gUnknown_Debug_083C50A7[] = _("BROMIDE");
+const u8 gUnknown_Debug_083C50AF[] = _("ACCESSIT");
+const u8 gUnknown_Debug_083C50B8[] = _("MARINE");
+const u8 gUnknown_Debug_083C50BF[] = _("LAND");
+const u8 gUnknown_Debug_083C50C4[] = _("SKY");
+const u8 gUnknown_Debug_083C50C8[] = _("COUNTRY");
+const u8 gUnknown_Debug_083C50D0[] = _("NATIONAL");
+const u8 gUnknown_Debug_083C50D9[] = _("EARTH");
+const u8 gUnknown_Debug_083C50DF[] = _("WORLD");
+const u8 gUnknown_Debug_083C50E5[] = _("     ");
+
+const struct {
+ const u8 * text;
+ u16 param;
+} gUnknown_Debug_083C50EC[][3] = {
+ {
+ {gUnknown_Debug_083C5078, MON_DATA_CHAMPION_RIBBON},
+ {gUnknown_Debug_083C507E, MON_DATA_COOL_RIBBON},
+ {gUnknown_Debug_083C5083, MON_DATA_BEAUTY_RIBBON}
+ }, {
+ {gUnknown_Debug_083C508A, MON_DATA_CUTE_RIBBON},
+ {gUnknown_Debug_083C508F, MON_DATA_SMART_RIBBON},
+ {gUnknown_Debug_083C5095, MON_DATA_TOUGH_RIBBON}
+ }, {
+ {gUnknown_Debug_083C509B, MON_DATA_WINNING_RIBBON},
+ {gUnknown_Debug_083C509F, MON_DATA_VICTORY_RIBBON},
+ {gUnknown_Debug_083C50A7, MON_DATA_ARTIST_RIBBON}
+ }, {
+ {gUnknown_Debug_083C50AF, MON_DATA_EFFORT_RIBBON},
+ {gUnknown_Debug_083C50B8, MON_DATA_GIFT_RIBBON_1},
+ {gUnknown_Debug_083C50BF, MON_DATA_GIFT_RIBBON_2}
+ }, {
+ {gUnknown_Debug_083C50C4, MON_DATA_GIFT_RIBBON_3},
+ {gUnknown_Debug_083C50C8, MON_DATA_GIFT_RIBBON_4},
+ {gUnknown_Debug_083C50D0, MON_DATA_GIFT_RIBBON_5}
+ }, {
+ {gUnknown_Debug_083C50D9, MON_DATA_GIFT_RIBBON_6},
+ {gUnknown_Debug_083C50DF, MON_DATA_GIFT_RIBBON_7},
+ {gUnknown_Debug_083C50E5, 0 /* sentinel */}
+ }
+};
+
+const u8 gUnknown_Debug_083C517C[] = _("Select Ribbon");
+
+bool8 TayaDebugMenu_Trend(void)
+{
+ u8 sp00[32];
+ u8 sp20[8];
+ u16 i;
+ struct EasyChatPair *pair;
+
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 30, 11);
+ pair = gSaveBlock1.easyChatPairs;
+
+ for (i = 0; i < 5; i++)
+ {
+ u8 * r4;
+
+ sp00[0] = pair->unk1_6 ? CHAR_0 + 1 : CHAR_0 + 0;
+ EasyChat_GetWordText(sp20, pair->words[0]);
+ r4 = StringCopyPadded(sp00 + 1, sp20, CHAR_SPACE, 7);
+ EasyChat_GetWordText(sp20, pair->words[1]);
+ r4 = StringCopyPadded(r4, sp20, CHAR_SPACE, 8);
+ r4 = ConvertIntToDecimalStringN(r4, pair->unk0_0, STR_CONV_MODE_RIGHT_ALIGN, 3);
+ *r4++ = CHAR_SPACE;
+ r4 = ConvertIntToDecimalStringN(r4, pair->unk0_7, STR_CONV_MODE_RIGHT_ALIGN, 3);
+ *r4++ = CHAR_SPACE;
+ ConvertIntToDecimalStringN(r4, pair->unk2, STR_CONV_MODE_RIGHT_ALIGN, 5);
+ Menu_PrintText(sp00, 1, 2 * i + 1);
+ pair++;
+ }
+ gMenuCallback = debug_sub_8090808;
+ return FALSE;
+}
+
+bool8 debug_sub_8090808(void)
+{
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ {
+ Menu_EraseScreen();
+ CloseMenu();
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+bool8 TayaDebugMenu_TrendR(void)
+{
+ u16 i;
+ u16 j;
+
+ for (i = 0; i < 5; i++)
+ {
+ for (j = 0; j < 2; j++)
+ {
+ gSaveBlock1.easyChatPairs[i].words[j] = sub_80EB72C(Random() % 22);
+ }
+ }
+ Menu_EraseScreen();
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 debug_sub_8090880(void)
+{
+ if (!UpdatePaletteFade())
+ {
+ sub_80E60D8();
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+bool8 debug_sub_809089C(void)
+{
+ s8 input = Menu_ProcessInput();
+
+ switch (input)
+ {
+ case -1:
+ CloseMenu();
+ return TRUE;
+ case -2:
+ return FALSE;
+ default:
+ gSpecialVar_0x8004 = gUnknown_Debug_083C4EC0[input].unk4;
+ switch (gSpecialVar_0x8004)
+ {
+ case 5:
+ case 7:
+ case 8:
+ case 11:
+ case 12:
+ gSpecialVar_0x8005 = 0;
+ gSpecialVar_0x8006 = 0;
+ default:
+ FadeScreen(1, 0);
+ gMenuCallback = debug_sub_8090880;
+ break;
+ }
+ return FALSE;
+ }
+}
+
+bool8 TayaDebugMenu_SimpleText(void)
+{
+ Menu_DrawStdWindowFrame(0, 0, 12, 19);
+ Menu_PrintItems(1, 1, ARRAY_COUNT(gUnknown_Debug_083C4EC0), gUnknown_Debug_083C4EC0);
+ InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4EC0), 0, 11);
+ gMenuCallback = debug_sub_809089C;
+ return FALSE;
+}
+
+bool8 debug_sub_8090984(void)
+{
+ s8 input = Menu_ProcessInput();
+
+ switch (input)
+ {
+ case -1:
+ CloseMenu();
+ return TRUE;
+ default:
+ if (input < 5)
+ {
+ debug_sub_810B32C(input);
+ CloseMenu();
+ return TRUE;
+ }
+ break;
+ case -2:
+ return FALSE;
+ }
+
+ if (input == 5)
+ {
+ sub_80F7F30();
+ }
+ else if (input == 6)
+ {
+ u16 i;
+
+ for (i = 0; i < 3; i++)
+ {
+ union MauvilleMan *mauvilleMan = &gSaveBlock1.mauvilleMan;
+ mauvilleMan->bard.songLyrics[i] = gUnknown_Debug_083C4F08[i];
+ mauvilleMan->bard.temporaryLyrics[i] = gUnknown_Debug_083C4F08[i];
+ gSaveBlock1.easyChats.unk2B28[i] = gUnknown_Debug_083C4F08[i];
+ }
+ }
+ else if (input == 7)
+ {
+ u16 i;
+
+ for (i = 0; i < 33; i++)
+ {
+ sub_80EB890(i);
+ }
+ }
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 TayaDebugMenu_OldMan(void)
+{
+ Menu_DrawStdWindowFrame(0, 0, 10, 17);
+ Menu_PrintItems(1, 1, ARRAY_COUNT(gUnknown_Debug_083C4F54), gUnknown_Debug_083C4F54);
+ InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4F54), GetCurrentMauvilleOldMan(), 9);
+ gMenuCallback = debug_sub_8090984;
+ return FALSE;
+}
+
+bool8 TayaDebugMenu_LanettesPC(void)
+{
+ Menu_EraseScreen();
+ ShowPokemonStorageSystem();
+ return TRUE;
+}
+
+bool8 TayaDebugMenu_TownFlags(void)
+{
+ FlagSet(FLAG_VISITED_LITTLEROOT_TOWN);
+ FlagSet(FLAG_VISITED_OLDALE_TOWN);
+ FlagSet(FLAG_VISITED_DEWFORD_TOWN);
+ FlagSet(FLAG_VISITED_LAVARIDGE_TOWN);
+ FlagSet(FLAG_VISITED_FALLARBOR_TOWN);
+ FlagSet(FLAG_VISITED_VERDANTURF_TOWN);
+ FlagSet(FLAG_VISITED_PACIFIDLOG_TOWN);
+ FlagSet(FLAG_VISITED_PETALBURG_CITY);
+ FlagSet(FLAG_VISITED_SLATEPORT_CITY);
+ FlagSet(FLAG_VISITED_MAUVILLE_CITY);
+ FlagSet(FLAG_VISITED_RUSTBORO_CITY);
+ FlagSet(FLAG_VISITED_FORTREE_CITY);
+ FlagSet(FLAG_VISITED_LILYCOVE_CITY);
+ FlagSet(FLAG_VISITED_MOSSDEEP_CITY);
+ FlagSet(FLAG_VISITED_SOOTOPOLIS_CITY);
+ FlagSet(FLAG_VISITED_EVER_GRANDE_CITY);
+ FlagSet(FLAG_LANDMARK_BATTLE_TOWER);
+ FlagSet(FLAG_LANDMARK_SOUTHERN_ISLAND);
+ FlagSet(FLAG_LANDMARK_FIERY_PATH);
+ FlagSet(FLAG_SYS_POKEMON_LEAGUE_FLY);
+ FlagSet(FLAG_LANDMARK_ISLAND_CAVE);
+ FlagSet(FLAG_LANDMARK_DESERT_RUINS);
+ FlagSet(FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE);
+ FlagSet(FLAG_LANDMARK_SCORCHED_SLAB);
+ FlagSet(FLAG_LANDMARK_ANCIENT_TOMB);
+ FlagSet(FLAG_LANDMARK_TUNNELERS_REST_HOUSE);
+ FlagSet(FLAG_LANDMARK_HUNTERS_HOUSE);
+ FlagSet(FLAG_LANDMARK_SEALED_CHAMBER);
+ FlagSet(FLAG_LANDMARK_FLOWER_SHOP);
+ FlagSet(FLAG_LANDMARK_MR_BRINEY_HOUSE);
+ FlagSet(FLAG_LANDMARK_ABANDONED_SHIP);
+ FlagSet(FLAG_LANDMARK_SEASHORE_HOUSE);
+ FlagSet(FLAG_LANDMARK_NEW_MAUVILLE);
+ FlagSet(FLAG_LANDMARK_OLD_LADY_REST_SHOP);
+ FlagSet(FLAG_LANDMARK_TRICK_HOUSE);
+ FlagSet(FLAG_LANDMARK_WINSTRATE_FAMILY);
+ FlagSet(FLAG_LANDMARK_GLASS_WORKSHOP);
+ FlagSet(FLAG_LANDMARK_LANETTES_HOUSE);
+ FlagSet(FLAG_LANDMARK_POKEMON_DAYCARE);
+ FlagSet(FLAG_LANDMARK_SEAFLOOR_CAVERN);
+ FlagSet(FLAG_SYS_RIBBON_GET);
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 TayaDebugMenu_AwardARibbon(void)
+{
+ BlendPalettes(0xFFFFFFFF, 16, 0);
+ SetMainCallback2(debug_sub_80915BC);
+ CloseMenu();
+ return TRUE;
+}
+
+void debug_sub_8090C44(void)
+{
+ ConvertIntToDecimalStringN(eTayaLuckyNumber.charbuf, eTayaLuckyNumber.curLuckyId, STR_CONV_MODE_LEADING_ZEROS, 5);
+ Menu_PrintText(eTayaLuckyNumber.charbuf, 1, 1);
+ StringFill(eTayaLuckyNumber.charbuf, CHAR_SPACE, 5);
+ eTayaLuckyNumber.charbuf[eTayaLuckyNumber.digit] = 0x79;
+ Menu_PrintText(eTayaLuckyNumber.charbuf, 1, 3);
+}
+
+#ifdef NONMATCHING
+// mayday mayday
+bool8 debug_sub_8090C88(void)
+{
+ bool8 r8 = TRUE;
+
+ if (gMain.newKeys & DPAD_LEFT && eTayaLuckyNumber.digit != 0)
+ {
+ eTayaLuckyNumber.digit--;
+ }
+ else if (gMain.newKeys & DPAD_RIGHT && eTayaLuckyNumber.digit < 4)
+ {
+ eTayaLuckyNumber.digit++;
+ }
+ else
+ {
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ u8 r4;
+
+ eTayaLuckyNumber.tempLuckyId = eTayaLuckyNumber.curLuckyId;
+ eTayaLuckyNumber.charbuf0 = 10000;
+ for (r4 = 0; r4 < eTayaLuckyNumber.digit; r4++)
+ eTayaLuckyNumber.charbuf0 /= 10;
+ eTayaLuckyNumber.tempLuckyId += eTayaLuckyNumber.charbuf0;
+ if (eTayaLuckyNumber.tempLuckyId > 0xFFFF)
+ eTayaLuckyNumber.tempLuckyId = 0xFFFF;
+ if (eTayaLuckyNumber.curLuckyId != eTayaLuckyNumber.tempLuckyId)
+ {
+ eTayaLuckyNumber.curLuckyId = eTayaLuckyNumber.tempLuckyId;
+ goto check;
+ }
+ }
+ if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ u8 r4;
+
+ eTayaLuckyNumber.tempLuckyId = eTayaLuckyNumber.curLuckyId;
+ eTayaLuckyNumber.charbuf0 = 10000;
+ for (r4 = 0; r4 < eTayaLuckyNumber.digit; r4++)
+ eTayaLuckyNumber.charbuf0 /= 10;
+ eTayaLuckyNumber.tempLuckyId -= eTayaLuckyNumber.charbuf0;
+ if (eTayaLuckyNumber.tempLuckyId < 0)
+ eTayaLuckyNumber.tempLuckyId = 0;
+ if (eTayaLuckyNumber.curLuckyId != eTayaLuckyNumber.tempLuckyId)
+ {
+ eTayaLuckyNumber.curLuckyId = eTayaLuckyNumber.tempLuckyId;
+ goto check;
+ }
+ }
+ if (gMain.newKeys & B_BUTTON)
+ {
+ CloseMenu();
+ return TRUE;
+ }
+ if (gMain.newKeys & A_BUTTON)
+ {
+ SetLotteryNumber16_Unused(eTayaLuckyNumber.curLuckyId);
+ CloseMenu();
+ return TRUE;
+ }
+ r8 = FALSE;
+ }
+
+check:
+ if (r8)
+ debug_sub_8090C44();
+ return FALSE;
+}
+#else
+NAKED bool8 debug_sub_8090C88(void)
+{
+ asm("\tpush\t{r4, r5, r6, r7, lr}\n"
+ "\tmov\tr7, r8\n"
+ "\tpush\t{r7}\n"
+ "\tadd\tsp, sp, #0xfffffffc\n"
+ "\tmov\tr0, #0x1\n"
+ "\tmov\tr8, r0\n"
+ "\tldr\tr2, ._59 @ gMain\n"
+ "\tldrh\tr1, [r2, #0x2e]\n"
+ "\tmov\tr0, #0x20\n"
+ "\tand\tr0, r0, r1\n"
+ "\tadd\tr3, r2, #0\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._57\t@cond_branch\n"
+ "\tldr\tr1, ._59 + 4 @ gSharedMem\n"
+ "\tldrb\tr0, [r1]\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._57\t@cond_branch\n"
+ "\tsub\tr0, r0, #0x1\n"
+ "\tstrb\tr0, [r1]\n"
+ "\tb\t._62\n"
+ "._60:\n"
+ "\t.align\t2, 0\n"
+ "._59:\n"
+ "\t.word\tgMain\n"
+ "\t.word\tgSharedMem\n"
+ "._67:\n"
+ "\tadd\tr0, r0, #0x1\n"
+ "\tstrb\tr0, [r1]\n"
+ "\tb\t._62\n"
+ "._77:\n"
+ "\tstrh\tr1, [r7, #0x8]\n"
+ "\tb\t._62\n"
+ "._79:\n"
+ "\tldr\tr0, ._64 @ gSharedMem\n"
+ "\tldrh\tr0, [r0, #0x8]\n"
+ "\tbl\tSetLotteryNumber16_Unused\n"
+ "._78:\n"
+ "\tbl\tCloseMenu\n"
+ "\tmov\tr0, #0x1\n"
+ "\tb\t._63\n"
+ "._65:\n"
+ "\t.align\t2, 0\n"
+ "._64:\n"
+ "\t.word\tgSharedMem\n"
+ "._57:\n"
+ "\tldrh\tr1, [r3, #0x2e]\n"
+ "\tmov\tr0, #0x10\n"
+ "\tand\tr0, r0, r1\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._66\t@cond_branch\n"
+ "\tldr\tr1, ._81 @ gSharedMem\n"
+ "\tldrb\tr0, [r1]\n"
+ "\tcmp\tr0, #0x3\n"
+ "\tbls\t._67\t@cond_branch\n"
+ "._66:\n"
+ "\tldrh\tr1, [r3, #0x30]\n"
+ "\tmov\tr0, #0x40\n"
+ "\tand\tr0, r0, r1\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._68\t@cond_branch\n"
+ "\tldr\tr0, ._81 @ gSharedMem\n"
+ "\tldrh\tr1, [r0, #0x8]\n"
+ "\tstr\tr1, [r0, #0xc]\n"
+ "\tldr\tr1, ._81 + 4 @ 0x2710\n"
+ "\tstrh\tr1, [r0, #0x10]\n"
+ "\tmov\tr4, #0x0\n"
+ "\tldrb\tr1, [r0]\n"
+ "\tadd\tr7, r0, #0\n"
+ "\tcmp\tr4, r1\n"
+ "\tbcs\t._69\t@cond_branch\n"
+ "\tadd\tr5, r7, #0\n"
+ "\tadd\tr6, r1, #0\n"
+ "._70:\n"
+ "\tldrh\tr0, [r5, #0x10]\n"
+ "\tmov\tr1, #0xa\n"
+ "\tstr\tr3, [sp]\n"
+ "\tbl\t__udivsi3\n"
+ "\tstrh\tr0, [r5, #0x10]\n"
+ "\tadd\tr0, r4, #1\n"
+ "\tlsl\tr0, r0, #0x18\n"
+ "\tlsr\tr4, r0, #0x18\n"
+ "\tldr\tr3, [sp]\n"
+ "\tcmp\tr4, r6\n"
+ "\tbcc\t._70\t@cond_branch\n"
+ "._69:\n"
+ "\tldrh\tr1, [r7, #0x10]\n"
+ "\tldr\tr0, [r7, #0xc]\n"
+ "\tadd\tr0, r0, r1\n"
+ "\tstr\tr0, [r7, #0xc]\n"
+ "\tldr\tr1, ._81 + 8 @ 0xffff\n"
+ "\tcmp\tr0, r1\n"
+ "\tble\t._71\t@cond_branch\n"
+ "\tstr\tr1, [r7, #0xc]\n"
+ "._71:\n"
+ "\tldrh\tr0, [r7, #0x8]\n"
+ "\tldr\tr1, [r7, #0xc]\n"
+ "\tcmp\tr0, r1\n"
+ "\tbne\t._77\t@cond_branch\n"
+ "._68:\n"
+ "\tldrh\tr1, [r3, #0x30]\n"
+ "\tmov\tr0, #0x80\n"
+ "\tand\tr0, r0, r1\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._73\t@cond_branch\n"
+ "\tldr\tr0, ._81 @ gSharedMem\n"
+ "\tldrh\tr1, [r0, #0x8]\n"
+ "\tstr\tr1, [r0, #0xc]\n"
+ "\tldr\tr1, ._81 + 4 @ 0x2710\n"
+ "\tstrh\tr1, [r0, #0x10]\n"
+ "\tmov\tr4, #0x0\n"
+ "\tldrb\tr1, [r0]\n"
+ "\tadd\tr7, r0, #0\n"
+ "\tcmp\tr4, r1\n"
+ "\tbcs\t._74\t@cond_branch\n"
+ "\tadd\tr5, r7, #0\n"
+ "\tadd\tr6, r1, #0\n"
+ "._75:\n"
+ "\tldrh\tr0, [r5, #0x10]\n"
+ "\tmov\tr1, #0xa\n"
+ "\tstr\tr3, [sp]\n"
+ "\tbl\t__udivsi3\n"
+ "\tstrh\tr0, [r5, #0x10]\n"
+ "\tadd\tr0, r4, #1\n"
+ "\tlsl\tr0, r0, #0x18\n"
+ "\tlsr\tr4, r0, #0x18\n"
+ "\tldr\tr3, [sp]\n"
+ "\tcmp\tr4, r6\n"
+ "\tbcc\t._75\t@cond_branch\n"
+ "._74:\n"
+ "\tadd\tr2, r7, #0\n"
+ "\tldrh\tr1, [r2, #0x10]\n"
+ "\tldr\tr0, [r2, #0xc]\n"
+ "\tsub\tr0, r0, r1\n"
+ "\tstr\tr0, [r2, #0xc]\n"
+ "\tcmp\tr0, #0\n"
+ "\tbge\t._76\t@cond_branch\n"
+ "\tmov\tr0, #0x0\n"
+ "\tstr\tr0, [r2, #0xc]\n"
+ "._76:\n"
+ "\tldrh\tr0, [r2, #0x8]\n"
+ "\tldr\tr1, [r2, #0xc]\n"
+ "\tcmp\tr0, r1\n"
+ "\tbne\t._77\t@cond_branch\n"
+ "._73:\n"
+ "\tldrh\tr2, [r3, #0x2e]\n"
+ "\tmov\tr0, #0x2\n"
+ "\tand\tr0, r0, r2\n"
+ "\tcmp\tr0, #0\n"
+ "\tbne\t._78\t@cond_branch\n"
+ "\tmov\tr0, #0x1\n"
+ "\tand\tr0, r0, r2\n"
+ "\tcmp\tr0, #0\n"
+ "\tbne\t._79\t@cond_branch\n"
+ "\tmov\tr0, #0x0\n"
+ "\tmov\tr8, r0\n"
+ "._62:\n"
+ "\tmov\tr0, r8\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._80\t@cond_branch\n"
+ "\tbl\tdebug_sub_8090C44\n"
+ "._80:\n"
+ "\tmov\tr0, #0x0\n"
+ "._63:\n"
+ "\tadd\tsp, sp, #0x4\n"
+ "\tpop\t{r3}\n"
+ "\tmov\tr8, r3\n"
+ "\tpop\t{r4, r5, r6, r7}\n"
+ "\tpop\t{r1}\n"
+ "\tbx\tr1\n"
+ "._82:\n"
+ "\t.align\t2, 0\n"
+ "._81:\n"
+ "\t.word\tgSharedMem\n"
+ "\t.word\t0x2710\n"
+ "\t.word\t0xffff");
+}
+#endif // NONMATCHING
+
+bool8 TayaDebugMenu_PKMNLottery(void)
+{
+ Menu_DrawStdWindowFrame(0, 0, 6, 5);
+ RetrieveLotteryNumber();
+ eTayaLuckyNumber.curLuckyId = gSpecialVar_Result;
+ eTayaLuckyNumber.digit = 0;
+ debug_sub_8090C44();
+ gMenuCallback = debug_sub_8090C88;
+ return FALSE;
+}
+
+bool8 TayaDebugMenu_Trainer(void)
+{
+ u16 i;
+
+ for (i = 0; i < ARRAY_COUNT(gTrainerEyeTrainers); i++)
+ SetTrainerFlag(gTrainerEyeTrainers[i].opponentIDs[0]);
+
+ SetTrainerFlag(OPPONENT_ROXANNE);
+ SetTrainerFlag(OPPONENT_BRAWLY);
+ SetTrainerFlag(OPPONENT_WATTSON);
+ SetTrainerFlag(OPPONENT_FLANNERY);
+ SetTrainerFlag(OPPONENT_NORMAN);
+ SetTrainerFlag(OPPONENT_WINONA);
+ SetTrainerFlag(OPPONENT_TATE_AND_LIZA);
+ SetTrainerFlag(OPPONENT_WALLACE);
+ SetTrainerFlag(OPPONENT_SIDNEY);
+ SetTrainerFlag(OPPONENT_PHOEBE);
+ SetTrainerFlag(OPPONENT_GLACIA);
+ SetTrainerFlag(OPPONENT_DRAKE);
+ SetTrainerFlag(OPPONENT_STEVEN);
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 TayaDebugMenu_PokenavD(void)
+{
+ u16 i;
+ u16 j;
+
+ Menu_DisplayDialogueFrame();
+
+ for (i = 0; i < 14; i++)
+ {
+ StringCopy(gSharedMem, gUnknown_Debug_083C4F94);
+ gSharedMem[i + 1] = EOS;
+ Menu_PrintText(gSharedMem, 2, 15);
+ for (j = 0; j < 30; j++)
+ {
+ struct BoxPokemon *boxPokemon;
+ u32 otId = Random() + 1;
+ u16 level = (Random() % 100) + 1;
+ u16 species = (Random() % 386) + 1;
+ if (species >= SPECIES_OLD_UNOWN_B)
+ {
+ species += SPECIES_TREECKO - SPECIES_OLD_UNOWN_B;
+ if (species >= NUM_SPECIES)
+ species = SPECIES_BULBASAUR;
+ }
+ boxPokemon = gPokemonStorage.boxes[i] + j;
+ CreateBoxMon(boxPokemon, species, level, 32, FALSE, 0, TRUE, otId);
+
+ otId = Random() & 0xff;
+ SetBoxMonData(boxPokemon, MON_DATA_COOL, &otId);
+
+ otId = Random() & 0xff;
+ SetBoxMonData(boxPokemon, MON_DATA_BEAUTY, &otId);
+
+ otId = Random() & 0xff;
+ SetBoxMonData(boxPokemon, MON_DATA_CUTE, &otId);
+
+ otId = Random() & 0xff;
+ SetBoxMonData(boxPokemon, MON_DATA_SMART, &otId);
+
+ otId = Random() & 0xff;
+ SetBoxMonData(boxPokemon, MON_DATA_TOUGH, &otId);
+
+ otId = Random() & 0xff;
+ SetBoxMonData(boxPokemon, MON_DATA_SHEEN, &otId);
+
+ otId = (Random() & 3) + 1;
+ SetBoxMonData(boxPokemon, MON_DATA_COOL_RIBBON, &otId);
+
+ otId = (Random() & 3) + 1;
+ SetBoxMonData(boxPokemon, MON_DATA_BEAUTY_RIBBON, &otId);
+
+ otId = (Random() & 3) + 1;
+ SetBoxMonData(boxPokemon, MON_DATA_CUTE_RIBBON, &otId);
+
+ otId = (Random() & 3) + 1;
+ SetBoxMonData(boxPokemon, MON_DATA_TOUGH_RIBBON, &otId);
+
+ otId = (Random() & 3) + 1;
+ SetBoxMonData(boxPokemon, MON_DATA_SMART_RIBBON, &otId);
+
+ otId = Random() & 1;
+ SetBoxMonData(boxPokemon, MON_DATA_CHAMPION_RIBBON, &otId);
+
+ otId = Random() & 1;
+ SetBoxMonData(boxPokemon, MON_DATA_WINNING_RIBBON, &otId);
+
+ otId = Random() & 1;
+ SetBoxMonData(boxPokemon, MON_DATA_VICTORY_RIBBON, &otId);
+
+ otId = Random() & 1;
+ SetBoxMonData(boxPokemon, MON_DATA_ARTIST_RIBBON, &otId);
+
+ otId = Random() & 1;
+ SetBoxMonData(boxPokemon, MON_DATA_EFFORT_RIBBON, &otId);
+
+ otId = Random() & 1;
+ SetBoxMonData(boxPokemon, MON_DATA_GIFT_RIBBON_1, &otId);
+
+ otId = Random() & 1;
+ SetBoxMonData(boxPokemon, MON_DATA_GIFT_RIBBON_2, &otId);
+
+ otId = Random() & 1;
+ SetBoxMonData(boxPokemon, MON_DATA_GIFT_RIBBON_3, &otId);
+
+ otId = Random() & 1;
+ SetBoxMonData(boxPokemon, MON_DATA_GIFT_RIBBON_4, &otId);
+
+ otId = Random() & 1;
+ SetBoxMonData(boxPokemon, MON_DATA_GIFT_RIBBON_5, &otId);
+
+ otId = Random() & 1;
+ SetBoxMonData(boxPokemon, MON_DATA_GIFT_RIBBON_6, &otId);
+
+ otId = Random() & 1;
+ SetBoxMonData(boxPokemon, MON_DATA_GIFT_RIBBON_7, &otId);
+ }
+ }
+ TayaDebugMenu_TownFlags();
+ TayaDebugMenu_Trainer();
+ CloseMenu();
+ return TRUE;
+}
+
+bool8 TayaDebugMenu_8091190(void)
+{
+ s8 input = Menu_ProcessInput();
+ s8 r4;
+
+ switch (input)
+ {
+ default:
+ gMenuCallback = gUnknown_Debug_83C5068[sTayaTopMenuPage].menuActions[input].func;
+ return FALSE;
+ case -2:
+ r4 = sTayaTopMenuPage;
+ if (gMain.newKeys & DPAD_LEFT)
+ {
+ sTayaTopMenuPage--;
+ if (sTayaTopMenuPage < 0)
+ sTayaTopMenuPage = 1;
+ }
+
+ if (gMain.newKeys & DPAD_RIGHT)
+ {
+ sTayaTopMenuPage++;
+ if ((u8)sTayaTopMenuPage > 1)
+ sTayaTopMenuPage = 0;
+ }
+ if (r4 != sTayaTopMenuPage)
+ {
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 11, 19);
+ Menu_PrintItems(1, 1, gUnknown_Debug_83C5068[sTayaTopMenuPage].nitems, gUnknown_Debug_83C5068[sTayaTopMenuPage].menuActions);
+ InitMenu(0, 1, 1, gUnknown_Debug_83C5068[sTayaTopMenuPage].nitems, 0, 10);
+ }
+ return FALSE;
+ case -1:
+ CloseMenu();
+ return TRUE;
+ }
+}
+
+bool8 InitTayaDebugWindow(void)
+{
+ sTayaTopMenuPage = 0;
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 11, 19);
+ Menu_PrintItems(1, 1, 9, gUnknown_Debug_83C5068[0].menuActions);
+ InitMenu(0, 1, 1, 9, 0, 10);
+ gMenuCallback = TayaDebugMenu_8091190;
+ return FALSE;
+}
+
+bool8 debug_sub_80912D8(void)
+{
+ if (!gPaletteFade.active)
+ {
+ SetMainCallback2(debug_sub_8110F28);
+ return TRUE;
+ }
+ return FALSE;
+}
+
+bool8 debug_sub_8091300(void)
+{
+ FadeScreen(1, 0);
+ gMenuCallback = debug_sub_80912D8;
+ return FALSE;
+}
+
+void debug_sub_8091320(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+void debug_sub_8091334(void)
+{
+ AnimateSprites();
+ BuildOamBuffer();
+
+ switch (eTayaMonData.state)
+ {
+ case 0:
+ eTayaMonData.redraw = 0;
+ if (gMain.newKeys & DPAD_UP)
+ {
+ if (eTayaMonData.y != 0)
+ {
+ eTayaMonData.y--;
+ eTayaMonData.redraw = 1;
+ }
+ }
+ if (gMain.newKeys & DPAD_DOWN)
+ {
+ if (eTayaMonData.x != 2)
+ {
+ if (eTayaMonData.y < 5)
+ {
+ eTayaMonData.y++;
+ eTayaMonData.redraw = 1;
+ }
+ }
+ else
+ {
+ if (eTayaMonData.y < 4)
+ {
+ eTayaMonData.y++;
+ eTayaMonData.redraw = 1;
+ }
+ }
+ }
+ if (gMain.newKeys & DPAD_LEFT)
+ {
+ if (eTayaMonData.x != 0)
+ {
+ eTayaMonData.x--;
+ eTayaMonData.redraw = 1;
+ }
+ }
+ if (gMain.newKeys & DPAD_RIGHT)
+ {
+ if (eTayaMonData.y != 5)
+ {
+ if (eTayaMonData.x < 2)
+ {
+ eTayaMonData.x++;
+ eTayaMonData.redraw = 1;
+ }
+ }
+ else
+ {
+ if (eTayaMonData.x < 1)
+ {
+ eTayaMonData.x++;
+ eTayaMonData.redraw = 1;
+ }
+ }
+ }
+ if (eTayaMonData.redraw)
+ {
+ debug_sub_80916AC();
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ u16 param = gUnknown_Debug_083C50EC[eTayaMonData.y][eTayaMonData.x].param;
+ if (param >= MON_DATA_COOL_RIBBON && param <= MON_DATA_TOUGH_RIBBON)
+ eTayaMonData.maxVal = 4;
+ else
+ eTayaMonData.maxVal = 1;
+ eTayaMonData.state = 1;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ BlendPalettes(0xFFFFFFFF, 16, 0);
+ SetMainCallback2(sub_80546F0);
+ }
+ break;
+ case 1:
+ eTayaMonData.redraw = 0;
+ if (gMain.newKeys & DPAD_UP)
+ {
+ if (eTayaMonData.data[eTayaMonData.y][eTayaMonData.x] < eTayaMonData.maxVal)
+ {
+ eTayaMonData.data[eTayaMonData.y][eTayaMonData.x]++;
+ eTayaMonData.redraw = 1;
+ }
+ }
+ if (gMain.newKeys & DPAD_DOWN)
+ {
+ if (eTayaMonData.data[eTayaMonData.y][eTayaMonData.x] != 0)
+ {
+ eTayaMonData.data[eTayaMonData.y][eTayaMonData.x]--;
+ eTayaMonData.redraw = 1;
+ }
+ }
+ if (eTayaMonData.redraw)
+ {
+ debug_sub_80916AC();
+ }
+ else
+ {
+ if (gMain.newKeys & B_BUTTON)
+ {
+ eTayaMonData.data[eTayaMonData.y][eTayaMonData.x] = GetMonData(gPlayerParty, gUnknown_Debug_083C50EC[eTayaMonData.y][eTayaMonData.x].param);
+ debug_sub_80916AC();
+ eTayaMonData.state = 0;
+ }
+ if (gMain.newKeys & A_BUTTON)
+ {
+ if (gUnknown_Debug_083C50EC[eTayaMonData.y][eTayaMonData.x].param)
+ SetMonData(gPlayerParty, gUnknown_Debug_083C50EC[eTayaMonData.y][eTayaMonData.x].param, &eTayaMonData.data[eTayaMonData.y][eTayaMonData.x]);
+ eTayaMonData.state = 0;
+ }
+ }
+ break;
+ }
+}
+
+void debug_sub_80915BC(void)
+{
+ u8 i;
+ u8 j;
+ REG_BG0HOFS = 0;
+ REG_BG0VOFS = 0;
+ for (i = 0; i < 6; i++)
+ {
+ for (j = 0; j < 3; j++)
+ {
+ u16 param = gUnknown_Debug_083C50EC[i][j].param;
+ if (param)
+ eTayaMonData.data[i][j] = GetMonData(gPlayerParty, param);
+ else
+ eTayaMonData.data[i][j] = 0;
+ }
+ }
+ Text_LoadWindowTemplate(&gWindowTemplate_81E7224);
+ InitMenuWindow(&gWindowTemplate_81E7224);
+ Menu_EraseScreen();
+ Menu_DrawStdWindowFrame(0, 0, 29, 3);
+ Menu_PrintText(gUnknown_Debug_083C517C, 1, 1);
+ Menu_DrawStdWindowFrame(0, 4, 29, 17);
+ Menu_DrawStdWindowFrame(0, 18, 29, 21);
+ REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON;
+ eTayaMonData.x = 0;
+ eTayaMonData.y = 0;
+ eTayaMonData.state = 0;
+ debug_sub_80916AC();
+ SetVBlankCallback(debug_sub_8091320);
+ SetMainCallback2(debug_sub_8091334);
+}
+
+void debug_sub_80916AC(void)
+{
+ u8 i;
+ u8 j;
+
+ for (i = 0; i < 6; i++)
+ {
+ u8 * buffer = eTayaMonData.charbuf;
+ for (j = 0; j < 3 && !(i == 5 && j == 2); j++)
+ {
+ if (eTayaMonData.x == j && eTayaMonData.y == i)
+ *buffer++ = 0xEF;
+ else
+ {
+ *buffer++ = CHAR_SPACE;
+ *buffer++ = CHAR_SPACE;
+ }
+ buffer = StringCopy(buffer, gUnknown_Debug_083C50EC[i][j].text);
+ *buffer++ = CHAR_SPACE;
+ buffer = ConvertIntToDecimalStringN(buffer, eTayaMonData.data[i][j], STR_CONV_MODE_LEFT_ALIGN, 1);
+ *buffer++ = CHAR_SPACE;
+ }
+ buffer[-1] = EOS;
+ Menu_PrintText(eTayaMonData.charbuf, 1, i * 2 + 5);
+ }
+}
+
+#endif // DEBUG