summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2018-04-22 07:58:56 -0700
committerGitHub <noreply@github.com>2018-04-22 07:58:56 -0700
commite739b7087b8d06149e1a067ead971c1e6cbf385d (patch)
tree88e9deccdeb7580d09728850c9f8808e8bdf7df5
parent18f6c5c9d460c019453227abe033d84f1feb6310 (diff)
parentf54ccdc7ca5007edb196bcf4657d36f9bb5c295c (diff)
Merge pull request #596 from PikalaxALT/watanabe
Watanabe
-rw-r--r--Makefile28
-rw-r--r--asm/pokemon_storage_system.s6
-rw-r--r--asm/watanabe_debug_menu.s9578
-rw-r--r--data/debug_menu_watanabe.s744
-rw-r--r--include/battle.h4
-rw-r--r--include/battle_bg.h6
-rw-r--r--include/pokedex.h21
-rw-r--r--include/pokemon_storage_system.h2
-rw-r--r--ld_script.txt4
-rw-r--r--src/battle/battle_2.c4
-rw-r--r--src/battle/battle_bg.c2
-rw-r--r--src/debug/watanabe_debug_menu.c3749
-rw-r--r--src/pokedex.c17
-rw-r--r--src/pokemon_storage_system_2.c8
14 files changed, 3808 insertions, 10365 deletions
diff --git a/Makefile b/Makefile
index 87d19422e..9a05c54fe 100644
--- a/Makefile
+++ b/Makefile
@@ -1,23 +1,29 @@
include config.mk
+ifeq ($(OS),Windows_NT)
+EXE := .exe
+else
+EXE :=
+endif
+
#### Tools ####
SHELL := /bin/bash -o pipefail
AS := $(DEVKITARM)/bin/arm-none-eabi-as
-CC1 := tools/agbcc/bin/agbcc
+CC1 := tools/agbcc/bin/agbcc$(EXE)
CPP := $(DEVKITARM)/bin/arm-none-eabi-cpp
LD := $(DEVKITARM)/bin/arm-none-eabi-ld
OBJCOPY := $(DEVKITARM)/bin/arm-none-eabi-objcopy
SHA1SUM := sha1sum -c
-GBAGFX := tools/gbagfx/gbagfx
-RSFONT := tools/rsfont/rsfont
-AIF2PCM := tools/aif2pcm/aif2pcm
-MID2AGB := tools/mid2agb/mid2agb
-PREPROC := tools/preproc/preproc
-SCANINC := tools/scaninc/scaninc
-RAMSCRGEN := tools/ramscrgen/ramscrgen
+GBAGFX := tools/gbagfx/gbagfx$(EXE)
+RSFONT := tools/rsfont/rsfont$(EXE)
+AIF2PCM := tools/aif2pcm/aif2pcm$(EXE)
+MID2AGB := tools/mid2agb/mid2agb$(EXE)
+PREPROC := tools/preproc/preproc$(EXE)
+SCANINC := tools/scaninc/scaninc$(EXE)
+RAMSCRGEN := tools/ramscrgen/ramscrgen$(EXE)
ASFLAGS := -mcpu=arm7tdmi -I include --defsym $(GAME_VERSION)=1 --defsym REVISION=$(GAME_REVISION) --defsym $(GAME_LANGUAGE)=1 --defsym DEBUG=$(DEBUG)
CC1FLAGS := -mthumb-interwork -Wimplicit -Wparentheses -Wunused -Werror -O2 -fhex-asm
@@ -50,9 +56,9 @@ LD_SCRIPT := $(BUILD_DIR)/ld_script.ld
%src/libs/agb_flash.o: CC1FLAGS := -O1 -mthumb-interwork
%src/libs/agb_flash_1m.o: CC1FLAGS := -O1 -mthumb-interwork
%src/libs/agb_flash_mx.o: CC1FLAGS := -O1 -mthumb-interwork
-%src/libs/m4a_2.o: CC1 := tools/agbcc/bin/old_agbcc
-%src/libs/m4a_4.o: CC1 := tools/agbcc/bin/old_agbcc
-%src/libs/libisagbprn.o: CC1 := tools/agbcc/bin/old_agbcc
+%src/libs/m4a_2.o: CC1 := tools/agbcc/bin/old_agbcc$(EXE)
+%src/libs/m4a_4.o: CC1 := tools/agbcc/bin/old_agbcc$(EXE)
+%src/libs/libisagbprn.o: CC1 := tools/agbcc/bin/old_agbcc$(EXE)
%src/libs/libisagbprn.o: CC1FLAGS := -mthumb-interwork
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index cee93a9e4..357fe9a49 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -582,8 +582,8 @@ sub_809CB74: @ 809CB74
_0809CB90: .4byte gPokemonStorageSystemPtr
thumb_func_end sub_809CB74
- thumb_func_start unref_sub_809CB94
-unref_sub_809CB94: @ 809CB94
+ thumb_func_start debug_sub_809CB94
+debug_sub_809CB94: @ 809CB94
push {r4,lr}
adds r4, r0, 0
ldr r0, _0809CBBC @ =gUnknown_020384E4
@@ -636,7 +636,7 @@ _0809CBF6:
.align 2, 0
_0809CBFC: .4byte gPokemonStorage
_0809CC00: .4byte gUnknown_020384E5
- thumb_func_end unref_sub_809CB94
+ thumb_func_end debug_sub_809CB94
thumb_func_start sub_809CC04
sub_809CC04: @ 809CC04
diff --git a/asm/watanabe_debug_menu.s b/asm/watanabe_debug_menu.s
deleted file mode 100644
index 892c2262d..000000000
--- a/asm/watanabe_debug_menu.s
+++ /dev/null
@@ -1,9578 +0,0 @@
-.if DEBUG
-
- .include "constants/gba_constants.inc"
- .include "include/macros.inc"
-
- .text
-
- thumb_func_start debug_69
-debug_69:
- bx lr
-
- thumb_func_end debug_69
-
- thumb_func_start debug_80C35DC
-debug_80C35DC:
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- add sp, sp, #0xfffffff8
- mov r0, #0x0
- bl SetVBlankCallback
- mov r0, #0x80
- lsl r0, r0, #0x13
- mov r1, #0x0
- strh r1, [r0]
- add r0, r0, #0xe
- strh r1, [r0]
- sub r0, r0, #0x2
- strh r1, [r0]
- sub r0, r0, #0x2
- strh r1, [r0]
- sub r0, r0, #0x2
- strh r1, [r0]
- add r0, r0, #0x14
- strh r1, [r0]
- add r0, r0, #0x2
- strh r1, [r0]
- sub r0, r0, #0x6
- strh r1, [r0]
- add r0, r0, #0x2
- strh r1, [r0]
- sub r0, r0, #0x6
- strh r1, [r0]
- add r0, r0, #0x2
- strh r1, [r0]
- sub r0, r0, #0x6
- strh r1, [r0]
- add r0, r0, #0x2
- strh r1, [r0]
- mov r3, #0xc0
- lsl r3, r3, #0x13
- mov r4, #0xc0
- lsl r4, r4, #0x9
- add r0, sp, #0x4
- mov r8, r0
- mov r2, sp
- mov r6, #0x0
- ldr r1, ._2 @ 0x40000d4
- mov r5, #0x80
- lsl r5, r5, #0x5
- ldr r7, ._2 + 4 @ 0x81000800
- mov r0, #0x81
- lsl r0, r0, #0x18
- mov ip, r0
-._1:
- strh r6, [r2]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, #0x4]
- str r7, [r1, #0x8]
- ldr r0, [r1, #0x8]
- add r3, r3, r5
- sub r4, r4, r5
- cmp r4, r5
- bhi ._1 @cond_branch
- strh r6, [r2]
- mov r2, sp
- str r2, [r1]
- str r3, [r1, #0x4]
- lsr r0, r4, #0x1
- mov r2, ip
- orr r0, r0, r2
- str r0, [r1, #0x8]
- ldr r0, [r1, #0x8]
- mov r0, #0xe0
- lsl r0, r0, #0x13
- mov r3, #0x80
- lsl r3, r3, #0x3
- mov r4, #0x0
- str r4, [sp, #0x4]
- ldr r2, ._2 @ 0x40000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, #0x4]
- lsr r0, r3, #0x2
- mov r1, #0x85
- lsl r1, r1, #0x18
- orr r0, r0, r1
- str r0, [r2, #0x8]
- ldr r0, [r2, #0x8]
- mov r1, #0xa0
- lsl r1, r1, #0x13
- mov r0, sp
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, #0x4]
- lsr r3, r3, #0x1
- mov r0, #0x81
- lsl r0, r0, #0x18
- orr r3, r3, r0
- str r3, [r2, #0x8]
- ldr r0, [r2, #0x8]
- bl ResetPaletteFade
- bl ScanlineEffect_Stop
- bl ResetTasks
- bl ResetSpriteData
- bl ResetPaletteFade
- bl FreeAllSpritePalettes
- ldr r0, ._2 + 8 @ stru_83F8828
- bl LoadSpriteSheet
- ldr r0, ._2 + 12 @ stru_83F8838
- bl LoadSpritePalette
- ldr r0, ._2 + 16 @ gWindowTemplate_81E6C3C
- bl Text_LoadWindowTemplate
- ldr r0, ._2 + 20 @ gWindowTemplate_81E6CE4
- bl InitMenuWindow
- add sp, sp, #0x8
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._3:
- .align 2, 0
-._2:
- .word 0x40000d4
- .word 0x81000800
- .word stru_83F8828
- .word stru_83F8838
- .word gWindowTemplate_81E6C3C
- .word gWindowTemplate_81E6CE4
-
- thumb_func_end debug_80C35DC
-
- thumb_func_start debug_80C36F4
-debug_80C36F4:
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
-
- thumb_func_end debug_80C36F4
-
- thumb_func_start debug_80C370C
-debug_80C370C:
- push {lr}
- ldr r0, ._6 @ gPaletteFade
- ldrb r1, [r0, #0x7]
- mov r0, #0x80
- and r0, r0, r1
- cmp r0, #0
- bne ._4 @cond_branch
- ldr r0, ._6 + 4 @ debug_80C36F4
- bl SetMainCallback2
- b ._5
-._7:
- .align 2, 0
-._6:
- .word gPaletteFade
- .word debug_80C36F4+1
-._4:
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
-._5:
- pop {r0}
- bx r0
-
- thumb_func_end debug_80C370C
-
- thumb_func_start debug_80C373C
-debug_80C373C:
- push {lr}
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl DestroyTask
- bl ScriptContext2_Disable
- ldr r0, ._8 @ sub_80546F0
- bl SetMainCallback2
- pop {r0}
- bx r0
-._9:
- .align 2, 0
-._8:
- .word sub_80546F0+1
-
- thumb_func_end debug_80C373C
-
- thumb_func_start debug_80C3758
-debug_80C3758:
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
-
- thumb_func_end debug_80C3758
-
- thumb_func_start debug_80C376C
-debug_80C376C:
- push {r4, r5, r6, r7, lr}
- add sp, sp, #0xfffffffc
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- lsl r1, r1, #0x18
- lsr r7, r1, #0x18
- lsl r2, r2, #0x18
- lsr r6, r2, #0x18
- mov r1, #0x0
- mov r2, #0x0
-._10:
- mov r3, sp
- add r0, r3, r1
- strb r2, [r0]
- add r0, r1, #1
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- cmp r1, #0x2
- bls ._10 @cond_branch
- mov r1, sp
- mov r0, #0xff
- strb r0, [r1, #0x3]
- mov r4, #0x0
- add r0, r5, #0
- mov r1, #0x64
- bl __udivsi3
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0
- beq ._11 @cond_branch
- mov r1, sp
- add r0, r0, #0xa1
- strb r0, [r1]
- mov r4, #0x1
-._11:
- add r0, r5, #0
- mov r1, #0x64
- bl __umodsi3
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r1, #0xa
- bl __udivsi3
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0
- bne ._12 @cond_branch
- cmp r4, #0
- beq ._13 @cond_branch
-._12:
- mov r1, sp
- add r0, r0, #0xa1
- strb r0, [r1, #0x1]
-._13:
- mov r4, sp
- add r0, r5, #0
- mov r1, #0x64
- bl __umodsi3
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r1, #0xa
- bl __umodsi3
- add r0, r0, #0xa1
- strb r0, [r4, #0x2]
- mov r0, sp
- add r1, r7, #0
- add r2, r6, #0
- bl Menu_PrintText
- add sp, sp, #0x4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-
- thumb_func_end debug_80C376C
-
- thumb_func_start debug_80C3800
-debug_80C3800:
- push {r4, r5, r6, r7, lr}
- add sp, sp, #0xfffffff4
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- lsl r1, r1, #0x18
- lsr r6, r1, #0x18
- lsl r2, r2, #0x18
- lsr r5, r2, #0x18
- mov r3, #0x0
- ldr r2, ._18 @ gSpeciesNames
- mov r1, #0x0
-._14:
- mov r7, sp
- add r0, r7, r3
- strb r1, [r0]
- add r0, r3, #1
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- cmp r3, #0x9
- bls ._14 @cond_branch
- add r1, r7, r3
- mov r0, #0xff
- strb r0, [r1]
- mov r3, #0x0
- mov r0, #0xb
- add r1, r4, #0
- mul r1, r1, r0
- add r0, r1, r2
- ldrb r0, [r0]
- cmp r0, #0xff
- beq ._16 @cond_branch
- add r4, r2, #0
- add r2, r1, #0
-._17:
- mov r0, sp
- add r1, r0, r3
- add r0, r3, r2
- add r0, r0, r4
- ldrb r0, [r0]
- strb r0, [r1]
- add r0, r3, #1
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- add r0, r3, r2
- add r0, r0, r4
- ldrb r0, [r0]
- cmp r0, #0xff
- beq ._16 @cond_branch
- cmp r3, #0x9
- bls ._17 @cond_branch
-._16:
- mov r0, sp
- add r1, r6, #0
- add r2, r5, #0
- bl Menu_PrintText
- add sp, sp, #0xc
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._19:
- .align 2, 0
-._18:
- .word gSpeciesNames
-
- thumb_func_end debug_80C3800
-
- thumb_func_start debug_80C3878
-debug_80C3878:
- push {lr}
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- cmp r0, #0
- beq ._20 @cond_branch
- cmp r0, #0x1
- beq ._21 @cond_branch
-._20:
- cmp r1, #0x1
- bls ._22 @cond_branch
- sub r0, r1, #1
- b ._23
-._22:
- ldr r1, ._25 @ 0x19b
- b ._28
-._26:
- .align 2, 0
-._25:
- .word 0x19b
-._21:
- mov r0, #0xcd
- lsl r0, r0, #0x1
- cmp r1, r0
- bhi ._27 @cond_branch
- add r0, r1, #1
-._23:
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- b ._28
-._27:
- mov r1, #0x1
-._28:
- add r0, r1, #0
- pop {r1}
- bx r1
-
- thumb_func_end debug_80C3878
-
- thumb_func_start debug_80C38B4
-debug_80C38B4:
- push {lr}
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- lsl r1, r1, #0x10
- lsr r0, r1, #0x10
- cmp r2, #0
- beq ._29 @cond_branch
- cmp r2, #0x1
- beq ._30 @cond_branch
-._29:
- cmp r0, #0
- beq ._31 @cond_branch
- sub r0, r0, #0x1
- b ._32
-._31:
- mov r0, #0x52
- b ._35
-._30:
- cmp r0, #0x51
- bhi ._34 @cond_branch
- add r0, r0, #0x1
-._32:
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- b ._35
-._34:
- mov r0, #0x0
-._35:
- pop {r1}
- bx r1
-
- thumb_func_end debug_80C38B4
-
- thumb_func_start debug_80C38E4
-debug_80C38E4:
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- add sp, sp, #0xfffffffc
- add r4, r2, #0
- add r5, r3, #0
- ldr r6, [sp, #0x1c]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r8, r0
- lsl r1, r1, #0x18
- lsr r7, r1, #0x18
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- lsl r6, r6, #0x18
- lsr r6, r6, #0x18
- ldr r1, ._37 @ gUnknown_Debug_083F7FD4
- mov r0, sp
- mov r2, #0x2
- bl memcpy
- add r0, r7, #0
- add r1, r4, #0
- add r2, r7, #0
- add r3, r5, #0
- bl Menu_BlankWindowRect
- cmp r6, #0
- beq ._36 @cond_branch
- mov r0, sp
- add r1, r7, #0
- mov r2, r8
- bl Menu_PrintText
-._36:
- add sp, sp, #0x4
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._38:
- .align 2, 0
-._37:
- .word gUnknown_Debug_083F7FD4
-
- thumb_func_end debug_80C38E4
-
- thumb_func_start debug_80C393C
-debug_80C393C:
- push {lr}
- ldr r1, ._39 @ gUnknown_Debug_083F7FD6
- mov r0, #0x1e
- bl ProgramFlashSectorAndVerify
- pop {r0}
- bx r0
-._40:
- .align 2, 0
-._39:
- .word gUnknown_Debug_083F7FD6
-
- thumb_func_end debug_80C393C
-
- thumb_func_start InitWatanabeDebugMenu
-InitWatanabeDebugMenu:
- push {r4, lr}
- ldr r0, ._46 @ gMain
- ldr r1, ._46 + 4 @ 0x43c
- add r4, r0, r1
- ldrb r0, [r4]
- cmp r0, #0x1
- beq ._41 @cond_branch
- cmp r0, #0x1
- ble ._42 @cond_branch
- cmp r0, #0x2
- beq ._43 @cond_branch
- cmp r0, #0x3
- beq ._44 @cond_branch
-._42:
- bl save_serialize_map
- bl sub_8125E2C
- mov r0, #0x1
- strb r0, [r4]
- b ._51
-._47:
- .align 2, 0
-._46:
- .word gMain
- .word 0x43c
-._41:
- bl sub_8125E6C
- lsl r0, r0, #0x18
- cmp r0, #0
- beq ._51 @cond_branch
- b ._49
-._43:
- mov r0, #0x37
- bl PlaySE
-._49:
- ldrb r0, [r4]
- add r0, r0, #0x1
- strb r0, [r4]
- b ._51
-._44:
- bl IsSEPlaying
- lsl r0, r0, #0x18
- cmp r0, #0
- bne ._51 @cond_branch
- bl ScriptContext2_Disable
- ldr r0, ._52 @ sub_80546F0
- bl SetMainCallback2
-._51:
- pop {r4}
- pop {r0}
- bx r0
-._53:
- .align 2, 0
-._52:
- .word sub_80546F0+1
-
- thumb_func_end InitWatanabeDebugMenu
-
- thumb_func_start InitSizeComparison
-InitSizeComparison:
- push {r4, lr}
- add sp, sp, #0xfffffffc
- bl debug_80C35DC
- ldr r1, ._54 @ gReservedSpritePaletteCount
- mov r0, #0x1
- strb r0, [r1]
- ldr r0, ._54 + 4 @ gUnknown_Debug_20389EC
- mov r1, #0x80
- lsl r1, r1, #0x1
- mov r2, #0x20
- bl LoadPalette
- ldr r3, ._54 + 8 @ 0x4000208
- ldrh r2, [r3]
- mov r0, #0x0
- strh r0, [r3]
- ldr r4, ._54 + 12 @ 0x4000200
- ldrh r0, [r4]
- mov r1, #0x1
- orr r0, r0, r1
- strh r0, [r4]
- strh r2, [r3]
- mov r0, #0x1
- neg r0, r0
- mov r1, #0x0
- str r1, [sp]
- mov r2, #0x10
- mov r3, #0x0
- bl BeginNormalPaletteFade
- ldr r0, ._54 + 16 @ debug_80C3758
- bl SetVBlankCallback
- ldr r0, ._54 + 20 @ debug_80C370C
- bl SetMainCallback2
- mov r1, #0x80
- lsl r1, r1, #0x13
- mov r2, #0x8a
- lsl r2, r2, #0x5
- add r0, r2, #0
- strh r0, [r1]
- ldr r0, ._54 + 24 @ debug_80C3A50
- mov r1, #0x0
- bl CreateTask
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- ldr r2, ._54 + 28 @ gTasks
- lsl r1, r0, #0x2
- add r1, r1, r0
- lsl r1, r1, #0x3
- add r1, r1, r2
- mov r0, #0xfc
- strh r0, [r1, #0x8]
- add sp, sp, #0x4
- pop {r4}
- pop {r0}
- bx r0
-._55:
- .align 2, 0
-._54:
- .word gReservedSpritePaletteCount
- .word gUnknown_Debug_20389EC
- .word 0x4000208
- .word 0x4000200
- .word debug_80C3758+1
- .word debug_80C370C+1
- .word debug_80C3A50+1
- .word gTasks
-
- thumb_func_end InitSizeComparison
-
- thumb_func_start debug_80C3A50
-debug_80C3A50:
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, r9
- mov r5, r8
- push {r5, r6, r7}
- add sp, sp, #0xffffffd8
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- ldr r1, ._56 @ gTasks
- lsl r2, r0, #0x2
- add r0, r2, r0
- lsl r0, r0, #0x3
- add r7, r0, r1
- ldrh r0, [r7, #0x8]
- str r0, [sp, #0x4]
- bl NationalPokedexNumToSpecies
- mov r1, sp
- strh r0, [r1, #0x8]
- add r2, r0, #0
- lsl r2, r2, #0x10
- str r2, [sp, #0xc]
- lsr r2, r2, #0x10
- mov r9, r2
- ldr r3, ._56 + 4 @ gSaveBlock2
- mov r8, r3
- mov r0, #0x6
- mov r1, #0x0
- mov r2, #0x17
- mov r3, #0x9
- bl Menu_DrawStdWindowFrame
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0x5
- mov r3, #0x9
- bl Menu_DrawStdWindowFrame
- ldr r5, ._56 + 8 @ gUnknown_Debug_083F7FD6
- add r0, r5, #0
- mov r1, #0x1
- mov r2, #0x1
- bl Menu_PrintText
- ldr r4, ._56 + 12 @ gUnknown_Debug_083F7FDE
- add r0, r4, #0
- mov r1, #0x1
- mov r2, #0x5
- bl Menu_PrintText
- mov r0, #0x18
- mov r1, #0x0
- mov r2, #0x1d
- mov r3, #0x9
- bl Menu_DrawStdWindowFrame
- add r0, r5, #0
- mov r1, #0x19
- mov r2, #0x1
- bl Menu_PrintText
- add r0, r4, #0
- mov r1, #0x19
- mov r2, #0x5
- bl Menu_PrintText
- mov r0, #0x0
- mov r1, #0xa
- mov r2, #0xb
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- ldr r0, ._56 + 16 @ gUnknown_Debug_083F7FE2
- mov r1, #0x1
- mov r2, #0xb
- bl Menu_PrintText
- ldr r0, ._56 + 20 @ gUnknown_Debug_083F7FED
- mov r1, #0x1
- mov r2, #0xd
- bl Menu_PrintText
- ldr r0, ._56 + 24 @ gUnknown_Debug_083F7FF6
- mov r1, #0x1
- mov r2, #0xf
- bl Menu_PrintText
- ldr r0, ._56 + 28 @ gUnknown_Debug_083F8001
- mov r1, #0x1
- mov r2, #0x11
- bl Menu_PrintText
- mov r0, #0xc
- mov r1, #0xa
- mov r2, #0x1d
- mov r3, #0xf
- bl Menu_DrawStdWindowFrame
- ldr r0, ._56 + 32 @ gUnknown_Debug_083F800C
- mov r1, #0xd
- mov r2, #0xb
- bl Menu_PrintText
- ldr r0, ._56 + 36 @ gUnknown_Debug_083F8019
- mov r1, #0xd
- mov r2, #0xd
- bl Menu_PrintText
- mov r0, #0xc
- mov r1, #0x10
- mov r2, #0x1d
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- ldr r0, ._56 + 40 @ gUnknown_Debug_083F8022
- mov r1, #0xd
- mov r2, #0x11
- bl Menu_PrintText
- ldr r0, ._56 + 44 @ gUnknown_Debug_083F8028
- mov r1, #0x18
- mov r2, #0x11
- bl Menu_PrintText
- mov r0, r9
- mov r1, #0x12
- mov r2, #0x11
- bl debug_80C3800
- mov r1, r8
- ldrb r0, [r1, #0x8]
- mov r1, #0x98
- mov r2, #0x28
- mov r3, #0x0
- bl sub_8091A4C
- mov r2, sp
- strh r0, [r2, #0x10]
- add r3, r0, #0
- lsl r3, r3, #0x10
- str r3, [sp, #0x18]
- lsr r0, r3, #0x10
- str r0, [sp, #0x14]
- lsl r4, r0, #0x4
- add r4, r4, r0
- lsl r4, r4, #0x2
- ldr r1, ._56 + 48 @ gSprites
- add r4, r4, r1
- ldrb r1, [r4, #0x1]
- mov r2, #0x4
- neg r2, r2
- mov sl, r2
- mov r0, sl
- and r0, r0, r1
- mov r3, #0x1
- orr r0, r0, r3
- strb r0, [r4, #0x1]
- ldrb r1, [r4, #0x3]
- mov r0, #0x3f
- neg r0, r0
- mov r9, r0
- and r0, r0, r1
- mov r1, #0x4
- orr r0, r0, r1
- strb r0, [r4, #0x3]
- ldrb r1, [r4, #0x5]
- sub r2, r2, #0x9
- mov r8, r2
- mov r0, r8
- and r0, r0, r1
- mov r3, #0xf
- and r0, r0, r3
- strb r0, [r4, #0x5]
- mov r0, #0x0
- bl GetSpritePaletteTagByPaletteNum
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FreeSpritePaletteByTag
- ldr r0, ._56 + 52 @ gPokedexEntries
- ldr r1, [sp, #0x4]
- lsl r5, r1, #0x3
- add r5, r5, r1
- lsl r5, r5, #0x2
- add r5, r5, r0
- ldrh r6, [r5, #0x20]
- strh r6, [r4, #0x26]
- ldrh r4, [r5, #0x1e]
- str r4, [sp]
- mov r0, #0x2
- add r1, r4, #0
- mov r2, #0x0
- mov r3, #0x0
- bl SetOamMatrix
- mov r2, sp
- ldrh r2, [r2, #0x14]
- strh r2, [r7, #0xe]
- strh r6, [r7, #0x10]
- strh r4, [r7, #0x14]
- ldr r0, [sp, #0x4]
- mov r1, #0x58
- mov r2, #0x28
- mov r3, #0x1
- bl sub_80918EC
- mov r3, sp
- strh r0, [r3, #0x1c]
- lsl r0, r0, #0x10
- str r0, [sp, #0x24]
- lsr r1, r0, #0x10
- str r1, [sp, #0x20]
- lsl r4, r1, #0x4
- add r4, r4, r1
- lsl r4, r4, #0x2
- ldr r2, ._56 + 48 @ gSprites
- add r4, r4, r2
- ldrb r0, [r4, #0x1]
- mov r3, sl
- and r3, r3, r0
- mov r0, #0x1
- orr r3, r3, r0
- strb r3, [r4, #0x1]
- ldrb r0, [r4, #0x3]
- mov r1, r9
- and r1, r1, r0
- mov r0, #0x2
- orr r1, r1, r0
- strb r1, [r4, #0x3]
- ldrb r0, [r4, #0x5]
- mov r2, r8
- and r2, r2, r0
- mov r3, #0xf
- and r2, r2, r3
- strb r2, [r4, #0x5]
- mov r0, #0x0
- bl GetSpritePaletteTagByPaletteNum
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FreeSpritePaletteByTag
- ldrh r0, [r5, #0x1c]
- mov r8, r0
- strh r0, [r4, #0x26]
- ldrh r4, [r5, #0x1a]
- str r4, [sp]
- mov r0, #0x1
- add r1, r4, #0
- mov r2, #0x0
- mov r3, #0x0
- bl SetOamMatrix
- mov r1, sp
- ldrh r1, [r1, #0x20]
- strh r1, [r7, #0xc]
- mov r2, r8
- strh r2, [r7, #0x12]
- strh r4, [r7, #0x16]
- mov r3, #0x0
- strh r3, [r7, #0x18]
- strh r3, [r7, #0x1a]
- ldr r1, ._56 + 56 @ 0x4000048
- ldr r2, ._56 + 60 @ 0x3f1f
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x2
- mov r0, #0x1f
- strh r0, [r1]
- ldr r2, ._56 + 64 @ 0x4000040
- mov r3, #0x18
- ldsh r1, [r7, r3]
- lsl r1, r1, #0x6
- add r0, r1, #0
- add r0, r0, #0x38
- lsl r0, r0, #0x8
- add r1, r1, #0x78
- add r0, r0, r1
- strh r0, [r2]
- ldr r1, ._56 + 68 @ 0x4000044
- ldr r2, ._56 + 72 @ 0x848
- add r0, r2, #0
- strh r0, [r1]
- sub r1, r1, #0x2
- ldr r3, ._56 + 76 @ 0x31bf
- add r0, r3, #0
- strh r0, [r1]
- add r1, r1, #0x4
- ldr r2, ._56 + 80 @ 0x14f
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0xa
- mov r0, #0xe1
- strh r0, [r1]
- ldr r0, ._56 + 84 @ 0x4000052
- mov r3, #0x0
- strh r3, [r0]
- add r1, r1, #0x4
- mov r0, #0x7
- strh r0, [r1]
- mov r2, #0x80
- lsl r2, r2, #0x13
- ldrh r0, [r2]
- mov r3, #0xc0
- lsl r3, r3, #0x7
- add r1, r3, #0
- orr r0, r0, r1
- strh r0, [r2]
- ldr r0, ._56 + 88 @ debug_80C3D2C
- str r0, [r7]
- add sp, sp, #0x28
- pop {r3, r4, r5}
- mov r8, r3
- mov r9, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._57:
- .align 2, 0
-._56:
- .word gTasks
- .word gSaveBlock2
- .word gUnknown_Debug_083F7FD6+0x4
- .word gUnknown_Debug_083F7FDE
- .word gUnknown_Debug_083F7FE2
- .word gUnknown_Debug_083F7FED
- .word gUnknown_Debug_083F7FF6
- .word gUnknown_Debug_083F8001
- .word gUnknown_Debug_083F800C
- .word gUnknown_Debug_083F8019
- .word gUnknown_Debug_083F8022
- .word gUnknown_Debug_083F8028
- .word gSprites
- .word gPokedexEntries
- .word 0x4000048
- .word 0x3f1f
- .word 0x4000040
- .word 0x4000044
- .word 0x848
- .word 0x31bf
- .word 0x14f
- .word 0x4000052
- .word debug_80C3D2C+1
-
- thumb_func_end debug_80C3A50
-
- thumb_func_start debug_80C3D2C
-debug_80C3D2C:
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- add sp, sp, #0xfffffffc
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- add r7, r6, #0
- ldr r4, ._60 @ gMain
- ldrh r1, [r4, #0x2e]
- mov r0, #0x2
- and r0, r0, r1
- cmp r0, #0
- beq ._58 @cond_branch
- mov r0, #0x5
- bl PlaySE
- mov r0, #0x1
- neg r0, r0
- mov r1, #0x0
- str r1, [sp]
- mov r2, #0x0
- mov r3, #0x10
- bl BeginNormalPaletteFade
- ldr r0, ._60 + 4 @ debug_80C370C
- bl SetMainCallback2
- ldr r1, ._60 + 8 @ gTasks
- lsl r0, r6, #0x2
- add r0, r0, r6
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._60 + 12 @ debug_80C373C
- str r1, [r0]
- b ._117
-._61:
- .align 2, 0
-._60:
- .word gMain
- .word debug_80C370C+1
- .word gTasks
- .word debug_80C373C+1
-._58:
- mov r5, #0x1
- add r0, r5, #0
- and r0, r0, r1
- cmp r0, #0
- beq ._62 @cond_branch
- mov r0, #0x5
- bl PlaySE
- ldr r1, ._64 @ gTasks
- lsl r0, r6, #0x2
- add r0, r0, r6
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldrh r1, [r0, #0x18]
- mov r2, #0x1
- eor r1, r1, r2
- strh r1, [r0, #0x18]
- b ._117
-._65:
- .align 2, 0
-._64:
- .word gTasks
-._62:
- ldrh r1, [r4, #0x30]
- mov r0, #0x20
- and r0, r0, r1
- cmp r0, #0
- beq ._66 @cond_branch
- ldr r1, ._70 @ gTasks
- lsl r2, r6, #0x2
- add r0, r2, r6
- lsl r0, r0, #0x3
- add r3, r0, r1
- mov r5, #0x18
- ldsh r0, [r3, r5]
- mov r8, r1
- cmp r0, #0
- beq ._67 @cond_branch
- ldrh r1, [r4, #0x2c]
- mov r0, #0x80
- lsl r0, r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- beq ._68 @cond_branch
- ldrh r0, [r3, #0x14]
- add r0, r0, #0x10
- b ._69
-._71:
- .align 2, 0
-._70:
- .word gTasks
-._68:
- ldrh r0, [r3, #0x14]
- add r0, r0, #0x1
-._69:
- strh r0, [r3, #0x14]
- add r0, r2, r7
- lsl r0, r0, #0x3
- mov r2, r8
- add r1, r0, r2
- ldrh r0, [r1, #0x14]
- mov r6, #0x80
- lsl r6, r6, #0x8
- cmp r0, r6
- bhi ._72 @cond_branch
- b ._117
-._72:
- strh r6, [r1, #0x14]
- b ._117
-._67:
- ldrh r1, [r4, #0x2c]
- mov r0, #0x80
- lsl r0, r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- beq ._75 @cond_branch
- ldrh r0, [r3, #0x16]
- add r0, r0, #0x10
- b ._76
-._75:
- ldrh r0, [r3, #0x16]
- add r0, r0, #0x1
-._76:
- strh r0, [r3, #0x16]
- add r0, r2, r7
- lsl r0, r0, #0x3
- mov r4, r8
- add r1, r0, r4
- ldrh r0, [r1, #0x16]
- mov r6, #0x80
- lsl r6, r6, #0x8
- cmp r0, r6
- bhi ._77 @cond_branch
- b ._117
-._77:
- strh r6, [r1, #0x16]
- b ._117
-._66:
- mov r0, #0x10
- and r0, r0, r1
- cmp r0, #0
- beq ._80 @cond_branch
- ldr r1, ._84 @ gTasks
- lsl r2, r6, #0x2
- add r0, r2, r6
- lsl r0, r0, #0x3
- add r3, r0, r1
- mov r5, #0x18
- ldsh r0, [r3, r5]
- mov r8, r1
- cmp r0, #0
- beq ._81 @cond_branch
- ldrh r1, [r4, #0x2c]
- mov r0, #0x80
- lsl r0, r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- beq ._82 @cond_branch
- ldrh r0, [r3, #0x14]
- sub r0, r0, #0x10
- b ._83
-._85:
- .align 2, 0
-._84:
- .word gTasks
-._82:
- ldrh r0, [r3, #0x14]
- sub r0, r0, #0x1
-._83:
- strh r0, [r3, #0x14]
- add r0, r2, r7
- lsl r0, r0, #0x3
- mov r2, r8
- add r1, r0, r2
- mov r4, #0x14
- ldsh r0, [r1, r4]
- cmp r0, #0xff
- ble ._86 @cond_branch
- b ._117
-._86:
- mov r0, #0x80
- lsl r0, r0, #0x1
- strh r0, [r1, #0x14]
- b ._117
-._81:
- ldrh r1, [r4, #0x2c]
- mov r0, #0x80
- lsl r0, r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- beq ._89 @cond_branch
- ldrh r0, [r3, #0x16]
- sub r0, r0, #0x10
- b ._90
-._89:
- ldrh r0, [r3, #0x16]
- sub r0, r0, #0x1
-._90:
- strh r0, [r3, #0x16]
- add r0, r2, r7
- lsl r0, r0, #0x3
- mov r5, r8
- add r1, r0, r5
- mov r2, #0x16
- ldsh r0, [r1, r2]
- cmp r0, #0xff
- ble ._91 @cond_branch
- b ._117
-._91:
- mov r0, #0x80
- lsl r0, r0, #0x1
- strh r0, [r1, #0x16]
- b ._117
-._80:
- mov r0, #0x40
- and r0, r0, r1
- cmp r0, #0
- beq ._94 @cond_branch
- ldr r0, ._97 @ gTasks
- lsl r1, r6, #0x2
- add r1, r1, r6
- lsl r1, r1, #0x3
- add r1, r1, r0
- mov r4, #0x18
- ldsh r0, [r1, r4]
- cmp r0, #0
- beq ._95 @cond_branch
- ldrh r0, [r1, #0x10]
- sub r0, r0, #0x1
- strh r0, [r1, #0x10]
- b ._117
-._98:
- .align 2, 0
-._97:
- .word gTasks
-._95:
- ldrh r0, [r1, #0x12]
- sub r0, r0, #0x1
- strh r0, [r1, #0x12]
- b ._117
-._94:
- mov r0, #0x80
- and r0, r0, r1
- cmp r0, #0
- beq ._100 @cond_branch
- ldr r0, ._103 @ gTasks
- lsl r1, r6, #0x2
- add r1, r1, r6
- lsl r1, r1, #0x3
- add r1, r1, r0
- mov r5, #0x18
- ldsh r0, [r1, r5]
- cmp r0, #0
- beq ._101 @cond_branch
- ldrh r0, [r1, #0x10]
- add r0, r0, #0x1
- strh r0, [r1, #0x10]
- b ._117
-._104:
- .align 2, 0
-._103:
- .word gTasks
-._101:
- ldrh r0, [r1, #0x12]
- add r0, r0, #0x1
- strh r0, [r1, #0x12]
- b ._117
-._100:
- mov r0, #0x8
- and r0, r0, r1
- cmp r0, #0
- beq ._106 @cond_branch
- ldr r2, ._109 @ gTasks
- lsl r3, r6, #0x2
- add r0, r3, r6
- lsl r0, r0, #0x3
- add r6, r0, r2
- ldrh r4, [r6, #0x8]
- mov r0, #0x8
- ldsh r1, [r6, r0]
- ldr r0, ._109 + 4 @ 0x181
- mov r8, r2
- add r2, r3, #0
- cmp r1, r0
- bgt ._107 @cond_branch
- add r0, r4, #1
- strh r0, [r6, #0x8]
- b ._108
-._110:
- .align 2, 0
-._109:
- .word gTasks
- .word 0x181
-._107:
- strh r5, [r6, #0x8]
-._108:
- add r4, r2, r7
- lsl r4, r4, #0x3
- add r4, r4, r8
- mov r2, #0xc
- ldsh r1, [r4, r2]
- b ._111
-._106:
- mov r0, #0x4
- and r0, r0, r1
- cmp r0, #0
- beq ._112 @cond_branch
- ldr r1, ._115 @ gTasks
- lsl r2, r6, #0x2
- add r0, r2, r6
- lsl r0, r0, #0x3
- add r3, r0, r1
- ldrh r6, [r3, #0x8]
- mov r4, #0x8
- ldsh r0, [r3, r4]
- mov r8, r1
- cmp r0, #0x1
- ble ._113 @cond_branch
- sub r0, r6, #1
- b ._114
-._116:
- .align 2, 0
-._115:
- .word gTasks
-._113:
- mov r0, #0xc1
- lsl r0, r0, #0x1
-._114:
- strh r0, [r3, #0x8]
- add r4, r2, r7
- lsl r4, r4, #0x3
- add r4, r4, r8
- mov r5, #0xc
- ldsh r1, [r4, r5]
-._111:
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- ldr r5, ._118 @ gSprites
- add r0, r0, r5
- bl DestroySprite
- mov r0, #0xe
- ldsh r1, [r4, r0]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r5
- bl DestroySprite
- ldr r0, ._118 + 4 @ debug_80C3A50
- str r0, [r4]
- b ._117
-._119:
- .align 2, 0
-._118:
- .word gSprites
- .word debug_80C3A50+1
-._112:
- ldr r0, ._120 @ gTasks
- lsl r5, r7, #0x2
- add r5, r5, r7
- lsl r5, r5, #0x3
- add r5, r5, r0
- ldrh r4, [r5, #0x16]
- ldrh r6, [r5, #0x12]
- str r4, [sp]
- mov r0, #0x1
- add r1, r4, #0
- mov r2, #0x0
- mov r3, #0x0
- bl SetOamMatrix
- add r0, r4, #0
- mov r1, #0x1
- mov r2, #0x3
- mov r3, #0x4
- bl debug_80C68CC
- add r0, r6, #0
- mov r1, #0x1
- mov r2, #0x7
- mov r3, #0x4
- bl debug_80C68CC
- ldr r2, ._120 + 4 @ gSprites
- mov r8, r2
- mov r4, #0xc
- ldsh r1, [r5, r4]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r8
- strh r6, [r0, #0x26]
- ldrh r4, [r5, #0x14]
- ldrh r6, [r5, #0x10]
- str r4, [sp]
- mov r0, #0x2
- add r1, r4, #0
- mov r2, #0x0
- mov r3, #0x0
- bl SetOamMatrix
- add r0, r4, #0
- mov r1, #0x19
- mov r2, #0x3
- mov r3, #0x4
- bl debug_80C68CC
- add r0, r6, #0
- mov r1, #0x19
- mov r2, #0x7
- mov r3, #0x4
- bl debug_80C68CC
- mov r0, #0xe
- ldsh r1, [r5, r0]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r8
- strh r6, [r0, #0x26]
- ldr r2, ._120 + 8 @ 0x4000040
- mov r4, #0x18
- ldsh r1, [r5, r4]
- lsl r1, r1, #0x6
- add r0, r1, #0
- add r0, r0, #0x38
- lsl r0, r0, #0x8
- add r1, r1, #0x78
- add r0, r0, r1
- strh r0, [r2]
-._117:
- add sp, sp, #0x4
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._121:
- .align 2, 0
-._120:
- .word gTasks
- .word gSprites
- .word 0x4000040
-
- thumb_func_end debug_80C3D2C
-
- thumb_func_start debug_80C405C
-debug_80C405C:
- push {r4, r5, lr}
- add r4, r0, #0
- lsl r1, r1, #0x10
- lsr r5, r1, #0x10
- mov r2, #0x0
- mov r1, #0x0
-._122:
- add r0, r4, r2
- strb r1, [r0]
- add r0, r2, #1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- cmp r2, #0x9
- bls ._122 @cond_branch
- add r0, r4, r2
- mov r1, #0xff
- strb r1, [r0]
- mov r0, #0xae
- strb r0, [r4]
- cmp r5, #0
- beq ._125 @cond_branch
- mov r2, #0x0
- ldr r3, ._127 @ gSpeciesNames
- mov r0, #0xb
- add r1, r5, #0
- mul r1, r1, r0
- add r0, r1, r3
- ldrb r0, [r0]
- cmp r0, #0xff
- beq ._125 @cond_branch
- add r5, r3, #0
- add r3, r1, #0
-._126:
- add r1, r4, r2
- add r0, r2, r3
- add r0, r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- add r0, r2, #1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- add r0, r2, r3
- add r0, r0, r5
- ldrb r0, [r0]
- cmp r0, #0xff
- beq ._125 @cond_branch
- cmp r2, #0x9
- bls ._126 @cond_branch
-._125:
- pop {r4, r5}
- pop {r0}
- bx r0
-._128:
- .align 2, 0
-._127:
- .word gSpeciesNames
-
- thumb_func_end debug_80C405C
-
- thumb_func_start debug_80C40C4
-debug_80C40C4:
- push {r4, r5, r6, r7, lr}
- add sp, sp, #0xfffffffc
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- mov r5, #0x0
- mov r6, sp
-._135:
- cmp r7, #0
- beq ._129 @cond_branch
- mov r0, #0x64
- add r1, r5, #0
- mul r1, r1, r0
- ldr r0, ._132 @ gEnemyParty
- add r4, r1, r0
- add r0, r4, #0
- mov r1, #0xb
- bl GetMonData
- cmp r0, #0
- beq ._134 @cond_branch
- add r0, r4, #0
- bl CalculateMonStats
- add r0, r4, #0
- mov r1, #0x3a
- bl GetMonData
- strh r0, [r6]
- add r0, r4, #0
- mov r1, #0x39
- mov r2, sp
- bl SetMonData
- b ._134
-._133:
- .align 2, 0
-._132:
- .word gEnemyParty
-._129:
- mov r0, #0x64
- add r1, r5, #0
- mul r1, r1, r0
- ldr r0, ._136 @ gPlayerParty
- add r4, r1, r0
- add r0, r4, #0
- mov r1, #0xb
- bl GetMonData
- cmp r0, #0
- beq ._134 @cond_branch
- add r0, r4, #0
- bl CalculateMonStats
- add r0, r4, #0
- mov r1, #0x3a
- bl GetMonData
- strh r0, [r6]
- add r0, r4, #0
- mov r1, #0x39
- mov r2, sp
- bl SetMonData
-._134:
- add r0, r5, #1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x5
- bls ._135 @cond_branch
- add sp, sp, #0x4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._137:
- .align 2, 0
-._136:
- .word gPlayerParty
-
- thumb_func_end debug_80C40C4
-
- thumb_func_start InitBattleForDebug
-InitBattleForDebug:
- push {lr}
- bl SavePlayerParty
- ldr r1, ._138 @ gUnknown_Debug_2038A0C
- ldr r0, ._138 + 4 @ gSaveBlock2
- ldrb r2, [r0, #0x8]
- mov r0, #0x0
- strb r2, [r1, #0xd]
- strb r0, [r1]
- strb r0, [r1, #0x1]
- strb r0, [r1, #0x2]
- strb r0, [r1, #0x3]
- strb r0, [r1, #0x4]
- strb r0, [r1, #0x5]
- strb r0, [r1, #0x6]
- strb r0, [r1, #0x7]
- strb r0, [r1, #0x8]
- strb r0, [r1, #0xc]
- ldr r1, ._138 + 8 @ byte_3005E30
- str r0, [r1]
- bl ZeroPlayerPartyMons
- bl ZeroEnemyPartyMons
- mov r0, #0x0
- bl debug_80C4214
- ldr r0, ._138 + 12 @ debug_80C47BC
- mov r1, #0x0
- bl CreateTask
- pop {r0}
- bx r0
-._139:
- .align 2, 0
-._138:
- .word gUnknown_Debug_2038A0C
- .word gSaveBlock2
- .word byte_3005E30
- .word debug_80C47BC+1
-
- thumb_func_end InitBattleForDebug
-
- thumb_func_start debug_80C41A8
-debug_80C41A8:
- push {lr}
- ldr r1, ._140 @ gUnknown_Debug_2038A0C
- mov r0, #0x0
- strb r0, [r1, #0x1]
- strb r0, [r1, #0x2]
- bl ZeroPlayerPartyMons
- bl ZeroEnemyPartyMons
- mov r0, #0x0
- bl debug_80C4214
- ldr r0, ._140 + 4 @ debug_80C47BC
- mov r1, #0x0
- bl CreateTask
- pop {r0}
- bx r0
-._141:
- .align 2, 0
-._140:
- .word gUnknown_Debug_2038A0C
- .word debug_80C47BC+1
-
- thumb_func_end debug_80C41A8
-
- thumb_func_start debug_80C41D4
-debug_80C41D4:
- push {lr}
- mov r0, #0x0
- bl debug_80C40C4
- mov r0, #0x0
- bl debug_80C4214
- ldr r0, ._142 @ debug_80C42B8
- mov r1, #0x0
- bl CreateTask
- pop {r0}
- bx r0
-._143:
- .align 2, 0
-._142:
- .word debug_80C42B8+1
-
- thumb_func_end debug_80C41D4
-
- thumb_func_start debug_80C41F4
-debug_80C41F4:
- push {lr}
- mov r0, #0x1
- bl debug_80C40C4
- mov r0, #0x1
- bl debug_80C4214
- ldr r0, ._144 @ debug_80C42B8
- mov r1, #0x0
- bl CreateTask
- pop {r0}
- bx r0
-._145:
- .align 2, 0
-._144:
- .word debug_80C42B8+1
-
- thumb_func_end debug_80C41F4
-
- thumb_func_start debug_80C4214
-debug_80C4214:
- push {r4, r5, r6, lr}
- bl debug_80C35DC
- ldr r6, ._146 @ 0x4000040
- mov r4, #0x0
- strh r4, [r6]
- ldr r5, ._146 + 4 @ 0x4000044
- strh r4, [r5]
- ldr r0, ._146 + 8 @ 0x4000042
- strh r4, [r0]
- add r0, r0, #0x4
- strh r4, [r0]
- ldr r1, ._146 + 12 @ 0x4000048
- ldr r2, ._146 + 16 @ 0x1111
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x2
- mov r0, #0x31
- strh r0, [r1]
- add r1, r1, #0x6
- mov r0, #0xe1
- strh r0, [r1]
- ldr r0, ._146 + 20 @ 0x4000052
- strh r4, [r0]
- add r1, r1, #0x4
- mov r0, #0x7
- strh r0, [r1]
- ldr r3, ._146 + 24 @ 0x4000208
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, ._146 + 28 @ 0x4000200
- ldrh r0, [r4]
- mov r1, #0x1
- orr r0, r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r0, ._146 + 32 @ debug_80C3758
- bl SetVBlankCallback
- ldr r0, ._146 + 36 @ debug_80C370C
- bl SetMainCallback2
- mov r1, #0x80
- lsl r1, r1, #0x13
- ldr r2, ._146 + 40 @ 0x7140
- add r0, r2, #0
- strh r0, [r1]
- ldr r1, ._146 + 44 @ 0x1ef
- add r0, r1, #0
- strh r0, [r6]
- ldr r2, ._146 + 48 @ 0x819f
- add r0, r2, #0
- strh r0, [r5]
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._147:
- .align 2, 0
-._146:
- .word 0x4000040
- .word 0x4000044
- .word 0x4000042
- .word 0x4000048
- .word 0x1111
- .word 0x4000052
- .word 0x4000208
- .word 0x4000200
- .word debug_80C3758+1
- .word debug_80C370C+1
- .word 0x7140
- .word 0x1ef
- .word 0x819f
-
- thumb_func_end debug_80C4214
-
- thumb_func_start debug_80C42B8
-debug_80C42B8:
- push {r4, r5, lr}
- add sp, sp, #0xffffffe4
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- ldr r1, ._150 @ gUnknown_Debug_083F8194
- mov r0, sp
- mov r2, #0xc
- bl memcpy
- add r4, sp, #0xc
- ldr r1, ._150 + 4 @ gUnknown_Debug_083F81A0
- add r0, r4, #0
- mov r2, #0xd
- bl memcpy
- mov r0, #0x0
- mov r1, #0x10
- mov r2, #0x1d
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- mov r0, sp
- mov r1, #0x1
- mov r2, #0x11
- bl Menu_PrintText
- add r0, r4, #0
- mov r1, #0x14
- mov r2, #0x11
- bl Menu_PrintText
- bl debug_80C4694
- bl debug_80C4704
- ldr r0, ._150 + 8 @ gUnknown_Debug_2038A0C
- ldrb r0, [r0]
- cmp r0, #0
- beq ._148 @cond_branch
- ldr r0, ._150 + 12 @ gTasks
- lsl r1, r5, #0x2
- add r1, r1, r5
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._150 + 16 @ debug_80C44EC
- b ._149
-._151:
- .align 2, 0
-._150:
- .word gUnknown_Debug_083F8194
- .word gUnknown_Debug_083F81A0
- .word gUnknown_Debug_2038A0C
- .word gTasks
- .word debug_80C44EC+1
-._148:
- ldr r0, ._152 @ gTasks
- lsl r1, r5, #0x2
- add r1, r1, r5
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._152 + 4 @ debug_80C4348
-._149:
- str r0, [r1]
- add sp, sp, #0x1c
- pop {r4, r5}
- pop {r0}
- bx r0
-._153:
- .align 2, 0
-._152:
- .word gTasks
- .word debug_80C4348+1
-
- thumb_func_end debug_80C42B8
-
- thumb_func_start debug_80C4348
-debug_80C4348:
- push {r4, lr}
- add sp, sp, #0xfffffffc
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- ldr r0, ._154 @ gUnknown_Debug_2038A0C
- ldrb r0, [r0, #0x1]
- lsl r0, r0, #0x19
- mov r1, #0xc0
- lsl r1, r1, #0x12
- add r0, r0, r1
- lsr r0, r0, #0x18
- mov r1, #0x1
- str r1, [sp]
- mov r2, #0x1
- mov r3, #0xe
- bl debug_80C38E4
- ldr r1, ._154 + 4 @ 0x4000042
- ldr r2, ._154 + 8 @ 0x177
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x4
- add r2, r2, #0x8
- add r0, r2, #0
- strh r0, [r1]
- ldr r1, ._154 + 12 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._154 + 16 @ debug_80C43A8
- str r1, [r0]
- add sp, sp, #0x4
- pop {r4}
- pop {r0}
- bx r0
-._155:
- .align 2, 0
-._154:
- .word gUnknown_Debug_2038A0C
- .word 0x4000042
- .word 0x177
- .word gTasks
- .word debug_80C43A8+1
-
- thumb_func_end debug_80C4348
-
- thumb_func_start debug_80C43A8
-debug_80C43A8:
- push {r4, r5, lr}
- add sp, sp, #0xfffffffc
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- ldr r1, ._158 @ gMain
- ldrh r2, [r1, #0x2e]
- mov r0, #0x1
- and r0, r0, r2
- add r3, r1, #0
- cmp r0, #0
- beq ._156 @cond_branch
- mov r0, #0x5
- bl PlaySE
- ldr r0, ._158 + 4 @ gUnknown_Debug_2038A0C
- ldrb r1, [r0, #0x1]
- mov r0, #0x64
- mul r0, r0, r1
- ldr r1, ._158 + 8 @ gPlayerParty
- add r0, r0, r1
- ldr r1, ._158 + 12 @ debug_80C41D4
- bl debug_sub_80A433C
- add r0, r4, #0
- bl DestroyTask
- b ._180
-._159:
- .align 2, 0
-._158:
- .word gMain
- .word gUnknown_Debug_2038A0C
- .word gPlayerParty
- .word debug_80C41D4+1
-._156:
- mov r0, #0x2
- and r0, r0, r2
- cmp r0, #0
- beq ._160 @cond_branch
- ldr r0, ._162 @ gTasks
- lsl r1, r4, #0x2
- add r1, r1, r4
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._162 + 4 @ debug_80C4F48
- str r0, [r1]
- b ._180
-._163:
- .align 2, 0
-._162:
- .word gTasks
- .word debug_80C4F48+1
-._160:
- mov r0, #0x8
- and r0, r0, r2
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- cmp r1, #0
- beq ._164 @cond_branch
- bl debug_80C4774
- lsl r0, r0, #0x18
- cmp r0, #0
- beq ._180 @cond_branch
- mov r0, #0x5
- bl PlaySE
- bl CalculatePlayerPartyCount
- bl CalculateEnemyPartyCount
- ldr r0, ._167 @ gTasks
- lsl r1, r4, #0x2
- add r1, r1, r4
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._167 + 4 @ debug_80C4D14
- str r0, [r1]
- b ._180
-._168:
- .align 2, 0
-._167:
- .word gTasks
- .word debug_80C4D14+1
-._164:
- mov r0, #0x88
- lsl r0, r0, #0x1
- and r0, r0, r2
- cmp r0, #0
- beq ._169 @cond_branch
- str r1, [sp]
- mov r0, #0x0
- mov r1, #0x1
- mov r2, #0x1
- mov r3, #0xe
- bl debug_80C38E4
- ldr r0, ._171 @ gTasks
- lsl r1, r4, #0x2
- add r1, r1, r4
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._171 + 4 @ debug_80C44EC
- str r0, [r1]
- b ._180
-._172:
- .align 2, 0
-._171:
- .word gTasks
- .word debug_80C44EC+1
-._169:
- ldrh r1, [r3, #0x30]
- mov r0, #0x40
- and r0, r0, r1
- cmp r0, #0
- beq ._174 @cond_branch
- ldr r1, ._176 @ gUnknown_Debug_2038A0C
- ldrb r0, [r1, #0x1]
- cmp r0, #0
- beq ._174 @cond_branch
- sub r0, r0, #0x1
- strb r0, [r1, #0x1]
- b ._175
-._177:
- .align 2, 0
-._176:
- .word gUnknown_Debug_2038A0C
-._174:
- ldrh r1, [r3, #0x30]
- mov r0, #0x80
- and r0, r0, r1
- cmp r0, #0
- beq ._180 @cond_branch
- ldr r5, ._181 @ gUnknown_Debug_2038A0C
- ldrb r0, [r5, #0x1]
- cmp r0, #0x4
- bhi ._180 @cond_branch
- add r1, r0, #0
- mov r0, #0x64
- mul r0, r0, r1
- ldr r1, ._181 + 4 @ gPlayerParty
- add r0, r0, r1
- mov r1, #0xb
- bl GetMonData
- cmp r0, #0
- beq ._180 @cond_branch
- ldrb r0, [r5, #0x1]
- add r0, r0, #0x1
- strb r0, [r5, #0x1]
-._175:
- ldr r1, ._181 + 8 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._181 + 12 @ debug_80C4348
- str r1, [r0]
-._180:
- add sp, sp, #0x4
- pop {r4, r5}
- pop {r0}
- bx r0
-._182:
- .align 2, 0
-._181:
- .word gUnknown_Debug_2038A0C
- .word gPlayerParty
- .word gTasks
- .word debug_80C4348+1
-
- thumb_func_end debug_80C43A8
-
- thumb_func_start debug_80C44EC
-debug_80C44EC:
- push {r4, lr}
- add sp, sp, #0xfffffffc
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- ldr r0, ._183 @ gUnknown_Debug_2038A0C
- ldrb r0, [r0, #0x2]
- lsl r0, r0, #0x19
- mov r1, #0xc0
- lsl r1, r1, #0x12
- add r0, r0, r1
- lsr r0, r0, #0x18
- mov r1, #0x1
- str r1, [sp]
- mov r1, #0x10
- mov r2, #0x1
- mov r3, #0xe
- bl debug_80C38E4
- ldr r1, ._183 + 4 @ 0x4000042
- ldr r2, ._183 + 8 @ 0x79ef
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x4
- ldr r2, ._183 + 12 @ 0x17f
- add r0, r2, #0
- strh r0, [r1]
- ldr r1, ._183 + 16 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._183 + 20 @ debug_80C4550
- str r1, [r0]
- add sp, sp, #0x4
- pop {r4}
- pop {r0}
- bx r0
-._184:
- .align 2, 0
-._183:
- .word gUnknown_Debug_2038A0C
- .word 0x4000042
- .word 0x79ef
- .word 0x17f
- .word gTasks
- .word debug_80C4550+1
-
- thumb_func_end debug_80C44EC
-
- thumb_func_start debug_80C4550
-debug_80C4550:
- push {r4, r5, lr}
- add sp, sp, #0xfffffffc
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- ldr r1, ._187 @ gMain
- ldrh r2, [r1, #0x2e]
- mov r0, #0x1
- and r0, r0, r2
- add r3, r1, #0
- cmp r0, #0
- beq ._185 @cond_branch
- mov r0, #0x5
- bl PlaySE
- ldr r0, ._187 + 4 @ gUnknown_Debug_2038A0C
- ldrb r1, [r0, #0x2]
- mov r0, #0x64
- mul r0, r0, r1
- ldr r1, ._187 + 8 @ gEnemyParty
- add r0, r0, r1
- ldr r1, ._187 + 12 @ debug_80C41F4
- bl debug_sub_80A433C
- add r0, r4, #0
- bl DestroyTask
- b ._209
-._188:
- .align 2, 0
-._187:
- .word gMain
- .word gUnknown_Debug_2038A0C
- .word gEnemyParty
- .word debug_80C41F4+1
-._185:
- mov r0, #0x2
- and r0, r0, r2
- cmp r0, #0
- beq ._189 @cond_branch
- ldr r0, ._191 @ gTasks
- lsl r1, r4, #0x2
- add r1, r1, r4
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._191 + 4 @ debug_80C4F48
- str r0, [r1]
- b ._209
-._192:
- .align 2, 0
-._191:
- .word gTasks
- .word debug_80C4F48+1
-._189:
- mov r0, #0x8
- and r0, r0, r2
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- cmp r1, #0
- beq ._193 @cond_branch
- bl debug_80C4774
- lsl r0, r0, #0x18
- cmp r0, #0
- beq ._209 @cond_branch
- mov r0, #0x5
- bl PlaySE
- bl CalculatePlayerPartyCount
- bl CalculateEnemyPartyCount
- ldr r0, ._196 @ gTasks
- lsl r1, r4, #0x2
- add r1, r1, r4
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._196 + 4 @ debug_80C4D14
- str r0, [r1]
- b ._209
-._197:
- .align 2, 0
-._196:
- .word gTasks
- .word debug_80C4D14+1
-._193:
- mov r0, #0x88
- lsl r0, r0, #0x2
- and r0, r0, r2
- cmp r0, #0
- beq ._198 @cond_branch
- str r1, [sp]
- mov r0, #0x0
- mov r1, #0x10
- mov r2, #0x1
- mov r3, #0xe
- bl debug_80C38E4
- ldr r0, ._200 @ gTasks
- lsl r1, r4, #0x2
- add r1, r1, r4
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._200 + 4 @ debug_80C4348
- str r0, [r1]
- b ._209
-._201:
- .align 2, 0
-._200:
- .word gTasks
- .word debug_80C4348+1
-._198:
- ldrh r1, [r3, #0x30]
- mov r0, #0x40
- and r0, r0, r1
- cmp r0, #0
- beq ._203 @cond_branch
- ldr r1, ._205 @ gUnknown_Debug_2038A0C
- ldrb r0, [r1, #0x2]
- cmp r0, #0
- beq ._203 @cond_branch
- sub r0, r0, #0x1
- strb r0, [r1, #0x2]
- b ._204
-._206:
- .align 2, 0
-._205:
- .word gUnknown_Debug_2038A0C
-._203:
- ldrh r1, [r3, #0x30]
- mov r0, #0x80
- and r0, r0, r1
- cmp r0, #0
- beq ._209 @cond_branch
- ldr r5, ._210 @ gUnknown_Debug_2038A0C
- ldrb r0, [r5, #0x2]
- cmp r0, #0x4
- bhi ._209 @cond_branch
- add r1, r0, #0
- mov r0, #0x64
- mul r0, r0, r1
- ldr r1, ._210 + 4 @ gEnemyParty
- add r0, r0, r1
- mov r1, #0xb
- bl GetMonData
- cmp r0, #0
- beq ._209 @cond_branch
- ldrb r0, [r5, #0x2]
- add r0, r0, #0x1
- strb r0, [r5, #0x2]
-._204:
- ldr r1, ._210 + 8 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._210 + 12 @ debug_80C44EC
- str r1, [r0]
-._209:
- add sp, sp, #0x4
- pop {r4, r5}
- pop {r0}
- bx r0
-._211:
- .align 2, 0
-._210:
- .word gUnknown_Debug_2038A0C
- .word gEnemyParty
- .word gTasks
- .word debug_80C44EC+1
-
- thumb_func_end debug_80C4550
-
- thumb_func_start debug_80C4694
-debug_80C4694:
- push {r4, r5, lr}
- add sp, sp, #0xffffffe4
- ldr r1, ._213 @ gUnknown_Debug_083F81AD
- mov r0, sp
- mov r2, #0xd
- bl memcpy
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0xe
- mov r3, #0xf
- bl Menu_DrawStdWindowFrame
- mov r0, sp
- mov r1, #0x2
- mov r2, #0x1
- bl Menu_PrintText
- mov r4, #0x0
- add r5, sp, #0x10
-._212:
- mov r0, #0x64
- mul r0, r0, r4
- ldr r1, ._213 + 4 @ gPlayerParty
- add r0, r0, r1
- mov r1, #0xb
- bl GetMonData
- add r1, r0, #0
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- add r0, r5, #0
- bl debug_80C405C
- lsl r2, r4, #0x19
- mov r0, #0xc0
- lsl r0, r0, #0x12
- add r2, r2, r0
- lsr r2, r2, #0x18
- add r0, r5, #0
- mov r1, #0x2
- bl Menu_PrintText
- add r0, r4, #1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x5
- bls ._212 @cond_branch
- add sp, sp, #0x1c
- pop {r4, r5}
- pop {r0}
- bx r0
-._214:
- .align 2, 0
-._213:
- .word gUnknown_Debug_083F81AD
- .word gPlayerParty
-
- thumb_func_end debug_80C4694
-
- thumb_func_start debug_80C4704
-debug_80C4704:
- push {r4, r5, lr}
- add sp, sp, #0xffffffe4
- ldr r1, ._216 @ gUnknown_Debug_083F81BA
- mov r0, sp
- mov r2, #0xd
- bl memcpy
- mov r0, #0xf
- mov r1, #0x0
- mov r2, #0x1d
- mov r3, #0xf
- bl Menu_DrawStdWindowFrame
- mov r0, sp
- mov r1, #0x11
- mov r2, #0x1
- bl Menu_PrintText
- mov r4, #0x0
- add r5, sp, #0x10
-._215:
- mov r0, #0x64
- mul r0, r0, r4
- ldr r1, ._216 + 4 @ gEnemyParty
- add r0, r0, r1
- mov r1, #0xb
- bl GetMonData
- add r1, r0, #0
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- add r0, r5, #0
- bl debug_80C405C
- lsl r2, r4, #0x19
- mov r0, #0xc0
- lsl r0, r0, #0x12
- add r2, r2, r0
- lsr r2, r2, #0x18
- add r0, r5, #0
- mov r1, #0x11
- bl Menu_PrintText
- add r0, r4, #1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x5
- bls ._215 @cond_branch
- add sp, sp, #0x1c
- pop {r4, r5}
- pop {r0}
- bx r0
-._217:
- .align 2, 0
-._216:
- .word gUnknown_Debug_083F81BA
- .word gEnemyParty
-
- thumb_func_end debug_80C4704
-
- thumb_func_start debug_80C4774
-debug_80C4774:
- push {r4, lr}
- ldr r0, ._221 @ gUnknown_Debug_2038A0C
- ldrb r0, [r0, #0xc]
- sub r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r1, #0x64
- add r4, r0, #0
- mul r4, r4, r1
- ldr r0, ._221 + 4 @ gPlayerParty
- add r0, r4, r0
- mov r1, #0xb
- bl GetMonData
- cmp r0, #0
- beq ._219 @cond_branch
- ldr r0, ._221 + 8 @ gEnemyParty
- add r0, r4, r0
- mov r1, #0xb
- bl GetMonData
- cmp r0, #0
- beq ._219 @cond_branch
- mov r0, #0x1
- b ._220
-._222:
- .align 2, 0
-._221:
- .word gUnknown_Debug_2038A0C
- .word gPlayerParty
- .word gEnemyParty
-._219:
- mov r0, #0x0
-._220:
- pop {r4}
- pop {r1}
- bx r1
-
- thumb_func_end debug_80C4774
-
- thumb_func_start debug_80C47BC
-debug_80C47BC:
- push {r4, r5, r6, r7, lr}
- add sp, sp, #0xffffffc0
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- ldr r1, ._224 @ gUnknown_Debug_083F81C7
- mov r0, sp
- mov r2, #0xf
- bl memcpy
- add r4, sp, #0x10
- ldr r1, ._224 + 4 @ gUnknown_Debug_083F81A0
- add r0, r4, #0
- mov r2, #0xd
- bl memcpy
- add r6, sp, #0x20
- ldr r1, ._224 + 8 @ gUnknown_Debug_083F81D6
- add r0, r6, #0
- mov r2, #0xf
- bl memcpy
- add r5, sp, #0x30
- ldr r1, ._224 + 12 @ gUnknown_Debug_083F81E5
- add r0, r5, #0
- mov r2, #0x10
- bl memcpy
- mov r0, #0x0
- mov r1, #0x10
- mov r2, #0x1d
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- mov r0, sp
- mov r1, #0x1
- mov r2, #0x11
- bl Menu_PrintText
- add r0, r4, #0
- mov r1, #0x14
- mov r2, #0x11
- bl Menu_PrintText
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0xe
- mov r3, #0xf
- bl Menu_DrawStdWindowFrame
- add r0, r6, #0
- mov r1, #0x2
- mov r2, #0x1
- bl Menu_PrintText
- mov r4, #0x0
- ldr r6, ._224 + 16 @ gUnknown_Debug_083F8068
-._223:
- lsl r0, r4, #0x3
- add r0, r0, r6
- ldr r0, [r0]
- lsl r2, r4, #0x19
- mov r1, #0xc0
- lsl r1, r1, #0x12
- add r2, r2, r1
- lsr r2, r2, #0x18
- mov r1, #0x2
- bl Menu_PrintText
- add r0, r4, #1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x4
- bls ._223 @cond_branch
- mov r0, #0xf
- mov r1, #0x0
- mov r2, #0x1d
- mov r3, #0xf
- bl Menu_DrawStdWindowFrame
- add r0, r5, #0
- mov r1, #0x11
- mov r2, #0x1
- bl Menu_PrintText
- ldr r0, ._224 + 20 @ gUnknown_Debug_2038A0C
- ldrb r0, [r0, #0x4]
- bl debug_80C4C44
- ldr r1, ._224 + 24 @ gTasks
- lsl r0, r7, #0x2
- add r0, r0, r7
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._224 + 28 @ debug_80C48A0
- str r1, [r0]
- add sp, sp, #0x40
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._225:
- .align 2, 0
-._224:
- .word gUnknown_Debug_083F81C7
- .word gUnknown_Debug_083F81A0
- .word gUnknown_Debug_083F81D6
- .word gUnknown_Debug_083F81E5
- .word gUnknown_Debug_083F8068
- .word gUnknown_Debug_2038A0C
- .word gTasks
- .word debug_80C48A0+1
-
- thumb_func_end debug_80C47BC
-
- thumb_func_start debug_80C48A0
-debug_80C48A0:
- push {r4, lr}
- add sp, sp, #0xfffffffc
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- ldr r0, ._226 @ gUnknown_Debug_2038A0C
- ldrb r0, [r0, #0x3]
- lsl r0, r0, #0x19
- mov r1, #0xc0
- lsl r1, r1, #0x12
- add r0, r0, r1
- lsr r0, r0, #0x18
- mov r1, #0x1
- str r1, [sp]
- mov r2, #0x1
- mov r3, #0xe
- bl debug_80C38E4
- ldr r1, ._226 + 4 @ 0x4000042
- ldr r2, ._226 + 8 @ 0x177
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x4
- add r2, r2, #0x8
- add r0, r2, #0
- strh r0, [r1]
- ldr r1, ._226 + 12 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._226 + 16 @ debug_80C4900
- str r1, [r0]
- add sp, sp, #0x4
- pop {r4}
- pop {r0}
- bx r0
-._227:
- .align 2, 0
-._226:
- .word gUnknown_Debug_2038A0C
- .word 0x4000042
- .word 0x177
- .word gTasks
- .word debug_80C4900+1
-
- thumb_func_end debug_80C48A0
-
- thumb_func_start debug_80C4900
-debug_80C4900:
- push {r4, r5, lr}
- add sp, sp, #0xfffffffc
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- ldr r1, ._230 @ gMain
- ldrh r2, [r1, #0x2e]
- mov r0, #0x2
- and r0, r0, r2
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- add r3, r1, #0
- cmp r4, #0
- beq ._228 @cond_branch
- mov r0, #0x5
- bl PlaySE
- mov r0, #0x1
- neg r0, r0
- mov r4, #0x0
- str r4, [sp]
- mov r1, #0x0
- mov r2, #0x0
- mov r3, #0x10
- bl BeginNormalPaletteFade
- ldr r0, ._230 + 4 @ debug_80C370C
- bl SetMainCallback2
- bl LoadPlayerParty
- ldr r1, ._230 + 8 @ gSaveBlock2
- ldr r0, ._230 + 12 @ gUnknown_Debug_2038A0C
- ldrb r0, [r0, #0xd]
- strb r0, [r1, #0x8]
- ldr r0, ._230 + 16 @ gBattleTypeFlags
- mov r1, #0x0
- strh r4, [r0]
- ldr r0, ._230 + 20 @ gUnknown_02023A14_50
- strb r1, [r0]
- ldr r1, ._230 + 24 @ gTasks
- lsl r0, r5, #0x2
- add r0, r0, r5
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._230 + 28 @ debug_80C373C
- b ._229
-._231:
- .align 2, 0
-._230:
- .word gMain
- .word debug_80C370C+1
- .word gSaveBlock2
- .word gUnknown_Debug_2038A0C
- .word gBattleTypeFlags
- .word gUnknown_02023A14_50
- .word gTasks
- .word debug_80C373C+1
-._228:
- mov r0, #0x8
- and r0, r0, r2
- cmp r0, #0
- bne ._232 @cond_branch
- mov r0, #0x1
- and r0, r0, r2
- cmp r0, #0
- beq ._233 @cond_branch
-._232:
- mov r0, #0x5
- bl PlaySE
- ldr r1, ._236 @ gBattleTypeFlags
- ldr r3, ._236 + 4 @ gUnknown_Debug_083F8068
- ldr r2, ._236 + 8 @ gUnknown_Debug_2038A0C
- ldrb r0, [r2, #0x3]
- lsl r0, r0, #0x3
- add r0, r0, r3
- ldrb r0, [r0, #0x4]
- strh r0, [r1]
- ldr r1, ._236 + 12 @ gUnknown_02023A14_50
- mov r0, #0x8
- strb r0, [r1]
- ldrb r0, [r2, #0x3]
- lsl r0, r0, #0x3
- add r0, r0, r3
- ldrb r0, [r0, #0x5]
- strb r0, [r2, #0xc]
- ldrb r0, [r2, #0x3]
- sub r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x1
- bhi ._234 @cond_branch
- str r4, [sp]
- mov r0, #0x0
- mov r1, #0x1
- mov r2, #0x1
- mov r3, #0xe
- bl debug_80C38E4
- ldr r0, ._236 + 16 @ gTasks
- lsl r1, r5, #0x2
- add r1, r1, r5
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._236 + 20 @ debug_80C4A60
- str r0, [r1]
- b ._247
-._237:
- .align 2, 0
-._236:
- .word gBattleTypeFlags
- .word gUnknown_Debug_083F8068
- .word gUnknown_Debug_2038A0C
- .word gUnknown_02023A14_50
- .word gTasks
- .word debug_80C4A60+1
-._234:
- ldr r0, ._239 @ gTasks
- lsl r1, r5, #0x2
- add r1, r1, r5
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._239 + 4 @ debug_80C4F48
- str r0, [r1]
- b ._247
-._240:
- .align 2, 0
-._239:
- .word gTasks
- .word debug_80C4F48+1
-._233:
- ldrh r1, [r3, #0x30]
- mov r0, #0x40
- and r0, r0, r1
- cmp r0, #0
- beq ._242 @cond_branch
- ldr r1, ._244 @ gUnknown_Debug_2038A0C
- ldrb r0, [r1, #0x3]
- cmp r0, #0
- beq ._242 @cond_branch
- sub r0, r0, #0x1
- b ._243
-._245:
- .align 2, 0
-._244:
- .word gUnknown_Debug_2038A0C
-._242:
- ldrh r1, [r3, #0x30]
- mov r0, #0x80
- and r0, r0, r1
- cmp r0, #0
- beq ._247 @cond_branch
- ldr r1, ._248 @ gUnknown_Debug_2038A0C
- ldrb r0, [r1, #0x3]
- cmp r0, #0x1
- bhi ._247 @cond_branch
- add r0, r0, #0x1
-._243:
- strb r0, [r1, #0x3]
- ldr r1, ._248 + 4 @ gTasks
- lsl r0, r5, #0x2
- add r0, r0, r5
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._248 + 8 @ debug_80C48A0
-._229:
- str r1, [r0]
-._247:
- add sp, sp, #0x4
- pop {r4, r5}
- pop {r0}
- bx r0
-._249:
- .align 2, 0
-._248:
- .word gUnknown_Debug_2038A0C
- .word gTasks
- .word debug_80C48A0+1
-
- thumb_func_end debug_80C4900
-
- thumb_func_start debug_80C4A60
-debug_80C4A60:
- push {r4, lr}
- add sp, sp, #0xfffffffc
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- ldr r0, ._250 @ gUnknown_Debug_2038A0C
- ldrb r0, [r0, #0x5]
- lsl r0, r0, #0x19
- mov r1, #0xc0
- lsl r1, r1, #0x12
- add r0, r0, r1
- lsr r0, r0, #0x18
- mov r1, #0x1
- str r1, [sp]
- mov r1, #0x10
- mov r2, #0x1
- mov r3, #0xe
- bl debug_80C38E4
- ldr r1, ._250 + 4 @ 0x4000042
- ldr r2, ._250 + 8 @ 0x79ef
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x4
- ldr r2, ._250 + 12 @ 0x17f
- add r0, r2, #0
- strh r0, [r1]
- ldr r1, ._250 + 16 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._250 + 20 @ debug_80C4AC4
- str r1, [r0]
- add sp, sp, #0x4
- pop {r4}
- pop {r0}
- bx r0
-._251:
- .align 2, 0
-._250:
- .word gUnknown_Debug_2038A0C
- .word 0x4000042
- .word 0x79ef
- .word 0x17f
- .word gTasks
- .word debug_80C4AC4+1
-
- thumb_func_end debug_80C4A60
-
- thumb_func_start debug_80C4AC4
-debug_80C4AC4:
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- add sp, sp, #0xfffffffc
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- ldr r7, ._255 @ gUnknown_Debug_2038A0C
- ldrb r0, [r7, #0x4]
- mov ip, r0
- ldrb r5, [r7, #0x5]
- mov r1, ip
- add r0, r1, r5
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- ldr r2, ._255 + 4 @ gMain
- mov r8, r2
- ldrh r2, [r2, #0x2e]
- mov r3, #0x1
- and r3, r3, r2
- add r4, r7, #0
- cmp r3, #0
- beq ._252 @cond_branch
- ldr r0, ._255 + 8 @ gUnknown_Debug_083F80D8
- lsl r1, r1, #0x3
- add r0, r0, #0x4
- add r1, r1, r0
- ldr r1, [r1]
- ldr r3, ._255 + 12 @ byte_3005E30
- ldr r2, [r3]
- add r0, r2, #0
- and r0, r0, r1
- cmp r0, #0
- beq ._253 @cond_branch
- ldr r0, ._255 + 16 @ 0xffff
- eor r1, r1, r0
- and r2, r2, r1
- b ._254
-._256:
- .align 2, 0
-._255:
- .word gUnknown_Debug_2038A0C
- .word gMain
- .word gUnknown_Debug_083F80D8
- .word byte_3005E30
- .word 0xffff
-._253:
- orr r2, r2, r1
-._254:
- str r2, [r3]
- ldrb r0, [r4, #0x4]
- bl debug_80C4C44
- ldr r1, ._258 @ gTasks
- lsl r0, r6, #0x2
- add r0, r0, r6
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._258 + 4 @ debug_80C4A60
- str r1, [r0]
- b ._274
-._259:
- .align 2, 0
-._258:
- .word gTasks
- .word debug_80C4A60+1
-._252:
- mov r0, #0x2
- and r0, r0, r2
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0
- beq ._260 @cond_branch
- str r3, [sp]
- mov r0, #0x0
- mov r1, #0x10
- mov r2, #0x1
- mov r3, #0xe
- bl debug_80C38E4
- ldr r0, ._262 @ gTasks
- lsl r1, r6, #0x2
- add r1, r1, r6
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._262 + 4 @ debug_80C48A0
- b ._261
-._263:
- .align 2, 0
-._262:
- .word gTasks
- .word debug_80C48A0+1
-._260:
- mov r0, #0x8
- and r0, r0, r2
- cmp r0, #0
- beq ._264 @cond_branch
- mov r0, #0x5
- bl PlaySE
- ldr r1, ._266 @ gTrainerBattleOpponent
- mov r2, #0x80
- lsl r2, r2, #0x3
- add r0, r2, #0
- strh r0, [r1]
- ldr r1, ._266 + 4 @ 0x2017000
- ldrb r2, [r1, #0x1]
- mov r0, #0x11
- neg r0, r0
- and r0, r0, r2
- strb r0, [r1, #0x1]
- mov r0, #0xac
- strb r0, [r1, #0x2]
- mov r0, #0xff
- strb r0, [r1, #0x3]
- strb r4, [r1, #0x9]
- strb r4, [r1, #0xa]
- strb r4, [r1, #0xb]
- strb r4, [r1, #0xc]
- ldr r1, ._266 + 8 @ gTasks
- lsl r0, r6, #0x2
- add r0, r0, r6
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._266 + 12 @ debug_80C4F48
- str r1, [r0]
- b ._274
-._267:
- .align 2, 0
-._266:
- .word gTrainerBattleOpponent
- .word 0x2017000
- .word gTasks
- .word debug_80C4F48+1
-._264:
- mov r0, r8
- ldrh r1, [r0, #0x30]
- mov r0, #0x40
- and r0, r0, r1
- cmp r0, #0
- beq ._268 @cond_branch
- lsl r0, r5, #0x18
- cmp r0, #0
- beq ._269 @cond_branch
- sub r0, r5, #1
- strb r0, [r7, #0x5]
- b ._277
-._269:
- mov r1, ip
- lsl r0, r1, #0x18
- cmp r0, #0
- beq ._277 @cond_branch
- mov r0, ip
- sub r0, r0, #0x1
- b ._272
-._268:
- mov r0, #0x80
- and r0, r0, r1
- cmp r0, #0
- beq ._274 @cond_branch
- lsl r0, r5, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x8
- bhi ._274 @cond_branch
- cmp r0, #0x4
- bhi ._275 @cond_branch
- add r0, r5, #1
- strb r0, [r7, #0x5]
- b ._277
-._275:
- mov r2, ip
- lsl r0, r2, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x3
- bhi ._277 @cond_branch
- mov r0, ip
- add r0, r0, #0x1
-._272:
- strb r0, [r7, #0x4]
- ldrb r0, [r7, #0x4]
- bl debug_80C4C44
-._277:
- ldr r0, ._278 @ gTasks
- lsl r1, r6, #0x2
- add r1, r1, r6
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._278 + 4 @ debug_80C4A60
-._261:
- str r0, [r1]
-._274:
- add sp, sp, #0x4
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._279:
- .align 2, 0
-._278:
- .word gTasks
- .word debug_80C4A60+1
-
- thumb_func_end debug_80C4AC4
-
- thumb_func_start debug_80C4C44
-debug_80C4C44:
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, r9
- mov r5, r8
- push {r5, r6, r7}
- add sp, sp, #0xfffffff0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov sl, r0
- mov r2, #0x0
- mov r5, sp
-._290:
- mov r0, sl
- add r6, r2, r0
- add r4, r6, #0
- add r1, r2, #1
- mov r8, r1
- cmp r4, #0x9
- bgt ._280 @cond_branch
- mov r3, #0x0
- ldr r1, ._288 @ gUnknown_Debug_083F80D8
- lsl r0, r4, #0x3
- add r0, r0, r1
- ldr r0, [r0]
- ldrb r0, [r0]
- ldr r7, ._288 + 4 @ byte_3005E30
- mov r9, r7
- lsl r2, r2, #0x1
- mov ip, r2
- cmp r0, #0xff
- beq ._282 @cond_branch
- add r7, r1, #0
-._283:
- add r0, r3, #3
- mov r1, sp
- add r2, r1, r0
- lsl r1, r6, #0x3
- add r1, r1, r7
- ldr r0, [r1]
- add r0, r0, r3
- ldrb r0, [r0]
- strb r0, [r2]
- add r0, r3, #1
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- ldr r0, [r1]
- add r0, r0, r3
- ldrb r0, [r0]
- cmp r0, #0xff
- beq ._282 @cond_branch
- cmp r3, #0xb
- bls ._283 @cond_branch
-._282:
- cmp r3, #0xb
- bhi ._284 @cond_branch
- mov r1, #0x0
-._285:
- add r0, r3, #3
- add r0, r0, sp
- strb r1, [r0]
- add r0, r3, #1
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- cmp r3, #0xb
- bls ._285 @cond_branch
-._284:
- mov r0, #0xff
- strb r0, [r5, #0xe]
- mov r0, #0xfc
- strb r0, [r5]
- mov r2, #0x1
- strb r2, [r5, #0x1]
- add r1, r2, #0
- LSL r1, r4
- mov r3, r9
- ldr r0, [r3]
- and r0, r0, r1
- cmp r0, #0
- beq ._286 @cond_branch
- mov r0, #0x3
- strb r0, [r5, #0x2]
- b ._287
-._289:
- .align 2, 0
-._288:
- .word gUnknown_Debug_083F80D8
- .word byte_3005E30
-._286:
- strb r2, [r5, #0x2]
-._287:
- mov r2, ip
- add r2, r2, #0x3
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- mov r0, sp
- mov r1, #0x11
- bl Menu_PrintText
-._280:
- mov r7, r8
- lsl r0, r7, #0x18
- lsr r2, r0, #0x18
- cmp r2, #0x5
- bls ._290 @cond_branch
- add sp, sp, #0x10
- pop {r3, r4, r5}
- mov r8, r3
- mov r9, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-
- thumb_func_end debug_80C4C44
-
- thumb_func_start debug_80C4D14
-debug_80C4D14:
- push {r4, r5, r6, lr}
- add sp, sp, #0xffffffd0
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- ldr r1, ._291 @ gUnknown_Debug_083F81C7
- mov r0, sp
- mov r2, #0xf
- bl memcpy
- add r5, sp, #0x10
- ldr r1, ._291 + 4 @ gUnknown_Debug_083F81F5
- add r0, r5, #0
- mov r2, #0xd
- bl memcpy
- add r6, sp, #0x20
- ldr r1, ._291 + 8 @ gUnknown_Debug_083F8202
- add r0, r6, #0
- mov r2, #0xf
- bl memcpy
- mov r0, #0x0
- mov r1, #0x10
- mov r2, #0x1d
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- mov r0, sp
- mov r1, #0x1
- mov r2, #0x11
- bl Menu_PrintText
- add r0, r5, #0
- mov r1, #0x14
- mov r2, #0x11
- bl Menu_PrintText
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0xe
- mov r3, #0xf
- bl Menu_DrawStdWindowFrame
- add r0, r6, #0
- mov r1, #0x2
- mov r2, #0x1
- bl Menu_PrintText
- ldr r0, ._291 + 12 @ gUnknown_Debug_2038A0C
- ldrb r0, [r0, #0x6]
- bl debug_80C4F00
- mov r0, #0xf
- mov r1, #0x0
- mov r2, #0x1d
- mov r3, #0xf
- bl Menu_DrawStdWindowFrame
- ldr r1, ._291 + 16 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._291 + 20 @ debug_80C4DB8
- str r1, [r0]
- add sp, sp, #0x30
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._292:
- .align 2, 0
-._291:
- .word gUnknown_Debug_083F81C7
- .word gUnknown_Debug_083F81F5
- .word gUnknown_Debug_083F8202
- .word gUnknown_Debug_2038A0C
- .word gTasks
- .word debug_80C4DB8+1
-
- thumb_func_end debug_80C4D14
-
- thumb_func_start debug_80C4DB8
-debug_80C4DB8:
- push {r4, lr}
- add sp, sp, #0xfffffffc
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- ldr r0, ._293 @ gUnknown_Debug_2038A0C
- ldrb r0, [r0, #0x7]
- lsl r0, r0, #0x19
- mov r1, #0xc0
- lsl r1, r1, #0x12
- add r0, r0, r1
- lsr r0, r0, #0x18
- mov r1, #0x1
- str r1, [sp]
- mov r2, #0x1
- mov r3, #0xe
- bl debug_80C38E4
- ldr r1, ._293 + 4 @ 0x4000042
- ldr r2, ._293 + 8 @ 0x177
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x4
- add r2, r2, #0x8
- add r0, r2, #0
- strh r0, [r1]
- ldr r1, ._293 + 12 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._293 + 16 @ debug_80C4E18
- str r1, [r0]
- add sp, sp, #0x4
- pop {r4}
- pop {r0}
- bx r0
-._294:
- .align 2, 0
-._293:
- .word gUnknown_Debug_2038A0C
- .word 0x4000042
- .word 0x177
- .word gTasks
- .word debug_80C4E18+1
-
- thumb_func_end debug_80C4DB8
-
- thumb_func_start debug_80C4E18
-debug_80C4E18:
- push {r4, r5, r6, r7, lr}
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- ldr r5, ._297 @ gUnknown_Debug_2038A0C
- ldrb r3, [r5, #0x6]
- ldrb r2, [r5, #0x7]
- add r0, r3, r2
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- ldr r7, ._297 + 4 @ gMain
- ldrh r1, [r7, #0x2e]
- mov r0, #0x2
- and r0, r0, r1
- cmp r0, #0
- beq ._295 @cond_branch
- ldr r0, ._297 + 8 @ gTasks
- lsl r1, r4, #0x2
- add r1, r1, r4
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._297 + 12 @ debug_80C42B8
- b ._296
-._298:
- .align 2, 0
-._297:
- .word gUnknown_Debug_2038A0C
- .word gMain
- .word gTasks
- .word debug_80C42B8+1
-._295:
- mov r0, #0x8
- and r0, r0, r1
- cmp r0, #0
- bne ._299 @cond_branch
- mov r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- beq ._300 @cond_branch
-._299:
- mov r0, #0x5
- bl PlaySE
- ldr r2, ._302 @ gBattleTerrain
- ldr r1, ._302 + 4 @ gUnknown_Debug_083F814C
- lsl r0, r6, #0x3
- add r0, r0, r1
- ldrb r0, [r0, #0x4]
- strb r0, [r2]
- ldr r1, ._302 + 8 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._302 + 12 @ debug_80C5158
- str r1, [r0]
- b ._310
-._303:
- .align 2, 0
-._302:
- .word gBattleTerrain
- .word gUnknown_Debug_083F814C
- .word gTasks
- .word debug_80C5158+1
-._300:
- ldrh r1, [r7, #0x30]
- mov r0, #0x40
- and r0, r0, r1
- cmp r0, #0
- beq ._304 @cond_branch
- lsl r0, r2, #0x18
- cmp r0, #0
- beq ._305 @cond_branch
- sub r0, r2, #1
- strb r0, [r5, #0x7]
- b ._313
-._305:
- lsl r0, r3, #0x18
- cmp r0, #0
- beq ._313 @cond_branch
- sub r0, r3, #1
- b ._308
-._304:
- mov r0, #0x80
- and r0, r0, r1
- cmp r0, #0
- beq ._310 @cond_branch
- lsl r0, r2, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x7
- bhi ._310 @cond_branch
- cmp r0, #0x4
- bhi ._311 @cond_branch
- add r0, r2, #1
- strb r0, [r5, #0x7]
- b ._313
-._311:
- lsl r0, r3, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x2
- bhi ._313 @cond_branch
- add r0, r3, #1
-._308:
- strb r0, [r5, #0x6]
- ldrb r0, [r5, #0x6]
- bl debug_80C4F00
-._313:
- ldr r0, ._314 @ gTasks
- lsl r1, r4, #0x2
- add r1, r1, r4
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._314 + 4 @ debug_80C4DB8
-._296:
- str r0, [r1]
-._310:
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._315:
- .align 2, 0
-._314:
- .word gTasks
- .word debug_80C4DB8+1
-
- thumb_func_end debug_80C4E18
-
- thumb_func_start debug_80C4F00
-debug_80C4F00:
- push {r4, r5, r6, lr}
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- mov r0, #0x1
- mov r1, #0x3
- mov r2, #0xd
- mov r3, #0xe
- bl Menu_BlankWindowRect
- mov r4, #0x0
- ldr r6, ._318 @ gUnknown_Debug_083F814C
-._317:
- cmp r4, #0x8
- bhi ._316 @cond_branch
- add r0, r4, r5
- lsl r0, r0, #0x3
- add r0, r0, r6
- ldr r0, [r0]
- lsl r2, r4, #0x19
- mov r1, #0xc0
- lsl r1, r1, #0x12
- add r2, r2, r1
- lsr r2, r2, #0x18
- mov r1, #0x2
- bl Menu_PrintText
-._316:
- add r0, r4, #1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x5
- bls ._317 @cond_branch
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._319:
- .align 2, 0
-._318:
- .word gUnknown_Debug_083F814C
-
- thumb_func_end debug_80C4F00
-
- thumb_func_start debug_80C4F48
-debug_80C4F48:
- push {r4, r5, r6, lr}
- mov r6, r9
- mov r5, r8
- push {r5, r6}
- add sp, sp, #0xffffffc4
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- ldr r1, ._320 @ gUnknown_Debug_083F8211
- mov r0, sp
- mov r2, #0x11
- bl memcpy
- add r6, sp, #0x14
- ldr r1, ._320 + 4 @ gUnknown_Debug_083F81A0
- add r0, r6, #0
- mov r2, #0xd
- bl memcpy
- add r5, sp, #0x24
- ldr r1, ._320 + 8 @ gUnknown_Debug_083F8222
- add r0, r5, #0
- mov r2, #0xd
- bl memcpy
- add r0, sp, #0x34
- mov r9, r0
- ldr r1, ._320 + 12 @ gUnknown_Debug_083F822F
- mov r2, #0x4
- bl memcpy
- add r0, sp, #0x38
- mov r8, r0
- ldr r1, ._320 + 16 @ gUnknown_Debug_083F8233
- mov r2, #0x4
- bl memcpy
- mov r0, #0x0
- mov r1, #0x10
- mov r2, #0x1d
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- mov r0, sp
- mov r1, #0x1
- mov r2, #0x11
- bl Menu_PrintText
- add r0, r6, #0
- mov r1, #0x14
- mov r2, #0x11
- bl Menu_PrintText
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0xe
- mov r3, #0xf
- bl Menu_DrawStdWindowFrame
- add r0, r5, #0
- mov r1, #0x2
- mov r2, #0x1
- bl Menu_PrintText
- mov r0, #0x1
- mov r1, #0x3
- mov r2, #0xd
- mov r3, #0xe
- bl Menu_BlankWindowRect
- add r0, r5, #0
- mov r1, #0x2
- mov r2, #0x1
- bl Menu_PrintText
- mov r0, r9
- mov r1, #0x2
- mov r2, #0x3
- bl Menu_PrintText
- mov r0, r8
- mov r1, #0x2
- mov r2, #0x5
- bl Menu_PrintText
- mov r0, #0xf
- mov r1, #0x0
- mov r2, #0x1d
- mov r3, #0xf
- bl Menu_DrawStdWindowFrame
- ldr r1, ._320 + 20 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._320 + 24 @ debug_80C5038
- str r1, [r0]
- add sp, sp, #0x3c
- pop {r3, r4}
- mov r8, r3
- mov r9, r4
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._321:
- .align 2, 0
-._320:
- .word gUnknown_Debug_083F8211
- .word gUnknown_Debug_083F81A0
- .word gUnknown_Debug_083F8222
- .word gUnknown_Debug_083F822F
- .word gUnknown_Debug_083F8233
- .word gTasks
- .word debug_80C5038+1
-
- thumb_func_end debug_80C4F48
-
- thumb_func_start debug_80C5038
-debug_80C5038:
- push {r4, lr}
- add sp, sp, #0xfffffffc
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- ldr r0, ._322 @ gUnknown_Debug_2038A0C
- ldrb r0, [r0, #0x8]
- lsl r0, r0, #0x19
- mov r1, #0xc0
- lsl r1, r1, #0x12
- add r0, r0, r1
- lsr r0, r0, #0x18
- mov r1, #0x1
- str r1, [sp]
- mov r2, #0x1
- mov r3, #0xe
- bl debug_80C38E4
- ldr r1, ._322 + 4 @ 0x4000042
- ldr r2, ._322 + 8 @ 0x177
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x4
- add r2, r2, #0x8
- add r0, r2, #0
- strh r0, [r1]
- ldr r1, ._322 + 12 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._322 + 16 @ debug_80C5098
- str r1, [r0]
- add sp, sp, #0x4
- pop {r4}
- pop {r0}
- bx r0
-._323:
- .align 2, 0
-._322:
- .word gUnknown_Debug_2038A0C
- .word 0x4000042
- .word 0x177
- .word gTasks
- .word debug_80C5098+1
-
- thumb_func_end debug_80C5038
-
- thumb_func_start debug_80C5098
-debug_80C5098:
- push {r4, lr}
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- ldr r1, ._326 @ gMain
- ldrh r2, [r1, #0x2e]
- mov r0, #0x2
- and r0, r0, r2
- add r3, r1, #0
- cmp r0, #0
- beq ._324 @cond_branch
- ldr r0, ._326 + 4 @ gTasks
- lsl r1, r4, #0x2
- add r1, r1, r4
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._326 + 8 @ debug_80C47BC
- str r0, [r1]
- b ._339
-._327:
- .align 2, 0
-._326:
- .word gMain
- .word gTasks
- .word debug_80C47BC+1
-._324:
- mov r0, #0x8
- and r0, r0, r2
- cmp r0, #0
- bne ._328 @cond_branch
- mov r0, #0x1
- and r0, r0, r2
- cmp r0, #0
- beq ._329 @cond_branch
-._328:
- mov r0, #0x5
- bl PlaySE
- ldr r1, ._331 @ gSaveBlock2
- ldr r0, ._331 + 4 @ gUnknown_Debug_2038A0C
- ldrb r0, [r0, #0x8]
- strb r0, [r1, #0x8]
- ldr r1, ._331 + 8 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._331 + 12 @ debug_80C42B8
- b ._330
-._332:
- .align 2, 0
-._331:
- .word gSaveBlock2
- .word gUnknown_Debug_2038A0C
- .word gTasks
- .word debug_80C42B8+1
-._329:
- ldrh r1, [r3, #0x30]
- mov r0, #0x40
- and r0, r0, r1
- cmp r0, #0
- beq ._334 @cond_branch
- ldr r1, ._336 @ gUnknown_Debug_2038A0C
- ldrb r0, [r1, #0x8]
- cmp r0, #0
- beq ._334 @cond_branch
- sub r0, r0, #0x1
- b ._335
-._337:
- .align 2, 0
-._336:
- .word gUnknown_Debug_2038A0C
-._334:
- ldrh r1, [r3, #0x30]
- mov r0, #0x80
- and r0, r0, r1
- cmp r0, #0
- beq ._339 @cond_branch
- ldr r1, ._340 @ gUnknown_Debug_2038A0C
- ldrb r0, [r1, #0x8]
- cmp r0, #0
- bne ._339 @cond_branch
- add r0, r0, #0x1
-._335:
- strb r0, [r1, #0x8]
- ldr r1, ._340 + 4 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._340 + 8 @ debug_80C5038
-._330:
- str r1, [r0]
-._339:
- pop {r4}
- pop {r0}
- bx r0
-._341:
- .align 2, 0
-._340:
- .word gUnknown_Debug_2038A0C
- .word gTasks
- .word debug_80C5038+1
-
- thumb_func_end debug_80C5098
-
- thumb_func_start debug_80C5158
-debug_80C5158:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- ldr r2, ._342 @ gTasks
- lsl r1, r0, #0x2
- add r1, r1, r0
- lsl r1, r1, #0x3
- add r1, r1, r2
- ldr r0, ._342 + 4 @ debug_80C5174
- str r0, [r1]
- bx lr
-._343:
- .align 2, 0
-._342:
- .word gTasks
- .word debug_80C5174+1
-
- thumb_func_end debug_80C5158
-
- thumb_func_start debug_80C5174
-debug_80C5174:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- ldr r2, ._344 @ gTasks
- lsl r1, r0, #0x2
- add r1, r1, r0
- lsl r1, r1, #0x3
- add r1, r1, r2
- ldr r0, ._344 + 4 @ debug_80C5190
- str r0, [r1]
- bx lr
-._345:
- .align 2, 0
-._344:
- .word gTasks
- .word debug_80C5190+1
-
- thumb_func_end debug_80C5174
-
- thumb_func_start debug_80C5190
-debug_80C5190:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- ldr r2, ._346 @ gTasks
- lsl r1, r0, #0x2
- add r1, r1, r0
- lsl r1, r1, #0x3
- add r1, r1, r2
- ldr r0, ._346 + 4 @ debug_80C51AC
- str r0, [r1]
- bx lr
-._347:
- .align 2, 0
-._346:
- .word gTasks
- .word debug_80C51AC+1
-
- thumb_func_end debug_80C5190
-
- thumb_func_start debug_80C51AC
-debug_80C51AC:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- ldr r2, ._348 @ gTasks
- lsl r1, r0, #0x2
- add r1, r1, r0
- lsl r1, r1, #0x3
- add r1, r1, r2
- ldr r0, ._348 + 4 @ debug_80C51C8
- str r0, [r1]
- bx lr
-._349:
- .align 2, 0
-._348:
- .word gTasks
- .word debug_80C51C8+1
-
- thumb_func_end debug_80C51AC
-
- thumb_func_start debug_80C51C8
-debug_80C51C8:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- ldr r2, ._350 @ gTasks
- lsl r1, r0, #0x2
- add r1, r1, r0
- lsl r1, r1, #0x3
- add r1, r1, r2
- ldr r0, ._350 + 4 @ debug_80C51E4
- str r0, [r1]
- bx lr
-._351:
- .align 2, 0
-._350:
- .word gTasks
- .word debug_80C51E4+1
-
- thumb_func_end debug_80C51C8
-
- thumb_func_start debug_80C51E4
-debug_80C51E4:
- push {lr}
- bl sub_80408BC
- ldr r0, ._352 @ gMain
- ldr r1, ._352 + 4 @ debug_80C41A8
- str r1, [r0, #0x8]
- ldr r0, ._352 + 8 @ unref_sub_800D684
- bl SetMainCallback2
- pop {r0}
- bx r0
-._353:
- .align 2, 0
-._352:
- .word gMain
- .word debug_80C41A8+1
- .word unref_sub_800D684+1
-
- thumb_func_end debug_80C51E4
-
- thumb_func_start debug_80C5208
-debug_80C5208:
- push {r4, r5, r6, lr}
- ldr r1, ._355 @ gUnknown_Debug_2038A1C
- ldr r0, ._355 + 4 @ 0x2018000
- str r0, [r1]
- mov r3, #0x0
- add r6, r1, #0
- ldr r4, ._355 + 8 @ gSaveBlock2
- add r5, r6, #0
- mov r2, #0x0
-._354:
- ldr r0, [r5]
- lsl r1, r3, #0x2
- add r0, r0, #0x64
- add r0, r0, r1
- str r2, [r0]
- add r0, r3, #1
- lsl r0, r0, #0x10
- lsr r3, r0, #0x10
- cmp r3, #0x3f
- bls ._354 @cond_branch
- ldr r2, [r6]
- mov r0, #0xfc
- str r0, [r2, #0x64]
- ldrb r1, [r4, #0xa]
- ldrb r0, [r4, #0xb]
- lsl r0, r0, #0x8
- orr r1, r1, r0
- ldrb r0, [r4, #0xc]
- lsl r0, r0, #0x10
- orr r1, r1, r0
- ldrb r0, [r4, #0xd]
- lsl r0, r0, #0x18
- orr r1, r1, r0
- str r1, [r2, #0x70]
- bl Random
- add r4, r0, #0
- bl Random
- ldr r1, [r6]
- lsl r4, r4, #0x10
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- orr r4, r4, r0
- str r4, [r1, #0x74]
- mov r0, #0x1
- str r0, [r1, #0x68]
- str r0, [r1, #0x6c]
- bl debug_80C5C94
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._356:
- .align 2, 0
-._355:
- .word gUnknown_Debug_2038A1C
- .word 0x2018000
- .word gSaveBlock2
-
- thumb_func_end debug_80C5208
-
- thumb_func_start debug_80C527C
-debug_80C527C:
- push {r4, r5, r6, r7, lr}
- add r6, r0, #0
- mov r5, #0x0
- ldr r7, ._359 @ gPlayerPartyCount
-._361:
- mov r0, #0x64
- add r1, r5, #0
- mul r1, r1, r0
- ldr r0, ._359 + 4 @ gPlayerParty
- add r4, r1, r0
- add r0, r4, #0
- mov r1, #0xb
- mov r2, #0x0
- bl GetMonData
- cmp r0, #0
- bne ._357 @cond_branch
- add r0, r4, #0
- add r1, r6, #0
- mov r2, #0x64
- bl memcpy
- add r0, r5, #1
- strb r0, [r7]
- mov r0, #0x0
- b ._358
-._360:
- .align 2, 0
-._359:
- .word gPlayerPartyCount
- .word gPlayerParty
-._357:
- add r0, r5, #1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x5
- bls ._361 @cond_branch
- ldr r0, ._362 @ gUnknown_Debug_2038A1C
- ldr r0, [r0]
- bl SendMonToPC
- mov r0, #0x1
-._358:
- pop {r4, r5, r6, r7}
- pop {r1}
- bx r1
-._363:
- .align 2, 0
-._362:
- .word gUnknown_Debug_2038A1C
-
- thumb_func_end debug_80C527C
-
- thumb_func_start InitCreatePokemon
-InitCreatePokemon:
- push {r4, r5, lr}
- add sp, sp, #0xffffffd4
- ldr r1, ._364 @ gUnknown_Debug_083F8733
- add r0, sp, #0x4
- mov r2, #0x25
- bl memcpy
- bl debug_80C35DC
- mov r0, #0x1
- neg r0, r0
- mov r4, #0x0
- str r4, [sp]
- mov r1, #0x0
- mov r2, #0x10
- mov r3, #0x0
- bl BeginNormalPaletteFade
- ldr r0, ._364 + 4 @ 0x4000050
- mov r5, #0x0
- strh r4, [r0]
- add r0, r0, #0x2
- strh r4, [r0]
- add r0, r0, #0x2
- strh r4, [r0]
- ldr r3, ._364 + 8 @ 0x4000208
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, ._364 + 12 @ 0x4000200
- ldrh r0, [r4]
- mov r1, #0x1
- orr r0, r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, ._364 + 16 @ 0x4000004
- ldrh r0, [r2]
- mov r1, #0x8
- orr r0, r0, r1
- strh r0, [r2]
- ldr r0, ._364 + 20 @ debug_80C3758
- bl SetVBlankCallback
- ldr r0, ._364 + 24 @ debug_80C370C
- bl SetMainCallback2
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0x1d
- mov r3, #0x3
- bl Menu_DrawStdWindowFrame
- add r0, sp, #0x4
- mov r1, #0x1
- mov r2, #0x1
- bl Menu_PrintText
- mov r1, #0x80
- lsl r1, r1, #0x13
- mov r2, #0x8a
- lsl r2, r2, #0x5
- add r0, r2, #0
- strh r0, [r1]
- ldr r0, ._364 + 28 @ debug_80C53A4
- mov r1, #0x0
- bl CreateTask
- bl debug_80C5208
- ldr r1, ._364 + 32 @ gUnknown_Debug_2038A1C
- ldr r0, [r1]
- mov r2, #0xb4
- lsl r2, r2, #0x1
- add r0, r0, r2
- strb r5, [r0]
- ldr r0, [r1]
- ldr r1, ._364 + 36 @ 0x169
- add r0, r0, r1
- strb r5, [r0]
- add sp, sp, #0x2c
- pop {r4, r5}
- pop {r0}
- bx r0
-._365:
- .align 2, 0
-._364:
- .word gUnknown_Debug_083F8733
- .word 0x4000050
- .word 0x4000208
- .word 0x4000200
- .word 0x4000004
- .word debug_80C3758+1
- .word debug_80C370C+1
- .word debug_80C53A4+1
- .word gUnknown_Debug_2038A1C
- .word 0x169
-
- thumb_func_end InitCreatePokemon
-
- thumb_func_start debug_80C53A4
-debug_80C53A4:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- ldr r2, ._366 @ gTasks
- lsl r1, r0, #0x2
- add r1, r1, r0
- lsl r1, r1, #0x3
- add r1, r1, r2
- ldr r0, ._366 + 4 @ debug_80C53C0
- str r0, [r1]
- bx lr
-._367:
- .align 2, 0
-._366:
- .word gTasks
- .word debug_80C53C0+1
-
- thumb_func_end debug_80C53A4
-
- thumb_func_start debug_80C53C0
-debug_80C53C0:
- push {r4, lr}
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- bl debug_80C6384
- mov r0, #0x0
- bl debug_80C627C
- ldr r1, ._368 @ gTasks
- lsl r0, r4, #0x2
- add r0, r0, r4
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._368 + 4 @ debug_80C53F0
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
-._369:
- .align 2, 0
-._368:
- .word gTasks
- .word debug_80C53F0+1
-
- thumb_func_end debug_80C53C0
-
- thumb_func_start debug_80C53F0
-debug_80C53F0:
- push {r4, r5, r6, lr}
- add sp, sp, #0xfffffffc
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- ldr r0, ._372 @ gMain
- ldrh r1, [r0, #0x2e]
- mov r2, #0x1
- and r2, r2, r1
- add r4, r0, #0
- cmp r2, #0
- beq ._370 @cond_branch
- ldr r0, ._372 + 4 @ gUnknown_Debug_2038A1C
- ldr r3, [r0]
- mov r0, #0xb2
- lsl r0, r0, #0x1
- add r2, r3, r0
- ldr r1, ._372 + 8 @ gUnknown_Debug_083F8698
- mov r4, #0xb4
- lsl r4, r4, #0x1
- add r0, r3, r4
- ldrb r0, [r0]
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r6, ._372 + 12 @ 0x169
- add r1, r3, r6
- ldrb r1, [r1]
- ldr r0, [r0]
- add r0, r0, r1
- ldrb r1, [r0]
- lsl r1, r1, #0x2
- add r0, r3, #0
- add r0, r0, #0x64
- add r0, r0, r1
- ldr r0, [r0]
- str r0, [r2]
- mov r0, #0xb5
- lsl r0, r0, #0x1
- add r1, r3, r0
- mov r0, #0x0
- strb r0, [r1]
- bl debug_80C643C
- ldr r1, ._372 + 16 @ gTasks
- lsl r0, r5, #0x2
- add r0, r0, r5
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._372 + 20 @ debug_80C55E4
- b ._375
-._373:
- .align 2, 0
-._372:
- .word gMain
- .word gUnknown_Debug_2038A1C
- .word gUnknown_Debug_083F8698
- .word 0x169
- .word gTasks
- .word debug_80C55E4+1
-._370:
- mov r0, #0x2
- and r0, r0, r1
- cmp r0, #0
- beq ._374 @cond_branch
- mov r0, #0x1
- neg r0, r0
- str r2, [sp]
- mov r1, #0x0
- mov r2, #0x0
- mov r3, #0x10
- bl BeginNormalPaletteFade
- ldr r0, ._376 @ debug_80C370C
- bl SetMainCallback2
- ldr r1, ._376 + 4 @ gTasks
- lsl r0, r5, #0x2
- add r0, r0, r5
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._376 + 8 @ debug_80C373C
- b ._375
-._377:
- .align 2, 0
-._376:
- .word debug_80C370C+1
- .word gTasks
- .word debug_80C373C+1
-._374:
- mov r0, #0x8
- and r0, r0, r1
- cmp r0, #0
- beq ._378 @cond_branch
- mov r0, #0x5
- bl PlaySE
- bl debug_80C5FFC
- ldr r0, ._381 @ gUnknown_Debug_2038A1C
- ldr r0, [r0]
- bl debug_80C527C
- add r4, r0, #0
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- mov r0, #0x3
- mov r1, #0x8
- mov r2, #0x1a
- mov r3, #0xb
- bl Menu_DrawStdWindowFrame
- cmp r4, #0
- beq ._379 @cond_branch
- ldr r0, ._381 + 4 @ gUnknown_Debug_083F872A
- mov r1, #0x4
- mov r2, #0x9
- bl Menu_PrintText
- b ._380
-._382:
- .align 2, 0
-._381:
- .word gUnknown_Debug_2038A1C
- .word gUnknown_Debug_083F872A
-._379:
- ldr r0, ._384 @ gUnknown_Debug_083F8720
- mov r1, #0x4
- mov r2, #0x9
- bl Menu_PrintText
-._380:
- ldr r0, ._384 + 4 @ gTasks
- lsl r1, r5, #0x2
- add r1, r1, r5
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._384 + 8 @ debug_80C5708
- str r0, [r1]
- b ._400
-._385:
- .align 2, 0
-._384:
- .word gUnknown_Debug_083F8720
- .word gTasks
- .word debug_80C5708+1
-._378:
- mov r0, #0x4
- and r0, r0, r1
- cmp r0, #0
- beq ._386 @cond_branch
- ldr r0, ._388 @ gUnknown_Debug_2038A1C
- ldr r0, [r0]
- ldr r4, [r0, #0x64]
- lsl r4, r4, #0x10
- lsr r4, r4, #0x10
- add r0, r4, #0
- mov r1, #0x2
- bl GetSetPokedexFlag
- add r0, r4, #0
- mov r1, #0x3
- bl GetSetPokedexFlag
- mov r0, #0x5
- bl PlaySE
- b ._400
-._389:
- .align 2, 0
-._388:
- .word gUnknown_Debug_2038A1C
-._386:
- mov r0, #0x40
- and r0, r0, r1
- cmp r0, #0
- beq ._390 @cond_branch
- mov r0, #0x2
- bl debug_80C627C
- b ._400
-._390:
- mov r0, #0x80
- and r0, r0, r1
- lsl r0, r0, #0x10
- lsr r3, r0, #0x10
- cmp r3, #0
- beq ._392 @cond_branch
- mov r0, #0x1
- bl debug_80C627C
- b ._400
-._392:
- mov r0, #0x80
- lsl r0, r0, #0x2
- and r0, r0, r1
- cmp r0, #0
- beq ._395 @cond_branch
- ldr r2, ._397 @ gUnknown_Debug_2038A1C
- ldr r0, [r2]
- mov r6, #0xb4
- lsl r6, r6, #0x1
- add r1, r0, r6
- ldrb r0, [r1]
- cmp r0, #0
- beq ._395 @cond_branch
- sub r0, r0, #0x1
- strb r0, [r1]
- ldr r0, [r2]
- ldr r1, ._397 + 4 @ 0x169
- add r0, r0, r1
- strb r3, [r0]
- b ._396
-._398:
- .align 2, 0
-._397:
- .word gUnknown_Debug_2038A1C
- .word 0x169
-._395:
- ldrh r1, [r4, #0x2e]
- mov r0, #0x80
- lsl r0, r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- beq ._400 @cond_branch
- ldr r3, ._401 @ gUnknown_Debug_2038A1C
- ldr r0, [r3]
- mov r4, #0xb4
- lsl r4, r4, #0x1
- add r2, r0, r4
- ldrb r0, [r2]
- cmp r0, #0x4
- bhi ._400 @cond_branch
- add r0, r0, #0x1
- mov r1, #0x0
- strb r0, [r2]
- ldr r0, [r3]
- ldr r6, ._401 + 4 @ 0x169
- add r0, r0, r6
- strb r1, [r0]
-._396:
- ldr r1, ._401 + 8 @ gTasks
- lsl r0, r5, #0x2
- add r0, r0, r5
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._401 + 12 @ debug_80C53C0
-._375:
- str r1, [r0]
-._400:
- add sp, sp, #0x4
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._402:
- .align 2, 0
-._401:
- .word gUnknown_Debug_2038A1C
- .word 0x169
- .word gTasks
- .word debug_80C53C0+1
-
- thumb_func_end debug_80C53F0
-
- thumb_func_start debug_80C55E4
-debug_80C55E4:
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- add r6, r3, #0
- ldr r1, ._405 @ gUnknown_Debug_083F8698
- ldr r2, ._405 + 4 @ gUnknown_Debug_2038A1C
- ldr r0, [r2]
- mov ip, r0
- mov r0, #0xb4
- lsl r0, r0, #0x1
- add r0, r0, ip
- ldrb r0, [r0]
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._405 + 8 @ 0x169
- add r1, r1, ip
- ldrb r1, [r1]
- ldr r0, [r0]
- add r0, r0, r1
- ldrb r5, [r0]
- add r7, r5, #0
- ldr r1, ._405 + 12 @ gMain
- ldrh r4, [r1, #0x2e]
- mov r0, #0x1
- and r0, r0, r4
- mov r8, r2
- add r2, r1, #0
- cmp r0, #0
- beq ._403 @cond_branch
- ldr r0, ._405 + 16 @ gTasks
- lsl r1, r3, #0x2
- add r1, r1, r3
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._405 + 20 @ debug_80C53C0
- str r0, [r1]
- b ._422
-._406:
- .align 2, 0
-._405:
- .word gUnknown_Debug_083F8698
- .word gUnknown_Debug_2038A1C
- .word 0x169
- .word gMain
- .word gTasks
- .word debug_80C53C0+1
-._403:
- mov r0, #0x2
- and r0, r0, r4
- cmp r0, #0
- beq ._407 @cond_branch
- lsl r1, r5, #0x2
- mov r0, ip
- add r0, r0, #0x64
- add r0, r0, r1
- mov r1, #0xb2
- lsl r1, r1, #0x1
- add r1, r1, ip
- ldr r1, [r1]
- str r1, [r0]
- ldr r1, ._409 @ gTasks
- lsl r0, r6, #0x2
- add r0, r0, r6
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._409 + 4 @ debug_80C53C0
- str r1, [r0]
- b ._422
-._410:
- .align 2, 0
-._409:
- .word gTasks
- .word debug_80C53C0+1
-._407:
- ldrh r1, [r2, #0x30]
- mov r0, #0x40
- and r0, r0, r1
- cmp r0, #0
- beq ._411 @cond_branch
- mov r0, #0x1
- b ._412
-._411:
- mov r0, #0x80
- and r0, r0, r1
- cmp r0, #0
- beq ._413 @cond_branch
- mov r0, #0x2
-._412:
- bl debug_80C6544
- bl debug_80C643C
- b ._422
-._413:
- ldr r0, ._419 @ gUnknown_Debug_083F8554
- lsl r1, r7, #0x3
- add r0, r0, #0x4
- add r1, r1, r0
- ldr r1, [r1]
- ldrb r0, [r1, #0x9]
- cmp r0, #0xff
- beq ._422 @cond_branch
- mov r0, #0x20
- and r0, r0, r4
- cmp r0, #0
- beq ._417 @cond_branch
- mov r0, #0xb5
- lsl r0, r0, #0x1
- add ip, ip, r0
- mov r0, ip
- ldrb r3, [r0]
- ldrb r0, [r1, #0x9]
- sub r0, r0, #0x1
- cmp r3, r0
- bge ._417 @cond_branch
- add r0, r3, #1
- mov r1, ip
- strb r0, [r1]
- bl debug_80C643C
- b ._422
-._420:
- .align 2, 0
-._419:
- .word gUnknown_Debug_083F8554
-._417:
- ldrh r1, [r2, #0x2e]
- mov r0, #0x10
- and r0, r0, r1
- cmp r0, #0
- beq ._422 @cond_branch
- mov r2, r8
- ldr r0, [r2]
- mov r2, #0xb5
- lsl r2, r2, #0x1
- add r1, r0, r2
- ldrb r0, [r1]
- cmp r0, #0
- beq ._422 @cond_branch
- sub r0, r0, #0x1
- strb r0, [r1]
- bl debug_80C643C
-._422:
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-
- thumb_func_end debug_80C55E4
-
- thumb_func_start debug_80C5708
-debug_80C5708:
- push {lr}
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- ldr r0, ._424 @ gMain
- ldrh r1, [r0, #0x2e]
- mov r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- beq ._423 @cond_branch
- ldr r0, ._424 + 4 @ gTasks
- lsl r1, r2, #0x2
- add r1, r1, r2
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._424 + 8 @ debug_80C53C0
- str r0, [r1]
-._423:
- pop {r0}
- bx r0
-._425:
- .align 2, 0
-._424:
- .word gMain
- .word gTasks
- .word debug_80C53C0+1
-
- thumb_func_end debug_80C5708
-
- thumb_func_start debug_80C5738
-debug_80C5738:
- push {r4, r5, r6, r7, lr}
- mov r7, r9
- mov r6, r8
- push {r6, r7}
- add r6, r0, #0
- lsl r1, r1, #0x18
- lsr r4, r1, #0x18
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- mov r8, r2
- cmp r4, #0xfe
- bne ._426 @cond_branch
- ldr r1, ._428 @ gUnknown_Debug_083F850A
- mov r2, #0x7
- bl debug_80C689C
- add r0, r6, #7
- ldr r7, ._428 + 4 @ gUnknown_Debug_2038A1C
- ldr r1, [r7]
- add r1, r1, #0xf0
- ldr r1, [r1]
- mov r2, #0x3
- mov r3, #0x1
- bl debug_80C6678
- mov r4, #0x0
- strb r4, [r6, #0x13]
- strb r4, [r6, #0x14]
- add r0, r6, #0
- add r0, r0, #0x15
- ldr r1, ._428 + 8 @ gUnknown_Debug_083F8514
- mov r2, #0x7
- bl debug_80C689C
- add r0, r6, #0
- add r0, r0, #0x1c
- ldr r1, [r7]
- add r1, r1, #0xf4
- ldr r1, [r1]
- mov r2, #0x3
- mov r3, #0x1
- bl debug_80C6678
- add r0, r6, #0
- add r0, r0, #0x28
- strb r4, [r0]
- add r0, r0, #0x1
- strb r4, [r0]
- add r0, r0, #0x1
- ldr r1, ._428 + 12 @ gUnknown_Debug_083F851C
- mov r2, #0x9
- bl debug_80C689C
- add r0, r6, #0
- add r0, r0, #0x31
- ldr r1, [r7]
- add r1, r1, #0xf8
-._431:
- ldr r1, [r1]
- mov r2, #0x3
- mov r3, #0x1
- bl debug_80C6678
- b ._517
-._429:
- .align 2, 0
-._428:
- .word gUnknown_Debug_083F850A
- .word gUnknown_Debug_2038A1C
- .word gUnknown_Debug_083F8514
- .word gUnknown_Debug_083F851C
-._426:
- cmp r4, #0xfd
- bne ._430 @cond_branch
- ldr r1, ._432 @ gUnknown_Debug_083F8524
- add r0, r6, #0
- mov r2, #0x9
- bl debug_80C689C
- add r0, r6, #0
- add r0, r0, #0x9
- ldr r7, ._432 + 4 @ gUnknown_Debug_2038A1C
- ldr r1, [r7]
- add r1, r1, #0xfc
- ldr r1, [r1]
- mov r2, #0x3
- mov r3, #0x1
- bl debug_80C6678
- mov r4, #0x0
- strb r4, [r6, #0x15]
- strb r4, [r6, #0x16]
- add r0, r6, #0
- add r0, r0, #0x17
- ldr r1, ._432 + 8 @ gUnknown_Debug_083F852D
- mov r2, #0x9
- bl debug_80C689C
- add r0, r6, #0
- add r0, r0, #0x20
- ldr r1, [r7]
- mov r2, #0x80
- lsl r2, r2, #0x1
- add r1, r1, r2
- ldr r1, [r1]
- mov r2, #0x3
- mov r3, #0x1
- bl debug_80C6678
- add r0, r6, #0
- add r0, r0, #0x2c
- strb r4, [r0]
- add r0, r0, #0x1
- strb r4, [r0]
- add r0, r0, #0x1
- ldr r1, ._432 + 12 @ gUnknown_Debug_083F8537
- mov r2, #0x9
- bl debug_80C689C
- add r0, r6, #0
- add r0, r0, #0x37
- ldr r1, [r7]
- mov r3, #0x82
- lsl r3, r3, #0x1
- add r1, r1, r3
- b ._431
-._433:
- .align 2, 0
-._432:
- .word gUnknown_Debug_083F8524
- .word gUnknown_Debug_2038A1C
- .word gUnknown_Debug_083F852D
- .word gUnknown_Debug_083F8537
-._430:
- mov r1, #0x0
- lsl r5, r4, #0x3
- mov r2, #0x0
-._434:
- add r0, r6, r1
- strb r2, [r0]
- add r0, r1, #1
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- cmp r1, #0xb
- bls ._434 @cond_branch
- ldr r0, ._437 @ gUnknown_Debug_083F8554
- add r0, r5, r0
- ldr r1, [r0]
- add r0, r6, #0
- mov r2, #0xb
- bl debug_80C689C
- mov r1, #0xc
- mov r2, #0xff
-._435:
- add r0, r6, r1
- strb r2, [r0]
- add r0, r1, #1
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- cmp r1, #0xff
- bls ._435 @cond_branch
- ldr r0, ._437 @ gUnknown_Debug_083F8554
- add r0, r0, #0x4
- add r0, r5, r0
- ldr r0, [r0]
- ldrb r2, [r0, #0x9]
- lsl r0, r2, #0x1a
- lsr r5, r0, #0x18
- cmp r4, #0x22
- bhi ._436 @cond_branch
- lsl r0, r4, #0x2
- ldr r1, ._437 + 4 @
- add r1, r0, r1
- ldr r1, [r1]
- add r7, r0, #0
- mov pc, r1
-._438:
- .align 2, 0
-._437:
- .word gUnknown_Debug_083F8554
- .word ._439
-._439:
- .word ._440
- .word ._472
- .word ._472
- .word ._472
- .word ._472
- .word ._445
- .word ._446
- .word ._450
- .word ._450
- .word ._450
- .word ._450
- .word ._451
- .word ._452
- .word ._472
- .word ._472
- .word ._472
- .word ._472
- .word ._472
- .word ._472
- .word ._472
- .word ._472
- .word ._472
- .word ._472
- .word ._472
- .word ._472
- .word ._472
- .word ._472
- .word ._472
- .word ._472
- .word ._472
- .word ._472
- .word ._472
- .word ._472
- .word ._473
- .word ._474
-._436:
- mov r0, #0xff
- strb r0, [r6]
- b ._517
-._440:
- add r0, r6, #0
- add r0, r0, #0xa
- ldr r1, ._477 @ gUnknown_Debug_2038A1C
- mov r9, r1
- ldr r1, [r1]
- add r1, r1, #0x64
- add r1, r1, r7
- ldr r1, [r1]
- mov r3, r8
- bl debug_80C6678
- add r1, r5, r6
- mov r0, #0x0
- strb r0, [r1, #0xa]
- mov r0, #0xfc
- strb r0, [r1, #0xb]
- mov r0, #0x1
- strb r0, [r1, #0xc]
- mov r2, r8
- strb r2, [r1, #0xd]
- add r4, r5, #0
- add r4, r4, #0xe
- add r4, r6, r4
- mov r3, r9
- ldr r0, [r3]
- add r0, r0, #0x64
- add r0, r0, r7
- ldrh r0, [r0]
- bl NationalPokedexNumToSpecies
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r1, #0xb
- mul r1, r1, r0
- ldr r0, ._477 + 4 @ gSpeciesNames
- add r1, r1, r0
- add r0, r4, #0
- mov r2, #0xa
- bl debug_80C689C
- b ._517
-._478:
- .align 2, 0
-._477:
- .word gUnknown_Debug_2038A1C
- .word gSpeciesNames
-._445:
- ldr r0, ._483 @ gUnknown_Debug_2038A1C
- ldr r0, [r0]
- add r0, r0, #0x64
- add r0, r0, r7
- ldr r0, [r0]
- cmp r0, #0x1
- beq ._479 @cond_branch
- cmp r0, #0x1
- bcc ._480 @cond_branch
- cmp r0, #0x2
- beq ._481 @cond_branch
- b ._517
-._484:
- .align 2, 0
-._483:
- .word gUnknown_Debug_2038A1C
-._480:
- add r0, r6, #0
- add r0, r0, #0xa
- ldr r1, ._486 @ gUnknown_Debug_083F8546
- b ._488
-._487:
- .align 2, 0
-._486:
- .word gUnknown_Debug_083F8546
-._479:
- add r0, r6, #0
- add r0, r0, #0xa
- ldr r1, ._489 @ gUnknown_Debug_083F8541
- b ._488
-._490:
- .align 2, 0
-._489:
- .word gUnknown_Debug_083F8541
-._481:
- add r0, r6, #0
- add r0, r0, #0xa
- ldr r1, ._492 @ gUnknown_Debug_083F8544
-._488:
- mov r2, #0x2
- bl debug_80C689C
- b ._517
-._493:
- .align 2, 0
-._492:
- .word gUnknown_Debug_083F8544
-._450:
- add r0, r6, #0
- add r0, r0, #0xa
- ldr r4, ._495 @ gUnknown_Debug_2038A1C
- ldr r1, [r4]
- add r1, r1, #0x64
- add r1, r1, r7
- ldr r1, [r1]
- mov r3, r8
- bl debug_80C6678
- add r1, r5, r6
- mov r0, #0x0
- strb r0, [r1, #0xa]
- mov r0, #0xfc
- strb r0, [r1, #0xb]
- mov r0, #0x1
- strb r0, [r1, #0xc]
- mov r0, r8
- strb r0, [r1, #0xd]
- add r0, r5, #0
- add r0, r0, #0xe
- add r0, r6, r0
- ldr r1, [r4]
- add r1, r1, #0x64
- add r1, r1, r7
- ldr r2, [r1]
- mov r1, #0xd
- mul r1, r1, r2
- ldr r2, ._495 + 4 @ gMoveNames
- add r1, r1, r2
- b ._494
-._496:
- .align 2, 0
-._495:
- .word gUnknown_Debug_2038A1C
- .word gMoveNames
-._451:
- add r0, r6, #0
- add r0, r0, #0xa
- ldr r4, ._499 @ gUnknown_Debug_2038A1C
- ldr r1, [r4]
- add r1, r1, #0x64
- add r1, r1, r7
- ldr r1, [r1]
- mov r3, r8
- bl debug_80C6678
- add r1, r5, r6
- mov r0, #0x0
- strb r0, [r1, #0xa]
- mov r0, #0xfc
- strb r0, [r1, #0xb]
- mov r0, #0x1
- strb r0, [r1, #0xc]
- mov r2, r8
- strb r2, [r1, #0xd]
- ldr r0, [r4]
- add r0, r0, #0x64
- add r0, r0, r7
- ldr r0, [r0]
- cmp r0, #0
- beq ._497 @cond_branch
- add r4, r5, #0
- add r4, r4, #0xe
- add r4, r6, r4
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl ItemId_GetName
- add r1, r0, #0
- add r0, r4, #0
- b ._498
-._500:
- .align 2, 0
-._499:
- .word gUnknown_Debug_2038A1C
-._497:
- add r0, r5, #0
- add r0, r0, #0xe
- add r0, r6, r0
- ldr r1, ._502 @ gUnknown_Debug_083F8541
-._498:
- mov r2, #0x9
- bl debug_80C689C
- b ._517
-._503:
- .align 2, 0
-._502:
- .word gUnknown_Debug_083F8541
-._452:
- add r6, r6, #0xc
- ldr r4, ._505 @ gUnknown_Debug_2038A1C
- ldr r0, [r4]
- ldr r0, [r0, #0x64]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl NationalPokedexNumToSpecies
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- ldr r1, [r4]
- add r1, r1, #0x64
- add r1, r1, r7
- ldrb r1, [r1]
- bl GetAbilityBySpecies
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r1, #0xd
- mul r1, r1, r0
- ldr r0, ._505 + 4 @ gAbilityNames
- add r1, r1, r0
- add r0, r6, #0
-._494:
- mov r2, #0xc
- bl debug_80C689C
- b ._517
-._506:
- .align 2, 0
-._505:
- .word gUnknown_Debug_2038A1C
- .word gAbilityNames
-._474:
- add r0, r6, #0
- add r0, r0, #0xa
- ldr r2, ._508 @ gUnknown_Debug_083F86E8
- ldr r1, ._508 + 4 @ gUnknown_Debug_2038A1C
- ldr r1, [r1]
- add r1, r1, #0x64
- add r1, r1, r7
- ldr r1, [r1]
- lsl r1, r1, #0x3
- add r1, r1, r2
- ldr r1, [r1]
- b ._514
-._509:
- .align 2, 0
-._508:
- .word gUnknown_Debug_083F86E8
- .word gUnknown_Debug_2038A1C
-._472:
- add r0, r6, #0
- add r0, r0, #0xc
- ldr r1, ._511 @ gUnknown_Debug_2038A1C
- ldr r1, [r1]
- add r1, r1, #0x64
- add r1, r1, r7
- ldr r1, [r1]
- mov r3, r8
- bl debug_80C6678
- b ._517
-._512:
- .align 2, 0
-._511:
- .word gUnknown_Debug_2038A1C
-._473:
- ldr r0, ._515 @ gUnknown_Debug_2038A1C
- ldr r0, [r0]
- add r0, r0, #0x64
- add r0, r0, r7
- ldr r0, [r0]
- cmp r0, #0
- beq ._513 @cond_branch
- add r0, r6, #0
- add r0, r0, #0xa
- ldr r1, ._515 + 4 @ gUnknown_Debug_083F854A
- b ._514
-._516:
- .align 2, 0
-._515:
- .word gUnknown_Debug_2038A1C
- .word gUnknown_Debug_083F854A
-._513:
- add r0, r6, #0
- add r0, r0, #0xa
- ldr r1, ._518 @ gUnknown_Debug_083F854D
-._514:
- mov r2, #0x4
- bl debug_80C689C
- b ._517
-._519:
- .align 2, 0
-._518:
- .word gUnknown_Debug_083F854D
-._446:
- add r0, r6, #0
- add r0, r0, #0xa
- ldr r2, ._520 @ gNatureNames
- ldr r1, ._520 + 4 @ gUnknown_Debug_2038A1C
- ldr r1, [r1]
- add r1, r1, #0x64
- add r1, r1, r7
- ldr r1, [r1]
- lsl r1, r1, #0x2
- add r1, r1, r2
- ldr r1, [r1]
- mov r2, #0x5
- bl debug_80C689C
-._517:
- mov r0, #0x0
- pop {r3, r4}
- mov r8, r3
- mov r9, r4
- pop {r4, r5, r6, r7}
- pop {r1}
- bx r1
-._521:
- .align 2, 0
-._520:
- .word gNatureNames
- .word gUnknown_Debug_2038A1C
-
- thumb_func_end debug_80C5738
-
- thumb_func_start debug_80C5B60
-debug_80C5B60:
- lsl r0, r0, #0x18
- ldr r1, ._522 @ gUnknown_Debug_2038A1C
- ldr r1, [r1]
- lsr r0, r0, #0x16
- add r1, r1, #0x64
- add r1, r1, r0
- ldr r0, [r1]
- bx lr
-._523:
- .align 2, 0
-._522:
- .word gUnknown_Debug_2038A1C
-
- thumb_func_end debug_80C5B60
-
- thumb_func_start debug_80C5B74
-debug_80C5B74:
- push {r4, r5, r6, lr}
- add r6, r0, #0
- lsl r1, r1, #0x18
- lsr r2, r1, #0x18
- cmp r2, #0x18
- bhi ._540 @cond_branch
- lsl r0, r2, #0x2
- ldr r1, ._526 @
- add r1, r0, r1
- ldr r1, [r1]
- add r3, r0, #0
- mov pc, r1
-._527:
- .align 2, 0
-._526:
- .word ._525
-._525:
- .word ._532
- .word ._529
- .word ._530
- .word ._532
- .word ._532
- .word ._540
- .word ._540
- .word ._540
- .word ._540
- .word ._540
- .word ._540
- .word ._540
- .word ._540
- .word ._552
- .word ._552
- .word ._552
- .word ._552
- .word ._552
- .word ._552
- .word ._552
- .word ._552
- .word ._552
- .word ._552
- .word ._552
- .word ._552
-._540:
- ldr r0, ._554 @ gUnknown_Debug_2038A1C
- ldr r0, [r0]
- lsl r1, r2, #0x2
- add r0, r0, #0x64
- add r0, r0, r1
- str r6, [r0]
- b ._562
-._555:
- .align 2, 0
-._554:
- .word gUnknown_Debug_2038A1C
-._532:
- ldr r0, ._557 @ gUnknown_Debug_2038A1C
- ldr r0, [r0]
- add r0, r0, #0x64
- add r0, r0, r3
- str r6, [r0]
- bl debug_80C5C94
- b ._562
-._558:
- .align 2, 0
-._557:
- .word gUnknown_Debug_2038A1C
-._529:
- ldr r4, ._560 @ gUnknown_Debug_2038A1C
- ldr r1, [r4]
- add r0, r1, #0
- add r0, r0, #0x64
- add r0, r0, r3
- str r6, [r0]
- ldr r0, [r1, #0x64]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl NationalPokedexNumToSpecies
- ldr r5, [r4]
- ldr r4, ._560 + 4 @ gExperienceTables
- lsl r2, r6, #0x2
- ldr r3, ._560 + 8 @ gBaseStats
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- lsl r1, r0, #0x3
- sub r1, r1, r0
- lsl r1, r1, #0x2
- add r1, r1, r3
- ldrb r1, [r1, #0x13]
- mov r0, #0xca
- lsl r0, r0, #0x1
- mul r0, r0, r1
- add r2, r2, r0
- add r2, r2, r4
- ldr r0, [r2]
- str r0, [r5, #0x6c]
- bl debug_80C5C94
- b ._562
-._561:
- .align 2, 0
-._560:
- .word gUnknown_Debug_2038A1C
- .word gExperienceTables
- .word gBaseStats
-._530:
- ldr r0, ._563 @ gUnknown_Debug_2038A1C
- ldr r0, [r0]
- add r0, r0, #0x64
- add r0, r0, r3
- str r6, [r0]
- bl debug_80C5DEC
- b ._562
-._564:
- .align 2, 0
-._563:
- .word gUnknown_Debug_2038A1C
-._552:
- ldr r0, ._565 @ gUnknown_Debug_2038A1C
- ldr r0, [r0]
- add r0, r0, #0x64
- add r0, r0, r3
- str r6, [r0]
- bl debug_80C5EF4
-._562:
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._566:
- .align 2, 0
-._565:
- .word gUnknown_Debug_2038A1C
-
- thumb_func_end debug_80C5B74
-
- thumb_func_start debug_80C5C94
-debug_80C5C94:
- push {r4, r5, r6, lr}
- add sp, sp, #0xfffffff0
- ldr r6, ._567 @ gUnknown_Debug_2038A1C
- ldr r2, [r6]
- add r0, r2, #0
- add r0, r0, #0x98
- ldr r4, [r0]
- mov r1, #0x1f
- and r4, r4, r1
- add r0, r0, #0x8
- ldr r0, [r0]
- and r0, r0, r1
- lsl r0, r0, #0x5
- orr r4, r4, r0
- add r0, r2, #0
- add r0, r0, #0xa8
- ldr r0, [r0]
- and r0, r0, r1
- lsl r0, r0, #0xa
- orr r4, r4, r0
- add r0, r2, #0
- add r0, r0, #0xb0
- ldr r0, [r0]
- and r0, r0, r1
- lsl r0, r0, #0xf
- orr r4, r4, r0
- add r0, r2, #0
- add r0, r0, #0xb8
- ldr r0, [r0]
- and r0, r0, r1
- lsl r0, r0, #0x14
- orr r4, r4, r0
- add r0, r2, #0
- add r0, r0, #0xc0
- ldr r0, [r0]
- and r0, r0, r1
- lsl r0, r0, #0x19
- orr r4, r4, r0
- ldr r0, [r2, #0x64]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl NationalPokedexNumToSpecies
- add r1, r0, #0
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- ldr r0, [r6]
- ldr r2, [r0, #0x68]
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- mov r5, #0x1
- str r5, [sp]
- ldr r3, [r0, #0x74]
- str r3, [sp, #0x4]
- str r5, [sp, #0x8]
- ldr r3, [r0, #0x70]
- str r3, [sp, #0xc]
- add r3, r4, #0
- bl CreateMon
- ldr r0, [r6]
- bl GetMonGender
- ldr r1, [r6]
- add r0, r0, #0x2
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [r1, #0x78]
- add r0, r1, #0
- bl GetNature
- ldr r1, [r6]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [r1, #0x7c]
- add r0, r1, #0
- mov r1, #0xd
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r6]
- add r1, r0, #0
- add r1, r1, #0x80
- str r2, [r1]
- mov r1, #0xe
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r6]
- add r1, r0, #0
- add r1, r1, #0x84
- str r2, [r1]
- mov r1, #0xf
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r6]
- add r1, r0, #0
- add r1, r1, #0x88
- str r2, [r1]
- mov r1, #0x10
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r6]
- add r1, r0, #0
- add r1, r1, #0x8c
- str r2, [r1]
- mov r1, #0x19
- bl GetMonData
- add r1, r0, #0
- ldr r0, [r6]
- str r1, [r0, #0x6c]
- mov r1, #0x3a
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r6]
- add r1, r0, #0
- add r1, r1, #0xf0
- str r2, [r1]
- mov r1, #0x3b
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r6]
- add r1, r0, #0
- add r1, r1, #0xf4
- str r2, [r1]
- mov r1, #0x3c
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r6]
- add r1, r0, #0
- add r1, r1, #0xf8
- str r2, [r1]
- mov r1, #0x3d
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r6]
- add r1, r0, #0
- add r1, r1, #0xfc
- str r2, [r1]
- mov r1, #0x3e
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r6]
- mov r3, #0x80
- lsl r3, r3, #0x1
- add r1, r0, r3
- str r2, [r1]
- mov r1, #0x3f
- bl GetMonData
- ldr r1, [r6]
- mov r2, #0x82
- lsl r2, r2, #0x1
- add r1, r1, r2
- str r0, [r1]
- add sp, sp, #0x10
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._568:
- .align 2, 0
-._567:
- .word gUnknown_Debug_2038A1C
-
- thumb_func_end debug_80C5C94
-
- thumb_func_start debug_80C5DEC
-debug_80C5DEC:
- push {r4, lr}
- add sp, sp, #0xfffffffc
- mov r0, #0x0
- str r0, [sp]
- ldr r4, ._569 @ gUnknown_Debug_2038A1C
- ldr r0, [r4]
- add r2, r0, #0
- add r2, r2, #0x6c
- mov r1, #0x19
- bl SetMonData
- ldr r0, [r4]
- mov r1, #0xd
- mov r2, sp
- bl SetMonData
- ldr r0, [r4]
- mov r1, #0xe
- mov r2, sp
- bl SetMonData
- ldr r0, [r4]
- mov r1, #0xf
- mov r2, sp
- bl SetMonData
- ldr r0, [r4]
- mov r1, #0x10
- mov r2, sp
- bl SetMonData
- ldr r0, [r4]
- bl CalculateMonStats
- ldr r0, [r4]
- bl GiveMonInitialMoveset
- ldr r0, [r4]
- mov r1, #0x38
- bl GetMonData
- add r1, r0, #0
- ldr r0, [r4]
- str r1, [r0, #0x68]
- mov r1, #0xd
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r4]
- add r1, r0, #0
- add r1, r1, #0x80
- str r2, [r1]
- mov r1, #0xe
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r4]
- add r1, r0, #0
- add r1, r1, #0x84
- str r2, [r1]
- mov r1, #0xf
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r4]
- add r1, r0, #0
- add r1, r1, #0x88
- str r2, [r1]
- mov r1, #0x10
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r4]
- add r1, r0, #0
- add r1, r1, #0x8c
- str r2, [r1]
- mov r1, #0x3a
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r4]
- add r1, r0, #0
- add r1, r1, #0xf0
- str r2, [r1]
- mov r1, #0x3b
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r4]
- add r1, r0, #0
- add r1, r1, #0xf4
- str r2, [r1]
- mov r1, #0x3c
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r4]
- add r1, r0, #0
- add r1, r1, #0xf8
- str r2, [r1]
- mov r1, #0x3d
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r4]
- add r1, r0, #0
- add r1, r1, #0xfc
- str r2, [r1]
- mov r1, #0x3e
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r4]
- mov r3, #0x80
- lsl r3, r3, #0x1
- add r1, r0, r3
- str r2, [r1]
- mov r1, #0x3f
- bl GetMonData
- ldr r1, [r4]
- mov r2, #0x82
- lsl r2, r2, #0x1
- add r1, r1, r2
- str r0, [r1]
- add sp, sp, #0x4
- pop {r4}
- pop {r0}
- bx r0
-._570:
- .align 2, 0
-._569:
- .word gUnknown_Debug_2038A1C
-
- thumb_func_end debug_80C5DEC
-
- thumb_func_start debug_80C5EF4
-debug_80C5EF4:
- push {r4, lr}
- ldr r4, ._571 @ gUnknown_Debug_2038A1C
- ldr r0, [r4]
- add r2, r0, #0
- add r2, r2, #0x98
- mov r1, #0x27
- bl SetMonData
- ldr r0, [r4]
- add r2, r0, #0
- add r2, r2, #0x9c
- mov r1, #0x1a
- bl SetMonData
- ldr r0, [r4]
- add r2, r0, #0
- add r2, r2, #0xa0
- mov r1, #0x28
- bl SetMonData
- ldr r0, [r4]
- add r2, r0, #0
- add r2, r2, #0xa4
- mov r1, #0x1b
- bl SetMonData
- ldr r0, [r4]
- add r2, r0, #0
- add r2, r2, #0xa8
- mov r1, #0x29
- bl SetMonData
- ldr r0, [r4]
- add r2, r0, #0
- add r2, r2, #0xac
- mov r1, #0x1c
- bl SetMonData
- ldr r0, [r4]
- add r2, r0, #0
- add r2, r2, #0xb0
- mov r1, #0x2a
- bl SetMonData
- ldr r0, [r4]
- add r2, r0, #0
- add r2, r2, #0xb4
- mov r1, #0x1d
- bl SetMonData
- ldr r0, [r4]
- add r2, r0, #0
- add r2, r2, #0xb8
- mov r1, #0x2b
- bl SetMonData
- ldr r0, [r4]
- add r2, r0, #0
- add r2, r2, #0xbc
- mov r1, #0x1e
- bl SetMonData
- ldr r0, [r4]
- add r2, r0, #0
- add r2, r2, #0xc0
- mov r1, #0x2c
- bl SetMonData
- ldr r0, [r4]
- add r2, r0, #0
- add r2, r2, #0xc4
- mov r1, #0x1f
- bl SetMonData
- ldr r0, [r4]
- bl CalculateMonStats
- ldr r0, [r4]
- mov r1, #0x3a
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r4]
- add r1, r0, #0
- add r1, r1, #0xf0
- str r2, [r1]
- mov r1, #0x3b
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r4]
- add r1, r0, #0
- add r1, r1, #0xf4
- str r2, [r1]
- mov r1, #0x3c
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r4]
- add r1, r0, #0
- add r1, r1, #0xf8
- str r2, [r1]
- mov r1, #0x3d
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r4]
- add r1, r0, #0
- add r1, r1, #0xfc
- str r2, [r1]
- mov r1, #0x3e
- bl GetMonData
- add r2, r0, #0
- ldr r0, [r4]
- mov r3, #0x80
- lsl r3, r3, #0x1
- add r1, r0, r3
- str r2, [r1]
- mov r1, #0x3f
- bl GetMonData
- ldr r1, [r4]
- mov r2, #0x82
- lsl r2, r2, #0x1
- add r1, r1, r2
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
-._572:
- .align 2, 0
-._571:
- .word gUnknown_Debug_2038A1C
-
- thumb_func_end debug_80C5EF4
-
- thumb_func_start debug_80C5FFC
-debug_80C5FFC:
- push {r4, r5, r6, r7, lr}
- add sp, sp, #0xffffffe0
- ldr r1, ._578 @ gUnknown_Debug_083F8758
- add r0, sp, #0x10
- mov r2, #0x4
- bl memcpy
- add r7, sp, #0x14
- ldr r1, ._578 + 4 @ gUnknown_Debug_083F875C
- add r0, r7, #0
- mov r2, #0x8
- bl memcpy
- ldr r5, ._578 + 8 @ gUnknown_Debug_2038A1C
- ldr r2, [r5]
- add r0, r2, #0
- add r0, r0, #0x98
- ldr r4, [r0]
- mov r1, #0x1f
- and r4, r4, r1
- add r0, r0, #0x8
- ldr r0, [r0]
- and r0, r0, r1
- lsl r0, r0, #0x5
- orr r4, r4, r0
- add r0, r2, #0
- add r0, r0, #0xa8
- ldr r0, [r0]
- and r0, r0, r1
- lsl r0, r0, #0xa
- orr r4, r4, r0
- add r0, r2, #0
- add r0, r0, #0xb0
- ldr r0, [r0]
- and r0, r0, r1
- lsl r0, r0, #0xf
- orr r4, r4, r0
- add r0, r2, #0
- add r0, r0, #0xb8
- ldr r0, [r0]
- and r0, r0, r1
- lsl r0, r0, #0x14
- orr r4, r4, r0
- add r0, r2, #0
- add r0, r0, #0xc0
- ldr r0, [r0]
- and r0, r0, r1
- lsl r0, r0, #0x19
- orr r4, r4, r0
- ldr r0, [r2, #0x64]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl NationalPokedexNumToSpecies
- add r1, r0, #0
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- ldr r0, [r5]
- ldr r2, [r0, #0x68]
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- lsl r4, r4, #0x18
- lsr r4, r4, #0x18
- mov r6, #0x1
- str r6, [sp]
- ldr r3, [r0, #0x74]
- str r3, [sp, #0x4]
- str r6, [sp, #0x8]
- ldr r3, [r0, #0x70]
- str r3, [sp, #0xc]
- add r3, r4, #0
- bl CreateMon
- ldr r2, [r5]
- add r0, r2, #0
- add r0, r0, #0x80
- ldr r0, [r0]
- cmp r0, #0
- beq ._573 @cond_branch
- lsl r1, r0, #0x10
- lsr r1, r1, #0x10
- add r0, r2, #0
- mov r2, #0x0
- bl SetMonMoveSlot
-._573:
- ldr r2, [r5]
- add r0, r2, #0
- add r0, r0, #0x84
- ldr r0, [r0]
- cmp r0, #0
- beq ._574 @cond_branch
- lsl r1, r0, #0x10
- lsr r1, r1, #0x10
- add r0, r2, #0
- mov r2, #0x1
- bl SetMonMoveSlot
-._574:
- ldr r2, [r5]
- add r0, r2, #0
- add r0, r0, #0x88
- ldr r0, [r0]
- cmp r0, #0
- beq ._575 @cond_branch
- lsl r1, r0, #0x10
- lsr r1, r1, #0x10
- add r0, r2, #0
- mov r2, #0x2
- bl SetMonMoveSlot
-._575:
- ldr r2, [r5]
- add r0, r2, #0
- add r0, r0, #0x8c
- ldr r0, [r0]
- cmp r0, #0
- beq ._576 @cond_branch
- lsl r1, r0, #0x10
- lsr r1, r1, #0x10
- add r0, r2, #0
- mov r2, #0x3
- bl SetMonMoveSlot
-._576:
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0x6c
- mov r1, #0x19
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0x98
- mov r1, #0x27
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0x9c
- mov r1, #0x1a
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xa0
- mov r1, #0x28
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xa4
- mov r1, #0x1b
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xa8
- mov r1, #0x29
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xac
- mov r1, #0x1c
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xb0
- mov r1, #0x2a
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xb4
- mov r1, #0x1d
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xb8
- mov r1, #0x2b
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xbc
- mov r1, #0x1e
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xc0
- mov r1, #0x2c
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xc4
- mov r1, #0x1f
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xc8
- mov r1, #0x16
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xcc
- mov r1, #0x17
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xd0
- mov r1, #0x18
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xd4
- mov r1, #0x21
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xd8
- mov r1, #0x2f
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xdc
- mov r1, #0x30
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xe0
- mov r1, #0x20
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xe4
- mov r1, #0x22
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0x90
- mov r1, #0xc
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0x94
- mov r1, #0x2e
- bl SetMonData
- ldr r0, [r5]
- add r1, r0, #0
- add r1, r1, #0xec
- ldr r2, [r1]
- lsl r2, r2, #0x3
- ldr r1, ._578 + 12 @ gUnknown_Debug_083F86E8
- add r2, r2, r1
- mov r1, #0x37
- bl SetMonData
- ldr r0, [r5]
- add r2, r0, #0
- add r2, r2, #0xe8
- mov r1, #0x2d
- bl SetMonData
- ldr r1, [r5]
- add r0, r1, #0
- add r0, r0, #0xe8
- ldr r0, [r0]
- cmp r0, #0
- beq ._577 @cond_branch
- add r0, r1, #0
- mov r1, #0x2
- add r2, sp, #0x10
- bl SetMonData
- add r2, sp, #0x1c
- strb r6, [r2]
- ldr r0, [r5]
- mov r1, #0x3
- bl SetMonData
-._577:
- ldr r0, [r5]
- mov r1, #0x7
- add r2, r7, #0
- bl SetMonData
- mov r2, sp
- add r2, r2, #0x1e
- mov r0, #0xff
- strh r0, [r2]
- ldr r0, [r5]
- mov r1, #0x23
- bl SetMonData
- ldr r0, [r5]
- bl CalculateMonStats
- add sp, sp, #0x20
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._579:
- .align 2, 0
-._578:
- .word gUnknown_Debug_083F8758
- .word gUnknown_Debug_083F875C
- .word gUnknown_Debug_2038A1C
- .word gUnknown_Debug_083F86E8+0x4
-
- thumb_func_end debug_80C5FFC
-
- thumb_func_start debug_80C627C
-debug_80C627C:
- push {r4, r5, r6, lr}
- add sp, sp, #0xfffffff8
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- add r6, r4, #0
- ldr r1, ._584 @ gUnknown_Debug_083F7FD4
- mov r0, sp
- mov r2, #0x2
- bl memcpy
- add r5, sp, #0x4
- ldr r1, ._584 + 4 @ gUnknown_Debug_083F8764
- add r0, r5, #0
- mov r2, #0x2
- bl memcpy
- cmp r4, #0x1
- beq ._580 @cond_branch
- cmp r4, #0x1
- bgt ._581 @cond_branch
- cmp r4, #0
- beq ._582 @cond_branch
- b ._595
-._585:
- .align 2, 0
-._584:
- .word gUnknown_Debug_083F7FD4
- .word gUnknown_Debug_083F8764
-._581:
- cmp r6, #0x2
- beq ._586 @cond_branch
- b ._595
-._582:
- ldr r0, ._589 @ gUnknown_Debug_2038A1C
- ldr r0, [r0]
- ldr r1, ._589 + 4 @ 0x169
- add r0, r0, r1
- b ._588
-._590:
- .align 2, 0
-._589:
- .word gUnknown_Debug_2038A1C
- .word 0x169
-._580:
- ldr r4, ._593 @ gUnknown_Debug_2038A1C
- ldr r3, [r4]
- ldr r1, ._593 + 4 @ 0x169
- add r0, r3, r1
- ldrb r2, [r0]
- ldr r1, ._593 + 8 @ gUnknown_Debug_083F8698
- mov r6, #0xb4
- lsl r6, r6, #0x1
- add r0, r3, r6
- ldrb r0, [r0]
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldrb r0, [r0, #0x4]
- sub r0, r0, #0x1
- cmp r2, r0
- bge ._595 @cond_branch
- lsl r2, r2, #0x19
- mov r0, #0xa0
- lsl r0, r0, #0x13
- add r2, r2, r0
- lsr r2, r2, #0x18
- add r0, r5, #0
- mov r1, #0x1
- bl Menu_PrintText
- ldr r0, [r4]
- ldr r2, ._593 + 4 @ 0x169
- add r1, r0, r2
- ldrb r0, [r1]
- add r0, r0, #0x1
- strb r0, [r1]
- ldr r0, [r4]
- add r0, r0, r2
-._588:
- ldrb r2, [r0]
- lsl r2, r2, #0x19
- mov r6, #0xa0
- lsl r6, r6, #0x13
- add r2, r2, r6
- lsr r2, r2, #0x18
- mov r0, sp
- mov r1, #0x1
- bl Menu_PrintText
- b ._595
-._594:
- .align 2, 0
-._593:
- .word gUnknown_Debug_2038A1C
- .word 0x169
- .word gUnknown_Debug_083F8698
-._586:
- ldr r4, ._596 @ gUnknown_Debug_2038A1C
- ldr r0, [r4]
- ldr r2, ._596 + 4 @ 0x169
- add r1, r0, r2
- ldrb r0, [r1]
- cmp r0, #0
- beq ._595 @cond_branch
- add r2, r0, #0
- lsl r2, r2, #0x19
- mov r6, #0xa0
- lsl r6, r6, #0x13
- add r2, r2, r6
- lsr r2, r2, #0x18
- add r0, r5, #0
- mov r1, #0x1
- bl Menu_PrintText
- ldr r0, [r4]
- ldr r2, ._596 + 4 @ 0x169
- add r1, r0, r2
- ldrb r0, [r1]
- sub r0, r0, #0x1
- strb r0, [r1]
- ldr r0, [r4]
- add r0, r0, r2
- ldrb r2, [r0]
- lsl r2, r2, #0x19
- add r2, r2, r6
- lsr r2, r2, #0x18
- mov r0, sp
- mov r1, #0x1
- bl Menu_PrintText
-._595:
- add sp, sp, #0x8
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._597:
- .align 2, 0
-._596:
- .word gUnknown_Debug_2038A1C
- .word 0x169
-
- thumb_func_end debug_80C627C
-
- thumb_func_start debug_80C6384
-debug_80C6384:
- push {r4, r5, r6, r7, lr}
- mov r7, r9
- mov r6, r8
- push {r6, r7}
- mov r0, #0x0
- mov r1, #0x4
- mov r2, #0x1d
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- mov r5, #0x0
- ldr r3, ._600 @ gUnknown_Debug_083F8698
- ldr r1, ._600 + 4 @ gUnknown_Debug_2038A1C
- ldr r0, [r1]
- mov r2, #0xb4
- lsl r2, r2, #0x1
- add r0, r0, r2
- ldrb r0, [r0]
- lsl r0, r0, #0x3
- add r0, r0, r3
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, #0xff
- beq ._598 @cond_branch
- add r4, r1, #0
- ldr r0, ._600 + 8 @ 0x16b
- mov r9, r0
- mov r8, r3
- add r7, r2, #0
- mov r6, #0x1
-._599:
- ldr r0, [r4]
- add r0, r0, r9
- mov r1, #0xfc
- strb r1, [r0]
- ldr r0, [r4]
- add r1, r1, #0x70
- add r0, r0, r1
- strb r6, [r0]
- ldr r0, [r4]
- ldr r2, ._600 + 12 @ 0x16d
- add r0, r0, r2
- strb r6, [r0]
- ldr r1, [r4]
- add r2, r2, #0x1
- add r0, r1, r2
- add r1, r1, r7
- ldrb r1, [r1]
- lsl r1, r1, #0x3
- add r1, r1, r8
- ldr r1, [r1]
- add r1, r1, r5
- ldrb r1, [r1]
- mov r2, #0x1
- bl debug_80C5738
- ldr r0, [r4]
- add r0, r0, r9
- lsl r2, r5, #0x19
- mov r1, #0xa0
- lsl r1, r1, #0x13
- add r2, r2, r1
- lsr r2, r2, #0x18
- mov r1, #0x2
- bl Menu_PrintText
- add r0, r5, #1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- ldr r0, [r4]
- add r0, r0, r7
- ldrb r0, [r0]
- lsl r0, r0, #0x3
- add r0, r0, r8
- ldr r0, [r0]
- add r0, r0, r5
- ldrb r0, [r0]
- cmp r0, #0xff
- bne ._599 @cond_branch
-._598:
- pop {r3, r4}
- mov r8, r3
- mov r9, r4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._601:
- .align 2, 0
-._600:
- .word gUnknown_Debug_083F8698
- .word gUnknown_Debug_2038A1C
- .word 0x16b
- .word 0x16d
-
- thumb_func_end debug_80C6384
-
- thumb_func_start debug_80C643C
-debug_80C643C:
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- mov r0, #0x2
- mov r1, #0x5
- mov r2, #0x1c
- mov r3, #0x12
- bl Menu_BlankWindowRect
- mov r5, #0x0
- ldr r6, ._605 @ gUnknown_Debug_083F8698
- ldr r1, ._605 + 4 @ gUnknown_Debug_2038A1C
- ldr r0, [r1]
- mov r3, #0xb4
- lsl r3, r3, #0x1
- add r0, r0, r3
- ldrb r0, [r0]
- lsl r0, r0, #0x3
- add r0, r0, r6
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, #0xff
- beq ._602 @cond_branch
- add r4, r1, #0
- mov r0, #0x1
- mov r8, r0
-._607:
- ldr r0, [r4]
- ldr r7, ._605 + 8 @ 0x16b
- add r2, r0, r7
- mov r0, #0xfc
- strb r0, [r2]
- ldr r0, [r4]
- mov r2, #0xb6
- lsl r2, r2, #0x1
- add r0, r0, r2
- mov r7, r8
- strb r7, [r0]
- ldr r2, [r4]
- ldr r7, ._605 + 12 @ 0x169
- add r0, r2, r7
- ldrb r0, [r0]
- cmp r5, r0
- bne ._603 @cond_branch
- ldr r0, ._605 + 16 @ 0x16d
- add r2, r2, r0
- mov r0, #0x2
- strb r0, [r2]
- ldr r1, [r1]
- mov r2, #0xb7
- lsl r2, r2, #0x1
- add r0, r1, r2
- add r1, r1, r3
- ldrb r1, [r1]
- lsl r1, r1, #0x3
- add r1, r1, r6
- ldr r1, [r1]
- add r1, r1, r5
- ldrb r1, [r1]
- mov r2, #0x2
- bl debug_80C5738
- b ._604
-._606:
- .align 2, 0
-._605:
- .word gUnknown_Debug_083F8698
- .word gUnknown_Debug_2038A1C
- .word 0x16b
- .word 0x169
- .word 0x16d
-._603:
- ldr r3, ._608 @ 0x16d
- add r0, r2, r3
- mov r7, r8
- strb r7, [r0]
- ldr r1, [r1]
- mov r2, #0xb7
- lsl r2, r2, #0x1
- add r0, r1, r2
- ldr r2, ._608 + 4 @ gUnknown_Debug_083F8698
- sub r3, r3, #0x5
- add r1, r1, r3
- ldrb r1, [r1]
- lsl r1, r1, #0x3
- add r1, r1, r2
- ldr r1, [r1]
- add r1, r1, r5
- ldrb r1, [r1]
- mov r2, #0x1
- bl debug_80C5738
-._604:
- ldr r0, [r4]
- ldr r7, ._608 + 8 @ 0x16b
- add r0, r0, r7
- lsl r2, r5, #0x19
- mov r1, #0xa0
- lsl r1, r1, #0x13
- add r2, r2, r1
- lsr r2, r2, #0x18
- mov r1, #0x2
- bl Menu_PrintText
- add r0, r5, #1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- ldr r6, ._608 + 4 @ gUnknown_Debug_083F8698
- add r1, r4, #0
- ldr r0, [r4]
- mov r3, #0xb4
- lsl r3, r3, #0x1
- add r0, r0, r3
- ldrb r0, [r0]
- lsl r0, r0, #0x3
- add r0, r0, r6
- ldr r0, [r0]
- add r0, r0, r5
- ldrb r0, [r0]
- cmp r0, #0xff
- bne ._607 @cond_branch
-._602:
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._609:
- .align 2, 0
-._608:
- .word 0x16d
- .word gUnknown_Debug_083F8698
- .word 0x16b
-
- thumb_func_end debug_80C643C
-
- thumb_func_start debug_80C6544
-debug_80C6544:
- push {r4, r5, r6, r7, lr}
- mov r7, r9
- mov r6, r8
- push {r6, r7}
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r9, r0
- ldr r0, ._614 @ gUnknown_Debug_083F8698
- mov r8, r0
- ldr r6, ._614 + 4 @ gUnknown_Debug_2038A1C
- ldr r1, [r6]
- mov r5, #0xb4
- lsl r5, r5, #0x1
- add r0, r1, r5
- ldrb r0, [r0]
- lsl r0, r0, #0x3
- add r0, r0, r8
- ldr r4, ._614 + 8 @ 0x169
- add r1, r1, r4
- ldrb r1, [r1]
- ldr r0, [r0]
- add r0, r0, r1
- ldrb r0, [r0]
- bl debug_80C5B60
- add r7, r0, #0
- ldr r2, ._614 + 12 @ gUnknown_Debug_083F8554
- ldr r3, [r6]
- add r5, r3, r5
- ldrb r0, [r5]
- lsl r0, r0, #0x3
- add r0, r0, r8
- add r4, r3, r4
- ldrb r1, [r4]
- ldr r0, [r0]
- add r0, r0, r1
- ldrb r0, [r0]
- lsl r0, r0, #0x3
- add r2, r2, #0x4
- add r0, r0, r2
- ldr r1, [r0]
- ldr r5, [r1]
- ldr r4, [r1, #0x4]
- ldr r2, ._614 + 16 @ gUnknown_Debug_083F8768
- mov r6, #0xb5
- lsl r6, r6, #0x1
- add r0, r3, r6
- ldrb r0, [r0]
- lsl r0, r0, #0x2
- add r0, r0, r2
- ldr r3, [r0]
- ldrb r0, [r1, #0x8]
- cmp r0, #0
- bne ._623 @cond_branch
- mov r0, r9
- cmp r0, #0x1
- beq ._611 @cond_branch
- cmp r0, #0x2
- beq ._612 @cond_branch
- b ._623
-._615:
- .align 2, 0
-._614:
- .word gUnknown_Debug_083F8698
- .word gUnknown_Debug_2038A1C
- .word 0x169
- .word gUnknown_Debug_083F8554
- .word gUnknown_Debug_083F8768
-._611:
- sub r0, r4, r3
- cmp r7, r0
- bcs ._616 @cond_branch
- add r7, r7, r3
- b ._623
-._616:
- cmp r7, r4
- bcc ._622 @cond_branch
- b ._619
-._612:
- add r0, r5, r3
- cmp r7, r0
- bls ._620 @cond_branch
- sub r7, r7, r3
- b ._623
-._620:
- cmp r7, r5
- bls ._622 @cond_branch
-._619:
- add r7, r5, #0
- b ._623
-._622:
- add r7, r4, #0
-._623:
- ldr r1, ._624 @ gUnknown_Debug_083F8698
- ldr r0, ._624 + 4 @ gUnknown_Debug_2038A1C
- ldr r2, [r0]
- mov r3, #0xb4
- lsl r3, r3, #0x1
- add r0, r2, r3
- ldrb r0, [r0]
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r6, ._624 + 8 @ 0x169
- add r1, r2, r6
- ldrb r1, [r1]
- ldr r0, [r0]
- add r0, r0, r1
- ldrb r1, [r0]
- add r0, r7, #0
- bl debug_80C5B74
- pop {r3, r4}
- mov r8, r3
- mov r9, r4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._625:
- .align 2, 0
-._624:
- .word gUnknown_Debug_083F8698
- .word gUnknown_Debug_2038A1C
- .word 0x169
-
- thumb_func_end debug_80C6544
-
- thumb_func_start debug_80C6630
-debug_80C6630:
- push {r4, r5, lr}
- add r4, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- lsl r3, r3, #0x18
- lsr r3, r3, #0x18
- mov r0, #0xfc
- strb r0, [r4]
- add r4, r4, #0x1
- mov r0, #0x1
- strb r0, [r4]
- add r4, r4, #0x1
- cmp r2, #0x2
- bne ._626 @cond_branch
- ldr r0, ._629 @ gUnknown_Debug_2038A1C
- ldr r0, [r0]
- mov r5, #0xb5
- lsl r5, r5, #0x1
- add r0, r0, r5
- ldrb r0, [r0]
- cmp r3, r0
- beq ._627 @cond_branch
- strb r2, [r4]
- b ._628
-._630:
- .align 2, 0
-._629:
- .word gUnknown_Debug_2038A1C
-._627:
- mov r0, #0x4
-._626:
- strb r0, [r4]
-._628:
- add r0, r1, #0
- add r0, r0, #0xa1
- strb r0, [r4, #0x1]
- pop {r4, r5}
- pop {r0}
- bx r0
-
- thumb_func_end debug_80C6630
-
- thumb_func_start debug_80C6678
-debug_80C6678:
- push {r4, r5, r6, r7, lr}
- mov r7, r9
- mov r6, r8
- push {r6, r7}
- mov r9, r0
- add r6, r1, #0
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- lsl r3, r3, #0x18
- lsr r3, r3, #0x18
- mov r8, r3
- mov r7, #0x0
- sub r0, r2, #1
- cmp r0, #0x9
- bhi ._644 @cond_branch
- lsl r0, r0, #0x2
- ldr r1, ._633 @
- add r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
-._634:
- .align 2, 0
-._633:
- .word ._632
-._632:
- .word ._635
- .word ._636
- .word ._637
- .word ._638
- .word ._639
- .word ._640
- .word ._641
- .word ._642
- .word ._643
- .word ._644
-._644:
- mov r0, r9
- add r4, r0, r7
- ldr r5, ._645 @ 0x3b9aca00
- add r0, r6, #0
- add r1, r5, #0
- bl __udivsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r4, #0
- mov r2, r8
- mov r3, #0x9
- bl debug_80C6630
- add r0, r6, #0
- add r1, r5, #0
- bl __umodsi3
- add r6, r0, #0
- add r0, r7, #4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._643:
- mov r1, r9
- add r4, r1, r7
- ldr r5, ._645 + 4 @ 0x5f5e100
- add r0, r6, #0
- add r1, r5, #0
- bl __udivsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r4, #0
- mov r2, r8
- mov r3, #0x8
- bl debug_80C6630
- add r0, r6, #0
- add r1, r5, #0
- bl __umodsi3
- add r6, r0, #0
- add r0, r7, #4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._642:
- mov r0, r9
- add r4, r0, r7
- ldr r5, ._645 + 8 @ 0x989680
- add r0, r6, #0
- add r1, r5, #0
- bl __udivsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r4, #0
- mov r2, r8
- mov r3, #0x7
- bl debug_80C6630
- add r0, r6, #0
- add r1, r5, #0
- bl __umodsi3
- add r6, r0, #0
- add r0, r7, #4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._641:
- mov r1, r9
- add r4, r1, r7
- ldr r5, ._645 + 12 @ 0xf4240
- add r0, r6, #0
- add r1, r5, #0
- bl __udivsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r4, #0
- mov r2, r8
- mov r3, #0x6
- bl debug_80C6630
- add r0, r6, #0
- add r1, r5, #0
- bl __umodsi3
- add r6, r0, #0
- add r0, r7, #4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._640:
- mov r0, r9
- add r4, r0, r7
- ldr r5, ._645 + 16 @ 0x186a0
- add r0, r6, #0
- add r1, r5, #0
- bl __udivsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r4, #0
- mov r2, r8
- mov r3, #0x5
- bl debug_80C6630
- add r0, r6, #0
- add r1, r5, #0
- bl __umodsi3
- add r6, r0, #0
- add r0, r7, #4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._639:
- mov r1, r9
- add r4, r1, r7
- ldr r5, ._645 + 20 @ 0x2710
- add r0, r6, #0
- add r1, r5, #0
- bl __udivsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r4, #0
- mov r2, r8
- mov r3, #0x4
- bl debug_80C6630
- add r0, r6, #0
- add r1, r5, #0
- bl __umodsi3
- add r6, r0, #0
- add r0, r7, #4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._638:
- mov r0, r9
- add r4, r0, r7
- mov r5, #0xfa
- lsl r5, r5, #0x2
- add r0, r6, #0
- add r1, r5, #0
- bl __udivsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r4, #0
- mov r2, r8
- mov r3, #0x3
- bl debug_80C6630
- add r0, r6, #0
- add r1, r5, #0
- bl __umodsi3
- add r6, r0, #0
- add r0, r7, #4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._637:
- mov r1, r9
- add r4, r1, r7
- add r0, r6, #0
- mov r1, #0x64
- bl __udivsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r4, #0
- mov r2, r8
- mov r3, #0x2
- bl debug_80C6630
- add r0, r6, #0
- mov r1, #0x64
- bl __umodsi3
- add r6, r0, #0
- add r0, r7, #4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._636:
- mov r0, r9
- add r4, r0, r7
- add r0, r6, #0
- mov r1, #0xa
- bl __udivsi3
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r4, #0
- mov r2, r8
- mov r3, #0x1
- bl debug_80C6630
- add r0, r6, #0
- mov r1, #0xa
- bl __umodsi3
- add r6, r0, #0
- add r0, r7, #4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-._635:
- mov r1, r9
- add r0, r1, r7
- lsl r1, r6, #0x18
- lsr r1, r1, #0x18
- mov r2, r8
- mov r3, #0x0
- bl debug_80C6630
- pop {r3, r4}
- mov r8, r3
- mov r9, r4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._646:
- .align 2, 0
-._645:
- .word 0x3b9aca00
- .word 0x5f5e100
- .word 0x989680
- .word 0xf4240
- .word 0x186a0
- .word 0x2710
-
- thumb_func_end debug_80C6678
-
- thumb_func_start debug_80C689C
-debug_80C689C:
- push {r4, r5, lr}
- add r5, r0, #0
- add r4, r1, #0
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- mov r3, #0x0
- ldrb r0, [r4]
- b ._647
-._649:
- add r1, r5, r3
- add r0, r4, r3
- ldrb r0, [r0]
- strb r0, [r1]
- add r0, r3, #1
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- add r0, r4, r3
- ldrb r0, [r0]
-._647:
- cmp r0, #0xff
- beq ._648 @cond_branch
- cmp r3, r2
- bcc ._649 @cond_branch
-._648:
- pop {r4, r5}
- pop {r0}
- bx r0
-
- thumb_func_end debug_80C689C
-
- thumb_func_start debug_80C68CC
-debug_80C68CC:
- push {r4, r5, r6, r7, lr}
- add sp, sp, #0xfffffff8
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- lsl r1, r1, #0x18
- lsr r6, r1, #0x18
- lsl r2, r2, #0x18
- lsr r5, r2, #0x18
- lsl r3, r3, #0x18
- lsr r3, r3, #0x18
- mov r2, #0x0
- mov r1, #0x0
-._650:
- mov r7, sp
- add r0, r7, r2
- strb r1, [r0]
- add r0, r2, #1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- cmp r2, #0x3
- bls ._650 @cond_branch
- mov r1, sp
- mov r0, #0xff
- strb r0, [r1, #0x4]
- cmp r3, #0x2
- beq ._651 @cond_branch
- cmp r3, #0x2
- bgt ._652 @cond_branch
- cmp r3, #0x1
- beq ._653 @cond_branch
- b ._654
-._652:
- cmp r3, #0x3
- beq ._655 @cond_branch
-._654:
- mov r1, sp
- lsr r0, r4, #0xc
- strb r0, [r1]
-._655:
- mov r1, sp
- mov r0, #0xf0
- lsl r0, r0, #0x4
- and r0, r0, r4
- lsr r0, r0, #0x8
- strb r0, [r1, #0x1]
-._651:
- mov r1, sp
- mov r0, #0xf0
- and r0, r0, r4
- lsr r0, r0, #0x4
- strb r0, [r1, #0x2]
-._653:
- mov r2, sp
- mov r1, #0xf
- add r0, r4, #0
- and r0, r0, r1
- strb r0, [r2, #0x3]
- mov r2, #0x0
-._658:
- mov r0, sp
- add r1, r0, r2
- ldrb r0, [r1]
- cmp r0, #0x9
- bhi ._656 @cond_branch
- add r0, r0, #0xa1
- b ._657
-._656:
- add r0, r0, #0xb1
-._657:
- strb r0, [r1]
- add r0, r2, #1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- cmp r2, #0x3
- bls ._658 @cond_branch
- mov r0, #0x4
- sub r0, r0, r3
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- add r0, r0, sp
- add r1, r6, #0
- add r2, r5, #0
- bl Menu_PrintText
- add sp, sp, #0x8
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-
- thumb_func_end debug_80C68CC
-
- thumb_func_start InitSeePokemonGraphics
-InitSeePokemonGraphics:
- push {r4, r5, r6, lr}
- add sp, sp, #0xfffffff8
- bl debug_80C35DC
- ldr r1, ._659 @ byte_83F88EC
- ldr r2, ._659 + 4 @ 0x600e000
- ldr r0, ._659 + 8 @ 0x40000d4
- str r1, [r0]
- str r2, [r0, #0x4]
- ldr r1, ._659 + 12 @ 0x80000400
- str r1, [r0, #0x8]
- ldr r0, [r0, #0x8]
- ldr r0, ._659 + 16 @ word_83F888C
- mov r1, #0x80
- mov r2, #0x60
- bl LoadPalette
- ldr r1, ._659 + 20 @ 0x7fff
- add r0, sp, #0x4
- strh r1, [r0]
- mov r1, #0x0
- mov r2, #0x2
- bl LoadPalette
- mov r0, #0x1
- neg r0, r0
- mov r5, #0x0
- str r5, [sp]
- mov r1, #0x0
- mov r2, #0x10
- mov r3, #0x0
- bl BeginNormalPaletteFade
- ldr r0, ._659 + 24 @ 0x4000040
- mov r6, #0x0
- strh r5, [r0]
- add r0, r0, #0x4
- strh r5, [r0]
- sub r0, r0, #0x2
- strh r5, [r0]
- add r0, r0, #0x4
- strh r5, [r0]
- ldr r1, ._659 + 28 @ 0x4000048
- mov r0, #0x3f
- strh r0, [r1]
- add r1, r1, #0x2
- mov r0, #0x1f
- strh r0, [r1]
- add r1, r1, #0x6
- mov r0, #0xf1
- strh r0, [r1]
- ldr r0, ._659 + 32 @ 0x4000052
- strh r5, [r0]
- add r1, r1, #0x4
- mov r0, #0x7
- strh r0, [r1]
- ldr r3, ._659 + 36 @ 0x4000208
- ldrh r2, [r3]
- strh r5, [r3]
- ldr r4, ._659 + 40 @ 0x4000200
- ldrh r0, [r4]
- mov r1, #0x1
- orr r0, r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r0, ._659 + 44 @ debug_80C3758
- bl SetVBlankCallback
- ldr r0, ._659 + 48 @ debug_80C370C
- bl SetMainCallback2
- bl sub_809D51C
- ldr r1, ._659 + 52 @ 0x4000008
- ldr r2, ._659 + 56 @ 0x1f0b
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x2
- ldr r2, ._659 + 60 @ 0x1e0a
- add r0, r2, #0
- strh r0, [r1]
- sub r1, r1, #0xa
- mov r2, #0xcd
- lsl r2, r2, #0x6
- add r0, r2, #0
- strh r0, [r1]
- ldr r0, ._659 + 64 @ debug_80C6B00
- mov r1, #0x0
- bl CreateTask
- ldr r1, ._659 + 68 @ gUnknown_Debug_2038A20
- ldr r0, ._659 + 72 @ 0x2018000
- str r0, [r1]
- ldr r1, ._659 + 76 @ 0x115
- strh r1, [r0]
- strb r6, [r0, #0x2]
- strb r6, [r0, #0x3]
- strb r6, [r0, #0x5]
- strb r6, [r0, #0x7]
- strb r6, [r0, #0xa]
- strb r6, [r0, #0x8]
- ldr r4, ._659 + 80 @ gSpriteTemplate_83F8874
- add r0, r4, #0
- mov r1, #0x6c
- mov r2, #0x74
- mov r3, #0x0
- bl CreateSprite
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- ldr r6, ._659 + 84 @ gSprites
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r6
- strh r5, [r0, #0x2e]
- mov r1, #0x0
- bl StartSpriteAnim
- add r0, r4, #0
- mov r1, #0x6c
- mov r2, #0x74
- mov r3, #0x0
- bl CreateSprite
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r6
- mov r1, #0x1
- strh r1, [r0, #0x2e]
- bl StartSpriteAnim
- add r0, r4, #0
- mov r1, #0x6c
- mov r2, #0x74
- mov r3, #0x0
- bl CreateSprite
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r6
- mov r1, #0x2
- strh r1, [r0, #0x2e]
- bl StartSpriteAnim
- add sp, sp, #0x8
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._660:
- .align 2, 0
-._659:
- .word byte_83F88EC
- .word 0x600e000
- .word 0x40000d4
- .word 0x80000400
- .word word_83F888C
- .word 0x7fff
- .word 0x4000040
- .word 0x4000048
- .word 0x4000052
- .word 0x4000208
- .word 0x4000200
- .word debug_80C3758+1
- .word debug_80C370C+1
- .word 0x4000008
- .word 0x1f0b
- .word 0x1e0a
- .word debug_80C6B00+1
- .word gUnknown_Debug_2038A20
- .word 0x2018000
- .word 0x115
- .word gSpriteTemplate_83F8874
- .word gSprites
-
- thumb_func_end InitSeePokemonGraphics
-
- thumb_func_start debug_80C6B00
-debug_80C6B00:
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- add sp, sp, #0xffffffec
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- ldr r1, ._666 @ gUnknown_Debug_083F8815
- mov r0, sp
- mov r2, #0x12
- bl memcpy
- mov r0, #0xa
- mov r1, #0x0
- mov r2, #0xf
- mov r3, #0x7
- bl Menu_DrawStdWindowFrame
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0x9
- mov r3, #0x9
- bl Menu_DrawStdWindowFrame
- mov r0, #0x0
- mov r1, #0xa
- mov r2, #0x9
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- mov r0, #0x10
- mov r1, #0x0
- mov r2, #0x1d
- mov r3, #0x7
- bl Menu_DrawStdWindowFrame
- ldr r0, ._666 + 4 @ gUnknown_Debug_083F87D0
- mov r1, #0x11
- mov r2, #0x1
- bl Menu_PrintText
- ldr r0, ._666 + 8 @ gUnknown_Debug_083F87D8
- mov r1, #0x1b
- mov r2, #0x1
- bl Menu_PrintText
- ldr r0, ._666 + 12 @ gUnknown_Debug_083F87E0
- mov r1, #0x11
- mov r2, #0x5
- bl Menu_PrintText
- mov r0, #0xa
- mov r1, #0x8
- mov r2, #0x1d
- mov r3, #0xc
- bl Menu_DrawStdWindowFrame
- mov r2, #0x0
- ldr r4, ._666 + 16 @ 0x600fa56
- ldr r0, ._666 + 20 @ 0xa311
- add r3, r0, #0
-._661:
- lsl r0, r2, #0x1
- add r0, r0, r4
- add r1, r2, r3
- strh r1, [r0]
- add r0, r2, #1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- cmp r2, #0xe
- bls ._661 @cond_branch
- mov r2, #0x0
- ldr r5, ._666 + 24 @ gUnknown_Debug_083F87F4
- lsl r6, r7, #0x2
- mov r8, r6
- ldr r4, ._666 + 28 @ 0x600f256
- ldr r0, ._666 + 32 @ 0x8301
- add r3, r0, #0
-._662:
- lsl r0, r2, #0x1
- add r0, r0, r4
- add r1, r2, r3
- strh r1, [r0]
- add r0, r2, #1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- cmp r2, #0xe
- bls ._662 @cond_branch
- add r0, r5, #0
- mov r1, #0x14
- mov r2, #0xa
- bl Menu_PrintText
- mov r0, #0xa
- mov r1, #0xd
- mov r2, #0x1d
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- mov r1, sp
- mov r0, #0x23
- strb r0, [r1]
- mov r2, #0x0
- ldr r4, ._666 + 36 @ 0x600f396
- mov r5, #0x93
- lsl r5, r5, #0x8
- add r3, r5, #0
-._663:
- lsl r1, r2, #0x1
- add r1, r1, r4
- mov r6, sp
- add r0, r6, r2
- ldrb r0, [r0]
- add r0, r0, r3
- strh r0, [r1]
- add r0, r2, #1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- cmp r2, #0x11
- bls ._663 @cond_branch
- mov r1, sp
- mov r0, #0x24
- strb r0, [r1]
- mov r2, #0x0
- ldr r5, ._666 + 40 @ gUnknown_Debug_083F8801
- ldr r4, ._666 + 44 @ 0x600f3d6
- mov r0, #0x93
- lsl r0, r0, #0x8
- add r3, r0, #0
-._664:
- lsl r1, r2, #0x1
- add r1, r1, r4
- mov r6, sp
- add r0, r6, r2
- ldrb r0, [r0]
- add r0, r0, r3
- strh r0, [r1]
- add r0, r2, #1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- cmp r2, #0x11
- bls ._664 @cond_branch
- mov r1, sp
- mov r0, #0x25
- strb r0, [r1]
- mov r2, #0x0
- ldr r4, ._666 + 48 @ 0x600f416
- mov r0, #0x93
- lsl r0, r0, #0x8
- add r3, r0, #0
-._665:
- lsl r1, r2, #0x1
- add r1, r1, r4
- mov r6, sp
- add r0, r6, r2
- ldrb r0, [r0]
- add r0, r0, r3
- strh r0, [r1]
- add r0, r2, #1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- cmp r2, #0x11
- bls ._665 @cond_branch
- add r0, r5, #0
- mov r1, #0xf
- mov r2, #0x11
- bl Menu_PrintText
- ldr r1, ._666 + 52 @ 0x4000040
- ldr r2, ._666 + 56 @ 0x51ef
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x4
- ldr r5, ._666 + 60 @ 0x699f
- add r0, r5, #0
- strh r0, [r1]
- ldr r1, ._666 + 64 @ gTasks
- mov r6, r8
- add r0, r6, r7
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._666 + 68 @ debug_80C6CB8
- str r1, [r0]
- add sp, sp, #0x14
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._667:
- .align 2, 0
-._666:
- .word gUnknown_Debug_083F8815
- .word gUnknown_Debug_083F87D0
- .word gUnknown_Debug_083F87D8
- .word gUnknown_Debug_083F87E0
- .word 0x600fa56
- .word 0xa311
- .word gUnknown_Debug_083F87F4
- .word 0x600f256
- .word 0x8301
- .word 0x600f396
- .word gUnknown_Debug_083F8801
- .word 0x600f3d6
- .word 0x600f416
- .word 0x4000040
- .word 0x51ef
- .word 0x699f
- .word gTasks
- .word debug_80C6CB8+1
-
- thumb_func_end debug_80C6B00
-
- thumb_func_start debug_80C6CB8
-debug_80C6CB8:
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, r9
- mov r5, r8
- push {r5, r6, r7}
- add sp, sp, #0xfffffff4
- mov sl, r0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov sl, r0
- ldr r5, ._668 @ gUnknown_Debug_2038A20
- ldr r4, [r5]
- ldrh r2, [r4]
- lsl r0, r2, #0x3
- ldr r1, ._668 + 4 @ gMonFrontPicTable
- add r0, r0, r1
- ldr r1, ._668 + 8 @ gMonFrontPicCoords
- lsl r2, r2, #0x2
- add r2, r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, #0x1]
- ldr r3, ._668 + 12 @ gUnknown_081FAF4C
- mov r8, r3
- ldr r6, [r3]
- str r6, [sp, #0x8]
- ldr r3, [r3, #0x4]
- str r3, [sp]
- ldrh r3, [r4]
- str r3, [sp, #0x4]
- add r3, r6, #0
- bl DecompressPicFromTable_2
- ldr r0, [r5]
- ldrh r0, [r0]
- lsl r0, r0, #0x3
- ldr r7, ._668 + 16 @ gMonPaletteTable
- add r0, r0, r7
- bl LoadCompressedObjectPalette
- ldr r0, [r5]
- ldrh r0, [r0]
- mov r1, #0x1
- bl GetMonSpriteTemplate_803C56C
- ldr r0, ._668 + 20 @ gUnknown_02024E8C
- mov r1, #0x28
- mov r2, #0x28
- mov r3, #0x0
- bl CreateSprite
- ldr r1, [r5]
- strb r0, [r1, #0x2]
- ldr r2, [r5]
- ldrb r1, [r2, #0x2]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- ldr r1, ._668 + 24 @ gSprites
- add r0, r0, r1
- ldr r3, ._668 + 28 @ debug_69
- mov r9, r3
- str r3, [r0]
- ldrb r0, [r2, #0x2]
- lsl r1, r0, #0x4
- add r1, r1, r0
- lsl r1, r1, #0x2
- ldr r6, ._668 + 32 @ gSprites
- add r1, r1, r6
- ldrb r2, [r1, #0x5]
- mov r6, #0xd
- neg r6, r6
- add r0, r6, #0
- and r0, r0, r2
- strb r0, [r1, #0x5]
- ldr r4, [r5]
- ldrh r2, [r4]
- lsl r0, r2, #0x3
- ldr r1, ._668 + 36 @ gMonBackPicTable
- add r0, r0, r1
- ldr r1, ._668 + 40 @ gMonBackPicCoords
- lsl r2, r2, #0x2
- add r2, r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, #0x1]
- mov r7, r8
- ldr r3, [r7, #0x8]
- str r3, [sp]
- ldrh r3, [r4]
- str r3, [sp, #0x4]
- ldr r3, [sp, #0x8]
- bl DecompressPicFromTable_2
- ldr r0, [r5]
- ldrh r0, [r0]
- lsl r0, r0, #0x3
- ldr r1, ._668 + 16 @ gMonPaletteTable
- add r0, r0, r1
- bl LoadCompressedObjectPalette
- ldr r0, [r5]
- ldrh r0, [r0]
- mov r1, #0x2
- bl GetMonSpriteTemplate_803C56C
- ldr r0, ._668 + 20 @ gUnknown_02024E8C
- mov r1, #0x28
- mov r2, #0x78
- mov r3, #0x0
- bl CreateSprite
- ldr r1, [r5]
- strb r0, [r1, #0x3]
- ldr r2, [r5]
- ldrb r1, [r2, #0x3]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- ldr r3, ._668 + 24 @ gSprites
- add r0, r0, r3
- mov r7, r9
- str r7, [r0]
- ldrb r1, [r2, #0x3]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- ldr r1, ._668 + 32 @ gSprites
- add r0, r0, r1
- ldrb r1, [r0, #0x5]
- and r6, r6, r1
- strb r6, [r0, #0x5]
- ldr r0, [r5]
- ldrh r0, [r0]
- ldr r1, ._668 + 44 @ sub_809D62C
- mov r2, #0x0
- str r2, [sp]
- str r2, [sp, #0x4]
- mov r2, #0x68
- mov r3, #0x2c
- bl CreateMonIcon
- ldr r1, [r5]
- strb r0, [r1, #0x4]
- ldr r0, [r5]
- ldrh r0, [r0]
- bl SpeciesToNationalPokedexNum
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r2, #0xff
- lsl r2, r2, #0x2
- mov r1, #0x2
- bl sub_8091738
- ldr r1, ._668 + 48 @ 0x600f858
- ldr r3, ._668 + 52 @ 0xf3fc
- add r0, r3, #0
- strh r0, [r1]
- add r1, r1, #0x2
- ldr r6, ._668 + 56 @ 0xf3fd
- add r0, r6, #0
- strh r0, [r1]
- add r1, r1, #0x3e
- ldr r7, ._668 + 60 @ 0xf3fe
- add r0, r7, #0
- strh r0, [r1]
- add r1, r1, #0x2
- ldr r2, ._668 + 64 @ 0xf3ff
- add r0, r2, #0
- strh r0, [r1]
- ldr r0, [r5]
- ldrh r0, [r0]
- mov r1, #0x11
- mov r2, #0x3
- bl debug_80C3800
- ldr r0, [r5]
- ldrh r0, [r0]
- mov r1, #0x1a
- mov r2, #0x5
- bl debug_80C376C
- ldr r2, [r5]
- ldrb r1, [r2, #0x2]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- ldr r3, ._668 + 32 @ gSprites
- add r0, r0, r3
- ldrb r0, [r0, #0x5]
- lsr r0, r0, #0x4
- strb r0, [r2, #0x6]
- ldr r0, [r5]
- ldrb r0, [r0, #0x6]
- lsl r0, r0, #0x5
- ldr r4, ._668 + 68 @ gPlttBufferUnfaded
- add r0, r0, r4
- ldr r6, ._668 + 72 @ 0xffffff00
- add r1, r4, r6
- mov r2, #0x10
- bl CpuSet
- ldr r0, [r5]
- ldrb r0, [r0, #0x6]
- lsl r0, r0, #0x5
- add r0, r0, r4
- ldr r1, ._668 + 76 @ gPlttBufferFaded
- mov r2, #0x10
- bl CpuSet
- ldr r1, ._668 + 80 @ gTasks
- mov r7, sl
- lsl r0, r7, #0x2
- add r0, r0, sl
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._668 + 84 @ debug_80C6EE8
- str r1, [r0]
- ldr r0, [r5]
- mov r1, #0x0
- strb r1, [r0, #0x9]
- bl StopCryAndClearCrySongs
- ldr r0, [r5]
- ldrh r0, [r0]
- mov r1, #0x0
- bl PlayCry1
- add sp, sp, #0xc
- pop {r3, r4, r5}
- mov r8, r3
- mov r9, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._669:
- .align 2, 0
-._668:
- .word gUnknown_Debug_2038A20
- .word gMonFrontPicTable
- .word gMonFrontPicCoords
- .word gUnknown_081FAF4C
- .word gMonPaletteTable
- .word gUnknown_02024E8C
- .word gSprites+0x1c
- .word debug_69+1
- .word gSprites
- .word gMonBackPicTable
- .word gMonBackPicCoords
- .word sub_809D62C+1
- .word 0x600f858
- .word 0xf3fc
- .word 0xf3fd
- .word 0xf3fe
- .word 0xf3ff
- .word gPlttBufferUnfaded+0x200
- .word 0xffffff00
- .word gPlttBufferFaded+0x100
- .word gTasks
- .word debug_80C6EE8+1
-
- thumb_func_end debug_80C6CB8
-
- thumb_func_start debug_80C6EE8
-debug_80C6EE8:
- push {r4, r5, r6, lr}
- add r6, r0, #0
- lsl r6, r6, #0x18
- lsr r6, r6, #0x18
- ldr r4, ._670 @ gPlttBufferUnfaded
- ldr r5, ._670 + 4 @ gUnknown_Debug_2038A20
- ldr r1, [r5]
- add r1, r1, #0x10
- add r0, r4, #0
- mov r2, #0x10
- bl CpuSet
- ldr r0, ._670 + 8 @ 0xffffff00
- add r4, r4, r0
- ldr r3, [r5]
- ldrb r0, [r3, #0x7]
- add r0, r0, #0x81
- lsl r0, r0, #0x1
- add r0, r0, r4
- ldrh r4, [r0]
- mov r1, #0x1f
- and r1, r1, r4
- ldrb r2, [r3, #0xc]
- mov r0, #0x20
- neg r0, r0
- and r0, r0, r2
- orr r0, r0, r1
- strb r0, [r3, #0xc]
- ldr r3, [r5]
- mov r1, #0xf8
- lsl r1, r1, #0x2
- and r1, r1, r4
- ldrh r2, [r3, #0xc]
- ldr r0, ._670 + 12 @ 0xfffffc1f
- and r0, r0, r2
- orr r0, r0, r1
- strh r0, [r3, #0xc]
- mov r1, #0xf8
- lsl r1, r1, #0x7
- and r1, r1, r4
- lsr r1, r1, #0x8
- ldrb r2, [r3, #0xd]
- mov r0, #0x7d
- neg r0, r0
- and r0, r0, r2
- orr r0, r0, r1
- strb r0, [r3, #0xd]
- ldr r2, [r5]
- ldrb r1, [r2, #0xd]
- mov r0, #0x7f
- and r0, r0, r1
- strb r0, [r2, #0xd]
- ldr r0, [r5]
- ldrb r0, [r0, #0x7]
- add r0, r0, #0x1
- mov r1, #0xb
- mov r2, #0xa
- mov r3, #0x2
- bl debug_80C68CC
- ldr r0, ._670 + 16 @ gUnknown_Debug_083F8813
- mov r1, #0xd
- mov r2, #0xa
- bl Menu_PrintText
- add r0, r4, #0
- mov r1, #0xe
- mov r2, #0xa
- mov r3, #0x4
- bl debug_80C68CC
- ldr r1, ._670 + 20 @ gTasks
- lsl r0, r6, #0x2
- add r0, r0, r6
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._670 + 24 @ debug_80C6FA8
- str r1, [r0]
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._671:
- .align 2, 0
-._670:
- .word gPlttBufferUnfaded+0x100
- .word gUnknown_Debug_2038A20
- .word 0xffffff00
- .word 0xfffffc1f
- .word gUnknown_Debug_083F8813
- .word gTasks
- .word debug_80C6FA8+1
-
- thumb_func_end debug_80C6EE8
-
- thumb_func_start debug_80C6FA8
-debug_80C6FA8:
- push {r4, r5, r6, lr}
- add sp, sp, #0xfffffffc
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- ldr r1, ._674 @ gMain
- ldrh r2, [r1, #0x2e]
- mov r0, #0x2
- and r0, r0, r2
- add r4, r1, #0
- cmp r0, #0
- beq ._672 @cond_branch
- mov r0, #0x5
- bl PlaySE
- mov r0, #0x1
- neg r0, r0
- mov r1, #0x0
- str r1, [sp]
- mov r2, #0x0
- mov r3, #0x10
- bl BeginNormalPaletteFade
- ldr r0, ._674 + 4 @ debug_80C370C
- bl SetMainCallback2
- ldr r1, ._674 + 8 @ gTasks
- lsl r0, r6, #0x2
- add r0, r0, r6
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._674 + 12 @ debug_80C373C
- str r1, [r0]
- b ._703
-._675:
- .align 2, 0
-._674:
- .word gMain
- .word debug_80C370C+1
- .word gTasks
- .word debug_80C373C+1
-._672:
- ldrh r1, [r4, #0x30]
- mov r0, #0x80
- lsl r0, r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- beq ._676 @cond_branch
- ldr r4, ._678 @ gUnknown_Debug_2038A20
- ldr r0, [r4]
- ldrh r1, [r0]
- mov r0, #0x0
- b ._677
-._679:
- .align 2, 0
-._678:
- .word gUnknown_Debug_2038A20
-._676:
- mov r0, #0x80
- lsl r0, r0, #0x2
- and r0, r0, r1
- cmp r0, #0
- beq ._680 @cond_branch
- ldr r4, ._682 @ gUnknown_Debug_2038A20
- ldr r0, [r4]
- ldrh r1, [r0]
- mov r0, #0x1
-._677:
- bl debug_80C3878
- ldr r1, [r4]
- strh r0, [r1]
- ldr r1, ._682 + 4 @ gTasks
- lsl r0, r6, #0x2
- add r0, r0, r6
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._682 + 8 @ debug_80C71FC
- str r1, [r0]
- b ._703
-._683:
- .align 2, 0
-._682:
- .word gUnknown_Debug_2038A20
- .word gTasks
- .word debug_80C71FC+1
-._680:
- mov r3, #0x1
- and r3, r3, r2
- cmp r3, #0
- beq ._684 @cond_branch
- ldr r0, ._686 @ gUnknown_Debug_2038A20
- ldr r1, [r0]
- mov r0, #0x1
- strb r0, [r1, #0x5]
- ldr r1, ._686 + 4 @ 0x4000040
- ldr r2, ._686 + 8 @ 0x51ef
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x4
- ldr r2, ._686 + 12 @ 0x4167
- add r0, r2, #0
- strh r0, [r1]
- ldr r1, ._686 + 16 @ gTasks
- lsl r0, r6, #0x2
- add r0, r0, r6
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._686 + 20 @ debug_80C7294
- str r1, [r0]
- b ._703
-._687:
- .align 2, 0
-._686:
- .word gUnknown_Debug_2038A20
- .word 0x4000040
- .word 0x51ef
- .word 0x4167
- .word gTasks
- .word debug_80C7294+1
-._684:
- mov r0, #0x10
- and r0, r0, r1
- cmp r0, #0
- beq ._689 @cond_branch
- ldr r1, ._691 @ gUnknown_Debug_2038A20
- ldr r2, [r1]
- ldrb r0, [r2, #0x7]
- cmp r0, #0xd
- bhi ._689 @cond_branch
- lsl r0, r0, #0x1
- ldr r2, ._691 + 4 @ 0x5000102
- add r0, r0, r2
- strh r3, [r0]
- ldr r1, [r1]
- ldrb r0, [r1, #0x7]
- add r0, r0, #0x1
- strb r0, [r1, #0x7]
- b ._695
-._692:
- .align 2, 0
-._691:
- .word gUnknown_Debug_2038A20
- .word 0x5000102
-._689:
- ldrh r1, [r4, #0x30]
- mov r0, #0x20
- and r0, r0, r1
- cmp r0, #0
- beq ._694 @cond_branch
- ldr r2, ._696 @ gUnknown_Debug_2038A20
- ldr r1, [r2]
- ldrb r0, [r1, #0x7]
- cmp r0, #0
- beq ._694 @cond_branch
- lsl r0, r0, #0x1
- ldr r1, ._696 + 4 @ 0x5000102
- add r0, r0, r1
- mov r1, #0x0
- strh r1, [r0]
- ldr r1, [r2]
- ldrb r0, [r1, #0x7]
- sub r0, r0, #0x1
- strb r0, [r1, #0x7]
- b ._695
-._697:
- .align 2, 0
-._696:
- .word gUnknown_Debug_2038A20
- .word 0x5000102
-._694:
- ldrh r1, [r4, #0x2e]
- mov r0, #0x8
- and r0, r0, r1
- cmp r0, #0
- beq ._698 @cond_branch
- ldr r4, ._701 @ gUnknown_Debug_2038A20
- ldr r2, [r4]
- ldrb r0, [r2, #0x9]
- mov r1, #0x1
- eor r0, r0, r1
- strb r0, [r2, #0x9]
- ldr r1, [r4]
- ldrb r0, [r1, #0x9]
- cmp r0, #0
- beq ._699 @cond_branch
- ldrh r0, [r1]
- mov r1, #0x0
- mov r2, #0x0
- bl GetMonSpritePalFromOtIdPersonality
- ldr r1, [r4]
- ldrb r1, [r1, #0x6]
- lsl r1, r1, #0x14
- mov r2, #0x80
- lsl r2, r2, #0x11
- add r1, r1, r2
- lsr r1, r1, #0x10
- mov r2, #0x20
- bl LoadCompressedPalette
- b ._700
-._702:
- .align 2, 0
-._701:
- .word gUnknown_Debug_2038A20
-._699:
- ldrh r0, [r1]
- mov r1, #0x0
- mov r2, #0x9
- bl GetMonSpritePalFromOtIdPersonality
- ldr r1, [r4]
- ldrb r1, [r1, #0x6]
- lsl r1, r1, #0x14
- mov r2, #0x80
- lsl r2, r2, #0x11
- add r1, r1, r2
- lsr r1, r1, #0x10
- mov r2, #0x20
- bl LoadCompressedPalette
-._700:
- ldr r5, ._704 @ gUnknown_Debug_2038A20
- ldr r0, [r5]
- ldrb r0, [r0, #0x6]
- lsl r0, r0, #0x5
- ldr r4, ._704 + 4 @ gPlttBufferUnfaded
- add r0, r0, r4
- ldr r2, ._704 + 8 @ 0xffffff00
- add r1, r4, r2
- mov r2, #0x10
- bl CpuSet
- ldr r0, [r5]
- ldrb r0, [r0, #0x6]
- lsl r0, r0, #0x5
- add r0, r0, r4
- ldr r1, ._704 + 12 @ gPlttBufferFaded
- mov r2, #0x10
- bl CpuSet
-._695:
- ldr r1, ._704 + 16 @ gTasks
- lsl r0, r6, #0x2
- add r0, r0, r6
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._704 + 20 @ debug_80C6EE8
- str r1, [r0]
- b ._703
-._705:
- .align 2, 0
-._704:
- .word gUnknown_Debug_2038A20
- .word gPlttBufferUnfaded+0x200
- .word 0xffffff00
- .word gPlttBufferFaded+0x100
- .word gTasks
- .word debug_80C6EE8+1
-._698:
- mov r0, #0x4
- and r0, r0, r1
- cmp r0, #0
- beq ._706 @cond_branch
- bl StopCryAndClearCrySongs
- ldr r0, ._707 @ gUnknown_Debug_2038A20
- ldr r0, [r0]
- ldrh r0, [r0]
- mov r1, #0x0
- bl PlayCry1
-._706:
- ldr r2, ._707 @ gUnknown_Debug_2038A20
- ldr r1, [r2]
- ldrb r0, [r1, #0x8]
- add r0, r0, #0x4
- strb r0, [r1, #0x8]
- ldr r3, [r2]
- ldrb r1, [r3, #0x8]
- mov r0, #0x1f
- and r0, r0, r1
- strb r0, [r3, #0x8]
- ldr r0, [r2]
- ldrb r1, [r0, #0x7]
- lsl r1, r1, #0x1
- ldr r2, ._707 + 4 @ 0x5000142
- add r1, r1, r2
- ldr r2, ._707 + 8 @ gUnknown_Debug_083F8790
- ldrb r0, [r0, #0x8]
- lsl r0, r0, #0x1
- add r0, r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
-._703:
- add sp, sp, #0x4
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._708:
- .align 2, 0
-._707:
- .word gUnknown_Debug_2038A20
- .word 0x5000142
- .word gUnknown_Debug_083F8790
-
- thumb_func_end debug_80C6FA8
-
- thumb_func_start debug_80C71FC
-debug_80C71FC:
- push {r4, r5, r6, lr}
- add r5, r0, #0
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- ldr r6, ._709 @ gSprites
- ldr r4, ._709 + 4 @ gUnknown_Debug_2038A20
- ldr r0, [r4]
- ldrb r1, [r0, #0x2]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r6
- ldrb r0, [r0, #0x5]
- lsr r0, r0, #0x4
- bl GetSpritePaletteTagByPaletteNum
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FreeSpritePaletteByTag
- ldr r0, [r4]
- ldrb r1, [r0, #0x2]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r6
- bl DestroySprite
- ldr r0, [r4]
- ldrb r1, [r0, #0x3]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r6
- ldrb r0, [r0, #0x5]
- lsr r0, r0, #0x4
- bl GetSpritePaletteTagByPaletteNum
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FreeSpritePaletteByTag
- ldr r0, [r4]
- ldrb r1, [r0, #0x3]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r6
- bl DestroySprite
- ldr r0, [r4]
- ldrb r1, [r0, #0x4]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r6
- bl sub_809D510
- ldr r1, ._709 + 8 @ gTasks
- lsl r0, r5, #0x2
- add r0, r0, r5
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._709 + 12 @ debug_80C6CB8
- str r1, [r0]
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._710:
- .align 2, 0
-._709:
- .word gSprites
- .word gUnknown_Debug_2038A20
- .word gTasks
- .word debug_80C6CB8+1
-
- thumb_func_end debug_80C71FC
-
- thumb_func_start debug_80C7294
-debug_80C7294:
- push {r4, r5, r6, r7, lr}
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- ldr r0, ._713 @ gMain
- ldrh r2, [r0, #0x2e]
- mov r1, #0x1
- and r1, r1, r2
- add r3, r0, #0
- cmp r1, #0
- beq ._711 @cond_branch
- ldr r0, ._713 + 4 @ gUnknown_Debug_2038A20
- ldr r1, [r0]
- mov r0, #0x0
- strb r0, [r1, #0x5]
- ldr r1, ._713 + 8 @ 0x4000040
- ldr r2, ._713 + 12 @ 0x51ef
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x4
- ldr r2, ._713 + 16 @ 0x699f
- add r0, r2, #0
- strh r0, [r1]
- b ._712
-._714:
- .align 2, 0
-._713:
- .word gMain
- .word gUnknown_Debug_2038A20
- .word 0x4000040
- .word 0x51ef
- .word 0x699f
-._711:
- mov r0, #0x2
- and r0, r0, r2
- cmp r0, #0
- beq ._715 @cond_branch
- ldr r6, ._717 @ gUnknown_Debug_2038A20
- ldr r0, [r6]
- strb r1, [r0, #0x5]
- ldr r1, ._717 + 4 @ 0x4000040
- ldr r2, ._717 + 8 @ 0x51ef
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x4
- ldr r2, ._717 + 12 @ 0x699f
- add r0, r2, #0
- strh r0, [r1]
- ldr r0, [r6]
- add r0, r0, #0x10
- ldr r4, ._717 + 16 @ gPlttBufferUnfaded
- add r1, r4, #0
- mov r2, #0x10
- bl CpuSet
- ldr r0, [r6]
- add r0, r0, #0x10
- ldr r5, ._717 + 20 @ gPlttBufferFaded
- add r1, r5, #0
- mov r2, #0x10
- bl CpuSet
- ldr r1, [r6]
- add r0, r1, #0
- add r0, r0, #0x10
- ldrb r1, [r1, #0x6]
- lsl r1, r1, #0x5
- mov r2, #0x80
- lsl r2, r2, #0x1
- add r4, r4, r2
- add r1, r1, r4
- mov r2, #0x10
- bl CpuSet
- ldr r1, [r6]
- add r0, r1, #0
- add r0, r0, #0x10
- ldrb r1, [r1, #0x6]
- lsl r1, r1, #0x5
- mov r2, #0x80
- lsl r2, r2, #0x1
- add r5, r5, r2
- add r1, r1, r5
- mov r2, #0x10
- bl CpuSet
-._712:
- ldr r1, ._717 + 24 @ gTasks
- lsl r0, r7, #0x2
- add r0, r0, r7
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._717 + 28 @ debug_80C6EE8
- str r1, [r0]
- b ._754
-._718:
- .align 2, 0
-._717:
- .word gUnknown_Debug_2038A20
- .word 0x4000040
- .word 0x51ef
- .word 0x699f
- .word gPlttBufferUnfaded+0x100
- .word gPlttBufferFaded+0x100
- .word gTasks
- .word debug_80C6EE8+1
-._715:
- ldrh r1, [r3, #0x30]
- mov r0, #0x80
- and r0, r0, r1
- cmp r0, #0
- beq ._720 @cond_branch
- ldr r0, ._722 @ gUnknown_Debug_2038A20
- ldr r1, [r0]
- ldrb r0, [r1, #0xa]
- cmp r0, #0x1
- bhi ._720 @cond_branch
- add r0, r0, #0x1
- strb r0, [r1, #0xa]
- b ._754
-._723:
- .align 2, 0
-._722:
- .word gUnknown_Debug_2038A20
-._720:
- ldrh r1, [r3, #0x30]
- mov r0, #0x40
- and r0, r0, r1
- cmp r0, #0
- beq ._725 @cond_branch
- ldr r0, ._727 @ gUnknown_Debug_2038A20
- ldr r1, [r0]
- ldrb r0, [r1, #0xa]
- cmp r0, #0
- beq ._725 @cond_branch
- sub r0, r0, #0x1
- strb r0, [r1, #0xa]
- b ._754
-._728:
- .align 2, 0
-._727:
- .word gUnknown_Debug_2038A20
-._725:
- ldrh r1, [r3, #0x30]
- mov r0, #0x10
- and r0, r0, r1
- cmp r0, #0
- beq ._729 @cond_branch
- ldr r0, ._734 @ gUnknown_Debug_2038A20
- ldr r2, [r0]
- ldrb r0, [r2, #0xa]
- cmp r0, #0x1
- beq ._730 @cond_branch
- cmp r0, #0x1
- bgt ._731 @cond_branch
- cmp r0, #0
- beq ._732 @cond_branch
- b ._754
-._735:
- .align 2, 0
-._734:
- .word gUnknown_Debug_2038A20
-._731:
- cmp r0, #0x2
- beq ._736 @cond_branch
- b ._754
-._732:
- ldrb r3, [r2, #0xc]
- lsl r1, r3, #0x1b
- lsr r0, r1, #0x1b
- cmp r0, #0x1e
- bhi ._761 @cond_branch
- add r0, r0, #0x1
- mov r1, #0x1f
- and r0, r0, r1
- mov r1, #0x20
- neg r1, r1
- and r1, r1, r3
- orr r1, r1, r0
- strb r1, [r2, #0xc]
- b ._761
-._730:
- ldrh r3, [r2, #0xc]
- lsl r1, r3, #0x16
- lsr r0, r1, #0x1b
- cmp r0, #0x1e
- bhi ._761 @cond_branch
- add r0, r0, #0x1
- mov r1, #0x1f
- and r0, r0, r1
- lsl r0, r0, #0x5
- ldr r1, ._742 @ 0xfffffc1f
- and r1, r1, r3
- orr r1, r1, r0
- strh r1, [r2, #0xc]
- b ._761
-._743:
- .align 2, 0
-._742:
- .word 0xfffffc1f
-._736:
- ldrb r3, [r2, #0xd]
- lsl r1, r3, #0x19
- lsr r0, r1, #0x1b
- cmp r0, #0x1e
- bhi ._761 @cond_branch
- add r0, r0, #0x1
- mov r1, #0x1f
- and r0, r0, r1
- lsl r0, r0, #0x2
- mov r1, #0x7d
- neg r1, r1
- and r1, r1, r3
- orr r1, r1, r0
- strb r1, [r2, #0xd]
- b ._761
-._729:
- mov r0, #0x20
- and r0, r0, r1
- cmp r0, #0
- beq ._754 @cond_branch
- ldr r0, ._751 @ gUnknown_Debug_2038A20
- ldr r3, [r0]
- ldrb r0, [r3, #0xa]
- cmp r0, #0x1
- beq ._747 @cond_branch
- cmp r0, #0x1
- bgt ._748 @cond_branch
- cmp r0, #0
- beq ._749 @cond_branch
- b ._754
-._752:
- .align 2, 0
-._751:
- .word gUnknown_Debug_2038A20
-._748:
- cmp r0, #0x2
- beq ._753 @cond_branch
- b ._754
-._749:
- ldrb r2, [r3, #0xc]
- mov r0, #0x1f
- and r0, r0, r2
- cmp r0, #0
- beq ._761 @cond_branch
- lsl r0, r2, #0x1b
- lsr r0, r0, #0x1b
- sub r0, r0, #0x1
- mov r1, #0x1f
- and r0, r0, r1
- mov r1, #0x20
- neg r1, r1
- and r1, r1, r2
- orr r1, r1, r0
- strb r1, [r3, #0xc]
- b ._761
-._747:
- ldrh r2, [r3, #0xc]
- mov r0, #0xf8
- lsl r0, r0, #0x2
- and r0, r0, r2
- cmp r0, #0
- beq ._761 @cond_branch
- lsl r0, r2, #0x16
- lsr r0, r0, #0x1b
- sub r0, r0, #0x1
- mov r1, #0x1f
- and r0, r0, r1
- lsl r0, r0, #0x5
- ldr r1, ._759 @ 0xfffffc1f
- and r1, r1, r2
- orr r1, r1, r0
- strh r1, [r3, #0xc]
- b ._761
-._760:
- .align 2, 0
-._759:
- .word 0xfffffc1f
-._753:
- ldrb r2, [r3, #0xd]
- mov r0, #0x7c
- and r0, r0, r2
- cmp r0, #0
- beq ._761 @cond_branch
- lsl r0, r2, #0x19
- lsr r0, r0, #0x1b
- sub r0, r0, #0x1
- mov r1, #0x1f
- and r0, r0, r1
- lsl r0, r0, #0x2
- mov r1, #0x7d
- neg r1, r1
- and r1, r1, r2
- orr r1, r1, r0
- strb r1, [r3, #0xd]
-._761:
- ldr r0, ._762 @ gTasks
- lsl r1, r7, #0x2
- add r1, r1, r7
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._762 + 4 @ debug_80C74E4
- str r0, [r1]
-._754:
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._763:
- .align 2, 0
-._762:
- .word gTasks
- .word debug_80C74E4+1
-
- thumb_func_end debug_80C7294
-
- thumb_func_start debug_80C74E4
-debug_80C74E4:
- push {r4, r5, r6, lr}
- mov r6, r8
- push {r6}
- add r5, r0, #0
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- ldr r0, ._764 @ gUnknown_Debug_2038A20
- ldr r3, [r0]
- ldrb r0, [r3, #0xc]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x1b
- ldrh r2, [r3, #0xc]
- mov r1, #0xf8
- lsl r1, r1, #0x2
- and r1, r1, r2
- add r0, r0, r1
- ldrb r1, [r3, #0xd]
- lsl r1, r1, #0x19
- lsr r1, r1, #0x1b
- lsl r1, r1, #0xa
- add r0, r0, r1
- ldr r6, ._764 + 4 @ gPlttBufferUnfaded
- ldrb r1, [r3, #0x7]
- add r1, r1, #0x81
- lsl r1, r1, #0x1
- add r1, r1, r6
- strh r0, [r1]
- ldr r1, ._764 + 8 @ gPlttBufferFaded
- mov r8, r1
- ldrb r1, [r3, #0x7]
- add r1, r1, #0x81
- lsl r1, r1, #0x1
- add r1, r1, r8
- strh r0, [r1]
- ldrb r1, [r3, #0x6]
- lsl r1, r1, #0x4
- ldrb r2, [r3, #0x7]
- ldr r4, ._764 + 12 @ 0x101
- add r2, r2, r4
- add r1, r1, r2
- lsl r1, r1, #0x1
- add r1, r1, r6
- strh r0, [r1]
- ldrb r1, [r3, #0x6]
- lsl r1, r1, #0x4
- ldrb r2, [r3, #0x7]
- add r2, r2, r4
- add r1, r1, r2
- lsl r1, r1, #0x1
- add r1, r1, r8
- strh r0, [r1]
- mov r1, #0xe
- mov r2, #0xa
- mov r3, #0x4
- bl debug_80C68CC
- ldr r1, ._764 + 16 @ gTasks
- lsl r0, r5, #0x2
- add r0, r0, r5
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._764 + 20 @ debug_80C7294
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._765:
- .align 2, 0
-._764:
- .word gUnknown_Debug_2038A20
- .word gPlttBufferUnfaded
- .word gPlttBufferFaded
- .word 0x101
- .word gTasks
- .word debug_80C7294+1
-
- thumb_func_end debug_80C74E4
-
- thumb_func_start debug_80C7584
-debug_80C7584:
- push {r4, lr}
- add r2, r0, #0
- ldr r0, ._771 @ gUnknown_Debug_2038A20
- ldr r3, [r0]
- ldrb r1, [r3, #0x5]
- add r4, r0, #0
- cmp r1, #0
- beq ._766 @cond_branch
- mov r1, #0x2e
- ldsh r0, [r2, r1]
- cmp r0, #0x1
- beq ._767 @cond_branch
- cmp r0, #0x1
- ble ._768 @cond_branch
- cmp r0, #0x2
- beq ._769 @cond_branch
-._768:
- ldrb r0, [r3, #0xc]
- lsl r0, r0, #0x1b
- b ._773
-._772:
- .align 2, 0
-._771:
- .word gUnknown_Debug_2038A20
-._767:
- ldrh r0, [r3, #0xc]
- lsl r0, r0, #0x16
- b ._773
-._769:
- ldrb r0, [r3, #0xd]
- lsl r0, r0, #0x19
-._773:
- lsr r0, r0, #0x1b
- lsl r0, r0, #0x2
- strh r0, [r2, #0x24]
- mov r1, #0x2e
- ldsh r0, [r2, r1]
- lsl r0, r0, #0x3
- strh r0, [r2, #0x26]
- ldrh r0, [r2, #0x30]
- add r3, r0, #1
- strh r3, [r2, #0x30]
- mov r0, #0x2e
- ldsh r1, [r2, r0]
- ldr r0, [r4]
- ldrb r0, [r0, #0xa]
- cmp r1, r0
- bne ._775 @cond_branch
- mov r0, #0x8
- and r3, r3, r0
- cmp r3, #0
- bne ._775 @cond_branch
-._766:
- add r0, r2, #0
- add r0, r0, #0x3e
- ldrb r1, [r0]
- mov r2, #0x4
- orr r1, r1, r2
- strb r1, [r0]
- b ._776
-._775:
- add r2, r2, #0x3e
- ldrb r1, [r2]
- mov r0, #0x5
- neg r0, r0
- and r0, r0, r1
- strb r0, [r2]
-._776:
- pop {r4}
- pop {r0}
- bx r0
-
- thumb_func_end debug_80C7584
-
- thumb_func_start InitSeeTrainers
-InitSeeTrainers:
- push {r4, r5, r6, lr}
- add sp, sp, #0xfffffffc
- bl debug_80C35DC
- ldr r1, ._777 @ byte_83F88EC
- ldr r2, ._777 + 4 @ 0x600e000
- ldr r0, ._777 + 8 @ 0x40000d4
- str r1, [r0]
- str r2, [r0, #0x4]
- ldr r1, ._777 + 12 @ 0x80000400
- str r1, [r0, #0x8]
- ldr r0, [r0, #0x8]
- ldr r0, ._777 + 16 @ word_83F888C
- mov r1, #0x80
- mov r2, #0x60
- bl LoadPalette
- mov r0, #0x1
- neg r0, r0
- mov r5, #0x0
- str r5, [sp]
- mov r1, #0x0
- mov r2, #0x10
- mov r3, #0x0
- bl BeginNormalPaletteFade
- ldr r0, ._777 + 20 @ 0x4000040
- mov r6, #0x0
- strh r5, [r0]
- add r0, r0, #0x4
- strh r5, [r0]
- sub r0, r0, #0x2
- strh r5, [r0]
- add r0, r0, #0x4
- strh r5, [r0]
- ldr r1, ._777 + 24 @ 0x4000048
- mov r0, #0x3f
- strh r0, [r1]
- add r1, r1, #0x2
- mov r0, #0x1f
- strh r0, [r1]
- add r1, r1, #0x6
- mov r0, #0xf1
- strh r0, [r1]
- ldr r0, ._777 + 28 @ 0x4000052
- strh r5, [r0]
- add r1, r1, #0x4
- mov r0, #0x7
- strh r0, [r1]
- ldr r3, ._777 + 32 @ 0x4000208
- ldrh r2, [r3]
- strh r5, [r3]
- ldr r4, ._777 + 36 @ 0x4000200
- ldrh r0, [r4]
- mov r1, #0x1
- orr r0, r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r0, ._777 + 40 @ debug_80C3758
- bl SetVBlankCallback
- ldr r0, ._777 + 44 @ debug_80C370C
- bl SetMainCallback2
- ldr r1, ._777 + 48 @ 0x4000008
- ldr r2, ._777 + 52 @ 0x1f0b
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x2
- ldr r2, ._777 + 56 @ 0x1e0a
- add r0, r2, #0
- strh r0, [r1]
- sub r1, r1, #0xa
- mov r2, #0xcd
- lsl r2, r2, #0x6
- add r0, r2, #0
- strh r0, [r1]
- ldr r0, ._777 + 60 @ debug_80C777C
- mov r1, #0x0
- bl CreateTask
- ldr r1, ._777 + 64 @ gUnknown_Debug_2038A20
- ldr r0, ._777 + 68 @ 0x2018000
- str r0, [r1]
- strh r5, [r0]
- strb r6, [r0, #0x2]
- strb r6, [r0, #0x3]
- strb r6, [r0, #0x5]
- strb r6, [r0, #0x7]
- strb r6, [r0, #0xa]
- strb r6, [r0, #0x8]
- ldr r4, ._777 + 72 @ gSpriteTemplate_83F8874
- add r0, r4, #0
- mov r1, #0x6c
- mov r2, #0x74
- mov r3, #0x0
- bl CreateSprite
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- ldr r6, ._777 + 76 @ gSprites
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r6
- strh r5, [r0, #0x2e]
- mov r1, #0x0
- bl StartSpriteAnim
- add r0, r4, #0
- mov r1, #0x6c
- mov r2, #0x74
- mov r3, #0x0
- bl CreateSprite
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r6
- mov r1, #0x1
- strh r1, [r0, #0x2e]
- bl StartSpriteAnim
- add r0, r4, #0
- mov r1, #0x6c
- mov r2, #0x74
- mov r3, #0x0
- bl CreateSprite
- add r1, r0, #0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r6
- mov r1, #0x2
- strh r1, [r0, #0x2e]
- bl StartSpriteAnim
- add sp, sp, #0x4
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._778:
- .align 2, 0
-._777:
- .word byte_83F88EC
- .word 0x600e000
- .word 0x40000d4
- .word 0x80000400
- .word word_83F888C
- .word 0x4000040
- .word 0x4000048
- .word 0x4000052
- .word 0x4000208
- .word 0x4000200
- .word debug_80C3758+1
- .word debug_80C370C+1
- .word 0x4000008
- .word 0x1f0b
- .word 0x1e0a
- .word debug_80C777C+1
- .word gUnknown_Debug_2038A20
- .word 0x2018000
- .word gSpriteTemplate_83F8874
- .word gSprites
-
- thumb_func_end InitSeeTrainers
-
- thumb_func_start debug_80C777C
-debug_80C777C:
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- add sp, sp, #0xffffffec
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- ldr r1, ._784 @ gUnknown_Debug_083F8815
- mov r0, sp
- mov r2, #0x12
- bl memcpy
- mov r0, #0x9
- mov r1, #0x0
- mov r2, #0xe
- mov r3, #0x7
- bl Menu_DrawStdWindowFrame
- mov r0, #0x0
- mov r1, #0x0
- mov r2, #0x9
- mov r3, #0x9
- bl Menu_DrawStdWindowFrame
- mov r0, #0x0
- mov r1, #0xa
- mov r2, #0x9
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- mov r0, #0xe
- mov r1, #0x0
- mov r2, #0x1d
- mov r3, #0x7
- bl Menu_DrawStdWindowFrame
- ldr r0, ._784 + 4 @ gUnknown_Debug_083F87D0
- mov r1, #0xf
- mov r2, #0x1
- bl Menu_PrintText
- ldr r0, ._784 + 8 @ gUnknown_Debug_083F87D8
- mov r1, #0x19
- mov r2, #0x1
- bl Menu_PrintText
- ldr r0, ._784 + 12 @ gUnknown_Debug_083F87E0
- mov r1, #0xf
- mov r2, #0x5
- bl Menu_PrintText
- mov r0, #0xa
- mov r1, #0x8
- mov r2, #0x1d
- mov r3, #0xc
- bl Menu_DrawStdWindowFrame
- mov r2, #0x0
- ldr r4, ._784 + 16 @ 0x600fa56
- ldr r0, ._784 + 20 @ 0xa311
- add r3, r0, #0
-._779:
- lsl r0, r2, #0x1
- add r0, r0, r4
- add r1, r2, r3
- strh r1, [r0]
- add r0, r2, #1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- cmp r2, #0xe
- bls ._779 @cond_branch
- mov r2, #0x0
- ldr r5, ._784 + 24 @ gUnknown_Debug_083F87F4
- lsl r6, r7, #0x2
- mov r8, r6
- ldr r4, ._784 + 28 @ 0x600f256
- ldr r0, ._784 + 32 @ 0x8301
- add r3, r0, #0
-._780:
- lsl r0, r2, #0x1
- add r0, r0, r4
- add r1, r2, r3
- strh r1, [r0]
- add r0, r2, #1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- cmp r2, #0xe
- bls ._780 @cond_branch
- add r0, r5, #0
- mov r1, #0x14
- mov r2, #0xa
- bl Menu_PrintText
- mov r0, #0xa
- mov r1, #0xd
- mov r2, #0x1d
- mov r3, #0x13
- bl Menu_DrawStdWindowFrame
- mov r1, sp
- mov r0, #0x23
- strb r0, [r1]
- mov r2, #0x0
- ldr r4, ._784 + 36 @ 0x600f396
- mov r5, #0x93
- lsl r5, r5, #0x8
- add r3, r5, #0
-._781:
- lsl r1, r2, #0x1
- add r1, r1, r4
- mov r6, sp
- add r0, r6, r2
- ldrb r0, [r0]
- add r0, r0, r3
- strh r0, [r1]
- add r0, r2, #1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- cmp r2, #0x11
- bls ._781 @cond_branch
- mov r1, sp
- mov r0, #0x24
- strb r0, [r1]
- mov r2, #0x0
- ldr r5, ._784 + 40 @ gUnknown_Debug_083F8801
- ldr r4, ._784 + 44 @ 0x600f3d6
- mov r0, #0x93
- lsl r0, r0, #0x8
- add r3, r0, #0
-._782:
- lsl r1, r2, #0x1
- add r1, r1, r4
- mov r6, sp
- add r0, r6, r2
- ldrb r0, [r0]
- add r0, r0, r3
- strh r0, [r1]
- add r0, r2, #1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- cmp r2, #0x11
- bls ._782 @cond_branch
- mov r1, sp
- mov r0, #0x25
- strb r0, [r1]
- mov r2, #0x0
- ldr r4, ._784 + 48 @ 0x600f416
- mov r0, #0x93
- lsl r0, r0, #0x8
- add r3, r0, #0
-._783:
- lsl r1, r2, #0x1
- add r1, r1, r4
- mov r6, sp
- add r0, r6, r2
- ldrb r0, [r0]
- add r0, r0, r3
- strh r0, [r1]
- add r0, r2, #1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- cmp r2, #0x11
- bls ._783 @cond_branch
- add r0, r5, #0
- mov r1, #0xf
- mov r2, #0x11
- bl Menu_PrintText
- ldr r1, ._784 + 52 @ 0x4000040
- ldr r2, ._784 + 56 @ 0x51ef
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x4
- ldr r5, ._784 + 60 @ 0x699f
- add r0, r5, #0
- strh r0, [r1]
- ldr r1, ._784 + 64 @ gTasks
- mov r6, r8
- add r0, r6, r7
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._784 + 68 @ debug_80C7934
- str r1, [r0]
- add sp, sp, #0x14
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._785:
- .align 2, 0
-._784:
- .word gUnknown_Debug_083F8815
- .word gUnknown_Debug_083F87D0
- .word gUnknown_Debug_083F87D8
- .word gUnknown_Debug_083F87E0
- .word 0x600fa56
- .word 0xa311
- .word gUnknown_Debug_083F87F4
- .word 0x600f256
- .word 0x8301
- .word 0x600f396
- .word gUnknown_Debug_083F8801
- .word 0x600f3d6
- .word 0x600f416
- .word 0x4000040
- .word 0x51ef
- .word 0x699f
- .word gTasks
- .word debug_80C7934+1
-
- thumb_func_end debug_80C777C
-
- thumb_func_start debug_80C7934
-debug_80C7934:
- push {r4, r5, r6, lr}
- mov r6, r8
- push {r6}
- add sp, sp, #0xfffffff8
- mov r8, r0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r8, r0
- ldr r5, ._786 @ gUnknown_Debug_2038A20
- ldr r6, [r5]
- ldrh r2, [r6]
- lsl r0, r2, #0x3
- ldr r1, ._786 + 4 @ gTrainerFrontPicTable
- add r0, r0, r1
- ldr r1, ._786 + 8 @ gTrainerFrontPicCoords
- lsl r2, r2, #0x2
- add r2, r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, #0x1]
- ldr r4, ._786 + 12 @ gUnknown_081FAF4C
- ldr r3, [r4]
- ldr r4, [r4, #0x4]
- str r4, [sp]
- ldrh r4, [r6]
- str r4, [sp, #0x4]
- bl DecompressPicFromTable_2
- ldr r0, [r5]
- ldrh r0, [r0]
- lsl r0, r0, #0x3
- ldr r1, ._786 + 16 @ gTrainerFrontPicPaletteTable
- add r0, r0, r1
- bl LoadCompressedObjectPalette
- ldr r0, [r5]
- ldrh r0, [r0]
- mov r1, #0x1
- bl GetMonSpriteTemplate_803C5A0
- ldr r0, ._786 + 20 @ gUnknown_02024E8C
- mov r1, #0x28
- mov r2, #0x28
- mov r3, #0x0
- bl CreateSprite
- ldr r1, [r5]
- mov r6, #0x0
- strb r0, [r1, #0x2]
- ldr r4, ._786 + 24 @ gSprites
- ldr r2, [r5]
- ldrb r1, [r2, #0x2]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r1, r4, #0
- add r1, r1, #0x1c
- add r0, r0, r1
- ldr r1, ._786 + 28 @ debug_69
- str r1, [r0]
- ldrb r0, [r2, #0x2]
- lsl r1, r0, #0x4
- add r1, r1, r0
- lsl r1, r1, #0x2
- add r1, r1, r4
- ldrb r2, [r1, #0x5]
- mov r0, #0xd
- neg r0, r0
- and r0, r0, r2
- strb r0, [r1, #0x5]
- ldr r0, [r5]
- ldrh r0, [r0]
- mov r1, #0x1a
- mov r2, #0x5
- bl debug_80C376C
- ldr r2, [r5]
- ldrb r1, [r2, #0x2]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r4
- ldrb r0, [r0, #0x5]
- lsr r0, r0, #0x4
- strb r0, [r2, #0x6]
- ldr r0, [r5]
- ldrb r0, [r0, #0x6]
- lsl r0, r0, #0x5
- ldr r4, ._786 + 32 @ gPlttBufferUnfaded
- add r0, r0, r4
- ldr r2, ._786 + 36 @ 0xffffff00
- add r1, r4, r2
- mov r2, #0x10
- bl CpuSet
- ldr r0, [r5]
- ldrb r0, [r0, #0x6]
- lsl r0, r0, #0x5
- add r0, r0, r4
- ldr r1, ._786 + 40 @ gPlttBufferFaded
- mov r2, #0x10
- bl CpuSet
- ldr r1, ._786 + 44 @ gTasks
- mov r2, r8
- lsl r0, r2, #0x2
- add r0, r0, r8
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._786 + 48 @ debug_80C7A54
- str r1, [r0]
- ldr r0, [r5]
- strb r6, [r0, #0x9]
- add sp, sp, #0x8
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._787:
- .align 2, 0
-._786:
- .word gUnknown_Debug_2038A20
- .word gTrainerFrontPicTable
- .word gTrainerFrontPicCoords
- .word gUnknown_081FAF4C
- .word gTrainerFrontPicPaletteTable
- .word gUnknown_02024E8C
- .word gSprites
- .word debug_69+1
- .word gPlttBufferUnfaded+0x200
- .word 0xffffff00
- .word gPlttBufferFaded+0x100
- .word gTasks
- .word debug_80C7A54+1
-
- thumb_func_end debug_80C7934
-
- thumb_func_start debug_80C7A54
-debug_80C7A54:
- push {r4, r5, r6, lr}
- add r6, r0, #0
- lsl r6, r6, #0x18
- lsr r6, r6, #0x18
- ldr r4, ._788 @ gPlttBufferUnfaded
- ldr r5, ._788 + 4 @ gUnknown_Debug_2038A20
- ldr r1, [r5]
- add r1, r1, #0x10
- add r0, r4, #0
- mov r2, #0x10
- bl CpuSet
- ldr r0, ._788 + 8 @ 0xffffff00
- add r4, r4, r0
- ldr r3, [r5]
- ldrb r0, [r3, #0x7]
- add r0, r0, #0x81
- lsl r0, r0, #0x1
- add r0, r0, r4
- ldrh r4, [r0]
- mov r1, #0x1f
- and r1, r1, r4
- ldrb r2, [r3, #0xc]
- mov r0, #0x20
- neg r0, r0
- and r0, r0, r2
- orr r0, r0, r1
- strb r0, [r3, #0xc]
- ldr r3, [r5]
- mov r1, #0xf8
- lsl r1, r1, #0x2
- and r1, r1, r4
- ldrh r2, [r3, #0xc]
- ldr r0, ._788 + 12 @ 0xfffffc1f
- and r0, r0, r2
- orr r0, r0, r1
- strh r0, [r3, #0xc]
- mov r1, #0xf8
- lsl r1, r1, #0x7
- and r1, r1, r4
- lsr r1, r1, #0x8
- ldrb r2, [r3, #0xd]
- mov r0, #0x7d
- neg r0, r0
- and r0, r0, r2
- orr r0, r0, r1
- strb r0, [r3, #0xd]
- ldr r2, [r5]
- ldrb r1, [r2, #0xd]
- mov r0, #0x7f
- and r0, r0, r1
- strb r0, [r2, #0xd]
- ldr r0, [r5]
- ldrb r0, [r0, #0x7]
- add r0, r0, #0x1
- mov r1, #0xb
- mov r2, #0xa
- mov r3, #0x2
- bl debug_80C68CC
- ldr r0, ._788 + 16 @ gUnknown_Debug_083F8813
- mov r1, #0xd
- mov r2, #0xa
- bl Menu_PrintText
- add r0, r4, #0
- mov r1, #0xe
- mov r2, #0xa
- mov r3, #0x4
- bl debug_80C68CC
- ldr r1, ._788 + 20 @ gTasks
- lsl r0, r6, #0x2
- add r0, r0, r6
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._788 + 24 @ debug_80C7B14
- str r1, [r0]
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._789:
- .align 2, 0
-._788:
- .word gPlttBufferUnfaded+0x100
- .word gUnknown_Debug_2038A20
- .word 0xffffff00
- .word 0xfffffc1f
- .word gUnknown_Debug_083F8813
- .word gTasks
- .word debug_80C7B14+1
-
- thumb_func_end debug_80C7A54
-
- thumb_func_start debug_80C7B14
-debug_80C7B14:
- push {r4, r5, r6, lr}
- add sp, sp, #0xfffffffc
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- ldr r1, ._792 @ gMain
- ldrh r3, [r1, #0x2e]
- mov r0, #0x2
- and r0, r0, r3
- add r4, r1, #0
- cmp r0, #0
- beq ._790 @cond_branch
- mov r0, #0x5
- bl PlaySE
- mov r0, #0x1
- neg r0, r0
- mov r1, #0x0
- str r1, [sp]
- mov r2, #0x0
- mov r3, #0x10
- bl BeginNormalPaletteFade
- ldr r0, ._792 + 4 @ debug_80C370C
- bl SetMainCallback2
- ldr r1, ._792 + 8 @ gTasks
- lsl r0, r6, #0x2
- add r0, r0, r6
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._792 + 12 @ debug_80C373C
- str r1, [r0]
- b ._821
-._793:
- .align 2, 0
-._792:
- .word gMain
- .word debug_80C370C+1
- .word gTasks
- .word debug_80C373C+1
-._790:
- ldrh r1, [r4, #0x30]
- mov r0, #0x80
- lsl r0, r0, #0x1
- and r0, r0, r1
- cmp r0, #0
- beq ._794 @cond_branch
- ldr r4, ._796 @ gUnknown_Debug_2038A20
- ldr r0, [r4]
- ldrh r1, [r0]
- mov r0, #0x0
- b ._795
-._797:
- .align 2, 0
-._796:
- .word gUnknown_Debug_2038A20
-._794:
- mov r0, #0x80
- lsl r0, r0, #0x2
- and r0, r0, r1
- cmp r0, #0
- beq ._798 @cond_branch
- ldr r4, ._800 @ gUnknown_Debug_2038A20
- ldr r0, [r4]
- ldrh r1, [r0]
- mov r0, #0x1
-._795:
- bl debug_80C38B4
- ldr r1, [r4]
- strh r0, [r1]
- ldr r1, ._800 + 4 @ gTasks
- lsl r0, r6, #0x2
- add r0, r0, r6
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._800 + 8 @ debug_80C7D44
- str r1, [r0]
- b ._821
-._801:
- .align 2, 0
-._800:
- .word gUnknown_Debug_2038A20
- .word gTasks
- .word debug_80C7D44+1
-._798:
- mov r2, #0x1
- and r2, r2, r3
- cmp r2, #0
- beq ._802 @cond_branch
- ldr r0, ._804 @ gUnknown_Debug_2038A20
- ldr r1, [r0]
- mov r0, #0x1
- strb r0, [r1, #0x5]
- ldr r1, ._804 + 4 @ 0x4000040
- ldr r2, ._804 + 8 @ 0x51ef
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x4
- ldr r2, ._804 + 12 @ 0x4167
- add r0, r2, #0
- strh r0, [r1]
- ldr r1, ._804 + 16 @ gTasks
- lsl r0, r6, #0x2
- add r0, r0, r6
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._804 + 20 @ debug_80C7DDC
- str r1, [r0]
- b ._821
-._805:
- .align 2, 0
-._804:
- .word gUnknown_Debug_2038A20
- .word 0x4000040
- .word 0x51ef
- .word 0x4167
- .word gTasks
- .word debug_80C7DDC+1
-._802:
- mov r0, #0x10
- and r0, r0, r1
- ldr r3, ._809 @ gUnknown_Debug_2038A20
- cmp r0, #0
- beq ._807 @cond_branch
- ldr r1, [r3]
- ldrb r0, [r1, #0x7]
- cmp r0, #0xd
- bhi ._807 @cond_branch
- lsl r0, r0, #0x1
- ldr r1, ._809 + 4 @ 0x5000102
- add r0, r0, r1
- strh r2, [r0]
- ldr r1, [r3]
- ldrb r0, [r1, #0x7]
- add r0, r0, #0x1
- strb r0, [r1, #0x7]
- b ._813
-._810:
- .align 2, 0
-._809:
- .word gUnknown_Debug_2038A20
- .word 0x5000102
-._807:
- ldrh r1, [r4, #0x30]
- mov r0, #0x20
- and r0, r0, r1
- cmp r0, #0
- beq ._812 @cond_branch
- ldr r1, [r3]
- ldrb r0, [r1, #0x7]
- cmp r0, #0
- beq ._812 @cond_branch
- lsl r0, r0, #0x1
- ldr r2, ._814 @ 0x5000102
- add r0, r0, r2
- mov r1, #0x0
- strh r1, [r0]
- ldr r1, [r3]
- ldrb r0, [r1, #0x7]
- sub r0, r0, #0x1
- strb r0, [r1, #0x7]
- b ._813
-._815:
- .align 2, 0
-._814:
- .word 0x5000102
-._812:
- ldrh r1, [r4, #0x2e]
- mov r0, #0x8
- and r0, r0, r1
- cmp r0, #0
- beq ._816 @cond_branch
- ldr r4, ._819 @ gUnknown_Debug_2038A20
- ldr r2, [r4]
- ldrb r0, [r2, #0x9]
- mov r1, #0x1
- eor r0, r0, r1
- strb r0, [r2, #0x9]
- ldr r1, [r4]
- ldrb r0, [r1, #0x9]
- cmp r0, #0
- beq ._817 @cond_branch
- ldrh r0, [r1]
- mov r1, #0x0
- mov r2, #0x0
- bl GetMonSpritePalFromOtIdPersonality
- ldr r1, [r4]
- ldrb r1, [r1, #0x6]
- lsl r1, r1, #0x14
- mov r2, #0x80
- lsl r2, r2, #0x11
- add r1, r1, r2
- lsr r1, r1, #0x10
- mov r2, #0x20
- bl LoadCompressedPalette
- b ._818
-._820:
- .align 2, 0
-._819:
- .word gUnknown_Debug_2038A20
-._817:
- ldrh r0, [r1]
- mov r1, #0x0
- mov r2, #0x9
- bl GetMonSpritePalFromOtIdPersonality
- ldr r1, [r4]
- ldrb r1, [r1, #0x6]
- lsl r1, r1, #0x14
- mov r2, #0x80
- lsl r2, r2, #0x11
- add r1, r1, r2
- lsr r1, r1, #0x10
- mov r2, #0x20
- bl LoadCompressedPalette
-._818:
- ldr r5, ._822 @ gUnknown_Debug_2038A20
- ldr r0, [r5]
- ldrb r0, [r0, #0x6]
- lsl r0, r0, #0x5
- ldr r4, ._822 + 4 @ gPlttBufferUnfaded
- add r0, r0, r4
- ldr r2, ._822 + 8 @ 0xffffff00
- add r1, r4, r2
- mov r2, #0x10
- bl CpuSet
- ldr r0, [r5]
- ldrb r0, [r0, #0x6]
- lsl r0, r0, #0x5
- add r0, r0, r4
- ldr r1, ._822 + 12 @ gPlttBufferFaded
- mov r2, #0x10
- bl CpuSet
-._813:
- ldr r1, ._822 + 16 @ gTasks
- lsl r0, r6, #0x2
- add r0, r0, r6
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._822 + 20 @ debug_80C7A54
- str r1, [r0]
- b ._821
-._823:
- .align 2, 0
-._822:
- .word gUnknown_Debug_2038A20
- .word gPlttBufferUnfaded+0x200
- .word 0xffffff00
- .word gPlttBufferFaded+0x100
- .word gTasks
- .word debug_80C7A54+1
-._816:
- ldr r1, [r3]
- ldrb r0, [r1, #0x8]
- add r0, r0, #0x4
- strb r0, [r1, #0x8]
- ldr r2, [r3]
- ldrb r1, [r2, #0x8]
- mov r0, #0x1f
- and r0, r0, r1
- strb r0, [r2, #0x8]
- ldr r0, [r3]
- ldrb r1, [r0, #0x7]
- lsl r1, r1, #0x1
- ldr r2, ._824 @ 0x5000142
- add r1, r1, r2
- ldr r2, ._824 + 4 @ gUnknown_Debug_083F8790
- ldrb r0, [r0, #0x8]
- lsl r0, r0, #0x1
- add r0, r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
-._821:
- add sp, sp, #0x4
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._825:
- .align 2, 0
-._824:
- .word 0x5000142
- .word gUnknown_Debug_083F8790
-
- thumb_func_end debug_80C7B14
-
- thumb_func_start debug_80C7D44
-debug_80C7D44:
- push {r4, r5, r6, lr}
- add r5, r0, #0
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- ldr r6, ._826 @ gSprites
- ldr r4, ._826 + 4 @ gUnknown_Debug_2038A20
- ldr r0, [r4]
- ldrb r1, [r0, #0x2]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r6
- ldrb r0, [r0, #0x5]
- lsr r0, r0, #0x4
- bl GetSpritePaletteTagByPaletteNum
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FreeSpritePaletteByTag
- ldr r0, [r4]
- ldrb r1, [r0, #0x2]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r6
- bl DestroySprite
- ldr r0, [r4]
- ldrb r1, [r0, #0x3]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r6
- ldrb r0, [r0, #0x5]
- lsr r0, r0, #0x4
- bl GetSpritePaletteTagByPaletteNum
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FreeSpritePaletteByTag
- ldr r0, [r4]
- ldrb r1, [r0, #0x3]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r6
- bl DestroySprite
- ldr r0, [r4]
- ldrb r1, [r0, #0x4]
- lsl r0, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x2
- add r0, r0, r6
- bl sub_809D510
- ldr r1, ._826 + 8 @ gTasks
- lsl r0, r5, #0x2
- add r0, r0, r5
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._826 + 12 @ debug_80C7934
- str r1, [r0]
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._827:
- .align 2, 0
-._826:
- .word gSprites
- .word gUnknown_Debug_2038A20
- .word gTasks
- .word debug_80C7934+1
-
- thumb_func_end debug_80C7D44
-
- thumb_func_start debug_80C7DDC
-debug_80C7DDC:
- push {r4, r5, r6, r7, lr}
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- ldr r0, ._830 @ gMain
- ldrh r2, [r0, #0x2e]
- mov r1, #0x1
- and r1, r1, r2
- add r3, r0, #0
- cmp r1, #0
- beq ._828 @cond_branch
- ldr r0, ._830 + 4 @ gUnknown_Debug_2038A20
- ldr r1, [r0]
- mov r0, #0x0
- strb r0, [r1, #0x5]
- ldr r1, ._830 + 8 @ 0x4000040
- ldr r2, ._830 + 12 @ 0x51ef
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x4
- ldr r2, ._830 + 16 @ 0x699f
- add r0, r2, #0
- strh r0, [r1]
- b ._829
-._831:
- .align 2, 0
-._830:
- .word gMain
- .word gUnknown_Debug_2038A20
- .word 0x4000040
- .word 0x51ef
- .word 0x699f
-._828:
- mov r0, #0x2
- and r0, r0, r2
- cmp r0, #0
- beq ._832 @cond_branch
- ldr r6, ._834 @ gUnknown_Debug_2038A20
- ldr r0, [r6]
- strb r1, [r0, #0x5]
- ldr r1, ._834 + 4 @ 0x4000040
- ldr r2, ._834 + 8 @ 0x51ef
- add r0, r2, #0
- strh r0, [r1]
- add r1, r1, #0x4
- ldr r2, ._834 + 12 @ 0x699f
- add r0, r2, #0
- strh r0, [r1]
- ldr r0, [r6]
- add r0, r0, #0x10
- ldr r4, ._834 + 16 @ gPlttBufferUnfaded
- add r1, r4, #0
- mov r2, #0x10
- bl CpuSet
- ldr r0, [r6]
- add r0, r0, #0x10
- ldr r5, ._834 + 20 @ gPlttBufferFaded
- add r1, r5, #0
- mov r2, #0x10
- bl CpuSet
- ldr r1, [r6]
- add r0, r1, #0
- add r0, r0, #0x10
- ldrb r1, [r1, #0x6]
- lsl r1, r1, #0x5
- mov r2, #0x80
- lsl r2, r2, #0x1
- add r4, r4, r2
- add r1, r1, r4
- mov r2, #0x10
- bl CpuSet
- ldr r1, [r6]
- add r0, r1, #0
- add r0, r0, #0x10
- ldrb r1, [r1, #0x6]
- lsl r1, r1, #0x5
- mov r2, #0x80
- lsl r2, r2, #0x1
- add r5, r5, r2
- add r1, r1, r5
- mov r2, #0x10
- bl CpuSet
-._829:
- ldr r1, ._834 + 24 @ gTasks
- lsl r0, r7, #0x2
- add r0, r0, r7
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._834 + 28 @ debug_80C7A54
- str r1, [r0]
- b ._871
-._835:
- .align 2, 0
-._834:
- .word gUnknown_Debug_2038A20
- .word 0x4000040
- .word 0x51ef
- .word 0x699f
- .word gPlttBufferUnfaded+0x100
- .word gPlttBufferFaded+0x100
- .word gTasks
- .word debug_80C7A54+1
-._832:
- ldrh r1, [r3, #0x30]
- mov r0, #0x80
- and r0, r0, r1
- cmp r0, #0
- beq ._837 @cond_branch
- ldr r0, ._839 @ gUnknown_Debug_2038A20
- ldr r1, [r0]
- ldrb r0, [r1, #0xa]
- cmp r0, #0x1
- bhi ._837 @cond_branch
- add r0, r0, #0x1
- strb r0, [r1, #0xa]
- b ._871
-._840:
- .align 2, 0
-._839:
- .word gUnknown_Debug_2038A20
-._837:
- ldrh r1, [r3, #0x30]
- mov r0, #0x40
- and r0, r0, r1
- cmp r0, #0
- beq ._842 @cond_branch
- ldr r0, ._844 @ gUnknown_Debug_2038A20
- ldr r1, [r0]
- ldrb r0, [r1, #0xa]
- cmp r0, #0
- beq ._842 @cond_branch
- sub r0, r0, #0x1
- strb r0, [r1, #0xa]
- b ._871
-._845:
- .align 2, 0
-._844:
- .word gUnknown_Debug_2038A20
-._842:
- ldrh r1, [r3, #0x30]
- mov r0, #0x10
- and r0, r0, r1
- cmp r0, #0
- beq ._846 @cond_branch
- ldr r0, ._851 @ gUnknown_Debug_2038A20
- ldr r2, [r0]
- ldrb r0, [r2, #0xa]
- cmp r0, #0x1
- beq ._847 @cond_branch
- cmp r0, #0x1
- bgt ._848 @cond_branch
- cmp r0, #0
- beq ._849 @cond_branch
- b ._871
-._852:
- .align 2, 0
-._851:
- .word gUnknown_Debug_2038A20
-._848:
- cmp r0, #0x2
- beq ._853 @cond_branch
- b ._871
-._849:
- ldrb r3, [r2, #0xc]
- lsl r1, r3, #0x1b
- lsr r0, r1, #0x1b
- cmp r0, #0x1e
- bhi ._878 @cond_branch
- add r0, r0, #0x1
- mov r1, #0x1f
- and r0, r0, r1
- mov r1, #0x20
- neg r1, r1
- and r1, r1, r3
- orr r1, r1, r0
- strb r1, [r2, #0xc]
- b ._878
-._847:
- ldrh r3, [r2, #0xc]
- lsl r1, r3, #0x16
- lsr r0, r1, #0x1b
- cmp r0, #0x1e
- bhi ._878 @cond_branch
- add r0, r0, #0x1
- mov r1, #0x1f
- and r0, r0, r1
- lsl r0, r0, #0x5
- ldr r1, ._859 @ 0xfffffc1f
- and r1, r1, r3
- orr r1, r1, r0
- strh r1, [r2, #0xc]
- b ._878
-._860:
- .align 2, 0
-._859:
- .word 0xfffffc1f
-._853:
- ldrb r3, [r2, #0xd]
- lsl r1, r3, #0x19
- lsr r0, r1, #0x1b
- cmp r0, #0x1e
- bhi ._878 @cond_branch
- add r0, r0, #0x1
- mov r1, #0x1f
- and r0, r0, r1
- lsl r0, r0, #0x2
- mov r1, #0x7d
- neg r1, r1
- and r1, r1, r3
- orr r1, r1, r0
- strb r1, [r2, #0xd]
- b ._878
-._846:
- mov r0, #0x20
- and r0, r0, r1
- cmp r0, #0
- beq ._871 @cond_branch
- ldr r0, ._868 @ gUnknown_Debug_2038A20
- ldr r3, [r0]
- ldrb r0, [r3, #0xa]
- cmp r0, #0x1
- beq ._864 @cond_branch
- cmp r0, #0x1
- bgt ._865 @cond_branch
- cmp r0, #0
- beq ._866 @cond_branch
- b ._871
-._869:
- .align 2, 0
-._868:
- .word gUnknown_Debug_2038A20
-._865:
- cmp r0, #0x2
- beq ._870 @cond_branch
- b ._871
-._866:
- ldrb r2, [r3, #0xc]
- mov r0, #0x1f
- and r0, r0, r2
- cmp r0, #0
- beq ._878 @cond_branch
- lsl r0, r2, #0x1b
- lsr r0, r0, #0x1b
- sub r0, r0, #0x1
- mov r1, #0x1f
- and r0, r0, r1
- mov r1, #0x20
- neg r1, r1
- and r1, r1, r2
- orr r1, r1, r0
- strb r1, [r3, #0xc]
- b ._878
-._864:
- ldrh r2, [r3, #0xc]
- mov r0, #0xf8
- lsl r0, r0, #0x2
- and r0, r0, r2
- cmp r0, #0
- beq ._878 @cond_branch
- lsl r0, r2, #0x16
- lsr r0, r0, #0x1b
- sub r0, r0, #0x1
- mov r1, #0x1f
- and r0, r0, r1
- lsl r0, r0, #0x5
- ldr r1, ._876 @ 0xfffffc1f
- and r1, r1, r2
- orr r1, r1, r0
- strh r1, [r3, #0xc]
- b ._878
-._877:
- .align 2, 0
-._876:
- .word 0xfffffc1f
-._870:
- ldrb r2, [r3, #0xd]
- mov r0, #0x7c
- and r0, r0, r2
- cmp r0, #0
- beq ._878 @cond_branch
- lsl r0, r2, #0x19
- lsr r0, r0, #0x1b
- sub r0, r0, #0x1
- mov r1, #0x1f
- and r0, r0, r1
- lsl r0, r0, #0x2
- mov r1, #0x7d
- neg r1, r1
- and r1, r1, r2
- orr r1, r1, r0
- strb r1, [r3, #0xd]
-._878:
- ldr r0, ._879 @ gTasks
- lsl r1, r7, #0x2
- add r1, r1, r7
- lsl r1, r1, #0x3
- add r1, r1, r0
- ldr r0, ._879 + 4 @ debug_80C802C
- str r0, [r1]
-._871:
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-._880:
- .align 2, 0
-._879:
- .word gTasks
- .word debug_80C802C+1
-
- thumb_func_end debug_80C7DDC
-
- thumb_func_start debug_80C802C
-debug_80C802C:
- push {r4, r5, r6, lr}
- mov r6, r8
- push {r6}
- add r5, r0, #0
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- ldr r0, ._881 @ gUnknown_Debug_2038A20
- ldr r3, [r0]
- ldrb r0, [r3, #0xc]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x1b
- ldrh r2, [r3, #0xc]
- mov r1, #0xf8
- lsl r1, r1, #0x2
- and r1, r1, r2
- add r0, r0, r1
- ldrb r1, [r3, #0xd]
- lsl r1, r1, #0x19
- lsr r1, r1, #0x1b
- lsl r1, r1, #0xa
- add r0, r0, r1
- ldr r6, ._881 + 4 @ gPlttBufferUnfaded
- ldrb r1, [r3, #0x7]
- add r1, r1, #0x81
- lsl r1, r1, #0x1
- add r1, r1, r6
- strh r0, [r1]
- ldr r1, ._881 + 8 @ gPlttBufferFaded
- mov r8, r1
- ldrb r1, [r3, #0x7]
- add r1, r1, #0x81
- lsl r1, r1, #0x1
- add r1, r1, r8
- strh r0, [r1]
- ldrb r1, [r3, #0x6]
- lsl r1, r1, #0x4
- ldrb r2, [r3, #0x7]
- ldr r4, ._881 + 12 @ 0x101
- add r2, r2, r4
- add r1, r1, r2
- lsl r1, r1, #0x1
- add r1, r1, r6
- strh r0, [r1]
- ldrb r1, [r3, #0x6]
- lsl r1, r1, #0x4
- ldrb r2, [r3, #0x7]
- add r2, r2, r4
- add r1, r1, r2
- lsl r1, r1, #0x1
- add r1, r1, r8
- strh r0, [r1]
- mov r1, #0xe
- mov r2, #0xa
- mov r3, #0x4
- bl debug_80C68CC
- ldr r1, ._881 + 16 @ gTasks
- lsl r0, r5, #0x2
- add r0, r0, r5
- lsl r0, r0, #0x3
- add r0, r0, r1
- ldr r1, ._881 + 20 @ debug_80C7DDC
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6}
- pop {r0}
- bx r0
-._882:
- .align 2, 0
-._881:
- .word gUnknown_Debug_2038A20
- .word gPlttBufferUnfaded
- .word gPlttBufferFaded
- .word 0x101
- .word gTasks
- .word debug_80C7DDC+1
-
- thumb_func_end debug_80C802C
-
- .align 2, 0
-
-.endif
diff --git a/data/debug_menu_watanabe.s b/data/debug_menu_watanabe.s
deleted file mode 100644
index 58f9b21fd..000000000
--- a/data/debug_menu_watanabe.s
+++ /dev/null
@@ -1,744 +0,0 @@
- .include "include/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .if DEBUG
-
-gUnknown_Debug_083F7FD4:: @ 0x83F7FD4
- .string "▶$"
-
-gUnknown_Debug_083F7FD6:: @ 0x83F7FD6
- .string "ゆみあくひりつ$"
-
-gUnknown_Debug_083F7FDE:: @ 0x83F7FDE
- .string "たかさ$"
-
-gUnknown_Debug_083F7FE2:: @ 0x83F7FE2
- .string "Lキー▶しゅくしょう$"
-
-gUnknown_Debug_083F7FED:: @ 0x83F7FED
- .string "Rキー▶かくだい$"
-
-gUnknown_Debug_083F7FF6:: @ 0x83F7FF6
- .string "Uキー▶うえ いどう$"
-
-gUnknown_Debug_083F8001:: @ 0x83F8001
- .string "Dキー▶した いどう$"
-
-gUnknown_Debug_083F800C:: @ 0x83F800C
- .string "Aボタン▶そうさきりかえ$"
-
-gUnknown_Debug_083F8019:: @ 0x83F8019
- .string "Bボタン▶やめる$"
-
-gUnknown_Debug_083F8022:: @ 0x83F8022
- .string "スタート:$"
-
-gUnknown_Debug_083F8028:: @ 0x83F8028
- .string ":セレクト$"
-
-gUnknown_Debug_083F802E:: @ 0x83F802E
- .string "やせいたいせん$"
-
-gUnknown_Debug_083F8036:: @ 0x83F8036
- .string "1VS1たいせん$"
-
-gUnknown_Debug_083F803F:: @ 0x83F803F
- .string "2VS2たいせん$"
-
-gUnknown_Debug_083F8048:: @ 0x83F8048
- .string "{COLOR BLUE}1VS1つうしんたいせん$"
-
-gUnknown_Debug_083F8058:: @ 0x83F8058
- .string "{COLOR BLUE}2VS2つうしんたいせん$"
-
-gUnknown_Debug_083F8068:: @ 0x83F8068
- .4byte gUnknown_Debug_083F802E, 0x100
- .4byte gUnknown_Debug_083F8036, 0x108
- .4byte gUnknown_Debug_083F803F, 0x209
- .4byte gUnknown_Debug_083F8048, 0x10A
- .4byte gUnknown_Debug_083F8058, 0x20B
-
-gUnknown_Debug_083F8090:: @ 0x83F8090
- .string "きほんタイプ$"
-
-gUnknown_Debug_083F8097:: @ 0x83F8097
- .string "AIタイプ2$"
-
-gUnknown_Debug_083F809E:: @ 0x83F809E
- .string "AIタイプ3$"
-
-gUnknown_Debug_083F80A5:: @ 0x83F80A5
- .string "AIタイプ4$"
-
-gUnknown_Debug_083F80AC:: @ 0x83F80AC
- .string "AIタイプ5$"
-
-gUnknown_Debug_083F80B3:: @ 0x83F80B3
- .string "AIタイプ6$"
-
-gUnknown_Debug_083F80BA:: @ 0x83F80BA
- .string "AIタイプ7$"
-
-gUnknown_Debug_083F80C1:: @ 0x83F80C1
- .string "AIタイプ8$"
-
-gUnknown_Debug_083F80C8:: @ 0x83F80C8
- .string "AIタイプ9$"
-
-gUnknown_Debug_083F80CF:: @ 0x83F80CF
- .string "AIタイプ10$"
-
- .align 2
-gUnknown_Debug_083F80D8:: @ 0x83F80D8
- .4byte gUnknown_Debug_083F8090, 0x1
- .4byte gUnknown_Debug_083F8097, 0x2
- .4byte gUnknown_Debug_083F809E, 0x4
- .4byte gUnknown_Debug_083F80A5, 0x8
- .4byte gUnknown_Debug_083F80AC, 0x10
- .4byte gUnknown_Debug_083F80B3, 0x20
- .4byte gUnknown_Debug_083F80BA, 0x40
- .4byte gUnknown_Debug_083F80C1, 0x80
- .4byte gUnknown_Debug_083F80C8, 0x100
- .4byte gUnknown_Debug_083F80CF, 0x200
-
-gUnknown_Debug_083F8128:: @ 0x83F8128
- .string "くさ$"
-
-gUnknown_Debug_083F812B:: @ 0x83F812B
- .string "ながい くさ$"
-
-gUnknown_Debug_083F8132:: @ 0x83F8132
- .string "すな$"
-
-gUnknown_Debug_083F8135:: @ 0x83F8135
- .string "みず$"
-
-gUnknown_Debug_083F8138:: @ 0x83F8138
- .string "うみ$"
-
-gUnknown_Debug_083F813B:: @ 0x83F813B
- .string "いけ$"
-
-gUnknown_Debug_083F813E:: @ 0x83F813E
- .string "いわ$"
-
-gUnknown_Debug_083F8141:: @ 0x83F8141
- .string "どうくつ$"
-
-gUnknown_Debug_083F8146:: @ 0x83F8146
- .string "そのた$"
-
- .align 2
-gUnknown_Debug_083F814C:: @ 0x83F814C
- .4byte gUnknown_Debug_083F8128, 0x0
- .4byte gUnknown_Debug_083F812B, 0x1
- .4byte gUnknown_Debug_083F8132, 0x2
- .4byte gUnknown_Debug_083F8135, 0x3
- .4byte gUnknown_Debug_083F8138, 0x4
- .4byte gUnknown_Debug_083F813B, 0x5
- .4byte gUnknown_Debug_083F813E, 0x6
- .4byte gUnknown_Debug_083F8141, 0x7
- .4byte gUnknown_Debug_083F8146, 0x8
-
-gUnknown_Debug_083F8194:: @ 0x83F8194
- .string "ポケモンを えらんでね$"
-
-gUnknown_Debug_083F81A0:: @ 0x83F81A0
- .string "{COLOR RED}START:つぎへ$"
-
-gUnknown_Debug_083F81AD:: @ 0x83F81AD
- .string "{COLOR RED}じぶんの ポケモン$"
-
-gUnknown_Debug_083F81BA:: @ 0x83F81BA
- .string "{COLOR RED}あいての ポケモン$"
-
-gUnknown_Debug_083F81C7:: @ 0x83F81C7
- .string "たいせんモードを えらんでね$"
-
-gUnknown_Debug_083F81D6:: @ 0x83F81D6
- .string "{COLOR RED}バトルモード せんたく$"
-
-gUnknown_Debug_083F81E5:: @ 0x83F81E5
- .string "{COLOR RED}トレーナーAI せんたく$"
-
-gUnknown_Debug_083F81F5:: @ 0x83F81F5
- .string "{COLOR RED}START:かいし$"
-
-gUnknown_Debug_083F8202:: @ 0x83F8202
- .string "{COLOR RED}バトルちけい せんたく$"
-
-gUnknown_Debug_083F8211:: @ 0x83F8211
- .string "じぶんの せいべつを えらんでね$"
-
-gUnknown_Debug_083F8222:: @ 0x83F8222
- .string "{COLOR RED}せいべつ せんたく$"
-
-gUnknown_Debug_083F822F:: @ 0x83F822F
- .string "おとこ$"
-
-gUnknown_Debug_083F8233:: @ 0x83F8233
- .string "おんな$"
-Str_83F8237:
- .string "Kind$"
-
- .align 2
-_83F823C:
- .4byte 1
- .byte 0x82, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F8248:
- .string "Level$"
-
- .align 2
-_83F8250:
- .4byte 1
- .byte 0x64, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F825C:
- .string "EXP Points$"
-
- .align 2
-_83F8268:
- .4byte 1
- .byte 0x80, 0x84, 0x1E, 0x00, 0x00, 0x07, 0x00, 0x00
-
-Str_83F8274:
- .string "ID$"
-
- .align 2
-_83F8278:
- .4byte 0
- .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x0A, 0x00, 0x00
-
-Str_83F8284:
- .string "Rnd Numbers$"
-
- .align 2
-_83F8290:
- .4byte 0
- .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x0A, 0x00, 0x00
-
-Str_83F829C:
- .string "Sex$"
-
- .align 2
-_83F82A0:
- .4byte 0
- .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00
-
-Str_83F82AC:
- .string "Character$"
-
- .align 2
-_83F82B8:
- .4byte 0
- .byte 0x18, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00
-
-Str_83F82C4:
- .string "Move1$"
-
- .align 2
-_83F82CC:
- .4byte 0
- .byte 0x62, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F82D8:
- .string "Move2$"
-
- .align 2
-_83F82E0:
- .4byte 0
- .byte 0x62, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F82EC:
- .string "Move3$"
-
- .align 2
-_83F82F4:
- .4byte 0
- .byte 0x62, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F8300:
- .string "Move4$"
-
- .align 2
-_83F8308:
- .4byte 0
- .byte 0x62, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F8314:
- .string "Hold$"
-
- .align 2
-_83F831C:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F8328:
- .string "SP. Ability$"
-
- .align 2
-_83F8334:
- .4byte 0
- .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00
-
-Str_83F8340:
- .string "HPrnd$"
-
- .align 2
-_83F8348:
- .4byte 0
- .byte 0x1F, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
-
-Str_83F8354:
- .string "HPexp$"
-
- .align 2
-_83F835C:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F8368:
- .string "ATKrnd$"
-
- .align 2
-_83F8370:
- .4byte 0
- .byte 0x1F, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
-
-Str_83F837C:
- .string "ATKexp$"
-
- .align 2
-_83F8384:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F8390:
- .string "DEFrnd$"
-
- .align 2
-_83F8398:
- .4byte 0
- .byte 0x1F, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
-
-Str_83F83A4:
- .string "DEFexp$"
-
- .align 2
-_83F83AC:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F83B8:
- .string "SPDrnd$"
-
- .align 2
-_83F83C0:
- .4byte 0
- .byte 0x1F, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
-
-Str_83F83CC:
- .string "SPDexp$"
-
- .align 2
-_83F83D4:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F83E0:
- .string "SP. ATK$"
- .string "rnd$"
-
- .align 2
-_83F83EC:
- .4byte 0
- .byte 0x1F, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
-
-Str_83F83F8:
- .string "SP. ATK$"
- .string "exp$"
-
- .align 2
-_83F8404:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F8410:
- .string "SP. DEF$"
- .string "rnd$"
-
- .align 2
-_83F841C:
- .4byte 0
- .byte 0x1F, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
-
-Str_83F8428:
- .string "SP. DEF$"
- .string "exp$"
-
- .align 2
-_83F8434:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F8440:
- .string "Cool$"
-
- .align 2
-_83F8448:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F8454:
- .string "Beauty$"
-
- .align 2
-_83F845C:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F8468:
- .string "Cute$"
-
- .align 2
-_83F8470:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F847C:
- .string "Smart$"
-
- .align 2
-_83F8484:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F8490:
- .string "Tough$"
-
- .align 2
-_83F8498:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F84A4:
- .string "Sheen$"
-
- .align 2
-_83F84AC:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F84B8:
- .string "Tameness$"
-
- .align 2
-_83F84C4:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F84D0:
- .string "{PK}RUS$"
-
- .align 2
-_83F84D8:
- .4byte 0
- .byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00
-
-Str_83F84E4:
- .string "EGG$"
- .string "$"
-
- .align 2
-_83F84EC:
- .4byte 0
- .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00
-
-Str_83F84F8:
- .string "Status$"
-
- .align 2
-_83F8500:
- .4byte 0
- .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00
-
-
-gUnknown_Debug_083F850A:: @ 0x83F850A
- .string "{COLOR RED}HP  $"
-
-gUnknown_Debug_083F8514:: @ 0x83F8514
- .string "{COLOR RED}ATK $"
-
-gUnknown_Debug_083F851C:: @ 0x83F851C
- .string "{COLOR RED}DEF $"
-
-gUnknown_Debug_083F8524:: @ 0x83F8524
- .string "{COLOR RED}SPEED$"
-
-gUnknown_Debug_083F852D:: @ 0x83F852D
- .string "{COLOR RED}SP。ATK$"
-
-gUnknown_Debug_083F8537:: @ 0x83F8537
- .string "{COLOR RED}SP。DEF$"
-
-gUnknown_Debug_083F8541:: @ 0x83F8541
- .string "なし$"
-
-gUnknown_Debug_083F8544:: @ 0x83F8544
- .string "♂$"
-
-gUnknown_Debug_083F8546:: @ 0x83F8546
- .string "♀$"
-
-gUnknown_Debug_083F8548:: @ 0x83F8548
- .string "ー$"
-
-gUnknown_Debug_083F854A:: @ 0x83F854A
- .string "ON$"
-
-gUnknown_Debug_083F854D:: @ 0x83F854D
- .string "OFF$"
-
- .align 2
-gUnknown_Debug_083F8554:: @ 0x83F8554
- .4byte Str_83F8237, _83F823C
- .4byte Str_83F8248, _83F8250
- .4byte Str_83F825C, _83F8268
- .4byte Str_83F8274, _83F8278
- .4byte Str_83F8284, _83F8290
- .4byte Str_83F829C, _83F82A0
- .4byte Str_83F82AC, _83F82B8
- .4byte Str_83F82C4, _83F82CC
- .4byte Str_83F82D8, _83F82E0
- .4byte Str_83F82EC, _83F82F4
- .4byte Str_83F8300, _83F8308
- .4byte Str_83F8314, _83F831C
- .4byte Str_83F8328, _83F8334
- .4byte Str_83F8340, _83F8348
- .4byte Str_83F8354, _83F835C
- .4byte Str_83F8368, _83F8370
- .4byte Str_83F837C, _83F8384
- .4byte Str_83F8390, _83F8398
- .4byte Str_83F83A4, _83F83AC
- .4byte Str_83F83B8, _83F83C0
- .4byte Str_83F83CC, _83F83D4
- .4byte Str_83F83E0, _83F83EC
- .4byte Str_83F83F8, _83F8404
- .4byte Str_83F8410, _83F841C
- .4byte Str_83F8428, _83F8434
- .4byte Str_83F8440, _83F8448
- .4byte Str_83F8454, _83F845C
- .4byte Str_83F8468, _83F8470
- .4byte Str_83F847C, _83F8484
- .4byte Str_83F8490, _83F8498
- .4byte Str_83F84A4, _83F84AC
- .4byte Str_83F84B8, _83F84C4
- .4byte Str_83F84D0, _83F84D8
- .4byte Str_83F84E4, _83F84EC
- .4byte Str_83F84F8, _83F8500
-
-gUnknown_Debug_083F866C:: @ 0x83F866C
- .string " あいうえおか$"
-
-gUnknown_Debug_083F8674:: @ 0x83F8674
- .string "めまみ$"
-
-gUnknown_Debug_083F8678:: @ 0x83F8678
- .string "きくけこさし$"
-
-gUnknown_Debug_083F867F:: @ 0x83F867F
- .string "すせそたちつ\n"
- .string "$"
-
-gUnknown_Debug_083F8687:: @ 0x83F8687
- .string "てとなにぬね{STRING 255}のはひふへほ$"
-
- .align 2
-gUnknown_Debug_083F8698:: @ 0x83F8698
- .4byte gUnknown_Debug_083F866C, 0x5
- .4byte gUnknown_Debug_083F8674, 0x3
- .4byte gUnknown_Debug_083F8678, 0x6
- .4byte gUnknown_Debug_083F867F, 0x6
- .4byte gUnknown_Debug_083F8687, 0x6
- .4byte 0x83F868F, 0x6
-
-gUnknown_Debug_083F86C8:: @ 0x83F86C8
- .string "ーーー$"
-
-gUnknown_Debug_083F86CC:: @ 0x83F86CC
- .string "SLP$"
-
-gUnknown_Debug_083F86D0:: @ 0x83F86D0
- .string "PSN$"
-
-gUnknown_Debug_083F86D4:: @ 0x83F86D4
- .string "BRN$"
-
-gUnknown_Debug_083F86D8:: @ 0x83F86D8
- .string "FRZ$"
-
-gUnknown_Debug_083F86DC:: @ 0x83F86DC
- .string "PAR$"
-
-gUnknown_Debug_083F86E0:: @ 0x83F86E0
- .string "PSN2$"
-
- .align 2
-gUnknown_Debug_083F86E8:: @ 0x83F86E8
- .4byte gUnknown_Debug_083F86C8, 0x0
- .4byte gUnknown_Debug_083F86CC, 0x1
- .4byte gUnknown_Debug_083F86D0, 0x8
- .4byte gUnknown_Debug_083F86D4, 0x10
- .4byte gUnknown_Debug_083F86D8, 0x20
- .4byte gUnknown_Debug_083F86DC, 0x40
- .4byte gUnknown_Debug_083F86E0, 0x80
-
-gUnknown_Debug_083F8720:: @ 0x83F8720
- .string "PKMNワLIST$"
-
-gUnknown_Debug_083F872A:: @ 0x83F872A
- .string "PKMNワBOX$"
-
-gUnknown_Debug_083F8733:: @ 0x83F8733
- .string "Create POKひMON   LR:Shift  START:Add$"
-
-gUnknown_Debug_083F8758:: @ 0x83F8758
- .string "たまご$"
-
-gUnknown_Debug_083F875C:: @ 0x83F875C
- .string "DebugーG$"
-
-gUnknown_Debug_083F8764::
- .string " $"
- .byte 0, 0
-
-gUnknown_Debug_083F8768::
- .4byte 0x00000001
- .4byte 0x0000000a
- .4byte 0x00000064
- .4byte 0x000003e8
- .4byte 0x00002710
- .4byte 0x000186a0
- .4byte 0x000f4240
- .4byte 0x00989680
- .4byte 0x05f5e100
- .4byte 0x3b9aca00
-
-gUnknown_Debug_083F8790::
- .2byte 0x0000
- .2byte 0x0002
- .2byte 0x0004
- .2byte 0x0006
- .2byte 0x0008
- .2byte 0x000a
- .2byte 0x000c
- .2byte 0x000e
- .2byte 0x0010
- .2byte 0x0012
- .2byte 0x0014
- .2byte 0x0016
- .2byte 0x0018
- .2byte 0x001a
- .2byte 0x001c
- .2byte 0x001e
- .2byte 0x001f
- .2byte 0x001e
- .2byte 0x001c
- .2byte 0x001a
- .2byte 0x0018
- .2byte 0x0016
- .2byte 0x0014
- .2byte 0x0012
- .2byte 0x0010
- .2byte 0x000e
- .2byte 0x000c
- .2byte 0x000a
- .2byte 0x0008
- .2byte 0x0006
- .2byte 0x0004
- .2byte 0x0002
-
-gUnknown_Debug_083F87D0:: @ 0x83F87D0
- .string "{COLOR RED}L{ESCAPE}ロ$"
-
-gUnknown_Debug_083F87D8:: @ 0x83F87D8
- .string "{COLOR RED}{ESCAPE}ワR$"
-
-gUnknown_Debug_083F87E0:: @ 0x83F87E0
- .string "かいはつナンバー$"
-
-gUnknown_Debug_083F87E9:: @ 0x83F87E9
- .string "グラフィックナンバー$"
-
-gUnknown_Debug_083F87F4:: @ 0x83F87F4
- .string "{COLOR RED}A:カラーせってい$"
-
-gUnknown_Debug_083F8801:: @ 0x83F8801
- .string "{COLOR RED}A:けってい B:キャンセル$"
-
-gUnknown_Debug_083F8813:: @ 0x83F8813
- .string ":$"
-
-gUnknown_Debug_083F8815::
- .byte 0x00
- .byte 0x10
- .byte 0x20
- .byte 0x20
- .byte 0x20
- .byte 0x21
- .byte 0x20
- .byte 0x20
- .byte 0x20
- .byte 0x21
- .byte 0x20
- .byte 0x20
- .byte 0x20
- .byte 0x21
- .byte 0x20
- .byte 0x20
- .byte 0x20
- .byte 0x21
-
- .align 2
-stru_83F8828::
- obj_tiles byte_83F88EC, 0x800, 0x1000
- null_obj_tiles
-
-stru_83F8838::
- obj_pal word_83F888C, 0x1000
- null_obj_pal
-
-gOamData_83F8848:
- .2byte 0x00a0
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_83F8850:
- obj_image_anim_frame 38, 30
- obj_image_anim_end
-
-gSpriteAnim_83F8858:
- obj_image_anim_frame 39, 30
- obj_image_anim_end
-
-gSpriteAnim_83F8860:
- obj_image_anim_frame 40, 30
- obj_image_anim_end
-
-gSpriteAnimTable_83F8868::
- .4byte gSpriteAnim_83F8850, gSpriteAnim_83F8858, gSpriteAnim_83F8860
-
-gSpriteTemplate_83F8874::
- spr_template 0x1000, 0x1000, gOamData_83F8848, gSpriteAnimTable_83F8868, 0, gDummySpriteAffineAnimTable, debug_80C7584
-
-word_83F888C::
- .incbin "graphics/debug/sprite_browser.gbapal"
-
-byte_83F88EC::
- .incbin "graphics/debug/sprite_browser.4bpp"
-
- .endif
diff --git a/include/battle.h b/include/battle.h
index dab18f5c5..b1677d90a 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -725,6 +725,10 @@ void MarkBufferBankForExecution(u8 bank);
extern u8 gBattleTextBuff1[];
+extern u16 gBattleTypeFlags;
+extern u8 gUnknown_02023A14_50;
+extern u16 gTrainerBattleOpponent;
+
// src/battle_bg.o
void sub_800D6D4();
void ApplyPlayerChosenFrameToBattleMenu();
diff --git a/include/battle_bg.h b/include/battle_bg.h
new file mode 100644
index 000000000..8cbc74604
--- /dev/null
+++ b/include/battle_bg.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_BATTLE_BG_H
+#define GUARD_BATTLE_BG_H
+
+void debug_sub_800D684(void);
+
+#endif //GUARD_BATTLE_BG_H
diff --git a/include/pokedex.h b/include/pokedex.h
index 9158a97f0..f051b4afe 100644
--- a/include/pokedex.h
+++ b/include/pokedex.h
@@ -27,4 +27,25 @@ bool16 CompletedNationalPokedex(void);
extern bool8 gUnknown_03005CE8;
+struct PokedexEntry
+{
+ /*0x00*/ u8 categoryName[12];
+ /*0x0C*/ u16 height; //in decimeters
+ /*0x0E*/ u16 weight; //in hectograms
+ /*0x10*/ const u8 *descriptionPage1;
+ /*0x14*/ const u8 *descriptionPage2;
+ /*0x18*/ u16 unused;
+ /*0x1A*/ u16 pokemonScale;
+ /*0x1C*/ u16 pokemonOffset;
+ /*0x1E*/ u16 trainerScale;
+ /*0x20*/ u16 trainerOffset;
+}; /*size = 0x24*/
+
+extern const struct PokedexEntry gPokedexEntries[];
+
+u16 sub_8091A4C(u16 gender, s16 x, s16 y, u16 paletteNum);
+u16 sub_80918EC(u16 num, s16 x, s16 y, u16 paletteNum);
+
+void sub_8091738(u16, u16, u16);
+
#endif // GUARD_POKEDEX_H
diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h
index c6c37c123..9c8fbdc13 100644
--- a/include/pokemon_storage_system.h
+++ b/include/pokemon_storage_system.h
@@ -300,4 +300,6 @@ void sub_809D104(void *dest, u16 dLeft, u16 dTop, const void *src, u16 sLeft, u1
void sub_809D16C(void *dest, u16 dLeft, u16 dTop, u16 width, u16 height);
void ShowPokemonStorageSystem(void);
+void debug_sub_80A433C(struct Pokemon *pokemon, void (*func)(void));
+
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H
diff --git a/ld_script.txt b/ld_script.txt
index b4d764a09..219dd51ed 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -152,7 +152,6 @@ SECTIONS {
src/fldeff_escalator.o(.text);
src/berry.o(.text);
src/debug/watanabe_debug_menu.o(.text);
- asm/watanabe_debug_menu.o(.text);
src/script_menu.o(.text);
src/naming_screen.o(.text);
src/money.o(.text);
@@ -587,7 +586,8 @@ SECTIONS {
src/shop.o(.rodata);
src/fldeff_escalator.o(.rodata);
src/berry.o(.rodata);
- data/debug_menu_watanabe.o(.rodata);
+ src/debug/watanabe_debug_menu.o(.rodata);
+ src/debug/watanabe_debug_menu.o(.data);
src/script_menu.o(.rodata);
src/naming_screen.o(.rodata);
src/money.o(.rodata);
diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c
index b07ad0b2d..da566628d 100644
--- a/src/battle/battle_2.c
+++ b/src/battle/battle_2.c
@@ -2233,7 +2233,7 @@ extern const struct Pokeblock gUnknown_Debug_821F5AC[];
extern u8 gUnknown_020297ED;
-extern void unref_sub_800D684(void);
+extern void debug_sub_800D684(void);
void debug_sub_801174C(void)
{
@@ -2408,7 +2408,7 @@ void debug_sub_801174C(void)
}
gMain.savedCallback = debug_sub_80108B8;
- SetMainCallback2(unref_sub_800D684);
+ SetMainCallback2(debug_sub_800D684);
ClearBag();
diff --git a/src/battle/battle_bg.c b/src/battle/battle_bg.c
index 7474af74b..5a2a1efa3 100644
--- a/src/battle/battle_bg.c
+++ b/src/battle/battle_bg.c
@@ -211,7 +211,7 @@ const struct BattleBackground gBattleTerrainTable[] = {
static void sub_800D6C4(void);
-void unref_sub_800D684(void)
+void debug_sub_800D684(void)
{
u8 spriteId;
ResetSpriteData();
diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c
index 6c94b0466..1b13b2d4e 100644
--- a/src/debug/watanabe_debug_menu.c
+++ b/src/debug/watanabe_debug_menu.c
@@ -1,11 +1,3752 @@
#if DEBUG
#include "global.h"
+#include "decompress.h"
+#include "ewram.h"
+#include "random.h"
+#include "gba/flash_internal.h"
+#include "constants/items.h"
+#include "constants/species.h"
+#include "constants/moves.h"
+#include "constants/songs.h"
+#include "debug.h"
+#include "palette.h"
+#include "scanline_effect.h"
+#include "main.h"
+#include "task.h"
+#include "sprite.h"
+#include "text.h"
+#include "menu.h"
+#include "script.h"
+#include "overworld.h"
+#include "data2.h"
+#include "fieldmap.h"
+#include "save.h"
+#include "sound.h"
+#include "pokedex.h"
+#include "load_save.h"
+#include "pokemon_storage_system.h"
+#include "battle.h"
+#include "battle_bg.h"
+#include "item.h"
+#include "pokemon_summary_screen.h"
+#include "pokemon_icon.h"
+#include "field_effect.h"
+
+struct WatanabeDebugMenuItemSubstruct {
+ u32 unk0;
+ u32 unk4;
+ u8 unk8;
+ u8 unk9;
+};
+
+struct WatanabeDebugMenuItem {
+ const u8 * text;
+ union {
+ u8 type1[2];
+ u32 type2;
+ u8 type3;
+ const struct WatanabeDebugMenuItemSubstruct *type4;
+ } data;
+};
+
+struct WatanabeEwram17000 {
+ u8 fill0;
+ u8 unk1_0:4;
+ u8 unk1_4:1;
+ u8 unk1_5:3;
+ u8 unk2;
+ u8 unk3;
+ u8 fill4[5];
+ u8 unk9;
+ u8 unkA;
+ u8 unkB;
+ u8 unkC;
+};
+
+struct WatanabeEwram18000 {
+ struct Pokemon pokemon;
+ u32 unk64[0x40];
+ u32 unk164;
+ u8 unk168;
+ u8 unk169;
+ u8 unk16a;
+ u8 unk16b[259];
+};
+
+struct WatanabeEwram18000_2 {
+ u16 unk0;
+ u8 unk2;
+ u8 unk3;
+ u8 unk4;
+ u8 unk5;
+ u8 unk6;
+ u8 unk7;
+ u8 unk8;
+ u8 unk9;
+ u8 unkA;
+ struct PlttData unkC;
+ u16 unk10[16];
+};
+
+#define eWatanabe17000 (*(struct WatanabeEwram17000 *)(gSharedMem + 0x17000))
+#define eWatanabe18000 (*(struct WatanabeEwram18000 *)(gSharedMem + 0x18000))
+#define eWatanabe18000_2 (*(struct WatanabeEwram18000_2 *)(gSharedMem + 0x18000))
EWRAM_DATA u8 gUnknown_Debug_20389EC[0x20] = { 0 };
EWRAM_DATA u8 gUnknown_Debug_2038A0C[0x10] = { 0 };
-EWRAM_DATA u8 gUnknown_Debug_2038A1C[4] = { 0 };
-EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 };
+EWRAM_DATA struct WatanabeEwram18000 * gUnknown_Debug_2038A1C = NULL;
+EWRAM_DATA struct WatanabeEwram18000_2 * gUnknown_Debug_2038A20 = NULL;
+
+u32 byte_3005E30;
+
+extern s8 gBattleTerrain;
+
+void debug_80C3A50(u8 taskId);
+void debug_80C3D2C(u8 taskId);
+void debug_80C4214(u8);
+void debug_80C42B8(u8 taskId);
+void debug_80C4348(u8 taskId);
+void debug_80C43A8(u8 taskId);
+void debug_80C44EC(u8 taskId);
+void debug_80C4550(u8 taskId);
+void debug_80C4694(void);
+void debug_80C4704(void);
+bool8 debug_80C4774(void);
+void debug_80C47BC(u8 taskId);
+void debug_80C48A0(u8 taskId);
+void debug_80C4900(u8 taskId);
+void debug_80C4A60(u8 taskId);
+void debug_80C4AC4(u8 taskId);
+void debug_80C4C44(u8);
+void debug_80C4D14(u8 taskId);
+void debug_80C4DB8(u8 taskId);
+void debug_80C4E18(u8 taskId);
+void debug_80C4F00(u8);
+void debug_80C4F48(u8 taskId);
+void debug_80C5038(u8 taskId);
+void debug_80C5098(u8 taskId);
+void debug_80C5158(u8 taskId);
+void debug_80C5174(u8 taskId);
+void debug_80C5190(u8 taskId);
+void debug_80C51AC(u8 taskId);
+void debug_80C51C8(u8 taskId);
+void debug_80C51E4(u8 taskId);
+void debug_80C53A4(u8 taskId);
+void debug_80C53C0(u8 taskId);
+void debug_80C53F0(u8 taskId);
+void debug_80C55E4(u8 taskId);
+void debug_80C5708(u8 taskId);
+void debug_80C5C94(void);
+void debug_80C5DEC(void);
+void debug_80C5EF4(void);
+void debug_80C5FFC(void);
+void debug_80C627C(u8);
+void debug_80C6384(void);
+void debug_80C643C(void);
+void debug_80C6544(u8);
+void debug_80C689C(u8 *, const u8 *, u8);
+void debug_80C6678(u8 *, u32, u8, u8);
+void debug_80C68CC(u16, u8, u8, u8);
+void debug_80C6B00(u8 taskId);
+void debug_80C6CB8(u8 taskId);
+void debug_80C6EE8(u8 taskId);
+void debug_80C6FA8(u8 taskId);
+void debug_80C71FC(u8 taskId);
+void debug_80C7294(u8 taskId);
+void debug_80C74E4(u8 taskId);
+void debug_80C7584(struct Sprite *);
+void debug_80C777C(u8 taskId);
+void debug_80C7934(u8 taskId);
+void debug_80C7A54(u8 taskId);
+void debug_80C7B14(u8 taskId);
+void debug_80C7D44(u8 taskId);
+void debug_80C7DDC(u8 taskId);
+void debug_80C802C(u8 taskId);
+
+#define SPRITETAG_WATANABE 0x1000
+
+u8 byte_83F88EC[];
+u16 word_83F888C[];
+
+struct SpriteSheet stru_83F8828[] = {
+ {byte_83F88EC, 0x800, SPRITETAG_WATANABE},
+ {}
+};
+struct SpritePalette stru_83F8838[] = {
+ {word_83F888C, SPRITETAG_WATANABE},
+ {}
+};
+
+void debug_69(struct Sprite *sprite)
+{
+
+}
+
+void debug_80C35DC(void)
+{
+ SetVBlankCallback(NULL);
+ REG_DISPCNT = 0;
+ REG_BG3CNT = 0;
+ REG_BG2CNT = 0;
+ REG_BG1CNT = 0;
+ REG_BG0CNT = 0;
+ REG_BG3HOFS = 0;
+ REG_BG3VOFS = 0;
+ REG_BG2HOFS = 0;
+ REG_BG2VOFS = 0;
+ REG_BG1HOFS = 0;
+ REG_BG1VOFS = 0;
+ REG_BG0HOFS = 0;
+ REG_BG0VOFS = 0;
+ DmaFill16Large(3, 0, VRAM, VRAM_SIZE, 0x1000);
+ DmaFill32Defvars(3, 0, OAM, OAM_SIZE);
+ DmaFill16Defvars(3, 0, PLTT, PLTT_SIZE);
+ ResetPaletteFade();
+ ScanlineEffect_Stop();
+ ResetTasks();
+ ResetSpriteData();
+ ResetPaletteFade(); // I really don't want palette fade here
+ FreeAllSpritePalettes();
+ LoadSpriteSheet(stru_83F8828);
+ LoadSpritePalette(stru_83F8838);
+ Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C);
+ InitMenuWindow(&gWindowTemplate_81E6CE4);
+}
+
+void debug_80C36F4(void)
+{
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+void debug_80C370C(void)
+{
+ if (!gPaletteFade.active)
+ {
+ SetMainCallback2(debug_80C36F4);
+ }
+
+ else
+ {
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+ }
+}
+
+void debug_80C373C(u8 taskId)
+{
+ DestroyTask(taskId);
+ ScriptContext2_Disable();
+ SetMainCallback2(sub_80546F0);
+}
+
+void debug_80C3758(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+void debug_80C376C(u16 a0, u8 a1, u8 a2)
+{
+ u8 i;
+ u8 divresult;
+ u8 sp00[4];
+ bool8 r4;
+
+ for (i = 0; i < 3; i++)
+ sp00[i] = CHAR_SPACE;
+ sp00[3] = EOS;
+
+ r4 = FALSE;
+ divresult = a0 / 100;
+ if (divresult)
+ {
+ sp00[0] = CHAR_0 + divresult;
+ r4 = TRUE;
+ }
+
+ divresult = (a0 % 100) / 10;
+ if (divresult || r4)
+ {
+ sp00[1] = CHAR_0 + divresult;
+ }
+
+ sp00[2] = CHAR_0 + ((a0 % 100) % 10);
+
+ Menu_PrintText(sp00, a1, a2);
+}
+
+void debug_80C3800(u16 a0, u8 a1, u8 a2)
+{
+ u8 sp00[11];
+ u8 i;
+
+ for (i = 0; i < 10; i++)
+ sp00[i] = CHAR_SPACE;
+ sp00[i] = EOS;
+
+ for (i = 0; gSpeciesNames[a0][i] != EOS && i < 10; i++)
+ sp00[i] = gSpeciesNames[a0][i];
+
+ Menu_PrintText(sp00, a1, a2);
+}
+
+u16 debug_80C3878(u8 a0, u16 a1)
+{
+ switch (a0)
+ {
+ default:
+ case 0:
+ if (a1 > SPECIES_BULBASAUR)
+ a1--;
+ else
+ a1 = NUM_SPECIES - 1;
+ break;
+ case 1:
+ if (a1 < NUM_SPECIES - 1)
+ a1++;
+ else
+ a1 = SPECIES_BULBASAUR;
+ break;
+ }
+ return a1;
+}
+
+u16 debug_80C38B4(u8 a0, u16 a1)
+{
+ switch (a0)
+ {
+ default:
+ case 0:
+ if (a1)
+ a1--;
+ else
+ a1 = 0x52;
+ break;
+ case 1:
+ if (a1 < 0x52)
+ a1++;
+ else
+ a1 = 0;
+ break;
+ }
+ return a1;
+}
+
+void debug_80C38E4(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4)
+{
+ u8 sp00[] = _("▶");
+ Menu_BlankWindowRect(a1, a2, a1, a3);
+ if (a4)
+ Menu_PrintText(sp00, a1, a0);
+}
+
+const u8 gUnknown_Debug_083F7FD6[] = {0x25, 0x20, 0x01, 0x08};
+
+void debug_80C393C(void)
+{
+ ProgramFlashSectorAndVerify(30, (void *)gUnknown_Debug_083F7FD6);
+}
+
+void InitWatanabeDebugMenu(void)
+{
+ switch (gMain.state)
+ {
+ default:
+ case 0:
+ save_serialize_map();
+ sub_8125E2C();
+ gMain.state = 1;
+ break;
+ case 1:
+ if (sub_8125E6C())
+ gMain.state++;
+ break;
+ case 2:
+ PlaySE(SE_SAVE);
+ gMain.state++;
+ break;
+ case 3:
+ if (!IsSEPlaying())
+ {
+ ScriptContext2_Disable();
+ SetMainCallback2(sub_80546F0);
+ }
+ break;
+ }
+}
+
+void InitSizeComparison(void)
+{
+ u8 taskId;
+ u16 imeBak;
+ debug_80C35DC();
+ gReservedSpritePaletteCount = 1;
+ LoadPalette(gUnknown_Debug_20389EC, 0x100, 0x20);
+
+ imeBak = REG_IME;
+ REG_IME = 0;
+ REG_IE |= INTR_FLAG_VBLANK;
+ REG_IME = imeBak;
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ SetVBlankCallback(debug_80C3758);
+ SetMainCallback2(debug_80C370C);
+ REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON;
+ taskId = CreateTask(debug_80C3A50, 0);
+ gTasks[taskId].data[0] = 0xfc;
+}
+
+const u8 gUnknown_Debug_083F7FDA[] = _("ひりつ");
+const u8 gUnknown_Debug_083F7FDE[] = _("たかさ");
+const u8 gUnknown_Debug_083F7FE2[] = _("Lキー▶しゅくしょう");
+const u8 gUnknown_Debug_083F7FED[] = _("Rキー▶かくだい");
+const u8 gUnknown_Debug_083F7FF6[] = _("Uキー▶うえ いどう");
+const u8 gUnknown_Debug_083F8001[] = _("Dキー▶した いどう");
+const u8 gUnknown_Debug_083F800C[] = _("Aボタン▶そうさきりかえ");
+const u8 gUnknown_Debug_083F8019[] = _("Bボタン▶やめる");
+const u8 gUnknown_Debug_083F8022[] = _("スタート:");
+const u8 gUnknown_Debug_083F8028[] = _(":セレクト");
+
+#ifdef NONMATCHING
+void debug_80C3A50(u8 taskId)
+{
+ u16 natDexNum = gTasks[taskId].data[0];
+ u16 species = NationalPokedexNumToSpecies(natDexNum);
+ u16 spriteId;
+ u16 spriteId2;
+ struct SaveBlock2 *saveBlock2 = &gSaveBlock2;
+
+ Menu_DrawStdWindowFrame(6, 0, 23, 9);
+
+ Menu_DrawStdWindowFrame(0, 0, 5, 9);
+ Menu_PrintText(gUnknown_Debug_083F7FDA, 1, 1);
+ Menu_PrintText(gUnknown_Debug_083F7FDE, 1, 5);
+
+ Menu_DrawStdWindowFrame(24, 0, 29, 9);
+ Menu_PrintText(gUnknown_Debug_083F7FD6, 25, 1);
+ Menu_PrintText(gUnknown_Debug_083F7FDE, 25, 5);
+
+ Menu_DrawStdWindowFrame(0, 10, 11, 19);
+ Menu_PrintText(gUnknown_Debug_083F7FE2, 1, 11);
+ Menu_PrintText(gUnknown_Debug_083F7FED, 1, 13);
+ Menu_PrintText(gUnknown_Debug_083F7FF6, 1, 15);
+ Menu_PrintText(gUnknown_Debug_083F8001, 1, 17);
+
+ Menu_DrawStdWindowFrame(12, 10, 29, 15);
+ Menu_PrintText(gUnknown_Debug_083F800C, 13, 11);
+ Menu_PrintText(gUnknown_Debug_083F8019, 13, 13);
+
+ Menu_DrawStdWindowFrame(12, 16, 29, 19);
+ Menu_PrintText(gUnknown_Debug_083F8022, 13, 17);
+ Menu_PrintText(gUnknown_Debug_083F8028, 24, 17);
+
+ debug_80C3800(species, 18, 17);
+
+ spriteId = sub_8091A4C(saveBlock2->playerGender, 0x98, 0x28, 0);
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
+ gSprites[spriteId].oam.matrixNum = 2;
+ gSprites[spriteId].oam.priority = 0;
+ gSprites[spriteId].oam.paletteNum = 0;
+ FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(0));
+ gSprites[spriteId].pos2.y = gPokedexEntries[natDexNum].trainerOffset;
+ SetOamMatrix(2, gPokedexEntries[natDexNum].trainerScale, 0, 0, gPokedexEntries[natDexNum].trainerScale);
+ gTasks[taskId].data[3] = spriteId;
+ gTasks[taskId].data[4] = gPokedexEntries[natDexNum].trainerOffset;
+ gTasks[taskId].data[6] = gPokedexEntries[natDexNum].trainerScale;
+
+ spriteId2 = sub_80918EC(natDexNum, 0x58, 0x28, 1);
+ gSprites[spriteId2].oam.affineMode = ST_OAM_AFFINE_NORMAL;
+ gSprites[spriteId2].oam.matrixNum = 1;
+ gSprites[spriteId2].oam.priority = 0;
+ gSprites[spriteId2].oam.paletteNum = 0;
+ FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(0));
+ gSprites[spriteId2].pos2.y = gPokedexEntries[natDexNum].pokemonOffset;
+ SetOamMatrix(1, gPokedexEntries[natDexNum].pokemonScale, 0, 0, gPokedexEntries[natDexNum].pokemonScale);
+ gTasks[taskId].data[2] = spriteId2;
+ gTasks[taskId].data[5] = gPokedexEntries[natDexNum].pokemonOffset;
+ gTasks[taskId].data[7] = gPokedexEntries[natDexNum].pokemonScale;
+ gTasks[taskId].data[8] = 0;
+ gTasks[taskId].data[9] = 0;
+
+ REG_WININ = 0x3F1F;
+ REG_WINOUT = 0x001F;
+ REG_WIN0H = ((gTasks[taskId].data[8] * 64 + 0x38) << 8) + (gTasks[taskId].data[8] * 64 + 0x78);
+ REG_WIN0V = 0x0848;
+ REG_WIN1H = 0x31BF;
+ REG_WIN1V = 0x014F;
+ REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN;
+ REG_BLDALPHA = 0;
+ REG_BLDY = 7;
+ REG_DISPCNT |= DISPCNT_WIN0_ON | DISPCNT_WIN1_ON;
+ gTasks[taskId].func = debug_80C3D2C;
+}
+#else
+NAKED void debug_80C3A50(u8 taskId)
+{
+ asm("\tpush\t{r4, r5, r6, r7, lr}\n"
+ "\tmov\tr7, sl\n"
+ "\tmov\tr6, r9\n"
+ "\tmov\tr5, r8\n"
+ "\tpush\t{r5, r6, r7}\n"
+ "\tadd\tsp, sp, #0xffffffd8\n"
+ "\tlsl\tr0, r0, #0x18\n"
+ "\tlsr\tr0, r0, #0x18\n"
+ "\tldr\tr1, ._56 @ gTasks\n"
+ "\tlsl\tr2, r0, #0x2\n"
+ "\tadd\tr0, r2, r0\n"
+ "\tlsl\tr0, r0, #0x3\n"
+ "\tadd\tr7, r0, r1\n"
+ "\tldrh\tr0, [r7, #0x8]\n"
+ "\tstr\tr0, [sp, #0x4]\n"
+ "\tbl\tNationalPokedexNumToSpecies\n"
+ "\tmov\tr1, sp\n"
+ "\tstrh\tr0, [r1, #0x8]\n"
+ "\tadd\tr2, r0, #0\n"
+ "\tlsl\tr2, r2, #0x10\n"
+ "\tstr\tr2, [sp, #0xc]\n"
+ "\tlsr\tr2, r2, #0x10\n"
+ "\tmov\tr9, r2\n"
+ "\tldr\tr3, ._56 + 4 @ gSaveBlock2\n"
+ "\tmov\tr8, r3\n"
+ "\tmov\tr0, #0x6\n"
+ "\tmov\tr1, #0x0\n"
+ "\tmov\tr2, #0x17\n"
+ "\tmov\tr3, #0x9\n"
+ "\tbl\tMenu_DrawStdWindowFrame\n"
+ "\tmov\tr0, #0x0\n"
+ "\tmov\tr1, #0x0\n"
+ "\tmov\tr2, #0x5\n"
+ "\tmov\tr3, #0x9\n"
+ "\tbl\tMenu_DrawStdWindowFrame\n"
+ "\tldr\tr5, ._56 + 8 @ gUnknown_Debug_083F7FD6\n"
+ "\tadd\tr0, r5, #0\n"
+ "\tmov\tr1, #0x1\n"
+ "\tmov\tr2, #0x1\n"
+ "\tbl\tMenu_PrintText\n"
+ "\tldr\tr4, ._56 + 12 @ gUnknown_Debug_083F7FDE\n"
+ "\tadd\tr0, r4, #0\n"
+ "\tmov\tr1, #0x1\n"
+ "\tmov\tr2, #0x5\n"
+ "\tbl\tMenu_PrintText\n"
+ "\tmov\tr0, #0x18\n"
+ "\tmov\tr1, #0x0\n"
+ "\tmov\tr2, #0x1d\n"
+ "\tmov\tr3, #0x9\n"
+ "\tbl\tMenu_DrawStdWindowFrame\n"
+ "\tadd\tr0, r5, #0\n"
+ "\tmov\tr1, #0x19\n"
+ "\tmov\tr2, #0x1\n"
+ "\tbl\tMenu_PrintText\n"
+ "\tadd\tr0, r4, #0\n"
+ "\tmov\tr1, #0x19\n"
+ "\tmov\tr2, #0x5\n"
+ "\tbl\tMenu_PrintText\n"
+ "\tmov\tr0, #0x0\n"
+ "\tmov\tr1, #0xa\n"
+ "\tmov\tr2, #0xb\n"
+ "\tmov\tr3, #0x13\n"
+ "\tbl\tMenu_DrawStdWindowFrame\n"
+ "\tldr\tr0, ._56 + 16 @ gUnknown_Debug_083F7FE2\n"
+ "\tmov\tr1, #0x1\n"
+ "\tmov\tr2, #0xb\n"
+ "\tbl\tMenu_PrintText\n"
+ "\tldr\tr0, ._56 + 20 @ gUnknown_Debug_083F7FED\n"
+ "\tmov\tr1, #0x1\n"
+ "\tmov\tr2, #0xd\n"
+ "\tbl\tMenu_PrintText\n"
+ "\tldr\tr0, ._56 + 24 @ gUnknown_Debug_083F7FF6\n"
+ "\tmov\tr1, #0x1\n"
+ "\tmov\tr2, #0xf\n"
+ "\tbl\tMenu_PrintText\n"
+ "\tldr\tr0, ._56 + 28 @ gUnknown_Debug_083F8001\n"
+ "\tmov\tr1, #0x1\n"
+ "\tmov\tr2, #0x11\n"
+ "\tbl\tMenu_PrintText\n"
+ "\tmov\tr0, #0xc\n"
+ "\tmov\tr1, #0xa\n"
+ "\tmov\tr2, #0x1d\n"
+ "\tmov\tr3, #0xf\n"
+ "\tbl\tMenu_DrawStdWindowFrame\n"
+ "\tldr\tr0, ._56 + 32 @ gUnknown_Debug_083F800C\n"
+ "\tmov\tr1, #0xd\n"
+ "\tmov\tr2, #0xb\n"
+ "\tbl\tMenu_PrintText\n"
+ "\tldr\tr0, ._56 + 36 @ gUnknown_Debug_083F8019\n"
+ "\tmov\tr1, #0xd\n"
+ "\tmov\tr2, #0xd\n"
+ "\tbl\tMenu_PrintText\n"
+ "\tmov\tr0, #0xc\n"
+ "\tmov\tr1, #0x10\n"
+ "\tmov\tr2, #0x1d\n"
+ "\tmov\tr3, #0x13\n"
+ "\tbl\tMenu_DrawStdWindowFrame\n"
+ "\tldr\tr0, ._56 + 40 @ gUnknown_Debug_083F8022\n"
+ "\tmov\tr1, #0xd\n"
+ "\tmov\tr2, #0x11\n"
+ "\tbl\tMenu_PrintText\n"
+ "\tldr\tr0, ._56 + 44 @ gUnknown_Debug_083F8028\n"
+ "\tmov\tr1, #0x18\n"
+ "\tmov\tr2, #0x11\n"
+ "\tbl\tMenu_PrintText\n"
+ "\tmov\tr0, r9\n"
+ "\tmov\tr1, #0x12\n"
+ "\tmov\tr2, #0x11\n"
+ "\tbl\tdebug_80C3800\n"
+ "\tmov\tr1, r8\n"
+ "\tldrb\tr0, [r1, #0x8]\n"
+ "\tmov\tr1, #0x98\n"
+ "\tmov\tr2, #0x28\n"
+ "\tmov\tr3, #0x0\n"
+ "\tbl\tsub_8091A4C\n"
+ "\tmov\tr2, sp\n"
+ "\tstrh\tr0, [r2, #0x10]\n"
+ "\tadd\tr3, r0, #0\n"
+ "\tlsl\tr3, r3, #0x10\n"
+ "\tstr\tr3, [sp, #0x18]\n"
+ "\tlsr\tr0, r3, #0x10\n"
+ "\tstr\tr0, [sp, #0x14]\n"
+ "\tlsl\tr4, r0, #0x4\n"
+ "\tadd\tr4, r4, r0\n"
+ "\tlsl\tr4, r4, #0x2\n"
+ "\tldr\tr1, ._56 + 48 @ gSprites\n"
+ "\tadd\tr4, r4, r1\n"
+ "\tldrb\tr1, [r4, #0x1]\n"
+ "\tmov\tr2, #0x4\n"
+ "\tneg\tr2, r2\n"
+ "\tmov\tsl, r2\n"
+ "\tmov\tr0, sl\n"
+ "\tand\tr0, r0, r1\n"
+ "\tmov\tr3, #0x1\n"
+ "\torr\tr0, r0, r3\n"
+ "\tstrb\tr0, [r4, #0x1]\n"
+ "\tldrb\tr1, [r4, #0x3]\n"
+ "\tmov\tr0, #0x3f\n"
+ "\tneg\tr0, r0\n"
+ "\tmov\tr9, r0\n"
+ "\tand\tr0, r0, r1\n"
+ "\tmov\tr1, #0x4\n"
+ "\torr\tr0, r0, r1\n"
+ "\tstrb\tr0, [r4, #0x3]\n"
+ "\tldrb\tr1, [r4, #0x5]\n"
+ "\tsub\tr2, r2, #0x9\n"
+ "\tmov\tr8, r2\n"
+ "\tmov\tr0, r8\n"
+ "\tand\tr0, r0, r1\n"
+ "\tmov\tr3, #0xf\n"
+ "\tand\tr0, r0, r3\n"
+ "\tstrb\tr0, [r4, #0x5]\n"
+ "\tmov\tr0, #0x0\n"
+ "\tbl\tGetSpritePaletteTagByPaletteNum\n"
+ "\tlsl\tr0, r0, #0x10\n"
+ "\tlsr\tr0, r0, #0x10\n"
+ "\tbl\tFreeSpritePaletteByTag\n"
+ "\tldr\tr0, ._56 + 52 @ gPokedexEntries\n"
+ "\tldr\tr1, [sp, #0x4]\n"
+ "\tlsl\tr5, r1, #0x3\n"
+ "\tadd\tr5, r5, r1\n"
+ "\tlsl\tr5, r5, #0x2\n"
+ "\tadd\tr5, r5, r0\n"
+ "\tldrh\tr6, [r5, #0x20]\n"
+ "\tstrh\tr6, [r4, #0x26]\n"
+ "\tldrh\tr4, [r5, #0x1e]\n"
+ "\tstr\tr4, [sp]\n"
+ "\tmov\tr0, #0x2\n"
+ "\tadd\tr1, r4, #0\n"
+ "\tmov\tr2, #0x0\n"
+ "\tmov\tr3, #0x0\n"
+ "\tbl\tSetOamMatrix\n"
+ "\tmov\tr2, sp\n"
+ "\tldrh\tr2, [r2, #0x14]\n"
+ "\tstrh\tr2, [r7, #0xe]\n"
+ "\tstrh\tr6, [r7, #0x10]\n"
+ "\tstrh\tr4, [r7, #0x14]\n"
+ "\tldr\tr0, [sp, #0x4]\n"
+ "\tmov\tr1, #0x58\n"
+ "\tmov\tr2, #0x28\n"
+ "\tmov\tr3, #0x1\n"
+ "\tbl\tsub_80918EC\n"
+ "\tmov\tr3, sp\n"
+ "\tstrh\tr0, [r3, #0x1c]\n"
+ "\tlsl\tr0, r0, #0x10\n"
+ "\tstr\tr0, [sp, #0x24]\n"
+ "\tlsr\tr1, r0, #0x10\n"
+ "\tstr\tr1, [sp, #0x20]\n"
+ "\tlsl\tr4, r1, #0x4\n"
+ "\tadd\tr4, r4, r1\n"
+ "\tlsl\tr4, r4, #0x2\n"
+ "\tldr\tr2, ._56 + 48 @ gSprites\n"
+ "\tadd\tr4, r4, r2\n"
+ "\tldrb\tr0, [r4, #0x1]\n"
+ "\tmov\tr3, sl\n"
+ "\tand\tr3, r3, r0\n"
+ "\tmov\tr0, #0x1\n"
+ "\torr\tr3, r3, r0\n"
+ "\tstrb\tr3, [r4, #0x1]\n"
+ "\tldrb\tr0, [r4, #0x3]\n"
+ "\tmov\tr1, r9\n"
+ "\tand\tr1, r1, r0\n"
+ "\tmov\tr0, #0x2\n"
+ "\torr\tr1, r1, r0\n"
+ "\tstrb\tr1, [r4, #0x3]\n"
+ "\tldrb\tr0, [r4, #0x5]\n"
+ "\tmov\tr2, r8\n"
+ "\tand\tr2, r2, r0\n"
+ "\tmov\tr3, #0xf\n"
+ "\tand\tr2, r2, r3\n"
+ "\tstrb\tr2, [r4, #0x5]\n"
+ "\tmov\tr0, #0x0\n"
+ "\tbl\tGetSpritePaletteTagByPaletteNum\n"
+ "\tlsl\tr0, r0, #0x10\n"
+ "\tlsr\tr0, r0, #0x10\n"
+ "\tbl\tFreeSpritePaletteByTag\n"
+ "\tldrh\tr0, [r5, #0x1c]\n"
+ "\tmov\tr8, r0\n"
+ "\tstrh\tr0, [r4, #0x26]\n"
+ "\tldrh\tr4, [r5, #0x1a]\n"
+ "\tstr\tr4, [sp]\n"
+ "\tmov\tr0, #0x1\n"
+ "\tadd\tr1, r4, #0\n"
+ "\tmov\tr2, #0x0\n"
+ "\tmov\tr3, #0x0\n"
+ "\tbl\tSetOamMatrix\n"
+ "\tmov\tr1, sp\n"
+ "\tldrh\tr1, [r1, #0x20]\n"
+ "\tstrh\tr1, [r7, #0xc]\n"
+ "\tmov\tr2, r8\n"
+ "\tstrh\tr2, [r7, #0x12]\n"
+ "\tstrh\tr4, [r7, #0x16]\n"
+ "\tmov\tr3, #0x0\n"
+ "\tstrh\tr3, [r7, #0x18]\n"
+ "\tstrh\tr3, [r7, #0x1a]\n"
+ "\tldr\tr1, ._56 + 56 @ 0x4000048\n"
+ "\tldr\tr2, ._56 + 60 @ 0x3f1f\n"
+ "\tadd\tr0, r2, #0\n"
+ "\tstrh\tr0, [r1]\n"
+ "\tadd\tr1, r1, #0x2\n"
+ "\tmov\tr0, #0x1f\n"
+ "\tstrh\tr0, [r1]\n"
+ "\tldr\tr2, ._56 + 64 @ 0x4000040\n"
+ "\tmov\tr3, #0x18\n"
+ "\tldsh\tr1, [r7, r3]\n"
+ "\tlsl\tr1, r1, #0x6\n"
+ "\tadd\tr0, r1, #0\n"
+ "\tadd\tr0, r0, #0x38\n"
+ "\tlsl\tr0, r0, #0x8\n"
+ "\tadd\tr1, r1, #0x78\n"
+ "\tadd\tr0, r0, r1\n"
+ "\tstrh\tr0, [r2]\n"
+ "\tldr\tr1, ._56 + 68 @ 0x4000044\n"
+ "\tldr\tr2, ._56 + 72 @ 0x848\n"
+ "\tadd\tr0, r2, #0\n"
+ "\tstrh\tr0, [r1]\n"
+ "\tsub\tr1, r1, #0x2\n"
+ "\tldr\tr3, ._56 + 76 @ 0x31bf\n"
+ "\tadd\tr0, r3, #0\n"
+ "\tstrh\tr0, [r1]\n"
+ "\tadd\tr1, r1, #0x4\n"
+ "\tldr\tr2, ._56 + 80 @ 0x14f\n"
+ "\tadd\tr0, r2, #0\n"
+ "\tstrh\tr0, [r1]\n"
+ "\tadd\tr1, r1, #0xa\n"
+ "\tmov\tr0, #0xe1\n"
+ "\tstrh\tr0, [r1]\n"
+ "\tldr\tr0, ._56 + 84 @ 0x4000052\n"
+ "\tmov\tr3, #0x0\n"
+ "\tstrh\tr3, [r0]\n"
+ "\tadd\tr1, r1, #0x4\n"
+ "\tmov\tr0, #0x7\n"
+ "\tstrh\tr0, [r1]\n"
+ "\tmov\tr2, #0x80\n"
+ "\tlsl\tr2, r2, #0x13\n"
+ "\tldrh\tr0, [r2]\n"
+ "\tmov\tr3, #0xc0\n"
+ "\tlsl\tr3, r3, #0x7\n"
+ "\tadd\tr1, r3, #0\n"
+ "\torr\tr0, r0, r1\n"
+ "\tstrh\tr0, [r2]\n"
+ "\tldr\tr0, ._56 + 88 @ debug_80C3D2C\n"
+ "\tstr\tr0, [r7]\n"
+ "\tadd\tsp, sp, #0x28\n"
+ "\tpop\t{r3, r4, r5}\n"
+ "\tmov\tr8, r3\n"
+ "\tmov\tr9, r4\n"
+ "\tmov\tsl, r5\n"
+ "\tpop\t{r4, r5, r6, r7}\n"
+ "\tpop\t{r0}\n"
+ "\tbx\tr0\n"
+ "._57:\n"
+ "\t.align\t2, 0\n"
+ "._56:\n"
+ "\t.word\tgTasks\n"
+ "\t.word\tgSaveBlock2\n"
+ "\t.word\tgUnknown_Debug_083F7FD6+0x4\n"
+ "\t.word\tgUnknown_Debug_083F7FDE\n"
+ "\t.word\tgUnknown_Debug_083F7FE2\n"
+ "\t.word\tgUnknown_Debug_083F7FED\n"
+ "\t.word\tgUnknown_Debug_083F7FF6\n"
+ "\t.word\tgUnknown_Debug_083F8001\n"
+ "\t.word\tgUnknown_Debug_083F800C\n"
+ "\t.word\tgUnknown_Debug_083F8019\n"
+ "\t.word\tgUnknown_Debug_083F8022\n"
+ "\t.word\tgUnknown_Debug_083F8028\n"
+ "\t.word\tgSprites\n"
+ "\t.word\tgPokedexEntries\n"
+ "\t.word\t0x4000048\n"
+ "\t.word\t0x3f1f\n"
+ "\t.word\t0x4000040\n"
+ "\t.word\t0x4000044\n"
+ "\t.word\t0x848\n"
+ "\t.word\t0x31bf\n"
+ "\t.word\t0x14f\n"
+ "\t.word\t0x4000052\n"
+ "\t.word\tdebug_80C3D2C+1");
+}
+#endif // NONMATCHING
+
+void debug_80C3D2C(u8 taskId)
+{
+ if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ SetMainCallback2(debug_80C370C);
+ gTasks[taskId].func = debug_80C373C;
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ gTasks[taskId].data[8] ^= 1;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ {
+ if (gTasks[taskId].data[8])
+ {
+ if (gMain.heldKeys & R_BUTTON)
+ gTasks[taskId].data[6] += 16;
+ else
+ gTasks[taskId].data[6] += 1;
+ if ((u16)gTasks[taskId].data[6] > 0x8000)
+ gTasks[taskId].data[6] = 0x8000;
+ }
+ else
+ {
+ if (gMain.heldKeys & R_BUTTON)
+ gTasks[taskId].data[7] += 16;
+ else
+ gTasks[taskId].data[7] += 1;
+ if ((u16)gTasks[taskId].data[7] > 0x8000)
+ gTasks[taskId].data[7] = 0x8000;
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ {
+ if (gTasks[taskId].data[8])
+ {
+ if (gMain.heldKeys & R_BUTTON)
+ gTasks[taskId].data[6] -= 16;
+ else
+ gTasks[taskId].data[6] -= 1;
+ if (gTasks[taskId].data[6] < 0x100)
+ gTasks[taskId].data[6] = 0x100;
+ }
+ else
+ {
+ if (gMain.heldKeys & R_BUTTON)
+ gTasks[taskId].data[7] -= 16;
+ else
+ gTasks[taskId].data[7] -= 1;
+ if (gTasks[taskId].data[7] < 0x100)
+ gTasks[taskId].data[7] = 0x100;
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ if (gTasks[taskId].data[8])
+ {
+ gTasks[taskId].data[4]--;
+ }
+ else
+ {
+ gTasks[taskId].data[5]--;
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ if (gTasks[taskId].data[8])
+ {
+ gTasks[taskId].data[4]++;
+ }
+ else
+ {
+ gTasks[taskId].data[5]++;
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & START_BUTTON)
+ {
+ if (gTasks[taskId].data[0] < 0x182)
+ gTasks[taskId].data[0]++;
+ else
+ gTasks[taskId].data[0] = 1;
+ DestroySprite(gSprites + gTasks[taskId].data[2]);
+ DestroySprite(gSprites + gTasks[taskId].data[3]);
+ gTasks[taskId].func = debug_80C3A50;
+ }
+ else if (gMain.newAndRepeatedKeys & SELECT_BUTTON)
+ {
+ if (gTasks[taskId].data[0] > 1)
+ gTasks[taskId].data[0]--;
+ else
+ gTasks[taskId].data[0] = 0x182;
+ DestroySprite(gSprites + gTasks[taskId].data[2]);
+ DestroySprite(gSprites + gTasks[taskId].data[3]);
+ gTasks[taskId].func = debug_80C3A50;
+ }
+ else
+ {
+ u16 scale = gTasks[taskId].data[7];
+ u16 offset = gTasks[taskId].data[5];
+ SetOamMatrix(1, scale, 0, 0, scale);
+ debug_80C68CC(scale, 1, 3, 4);
+ debug_80C68CC(offset, 1, 7, 4);
+ gSprites[gTasks[taskId].data[2]].pos2.y = offset;
+
+ scale = gTasks[taskId].data[6];
+ offset = gTasks[taskId].data[4];
+ SetOamMatrix(2, scale, 0, 0, scale);
+ debug_80C68CC(scale, 25, 3, 4);
+ debug_80C68CC(offset, 25, 7, 4);
+ gSprites[gTasks[taskId].data[3]].pos2.y = offset;
+
+ REG_WIN0H = ((gTasks[taskId].data[8] * 64 + 0x38) << 8) + (gTasks[taskId].data[8] * 64 + 0x78);
+ }
+}
+
+void debug_80C405C(u8 * dest, u16 species)
+{
+ u8 i;
+
+ for (i = 0; i < 10; i++)
+ dest[i] = CHAR_SPACE;
+ dest[i] = EOS;
+
+ dest[0] = CHAR_HYPHEN;
+
+ if (species != SPECIES_NONE)
+ {
+ for (i = 0; gSpeciesNames[species][i] != EOS && i < 10; i++)
+ dest[i] = gSpeciesNames[species][i];
+ }
+}
+
+void debug_80C40C4(bool8 who)
+{
+ u8 i;
+ u16 maxHp;
+
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ if (who)
+ {
+ struct Pokemon *pokemon = gEnemyParty + i;
+ if (GetMonData(pokemon, MON_DATA_SPECIES) != SPECIES_NONE)
+ {
+ CalculateMonStats(pokemon);
+ maxHp = GetMonData(pokemon, MON_DATA_MAX_HP);
+ SetMonData(pokemon, MON_DATA_HP, &maxHp);
+ }
+ }
+ else
+ {
+ struct Pokemon *pokemon = gPlayerParty + i;
+ if (GetMonData(pokemon, MON_DATA_SPECIES) != SPECIES_NONE)
+ {
+ CalculateMonStats(pokemon);
+ maxHp = GetMonData(pokemon, MON_DATA_MAX_HP);
+ SetMonData(pokemon, MON_DATA_HP, &maxHp);
+ }
+ }
+ }
+}
+
+void InitBattleForDebug(void)
+{
+ SavePlayerParty();
+ gUnknown_Debug_2038A0C[13] = gSaveBlock2.playerGender;
+ gUnknown_Debug_2038A0C[0] = 0;
+ gUnknown_Debug_2038A0C[1] = 0;
+ gUnknown_Debug_2038A0C[2] = 0;
+ gUnknown_Debug_2038A0C[3] = 0;
+ gUnknown_Debug_2038A0C[4] = 0;
+ gUnknown_Debug_2038A0C[5] = 0;
+ gUnknown_Debug_2038A0C[6] = 0;
+ gUnknown_Debug_2038A0C[7] = 0;
+ gUnknown_Debug_2038A0C[8] = 0;
+ gUnknown_Debug_2038A0C[12] = 0;
+ byte_3005E30 = 0;
+ ZeroPlayerPartyMons();
+ ZeroEnemyPartyMons();
+ debug_80C4214(0);
+ CreateTask(debug_80C47BC, 0);
+}
+
+void debug_80C41A8(void)
+{
+ gUnknown_Debug_2038A0C[1] = 0;
+ gUnknown_Debug_2038A0C[2] = 0;
+ ZeroPlayerPartyMons();
+ ZeroEnemyPartyMons();
+ debug_80C4214(0);
+ CreateTask(debug_80C47BC, 0);
+}
+
+const u8 gUnknown_Debug_083F802E[] = _("やせいたいせん");
+const u8 gUnknown_Debug_083F8036[] = _("1VS1たいせん");
+const u8 gUnknown_Debug_083F803F[] = _("2VS2たいせん");
+const u8 gUnknown_Debug_083F8048[] = _("{COLOR BLUE}1VS1つうしんたいせん");
+const u8 gUnknown_Debug_083F8058[] = _("{COLOR BLUE}2VS2つうしんたいせん");
+
+const struct WatanabeDebugMenuItem gUnknown_Debug_083F8068[] = {
+ {gUnknown_Debug_083F802E, {.type1 = {0x00, 0x01}}},
+ {gUnknown_Debug_083F8036, {.type1 = {0x08, 0x01}}},
+ {gUnknown_Debug_083F803F, {.type1 = {0x09, 0x02}}},
+ {gUnknown_Debug_083F8048, {.type1 = {0x0A, 0x01}}},
+ {gUnknown_Debug_083F8058, {.type1 = {0x0B, 0x02}}}
+};
+
+const u8 gUnknown_Debug_083F8090[] = _("きほんタイプ");
+const u8 gUnknown_Debug_083F8097[] = _("AIタイプ2");
+const u8 gUnknown_Debug_083F809E[] = _("AIタイプ3");
+const u8 gUnknown_Debug_083F80A5[] = _("AIタイプ4");
+const u8 gUnknown_Debug_083F80AC[] = _("AIタイプ5");
+const u8 gUnknown_Debug_083F80B3[] = _("AIタイプ6");
+const u8 gUnknown_Debug_083F80BA[] = _("AIタイプ7");
+const u8 gUnknown_Debug_083F80C1[] = _("AIタイプ8");
+const u8 gUnknown_Debug_083F80C8[] = _("AIタイプ9");
+const u8 gUnknown_Debug_083F80CF[] = _("AIタイプ10");
+
+const struct WatanabeDebugMenuItem gUnknown_Debug_083F80D8[] = {
+ {gUnknown_Debug_083F8090, {.type2 = 0x1}},
+ {gUnknown_Debug_083F8097, {.type2 = 0x2}},
+ {gUnknown_Debug_083F809E, {.type2 = 0x4}},
+ {gUnknown_Debug_083F80A5, {.type2 = 0x8}},
+ {gUnknown_Debug_083F80AC, {.type2 = 0x10}},
+ {gUnknown_Debug_083F80B3, {.type2 = 0x20}},
+ {gUnknown_Debug_083F80BA, {.type2 = 0x40}},
+ {gUnknown_Debug_083F80C1, {.type2 = 0x80}},
+ {gUnknown_Debug_083F80C8, {.type2 = 0x100}},
+ {gUnknown_Debug_083F80CF, {.type2 = 0x200}}
+};
+
+const u8 gUnknown_Debug_083F8128[] = _("くさ");
+const u8 gUnknown_Debug_083F812B[] = _("ながい くさ");
+const u8 gUnknown_Debug_083F8132[] = _("すな");
+const u8 gUnknown_Debug_083F8135[] = _("みず");
+const u8 gUnknown_Debug_083F8138[] = _("うみ");
+const u8 gUnknown_Debug_083F813B[] = _("いけ");
+const u8 gUnknown_Debug_083F813E[] = _("いわ");
+const u8 gUnknown_Debug_083F8141[] = _("どうくつ");
+const u8 gUnknown_Debug_083F8146[] = _("そのた");
+
+const struct WatanabeDebugMenuItem gUnknown_Debug_083F814C[] = {
+ {gUnknown_Debug_083F8128, {.type3 = 0x0}},
+ {gUnknown_Debug_083F812B, {.type3 = 0x1}},
+ {gUnknown_Debug_083F8132, {.type3 = 0x2}},
+ {gUnknown_Debug_083F8135, {.type3 = 0x3}},
+ {gUnknown_Debug_083F8138, {.type3 = 0x4}},
+ {gUnknown_Debug_083F813B, {.type3 = 0x5}},
+ {gUnknown_Debug_083F813E, {.type3 = 0x6}},
+ {gUnknown_Debug_083F8141, {.type3 = 0x7}},
+ {gUnknown_Debug_083F8146, {.type3 = 0x8}}
+};
+
+void debug_80C41D4(void)
+{
+ debug_80C40C4(0);
+ debug_80C4214(0);
+ CreateTask(debug_80C42B8, 0);
+}
+
+void debug_80C41F4(void)
+{
+ debug_80C40C4(1);
+ debug_80C4214(1);
+ CreateTask(debug_80C42B8, 0);
+}
+
+void debug_80C4214(UNUSED u8 a0)
+{
+ u16 imeBak;
+ debug_80C35DC();
+ REG_WIN0H = 0;
+ REG_WIN0V = 0;
+ REG_WIN1H = 0;
+ REG_WIN1V = 0;
+ REG_WININ = 0x1111;
+ REG_WINOUT = 0x0031;
+ REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN;
+ REG_BLDALPHA = 0;
+ REG_BLDY = 7;
+
+ imeBak = REG_IME;
+ REG_IME = 0;
+ REG_IE |= INTR_FLAG_VBLANK;
+ REG_IME = imeBak;
+
+ SetVBlankCallback(debug_80C3758);
+ SetMainCallback2(debug_80C370C);
+ REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON;
+ REG_WIN0H = 0x01EF;
+ REG_WIN0V = 0x819F;
+}
+
+void debug_80C42B8(u8 taskId)
+{
+ u8 sp00[] = _("ポケモンを えらんでね");
+ u8 sp0c[] = _("{COLOR RED}START:つぎへ");
+
+ Menu_DrawStdWindowFrame(0, 16, 29, 19);
+ Menu_PrintText(sp00, 1, 17);
+ Menu_PrintText(sp0c, 20, 17);
+
+ debug_80C4694();
+ debug_80C4704();
+
+ if (gUnknown_Debug_2038A0C[0])
+ gTasks[taskId].func = debug_80C44EC;
+ else
+ gTasks[taskId].func = debug_80C4348;
+}
+
+void debug_80C4348(u8 taskId)
+{
+ debug_80C38E4(gUnknown_Debug_2038A0C[1] * 2 + 3, 1, 1, 14, 1);
+ REG_WIN1H = 0x0177;
+ REG_WIN1V = 0x017F;
+ gTasks[taskId].func = debug_80C43A8;
+}
+
+void debug_80C43A8(u8 taskId)
+{
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ debug_sub_80A433C(gPlayerParty + gUnknown_Debug_2038A0C[1], debug_80C41D4);
+ DestroyTask(taskId);
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ gTasks[taskId].func = debug_80C4F48;
+ }
+ else if (gMain.newKeys & START_BUTTON)
+ {
+ if (debug_80C4774())
+ {
+ PlaySE(SE_SELECT);
+ CalculatePlayerPartyCount();
+ CalculateEnemyPartyCount();
+ gTasks[taskId].func = debug_80C4D14;
+ }
+ }
+ else if (gMain.newKeys & (R_BUTTON | DPAD_RIGHT))
+ {
+ debug_80C38E4(0, 1, 1, 14, 0);
+ gTasks[taskId].func = debug_80C44EC;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_UP && gUnknown_Debug_2038A0C[1] != 0)
+ {
+ gUnknown_Debug_2038A0C[1]--;
+ gTasks[taskId].func = debug_80C4348;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A0C[1] < 5 && GetMonData(gPlayerParty + gUnknown_Debug_2038A0C[1], MON_DATA_SPECIES) != SPECIES_NONE)
+ {
+ gUnknown_Debug_2038A0C[1]++;
+ gTasks[taskId].func = debug_80C4348;
+ }
+}
+
+void debug_80C44EC(u8 taskId)
+{
+ debug_80C38E4(gUnknown_Debug_2038A0C[2] * 2 + 3, 16, 1, 14, 1);
+ REG_WIN1H = 0x79EF;
+ REG_WIN1V = 0x017F;
+ gTasks[taskId].func = debug_80C4550;
+}
+
+void debug_80C4550(u8 taskId)
+{
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ debug_sub_80A433C(gEnemyParty + gUnknown_Debug_2038A0C[2], debug_80C41F4);
+ DestroyTask(taskId);
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ gTasks[taskId].func = debug_80C4F48;
+ }
+ else if (gMain.newKeys & START_BUTTON)
+ {
+ if (debug_80C4774())
+ {
+ PlaySE(SE_SELECT);
+ CalculatePlayerPartyCount();
+ CalculateEnemyPartyCount();
+ gTasks[taskId].func = debug_80C4D14;
+ }
+ }
+ else if (gMain.newKeys & (L_BUTTON | DPAD_LEFT))
+ {
+ debug_80C38E4(0, 16, 1, 14, 0);
+ gTasks[taskId].func = debug_80C4348;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_UP && gUnknown_Debug_2038A0C[2] != 0)
+ {
+ gUnknown_Debug_2038A0C[2]--;
+ gTasks[taskId].func = debug_80C44EC;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A0C[2] < 5 && GetMonData(gEnemyParty + gUnknown_Debug_2038A0C[2], MON_DATA_SPECIES) != SPECIES_NONE)
+ {
+ gUnknown_Debug_2038A0C[2]++;
+ gTasks[taskId].func = debug_80C44EC;
+ }
+}
+
+void debug_80C4694(void)
+{
+ u8 i;
+ u8 sp00[] = _("{COLOR RED}じぶんの ポケモン");
+ u8 sp10[POKEMON_NAME_LENGTH + 1];
+
+ Menu_DrawStdWindowFrame(0, 0, 14, 15);
+ Menu_PrintText(sp00, 2, 1);
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ debug_80C405C(sp10, GetMonData(gPlayerParty + i, MON_DATA_SPECIES));
+ Menu_PrintText(sp10, 2, 2 * i + 3);
+ }
+}
+
+void debug_80C4704(void)
+{
+ u8 i;
+ u8 sp00[] = _("{COLOR RED}あいての ポケモン");
+ u8 sp10[POKEMON_NAME_LENGTH + 1];
+
+ Menu_DrawStdWindowFrame(15, 0, 29, 15);
+ Menu_PrintText(sp00, 17, 1);
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ debug_80C405C(sp10, GetMonData(gEnemyParty + i, MON_DATA_SPECIES));
+ Menu_PrintText(sp10, 17, 2 * i + 3);
+ }
+}
+
+bool8 debug_80C4774(void)
+{
+ u8 i = gUnknown_Debug_2038A0C[12] - 1;
+ if (GetMonData(gPlayerParty + i, MON_DATA_SPECIES) != SPECIES_NONE && GetMonData(gEnemyParty + i, MON_DATA_SPECIES) != SPECIES_NONE)
+ return TRUE;
+ return FALSE;
+}
+
+void debug_80C47BC(u8 taskId)
+{
+ u8 i;
+ u8 sp00[] = _("たいせんモードを えらんでね");
+ u8 sp10[] = _("{COLOR RED}START:つぎへ");
+ u8 sp20[] = _("{COLOR RED}バトルモード せんたく");
+ u8 sp30[] = _("{COLOR RED}トレーナーAI せんたく");
+
+ Menu_DrawStdWindowFrame(0, 16, 29, 19);
+ Menu_PrintText(sp00, 1, 17);
+ Menu_PrintText(sp10, 20, 17);
+
+ Menu_DrawStdWindowFrame(0, 0, 14, 15);
+ Menu_PrintText(sp20, 2, 1);
+
+ for (i = 0; i < ARRAY_COUNT(gUnknown_Debug_083F8068); i++)
+ Menu_PrintText(gUnknown_Debug_083F8068[i].text, 2, 2 * i + 3);
+
+ Menu_DrawStdWindowFrame(15, 0, 29, 15);
+ Menu_PrintText(sp30, 17, 1);
+
+ debug_80C4C44(gUnknown_Debug_2038A0C[4]);
+
+ gTasks[taskId].func = debug_80C48A0;
+}
+
+void debug_80C48A0(u8 taskId)
+{
+ debug_80C38E4(2 * gUnknown_Debug_2038A0C[3] + 3, 1, 1, 14, 1);
+ REG_WIN1H = 0x0177;
+ REG_WIN1V = 0x017F;
+ gTasks[taskId].func = debug_80C4900;
+}
+
+void debug_80C4900(u8 taskId)
+{
+ if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ SetMainCallback2(debug_80C370C);
+ LoadPlayerParty();
+ gSaveBlock2.playerGender = gUnknown_Debug_2038A0C[13];
+ gBattleTypeFlags = 0;
+ gUnknown_02023A14_50 = 0;
+ gTasks[taskId].func = debug_80C373C;
+ }
+ else if (gMain.newKeys & START_BUTTON || gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ gBattleTypeFlags = gUnknown_Debug_083F8068[gUnknown_Debug_2038A0C[3]].data.type1[0];
+ gUnknown_02023A14_50 = 8;
+ gUnknown_Debug_2038A0C[12] = gUnknown_Debug_083F8068[gUnknown_Debug_2038A0C[3]].data.type1[1];
+ if (gUnknown_Debug_2038A0C[3] == 1 || gUnknown_Debug_2038A0C[3] == 2)
+ {
+ debug_80C38E4(0, 1, 1, 14, 0);
+ gTasks[taskId].func = debug_80C4A60;
+ }
+ else
+ {
+ gTasks[taskId].func = debug_80C4F48;
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_UP && gUnknown_Debug_2038A0C[3] > 0)
+ {
+ gUnknown_Debug_2038A0C[3]--;
+ gTasks[taskId].func = debug_80C48A0;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A0C[3] < 2)
+ {
+ gUnknown_Debug_2038A0C[3]++;
+ gTasks[taskId].func = debug_80C48A0;
+ }
+}
+
+void debug_80C4A60(u8 taskId)
+{
+ debug_80C38E4(gUnknown_Debug_2038A0C[5] * 2 + 3, 16, 1, 14, 1);
+ REG_WIN1H = 0x79EF;
+ REG_WIN1V = 0x017F;
+ gTasks[taskId].func = debug_80C4AC4;
+}
+
+void debug_80C4AC4(u8 taskId)
+{
+ u8 r1 = gUnknown_Debug_2038A0C[4] + gUnknown_Debug_2038A0C[5];
+
+ if (gMain.newKeys & A_BUTTON)
+ {
+ u32 mask = gUnknown_Debug_083F80D8[r1].data.type2;
+ if (byte_3005E30 & mask)
+ byte_3005E30 &= (mask ^ 0xFFFF);
+ else
+ byte_3005E30 |= mask;
+ debug_80C4C44(gUnknown_Debug_2038A0C[4]);
+ gTasks[taskId].func = debug_80C4A60;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ debug_80C38E4(0, 16, 1, 14, 0);
+ gTasks[taskId].func = debug_80C48A0;
+ }
+ else if (gMain.newKeys & START_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ gTrainerBattleOpponent = 0x400;
+ eWatanabe17000.unk1_4 = 0;
+ eWatanabe17000.unk2 = 0xAC;
+ eWatanabe17000.unk3 = 0xFF;
+ eWatanabe17000.unk9 = 0;
+ eWatanabe17000.unkA = 0;
+ eWatanabe17000.unkB = 0;
+ eWatanabe17000.unkC = 0;
+ gTasks[taskId].func = debug_80C4F48;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ if (gUnknown_Debug_2038A0C[5] > 0)
+ gUnknown_Debug_2038A0C[5]--;
+ else if (gUnknown_Debug_2038A0C[4] > 0)
+ {
+ gUnknown_Debug_2038A0C[4]--;
+ debug_80C4C44(gUnknown_Debug_2038A0C[4]);
+ }
+ gTasks[taskId].func = debug_80C4A60;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A0C[5] < 9)
+ {
+ if (gUnknown_Debug_2038A0C[5] < 5)
+ gUnknown_Debug_2038A0C[5]++;
+ else if (gUnknown_Debug_2038A0C[4] < 4)
+ {
+ gUnknown_Debug_2038A0C[4]++;
+ debug_80C4C44(gUnknown_Debug_2038A0C[4]);
+ }
+ gTasks[taskId].func = debug_80C4A60;
+ }
+}
+
+void debug_80C4C44(u8 a0)
+{
+ u8 i;
+ u8 j;
+ u8 sp00[15];
+
+ for (i = 0; i < 6; i++)
+ {
+ if (i + a0 < 10)
+ {
+ for (j = 0; gUnknown_Debug_083F80D8[i + a0].text[j] != EOS && j < 12; j++)
+ {
+ sp00[j + 3] = gUnknown_Debug_083F80D8[i + a0].text[j];
+ }
+ for (; j < 12; j++)
+ {
+ sp00[j + 3] = CHAR_SPACE;
+ }
+ sp00[14] = EOS;
+ sp00[0] = EXT_CTRL_CODE_BEGIN;
+ sp00[1] = 0x01;
+ if (byte_3005E30 & (1 << (i + a0)))
+ sp00[2] = 0x03;
+ else
+ sp00[2] = 0x01;
+ Menu_PrintText(sp00, 17, 2 * i + 3);
+ }
+ }
+}
+
+void debug_80C4D14(u8 taskId)
+{
+ u8 sp00[] = _("たいせんモードを えらんでね");
+ u8 sp10[] = _("{COLOR RED}START:かいし");
+ u8 sp20[] = _("{COLOR RED}バトルちけい せんたく");
+
+ Menu_DrawStdWindowFrame(0, 16, 29, 19);
+ Menu_PrintText(sp00, 1, 17);
+ Menu_PrintText(sp10, 20, 17);
+
+ Menu_DrawStdWindowFrame(0, 0, 14, 15);
+ Menu_PrintText(sp20, 2, 1);
+ debug_80C4F00(gUnknown_Debug_2038A0C[6]);
+
+ Menu_DrawStdWindowFrame(15, 0, 29,15);
+ gTasks[taskId].func = debug_80C4DB8;
+}
+
+void debug_80C4DB8(u8 taskId)
+{
+ debug_80C38E4(2 * gUnknown_Debug_2038A0C[7] + 3, 1, 1, 14, 1);
+ REG_WIN1H = 0x0177;
+ REG_WIN1V = 0x017F;
+ gTasks[taskId].func = debug_80C4E18;
+}
+
+void debug_80C4E18(u8 taskId)
+{
+ u8 r6 = gUnknown_Debug_2038A0C[6] + gUnknown_Debug_2038A0C[7];
+ if (gMain.newKeys & B_BUTTON)
+ {
+ gTasks[taskId].func = debug_80C42B8;
+ }
+ else if (gMain.newKeys & START_BUTTON || gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ gBattleTerrain = gUnknown_Debug_083F814C[r6].data.type3;
+ gTasks[taskId].func = debug_80C5158;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ if (gUnknown_Debug_2038A0C[7] > 0)
+ gUnknown_Debug_2038A0C[7]--;
+ else if (gUnknown_Debug_2038A0C[6] > 0)
+ {
+ gUnknown_Debug_2038A0C[6]--;
+ debug_80C4F00(gUnknown_Debug_2038A0C[6]);
+ }
+ gTasks[taskId].func = debug_80C4DB8;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A0C[7] < 8)
+ {
+ if (gUnknown_Debug_2038A0C[7] < 5)
+ gUnknown_Debug_2038A0C[7]++;
+ else if (gUnknown_Debug_2038A0C[6] < 3)
+ {
+ gUnknown_Debug_2038A0C[6]++;
+ debug_80C4F00(gUnknown_Debug_2038A0C[6]);
+ }
+ gTasks[taskId].func = debug_80C4DB8;
+ }
+}
+
+void debug_80C4F00(u8 a0)
+{
+ u8 i;
+ Menu_BlankWindowRect(1, 3, 13, 14);
+
+ for (i = 0; i < 6; i++)
+ {
+ if (i < 9)
+ Menu_PrintText(gUnknown_Debug_083F814C[i + a0].text, 2, 2 * i + 3);
+ }
+}
+
+void debug_80C4F48(u8 taskId)
+{
+ u8 sp00[] = _("じぶんの せいべつを えらんでね");
+ u8 sp14[] = _("{COLOR RED}START:つぎへ");
+ u8 sp24[] = _("{COLOR RED}せいべつ せんたく");
+ u8 sp34[] = _("おとこ");
+ u8 sp38[] = _("おんな");
+
+ Menu_DrawStdWindowFrame(0, 16, 29, 19);
+ Menu_PrintText(sp00, 1, 17);
+ Menu_PrintText(sp14, 20, 17);
+
+ Menu_DrawStdWindowFrame(0, 0, 14, 15);
+ Menu_PrintText(sp24, 2, 1);
+
+ Menu_BlankWindowRect(1, 3, 13, 14);
+ Menu_PrintText(sp24, 2, 1);
+ Menu_PrintText(sp34, 2, 3);
+ Menu_PrintText(sp38, 2, 5);
+
+ Menu_DrawStdWindowFrame(15, 0, 29, 15);
+ gTasks[taskId].func = debug_80C5038;
+}
+
+void debug_80C5038(u8 taskId)
+{
+ debug_80C38E4(gUnknown_Debug_2038A0C[8] * 2 + 3, 1, 1, 14, 1);
+ REG_WIN1H = 0x0177;
+ REG_WIN1V = 0x017F;
+ gTasks[taskId].func = debug_80C5098;
+}
+
+void debug_80C5098(u8 taskId)
+{
+ if (gMain.newKeys & B_BUTTON)
+ {
+ gTasks[taskId].func = debug_80C47BC;
+ }
+ else if (gMain.newKeys & START_BUTTON || gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ gSaveBlock2.playerGender = gUnknown_Debug_2038A0C[8];
+ gTasks[taskId].func = debug_80C42B8;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_UP && gUnknown_Debug_2038A0C[8] > 0)
+ {
+ gUnknown_Debug_2038A0C[8]--;
+ gTasks[taskId].func = debug_80C5038;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A0C[8] < 1)
+ {
+ gUnknown_Debug_2038A0C[8]++;
+ gTasks[taskId].func = debug_80C5038;
+ }
+}
+
+void debug_80C5158(u8 taskId)
+{
+ gTasks[taskId].func = debug_80C5174;
+}
+
+void debug_80C5174(u8 taskId)
+{
+ gTasks[taskId].func = debug_80C5190;
+}
+
+void debug_80C5190(u8 taskId)
+{
+ gTasks[taskId].func = debug_80C51AC;
+}
+
+void debug_80C51AC(u8 taskId)
+{
+ gTasks[taskId].func = debug_80C51C8;
+}
+
+void debug_80C51C8(u8 taskId)
+{
+ gTasks[taskId].func = debug_80C51E4;
+}
+
+void debug_80C51E4(u8 taskId)
+{
+ sub_80408BC();
+ gMain.savedCallback = debug_80C41A8;
+ SetMainCallback2(debug_sub_800D684);
+}
+
+void debug_80C5208(void)
+{
+ u16 i;
+
+ gUnknown_Debug_2038A1C = &eWatanabe18000;
+
+ for (i = 0; i < 64; i++)
+ {
+ gUnknown_Debug_2038A1C->unk64[i] = 0;
+ }
+
+ gUnknown_Debug_2038A1C->unk64[0] = 0xfc;
+ gUnknown_Debug_2038A1C->unk64[3] = gSaveBlock2.playerTrainerId[0] | (gSaveBlock2.playerTrainerId[1] << 8) | (gSaveBlock2.playerTrainerId[2] << 16) | (gSaveBlock2.playerTrainerId[3] << 24);
+ gUnknown_Debug_2038A1C->unk64[4] = (Random() << 16) | Random();
+ gUnknown_Debug_2038A1C->unk64[1] = 1;
+ gUnknown_Debug_2038A1C->unk64[2] = 1;
+ debug_80C5C94();
+}
+
+bool8 debug_80C527C(struct Pokemon *pokemon)
+{
+ u8 i;
+
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ if (GetMonData(gPlayerParty + i, MON_DATA_SPECIES, NULL) == SPECIES_NONE)
+ {
+ gPlayerParty[i] = *pokemon;
+ gPlayerPartyCount = i + 1;
+ return FALSE;
+ }
+ }
+ SendMonToPC(&gUnknown_Debug_2038A1C->pokemon);
+ return TRUE;
+}
+
+const u8 Str_83F8237[] = _("Kind");
+const struct WatanabeDebugMenuItemSubstruct _83F823C = {1, 0x00000182, 0x00, 0x03};
+
+const u8 Str_83F8248[] = _("Level");
+const struct WatanabeDebugMenuItemSubstruct _83F8250 = {1, 0x00000064, 0x00, 0x03};
+
+const u8 Str_83F825C[] = _("EXP Points");
+const struct WatanabeDebugMenuItemSubstruct _83F8268 = {1, 0x001E8480, 0x00, 0x07};
+
+const u8 Str_83F8274[] = _("ID");
+const struct WatanabeDebugMenuItemSubstruct _83F8278 = {0, 0xFFFFFFFF, 0x00, 0x0A};
+
+const u8 Str_83F8284[] = _("Rnd Numbers");
+const struct WatanabeDebugMenuItemSubstruct _83F8290 = {0, 0xFFFFFFFF, 0x00, 0x0A};
+
+const u8 Str_83F829C[] = _("Sex");
+const struct WatanabeDebugMenuItemSubstruct _83F82A0 = {0, 0x00000002, 0x00, 0xFF};
+
+const u8 Str_83F82AC[] = _("Character");
+const struct WatanabeDebugMenuItemSubstruct _83F82B8 = {0, 0x00000018, 0x00, 0xFF};
+
+const u8 Str_83F82C4[] = _("Move1");
+const struct WatanabeDebugMenuItemSubstruct _83F82CC = {0, 0x00000162, 0x00, 0x03};
+
+const u8 Str_83F82D8[] = _("Move2");
+const struct WatanabeDebugMenuItemSubstruct _83F82E0 = {0, 0x00000162, 0x00, 0x03};
+
+const u8 Str_83F82EC[] = _("Move3");
+const struct WatanabeDebugMenuItemSubstruct _83F82F4 = {0, 0x00000162, 0x00, 0x03};
+
+const u8 Str_83F8300[] = _("Move4");
+const struct WatanabeDebugMenuItemSubstruct _83F8308 = {0, 0x00000162, 0x00, 0x03};
+
+const u8 Str_83F8314[] = _("Hold");
+const struct WatanabeDebugMenuItemSubstruct _83F831C = {0, 0x000000FF, 0x00, 0x03};
+
+const u8 Str_83F8328[] = _("SP. Ability");
+const struct WatanabeDebugMenuItemSubstruct _83F8334 = {0, 0x00000001, 0x00, 0xFF};
+
+const u8 Str_83F8340[] = _("HPrnd");
+const struct WatanabeDebugMenuItemSubstruct _83F8348 = {0, 0x0000001F, 0x00, 0x02};
+
+const u8 Str_83F8354[] = _("HPexp");
+const struct WatanabeDebugMenuItemSubstruct _83F835C = {0, 0x000000FF, 0x00, 0x03};
+
+const u8 Str_83F8368[] = _("ATKrnd");
+const struct WatanabeDebugMenuItemSubstruct _83F8370 = {0, 0x0000001F, 0x00, 0x02};
+
+const u8 Str_83F837C[] = _("ATKexp");
+const struct WatanabeDebugMenuItemSubstruct _83F8384 = {0, 0x000000FF, 0x00, 0x03};
+
+const u8 Str_83F8390[] = _("DEFrnd");
+const struct WatanabeDebugMenuItemSubstruct _83F8398 = {0, 0x0000001F, 0x00, 0x02};
+
+const u8 Str_83F83A4[] = _("DEFexp");
+const struct WatanabeDebugMenuItemSubstruct _83F83AC = {0, 0x000000FF, 0x00, 0x03};
+
+const u8 Str_83F83B8[] = _("SPDrnd");
+const struct WatanabeDebugMenuItemSubstruct _83F83C0 = {0, 0x0000001F, 0x00, 0x02};
+
+const u8 Str_83F83CC[] = _("SPDexp");
+const struct WatanabeDebugMenuItemSubstruct _83F83D4 = {0, 0x000000FF, 0x00, 0x03};
+
+const u8 Str_83F83E0[] = _("SP. ATK$rnd");
+const struct WatanabeDebugMenuItemSubstruct _83F83EC = {0, 0x0000001F, 0x00, 0x02};
+
+const u8 Str_83F83F8[] = _("SP. ATK$exp");
+const struct WatanabeDebugMenuItemSubstruct _83F8404 = {0, 0x000000FF, 0x00, 0x03};
+
+const u8 Str_83F8410[] = _("SP. DEF$rnd");
+const struct WatanabeDebugMenuItemSubstruct _83F841C = {0, 0x0000001F, 0x00, 0x02};
+
+const u8 Str_83F8428[] = _("SP. DEF$exp");
+const struct WatanabeDebugMenuItemSubstruct _83F8434 = {0, 0x000000FF, 0x00, 0x03};
+
+const u8 Str_83F8440[] = _("Cool");
+const struct WatanabeDebugMenuItemSubstruct _83F8448 = {0, 0x000000FF, 0x00, 0x03};
+
+const u8 Str_83F8454[] = _("Beauty");
+const struct WatanabeDebugMenuItemSubstruct _83F845C = {0, 0x000000FF, 0x00, 0x03};
+
+const u8 Str_83F8468[] = _("Cute");
+const struct WatanabeDebugMenuItemSubstruct _83F8470 = {0, 0x000000FF, 0x00, 0x03};
+
+const u8 Str_83F847C[] = _("Smart");
+const struct WatanabeDebugMenuItemSubstruct _83F8484 = {0, 0x000000FF, 0x00, 0x03};
+
+const u8 Str_83F8490[] = _("Tough");
+const struct WatanabeDebugMenuItemSubstruct _83F8498 = {0, 0x000000FF, 0x00, 0x03};
+
+const u8 Str_83F84A4[] = _("Sheen");
+const struct WatanabeDebugMenuItemSubstruct _83F84AC = {0, 0x000000FF, 0x00, 0x03};
+
+const u8 Str_83F84B8[] = _("Tameness");
+const struct WatanabeDebugMenuItemSubstruct _83F84C4 = {0, 0x000000FF, 0x00, 0x03};
+
+const u8 Str_83F84D0[] = _("{PK}RUS");
+const struct WatanabeDebugMenuItemSubstruct _83F84D8 = {0, 0x000000FF, 0x00, 0x03};
+
+const u8 Str_83F84E4[] = _("EGG$");
+const struct WatanabeDebugMenuItemSubstruct _83F84EC = {0, 0x00000001, 0x00, 0xFF};
+
+const u8 Str_83F84F8[] = _("Status");
+const struct WatanabeDebugMenuItemSubstruct _83F8500 = {0, 0x00000006, 0x00, 0xFF};
+
+const u8 gUnknown_Debug_083F850A[] = _("{COLOR RED}HP  ");
+const u8 gUnknown_Debug_083F8514[] = _("{COLOR RED}ATK ");
+const u8 gUnknown_Debug_083F851C[] = _("{COLOR RED}DEF ");
+const u8 gUnknown_Debug_083F8524[] = _("{COLOR RED}SPEED");
+const u8 gUnknown_Debug_083F852D[] = _("{COLOR RED}SP。ATK");
+const u8 gUnknown_Debug_083F8537[] = _("{COLOR RED}SP。DEF");
+const u8 gUnknown_Debug_083F8541[] = _("なし");
+const u8 gUnknown_Debug_083F8544[] = _("♂");
+const u8 gUnknown_Debug_083F8546[] = _("♀");
+const u8 gUnknown_Debug_083F8548[] = _("ー");
+const u8 gUnknown_Debug_083F854A[] = _("ON");
+const u8 gUnknown_Debug_083F854D[] = _("OFF");
+
+const struct WatanabeDebugMenuItem gUnknown_Debug_083F8554[] = {
+ {Str_83F8237, {.type4 = &_83F823C}},
+ {Str_83F8248, {.type4 = &_83F8250}},
+ {Str_83F825C, {.type4 = &_83F8268}},
+ {Str_83F8274, {.type4 = &_83F8278}},
+ {Str_83F8284, {.type4 = &_83F8290}},
+ {Str_83F829C, {.type4 = &_83F82A0}},
+ {Str_83F82AC, {.type4 = &_83F82B8}},
+ {Str_83F82C4, {.type4 = &_83F82CC}},
+ {Str_83F82D8, {.type4 = &_83F82E0}},
+ {Str_83F82EC, {.type4 = &_83F82F4}},
+ {Str_83F8300, {.type4 = &_83F8308}},
+ {Str_83F8314, {.type4 = &_83F831C}},
+ {Str_83F8328, {.type4 = &_83F8334}},
+ {Str_83F8340, {.type4 = &_83F8348}},
+ {Str_83F8354, {.type4 = &_83F835C}},
+ {Str_83F8368, {.type4 = &_83F8370}},
+ {Str_83F837C, {.type4 = &_83F8384}},
+ {Str_83F8390, {.type4 = &_83F8398}},
+ {Str_83F83A4, {.type4 = &_83F83AC}},
+ {Str_83F83B8, {.type4 = &_83F83C0}},
+ {Str_83F83CC, {.type4 = &_83F83D4}},
+ {Str_83F83E0, {.type4 = &_83F83EC}},
+ {Str_83F83F8, {.type4 = &_83F8404}},
+ {Str_83F8410, {.type4 = &_83F841C}},
+ {Str_83F8428, {.type4 = &_83F8434}},
+ {Str_83F8440, {.type4 = &_83F8448}},
+ {Str_83F8454, {.type4 = &_83F845C}},
+ {Str_83F8468, {.type4 = &_83F8470}},
+ {Str_83F847C, {.type4 = &_83F8484}},
+ {Str_83F8490, {.type4 = &_83F8498}},
+ {Str_83F84A4, {.type4 = &_83F84AC}},
+ {Str_83F84B8, {.type4 = &_83F84C4}},
+ {Str_83F84D0, {.type4 = &_83F84D8}},
+ {Str_83F84E4, {.type4 = &_83F84EC}},
+ {Str_83F84F8, {.type4 = &_83F8500}}
+};
+
+const u8 gUnknown_Debug_083F866C[] = {
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0xFF
+};
+
+const u8 gUnknown_Debug_083F8674[] = {
+ 0x22, 0x1F, 0x20, 0xFF
+};
+
+const u8 gUnknown_Debug_083F8678[] = {
+ 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0xFF
+};
+
+const u8 gUnknown_Debug_083F867F[] = {
+ 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0xFE, 0xFF
+};
+
+const u8 gUnknown_Debug_083F8687[] = {
+ 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0xFD, 0xFF
+};
+
+const u8 gUnknown_Debug_083F868F[] = {
+ 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0xFF
+};
+
+const struct WatanabeDebugMenuItem gUnknown_Debug_083F8698[] = {
+ {gUnknown_Debug_083F866C, {.type3 = 0x5}},
+ {gUnknown_Debug_083F8674, {.type3 = 0x3}},
+ {gUnknown_Debug_083F8678, {.type3 = 0x6}},
+ {gUnknown_Debug_083F867F, {.type3 = 0x6}},
+ {gUnknown_Debug_083F8687, {.type3 = 0x6}},
+ {gUnknown_Debug_083F868F, {.type3 = 0x6}}
+};
+
+const u8 gUnknown_Debug_083F86C8[] = _("ーーー");
+const u8 gUnknown_Debug_083F86CC[] = _("SLP");
+const u8 gUnknown_Debug_083F86D0[] = _("PSN");
+const u8 gUnknown_Debug_083F86D4[] = _("BRN");
+const u8 gUnknown_Debug_083F86D8[] = _("FRZ");
+const u8 gUnknown_Debug_083F86DC[] = _("PAR");
+const u8 gUnknown_Debug_083F86E0[] = _("PSN2");
+
+const struct WatanabeDebugMenuItem gUnknown_Debug_083F86E8[] = {
+ {gUnknown_Debug_083F86C8, {.type3 = 0x0}},
+ {gUnknown_Debug_083F86CC, {.type3 = 0x1}},
+ {gUnknown_Debug_083F86D0, {.type3 = 0x8}},
+ {gUnknown_Debug_083F86D4, {.type3 = 0x10}},
+ {gUnknown_Debug_083F86D8, {.type3 = 0x20}},
+ {gUnknown_Debug_083F86DC, {.type3 = 0x40}},
+ {gUnknown_Debug_083F86E0, {.type3 = 0x80}}
+};
+
+const u8 gUnknown_Debug_083F8720[] = _("PKMNワLIST");
+const u8 gUnknown_Debug_083F872A[] = _("PKMNワBOX");
+void InitCreatePokemon(void)
+{
+ u8 sp04[] = _("Create POKひMON   LR:Shift  START:Add");
+
+ debug_80C35DC();
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ REG_BLDCNT = 0x0000;
+ REG_BLDALPHA = 0x0000;
+ REG_BLDY = 0x0000;
+
+ {
+ u16 imeBak = REG_IME;
+ REG_IME = 0;
+ REG_IE |= INTR_FLAG_VBLANK;
+ REG_IME = imeBak;
+ }
+
+ REG_DISPSTAT |= DISPSTAT_VBLANK_INTR;
+
+ SetVBlankCallback(debug_80C3758);
+ SetMainCallback2(debug_80C370C);
+
+ Menu_DrawStdWindowFrame(0, 0, 29, 3);
+ Menu_PrintText(sp04, 1, 1);
+ REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON;
+ CreateTask(debug_80C53A4, 0);
+ debug_80C5208();
+ gUnknown_Debug_2038A1C->unk168 = 0;
+ gUnknown_Debug_2038A1C->unk169 = 0;
+}
+
+void debug_80C53A4(u8 taskId)
+{
+ gTasks[taskId].func = debug_80C53C0;
+}
+
+void debug_80C53C0(u8 taskId)
+{
+ debug_80C6384();
+ debug_80C627C(0);
+ gTasks[taskId].func = debug_80C53F0;
+}
+
+void debug_80C53F0(u8 taskId)
+{
+ if (gMain.newKeys & A_BUTTON)
+ {
+ gUnknown_Debug_2038A1C->unk164 = gUnknown_Debug_2038A1C->unk64[gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]];
+ gUnknown_Debug_2038A1C->unk16a = 0;
+ debug_80C643C();
+ gTasks[taskId].func = debug_80C55E4;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ SetMainCallback2(debug_80C370C);
+ gTasks[taskId].func = debug_80C373C;
+ }
+ else if (gMain.newKeys & START_BUTTON)
+ {
+ bool8 r4;
+ PlaySE(SE_SELECT);
+ debug_80C5FFC();
+ r4 = debug_80C527C(&gUnknown_Debug_2038A1C->pokemon);
+ Menu_DrawStdWindowFrame(3, 8, 26, 11);
+ if (r4)
+ Menu_PrintText(gUnknown_Debug_083F872A, 4, 9);
+ else
+ Menu_PrintText(gUnknown_Debug_083F8720, 4, 9);
+ gTasks[taskId].func = debug_80C5708;
+ }
+ else if (gMain.newKeys & SELECT_BUTTON)
+ {
+ u32 r4 = gUnknown_Debug_2038A1C->unk64[0];
+ GetSetPokedexFlag(r4, 2);
+ GetSetPokedexFlag(r4, 3);
+ PlaySE(SE_SELECT);
+ }
+ else if (gMain.newKeys & DPAD_UP)
+ {
+ debug_80C627C(2);
+ }
+ else if (gMain.newKeys & DPAD_DOWN)
+ {
+ debug_80C627C(1);
+ }
+ else if (gMain.newKeys & L_BUTTON && gUnknown_Debug_2038A1C->unk168 > 0)
+ {
+ gUnknown_Debug_2038A1C->unk168--;
+ gUnknown_Debug_2038A1C->unk169 = 0;
+ gTasks[taskId].func = debug_80C53C0;
+ }
+ else if (gMain.newKeys & R_BUTTON && gUnknown_Debug_2038A1C->unk168 < 5)
+ {
+ gUnknown_Debug_2038A1C->unk168++;
+ gUnknown_Debug_2038A1C->unk169 = 0;
+ gTasks[taskId].func = debug_80C53C0;
+ }
+}
+
+void debug_80C55E4(u8 taskId)
+{
+ u8 r7 = gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169];
+ if (gMain.newKeys & A_BUTTON)
+ {
+ gTasks[taskId].func = debug_80C53C0;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ gUnknown_Debug_2038A1C->unk64[r7] = gUnknown_Debug_2038A1C->unk164;
+ gTasks[taskId].func = debug_80C53C0;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ debug_80C6544(1);
+ debug_80C643C();
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ debug_80C6544(2);
+ debug_80C643C();
+ }
+ else if (gUnknown_Debug_083F8554[r7].data.type4->unk9 != 0xFF)
+ {
+ if (gMain.newKeys & DPAD_LEFT && gUnknown_Debug_2038A1C->unk16a < gUnknown_Debug_083F8554[r7].data.type4->unk9 - 1)
+ {
+ gUnknown_Debug_2038A1C->unk16a++;
+ debug_80C643C();
+ }
+ else if (gMain.newKeys & DPAD_RIGHT && gUnknown_Debug_2038A1C->unk16a > 0)
+ {
+ gUnknown_Debug_2038A1C->unk16a--;
+ debug_80C643C();
+ }
+ }
+}
+
+void debug_80C5708(u8 taskId)
+{
+ if (gMain.newKeys & A_BUTTON)
+ {
+ gTasks[taskId].func = debug_80C53C0;
+ }
+}
+
+u8 debug_80C5738(u8 * a0, u8 a1, u8 a2)
+{
+ u16 i;
+ u8 r5;
+ u8 r2;
+
+ if (a1 == 0xfe)
+ {
+ debug_80C689C(a0, gUnknown_Debug_083F850A, 7);
+ debug_80C6678(a0 + 7, gUnknown_Debug_2038A1C->unk64[35], 3, 1);
+ a0[19] = CHAR_SPACE;
+ a0[20] = CHAR_SPACE;
+ debug_80C689C(a0 + 21, gUnknown_Debug_083F8514, 7);
+ debug_80C6678(a0 + 28, gUnknown_Debug_2038A1C->unk64[36], 3, 1);
+ a0[40] = CHAR_SPACE;
+ a0[41] = CHAR_SPACE;
+ debug_80C689C(a0 + 42, gUnknown_Debug_083F851C, 9);
+ debug_80C6678(a0 + 49, gUnknown_Debug_2038A1C->unk64[37], 3, 1);
+ return 0;
+ }
+ if (a1 == 0xfd)
+ {
+ debug_80C689C(a0, gUnknown_Debug_083F8524, 9);
+ debug_80C6678(a0 + 9, gUnknown_Debug_2038A1C->unk64[38], 3, 1);
+ a0[21] = CHAR_SPACE;
+ a0[22] = CHAR_SPACE;
+ debug_80C689C(a0 + 23, gUnknown_Debug_083F852D, 9);
+ debug_80C6678(a0 + 32, gUnknown_Debug_2038A1C->unk64[39], 3, 1);
+ a0[44] = CHAR_SPACE;
+ a0[45] = CHAR_SPACE;
+ debug_80C689C(a0 + 46, gUnknown_Debug_083F8537, 9);
+ debug_80C6678(a0 + 55, gUnknown_Debug_2038A1C->unk64[40], 3, 1);
+ return 0;
+ }
+ for (i = 0; i < 12; i++)
+ a0[i] = CHAR_SPACE;
+ debug_80C689C(a0, gUnknown_Debug_083F8554[a1].text, 11);
+ for (i = 12; i < 256; i++)
+ a0[i] = EOS;
+ r2 = gUnknown_Debug_083F8554[a1].data.type4->unk9;
+ r5 = r2 * 4;
+ switch (a1)
+ {
+ default:
+ a0[0] = EOS;
+ break;
+ case 0:
+ debug_80C6678(a0 + 10, gUnknown_Debug_2038A1C->unk64[a1], r2, a2);
+ a0[10 + r5] = CHAR_SPACE;
+ a0[11 + r5] = EXT_CTRL_CODE_BEGIN;
+ a0[12 + r5] = 0x01;
+ a0[13 + r5] = a2;
+ debug_80C689C(a0 + 14 + r5, gSpeciesNames[NationalPokedexNumToSpecies(gUnknown_Debug_2038A1C->unk64[a1])], 10);
+ break;
+ case 5:
+ switch (gUnknown_Debug_2038A1C->unk64[a1])
+ {
+ case 0:
+ debug_80C689C(a0 + 10, gUnknown_Debug_083F8546, 2);
+ break;
+ case 1:
+ debug_80C689C(a0 + 10, gUnknown_Debug_083F8541, 2);
+ break;
+ case 2:
+ debug_80C689C(a0 + 10, gUnknown_Debug_083F8544, 2);
+ break;
+ }
+ break;
+ case 7 ... 10:
+ debug_80C6678(a0 + 10, gUnknown_Debug_2038A1C->unk64[a1], r2, a2);
+ a0[10 + r5] = CHAR_SPACE;
+ a0[11 + r5] = EXT_CTRL_CODE_BEGIN;
+ a0[12 + r5] = 0x01;
+ a0[13 + r5] = a2;
+ debug_80C689C(a0 + 14 + r5, gMoveNames[gUnknown_Debug_2038A1C->unk64[a1]], 12);
+ break;
+ case 11:
+ debug_80C6678(a0 + 10, gUnknown_Debug_2038A1C->unk64[a1], r2, a2);
+ a0[10 + r5] = CHAR_SPACE;
+ a0[11 + r5] = EXT_CTRL_CODE_BEGIN;
+ a0[12 + r5] = 0x01;
+ a0[13 + r5] = a2;
+ if (gUnknown_Debug_2038A1C->unk64[a1] != ITEM_NONE)
+ debug_80C689C(a0 + 14 + r5, ItemId_GetName(gUnknown_Debug_2038A1C->unk64[a1]), 9);
+ else
+ debug_80C689C(a0 + 14 + r5, gUnknown_Debug_083F8541, 9);
+ break;
+ case 12:
+ a0 += 12;
+ debug_80C689C(a0, gAbilityNames[GetAbilityBySpecies(NationalPokedexNumToSpecies(gUnknown_Debug_2038A1C->unk64[0]), gUnknown_Debug_2038A1C->unk64[a1])], 12);
+ break;
+ case 34:
+ debug_80C689C(a0 + 10, gUnknown_Debug_083F86E8[gUnknown_Debug_2038A1C->unk64[a1]].text, 4);
+ break;
+ case 1 ... 4:
+ case 13 ... 32:
+ debug_80C6678(a0 + 12, gUnknown_Debug_2038A1C->unk64[a1], r2, a2);
+ break;
+ case 33:
+ if (gUnknown_Debug_2038A1C->unk64[a1])
+ debug_80C689C(a0 + 10, gUnknown_Debug_083F854A, 4);
+ else
+ debug_80C689C(a0 + 10, gUnknown_Debug_083F854D, 4);
+ break;
+ case 6:
+ debug_80C689C(a0 + 10, gNatureNames[gUnknown_Debug_2038A1C->unk64[a1]], 5);
+ break;
+ }
+ return 0;
+}
+
+u32 debug_80C5B60(u8 a0)
+{
+ return gUnknown_Debug_2038A1C->unk64[a0];
+}
+
+void debug_80C5B74(u32 a0, u8 a1)
+{
+ switch (a1)
+ {
+ default:
+ gUnknown_Debug_2038A1C->unk64[a1] = a0;
+ break;
+ case 0:
+ case 3:
+ case 4:
+ gUnknown_Debug_2038A1C->unk64[a1] = a0;
+ debug_80C5C94();
+ break;
+ case 1:
+ gUnknown_Debug_2038A1C->unk64[a1] = a0;
+ gUnknown_Debug_2038A1C->unk64[2] = gExperienceTables[gBaseStats[NationalPokedexNumToSpecies(gUnknown_Debug_2038A1C->unk64[0])].growthRate][a0];
+ debug_80C5C94();
+ break;
+ case 2:
+ gUnknown_Debug_2038A1C->unk64[a1] = a0;
+ debug_80C5DEC();
+ break;
+ case 13 ... 24:
+ gUnknown_Debug_2038A1C->unk64[a1] = a0;
+ debug_80C5EF4();
+ break;
+ }
+}
+
+void debug_80C5C94(void)
+{
+ u32 ivs = gUnknown_Debug_2038A1C->unk64[13] & 0x1f;
+ ivs |= (gUnknown_Debug_2038A1C->unk64[15] & 0x1f) << 5;
+ ivs |= (gUnknown_Debug_2038A1C->unk64[17] & 0x1f) << 10;
+ ivs |= (gUnknown_Debug_2038A1C->unk64[19] & 0x1f) << 15;
+ ivs |= (gUnknown_Debug_2038A1C->unk64[21] & 0x1f) << 20;
+ ivs |= (gUnknown_Debug_2038A1C->unk64[23] & 0x1f) << 25;
+ CreateMon(&gUnknown_Debug_2038A1C->pokemon, NationalPokedexNumToSpecies(gUnknown_Debug_2038A1C->unk64[0]), gUnknown_Debug_2038A1C->unk64[1], ivs, TRUE, gUnknown_Debug_2038A1C->unk64[4], TRUE, gUnknown_Debug_2038A1C->unk64[3]);
+ gUnknown_Debug_2038A1C->unk64[5] = (u8)(GetMonGender(&gUnknown_Debug_2038A1C->pokemon) + 2);
+ gUnknown_Debug_2038A1C->unk64[6] = GetNature(&gUnknown_Debug_2038A1C->pokemon);
+ gUnknown_Debug_2038A1C->unk64[7] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE1);
+ gUnknown_Debug_2038A1C->unk64[8] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE2);
+ gUnknown_Debug_2038A1C->unk64[9] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE3);
+ gUnknown_Debug_2038A1C->unk64[10] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE4);
+ gUnknown_Debug_2038A1C->unk64[2] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_EXP);
+ gUnknown_Debug_2038A1C->unk64[35] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MAX_HP);
+ gUnknown_Debug_2038A1C->unk64[36] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_ATK);
+ gUnknown_Debug_2038A1C->unk64[37] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_DEF);
+ gUnknown_Debug_2038A1C->unk64[38] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPEED);
+ gUnknown_Debug_2038A1C->unk64[39] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPATK);
+ gUnknown_Debug_2038A1C->unk64[40] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPDEF);
+}
+
+void debug_80C5DEC(void)
+{
+ u32 zero = 0;
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_EXP, gUnknown_Debug_2038A1C->unk64 + 2);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE1, &zero);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE2, &zero);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE3, &zero);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE4, &zero);
+ CalculateMonStats(&gUnknown_Debug_2038A1C->pokemon);
+ GiveMonInitialMoveset(&gUnknown_Debug_2038A1C->pokemon);
+ gUnknown_Debug_2038A1C->unk64[1] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_LEVEL);
+ gUnknown_Debug_2038A1C->unk64[7] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE1);
+ gUnknown_Debug_2038A1C->unk64[8] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE2);
+ gUnknown_Debug_2038A1C->unk64[9] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE3);
+ gUnknown_Debug_2038A1C->unk64[10] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE4);
+ gUnknown_Debug_2038A1C->unk64[35] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MAX_HP);
+ gUnknown_Debug_2038A1C->unk64[36] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_ATK);
+ gUnknown_Debug_2038A1C->unk64[37] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_DEF);
+ gUnknown_Debug_2038A1C->unk64[38] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPEED);
+ gUnknown_Debug_2038A1C->unk64[39] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPATK);
+ gUnknown_Debug_2038A1C->unk64[40] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPDEF);
+}
+
+void debug_80C5EF4(void)
+{
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_HP_IV, gUnknown_Debug_2038A1C->unk64 + 13);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_HP_EV, gUnknown_Debug_2038A1C->unk64 + 14);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_ATK_IV, gUnknown_Debug_2038A1C->unk64 + 15);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_ATK_EV, gUnknown_Debug_2038A1C->unk64 + 16);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_DEF_IV, gUnknown_Debug_2038A1C->unk64 + 17);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_DEF_EV, gUnknown_Debug_2038A1C->unk64 + 18);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPEED_IV, gUnknown_Debug_2038A1C->unk64 + 19);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPEED_EV, gUnknown_Debug_2038A1C->unk64 + 20);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPATK_IV, gUnknown_Debug_2038A1C->unk64 + 21);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPATK_EV, gUnknown_Debug_2038A1C->unk64 + 22);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPDEF_IV, gUnknown_Debug_2038A1C->unk64 + 23);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPDEF_EV, gUnknown_Debug_2038A1C->unk64 + 24);
+ CalculateMonStats(&gUnknown_Debug_2038A1C->pokemon);
+ gUnknown_Debug_2038A1C->unk64[35] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MAX_HP);
+ gUnknown_Debug_2038A1C->unk64[36] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_ATK);
+ gUnknown_Debug_2038A1C->unk64[37] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_DEF);
+ gUnknown_Debug_2038A1C->unk64[38] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPEED);
+ gUnknown_Debug_2038A1C->unk64[39] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPATK);
+ gUnknown_Debug_2038A1C->unk64[40] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPDEF);
+}
+
+void debug_80C5FFC(void)
+{
+ u32 ivs;
+ u8 sp10[] = _("たまご");
+ u8 sp14[] = _("DebugーG");
+ u8 one;
+ u16 ff;
+
+ ivs = gUnknown_Debug_2038A1C->unk64[13] & 0x1f;
+ ivs |= (gUnknown_Debug_2038A1C->unk64[15] & 0x1f) << 5;
+ ivs |= (gUnknown_Debug_2038A1C->unk64[17] & 0x1f) << 10;
+ ivs |= (gUnknown_Debug_2038A1C->unk64[19] & 0x1f) << 15;
+ ivs |= (gUnknown_Debug_2038A1C->unk64[21] & 0x1f) << 20;
+ ivs |= (gUnknown_Debug_2038A1C->unk64[23] & 0x1f) << 25;
+
+ CreateMon(&gUnknown_Debug_2038A1C->pokemon, NationalPokedexNumToSpecies(gUnknown_Debug_2038A1C->unk64[0]), gUnknown_Debug_2038A1C->unk64[1], ivs, TRUE, gUnknown_Debug_2038A1C->unk64[4], TRUE, gUnknown_Debug_2038A1C->unk64[3]);
+
+ if (gUnknown_Debug_2038A1C->unk64[7] != MOVE_NONE)
+ SetMonMoveSlot(&gUnknown_Debug_2038A1C->pokemon, gUnknown_Debug_2038A1C->unk64[7], 0);
+ if (gUnknown_Debug_2038A1C->unk64[8] != MOVE_NONE)
+ SetMonMoveSlot(&gUnknown_Debug_2038A1C->pokemon, gUnknown_Debug_2038A1C->unk64[8], 1);
+ if (gUnknown_Debug_2038A1C->unk64[9] != MOVE_NONE)
+ SetMonMoveSlot(&gUnknown_Debug_2038A1C->pokemon, gUnknown_Debug_2038A1C->unk64[9], 2);
+ if (gUnknown_Debug_2038A1C->unk64[10] != MOVE_NONE)
+ SetMonMoveSlot(&gUnknown_Debug_2038A1C->pokemon, gUnknown_Debug_2038A1C->unk64[10], 3);
+
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_EXP, gUnknown_Debug_2038A1C->unk64 + 2);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_HP_IV, gUnknown_Debug_2038A1C->unk64 + 13);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_HP_EV, gUnknown_Debug_2038A1C->unk64 + 14);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_ATK_IV, gUnknown_Debug_2038A1C->unk64 + 15);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_ATK_EV, gUnknown_Debug_2038A1C->unk64 + 16);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_DEF_IV, gUnknown_Debug_2038A1C->unk64 + 17);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_DEF_EV, gUnknown_Debug_2038A1C->unk64 + 18);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPEED_IV, gUnknown_Debug_2038A1C->unk64 + 19);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPEED_EV, gUnknown_Debug_2038A1C->unk64 + 20);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPATK_IV, gUnknown_Debug_2038A1C->unk64 + 21);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPATK_EV, gUnknown_Debug_2038A1C->unk64 + 22);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPDEF_IV, gUnknown_Debug_2038A1C->unk64 + 23);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPDEF_EV, gUnknown_Debug_2038A1C->unk64 + 24);
+
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_COOL, gUnknown_Debug_2038A1C->unk64 + 25);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_BEAUTY, gUnknown_Debug_2038A1C->unk64 + 26);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_CUTE, gUnknown_Debug_2038A1C->unk64 + 27);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SMART, gUnknown_Debug_2038A1C->unk64 + 28);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_TOUGH, gUnknown_Debug_2038A1C->unk64 + 29);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SHEEN, gUnknown_Debug_2038A1C->unk64 + 30);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_FRIENDSHIP, gUnknown_Debug_2038A1C->unk64 + 31);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_POKERUS, gUnknown_Debug_2038A1C->unk64 + 32);
+
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_HELD_ITEM, gUnknown_Debug_2038A1C->unk64 + 11);
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_ALT_ABILITY, gUnknown_Debug_2038A1C->unk64 + 12);
+
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_STATUS, &gUnknown_Debug_083F86E8[gUnknown_Debug_2038A1C->unk64[34]].data.type3);
+
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_IS_EGG, gUnknown_Debug_2038A1C->unk64 + 33);
+ if (gUnknown_Debug_2038A1C->unk64[33])
+ {
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_NICKNAME, sp10);
+ one = LANGUAGE_JAPANESE;
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_LANGUAGE, &one);
+ }
+
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_OT_NAME, sp14);
+ ff = 0xff;
+ SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MET_LOCATION, &ff);
+ CalculateMonStats(&gUnknown_Debug_2038A1C->pokemon);
+}
+
+void debug_80C627C(u8 a0)
+{
+ u8 sp00[] = _("▶");
+ u8 sp04[] = _(" ");
+
+ switch (a0)
+ {
+ case 0:
+ Menu_PrintText(sp00, 1, 2 * gUnknown_Debug_2038A1C->unk169 + 5);
+ break;
+ case 1:
+ if (gUnknown_Debug_2038A1C->unk169 < gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].data.type3 - 1)
+ {
+ Menu_PrintText(sp04, 1, 2 * gUnknown_Debug_2038A1C->unk169 + 5);
+ gUnknown_Debug_2038A1C->unk169++;
+ Menu_PrintText(sp00, 1, 2 * gUnknown_Debug_2038A1C->unk169 + 5);
+ }
+ break;
+ case 2:
+ if (gUnknown_Debug_2038A1C->unk169 > 0)
+ {
+ Menu_PrintText(sp04, 1, 2 * gUnknown_Debug_2038A1C->unk169 + 5);
+ gUnknown_Debug_2038A1C->unk169--;
+ Menu_PrintText(sp00, 1, 2 * gUnknown_Debug_2038A1C->unk169 + 5);
+ }
+ break;
+ }
+}
+
+void debug_80C6384(void)
+{
+ u16 i;
+
+ Menu_DrawStdWindowFrame(0, 4, 29, 19);
+ for (i = 0; gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[i] != EOS; i++)
+ {
+ gUnknown_Debug_2038A1C->unk16b[0] = EXT_CTRL_CODE_BEGIN;
+ gUnknown_Debug_2038A1C->unk16b[1] = 0x01;
+ gUnknown_Debug_2038A1C->unk16b[2] = 0x01;
+ debug_80C5738(gUnknown_Debug_2038A1C->unk16b + 3, gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[i], 1);
+ Menu_PrintText(gUnknown_Debug_2038A1C->unk16b, 2, 2 * i + 5);
+ }
+}
+
+void debug_80C643C(void)
+{
+ u16 i;
+
+ Menu_BlankWindowRect(2, 5, 28, 18);
+ for (i = 0; gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[i] != EOS; i++)
+ {
+ gUnknown_Debug_2038A1C->unk16b[0] = EXT_CTRL_CODE_BEGIN;
+ gUnknown_Debug_2038A1C->unk16b[1] = 0x01;
+ if (i == gUnknown_Debug_2038A1C->unk169)
+ {
+ gUnknown_Debug_2038A1C->unk16b[2] = 0x02;
+ debug_80C5738(gUnknown_Debug_2038A1C->unk16b + 3, gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[i], 2);
+ }
+ else
+ {
+ gUnknown_Debug_2038A1C->unk16b[2] = 0x01;
+ debug_80C5738(gUnknown_Debug_2038A1C->unk16b + 3, gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[i], 1);
+ }
+ Menu_PrintText(gUnknown_Debug_2038A1C->unk16b, 2, 2 * i + 5);
+ }
+}
+
+const u32 gUnknown_Debug_083F8768[] = {
+ 1,
+ 10,
+ 100,
+ 1000,
+ 10000,
+ 100000,
+ 1000000,
+ 10000000,
+ 100000000,
+ 1000000000
+};
+
+void debug_80C6544(u8 a0)
+{
+ u32 r7 = debug_80C5B60(gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]);
+ u32 r5 = gUnknown_Debug_083F8554[gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]].data.type4->unk0;
+ u32 r4 = gUnknown_Debug_083F8554[gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]].data.type4->unk4;
+ u32 r3 = gUnknown_Debug_083F8768[gUnknown_Debug_2038A1C->unk16a];
+
+ if (gUnknown_Debug_083F8554[gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]].data.type4->unk8 == 0)
+ {
+ switch (a0)
+ {
+ case 1:
+ if (r7 < r4 - r3)
+ r7 += r3;
+ else if (r7 < r4)
+ r7 = r4;
+ else
+ r7 = r5;
+ break;
+ case 2:
+ if (r7 > r5 + r3)
+ r7 -= r3;
+ else if (r7 > r5)
+ r7 = r5;
+ else
+ r7 = r4;
+ break;
+ }
+ }
+ debug_80C5B74(r7, gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]);
+}
+
+void debug_80C6630(u8 * a0, u8 a1, u8 a2, u8 a3)
+{
+ *a0++ = EXT_CTRL_CODE_BEGIN;
+ *a0++ = 0x01;
+ if (a2 == 2)
+ {
+ if (a3 != gUnknown_Debug_2038A1C->unk16a)
+ *a0 = 0x02;
+ else
+ *a0 = 0x04;
+ }
+ else
+ *a0 = 0x01;
+ a0[1] = a1 + CHAR_0;
+}
+
+void debug_80C6678(u8 * a0, u32 a1, u8 a2, u8 a3)
+{
+ u8 r7 = 0;
+
+ switch (a2)
+ {
+ default:
+ case 10:
+ debug_80C6630(a0 + r7, a1 / 1000000000, a3, 9);
+ a1 %= 1000000000;
+ r7 += 4;
+ case 9:
+ debug_80C6630(a0 + r7, a1 / 100000000, a3, 8);
+ a1 %= 100000000;
+ r7 += 4;
+ case 8:
+ debug_80C6630(a0 + r7, a1 / 10000000, a3, 7);
+ a1 %= 10000000;
+ r7 += 4;
+ case 7:
+ debug_80C6630(a0 + r7, a1 / 1000000, a3, 6);
+ a1 %= 1000000;
+ r7 += 4;
+ case 6:
+ debug_80C6630(a0 + r7, a1 / 100000, a3, 5);
+ a1 %= 100000;
+ r7 += 4;
+ case 5:
+ debug_80C6630(a0 + r7, a1 / 10000, a3, 4);
+ a1 %= 10000;
+ r7 += 4;
+ case 4:
+ debug_80C6630(a0 + r7, a1 / 1000, a3, 3);
+ a1 %= 1000;
+ r7 += 4;
+ case 3:
+ debug_80C6630(a0 + r7, a1 / 100, a3, 2);
+ a1 %= 100;
+ r7 += 4;
+ case 2:
+ debug_80C6630(a0 + r7, a1 / 10, a3, 1);
+ a1 %= 10;
+ r7 += 4;
+ case 1:
+ debug_80C6630(a0 + r7, a1, a3, 0);
+ break;
+ }
+}
+
+void debug_80C689C(u8 * a0, const u8 * a1, u8 a2)
+{
+ u8 i;
+
+ for (i = 0; a1[i] != EOS && i < a2; i++)
+ a0[i] = a1[i];
+}
+
+void debug_80C68CC(u16 a0, u8 a1, u8 a2, u8 a3)
+{
+ u8 sp00[5];
+ u8 i;
+
+ for (i = 0; i < 4; i++)
+ sp00[i] = 0;
+ sp00[4] = EOS;
+
+ switch (a3)
+ {
+ default:
+ sp00[0] = a0 >> 12;
+ case 3:
+ sp00[1] = (a0 & 0x0F00) >> 8;
+ case 2:
+ sp00[2] = (a0 & 0x00F0) >> 4;
+ case 1:
+ sp00[3] = (a0 & 0x000F);
+ break;
+ }
+
+ for (i = 0; i < 4; i++)
+ {
+ if (sp00[i] < 10)
+ sp00[i] += CHAR_0;
+ else
+ sp00[i] += CHAR_A - 10;
+ }
+
+ Menu_PrintText(sp00 + (u8)(4 - a3), a1, a2);
+}
+
+struct OamData gOamData_83F8848 = {
+ .y = 0xa0
+};
+
+union AnimCmd gSpriteAnim_83F8850[] = {
+ ANIMCMD_FRAME(38, 30),
+ ANIMCMD_END
+};
+
+union AnimCmd gSpriteAnim_83F8858[] = {
+ ANIMCMD_FRAME(39, 30),
+ ANIMCMD_END
+};
+
+union AnimCmd gSpriteAnim_83F8860[] = {
+ ANIMCMD_FRAME(40, 30),
+ ANIMCMD_END
+};
+
+const union AnimCmd *gSpriteAnimTable_83F8868[] = {
+ gSpriteAnim_83F8850,
+ gSpriteAnim_83F8858,
+ gSpriteAnim_83F8860
+};
+
+struct SpriteTemplate gSpriteTemplate_83F8874 = {
+ SPRITETAG_WATANABE,
+ SPRITETAG_WATANABE,
+ &gOamData_83F8848,
+ gSpriteAnimTable_83F8868,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ debug_80C7584
+};
+
+u16 word_83F888C[] = INCBIN_U16("graphics/debug/sprite_browser.gbapal");
+u8 byte_83F88EC[] = INCBIN_U8("graphics/debug/sprite_browser.4bpp");
+
+void InitSeePokemonGraphics(void)
+{
+ u16 pal;
+ u8 spriteId;
+ debug_80C35DC();
+ DmaCopy16Defvars(3, byte_83F88EC, BG_SCREEN_ADDR(28), sizeof(byte_83F88EC));
+ LoadPalette(word_83F888C, 0x80, sizeof(word_83F888C));
+ pal = RGB(31, 31, 31);
+ LoadPalette(&pal, 0, sizeof(pal));
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ REG_WIN0H = 0;
+ REG_WIN0V = 0;
+ REG_WIN1H = 0;
+ REG_WIN1V = 0;
+ REG_WININ = 0x3F;
+ REG_WINOUT = 0x1F;
+ REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN;
+ REG_BLDALPHA = 0;
+ REG_BLDY = 0x07;
+ {
+ u16 imeBak = REG_IME;
+ REG_IME = 0;
+ REG_IE |= INTR_FLAG_VBLANK;
+ REG_IME = imeBak;
+ }
+ SetVBlankCallback(debug_80C3758);
+ SetMainCallback2(debug_80C370C);
+ sub_809D51C();
+ REG_BG0CNT = BGCNT_PRIORITY(3) | BGCNT_CHARBASE(2) | BGCNT_SCREENBASE(31);
+ REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(2) | BGCNT_SCREENBASE(30);
+ REG_DISPCNT = DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON;
+ CreateTask(debug_80C6B00, 0);
+ gUnknown_Debug_2038A20 = &eWatanabe18000_2;
+ gUnknown_Debug_2038A20->unk0 = 0x115;
+ gUnknown_Debug_2038A20->unk2 = 0;
+ gUnknown_Debug_2038A20->unk3 = 0;
+ gUnknown_Debug_2038A20->unk5 = 0;
+ gUnknown_Debug_2038A20->unk7 = 0;
+ gUnknown_Debug_2038A20->unkA = 0;
+ gUnknown_Debug_2038A20->unk8 = 0;
+ spriteId = CreateSprite(&gSpriteTemplate_83F8874, 0x6C, 0x74, 0);
+ gSprites[spriteId].data[0] = 0;
+ StartSpriteAnim(gSprites + spriteId, 0);
+ spriteId = CreateSprite(&gSpriteTemplate_83F8874, 0x6C, 0x74, 0);
+ gSprites[spriteId].data[0] = 1;
+ StartSpriteAnim(gSprites + spriteId, 1);
+ spriteId = CreateSprite(&gSpriteTemplate_83F8874, 0x6C, 0x74, 0);
+ gSprites[spriteId].data[0] = 2;
+ StartSpriteAnim(gSprites + spriteId, 2);
+}
+
+const u16 gUnknown_Debug_083F8790[] = {
+ 0x0000,
+ 0x0002,
+ 0x0004,
+ 0x0006,
+ 0x0008,
+ 0x000a,
+ 0x000c,
+ 0x000e,
+ 0x0010,
+ 0x0012,
+ 0x0014,
+ 0x0016,
+ 0x0018,
+ 0x001a,
+ 0x001c,
+ 0x001e,
+ 0x001f,
+ 0x001e,
+ 0x001c,
+ 0x001a,
+ 0x0018,
+ 0x0016,
+ 0x0014,
+ 0x0012,
+ 0x0010,
+ 0x000e,
+ 0x000c,
+ 0x000a,
+ 0x0008,
+ 0x0006,
+ 0x0004,
+ 0x0002
+};
+
+const u8 gUnknown_Debug_083F87D0[] = _("{COLOR RED}L{ESCAPE}ロ");
+const u8 gUnknown_Debug_083F87D8[] = _("{COLOR RED}{ESCAPE}ワR");
+const u8 gUnknown_Debug_083F87E0[] = _("かいはつナンバー");
+const u8 gUnknown_Debug_083F87E9[] = _("グラフィックナンバー");
+const u8 gUnknown_Debug_083F87F4[] = _("{COLOR RED}A:カラーせってい");
+const u8 gUnknown_Debug_083F8801[] = _("{COLOR RED}A:けってい B:キャンセル");
+const u8 gUnknown_Debug_083F8813[] = _(":");
+void debug_80C6B00(u8 taskId)
+{
+ u8 sp00[] = {0x00, 0x10, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21};
+ u8 i;
+
+ Menu_DrawStdWindowFrame(10, 0, 15, 7);
+ Menu_DrawStdWindowFrame(0, 0, 9, 9);
+ Menu_DrawStdWindowFrame(0, 10, 9, 19);
+ Menu_DrawStdWindowFrame(16, 0, 29, 7);
+ Menu_PrintText(gUnknown_Debug_083F87D0, 17, 1);
+ Menu_PrintText(gUnknown_Debug_083F87D8, 27, 1);
+ Menu_PrintText(gUnknown_Debug_083F87E0, 17, 5);
+
+ Menu_DrawStdWindowFrame(10, 8, 29, 12);
+ for (i = 0; i < 15; i++)
+ ((u16 *)(VRAM + 0xFA56))[i] = 0xA311 + i;
+ for (i = 0; i < 15; i++)
+ ((u16 *)(VRAM + 0xF256))[i] = 0x8301 + i;
+
+ Menu_PrintText(gUnknown_Debug_083F87F4, 20, 10);
+ Menu_DrawStdWindowFrame(10, 13, 29, 19);
+
+ sp00[0] = 0x23;
+ for (i = 0; i < 18; i++)
+ ((u16 *)(VRAM + 0xF396))[i] = 0x9300 + sp00[i];
+ sp00[0] = 0x24;
+ for (i = 0; i < 18; i++)
+ ((u16 *)(VRAM + 0xF3D6))[i] = 0x9300 + sp00[i];
+ sp00[0] = 0x25;
+ for (i = 0; i < 18; i++)
+ ((u16 *)(VRAM + 0xF416))[i] = 0x9300 + sp00[i];
+
+ Menu_PrintText(gUnknown_Debug_083F8801, 15, 17);
+
+ REG_WIN0H = 0x51EF;
+ REG_WIN0V = 0x699F;
+
+ gTasks[taskId].func = debug_80C6CB8;
+}
+
+void debug_80C6CB8(u8 taskId)
+{
+ DecompressPicFromTable_2(gMonFrontPicTable + gUnknown_Debug_2038A20->unk0, gMonFrontPicCoords[gUnknown_Debug_2038A20->unk0].coords, gMonFrontPicCoords[gUnknown_Debug_2038A20->unk0].y_offset, gUnknown_081FAF4C[0], gUnknown_081FAF4C[1], gUnknown_Debug_2038A20->unk0);
+ LoadCompressedObjectPalette(gMonPaletteTable + gUnknown_Debug_2038A20->unk0);
+ GetMonSpriteTemplate_803C56C(gUnknown_Debug_2038A20->unk0, 1);
+ gUnknown_Debug_2038A20->unk2 = CreateSprite(&gUnknown_02024E8C, 0x28, 0x28, 0);
+ gSprites[gUnknown_Debug_2038A20->unk2].callback = debug_69;
+ gSprites[gUnknown_Debug_2038A20->unk2].oam.priority = 0;
+
+ DecompressPicFromTable_2(gMonBackPicTable + gUnknown_Debug_2038A20->unk0, gMonBackPicCoords[gUnknown_Debug_2038A20->unk0].coords, gMonBackPicCoords[gUnknown_Debug_2038A20->unk0].y_offset, gUnknown_081FAF4C[0], gUnknown_081FAF4C[2], gUnknown_Debug_2038A20->unk0);
+ LoadCompressedObjectPalette(gMonPaletteTable + gUnknown_Debug_2038A20->unk0);
+ GetMonSpriteTemplate_803C56C(gUnknown_Debug_2038A20->unk0, 2);
+ gUnknown_Debug_2038A20->unk3 = CreateSprite(&gUnknown_02024E8C, 0x28, 0x78, 0);
+ gSprites[gUnknown_Debug_2038A20->unk3].callback = debug_69;
+ gSprites[gUnknown_Debug_2038A20->unk3].oam.priority = 0;
+
+ gUnknown_Debug_2038A20->unk4 = CreateMonIcon(gUnknown_Debug_2038A20->unk0, sub_809D62C, 0x68, 0x2C, 0, 0);
+
+ sub_8091738(SpeciesToNationalPokedexNum(gUnknown_Debug_2038A20->unk0), 2, 0x3fc);
+
+ ((u16 *)(VRAM + 0xF858))[0] = 0xF3FC;
+ ((u16 *)(VRAM + 0xF858))[1] = 0xF3FD;
+ ((u16 *)(VRAM + 0xF858))[32] = 0xF3FE;
+ ((u16 *)(VRAM + 0xF858))[33] = 0xF3FF;
+
+ debug_80C3800(gUnknown_Debug_2038A20->unk0, 17, 3);
+ debug_80C376C(gUnknown_Debug_2038A20->unk0, 26, 5);
+
+ gUnknown_Debug_2038A20->unk6 = gSprites[gUnknown_Debug_2038A20->unk2].oam.paletteNum;
+ CpuCopy16(gPlttBufferUnfaded + gUnknown_Debug_2038A20->unk6 * 16 + 0x100, gPlttBufferUnfaded + 0x80, 0x20);
+ CpuCopy16(gPlttBufferUnfaded + gUnknown_Debug_2038A20->unk6 * 16 + 0x100, gPlttBufferFaded + 0x80, 0x20);
+
+ gTasks[taskId].func = debug_80C6EE8;
+
+ gUnknown_Debug_2038A20->unk9 = 0;
+ StopCryAndClearCrySongs();
+ PlayCry1(gUnknown_Debug_2038A20->unk0, 0);
+}
+
+void debug_80C6EE8(u8 taskId)
+{
+ u16 hue;
+ CpuCopy16(gPlttBufferUnfaded + 0x80, gUnknown_Debug_2038A20->unk10, 32);
+ hue = gPlttBufferUnfaded[gUnknown_Debug_2038A20->unk7 + 0x81];
+ gUnknown_Debug_2038A20->unkC.r = hue & 0x1f;
+ gUnknown_Debug_2038A20->unkC.g = (hue & 0x3e0) >> 5;
+ gUnknown_Debug_2038A20->unkC.b = (hue & 0x7c00) >> 10;
+ gUnknown_Debug_2038A20->unkC.unused_15 = 0;
+ debug_80C68CC(gUnknown_Debug_2038A20->unk7 + 1, 11, 10, 2);
+ Menu_PrintText(gUnknown_Debug_083F8813, 13, 10);
+ debug_80C68CC(hue, 14, 10, 4);
+ gTasks[taskId].func = debug_80C6FA8;
+}
+
+#ifdef NONMATCHING
+void debug_80C6FA8(u8 taskId)
+{
+ if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ SetMainCallback2(debug_80C370C);
+ gTasks[taskId].func = debug_80C373C;
+ }
+ else if (gMain.newAndRepeatedKeys & R_BUTTON)
+ {
+ gUnknown_Debug_2038A20->unk0 = debug_80C3878(0, gUnknown_Debug_2038A20->unk0);
+ gTasks[taskId].func = debug_80C71FC;
+ }
+ else if (gMain.newAndRepeatedKeys & L_BUTTON)
+ {
+ gUnknown_Debug_2038A20->unk0 = debug_80C3878(1, gUnknown_Debug_2038A20->unk0);
+ gTasks[taskId].func = debug_80C71FC;
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ gUnknown_Debug_2038A20->unk5 = 1;
+ REG_WIN0H = 0x51EF;
+ REG_WIN0V = 0x4167;
+ gTasks[taskId].func = debug_80C7294;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_RIGHT && gUnknown_Debug_2038A20->unk7 < 14)
+ {
+ ((u16 *)PLTT)[0x81 + gUnknown_Debug_2038A20->unk7] = 0;
+ do; while(0);
+ gUnknown_Debug_2038A20->unk7++;
+ gTasks[taskId].func = debug_80C6EE8;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_LEFT && gUnknown_Debug_2038A20->unk7 > 0)
+ {
+ ((u16 *)PLTT)[0x81 + gUnknown_Debug_2038A20->unk7] = 0;
+ do; while(0);
+ gUnknown_Debug_2038A20->unk7--;
+ gTasks[taskId].func = debug_80C6EE8;
+ }
+ else if (gMain.newKeys & START_BUTTON)
+ {
+ gUnknown_Debug_2038A20->unk9 ^= 1;
+ if (gUnknown_Debug_2038A20->unk9)
+ LoadCompressedPalette(GetMonSpritePalFromOtIdPersonality(gUnknown_Debug_2038A20->unk0, 0, 0), gUnknown_Debug_2038A20->unk6 * 16 + 0x100, 0x20);
+ else
+ LoadCompressedPalette(GetMonSpritePalFromOtIdPersonality(gUnknown_Debug_2038A20->unk0, 0, 9), gUnknown_Debug_2038A20->unk6 * 16 + 0x100, 0x20);
+ CpuCopy16(gPlttBufferUnfaded + gUnknown_Debug_2038A20->unk6 * 16 + 0x100, gPlttBufferUnfaded + 0x80, 32);
+ CpuCopy16(gPlttBufferUnfaded + gUnknown_Debug_2038A20->unk6 * 16 + 0x100, gPlttBufferFaded + 0x80, 32);
+ gTasks[taskId].func = debug_80C6EE8;
+ }
+ else
+ {
+ if (gMain.newKeys & SELECT_BUTTON)
+ {
+ StopCryAndClearCrySongs();
+ PlayCry1(gUnknown_Debug_2038A20->unk0, 0);
+ }
+ gUnknown_Debug_2038A20->unk8 += 4;
+ gUnknown_Debug_2038A20->unk8 &= 0x1f;
+ ((u16 *)PLTT)[0xa1 + gUnknown_Debug_2038A20->unk7] = gUnknown_Debug_083F8790[gUnknown_Debug_2038A20->unk8];
+ }
+}
+#else
+NAKED void debug_80C6FA8(u8 taskId)
+{
+ asm(".equiv PLTT, 0x05000000\n"
+ "\tpush\t{r4, r5, r6, lr}\n"
+ "\tadd\tsp, sp, #0xfffffffc\n"
+ "\tlsl\tr0, r0, #0x18\n"
+ "\tlsr\tr6, r0, #0x18\n"
+ "\tldr\tr1, ._674 @ gMain\n"
+ "\tldrh\tr2, [r1, #0x2e]\n"
+ "\tmov\tr0, #0x2\n"
+ "\tand\tr0, r0, r2\n"
+ "\tadd\tr4, r1, #0\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._672\t@cond_branch\n"
+ "\tmov\tr0, #0x5\n"
+ "\tbl\tPlaySE\n"
+ "\tmov\tr0, #0x1\n"
+ "\tneg\tr0, r0\n"
+ "\tmov\tr1, #0x0\n"
+ "\tstr\tr1, [sp]\n"
+ "\tmov\tr2, #0x0\n"
+ "\tmov\tr3, #0x10\n"
+ "\tbl\tBeginNormalPaletteFade\n"
+ "\tldr\tr0, ._674 + 4 @ debug_80C370C\n"
+ "\tbl\tSetMainCallback2\n"
+ "\tldr\tr1, ._674 + 8 @ gTasks\n"
+ "\tlsl\tr0, r6, #0x2\n"
+ "\tadd\tr0, r0, r6\n"
+ "\tlsl\tr0, r0, #0x3\n"
+ "\tadd\tr0, r0, r1\n"
+ "\tldr\tr1, ._674 + 12 @ debug_80C373C\n"
+ "\tstr\tr1, [r0]\n"
+ "\tb\t._703\n"
+ "._675:\n"
+ "\t.align\t2, 0\n"
+ "._674:\n"
+ "\t.word\tgMain\n"
+ "\t.word\tdebug_80C370C+1\n"
+ "\t.word\tgTasks\n"
+ "\t.word\tdebug_80C373C+1\n"
+ "._672:\n"
+ "\tldrh\tr1, [r4, #0x30]\n"
+ "\tmov\tr0, #0x80\n"
+ "\tlsl\tr0, r0, #0x1\n"
+ "\tand\tr0, r0, r1\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._676\t@cond_branch\n"
+ "\tldr\tr4, ._678 @ gUnknown_Debug_2038A20\n"
+ "\tldr\tr0, [r4]\n"
+ "\tldrh\tr1, [r0]\n"
+ "\tmov\tr0, #0x0\n"
+ "\tb\t._677\n"
+ "._679:\n"
+ "\t.align\t2, 0\n"
+ "._678:\n"
+ "\t.word\tgUnknown_Debug_2038A20\n"
+ "._676:\n"
+ "\tmov\tr0, #0x80\n"
+ "\tlsl\tr0, r0, #0x2\n"
+ "\tand\tr0, r0, r1\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._680\t@cond_branch\n"
+ "\tldr\tr4, ._682 @ gUnknown_Debug_2038A20\n"
+ "\tldr\tr0, [r4]\n"
+ "\tldrh\tr1, [r0]\n"
+ "\tmov\tr0, #0x1\n"
+ "._677:\n"
+ "\tbl\tdebug_80C3878\n"
+ "\tldr\tr1, [r4]\n"
+ "\tstrh\tr0, [r1]\n"
+ "\tldr\tr1, ._682 + 4 @ gTasks\n"
+ "\tlsl\tr0, r6, #0x2\n"
+ "\tadd\tr0, r0, r6\n"
+ "\tlsl\tr0, r0, #0x3\n"
+ "\tadd\tr0, r0, r1\n"
+ "\tldr\tr1, ._682 + 8 @ debug_80C71FC\n"
+ "\tstr\tr1, [r0]\n"
+ "\tb\t._703\n"
+ "._683:\n"
+ "\t.align\t2, 0\n"
+ "._682:\n"
+ "\t.word\tgUnknown_Debug_2038A20\n"
+ "\t.word\tgTasks\n"
+ "\t.word\tdebug_80C71FC+1\n"
+ "._680:\n"
+ "\tmov\tr3, #0x1\n"
+ "\tand\tr3, r3, r2\n"
+ "\tcmp\tr3, #0\n"
+ "\tbeq\t._684\t@cond_branch\n"
+ "\tldr\tr0, ._686 @ gUnknown_Debug_2038A20\n"
+ "\tldr\tr1, [r0]\n"
+ "\tmov\tr0, #0x1\n"
+ "\tstrb\tr0, [r1, #0x5]\n"
+ "\tldr\tr1, ._686 + 4 @ 0x4000040\n"
+ "\tldr\tr2, ._686 + 8 @ 0x51ef\n"
+ "\tadd\tr0, r2, #0\n"
+ "\tstrh\tr0, [r1]\n"
+ "\tadd\tr1, r1, #0x4\n"
+ "\tldr\tr2, ._686 + 12 @ 0x4167\n"
+ "\tadd\tr0, r2, #0\n"
+ "\tstrh\tr0, [r1]\n"
+ "\tldr\tr1, ._686 + 16 @ gTasks\n"
+ "\tlsl\tr0, r6, #0x2\n"
+ "\tadd\tr0, r0, r6\n"
+ "\tlsl\tr0, r0, #0x3\n"
+ "\tadd\tr0, r0, r1\n"
+ "\tldr\tr1, ._686 + 20 @ debug_80C7294\n"
+ "\tstr\tr1, [r0]\n"
+ "\tb\t._703\n"
+ "._687:\n"
+ "\t.align\t2, 0\n"
+ "._686:\n"
+ "\t.word\tgUnknown_Debug_2038A20\n"
+ "\t.word\t0x4000040\n"
+ "\t.word\t0x51ef\n"
+ "\t.word\t0x4167\n"
+ "\t.word\tgTasks\n"
+ "\t.word\tdebug_80C7294+1\n"
+ "._684:\n"
+ "\tmov\tr0, #0x10\n"
+ "\tand\tr0, r0, r1\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._689\t@cond_branch\n"
+ "\tldr\tr1, ._691 @ gUnknown_Debug_2038A20\n"
+ "\tldr\tr2, [r1]\n"
+ "\tldrb\tr0, [r2, #0x7]\n"
+ "\tcmp\tr0, #0xd\n"
+ "\tbhi\t._689\t@cond_branch\n"
+ "\tlsl\tr0, r0, #0x1\n"
+ "\tldr\tr2, ._691 + 4 @ PLTT + 0x102\n"
+ "\tadd\tr0, r0, r2\n"
+ "\tstrh\tr3, [r0]\n"
+ "\tldr\tr1, [r1]\n"
+ "\tldrb\tr0, [r1, #0x7]\n"
+ "\tadd\tr0, r0, #0x1\n"
+ "\tstrb\tr0, [r1, #0x7]\n"
+ "\tb\t._695\n"
+ "._692:\n"
+ "\t.align\t2, 0\n"
+ "._691:\n"
+ "\t.word\tgUnknown_Debug_2038A20\n"
+ "\t.word\tPLTT + 0x102\n"
+ "._689:\n"
+ "\tldrh\tr1, [r4, #0x30]\n"
+ "\tmov\tr0, #0x20\n"
+ "\tand\tr0, r0, r1\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._694\t@cond_branch\n"
+ "\tldr\tr2, ._696 @ gUnknown_Debug_2038A20\n"
+ "\tldr\tr1, [r2]\n"
+ "\tldrb\tr0, [r1, #0x7]\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._694\t@cond_branch\n"
+ "\tlsl\tr0, r0, #0x1\n"
+ "\tldr\tr1, ._696 + 4 @ PLTT + 0x102\n"
+ "\tadd\tr0, r0, r1\n"
+ "\tmov\tr1, #0x0\n"
+ "\tstrh\tr1, [r0]\n"
+ "\tldr\tr1, [r2]\n"
+ "\tldrb\tr0, [r1, #0x7]\n"
+ "\tsub\tr0, r0, #0x1\n"
+ "\tstrb\tr0, [r1, #0x7]\n"
+ "\tb\t._695\n"
+ "._697:\n"
+ "\t.align\t2, 0\n"
+ "._696:\n"
+ "\t.word\tgUnknown_Debug_2038A20\n"
+ "\t.word\tPLTT + 0x102\n"
+ "._694:\n"
+ "\tldrh\tr1, [r4, #0x2e]\n"
+ "\tmov\tr0, #0x8\n"
+ "\tand\tr0, r0, r1\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._698\t@cond_branch\n"
+ "\tldr\tr4, ._701 @ gUnknown_Debug_2038A20\n"
+ "\tldr\tr2, [r4]\n"
+ "\tldrb\tr0, [r2, #0x9]\n"
+ "\tmov\tr1, #0x1\n"
+ "\teor\tr0, r0, r1\n"
+ "\tstrb\tr0, [r2, #0x9]\n"
+ "\tldr\tr1, [r4]\n"
+ "\tldrb\tr0, [r1, #0x9]\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._699\t@cond_branch\n"
+ "\tldrh\tr0, [r1]\n"
+ "\tmov\tr1, #0x0\n"
+ "\tmov\tr2, #0x0\n"
+ "\tbl\tGetMonSpritePalFromOtIdPersonality\n"
+ "\tldr\tr1, [r4]\n"
+ "\tldrb\tr1, [r1, #0x6]\n"
+ "\tlsl\tr1, r1, #0x14\n"
+ "\tmov\tr2, #0x80\n"
+ "\tlsl\tr2, r2, #0x11\n"
+ "\tadd\tr1, r1, r2\n"
+ "\tlsr\tr1, r1, #0x10\n"
+ "\tmov\tr2, #0x20\n"
+ "\tbl\tLoadCompressedPalette\n"
+ "\tb\t._700\n"
+ "._702:\n"
+ "\t.align\t2, 0\n"
+ "._701:\n"
+ "\t.word\tgUnknown_Debug_2038A20\n"
+ "._699:\n"
+ "\tldrh\tr0, [r1]\n"
+ "\tmov\tr1, #0x0\n"
+ "\tmov\tr2, #0x9\n"
+ "\tbl\tGetMonSpritePalFromOtIdPersonality\n"
+ "\tldr\tr1, [r4]\n"
+ "\tldrb\tr1, [r1, #0x6]\n"
+ "\tlsl\tr1, r1, #0x14\n"
+ "\tmov\tr2, #0x80\n"
+ "\tlsl\tr2, r2, #0x11\n"
+ "\tadd\tr1, r1, r2\n"
+ "\tlsr\tr1, r1, #0x10\n"
+ "\tmov\tr2, #0x20\n"
+ "\tbl\tLoadCompressedPalette\n"
+ "._700:\n"
+ "\tldr\tr5, ._704 @ gUnknown_Debug_2038A20\n"
+ "\tldr\tr0, [r5]\n"
+ "\tldrb\tr0, [r0, #0x6]\n"
+ "\tlsl\tr0, r0, #0x5\n"
+ "\tldr\tr4, ._704 + 4 @ gPlttBufferUnfaded\n"
+ "\tadd\tr0, r0, r4\n"
+ "\tldr\tr2, ._704 + 8 @ 0xffffff00\n"
+ "\tadd\tr1, r4, r2\n"
+ "\tmov\tr2, #0x10\n"
+ "\tbl\tCpuSet\n"
+ "\tldr\tr0, [r5]\n"
+ "\tldrb\tr0, [r0, #0x6]\n"
+ "\tlsl\tr0, r0, #0x5\n"
+ "\tadd\tr0, r0, r4\n"
+ "\tldr\tr1, ._704 + 12 @ gPlttBufferFaded\n"
+ "\tmov\tr2, #0x10\n"
+ "\tbl\tCpuSet\n"
+ "._695:\n"
+ "\tldr\tr1, ._704 + 16 @ gTasks\n"
+ "\tlsl\tr0, r6, #0x2\n"
+ "\tadd\tr0, r0, r6\n"
+ "\tlsl\tr0, r0, #0x3\n"
+ "\tadd\tr0, r0, r1\n"
+ "\tldr\tr1, ._704 + 20 @ debug_80C6EE8\n"
+ "\tstr\tr1, [r0]\n"
+ "\tb\t._703\n"
+ "._705:\n"
+ "\t.align\t2, 0\n"
+ "._704:\n"
+ "\t.word\tgUnknown_Debug_2038A20\n"
+ "\t.word\tgPlttBufferUnfaded+0x200\n"
+ "\t.word\t0xffffff00\n"
+ "\t.word\tgPlttBufferFaded+0x100\n"
+ "\t.word\tgTasks\n"
+ "\t.word\tdebug_80C6EE8+1\n"
+ "._698:\n"
+ "\tmov\tr0, #0x4\n"
+ "\tand\tr0, r0, r1\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._706\t@cond_branch\n"
+ "\tbl\tStopCryAndClearCrySongs\n"
+ "\tldr\tr0, ._707 @ gUnknown_Debug_2038A20\n"
+ "\tldr\tr0, [r0]\n"
+ "\tldrh\tr0, [r0]\n"
+ "\tmov\tr1, #0x0\n"
+ "\tbl\tPlayCry1\n"
+ "._706:\n"
+ "\tldr\tr2, ._707 @ gUnknown_Debug_2038A20\n"
+ "\tldr\tr1, [r2]\n"
+ "\tldrb\tr0, [r1, #0x8]\n"
+ "\tadd\tr0, r0, #0x4\n"
+ "\tstrb\tr0, [r1, #0x8]\n"
+ "\tldr\tr3, [r2]\n"
+ "\tldrb\tr1, [r3, #0x8]\n"
+ "\tmov\tr0, #0x1f\n"
+ "\tand\tr0, r0, r1\n"
+ "\tstrb\tr0, [r3, #0x8]\n"
+ "\tldr\tr0, [r2]\n"
+ "\tldrb\tr1, [r0, #0x7]\n"
+ "\tlsl\tr1, r1, #0x1\n"
+ "\tldr\tr2, ._707 + 4 @ PLTT + 0x142\n"
+ "\tadd\tr1, r1, r2\n"
+ "\tldr\tr2, ._707 + 8 @ gUnknown_Debug_083F8790\n"
+ "\tldrb\tr0, [r0, #0x8]\n"
+ "\tlsl\tr0, r0, #0x1\n"
+ "\tadd\tr0, r0, r2\n"
+ "\tldrh\tr0, [r0]\n"
+ "\tstrh\tr0, [r1]\n"
+ "._703:\n"
+ "\tadd\tsp, sp, #0x4\n"
+ "\tpop\t{r4, r5, r6}\n"
+ "\tpop\t{r0}\n"
+ "\tbx\tr0\n"
+ "._708:\n"
+ "\t.align\t2, 0\n"
+ "._707:\n"
+ "\t.word\tgUnknown_Debug_2038A20\n"
+ "\t.word\tPLTT + 0x142\n"
+ "\t.word\tgUnknown_Debug_083F8790");
+}
+#endif // NONMATCHING
+
+void debug_80C71FC(u8 taskId)
+{
+ FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(gSprites[gUnknown_Debug_2038A20->unk2].oam.paletteNum));
+ DestroySprite(gSprites + gUnknown_Debug_2038A20->unk2);
+ FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(gSprites[gUnknown_Debug_2038A20->unk3].oam.paletteNum));
+ DestroySprite(gSprites + gUnknown_Debug_2038A20->unk3);
+ sub_809D510(gSprites + gUnknown_Debug_2038A20->unk4);
+ gTasks[taskId].func = debug_80C6CB8;
+}
+
+void debug_80C7294(u8 taskId)
+{
+ if (gMain.newKeys & A_BUTTON)
+ {
+ gUnknown_Debug_2038A20->unk5 = 0;
+ REG_WIN0H = 0x51EF;
+ REG_WIN0V = 0x699F;
+ gTasks[taskId].func = debug_80C6EE8;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ gUnknown_Debug_2038A20->unk5 = 0;
+ REG_WIN0H = 0x51EF;
+ REG_WIN0V = 0x699F;
+ CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferUnfaded + 0x80, 32);
+ CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferFaded + 0x80, 32);
+ CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferUnfaded + 0x100 + gUnknown_Debug_2038A20->unk6 * 16, 32);
+ CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferFaded + 0x100 + gUnknown_Debug_2038A20->unk6 * 16, 32);
+ gTasks[taskId].func = debug_80C6EE8;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A20->unkA < 2)
+ {
+ gUnknown_Debug_2038A20->unkA++;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_UP && gUnknown_Debug_2038A20->unkA > 0)
+ {
+ gUnknown_Debug_2038A20->unkA--;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ {
+ switch (gUnknown_Debug_2038A20->unkA)
+ {
+ case 0:
+ if (gUnknown_Debug_2038A20->unkC.r < 31)
+ gUnknown_Debug_2038A20->unkC.r++;
+ gTasks[taskId].func = debug_80C74E4;
+ break;
+ case 1:
+ if (gUnknown_Debug_2038A20->unkC.g < 31)
+ gUnknown_Debug_2038A20->unkC.g++;
+ gTasks[taskId].func = debug_80C74E4;
+ break;
+ case 2:
+ if (gUnknown_Debug_2038A20->unkC.b < 31)
+ gUnknown_Debug_2038A20->unkC.b++;
+ gTasks[taskId].func = debug_80C74E4;
+ break;
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ {
+ switch (gUnknown_Debug_2038A20->unkA)
+ {
+ case 0:
+ if (gUnknown_Debug_2038A20->unkC.r > 0)
+ gUnknown_Debug_2038A20->unkC.r--;
+ gTasks[taskId].func = debug_80C74E4;
+ break;
+ case 1:
+ if (gUnknown_Debug_2038A20->unkC.g > 0)
+ gUnknown_Debug_2038A20->unkC.g--;
+ gTasks[taskId].func = debug_80C74E4;
+ break;
+ case 2:
+ if (gUnknown_Debug_2038A20->unkC.b > 0)
+ gUnknown_Debug_2038A20->unkC.b--;
+ gTasks[taskId].func = debug_80C74E4;
+ break;
+ }
+ }
+}
+
+void debug_80C74E4(u8 taskId)
+{
+ u16 pal = (gUnknown_Debug_2038A20->unkC.r & 0x001f) + ((gUnknown_Debug_2038A20->unkC.g << 5) & 0x03e0) + ((gUnknown_Debug_2038A20->unkC.b << 10) & 0x7c00);
+ gPlttBufferUnfaded[gUnknown_Debug_2038A20->unk7 + 0x81] = pal;
+ gPlttBufferFaded[gUnknown_Debug_2038A20->unk7 + 0x81] = pal;
+ gPlttBufferUnfaded[0x101 + gUnknown_Debug_2038A20->unk6 * 16 + gUnknown_Debug_2038A20->unk7] = pal;
+ gPlttBufferFaded[0x101 + gUnknown_Debug_2038A20->unk6 * 16 + gUnknown_Debug_2038A20->unk7] = pal;
+ debug_80C68CC(pal, 14, 10, 4);
+ gTasks[taskId].func = debug_80C7294;
+}
+
+void debug_80C7584(struct Sprite *sprite)
+{
+ if (!gUnknown_Debug_2038A20->unk5)
+ sprite->invisible = TRUE;
+ else
+ {
+ u8 shade;
+ switch (sprite->data[0])
+ {
+ default:
+ case 0:
+ shade = gUnknown_Debug_2038A20->unkC.r;
+ break;
+ case 1:
+ shade = gUnknown_Debug_2038A20->unkC.g;
+ break;
+ case 2:
+ shade = gUnknown_Debug_2038A20->unkC.b;
+ break;
+ }
+ sprite->pos2.x = 4 * shade;
+ sprite->pos2.y = 8 * sprite->data[0];
+ sprite->data[1]++;
+ if (sprite->data[0] == gUnknown_Debug_2038A20->unkA && !(sprite->data[1] & 0x08))
+ sprite->invisible = TRUE;
+ else
+ sprite->invisible = FALSE;
+ }
+}
+
+void InitSeeTrainers(void)
+{
+ u8 spriteId;
+ u16 imeBak;
+ debug_80C35DC();
+ DmaCopy16Defvars(3, byte_83F88EC, VRAM + 0xe000, 0x800);
+ LoadPalette(word_83F888C, 0x80, 0x60);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ REG_WIN0H = 0;
+ REG_WIN0V = 0;
+ REG_WIN1H = 0;
+ REG_WIN1V = 0;
+ REG_WININ = 0x3F;
+ REG_WINOUT = 0x1F;
+ REG_BLDCNT = 0xF1;
+ REG_BLDALPHA = 0;
+ REG_BLDY = 7;
+ imeBak = REG_IME;
+ REG_IME = 0;
+ REG_IE |= INTR_FLAG_VBLANK;
+ REG_IME = imeBak;
+ SetVBlankCallback(debug_80C3758);
+ SetMainCallback2(debug_80C370C);
+ REG_BG0CNT = 0x1F0B;
+ REG_BG1CNT = 0x1E0A;
+ REG_DISPCNT = 0x3340;
+ CreateTask(debug_80C777C, 0);
+ gUnknown_Debug_2038A20 = &eWatanabe18000_2;
+ gUnknown_Debug_2038A20->unk0 = 0;
+ gUnknown_Debug_2038A20->unk2 = 0;
+ gUnknown_Debug_2038A20->unk3 = 0;
+ gUnknown_Debug_2038A20->unk5 = 0;
+ gUnknown_Debug_2038A20->unk7 = 0;
+ gUnknown_Debug_2038A20->unkA = 0;
+ gUnknown_Debug_2038A20->unk8 = 0;
+ spriteId = CreateSprite(&gSpriteTemplate_83F8874, 0x6c, 0x74, 0);
+ gSprites[spriteId].data[0] = 0;
+ StartSpriteAnim(gSprites + spriteId, 0);
+ spriteId = CreateSprite(&gSpriteTemplate_83F8874, 0x6c, 0x74, 0);
+ gSprites[spriteId].data[0] = 1;
+ StartSpriteAnim(gSprites + spriteId, 1);
+ spriteId = CreateSprite(&gSpriteTemplate_83F8874, 0x6c, 0x74, 0);
+ gSprites[spriteId].data[0] = 2;
+ StartSpriteAnim(gSprites + spriteId, 2);
+}
+
+void debug_80C777C(u8 taskId)
+{
+ u8 sp00[] = {0x00, 0x10, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21};
+ u8 i;
+
+ Menu_DrawStdWindowFrame(9, 0, 14, 7);
+ Menu_DrawStdWindowFrame(0, 0, 9, 9);
+ Menu_DrawStdWindowFrame(0, 10, 9, 19);
+ Menu_DrawStdWindowFrame(14, 0, 29, 7);
+ Menu_PrintText(gUnknown_Debug_083F87D0, 15, 1);
+ Menu_PrintText(gUnknown_Debug_083F87D8, 25, 1);
+ Menu_PrintText(gUnknown_Debug_083F87E0, 15, 5);
+
+ Menu_DrawStdWindowFrame(10, 8, 29, 12);
+ for (i = 0; i < 15; i++)
+ ((u16 *)(VRAM + 0xFA56))[i] = 0xA311 + i;
+ for (i = 0; i < 15; i++)
+ ((u16 *)(VRAM + 0xF256))[i] = 0x8301 + i;
+
+ Menu_PrintText(gUnknown_Debug_083F87F4, 20, 10);
+ Menu_DrawStdWindowFrame(10, 13, 29, 19);
+
+ sp00[0] = 0x23;
+ for (i = 0; i < 18; i++)
+ ((u16 *)(VRAM + 0xF396))[i] = 0x9300 + sp00[i];
+ sp00[0] = 0x24;
+ for (i = 0; i < 18; i++)
+ ((u16 *)(VRAM + 0xF3D6))[i] = 0x9300 + sp00[i];
+ sp00[0] = 0x25;
+ for (i = 0; i < 18; i++)
+ ((u16 *)(VRAM + 0xF416))[i] = 0x9300 + sp00[i];
+
+ Menu_PrintText(gUnknown_Debug_083F8801, 15, 17);
+
+ REG_WIN0H = 0x51EF;
+ REG_WIN0V = 0x699F;
+
+ gTasks[taskId].func = debug_80C7934;
+}
+
+void debug_80C7934(u8 taskId)
+{
+ DecompressPicFromTable_2(gTrainerFrontPicTable + gUnknown_Debug_2038A20->unk0, gTrainerFrontPicCoords[gUnknown_Debug_2038A20->unk0].coords, gTrainerFrontPicCoords[gUnknown_Debug_2038A20->unk0].y_offset, gUnknown_081FAF4C[0], gUnknown_081FAF4C[1], gUnknown_Debug_2038A20->unk0);
+ LoadCompressedObjectPalette(gTrainerFrontPicPaletteTable + gUnknown_Debug_2038A20->unk0);
+ GetMonSpriteTemplate_803C5A0(gUnknown_Debug_2038A20->unk0, 1);
+ gUnknown_Debug_2038A20->unk2 = CreateSprite(&gUnknown_02024E8C, 0x28, 0x28, 0);
+ gSprites[gUnknown_Debug_2038A20->unk2].callback = debug_69;
+ gSprites[gUnknown_Debug_2038A20->unk2].oam.priority = 0;
+
+ debug_80C376C(gUnknown_Debug_2038A20->unk0, 26, 5);
+
+ gUnknown_Debug_2038A20->unk6 = gSprites[gUnknown_Debug_2038A20->unk2].oam.paletteNum;
+ CpuCopy16(gPlttBufferUnfaded + gUnknown_Debug_2038A20->unk6 * 16 + 0x100, gPlttBufferUnfaded + 0x80, 0x20);
+ CpuCopy16(gPlttBufferUnfaded + gUnknown_Debug_2038A20->unk6 * 16 + 0x100, gPlttBufferFaded + 0x80, 0x20);
+
+ gTasks[taskId].func = debug_80C7A54;
+
+ gUnknown_Debug_2038A20->unk9 = 0;
+}
+
+void debug_80C7A54(u8 taskId)
+{
+ u16 hue;
+ CpuCopy16(gPlttBufferUnfaded + 0x80, gUnknown_Debug_2038A20->unk10, 32);
+ hue = gPlttBufferUnfaded[gUnknown_Debug_2038A20->unk7 + 0x81];
+ gUnknown_Debug_2038A20->unkC.r = hue & 0x1f;
+ gUnknown_Debug_2038A20->unkC.g = (hue & 0x3e0) >> 5;
+ gUnknown_Debug_2038A20->unkC.b = (hue & 0x7c00) >> 10;
+ gUnknown_Debug_2038A20->unkC.unused_15 = 0;
+ debug_80C68CC(gUnknown_Debug_2038A20->unk7 + 1, 11, 10, 2);
+ Menu_PrintText(gUnknown_Debug_083F8813, 13, 10);
+ debug_80C68CC(hue, 14, 10, 4);
+ gTasks[taskId].func = debug_80C7B14;
+}
+
+#ifdef NONMATCHING
+void debug_80C7B14(u8 taskId)
+{
+ if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ SetMainCallback2(debug_80C370C);
+ gTasks[taskId].func = debug_80C373C;
+ }
+ else if (gMain.newAndRepeatedKeys & R_BUTTON)
+ {
+ gUnknown_Debug_2038A20->unk0 = debug_80C38B4(0, gUnknown_Debug_2038A20->unk0);
+ gTasks[taskId].func = debug_80C7D44;
+ }
+ else if (gMain.newAndRepeatedKeys & L_BUTTON)
+ {
+ gUnknown_Debug_2038A20->unk0 = debug_80C38B4(1, gUnknown_Debug_2038A20->unk0);
+ gTasks[taskId].func = debug_80C7D44;
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ gUnknown_Debug_2038A20->unk5 = 1;
+ REG_WIN0H = 0x51EF;
+ REG_WIN0V = 0x4167;
+ gTasks[taskId].func = debug_80C7DDC;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_RIGHT && gUnknown_Debug_2038A20->unk7 < 14)
+ {
+ ((u16 *)PLTT)[0x81 + gUnknown_Debug_2038A20->unk7] = 0;
+ do; while (0); // this matches the asm here...
+ gUnknown_Debug_2038A20->unk7++;
+ gTasks[taskId].func = debug_80C7A54;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_LEFT && gUnknown_Debug_2038A20->unk7 > 0)
+ {
+ ((u16 *)PLTT)[0x81 + gUnknown_Debug_2038A20->unk7] = 0;
+ do; while (0); // ... but not here
+ gUnknown_Debug_2038A20->unk7--;
+ gTasks[taskId].func = debug_80C7A54;
+ }
+ else if (gMain.newKeys & START_BUTTON)
+ {
+ gUnknown_Debug_2038A20->unk9 ^= 1;
+ if (gUnknown_Debug_2038A20->unk9)
+ {
+ LoadCompressedPalette(GetMonSpritePalFromOtIdPersonality(gUnknown_Debug_2038A20->unk0, 0, 0), gUnknown_Debug_2038A20->unk6 * 16 + 0x100, 0x20);
+ }
+ else
+ {
+ LoadCompressedPalette(GetMonSpritePalFromOtIdPersonality(gUnknown_Debug_2038A20->unk0, 0, 9), gUnknown_Debug_2038A20->unk6 * 16 + 0x100, 0x20);
+ }
+ CpuCopy16(gPlttBufferUnfaded + gUnknown_Debug_2038A20->unk6 * 16 + 0x100, gPlttBufferUnfaded + 0x80, 32);
+ CpuCopy16(gPlttBufferUnfaded + gUnknown_Debug_2038A20->unk6 * 16 + 0x100, gPlttBufferFaded + 0x80, 32);
+ gTasks[taskId].func = debug_80C7A54;
+ }
+ else
+ {
+ gUnknown_Debug_2038A20->unk8 += 4;
+ gUnknown_Debug_2038A20->unk8 &= 0x1f;
+ ((u16 *)PLTT)[0xa1 + gUnknown_Debug_2038A20->unk7] = gUnknown_Debug_083F8790[gUnknown_Debug_2038A20->unk8];
+ }
+}
+#else
+NAKED void debug_80C7B14(u8 taskId)
+{
+ asm("\tpush\t{r4, r5, r6, lr}\n"
+ "\tadd\tsp, sp, #0xfffffffc\n"
+ "\tlsl\tr0, r0, #0x18\n"
+ "\tlsr\tr6, r0, #0x18\n"
+ "\tldr\tr1, ._792 @ gMain\n"
+ "\tldrh\tr3, [r1, #0x2e]\n"
+ "\tmov\tr0, #0x2\n"
+ "\tand\tr0, r0, r3\n"
+ "\tadd\tr4, r1, #0\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._790\t@cond_branch\n"
+ "\tmov\tr0, #0x5\n"
+ "\tbl\tPlaySE\n"
+ "\tmov\tr0, #0x1\n"
+ "\tneg\tr0, r0\n"
+ "\tmov\tr1, #0x0\n"
+ "\tstr\tr1, [sp]\n"
+ "\tmov\tr2, #0x0\n"
+ "\tmov\tr3, #0x10\n"
+ "\tbl\tBeginNormalPaletteFade\n"
+ "\tldr\tr0, ._792 + 4 @ debug_80C370C\n"
+ "\tbl\tSetMainCallback2\n"
+ "\tldr\tr1, ._792 + 8 @ gTasks\n"
+ "\tlsl\tr0, r6, #0x2\n"
+ "\tadd\tr0, r0, r6\n"
+ "\tlsl\tr0, r0, #0x3\n"
+ "\tadd\tr0, r0, r1\n"
+ "\tldr\tr1, ._792 + 12 @ debug_80C373C\n"
+ "\tstr\tr1, [r0]\n"
+ "\tb\t._821\n"
+ "._793:\n"
+ "\t.align\t2, 0\n"
+ "._792:\n"
+ "\t.word\tgMain\n"
+ "\t.word\tdebug_80C370C+1\n"
+ "\t.word\tgTasks\n"
+ "\t.word\tdebug_80C373C+1\n"
+ "._790:\n"
+ "\tldrh\tr1, [r4, #0x30]\n"
+ "\tmov\tr0, #0x80\n"
+ "\tlsl\tr0, r0, #0x1\n"
+ "\tand\tr0, r0, r1\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._794\t@cond_branch\n"
+ "\tldr\tr4, ._796 @ gUnknown_Debug_2038A20\n"
+ "\tldr\tr0, [r4]\n"
+ "\tldrh\tr1, [r0]\n"
+ "\tmov\tr0, #0x0\n"
+ "\tb\t._795\n"
+ "._797:\n"
+ "\t.align\t2, 0\n"
+ "._796:\n"
+ "\t.word\tgUnknown_Debug_2038A20\n"
+ "._794:\n"
+ "\tmov\tr0, #0x80\n"
+ "\tlsl\tr0, r0, #0x2\n"
+ "\tand\tr0, r0, r1\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._798\t@cond_branch\n"
+ "\tldr\tr4, ._800 @ gUnknown_Debug_2038A20\n"
+ "\tldr\tr0, [r4]\n"
+ "\tldrh\tr1, [r0]\n"
+ "\tmov\tr0, #0x1\n"
+ "._795:\n"
+ "\tbl\tdebug_80C38B4\n"
+ "\tldr\tr1, [r4]\n"
+ "\tstrh\tr0, [r1]\n"
+ "\tldr\tr1, ._800 + 4 @ gTasks\n"
+ "\tlsl\tr0, r6, #0x2\n"
+ "\tadd\tr0, r0, r6\n"
+ "\tlsl\tr0, r0, #0x3\n"
+ "\tadd\tr0, r0, r1\n"
+ "\tldr\tr1, ._800 + 8 @ debug_80C7D44\n"
+ "\tstr\tr1, [r0]\n"
+ "\tb\t._821\n"
+ "._801:\n"
+ "\t.align\t2, 0\n"
+ "._800:\n"
+ "\t.word\tgUnknown_Debug_2038A20\n"
+ "\t.word\tgTasks\n"
+ "\t.word\tdebug_80C7D44+1\n"
+ "._798:\n"
+ "\tmov\tr2, #0x1\n"
+ "\tand\tr2, r2, r3\n"
+ "\tcmp\tr2, #0\n"
+ "\tbeq\t._802\t@cond_branch\n"
+ "\tldr\tr0, ._804 @ gUnknown_Debug_2038A20\n"
+ "\tldr\tr1, [r0]\n"
+ "\tmov\tr0, #0x1\n"
+ "\tstrb\tr0, [r1, #0x5]\n"
+ "\tldr\tr1, ._804 + 4 @ 0x4000040\n"
+ "\tldr\tr2, ._804 + 8 @ 0x51ef\n"
+ "\tadd\tr0, r2, #0\n"
+ "\tstrh\tr0, [r1]\n"
+ "\tadd\tr1, r1, #0x4\n"
+ "\tldr\tr2, ._804 + 12 @ 0x4167\n"
+ "\tadd\tr0, r2, #0\n"
+ "\tstrh\tr0, [r1]\n"
+ "\tldr\tr1, ._804 + 16 @ gTasks\n"
+ "\tlsl\tr0, r6, #0x2\n"
+ "\tadd\tr0, r0, r6\n"
+ "\tlsl\tr0, r0, #0x3\n"
+ "\tadd\tr0, r0, r1\n"
+ "\tldr\tr1, ._804 + 20 @ debug_80C7DDC\n"
+ "\tstr\tr1, [r0]\n"
+ "\tb\t._821\n"
+ "._805:\n"
+ "\t.align\t2, 0\n"
+ "._804:\n"
+ "\t.word\tgUnknown_Debug_2038A20\n"
+ "\t.word\t0x4000040\n"
+ "\t.word\t0x51ef\n"
+ "\t.word\t0x4167\n"
+ "\t.word\tgTasks\n"
+ "\t.word\tdebug_80C7DDC+1\n"
+ "._802:\n"
+ "\tmov\tr0, #0x10\n"
+ "\tand\tr0, r0, r1\n"
+ "\tldr\tr3, ._809 @ gUnknown_Debug_2038A20\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._807\t@cond_branch\n"
+ "\tldr\tr1, [r3]\n"
+ "\tldrb\tr0, [r1, #0x7]\n"
+ "\tcmp\tr0, #0xd\n"
+ "\tbhi\t._807\t@cond_branch\n"
+ "\tlsl\tr0, r0, #0x1\n"
+ "\tldr\tr1, ._809 + 4 @ 0x5000102\n"
+ "\tadd\tr0, r0, r1\n"
+ "\tstrh\tr2, [r0]\n"
+ "\tldr\tr1, [r3]\n"
+ "\tldrb\tr0, [r1, #0x7]\n"
+ "\tadd\tr0, r0, #0x1\n"
+ "\tstrb\tr0, [r1, #0x7]\n"
+ "\tb\t._813\n"
+ "._810:\n"
+ "\t.align\t2, 0\n"
+ "._809:\n"
+ "\t.word\tgUnknown_Debug_2038A20\n"
+ "\t.word\t0x5000102\n"
+ "._807:\n"
+ "\tldrh\tr1, [r4, #0x30]\n"
+ "\tmov\tr0, #0x20\n"
+ "\tand\tr0, r0, r1\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._812\t@cond_branch\n"
+ "\tldr\tr1, [r3]\n"
+ "\tldrb\tr0, [r1, #0x7]\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._812\t@cond_branch\n"
+ "\tlsl\tr0, r0, #0x1\n"
+ "\tldr\tr2, ._814 @ 0x5000102\n"
+ "\tadd\tr0, r0, r2\n"
+ "\tmov\tr1, #0x0\n"
+ "\tstrh\tr1, [r0]\n"
+ "\tldr\tr1, [r3]\n"
+ "\tldrb\tr0, [r1, #0x7]\n"
+ "\tsub\tr0, r0, #0x1\n"
+ "\tstrb\tr0, [r1, #0x7]\n"
+ "\tb\t._813\n"
+ "._815:\n"
+ "\t.align\t2, 0\n"
+ "._814:\n"
+ "\t.word\t0x5000102\n"
+ "._812:\n"
+ "\tldrh\tr1, [r4, #0x2e]\n"
+ "\tmov\tr0, #0x8\n"
+ "\tand\tr0, r0, r1\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._816\t@cond_branch\n"
+ "\tldr\tr4, ._819 @ gUnknown_Debug_2038A20\n"
+ "\tldr\tr2, [r4]\n"
+ "\tldrb\tr0, [r2, #0x9]\n"
+ "\tmov\tr1, #0x1\n"
+ "\teor\tr0, r0, r1\n"
+ "\tstrb\tr0, [r2, #0x9]\n"
+ "\tldr\tr1, [r4]\n"
+ "\tldrb\tr0, [r1, #0x9]\n"
+ "\tcmp\tr0, #0\n"
+ "\tbeq\t._817\t@cond_branch\n"
+ "\tldrh\tr0, [r1]\n"
+ "\tmov\tr1, #0x0\n"
+ "\tmov\tr2, #0x0\n"
+ "\tbl\tGetMonSpritePalFromOtIdPersonality\n"
+ "\tldr\tr1, [r4]\n"
+ "\tldrb\tr1, [r1, #0x6]\n"
+ "\tlsl\tr1, r1, #0x14\n"
+ "\tmov\tr2, #0x80\n"
+ "\tlsl\tr2, r2, #0x11\n"
+ "\tadd\tr1, r1, r2\n"
+ "\tlsr\tr1, r1, #0x10\n"
+ "\tmov\tr2, #0x20\n"
+ "\tbl\tLoadCompressedPalette\n"
+ "\tb\t._818\n"
+ "._820:\n"
+ "\t.align\t2, 0\n"
+ "._819:\n"
+ "\t.word\tgUnknown_Debug_2038A20\n"
+ "._817:\n"
+ "\tldrh\tr0, [r1]\n"
+ "\tmov\tr1, #0x0\n"
+ "\tmov\tr2, #0x9\n"
+ "\tbl\tGetMonSpritePalFromOtIdPersonality\n"
+ "\tldr\tr1, [r4]\n"
+ "\tldrb\tr1, [r1, #0x6]\n"
+ "\tlsl\tr1, r1, #0x14\n"
+ "\tmov\tr2, #0x80\n"
+ "\tlsl\tr2, r2, #0x11\n"
+ "\tadd\tr1, r1, r2\n"
+ "\tlsr\tr1, r1, #0x10\n"
+ "\tmov\tr2, #0x20\n"
+ "\tbl\tLoadCompressedPalette\n"
+ "._818:\n"
+ "\tldr\tr5, ._822 @ gUnknown_Debug_2038A20\n"
+ "\tldr\tr0, [r5]\n"
+ "\tldrb\tr0, [r0, #0x6]\n"
+ "\tlsl\tr0, r0, #0x5\n"
+ "\tldr\tr4, ._822 + 4 @ gPlttBufferUnfaded\n"
+ "\tadd\tr0, r0, r4\n"
+ "\tldr\tr2, ._822 + 8 @ 0xffffff00\n"
+ "\tadd\tr1, r4, r2\n"
+ "\tmov\tr2, #0x10\n"
+ "\tbl\tCpuSet\n"
+ "\tldr\tr0, [r5]\n"
+ "\tldrb\tr0, [r0, #0x6]\n"
+ "\tlsl\tr0, r0, #0x5\n"
+ "\tadd\tr0, r0, r4\n"
+ "\tldr\tr1, ._822 + 12 @ gPlttBufferFaded\n"
+ "\tmov\tr2, #0x10\n"
+ "\tbl\tCpuSet\n"
+ "._813:\n"
+ "\tldr\tr1, ._822 + 16 @ gTasks\n"
+ "\tlsl\tr0, r6, #0x2\n"
+ "\tadd\tr0, r0, r6\n"
+ "\tlsl\tr0, r0, #0x3\n"
+ "\tadd\tr0, r0, r1\n"
+ "\tldr\tr1, ._822 + 20 @ debug_80C7A54\n"
+ "\tstr\tr1, [r0]\n"
+ "\tb\t._821\n"
+ "._823:\n"
+ "\t.align\t2, 0\n"
+ "._822:\n"
+ "\t.word\tgUnknown_Debug_2038A20\n"
+ "\t.word\tgPlttBufferUnfaded+0x200\n"
+ "\t.word\t0xffffff00\n"
+ "\t.word\tgPlttBufferFaded+0x100\n"
+ "\t.word\tgTasks\n"
+ "\t.word\tdebug_80C7A54+1\n"
+ "._816:\n"
+ "\tldr\tr1, [r3]\n"
+ "\tldrb\tr0, [r1, #0x8]\n"
+ "\tadd\tr0, r0, #0x4\n"
+ "\tstrb\tr0, [r1, #0x8]\n"
+ "\tldr\tr2, [r3]\n"
+ "\tldrb\tr1, [r2, #0x8]\n"
+ "\tmov\tr0, #0x1f\n"
+ "\tand\tr0, r0, r1\n"
+ "\tstrb\tr0, [r2, #0x8]\n"
+ "\tldr\tr0, [r3]\n"
+ "\tldrb\tr1, [r0, #0x7]\n"
+ "\tlsl\tr1, r1, #0x1\n"
+ "\tldr\tr2, ._824 @ 0x5000142\n"
+ "\tadd\tr1, r1, r2\n"
+ "\tldr\tr2, ._824 + 4 @ gUnknown_Debug_083F8790\n"
+ "\tldrb\tr0, [r0, #0x8]\n"
+ "\tlsl\tr0, r0, #0x1\n"
+ "\tadd\tr0, r0, r2\n"
+ "\tldrh\tr0, [r0]\n"
+ "\tstrh\tr0, [r1]\n"
+ "._821:\n"
+ "\tadd\tsp, sp, #0x4\n"
+ "\tpop\t{r4, r5, r6}\n"
+ "\tpop\t{r0}\n"
+ "\tbx\tr0\n"
+ "._825:\n"
+ "\t.align\t2, 0\n"
+ "._824:\n"
+ "\t.word\t0x5000142\n"
+ "\t.word\tgUnknown_Debug_083F8790");
+}
+#endif // NONMATCHING
+
+void debug_80C7D44(u8 taskId)
+{
+ FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(gSprites[gUnknown_Debug_2038A20->unk2].oam.paletteNum));
+ DestroySprite(gSprites + gUnknown_Debug_2038A20->unk2);
+ FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(gSprites[gUnknown_Debug_2038A20->unk3].oam.paletteNum));
+ DestroySprite(gSprites + gUnknown_Debug_2038A20->unk3);
+ sub_809D510(gSprites + gUnknown_Debug_2038A20->unk4);
+ gTasks[taskId].func = debug_80C7934;
+}
+
+void debug_80C7DDC(u8 taskId)
+{
+ if (gMain.newKeys & A_BUTTON)
+ {
+ gUnknown_Debug_2038A20->unk5 = 0;
+ REG_WIN0H = 0x51EF;
+ REG_WIN0V = 0x699F;
+ gTasks[taskId].func = debug_80C7A54;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ gUnknown_Debug_2038A20->unk5 = 0;
+ REG_WIN0H = 0x51EF;
+ REG_WIN0V = 0x699F;
+ CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferUnfaded + 0x80, 32);
+ CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferFaded + 0x80, 32);
+ CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferUnfaded + 0x100 + gUnknown_Debug_2038A20->unk6 * 16, 32);
+ CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferFaded + 0x100 + gUnknown_Debug_2038A20->unk6 * 16, 32);
+ gTasks[taskId].func = debug_80C7A54;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A20->unkA < 2)
+ {
+ gUnknown_Debug_2038A20->unkA++;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_UP && gUnknown_Debug_2038A20->unkA > 0)
+ {
+ gUnknown_Debug_2038A20->unkA--;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ {
+ switch (gUnknown_Debug_2038A20->unkA)
+ {
+ case 0:
+ if (gUnknown_Debug_2038A20->unkC.r < 31)
+ gUnknown_Debug_2038A20->unkC.r++;
+ gTasks[taskId].func = debug_80C802C;
+ break;
+ case 1:
+ if (gUnknown_Debug_2038A20->unkC.g < 31)
+ gUnknown_Debug_2038A20->unkC.g++;
+ gTasks[taskId].func = debug_80C802C;
+ break;
+ case 2:
+ if (gUnknown_Debug_2038A20->unkC.b < 31)
+ gUnknown_Debug_2038A20->unkC.b++;
+ gTasks[taskId].func = debug_80C802C;
+ break;
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ {
+ switch (gUnknown_Debug_2038A20->unkA)
+ {
+ case 0:
+ if (gUnknown_Debug_2038A20->unkC.r > 0)
+ gUnknown_Debug_2038A20->unkC.r--;
+ gTasks[taskId].func = debug_80C802C;
+ break;
+ case 1:
+ if (gUnknown_Debug_2038A20->unkC.g > 0)
+ gUnknown_Debug_2038A20->unkC.g--;
+ gTasks[taskId].func = debug_80C802C;
+ break;
+ case 2:
+ if (gUnknown_Debug_2038A20->unkC.b > 0)
+ gUnknown_Debug_2038A20->unkC.b--;
+ gTasks[taskId].func = debug_80C802C;
+ break;
+ }
+ }
+}
-u8 byte_3005E30[0x20];
+void debug_80C802C(u8 taskId)
+{
+ u16 pal = (gUnknown_Debug_2038A20->unkC.r & 0x001f) + ((gUnknown_Debug_2038A20->unkC.g << 5) & 0x03e0) + ((gUnknown_Debug_2038A20->unkC.b << 10) & 0x7c00);
+ gPlttBufferUnfaded[gUnknown_Debug_2038A20->unk7 + 0x81] = pal;
+ gPlttBufferFaded[gUnknown_Debug_2038A20->unk7 + 0x81] = pal;
+ gPlttBufferUnfaded[0x101 + gUnknown_Debug_2038A20->unk6 * 16 + gUnknown_Debug_2038A20->unk7] = pal;
+ gPlttBufferFaded[0x101 + gUnknown_Debug_2038A20->unk6 * 16 + gUnknown_Debug_2038A20->unk7] = pal;
+ debug_80C68CC(pal, 14, 10, 4);
+ gTasks[taskId].func = debug_80C7DDC;
+}
-#endif
+#endif // DEBUG
diff --git a/src/pokedex.c b/src/pokedex.c
index 61f2bfbba..30b4d414c 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -94,20 +94,6 @@ enum
SIZE_SCREEN
};
-struct PokedexEntry
-{
- /*0x00*/ u8 categoryName[12];
- /*0x0C*/ u16 height; //in decimeters
- /*0x0E*/ u16 weight; //in hectograms
- /*0x10*/ const u8 *descriptionPage1;
- /*0x14*/ const u8 *descriptionPage2;
- /*0x18*/ u16 unused;
- /*0x1A*/ u16 pokemonScale;
- /*0x1C*/ u16 pokemonOffset;
- /*0x1E*/ u16 trainerScale;
- /*0x20*/ u16 trainerOffset;
-}; /*size = 0x24*/
-
struct UnknownStruct2
{
const u8 *text1;
@@ -1277,7 +1263,6 @@ void sub_8091738(u16, u16, u16);
static void sub_80917CC(u16 i, u16 i1);
static u16 sub_8091818(u8, u16, u16, u16);
u16 sub_80918EC(u16 a, s16 b, s16 c, u16 d);
-u8 sub_8091A4C(u16 gender, s16, s16, u16);
static void sub_8091E54(u8);
static void sub_809204C(u8);
static void sub_809207C(u8);
@@ -4584,7 +4569,7 @@ u16 sub_80918EC(u16 num, s16 x, s16 y, u16 paletteNum)
return spriteId;
}
-u8 sub_8091A4C(u16 gender, s16 x, s16 y, u16 paletteNum)
+u16 sub_8091A4C(u16 gender, s16 x, s16 y, u16 paletteNum)
{
u8 spriteId;
diff --git a/src/pokemon_storage_system_2.c b/src/pokemon_storage_system_2.c
index 0905c185b..762850e06 100644
--- a/src/pokemon_storage_system_2.c
+++ b/src/pokemon_storage_system_2.c
@@ -335,11 +335,11 @@ void debug_sub_80A4300(void)
}
extern void (*unk_2038794)(void);
-extern u32 unk_2038798;
+extern struct Pokemon * unk_2038798;
-extern void unref_sub_809CB94();
+extern void debug_sub_809CB94(struct Pokemon *);
-void debug_sub_80A433C(u32 a, void (*b)(void))
+void debug_sub_80A433C(struct Pokemon * a, void (*b)(void))
{
unk_2038794 = b;
unk_2038798 = a;
@@ -351,7 +351,7 @@ void debug_sub_80A435C(void)
switch (gPokemonStorageSystemPtr->unk_0004)
{
case 0:
- unref_sub_809CB94(unk_2038798);
+ debug_sub_809CB94(unk_2038798);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
gPokemonStorageSystemPtr->unk_0004++;
break;