summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/arm9.lsf4
-rw-r--r--arm9/global.inc6
-rw-r--r--arm9/modules/05/asm/mod05_021E779C.s621
-rw-r--r--arm9/modules/05/asm/mod05_021E7C00.s708
-rw-r--r--arm9/modules/05/asm/mod05_021E80F8.s303
-rw-r--r--arm9/modules/05/asm/mod05_021E8310.s409
-rw-r--r--arm9/modules/05/asm/module_05.s2019
-rw-r--r--files/poketool/icongra/poke_icon/.gitignore4
-rw-r--r--files/poketool/icongra/poke_icon/narc_0013.NCGRbin1072 -> 0 bytes
-rw-r--r--files/poketool/icongra/poke_icon/narc_0013.pngbin0 -> 462 bytes
-rw-r--r--files/poketool/icongra/poke_icon/narc_0014.NCGRbin1072 -> 0 bytes
-rw-r--r--files/poketool/icongra/poke_icon/narc_0014.pngbin0 -> 344 bytes
-rw-r--r--files/poketool/icongra/poke_icon/narc_0015.NCGRbin1072 -> 0 bytes
-rw-r--r--files/poketool/icongra/poke_icon/narc_0015.pngbin0 -> 371 bytes
-rw-r--r--files/poketool/icongra/poke_icon/narc_0016.NCGRbin1072 -> 0 bytes
-rw-r--r--files/poketool/icongra/poke_icon/narc_0016.pngbin0 -> 397 bytes
-rw-r--r--files/poketool/pokegra/pokegra/.gitignore24
-rw-r--r--files/poketool/pokegra/pokegra/narc_0036.NCGRbin6448 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0036.pngbin0 -> 1031 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0036.png.key1
-rw-r--r--files/poketool/pokegra/pokegra/narc_0037.NCGRbin6448 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0037.pngbin0 -> 1031 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0037.png.key1
-rw-r--r--files/poketool/pokegra/pokegra/narc_0038.NCGRbin6448 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0038.pngbin0 -> 2048 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0038.png.key1
-rw-r--r--files/poketool/pokegra/pokegra/narc_0039.NCGRbin6448 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0039.pngbin0 -> 2048 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0039.png.key1
-rw-r--r--files/poketool/pokegra/pokegra/narc_0040.NCLRbin72 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0040.pal19
-rw-r--r--files/poketool/pokegra/pokegra/narc_0041.NCLRbin72 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0041.pal19
-rw-r--r--files/poketool/pokegra/pokegra/narc_0042.NCGRbin6448 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0042.pngbin0 -> 734 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0042.png.key1
-rw-r--r--files/poketool/pokegra/pokegra/narc_0043.NCGRbin6448 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0043.pngbin0 -> 734 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0043.png.key1
-rw-r--r--files/poketool/pokegra/pokegra/narc_0044.NCGRbin6448 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0044.pngbin0 -> 910 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0044.png.key1
-rw-r--r--files/poketool/pokegra/pokegra/narc_0045.NCGRbin6448 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0045.pngbin0 -> 910 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0045.png.key1
-rw-r--r--files/poketool/pokegra/pokegra/narc_0046.NCLRbin72 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0046.pal19
-rw-r--r--files/poketool/pokegra/pokegra/narc_0047.NCLRbin72 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0047.pal19
-rw-r--r--files/poketool/pokegra/pokegra/narc_0048.NCGRbin6448 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0048.pngbin0 -> 982 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0048.png.key1
-rw-r--r--files/poketool/pokegra/pokegra/narc_0049.NCGRbin6448 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0049.pngbin0 -> 982 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0049.png.key1
-rw-r--r--files/poketool/pokegra/pokegra/narc_0050.NCGRbin6448 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0050.pngbin0 -> 1531 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0050.png.key1
-rw-r--r--files/poketool/pokegra/pokegra/narc_0051.NCGRbin6448 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0051.pngbin0 -> 1531 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0051.png.key1
-rw-r--r--files/poketool/pokegra/pokegra/narc_0052.NCLRbin72 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0052.pal19
-rw-r--r--files/poketool/pokegra/pokegra/narc_0053.NCLRbin72 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0053.pal19
-rw-r--r--files/poketool/pokegra/pokegra/narc_0054.NCGRbin6448 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0054.pngbin0 -> 1022 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0054.png.key1
-rw-r--r--files/poketool/pokegra/pokegra/narc_0055.NCGRbin6448 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0055.pngbin0 -> 1022 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0055.png.key1
-rw-r--r--files/poketool/pokegra/pokegra/narc_0056.NCGRbin6448 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0056.pngbin0 -> 1988 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0056.png.key1
-rw-r--r--files/poketool/pokegra/pokegra/narc_0057.NCGRbin6448 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0057.pngbin0 -> 1988 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0057.png.key1
-rw-r--r--files/poketool/pokegra/pokegra/narc_0058.NCLRbin72 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0058.pal19
-rw-r--r--files/poketool/pokegra/pokegra/narc_0059.NCLRbin72 -> 0 bytes
-rw-r--r--files/poketool/pokegra/pokegra/narc_0059.pal19
-rw-r--r--files/poketool/trgra/trfgra/narc_0000.pngbin760 -> 773 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0002.pngbin817 -> 830 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0004.pngbin662 -> 675 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0006.pngbin728 -> 741 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0008.pngbin677 -> 690 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0010.pngbin621 -> 634 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0012.pngbin922 -> 935 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0014.pngbin790 -> 803 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0016.pngbin869 -> 882 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0018.pngbin1120 -> 1133 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0020.pngbin776 -> 789 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0022.pngbin1147 -> 1160 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0024.pngbin1021 -> 1034 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0026.pngbin1062 -> 1075 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0028.pngbin1015 -> 1028 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0030.pngbin953 -> 966 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0032.pngbin866 -> 879 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0034.pngbin760 -> 773 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0036.pngbin848 -> 861 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0038.pngbin754 -> 767 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0040.pngbin842 -> 855 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0042.pngbin881 -> 894 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0044.pngbin641 -> 654 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0046.pngbin1063 -> 1076 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0048.pngbin723 -> 736 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0050.pngbin752 -> 765 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0052.pngbin802 -> 815 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0054.pngbin818 -> 831 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0056.pngbin652 -> 665 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0058.pngbin808 -> 821 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0060.pngbin872 -> 885 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0062.pngbin1239 -> 1252 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0064.pngbin641 -> 654 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0066.pngbin898 -> 911 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0068.pngbin1039 -> 1052 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0070.pngbin684 -> 697 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0072.pngbin879 -> 892 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0074.pngbin916 -> 929 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0076.pngbin754 -> 767 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0078.pngbin772 -> 785 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0080.pngbin788 -> 801 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0082.pngbin898 -> 911 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0084.pngbin670 -> 683 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0086.pngbin719 -> 732 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0088.pngbin602 -> 615 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0090.pngbin614 -> 627 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0092.pngbin771 -> 784 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0094.pngbin1079 -> 1092 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0096.pngbin957 -> 970 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0098.pngbin922 -> 935 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0100.pngbin916 -> 929 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0102.pngbin796 -> 809 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0104.pngbin1041 -> 1054 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0106.pngbin816 -> 829 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0108.pngbin855 -> 868 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0110.pngbin934 -> 947 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0112.pngbin956 -> 969 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0114.pngbin1052 -> 1065 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0116.pngbin995 -> 1008 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0118.pngbin790 -> 803 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0120.pngbin611 -> 624 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0122.pngbin594 -> 607 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0124.pngbin920 -> 933 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0126.pngbin822 -> 835 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0128.pngbin916 -> 929 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0130.pngbin757 -> 770 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0132.pngbin676 -> 689 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0134.pngbin822 -> 835 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0136.pngbin598 -> 611 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0138.pngbin810 -> 823 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0140.pngbin1399 -> 1412 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0142.pngbin904 -> 917 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0144.pngbin739 -> 752 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0146.pngbin799 -> 812 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0148.pngbin863 -> 876 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0150.pngbin1142 -> 1155 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0152.pngbin776 -> 789 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0154.pngbin1017 -> 1030 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0156.pngbin990 -> 1003 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0158.pngbin751 -> 764 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0160.pngbin834 -> 847 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0162.pngbin750 -> 763 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0164.pngbin1390 -> 1403 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0166.pngbin908 -> 921 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0168.pngbin707 -> 720 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0170.pngbin831 -> 844 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0172.pngbin891 -> 904 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0174.pngbin762 -> 775 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0176.pngbin802 -> 815 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0178.pngbin835 -> 848 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0180.pngbin779 -> 792 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0182.pngbin642 -> 655 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0184.pngbin634 -> 647 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0186.pngbin656 -> 669 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0188.pngbin628 -> 641 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0190.pngbin760 -> 773 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0192.pngbin817 -> 830 bytes
-rw-r--r--files/poketool/trgra/trfgra/narc_0194.pngbin1000 -> 1013 bytes
-rw-r--r--filesystem.mk28
-rw-r--r--graphics_rules.mk56
181 files changed, 2331 insertions, 2019 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index d77a4c21..5468430a 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -556,6 +556,10 @@ Overlay MODULE_05
Object mod05_021E5FD8.o
Object mod05_021E72FC.o
Object mod05_021E7504.o
+ Object mod05_021E779C.o
+ Object mod05_021E7C00.o
+ Object mod05_021E80F8.o
+ Object mod05_021E8310.o
Object module_05.o
}
diff --git a/arm9/global.inc b/arm9/global.inc
index 0a00bc9b..65781a0c 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -6511,12 +6511,16 @@
.extern MOD05_021E72FC
.extern MOD05_021E7358
.extern MOD05_021E7750
+.extern MOD05_021E779C
+.extern MOD05_021E77B0
.extern MOD05_021E799C
.extern MOD05_021E7AC0
.extern MOD05_021E7C00
.extern MOD05_021E7C14
.extern MOD05_021E7C1C
.extern MOD05_021E7C80
+.extern MOD05_021E7CD8
+.extern MOD05_021E7DD8
.extern MOD05_021E7E9C
.extern MOD05_021E7EA0
.extern MOD05_021E7EB0
@@ -6677,8 +6681,10 @@
.extern MOD05_021F4BF8
.extern MOD05_021F4C74
.extern MOD05_021F4C88
+.extern MOD05_021F4C9C
.extern MOD05_021F4CBC
.extern MOD05_021F4CD4
+.extern MOD05_021F4CE4
.extern MOD05_021F4CF8
.extern MOD05_021F4D1C
.extern MOD05_021F4D2C
diff --git a/arm9/modules/05/asm/mod05_021E779C.s b/arm9/modules/05/asm/mod05_021E779C.s
new file mode 100644
index 00000000..ad4118ff
--- /dev/null
+++ b/arm9/modules/05/asm/mod05_021E779C.s
@@ -0,0 +1,621 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+ .section .text
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E779C
+MOD05_021E779C: ; 0x021E779C
+ push {r4, lr}
+ mov r2, #0
+ mov r1, #0x14
+ add r3, r2, #0
+ add r4, r0, #0
+ bl MOD05_021E4BE8
+ str r4, [r0, #0x10]
+ pop {r4, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E77B0
+MOD05_021E77B0: ; 0x021E77B0
+ push {r4, lr}
+ add r4, r0, #0
+ bl MOD05_021E78B4
+ add r0, r4, #0
+ bl MOD05_021E4C00
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021E77C0
+MOD05_021E77C0: ; 0x021E77C0
+ ldr r1, [r0]
+ add r1, r1, #1
+ str r1, [r0]
+ bx lr
+
+ thumb_func_start MOD05_021E77C8
+MOD05_021E77C8: ; 0x021E77C8
+ push {r3, lr}
+ ldr r1, [r0]
+ sub r1, r1, #1
+ str r1, [r0]
+ bpl _021E77D6
+ bl ErrorHandling
+_021E77D6:
+ pop {r3, pc}
+
+ thumb_func_start MOD05_021E77D8
+MOD05_021E77D8: ; 0x021E77D8
+ ldr r1, [r0, #4]
+ add r1, r1, #1
+ str r1, [r0, #4]
+ bx lr
+
+ thumb_func_start MOD05_021E77E0
+MOD05_021E77E0: ; 0x021E77E0
+ push {r3, lr}
+ ldr r1, [r0, #4]
+ sub r1, r1, #1
+ str r1, [r0, #4]
+ bpl _021E77EE
+ bl ErrorHandling
+_021E77EE:
+ pop {r3, pc}
+
+ thumb_func_start MOD05_021E77F0
+MOD05_021E77F0: ; 0x021E77F0
+ push {r3, lr}
+ cmp r1, #0
+ bne _021E77FC
+ bl MOD05_021E77C0
+ pop {r3, pc}
+_021E77FC:
+ bl MOD05_021E77D8
+ pop {r3, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E7804
+MOD05_021E7804: ; 0x021E7804
+ push {r3, lr}
+ cmp r1, #0
+ bne _021E7810
+ bl MOD05_021E77C8
+ pop {r3, pc}
+_021E7810:
+ bl MOD05_021E77E0
+ pop {r3, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E7818
+MOD05_021E7818: ; 0x021E7818
+ push {r3, r4, lr}
+ sub sp, #0xc
+ add r4, r0, #0
+ ldr r0, [r4, #8]
+ cmp r0, #0
+ bne _021E785C
+ mov r1, #1
+ str r1, [r4, #8]
+ ldr r0, [r4, #0x10]
+ mov r2, #0x55
+ bl MOD05_021E5078
+ ldr r0, [r4, #0x10]
+ mov r1, #1
+ mov r2, #0x75
+ bl MOD05_021E50AC
+ mov r1, #1
+ ldr r0, [r4, #0x10]
+ mov r2, #4
+ add r3, r1, #0
+ bl MOD05_021E50D4
+ mov r1, #1
+ str r1, [sp]
+ mov r0, #0
+ str r0, [sp, #4]
+ ldr r0, _021E7860 ; =UNK05_021F7854
+ add r2, r1, #0
+ str r0, [sp, #8]
+ ldr r0, [r4, #0x10]
+ add r3, r1, #0
+ bl MOD05_021E4EFC
+_021E785C:
+ add sp, #0xc
+ pop {r3, r4, pc}
+ .balign 4, 0
+_021E7860: .word UNK05_021F7854
+
+ thumb_func_start MOD05_021E7864
+MOD05_021E7864: ; 0x021E7864
+ push {r3, r4, lr}
+ sub sp, #0xc
+ add r4, r0, #0
+ ldr r0, [r4, #0xc]
+ cmp r0, #0
+ bne _021E78AC
+ mov r0, #1
+ str r0, [r4, #0xc]
+ ldr r0, [r4, #0x10]
+ mov r1, #0xa
+ mov r2, #0x6c
+ bl MOD05_021E5078
+ ldr r0, [r4, #0x10]
+ mov r1, #0xa
+ mov r2, #0x75
+ bl MOD05_021E50AC
+ ldr r0, [r4, #0x10]
+ mov r1, #0xb
+ mov r2, #0xd
+ mov r3, #1
+ bl MOD05_021E50D4
+ mov r0, #0xb
+ str r0, [sp]
+ mov r0, #0
+ str r0, [sp, #4]
+ ldr r0, _021E78B0 ; =UNK05_021F7854
+ mov r2, #0xa
+ str r0, [sp, #8]
+ ldr r0, [r4, #0x10]
+ mov r1, #0xc
+ add r3, r2, #0
+ bl MOD05_021E4EFC
+_021E78AC:
+ add sp, #0xc
+ pop {r3, r4, pc}
+ .balign 4, 0
+_021E78B0: .word UNK05_021F7854
+
+ thumb_func_start MOD05_021E78B4
+MOD05_021E78B4: ; 0x021E78B4
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #8]
+ cmp r0, #1
+ bne _021E78E2
+ mov r0, #0
+ str r0, [r4, #8]
+ ldr r0, [r4, #0x10]
+ mov r1, #1
+ bl MOD05_021E50A0
+ ldr r0, [r4, #0x10]
+ mov r1, #1
+ bl MOD05_021E50C8
+ ldr r0, [r4, #0x10]
+ mov r1, #1
+ bl MOD05_021E5114
+ ldr r0, [r4, #0x10]
+ mov r1, #1
+ bl MOD05_021E506C
+_021E78E2:
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021E78E4
+MOD05_021E78E4: ; 0x021E78E4
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #0xc]
+ cmp r0, #1
+ bne _021E7912
+ mov r0, #0
+ str r0, [r4, #0xc]
+ ldr r0, [r4, #0x10]
+ mov r1, #0xa
+ bl MOD05_021E50A0
+ ldr r0, [r4, #0x10]
+ mov r1, #0xa
+ bl MOD05_021E50C8
+ ldr r0, [r4, #0x10]
+ mov r1, #0xb
+ bl MOD05_021E5114
+ ldr r0, [r4, #0x10]
+ mov r1, #0xc
+ bl MOD05_021E506C
+_021E7912:
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021E7914
+MOD05_021E7914: ; 0x021E7914
+ push {r3, lr}
+ ldr r1, [r0]
+ cmp r1, #0
+ bne _021E7920
+ bl MOD05_021E7818
+_021E7920:
+ pop {r3, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E7924
+MOD05_021E7924: ; 0x021E7924
+ push {r3, lr}
+ ldr r1, [r0, #4]
+ cmp r1, #0
+ bne _021E7930
+ bl MOD05_021E7864
+_021E7930:
+ pop {r3, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E7934
+MOD05_021E7934: ; 0x021E7934
+ push {r3, lr}
+ ldr r1, [r0]
+ cmp r1, #0
+ bne _021E7940
+ bl MOD05_021E78B4
+_021E7940:
+ pop {r3, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E7944
+MOD05_021E7944: ; 0x021E7944
+ push {r3, lr}
+ ldr r1, [r0, #4]
+ cmp r1, #0
+ bne _021E7950
+ bl MOD05_021E78E4
+_021E7950:
+ pop {r3, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E7954
+MOD05_021E7954: ; 0x021E7954
+ push {r3, lr}
+ cmp r1, #0
+ bne _021E7960
+ bl MOD05_021E7914
+ pop {r3, pc}
+_021E7960:
+ bl MOD05_021E7924
+ pop {r3, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E7968
+MOD05_021E7968: ; 0x021E7968
+ push {r3, lr}
+ cmp r1, #0
+ bne _021E7974
+ bl MOD05_021E7934
+ pop {r3, pc}
+_021E7974:
+ bl MOD05_021E7944
+ pop {r3, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E797C
+MOD05_021E797C: ; 0x021E797C
+ push {r3, r4, r5, lr}
+ sub sp, #8
+ ldr r3, _021E7998 ; =UNK05_021F7824
+ add r4, sp, #0
+ ldr r5, [r3]
+ ldr r3, [r3, #4]
+ str r5, [sp]
+ str r3, [sp, #4]
+ lsl r1, r1, #2
+ ldr r1, [r4, r1]
+ bl MOD05_021E4EE4
+ add sp, #8
+ pop {r3, r4, r5, pc}
+ .balign 4, 0
+_021E7998: .word UNK05_021F7824
+
+ thumb_func_start MOD05_021E799C
+MOD05_021E799C: ; 0x021E799C
+ push {r3, lr}
+ bl FUN_02064738
+ ldr r0, [r0, #0x14]
+ pop {r3, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E79A8
+MOD05_021E79A8: ; 0x021E79A8
+ push {r4, r5, lr}
+ sub sp, #0xc
+ add r4, r1, #0
+ add r5, r0, #0
+ bl FUN_0206475C
+ add r2, r4, #0
+ add r3, r0, #0
+ add r2, #0x30
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ mov r0, #6
+ lsl r0, r0, #0xc
+ str r0, [r4, #0x28]
+ ldr r0, [r4, #0x38]
+ ldr r1, [r4, #0x30]
+ bl MOD05_021E7954
+ add r0, r5, #0
+ add r1, sp, #0
+ bl FUN_0206477C
+ ldr r0, [r4, #0x34]
+ ldr r1, [r4, #0x30]
+ add r2, sp, #0
+ bl MOD05_021E797C
+ str r0, [r4, #0x40]
+ ldr r0, [r4, #0x38]
+ ldr r1, [r4, #0x30]
+ bl MOD05_021E77F0
+ add r0, r5, #0
+ bl FUN_02064754
+ cmp r0, #1
+ bne _021E79FC
+ ldr r0, _021E7A04 ; =0x000005DD
+ bl FUN_020054C8
+_021E79FC:
+ mov r0, #1
+ add sp, #0xc
+ pop {r4, r5, pc}
+ nop
+_021E7A04: .word 0x000005DD
+
+ thumb_func_start MOD05_021E7A08
+MOD05_021E7A08: ; 0x021E7A08
+ push {r4, r5, lr}
+ sub sp, #0xc
+ add r4, r1, #0
+ add r1, sp, #0
+ add r5, r0, #0
+ bl FUN_0206477C
+ ldr r0, [r4]
+ cmp r0, #0
+ beq _021E7A24
+ cmp r0, #1
+ beq _021E7A46
+ cmp r0, #2
+ b _021E7A5E
+_021E7A24:
+ ldr r1, [r4, #0x1c]
+ ldr r0, [r4, #0x28]
+ add r0, r1, r0
+ str r0, [r4, #0x1c]
+ beq _021E7A3A
+ mov r0, #2
+ ldr r1, [r4, #0x28]
+ lsl r0, r0, #0xc
+ sub r0, r1, r0
+ str r0, [r4, #0x28]
+ b _021E7A5E
+_021E7A3A:
+ mov r0, #0
+ str r0, [r4, #0x28]
+ ldr r0, [r4]
+ add r0, r0, #1
+ str r0, [r4]
+ b _021E7A5E
+_021E7A46:
+ ldr r0, [r4, #4]
+ add r0, r0, #1
+ str r0, [r4, #4]
+ cmp r0, #0x1e
+ blt _021E7A5E
+ ldr r0, [r4]
+ add r0, r0, #1
+ str r0, [r4]
+ mov r0, #0
+ str r0, [r4, #4]
+ mov r0, #1
+ str r0, [r4, #0x14]
+_021E7A5E:
+ add r0, r5, #0
+ add r1, sp, #0
+ bl FUN_0206476C
+ add sp, #0xc
+ pop {r4, r5, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E7A6C
+MOD05_021E7A6C: ; 0x021E7A6C
+ push {r4, lr}
+ add r4, r1, #0
+ ldr r0, [r4, #0x40]
+ bl FUN_0201F744
+ ldr r0, [r4, #0x38]
+ ldr r1, [r4, #0x30]
+ bl MOD05_021E7804
+ ldr r0, [r4, #0x38]
+ ldr r1, [r4, #0x30]
+ bl MOD05_021E7968
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021E7A88
+MOD05_021E7A88: ; 0x021E7A88
+ push {r3, r4, lr}
+ sub sp, #0xc
+ add r4, r1, #0
+ ldr r1, [r4, #0x10]
+ cmp r1, #1
+ beq _021E7ABA
+ add r1, sp, #0
+ bl FUN_0206477C
+ ldr r1, [sp]
+ ldr r0, [r4, #0x18]
+ add r0, r1, r0
+ str r0, [sp]
+ ldr r1, [sp, #4]
+ ldr r0, [r4, #0x1c]
+ add r0, r1, r0
+ str r0, [sp, #4]
+ ldr r1, [sp, #8]
+ ldr r0, [r4, #0x20]
+ add r0, r1, r0
+ str r0, [sp, #8]
+ ldr r0, [r4, #0x40]
+ add r1, sp, #0
+ bl FUN_0201F7C8
+_021E7ABA:
+ add sp, #0xc
+ pop {r3, r4, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E7AC0
+MOD05_021E7AC0: ; 0x021E7AC0
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x24
+ add r5, r0, #0
+ add r6, r1, #0
+ add r7, r2, #0
+ bl MOD05_021E4C24
+ add r4, r0, #0
+ mov r1, #0x16
+ str r6, [sp, #0x14]
+ str r4, [sp, #0x18]
+ bl MOD05_021E4C08
+ str r0, [sp, #0x1c]
+ add r0, r5, #0
+ add r1, sp, #8
+ str r5, [sp, #0x20]
+ bl FUN_02058B5C
+ add r0, r5, #0
+ bl FUN_02058744
+ add r1, r0, #1
+ add r0, sp, #0x14
+ str r0, [sp]
+ str r1, [sp, #4]
+ ldr r1, _021E7B04 ; =UNK05_021F7840
+ add r0, r4, #0
+ add r2, sp, #8
+ add r3, r7, #0
+ bl MOD05_021E4DC4
+ add sp, #0x24
+ pop {r4, r5, r6, r7, pc}
+ .balign 4, 0
+_021E7B04: .word UNK05_021F7840
+
+ thumb_func_start MOD05_021E7B08
+MOD05_021E7B08: ; 0x021E7B08
+ push {r4, r5, lr}
+ sub sp, #0xc
+ add r4, r1, #0
+ add r5, r0, #0
+ bl FUN_0206475C
+ add r2, r4, #0
+ add r3, r0, #0
+ add r2, #0x30
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ ldmia r3!, {r0, r1}
+ stmia r2!, {r0, r1}
+ ldr r0, [r4, #0x3c]
+ bl FUN_02058448
+ str r0, [r4, #8]
+ ldr r0, [r4, #0x3c]
+ bl FUN_02058450
+ str r0, [r4, #0xc]
+ mov r0, #6
+ lsl r0, r0, #0xc
+ str r0, [r4, #0x28]
+ ldr r0, [r4, #0x38]
+ ldr r1, [r4, #0x30]
+ bl MOD05_021E7954
+ add r0, r5, #0
+ add r1, sp, #0
+ bl FUN_0206477C
+ ldr r0, [r4, #0x34]
+ ldr r1, [r4, #0x30]
+ add r2, sp, #0
+ bl MOD05_021E797C
+ str r0, [r4, #0x40]
+ ldr r0, [r4, #0x38]
+ ldr r1, [r4, #0x30]
+ bl MOD05_021E77F0
+ add r0, r5, #0
+ bl FUN_02064754
+ cmp r0, #1
+ bne _021E7B6C
+ ldr r0, _021E7B74 ; =0x000005DD
+ bl FUN_020054C8
+_021E7B6C:
+ mov r0, #1
+ add sp, #0xc
+ pop {r4, r5, pc}
+ nop
+_021E7B74: .word 0x000005DD
+
+ thumb_func_start MOD05_021E7B78
+MOD05_021E7B78: ; 0x021E7B78
+ push {r3, r4, r5, r6, lr}
+ sub sp, #0xc
+ add r4, r1, #0
+ ldr r6, [r4, #0x3c]
+ ldr r1, [r4, #8]
+ add r5, r0, #0
+ ldr r2, [r4, #0xc]
+ add r0, r6, #0
+ bl FUN_020582A8
+ cmp r0, #0
+ bne _021E7B94
+ bl ErrorHandling
+_021E7B94:
+ add r0, r6, #0
+ add r1, sp, #0
+ bl MOD05_021F1E64
+ mov r0, #2
+ ldr r1, [sp, #4]
+ lsl r0, r0, #0x10
+ add r1, r1, r0
+ str r1, [sp, #4]
+ ldr r2, [sp, #8]
+ lsr r1, r0, #5
+ add r1, r2, r1
+ str r1, [sp, #8]
+ ldr r1, [r4]
+ cmp r1, #0
+ beq _021E7BBC
+ cmp r1, #1
+ beq _021E7BDC
+ cmp r1, #2
+ b _021E7BF4
+_021E7BBC:
+ ldr r2, [r4, #0x1c]
+ ldr r1, [r4, #0x28]
+ add r1, r2, r1
+ str r1, [r4, #0x1c]
+ beq _021E7BD0
+ ldr r1, [r4, #0x28]
+ lsr r0, r0, #4
+ sub r0, r1, r0
+ str r0, [r4, #0x28]
+ b _021E7BF4
+_021E7BD0:
+ mov r0, #0
+ str r0, [r4, #0x28]
+ ldr r0, [r4]
+ add r0, r0, #1
+ str r0, [r4]
+ b _021E7BF4
+_021E7BDC:
+ ldr r0, [r4, #4]
+ add r0, r0, #1
+ str r0, [r4, #4]
+ cmp r0, #0x1e
+ blt _021E7BF4
+ ldr r0, [r4]
+ add r0, r0, #1
+ str r0, [r4]
+ mov r0, #0
+ str r0, [r4, #4]
+ mov r0, #1
+ str r0, [r4, #0x14]
+_021E7BF4:
+ add r0, r5, #0
+ add r1, sp, #0
+ bl FUN_0206476C
+ add sp, #0xc
+ pop {r3, r4, r5, r6, pc}
+
+ .section .rodata
+
+ .global UNK05_021F7824
+UNK05_021F7824: ; 0x021F7824
+ .word 0x00000001, 0x0000000C, 0x00000044, MOD05_021E79A8
+ .word MOD05_021E7A6C, MOD05_021E7A08, MOD05_021E7A88
+
+ .global UNK05_021F7840
+UNK05_021F7840: ; 0x021F7840
+ .word 0x00000044, MOD05_021E7B08, MOD05_021E7A6C, MOD05_021E7B78
+ .word MOD05_021E7A88
+
+ .global UNK05_021F7854
+UNK05_021F7854: ; 0x021F7854
+ .word 0x00000000, 0x00000001, 0x00000000, 0x00000000
+ .word 0x00000000, 0x00000002
diff --git a/arm9/modules/05/asm/mod05_021E7C00.s b/arm9/modules/05/asm/mod05_021E7C00.s
new file mode 100644
index 00000000..2e968e4f
--- /dev/null
+++ b/arm9/modules/05/asm/mod05_021E7C00.s
@@ -0,0 +1,708 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+ .section .text
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E7C00
+MOD05_021E7C00: ; 0x021E7C00
+ push {r4, lr}
+ mov r1, #0x46
+ lsl r1, r1, #6
+ bl AllocFromHeap
+ add r4, r0, #0
+ bl MOD05_021E7C1C
+ add r0, r4, #0
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021E7C14
+MOD05_021E7C14: ; 0x021E7C14
+ ldr r3, _021E7C18 ; =FreeToHeap
+ bx r3
+ .balign 4, 0
+_021E7C18: .word FreeToHeap
+
+ thumb_func_start MOD05_021E7C1C
+MOD05_021E7C1C: ; 0x021E7C1C
+ push {r3, r4, r5, r6, r7}
+ sub sp, #0xc
+ mov r4, #0
+ mov ip, r0
+ add r7, sp, #0
+ add r3, r4, #0
+_021E7C28:
+ str r3, [r7]
+ str r3, [r7, #4]
+ mov r0, #0x8c
+ add r1, r4, #0
+ mul r1, r0
+ mov r0, ip
+ add r2, r0, r1
+ add r5, r2, #0
+ str r3, [r7, #8]
+ mov r0, ip
+ str r3, [r0, r1]
+ str r3, [r2, #4]
+ str r3, [r2, #8]
+ str r3, [r2, #0xc]
+ add r6, r7, #0
+ ldmia r6!, {r0, r1}
+ add r5, #0x68
+ stmia r5!, {r0, r1}
+ ldr r0, [r6]
+ add r6, r7, #0
+ str r0, [r5]
+ add r5, r2, #0
+ ldmia r6!, {r0, r1}
+ add r5, #0x74
+ stmia r5!, {r0, r1}
+ ldr r0, [r6]
+ add r6, r7, #0
+ str r0, [r5]
+ add r5, r2, #0
+ ldmia r6!, {r0, r1}
+ add r5, #0x80
+ stmia r5!, {r0, r1}
+ ldr r0, [r6]
+ str r0, [r5]
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ str r3, [r2, #0x64]
+ cmp r4, #0x20
+ blo _021E7C28
+ add sp, #0xc
+ pop {r3, r4, r5, r6, r7}
+ bx lr
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E7C80
+MOD05_021E7C80: ; 0x021E7C80
+ push {r3, r4, r5, r6, lr}
+ sub sp, #0xc
+ add r5, r0, #0
+ add r4, r1, #0
+ cmp r5, #0x20
+ blt _021E7C90
+ bl ErrorHandling
+_021E7C90:
+ add r6, sp, #0
+ mov r3, #0
+ str r3, [r6]
+ str r3, [r6, #4]
+ mov r0, #0x8c
+ mul r0, r5
+ str r3, [r6, #8]
+ str r3, [r4, r0]
+ add r2, r4, r0
+ str r3, [r2, #4]
+ str r3, [r2, #8]
+ add r4, r2, #0
+ str r3, [r2, #0xc]
+ add r5, r6, #0
+ ldmia r5!, {r0, r1}
+ add r4, #0x68
+ stmia r4!, {r0, r1}
+ ldr r0, [r5]
+ add r5, r6, #0
+ str r0, [r4]
+ add r4, r2, #0
+ ldmia r5!, {r0, r1}
+ add r4, #0x74
+ stmia r4!, {r0, r1}
+ ldr r0, [r5]
+ str r0, [r4]
+ add r4, r2, #0
+ ldmia r6!, {r0, r1}
+ add r4, #0x80
+ stmia r4!, {r0, r1}
+ ldr r0, [r6]
+ str r0, [r4]
+ str r3, [r2, #0x64]
+ add sp, #0xc
+ pop {r3, r4, r5, r6, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E7CD8
+MOD05_021E7CD8: ; 0x021E7CD8
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x14
+ add r6, r0, #0
+ ldr r0, [sp, #0x28]
+ add r4, r1, #0
+ str r0, [sp, #0x28]
+ mov r0, #0
+ add r7, r2, #0
+ add r5, r3, #0
+ str r0, [sp, #4]
+ cmp r4, #0
+ beq _021E7D0E
+ mov r0, #4
+ bl AllocFromHeapAtEnd
+ str r0, [sp, #4]
+ ldr r2, [sp, #4]
+ add r0, r6, #0
+ add r1, r4, #0
+ bl NARC_ReadFile
+ add r0, r4, #0
+ mov r1, #0x30
+ bl _u32_div_f
+ str r0, [sp]
+ b _021E7D10
+_021E7D0E:
+ str r0, [sp]
+_021E7D10:
+ ldr r4, [sp, #4]
+ mov r6, #0
+_021E7D14:
+ ldr r0, [sp]
+ cmp r6, r0
+ bhs _021E7D82
+ ldr r0, [r4]
+ add r2, r5, #0
+ str r0, [r5]
+ mov r0, #1
+ str r0, [r5, #4]
+ mov r0, #0
+ add r3, r4, #4
+ str r0, [r5, #0xc]
+ ldmia r3!, {r0, r1}
+ add r2, #0x68
+ stmia r2!, {r0, r1}
+ ldr r0, [r3]
+ add r3, r4, #0
+ str r0, [r2]
+ add r3, #0x10
+ add r2, r5, #0
+ ldmia r3!, {r0, r1}
+ add r2, #0x74
+ stmia r2!, {r0, r1}
+ ldr r0, [r3]
+ add r3, r4, #0
+ str r0, [r2]
+ add r3, #0x1c
+ add r2, r5, #0
+ ldmia r3!, {r0, r1}
+ add r2, #0x80
+ stmia r2!, {r0, r1}
+ ldr r0, [r3]
+ add r3, r5, #0
+ str r0, [r2]
+ add r2, r5, #0
+ ldr r0, [r5]
+ add r1, r7, #0
+ add r2, #0x10
+ add r3, #0x64
+ bl MOD05_021E7F10
+ ldr r1, [r5]
+ add r0, r7, #0
+ bl MOD05_021F4CE4
+ cmp r0, #0
+ bne _021E7D74
+ mov r0, #0
+ str r0, [r5]
+_021E7D74:
+ add r1, r5, #0
+ ldr r0, [r5]
+ ldr r2, [sp, #0x28]
+ add r1, #0x10
+ bl MOD05_021D9E80
+ b _021E7DBE
+_021E7D82:
+ mov r1, #0
+ add r0, sp, #8
+ str r1, [r0]
+ str r1, [r0, #4]
+ str r1, [r0, #8]
+ add r0, r1, #0
+ str r0, [r5]
+ str r0, [r5, #4]
+ add r2, r5, #0
+ add r3, sp, #8
+ str r0, [r5, #0xc]
+ ldmia r3!, {r0, r1}
+ add r2, #0x68
+ stmia r2!, {r0, r1}
+ ldr r0, [r3]
+ add r3, sp, #8
+ str r0, [r2]
+ add r2, r5, #0
+ ldmia r3!, {r0, r1}
+ add r2, #0x74
+ stmia r2!, {r0, r1}
+ ldr r0, [r3]
+ add r3, sp, #8
+ str r0, [r2]
+ add r2, r5, #0
+ ldmia r3!, {r0, r1}
+ add r2, #0x80
+ stmia r2!, {r0, r1}
+ ldr r0, [r3]
+ str r0, [r2]
+_021E7DBE:
+ add r6, r6, #1
+ add r5, #0x8c
+ add r4, #0x30
+ cmp r6, #0x20
+ blt _021E7D14
+ ldr r0, [sp, #4]
+ cmp r0, #0
+ beq _021E7DD2
+ bl FreeToHeap
+_021E7DD2:
+ add sp, #0x14
+ pop {r4, r5, r6, r7, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E7DD8
+MOD05_021E7DD8: ; 0x021E7DD8
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x48
+ ldr r4, _021E7E94 ; =UNK05_021F7878
+ str r2, [sp, #0xc]
+ str r3, [sp, #0x10]
+ add r6, r0, #0
+ str r1, [sp, #8]
+ add r3, sp, #0x18
+ mov r2, #4
+_021E7DEA:
+ ldmia r4!, {r0, r1}
+ stmia r3!, {r0, r1}
+ sub r2, r2, #1
+ bne _021E7DEA
+ ldr r0, [r4]
+ ldr r5, [sp, #0x60]
+ str r0, [r3]
+ mov r7, #0
+_021E7DFA:
+ ldr r0, [r5, #4]
+ cmp r0, #0
+ beq _021E7E86
+ ldr r0, [r5, #8]
+ cmp r0, #0
+ bne _021E7E86
+ add r4, r5, #0
+ add r4, #0x68
+ ldmia r4!, {r0, r1}
+ add r3, sp, #0x3c
+ add r2, r3, #0
+ stmia r3!, {r0, r1}
+ ldr r0, [r4]
+ str r0, [r3]
+ ldr r1, [sp, #0x3c]
+ ldr r0, [r6]
+ add r3, r5, #0
+ add r0, r1, r0
+ str r0, [sp, #0x3c]
+ ldr r1, [sp, #0x44]
+ ldr r0, [r6, #8]
+ add r3, #0x80
+ add r0, r1, r0
+ str r0, [sp, #0x44]
+ add r1, r2, #0
+ ldr r0, [r5, #0x64]
+ add r2, sp, #0x18
+ bl FUN_0201B6D0
+ cmp r0, #0
+ beq _021E7E86
+ ldr r0, [sp, #8]
+ bl MOD05_021F4C9C
+ add r4, r0, #0
+ ldr r0, [sp, #0xc]
+ cmp r0, #1
+ bne _021E7E50
+ ldr r0, [sp, #0x10]
+ ldr r1, [r5, #0x64]
+ ldr r2, _021E7E98 ; =0x00000F33
+ bl MOD05_021DBB8C
+_021E7E50:
+ ldr r0, [r5]
+ add r1, r4, #0
+ add r2, sp, #0x14
+ bl MOD05_021DB9D4
+ add r0, sp, #0x14
+ ldrh r0, [r0]
+ add r1, sp, #0x3c
+ cmp r0, #0
+ bne _021E7E74
+ add r0, r5, #0
+ add r3, r5, #0
+ add r0, #0x10
+ add r2, sp, #0x18
+ add r3, #0x80
+ bl FUN_0201B26C
+ b _021E7E86
+_021E7E74:
+ str r4, [sp]
+ ldr r0, [r5]
+ add r3, r5, #0
+ str r0, [sp, #4]
+ ldr r0, [r5, #0x64]
+ add r2, sp, #0x18
+ add r3, #0x80
+ bl MOD05_021E7F34
+_021E7E86:
+ add r7, r7, #1
+ add r5, #0x8c
+ cmp r7, #0x20
+ blt _021E7DFA
+ add sp, #0x48
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_021E7E94: .word UNK05_021F7878
+_021E7E98: .word 0x00000F33
+
+ thumb_func_start MOD05_021E7E9C
+MOD05_021E7E9C: ; 0x021E7E9C
+ add r0, #0x74
+ bx lr
+
+ thumb_func_start MOD05_021E7EA0
+MOD05_021E7EA0: ; 0x021E7EA0
+ add r2, r1, #0
+ add r2, #0x68
+ add r3, r0, #0
+ ldmia r2!, {r0, r1}
+ stmia r3!, {r0, r1}
+ ldr r0, [r2]
+ str r0, [r3]
+ bx lr
+
+ thumb_func_start MOD05_021E7EB0
+MOD05_021E7EB0: ; 0x021E7EB0
+ add r3, r1, #0
+ add r2, r0, #0
+ ldmia r3!, {r0, r1}
+ add r2, #0x68
+ stmia r2!, {r0, r1}
+ ldr r0, [r3]
+ str r0, [r2]
+ bx lr
+
+ thumb_func_start MOD05_021E7EC0
+MOD05_021E7EC0: ; 0x021E7EC0
+ str r1, [r0, #8]
+ bx lr
+
+ thumb_func_start MOD05_021E7EC4
+MOD05_021E7EC4: ; 0x021E7EC4
+ ldr r0, [r0]
+ bx lr
+
+ thumb_func_start MOD05_021E7EC8
+MOD05_021E7EC8: ; 0x021E7EC8
+ add r0, #0x10
+ bx lr
+
+ thumb_func_start MOD05_021E7ECC
+MOD05_021E7ECC: ; 0x021E7ECC
+ ldr r0, [r0, #0x64]
+ bx lr
+
+ thumb_func_start MOD05_021E7ED0
+MOD05_021E7ED0: ; 0x021E7ED0
+ mov r2, #0x8c
+ mul r2, r1
+ add r0, r0, r2
+ bx lr
+
+ thumb_func_start MOD05_021E7ED8
+MOD05_021E7ED8: ; 0x021E7ED8
+ mov r3, #0
+_021E7EDA:
+ ldr r2, [r0]
+ cmp r2, r1
+ beq _021E7EEA
+ add r3, r3, #1
+ add r0, #0x8c
+ cmp r3, #0x20
+ blt _021E7EDA
+ mov r0, #0
+_021E7EEA:
+ bx lr
+
+ thumb_func_start MOD05_021E7EEC
+MOD05_021E7EEC: ; 0x021E7EEC
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r5, r0, #0
+ cmp r4, #0x20
+ blt _021E7EFA
+ bl ErrorHandling
+_021E7EFA:
+ mov r0, #0x8c
+ mul r0, r4
+ add r4, r5, r0
+ ldr r0, [r4, #4]
+ cmp r0, #0
+ bne _021E7F0A
+ bl ErrorHandling
+_021E7F0A:
+ add r0, r4, #0
+ pop {r3, r4, r5, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E7F10
+MOD05_021E7F10: ; 0x021E7F10
+ push {r3, r4, r5, lr}
+ add r5, r2, #0
+ add r4, r3, #0
+ bl MOD05_021F4BD0
+ ldr r0, [r0]
+ bl FUN_020BC13C
+ ldrh r1, [r0, #0xe]
+ add r1, r0, r1
+ ldr r1, [r1, #0xc]
+ add r1, r0, r1
+ add r0, r5, #0
+ str r1, [r4]
+ bl FUN_020B80B4
+ pop {r3, r4, r5, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E7F34
+MOD05_021E7F34: ; 0x021E7F34
+ push {r3, r4, r5, r6, r7, lr}
+ add r7, r0, #0
+ add r0, r1, #0
+ add r4, r2, #0
+ add r5, r3, #0
+ bl FUN_020B8474
+ ldr r1, _021E7FB4 ; =UNK_021CEDD4
+ add r0, r4, #0
+ bl MI_Copy36B
+ ldr r1, _021E7FB8 ; =UNK_021CED98
+ mov r0, #0xa4
+ ldr r2, [r1, #0x7c]
+ bic r2, r0
+ add r0, r5, #0
+ str r2, [r1, #0x7c]
+ bl FUN_020B844C
+ bl FUN_020B849C
+ add r2, sp, #0
+ ldr r0, [sp, #0x1c]
+ ldr r1, [sp, #0x18]
+ add r2, #2
+ add r3, sp, #0
+ bl MOD05_021DB9E0
+ add r0, sp, #0
+ ldrh r0, [r0]
+ ldr r1, [sp, #0x18]
+ bl MOD05_021DB9F8
+ add r6, r0, #0
+ add r0, sp, #0
+ ldrh r0, [r0, #2]
+ mov r5, #0xff
+ mov r4, #0
+ cmp r0, #0
+ ble _021E7FB0
+_021E7F84:
+ lsl r0, r4, #2
+ add r2, r6, r0
+ ldrh r0, [r6, r0]
+ cmp r5, r0
+ beq _021E7F96
+ lsl r0, r0, #0x18
+ lsr r5, r0, #0x18
+ mov r3, #1
+ b _021E7F98
+_021E7F96:
+ mov r3, #0
+_021E7F98:
+ ldrh r2, [r2, #2]
+ add r0, r7, #0
+ add r1, r5, #0
+ bl FUN_020BAFB8
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ add r0, sp, #0
+ ldrh r0, [r0, #2]
+ cmp r4, r0
+ blt _021E7F84
+_021E7FB0:
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_021E7FB4: .word UNK_021CEDD4
+_021E7FB8: .word UNK_021CED98
+
+ thumb_func_start MOD05_021E7FBC
+MOD05_021E7FBC: ; 0x021E7FBC
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x10
+ ldr r5, _021E8058 ; =UNK05_021F786C
+ add r6, r0, #0
+ add r7, r1, #0
+ ldmia r5!, {r0, r1}
+ add r4, sp, #4
+ stmia r4!, {r0, r1}
+ ldr r0, [r5]
+ str r0, [r4]
+ mov r4, #0
+ mov r0, #0x8c
+_021E7FD4:
+ add r1, r4, #0
+ mul r1, r0
+ add r5, r6, r1
+ ldr r1, [r5, #4]
+ cmp r1, #0
+ bne _021E8044
+ mov r0, #1
+ str r0, [r5, #4]
+ add r6, r5, #0
+ ldmia r3!, {r0, r1}
+ add r6, #0x68
+ stmia r6!, {r0, r1}
+ ldr r0, [r3]
+ str r0, [r6]
+ ldr r6, [sp, #0x28]
+ cmp r6, #0
+ beq _021E8008
+ mov r0, #1
+ str r0, [r5, #0xc]
+ add r3, r5, #0
+ ldmia r6!, {r0, r1}
+ add r3, #0x74
+ stmia r3!, {r0, r1}
+ ldr r0, [r6]
+ str r0, [r3]
+ b _021E800C
+_021E8008:
+ mov r0, #0
+ str r0, [r5, #0xc]
+_021E800C:
+ add r6, sp, #4
+ add r3, r5, #0
+ ldmia r6!, {r0, r1}
+ add r3, #0x80
+ stmia r3!, {r0, r1}
+ ldr r0, [r6]
+ add r1, r7, #0
+ str r0, [r3]
+ add r3, r5, #0
+ str r2, [r5]
+ add r0, r2, #0
+ add r2, r5, #0
+ add r2, #0x10
+ add r3, #0x64
+ bl MOD05_021E7F10
+ ldr r0, [sp, #0x2c]
+ mov r1, #0
+ str r0, [sp]
+ ldr r0, [r5]
+ add r5, #0x10
+ add r2, r1, #0
+ add r3, r5, #0
+ bl MOD05_021D9DC0
+ add sp, #0x10
+ add r0, r4, #0
+ pop {r3, r4, r5, r6, r7, pc}
+_021E8044:
+ add r1, r4, #1
+ lsl r1, r1, #0x18
+ lsr r4, r1, #0x18
+ cmp r4, #0x20
+ blo _021E7FD4
+ bl ErrorHandling
+ mov r0, #0x20
+ add sp, #0x10
+ pop {r3, r4, r5, r6, r7, pc}
+ .balign 4, 0
+_021E8058: .word UNK05_021F786C
+
+ thumb_func_start MOD05_021E805C
+MOD05_021E805C: ; 0x021E805C
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x38
+ ldr r4, _021E80F4 ; =UNK05_021F789C
+ str r0, [sp, #8]
+ str r1, [sp, #0xc]
+ add r3, sp, #0x14
+ mov r2, #4
+_021E806A:
+ ldmia r4!, {r0, r1}
+ stmia r3!, {r0, r1}
+ sub r2, r2, #1
+ bne _021E806A
+ ldr r0, [r4]
+ mov r4, #0
+ str r0, [r3]
+ add r7, sp, #0x14
+_021E807A:
+ mov r0, #0x8c
+ add r1, r4, #0
+ mul r1, r0
+ ldr r0, [sp, #8]
+ add r5, r0, r1
+ ldr r0, [r5, #4]
+ cmp r0, #0
+ beq _021E80E4
+ ldr r0, [r5, #8]
+ cmp r0, #0
+ bne _021E80E4
+ ldr r0, [sp, #0xc]
+ bl MOD05_021F4C9C
+ add r6, r0, #0
+ ldr r0, [r5]
+ add r1, r6, #0
+ add r2, sp, #0x10
+ bl MOD05_021DB9D4
+ ldr r0, [r5, #0xc]
+ cmp r0, #0
+ beq _021E80B2
+ add r1, r5, #0
+ add r0, r7, #0
+ add r1, #0x74
+ bl FUN_0201CAA8
+_021E80B2:
+ add r0, sp, #0x10
+ ldrh r0, [r0]
+ cmp r0, #0
+ bne _021E80CE
+ add r0, r5, #0
+ add r1, r5, #0
+ add r5, #0x80
+ add r0, #0x10
+ add r1, #0x68
+ add r2, r7, #0
+ add r3, r5, #0
+ bl FUN_0201B26C
+ b _021E80E4
+_021E80CE:
+ str r6, [sp]
+ ldr r0, [r5]
+ add r1, r5, #0
+ str r0, [sp, #4]
+ ldr r0, [r5, #0x64]
+ add r5, #0x80
+ add r1, #0x68
+ add r2, r7, #0
+ add r3, r5, #0
+ bl MOD05_021E7F34
+_021E80E4:
+ add r0, r4, #1
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ cmp r4, #0x20
+ blo _021E807A
+ add sp, #0x38
+ pop {r3, r4, r5, r6, r7, pc}
+ nop
+_021E80F4: .word UNK05_021F789C
+
+ .section .rodata
+
+ .global UNK05_021F786C
+UNK05_021F786C: ; 0x021F786C
+ .word 0x00001000, 0x00001000, 0x00001000
+
+ .global UNK05_021F7878
+UNK05_021F7878: ; 0x021F7878
+ .byte 0x00, 0x10, 0x00, 0x00 ;word
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00
+
+ .global UNK05_021F789C
+UNK05_021F789C: ; 0x021F789C
+ .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ;word
+ .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x10, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
diff --git a/arm9/modules/05/asm/mod05_021E80F8.s b/arm9/modules/05/asm/mod05_021E80F8.s
new file mode 100644
index 00000000..82fd7a02
--- /dev/null
+++ b/arm9/modules/05/asm/mod05_021E80F8.s
@@ -0,0 +1,303 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+ .section .text
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E80F8
+MOD05_021E80F8: ; 0x021E80F8
+ push {r3, lr}
+ mov r1, #0x14
+ bl AllocFromHeap
+ add r3, r0, #0
+ mov r2, #0x14
+ mov r1, #0
+_021E8106:
+ strb r1, [r3]
+ add r3, r3, #1
+ sub r2, r2, #1
+ bne _021E8106
+ pop {r3, pc}
+
+ thumb_func_start MOD05_021E8110
+MOD05_021E8110: ; 0x021E8110
+ push {r4, lr}
+ add r4, r0, #0
+ ldrb r1, [r4, #0x13]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x1f
+ beq _021E8120
+ bl FUN_02019178
+_021E8120:
+ add r0, r4, #0
+ bl FreeToHeap
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021E8128
+MOD05_021E8128: ; 0x021E8128
+ strb r1, [r0, #0x12]
+ strh r2, [r0, #0x10]
+ bx lr
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E8130
+MOD05_021E8130: ; 0x021E8130
+ ldrb r3, [r0, #0x13]
+ mov r2, #0x7f
+ bic r3, r2
+ mov r2, #0x7f
+ and r1, r2
+ orr r1, r3
+ strb r1, [r0, #0x13]
+ bx lr
+
+ thumb_func_start MOD05_021E8140
+MOD05_021E8140: ; 0x021E8140
+ bx lr
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E8144
+MOD05_021E8144: ; 0x021E8144
+ ldrb r0, [r0, #0x12]
+ bx lr
+
+ thumb_func_start MOD05_021E8148
+MOD05_021E8148: ; 0x021E8148
+ ldrb r0, [r0, #0x13]
+ lsl r0, r0, #0x19
+ lsr r0, r0, #0x19
+ bne _021E8154
+ mov r0, #1
+ bx lr
+_021E8154:
+ mov r0, #0
+ bx lr
+
+ thumb_func_start MOD05_021E8158
+MOD05_021E8158: ; 0x021E8158
+ push {r4, lr}
+ ldr r4, [r0, #0x60]
+ ldrb r1, [r4, #0x13]
+ lsl r1, r1, #0x19
+ lsr r1, r1, #0x19
+ cmp r1, #4
+ bhi _021E81BA
+ add r1, r1, r1
+ add r1, pc
+ ldrh r1, [r1, #6]
+ lsl r1, r1, #0x10
+ asr r1, r1, #0x10
+ add pc, r1
+_021E8172: ; jump table
+ .short _021E81BA - _021E8172 - 2 ; case 0
+ .short _021E817C - _021E8172 - 2 ; case 1
+ .short _021E818A - _021E8172 - 2 ; case 2
+ .short _021E819C - _021E8172 - 2 ; case 3
+ .short _021E81AE - _021E8172 - 2 ; case 4
+_021E817C:
+ bl MOD05_021E81D0
+ ldrb r1, [r4, #0x13]
+ mov r0, #0x7f
+ bic r1, r0
+ strb r1, [r4, #0x13]
+ pop {r4, pc}
+_021E818A:
+ bl MOD05_021E82A0
+ cmp r0, #1
+ bne _021E81BA
+ ldrb r1, [r4, #0x13]
+ mov r0, #0x7f
+ bic r1, r0
+ strb r1, [r4, #0x13]
+ pop {r4, pc}
+_021E819C:
+ bl MOD05_021E8260
+ cmp r0, #1
+ bne _021E81BA
+ ldrb r1, [r4, #0x13]
+ mov r0, #0x7f
+ bic r1, r0
+ strb r1, [r4, #0x13]
+ pop {r4, pc}
+_021E81AE:
+ bl MOD05_021E820C
+ ldrb r1, [r4, #0x13]
+ mov r0, #0x7f
+ bic r1, r0
+ strb r1, [r4, #0x13]
+_021E81BA:
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021E81BC
+MOD05_021E81BC: ; 0x021E81BC
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #0x60]
+ bl MOD05_021E8130
+ add r0, r4, #0
+ bl MOD05_021E8158
+ pop {r4, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E81D0
+MOD05_021E81D0: ; 0x021E81D0
+ push {r4, lr}
+ mov r1, #3
+ add r4, r0, #0
+ add r3, r1, #0
+ ldr r0, [r4, #8]
+ add r2, r1, #0
+ sub r3, #0x33
+ bl FUN_020179E0
+ ldr r1, [r4, #0x60]
+ ldrb r0, [r1, #0x13]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x1f
+ bne _021E8200
+ ldrb r2, [r1, #0x12]
+ ldr r0, [r4, #8]
+ mov r3, #3
+ bl FUN_020546E0
+ ldr r2, [r4, #0x60]
+ mov r0, #0x80
+ ldrb r1, [r2, #0x13]
+ orr r0, r1
+ strb r0, [r2, #0x13]
+_021E8200:
+ ldr r0, [r4, #0x60]
+ ldrb r1, [r0, #0x12]
+ ldrh r2, [r0, #0x10]
+ bl FUN_02054744
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021E820C
+MOD05_021E820C: ; 0x021E820C
+ push {r4, lr}
+ sub sp, #0x10
+ add r4, r0, #0
+ ldr r0, [r4, #0x60]
+ ldrb r1, [r0, #0x13]
+ lsl r1, r1, #0x18
+ lsr r1, r1, #0x1f
+ beq _021E825A
+ bl FUN_02019178
+ mov r0, #0x12
+ str r0, [sp]
+ mov r0, #0x20
+ str r0, [sp, #4]
+ mov r0, #6
+ str r0, [sp, #8]
+ mov r0, #0x10
+ str r0, [sp, #0xc]
+ mov r2, #0
+ ldr r0, [r4, #8]
+ mov r1, #3
+ add r3, r2, #0
+ bl FUN_02018540
+ ldr r0, [r4, #8]
+ mov r1, #3
+ bl FUN_02017CD0
+ mov r1, #3
+ ldr r0, [r4, #8]
+ add r2, r1, #0
+ mov r3, #0
+ bl FUN_020179E0
+ ldr r2, [r4, #0x60]
+ mov r0, #0x80
+ ldrb r1, [r2, #0x13]
+ bic r1, r0
+ strb r1, [r2, #0x13]
+_021E825A:
+ add sp, #0x10
+ pop {r4, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E8260
+MOD05_021E8260: ; 0x021E8260
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #8]
+ mov r1, #3
+ bl FUN_02017B54
+ cmp r0, #0
+ bne _021E8274
+ mov r0, #1
+ pop {r4, pc}
+_021E8274:
+ mov r1, #0x2f
+ mvn r1, r1
+ cmp r0, r1
+ ble _021E8280
+ cmp r0, #0
+ blt _021E828E
+_021E8280:
+ mov r1, #3
+ add r3, r1, #0
+ ldr r0, [r4, #8]
+ add r2, r1, #0
+ sub r3, #0x33
+ bl FUN_020179E0
+_021E828E:
+ ldr r0, [r4, #8]
+ mov r1, #3
+ mov r2, #4
+ mov r3, #0x10
+ bl FUN_020179E0
+ mov r0, #0
+ pop {r4, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E82A0
+MOD05_021E82A0: ; 0x021E82A0
+ push {r4, lr}
+ sub sp, #0x10
+ add r4, r0, #0
+ ldr r0, [r4, #8]
+ mov r1, #3
+ bl FUN_02017B54
+ mov r1, #0x2f
+ mvn r1, r1
+ cmp r0, r1
+ bne _021E82EC
+ mov r0, #0x12
+ str r0, [sp]
+ mov r0, #0x20
+ str r0, [sp, #4]
+ mov r0, #6
+ str r0, [sp, #8]
+ mov r0, #0x10
+ str r0, [sp, #0xc]
+ mov r2, #0
+ ldr r0, [r4, #8]
+ mov r1, #3
+ add r3, r2, #0
+ bl FUN_02018540
+ ldr r0, [r4, #8]
+ mov r1, #3
+ bl FUN_02017CD0
+ mov r1, #3
+ ldr r0, [r4, #8]
+ add r2, r1, #0
+ mov r3, #0
+ bl FUN_020179E0
+ add sp, #0x10
+ mov r0, #1
+ pop {r4, pc}
+_021E82EC:
+ ble _021E82F2
+ cmp r0, #0
+ blt _021E82FE
+_021E82F2:
+ mov r1, #3
+ ldr r0, [r4, #8]
+ add r2, r1, #0
+ mov r3, #0
+ bl FUN_020179E0
+_021E82FE:
+ ldr r0, [r4, #8]
+ mov r1, #3
+ mov r2, #5
+ mov r3, #0x10
+ bl FUN_020179E0
+ mov r0, #0
+ add sp, #0x10
+ pop {r4, pc}
diff --git a/arm9/modules/05/asm/mod05_021E8310.s b/arm9/modules/05/asm/mod05_021E8310.s
new file mode 100644
index 00000000..e3a28a97
--- /dev/null
+++ b/arm9/modules/05/asm/mod05_021E8310.s
@@ -0,0 +1,409 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+ .section .text
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E8310
+MOD05_021E8310: ; 0x021E8310
+ push {r3, r4, r5, r6, r7, lr}
+ ldr r4, [r1, #0xc]
+ add r5, r0, #0
+ add r0, r4, #0
+ bl FUN_02034E30
+ bl FUN_02034DC0
+ add r6, r0, #0
+ add r0, r4, #0
+ bl Sav2_Pokedex_get
+ add r7, r0, #0
+ ldr r0, [r6]
+ bl FUN_02034824
+ str r0, [r5, #4]
+ add r0, r7, #0
+ bl Pokedex_GetSinnohDexFlag
+ cmp r0, #0
+ beq _021E8344
+ add r0, r7, #0
+ bl Pokedex_CountSeenMons
+ b _021E8346
+_021E8344:
+ mov r0, #0
+_021E8346:
+ str r0, [r5]
+ add r0, r4, #0
+ bl Sav2_PlayerData_GetProfileAddr
+ str r0, [r5, #8]
+ add r0, r4, #0
+ bl Sav2_PlayerData_GetIGTAddr
+ str r0, [r5, #0xc]
+ pop {r3, r4, r5, r6, r7, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E835C
+MOD05_021E835C: ; 0x021E835C
+ push {r3, r4, r5, lr}
+ sub sp, #8
+ add r4, r1, #0
+ ldr r2, [r4, #4]
+ mov r1, #0
+ add r5, r0, #0
+ bl BufferLandmarkName
+ ldr r2, [r4, #8]
+ add r0, r5, #0
+ mov r1, #1
+ bl BufferPlayersName
+ ldr r0, [r4, #8]
+ bl PlayerProfile_CountBadges
+ add r2, r0, #0
+ mov r0, #0
+ str r0, [sp]
+ mov r3, #1
+ str r3, [sp, #4]
+ add r0, r5, #0
+ mov r1, #2
+ bl BufferIntegerAsString
+ ldr r2, [r4]
+ cmp r2, #0x64
+ blt _021E839A
+ mov r3, #3
+ mov r0, #0
+ b _021E83A8
+_021E839A:
+ cmp r2, #0xa
+ blt _021E83A4
+ mov r3, #3
+ mov r0, #1
+ b _021E83A8
+_021E83A4:
+ mov r3, #2
+ mov r0, #1
+_021E83A8:
+ str r0, [sp]
+ mov r0, #1
+ str r0, [sp, #4]
+ add r0, r5, #0
+ mov r1, #3
+ bl BufferIntegerAsString
+ ldr r0, [r4, #0xc]
+ bl GetIGTHours
+ add r2, r0, #0
+ cmp r2, #0x64
+ blt _021E83C8
+ mov r3, #3
+ mov r0, #0
+ b _021E83D6
+_021E83C8:
+ cmp r2, #0xa
+ blt _021E83D2
+ mov r3, #3
+ mov r0, #1
+ b _021E83D6
+_021E83D2:
+ mov r3, #2
+ mov r0, #1
+_021E83D6:
+ str r0, [sp]
+ mov r0, #1
+ str r0, [sp, #4]
+ add r0, r5, #0
+ mov r1, #4
+ bl BufferIntegerAsString
+ ldr r0, [r4, #0xc]
+ bl GetIGTMinutes
+ mov r3, #2
+ add r2, r0, #0
+ str r3, [sp]
+ mov r0, #1
+ str r0, [sp, #4]
+ add r0, r5, #0
+ mov r1, #5
+ bl BufferIntegerAsString
+ add sp, #8
+ pop {r3, r4, r5, pc}
+
+ thumb_func_start MOD05_021E8400
+MOD05_021E8400: ; 0x021E8400
+ ldr r0, [r0]
+ cmp r0, #0
+ beq _021E840A
+ mov r0, #0xa
+ bx lr
+_021E840A:
+ mov r0, #8
+ bx lr
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E8410
+MOD05_021E8410: ; 0x021E8410
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x18
+ add r5, r0, #0
+ mov r0, #0
+ mov r1, #1
+ bl FUN_02002E4C
+ add r4, r0, #0
+ mov r0, #0
+ mov r1, #3
+ bl FUN_02002E4C
+ add r0, r4, r0
+ str r0, [sp, #0x14]
+ mov r4, #0
+ ldr r0, [r5, #0x14]
+ ldr r1, [r5, #0x18]
+ ldr r3, [r5, #4]
+ add r2, r4, #0
+ bl ReadMsgData_ExpandPlaceholders
+ add r1, r4, #0
+ add r6, r0, #0
+ str r1, [sp]
+ mov r0, #0xff
+ str r0, [sp, #4]
+ str r1, [sp, #8]
+ ldr r0, [r5, #0x10]
+ add r2, r6, #0
+ add r3, r1, #0
+ bl AddTextPrinterParameterized
+ add r0, r6, #0
+ bl String_dtor
+ mov r0, #1
+ str r0, [sp, #0x10]
+ ldr r0, _021E84EC ; =UNK05_021F78D4
+ ldr r7, _021E84F0 ; =UNK05_021F78C4
+ str r0, [sp, #0xc]
+_021E8460:
+ ldr r0, [sp, #0xc]
+ ldr r1, [r0]
+ cmp r1, #3
+ bne _021E846E
+ ldr r0, [r5, #0x1c]
+ cmp r0, #0
+ beq _021E84D6
+_021E846E:
+ ldr r0, [sp, #0x14]
+ add r4, r4, r0
+ ldr r0, [r5, #0x18]
+ bl NewString_ReadMsgData
+ add r6, r0, #0
+ mov r1, #0
+ str r4, [sp]
+ mov r0, #0xff
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ ldr r0, [r5, #0x10]
+ add r2, r6, #0
+ add r3, r1, #0
+ bl AddTextPrinterParameterized
+ add r0, r6, #0
+ bl String_dtor
+ sub r2, r7, #4
+ ldr r0, [r5, #0x14]
+ ldr r1, [r5, #0x18]
+ ldr r2, [r2]
+ ldr r3, [r5, #4]
+ bl ReadMsgData_ExpandPlaceholders
+ add r6, r0, #0
+ mov r0, #0
+ mov r1, #2
+ bl FUN_02002E4C
+ add r2, r0, #0
+ mov r0, #0
+ add r1, r6, #0
+ bl FUN_02002E14
+ mov r1, #0x68
+ sub r3, r1, r0
+ str r4, [sp]
+ mov r0, #0xff
+ str r0, [sp, #4]
+ mov r0, #0
+ str r0, [sp, #8]
+ ldr r0, [r5, #0x10]
+ mov r1, #0
+ add r2, r6, #0
+ bl AddTextPrinterParameterized
+ add r0, r6, #0
+ bl String_dtor
+_021E84D6:
+ ldr r0, [sp, #0xc]
+ add r7, r7, #4
+ add r0, r0, #4
+ str r0, [sp, #0xc]
+ ldr r0, [sp, #0x10]
+ add r0, r0, #1
+ str r0, [sp, #0x10]
+ cmp r0, #5
+ blo _021E8460
+ add sp, #0x18
+ pop {r3, r4, r5, r6, r7, pc}
+ .balign 4, 0
+_021E84EC: .word UNK05_021F78D4
+_021E84F0: .word UNK05_021F78C4
+
+ thumb_func_start MOD05_021E84F4
+MOD05_021E84F4: ; 0x021E84F4
+ push {r3, r4, lr}
+ sub sp, #0x14
+ add r4, r0, #0
+ ldr r0, [r4, #4]
+ mov r1, #0x10
+ bl AllocFromHeap
+ str r0, [r4, #0x10]
+ mov r3, #1
+ str r3, [sp]
+ ldr r0, [r4, #0x2c]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #4]
+ ldr r0, [r4, #0x30]
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ str r0, [sp, #8]
+ mov r0, #0xd
+ str r0, [sp, #0xc]
+ ldr r0, _021E8564 ; =0x0000027F
+ str r0, [sp, #0x10]
+ ldrb r2, [r4, #8]
+ ldr r0, [r4, #0xc]
+ ldr r1, [r4, #0x10]
+ bl FUN_02019064
+ mov r0, #0
+ str r0, [sp]
+ ldr r0, [r4, #4]
+ ldr r2, _021E8568 ; =0x000003D9
+ str r0, [sp, #4]
+ ldrb r1, [r4, #8]
+ ldr r0, [r4, #0xc]
+ mov r3, #0xb
+ bl FUN_0200CB00
+ mov r0, #0
+ mov r1, #6
+ bl FUN_02002E4C
+ add r1, r0, #0
+ ldr r0, [r4, #0x10]
+ bl FUN_02019620
+ add r0, r4, #0
+ bl MOD05_021E8410
+ ldr r0, [r4, #0x10]
+ ldr r2, _021E8568 ; =0x000003D9
+ mov r1, #0
+ mov r3, #0xb
+ bl FUN_0200CCA4
+ add sp, #0x14
+ pop {r3, r4, pc}
+ .balign 4, 0
+_021E8564: .word 0x0000027F
+_021E8568: .word 0x000003D9
+
+ thumb_func_start MOD05_021E856C
+MOD05_021E856C: ; 0x021E856C
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #0x10]
+ mov r1, #0
+ bl FUN_0200CCF8
+ ldr r0, [r4, #0x10]
+ bl FUN_02019178
+ ldr r0, [r4, #0x10]
+ bl FreeToHeap
+ pop {r4, pc}
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E8588
+MOD05_021E8588: ; 0x021E8588
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ add r6, r0, #0
+ add r0, r5, #0
+ mov r1, #0x34
+ add r7, r2, #0
+ bl AllocFromHeap
+ add r4, r0, #0
+ str r6, [r4]
+ str r5, [r4, #4]
+ strb r7, [r4, #8]
+ ldr r0, [r6, #8]
+ str r0, [r4, #0xc]
+ add r0, r5, #0
+ bl ScrStrBufs_new
+ str r0, [r4, #0x14]
+ ldr r2, _021E85E0 ; =0x000001E3
+ mov r0, #1
+ mov r1, #0x1a
+ add r3, r5, #0
+ bl NewMsgDataFromNarc
+ str r0, [r4, #0x18]
+ add r0, r4, #0
+ ldr r1, [r4]
+ add r0, #0x1c
+ bl MOD05_021E8310
+ add r1, r4, #0
+ ldr r0, [r4, #0x14]
+ add r1, #0x1c
+ bl MOD05_021E835C
+ mov r0, #0xd
+ str r0, [r4, #0x2c]
+ add r0, r4, #0
+ add r0, #0x1c
+ bl MOD05_021E8400
+ str r0, [r4, #0x30]
+ add r0, r4, #0
+ pop {r3, r4, r5, r6, r7, pc}
+ .balign 4, 0
+_021E85E0: .word 0x000001E3
+
+ thumb_func_start MOD05_021E85E4
+MOD05_021E85E4: ; 0x021E85E4
+ push {r4, lr}
+ add r4, r0, #0
+ ldr r0, [r4, #0x18]
+ bl DestroyMsgData
+ ldr r0, [r4, #0x14]
+ bl ScrStrBufs_delete
+ add r0, r4, #0
+ bl FreeToHeap
+ pop {r4, pc}
+
+ thumb_func_start MOD05_021E85FC
+MOD05_021E85FC: ; 0x021E85FC
+ push {r4, lr}
+ add r4, r0, #0
+ bl FUN_02034E48
+ add r0, r4, #0
+ mov r1, #4
+ mov r2, #0
+ bl MOD05_021EFA9C
+ ldr r0, [r4, #0x38]
+ bl FUN_02055320
+ ldr r1, [r4, #0x1c]
+ str r0, [r1, #8]
+ ldr r0, [r4, #0x38]
+ bl FUN_0205532C
+ ldr r1, [r4, #0x1c]
+ str r0, [r1, #0xc]
+ mov r1, #0
+ ldr r0, [r4, #0x1c]
+ mvn r1, r1
+ str r1, [r0, #4]
+ ldr r0, [r4, #0x38]
+ bl FUN_020552F8
+ ldr r1, [r4, #0x1c]
+ str r0, [r1, #0x10]
+ ldr r0, [r4, #0xc]
+ bl FUN_02022720
+ cmp r0, #2
+ bne _021E8642
+ mov r0, #1
+ pop {r4, pc}
+_021E8642:
+ mov r0, #0
+ pop {r4, pc}
+ .balign 4, 0
+
+ .section .rodata
+
+ .global UNK05_021F78C4
+UNK05_021F78C4: ; 0x021F78C4
+ .word 0x00000006, 0x00000007, 0x00000008, 0x00000000
+
+ .global UNK05_021F78D4
+UNK05_021F78D4: ; 0x021F78D4
+ .word 0x00000001, 0x00000002, 0x00000003, 0x00000004
diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s
index 38ca97a9..597bd083 100644
--- a/arm9/modules/05/asm/module_05.s
+++ b/arm9/modules/05/asm/module_05.s
@@ -3,1986 +3,6 @@
.section .text
.balign 4, 0
- thumb_func_start MOD05_021E779C
-MOD05_021E779C: ; 0x021E779C
- push {r4, lr}
- mov r2, #0
- mov r1, #0x14
- add r3, r2, #0
- add r4, r0, #0
- bl MOD05_021E4BE8
- str r4, [r0, #0x10]
- pop {r4, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E77B0
-MOD05_021E77B0: ; 0x021E77B0
- push {r4, lr}
- add r4, r0, #0
- bl MOD05_021E78B4
- add r0, r4, #0
- bl MOD05_021E4C00
- pop {r4, pc}
-
- thumb_func_start MOD05_021E77C0
-MOD05_021E77C0: ; 0x021E77C0
- ldr r1, [r0]
- add r1, r1, #1
- str r1, [r0]
- bx lr
-
- thumb_func_start MOD05_021E77C8
-MOD05_021E77C8: ; 0x021E77C8
- push {r3, lr}
- ldr r1, [r0]
- sub r1, r1, #1
- str r1, [r0]
- bpl _021E77D6
- bl ErrorHandling
-_021E77D6:
- pop {r3, pc}
-
- thumb_func_start MOD05_021E77D8
-MOD05_021E77D8: ; 0x021E77D8
- ldr r1, [r0, #4]
- add r1, r1, #1
- str r1, [r0, #4]
- bx lr
-
- thumb_func_start MOD05_021E77E0
-MOD05_021E77E0: ; 0x021E77E0
- push {r3, lr}
- ldr r1, [r0, #4]
- sub r1, r1, #1
- str r1, [r0, #4]
- bpl _021E77EE
- bl ErrorHandling
-_021E77EE:
- pop {r3, pc}
-
- thumb_func_start MOD05_021E77F0
-MOD05_021E77F0: ; 0x021E77F0
- push {r3, lr}
- cmp r1, #0
- bne _021E77FC
- bl MOD05_021E77C0
- pop {r3, pc}
-_021E77FC:
- bl MOD05_021E77D8
- pop {r3, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E7804
-MOD05_021E7804: ; 0x021E7804
- push {r3, lr}
- cmp r1, #0
- bne _021E7810
- bl MOD05_021E77C8
- pop {r3, pc}
-_021E7810:
- bl MOD05_021E77E0
- pop {r3, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E7818
-MOD05_021E7818: ; 0x021E7818
- push {r3, r4, lr}
- sub sp, #0xc
- add r4, r0, #0
- ldr r0, [r4, #8]
- cmp r0, #0
- bne _021E785C
- mov r1, #1
- str r1, [r4, #8]
- ldr r0, [r4, #0x10]
- mov r2, #0x55
- bl MOD05_021E5078
- ldr r0, [r4, #0x10]
- mov r1, #1
- mov r2, #0x75
- bl MOD05_021E50AC
- mov r1, #1
- ldr r0, [r4, #0x10]
- mov r2, #4
- add r3, r1, #0
- bl MOD05_021E50D4
- mov r1, #1
- str r1, [sp]
- mov r0, #0
- str r0, [sp, #4]
- ldr r0, _021E7860 ; =UNK05_021F7854
- add r2, r1, #0
- str r0, [sp, #8]
- ldr r0, [r4, #0x10]
- add r3, r1, #0
- bl MOD05_021E4EFC
-_021E785C:
- add sp, #0xc
- pop {r3, r4, pc}
- .balign 4, 0
-_021E7860: .word UNK05_021F7854
-
- thumb_func_start MOD05_021E7864
-MOD05_021E7864: ; 0x021E7864
- push {r3, r4, lr}
- sub sp, #0xc
- add r4, r0, #0
- ldr r0, [r4, #0xc]
- cmp r0, #0
- bne _021E78AC
- mov r0, #1
- str r0, [r4, #0xc]
- ldr r0, [r4, #0x10]
- mov r1, #0xa
- mov r2, #0x6c
- bl MOD05_021E5078
- ldr r0, [r4, #0x10]
- mov r1, #0xa
- mov r2, #0x75
- bl MOD05_021E50AC
- ldr r0, [r4, #0x10]
- mov r1, #0xb
- mov r2, #0xd
- mov r3, #1
- bl MOD05_021E50D4
- mov r0, #0xb
- str r0, [sp]
- mov r0, #0
- str r0, [sp, #4]
- ldr r0, _021E78B0 ; =UNK05_021F7854
- mov r2, #0xa
- str r0, [sp, #8]
- ldr r0, [r4, #0x10]
- mov r1, #0xc
- add r3, r2, #0
- bl MOD05_021E4EFC
-_021E78AC:
- add sp, #0xc
- pop {r3, r4, pc}
- .balign 4, 0
-_021E78B0: .word UNK05_021F7854
-
- thumb_func_start MOD05_021E78B4
-MOD05_021E78B4: ; 0x021E78B4
- push {r4, lr}
- add r4, r0, #0
- ldr r0, [r4, #8]
- cmp r0, #1
- bne _021E78E2
- mov r0, #0
- str r0, [r4, #8]
- ldr r0, [r4, #0x10]
- mov r1, #1
- bl MOD05_021E50A0
- ldr r0, [r4, #0x10]
- mov r1, #1
- bl MOD05_021E50C8
- ldr r0, [r4, #0x10]
- mov r1, #1
- bl MOD05_021E5114
- ldr r0, [r4, #0x10]
- mov r1, #1
- bl MOD05_021E506C
-_021E78E2:
- pop {r4, pc}
-
- thumb_func_start MOD05_021E78E4
-MOD05_021E78E4: ; 0x021E78E4
- push {r4, lr}
- add r4, r0, #0
- ldr r0, [r4, #0xc]
- cmp r0, #1
- bne _021E7912
- mov r0, #0
- str r0, [r4, #0xc]
- ldr r0, [r4, #0x10]
- mov r1, #0xa
- bl MOD05_021E50A0
- ldr r0, [r4, #0x10]
- mov r1, #0xa
- bl MOD05_021E50C8
- ldr r0, [r4, #0x10]
- mov r1, #0xb
- bl MOD05_021E5114
- ldr r0, [r4, #0x10]
- mov r1, #0xc
- bl MOD05_021E506C
-_021E7912:
- pop {r4, pc}
-
- thumb_func_start MOD05_021E7914
-MOD05_021E7914: ; 0x021E7914
- push {r3, lr}
- ldr r1, [r0]
- cmp r1, #0
- bne _021E7920
- bl MOD05_021E7818
-_021E7920:
- pop {r3, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E7924
-MOD05_021E7924: ; 0x021E7924
- push {r3, lr}
- ldr r1, [r0, #4]
- cmp r1, #0
- bne _021E7930
- bl MOD05_021E7864
-_021E7930:
- pop {r3, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E7934
-MOD05_021E7934: ; 0x021E7934
- push {r3, lr}
- ldr r1, [r0]
- cmp r1, #0
- bne _021E7940
- bl MOD05_021E78B4
-_021E7940:
- pop {r3, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E7944
-MOD05_021E7944: ; 0x021E7944
- push {r3, lr}
- ldr r1, [r0, #4]
- cmp r1, #0
- bne _021E7950
- bl MOD05_021E78E4
-_021E7950:
- pop {r3, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E7954
-MOD05_021E7954: ; 0x021E7954
- push {r3, lr}
- cmp r1, #0
- bne _021E7960
- bl MOD05_021E7914
- pop {r3, pc}
-_021E7960:
- bl MOD05_021E7924
- pop {r3, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E7968
-MOD05_021E7968: ; 0x021E7968
- push {r3, lr}
- cmp r1, #0
- bne _021E7974
- bl MOD05_021E7934
- pop {r3, pc}
-_021E7974:
- bl MOD05_021E7944
- pop {r3, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E797C
-MOD05_021E797C: ; 0x021E797C
- push {r3, r4, r5, lr}
- sub sp, #8
- ldr r3, _021E7998 ; =UNK05_021F7824
- add r4, sp, #0
- ldr r5, [r3]
- ldr r3, [r3, #4]
- str r5, [sp]
- str r3, [sp, #4]
- lsl r1, r1, #2
- ldr r1, [r4, r1]
- bl MOD05_021E4EE4
- add sp, #8
- pop {r3, r4, r5, pc}
- .balign 4, 0
-_021E7998: .word UNK05_021F7824
-
- thumb_func_start MOD05_021E799C
-MOD05_021E799C: ; 0x021E799C
- push {r3, lr}
- bl FUN_02064738
- ldr r0, [r0, #0x14]
- pop {r3, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E79A8
-MOD05_021E79A8: ; 0x021E79A8
- push {r4, r5, lr}
- sub sp, #0xc
- add r4, r1, #0
- add r5, r0, #0
- bl FUN_0206475C
- add r2, r4, #0
- add r3, r0, #0
- add r2, #0x30
- ldmia r3!, {r0, r1}
- stmia r2!, {r0, r1}
- ldmia r3!, {r0, r1}
- stmia r2!, {r0, r1}
- mov r0, #6
- lsl r0, r0, #0xc
- str r0, [r4, #0x28]
- ldr r0, [r4, #0x38]
- ldr r1, [r4, #0x30]
- bl MOD05_021E7954
- add r0, r5, #0
- add r1, sp, #0
- bl FUN_0206477C
- ldr r0, [r4, #0x34]
- ldr r1, [r4, #0x30]
- add r2, sp, #0
- bl MOD05_021E797C
- str r0, [r4, #0x40]
- ldr r0, [r4, #0x38]
- ldr r1, [r4, #0x30]
- bl MOD05_021E77F0
- add r0, r5, #0
- bl FUN_02064754
- cmp r0, #1
- bne _021E79FC
- ldr r0, _021E7A04 ; =0x000005DD
- bl FUN_020054C8
-_021E79FC:
- mov r0, #1
- add sp, #0xc
- pop {r4, r5, pc}
- nop
-_021E7A04: .word 0x000005DD
-
- thumb_func_start MOD05_021E7A08
-MOD05_021E7A08: ; 0x021E7A08
- push {r4, r5, lr}
- sub sp, #0xc
- add r4, r1, #0
- add r1, sp, #0
- add r5, r0, #0
- bl FUN_0206477C
- ldr r0, [r4]
- cmp r0, #0
- beq _021E7A24
- cmp r0, #1
- beq _021E7A46
- cmp r0, #2
- b _021E7A5E
-_021E7A24:
- ldr r1, [r4, #0x1c]
- ldr r0, [r4, #0x28]
- add r0, r1, r0
- str r0, [r4, #0x1c]
- beq _021E7A3A
- mov r0, #2
- ldr r1, [r4, #0x28]
- lsl r0, r0, #0xc
- sub r0, r1, r0
- str r0, [r4, #0x28]
- b _021E7A5E
-_021E7A3A:
- mov r0, #0
- str r0, [r4, #0x28]
- ldr r0, [r4]
- add r0, r0, #1
- str r0, [r4]
- b _021E7A5E
-_021E7A46:
- ldr r0, [r4, #4]
- add r0, r0, #1
- str r0, [r4, #4]
- cmp r0, #0x1e
- blt _021E7A5E
- ldr r0, [r4]
- add r0, r0, #1
- str r0, [r4]
- mov r0, #0
- str r0, [r4, #4]
- mov r0, #1
- str r0, [r4, #0x14]
-_021E7A5E:
- add r0, r5, #0
- add r1, sp, #0
- bl FUN_0206476C
- add sp, #0xc
- pop {r4, r5, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E7A6C
-MOD05_021E7A6C: ; 0x021E7A6C
- push {r4, lr}
- add r4, r1, #0
- ldr r0, [r4, #0x40]
- bl FUN_0201F744
- ldr r0, [r4, #0x38]
- ldr r1, [r4, #0x30]
- bl MOD05_021E7804
- ldr r0, [r4, #0x38]
- ldr r1, [r4, #0x30]
- bl MOD05_021E7968
- pop {r4, pc}
-
- thumb_func_start MOD05_021E7A88
-MOD05_021E7A88: ; 0x021E7A88
- push {r3, r4, lr}
- sub sp, #0xc
- add r4, r1, #0
- ldr r1, [r4, #0x10]
- cmp r1, #1
- beq _021E7ABA
- add r1, sp, #0
- bl FUN_0206477C
- ldr r1, [sp]
- ldr r0, [r4, #0x18]
- add r0, r1, r0
- str r0, [sp]
- ldr r1, [sp, #4]
- ldr r0, [r4, #0x1c]
- add r0, r1, r0
- str r0, [sp, #4]
- ldr r1, [sp, #8]
- ldr r0, [r4, #0x20]
- add r0, r1, r0
- str r0, [sp, #8]
- ldr r0, [r4, #0x40]
- add r1, sp, #0
- bl FUN_0201F7C8
-_021E7ABA:
- add sp, #0xc
- pop {r3, r4, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E7AC0
-MOD05_021E7AC0: ; 0x021E7AC0
- push {r4, r5, r6, r7, lr}
- sub sp, #0x24
- add r5, r0, #0
- add r6, r1, #0
- add r7, r2, #0
- bl MOD05_021E4C24
- add r4, r0, #0
- mov r1, #0x16
- str r6, [sp, #0x14]
- str r4, [sp, #0x18]
- bl MOD05_021E4C08
- str r0, [sp, #0x1c]
- add r0, r5, #0
- add r1, sp, #8
- str r5, [sp, #0x20]
- bl FUN_02058B5C
- add r0, r5, #0
- bl FUN_02058744
- add r1, r0, #1
- add r0, sp, #0x14
- str r0, [sp]
- str r1, [sp, #4]
- ldr r1, _021E7B04 ; =UNK05_021F7840
- add r0, r4, #0
- add r2, sp, #8
- add r3, r7, #0
- bl MOD05_021E4DC4
- add sp, #0x24
- pop {r4, r5, r6, r7, pc}
- .balign 4, 0
-_021E7B04: .word UNK05_021F7840
-
- thumb_func_start MOD05_021E7B08
-MOD05_021E7B08: ; 0x021E7B08
- push {r4, r5, lr}
- sub sp, #0xc
- add r4, r1, #0
- add r5, r0, #0
- bl FUN_0206475C
- add r2, r4, #0
- add r3, r0, #0
- add r2, #0x30
- ldmia r3!, {r0, r1}
- stmia r2!, {r0, r1}
- ldmia r3!, {r0, r1}
- stmia r2!, {r0, r1}
- ldr r0, [r4, #0x3c]
- bl FUN_02058448
- str r0, [r4, #8]
- ldr r0, [r4, #0x3c]
- bl FUN_02058450
- str r0, [r4, #0xc]
- mov r0, #6
- lsl r0, r0, #0xc
- str r0, [r4, #0x28]
- ldr r0, [r4, #0x38]
- ldr r1, [r4, #0x30]
- bl MOD05_021E7954
- add r0, r5, #0
- add r1, sp, #0
- bl FUN_0206477C
- ldr r0, [r4, #0x34]
- ldr r1, [r4, #0x30]
- add r2, sp, #0
- bl MOD05_021E797C
- str r0, [r4, #0x40]
- ldr r0, [r4, #0x38]
- ldr r1, [r4, #0x30]
- bl MOD05_021E77F0
- add r0, r5, #0
- bl FUN_02064754
- cmp r0, #1
- bne _021E7B6C
- ldr r0, _021E7B74 ; =0x000005DD
- bl FUN_020054C8
-_021E7B6C:
- mov r0, #1
- add sp, #0xc
- pop {r4, r5, pc}
- nop
-_021E7B74: .word 0x000005DD
-
- thumb_func_start MOD05_021E7B78
-MOD05_021E7B78: ; 0x021E7B78
- push {r3, r4, r5, r6, lr}
- sub sp, #0xc
- add r4, r1, #0
- ldr r6, [r4, #0x3c]
- ldr r1, [r4, #8]
- add r5, r0, #0
- ldr r2, [r4, #0xc]
- add r0, r6, #0
- bl FUN_020582A8
- cmp r0, #0
- bne _021E7B94
- bl ErrorHandling
-_021E7B94:
- add r0, r6, #0
- add r1, sp, #0
- bl MOD05_021F1E64
- mov r0, #2
- ldr r1, [sp, #4]
- lsl r0, r0, #0x10
- add r1, r1, r0
- str r1, [sp, #4]
- ldr r2, [sp, #8]
- lsr r1, r0, #5
- add r1, r2, r1
- str r1, [sp, #8]
- ldr r1, [r4]
- cmp r1, #0
- beq _021E7BBC
- cmp r1, #1
- beq _021E7BDC
- cmp r1, #2
- b _021E7BF4
-_021E7BBC:
- ldr r2, [r4, #0x1c]
- ldr r1, [r4, #0x28]
- add r1, r2, r1
- str r1, [r4, #0x1c]
- beq _021E7BD0
- ldr r1, [r4, #0x28]
- lsr r0, r0, #4
- sub r0, r1, r0
- str r0, [r4, #0x28]
- b _021E7BF4
-_021E7BD0:
- mov r0, #0
- str r0, [r4, #0x28]
- ldr r0, [r4]
- add r0, r0, #1
- str r0, [r4]
- b _021E7BF4
-_021E7BDC:
- ldr r0, [r4, #4]
- add r0, r0, #1
- str r0, [r4, #4]
- cmp r0, #0x1e
- blt _021E7BF4
- ldr r0, [r4]
- add r0, r0, #1
- str r0, [r4]
- mov r0, #0
- str r0, [r4, #4]
- mov r0, #1
- str r0, [r4, #0x14]
-_021E7BF4:
- add r0, r5, #0
- add r1, sp, #0
- bl FUN_0206476C
- add sp, #0xc
- pop {r3, r4, r5, r6, pc}
-
- thumb_func_start MOD05_021E7C00
-MOD05_021E7C00: ; 0x021E7C00
- push {r4, lr}
- mov r1, #0x46
- lsl r1, r1, #6
- bl AllocFromHeap
- add r4, r0, #0
- bl MOD05_021E7C1C
- add r0, r4, #0
- pop {r4, pc}
-
- thumb_func_start MOD05_021E7C14
-MOD05_021E7C14: ; 0x021E7C14
- ldr r3, _021E7C18 ; =FreeToHeap
- bx r3
- .balign 4, 0
-_021E7C18: .word FreeToHeap
-
- thumb_func_start MOD05_021E7C1C
-MOD05_021E7C1C: ; 0x021E7C1C
- push {r3, r4, r5, r6, r7}
- sub sp, #0xc
- mov r4, #0
- mov ip, r0
- add r7, sp, #0
- add r3, r4, #0
-_021E7C28:
- str r3, [r7]
- str r3, [r7, #4]
- mov r0, #0x8c
- add r1, r4, #0
- mul r1, r0
- mov r0, ip
- add r2, r0, r1
- add r5, r2, #0
- str r3, [r7, #8]
- mov r0, ip
- str r3, [r0, r1]
- str r3, [r2, #4]
- str r3, [r2, #8]
- str r3, [r2, #0xc]
- add r6, r7, #0
- ldmia r6!, {r0, r1}
- add r5, #0x68
- stmia r5!, {r0, r1}
- ldr r0, [r6]
- add r6, r7, #0
- str r0, [r5]
- add r5, r2, #0
- ldmia r6!, {r0, r1}
- add r5, #0x74
- stmia r5!, {r0, r1}
- ldr r0, [r6]
- add r6, r7, #0
- str r0, [r5]
- add r5, r2, #0
- ldmia r6!, {r0, r1}
- add r5, #0x80
- stmia r5!, {r0, r1}
- ldr r0, [r6]
- str r0, [r5]
- add r0, r4, #1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- str r3, [r2, #0x64]
- cmp r4, #0x20
- blo _021E7C28
- add sp, #0xc
- pop {r3, r4, r5, r6, r7}
- bx lr
- .balign 4, 0
-
- thumb_func_start MOD05_021E7C80
-MOD05_021E7C80: ; 0x021E7C80
- push {r3, r4, r5, r6, lr}
- sub sp, #0xc
- add r5, r0, #0
- add r4, r1, #0
- cmp r5, #0x20
- blt _021E7C90
- bl ErrorHandling
-_021E7C90:
- add r6, sp, #0
- mov r3, #0
- str r3, [r6]
- str r3, [r6, #4]
- mov r0, #0x8c
- mul r0, r5
- str r3, [r6, #8]
- str r3, [r4, r0]
- add r2, r4, r0
- str r3, [r2, #4]
- str r3, [r2, #8]
- add r4, r2, #0
- str r3, [r2, #0xc]
- add r5, r6, #0
- ldmia r5!, {r0, r1}
- add r4, #0x68
- stmia r4!, {r0, r1}
- ldr r0, [r5]
- add r5, r6, #0
- str r0, [r4]
- add r4, r2, #0
- ldmia r5!, {r0, r1}
- add r4, #0x74
- stmia r4!, {r0, r1}
- ldr r0, [r5]
- str r0, [r4]
- add r4, r2, #0
- ldmia r6!, {r0, r1}
- add r4, #0x80
- stmia r4!, {r0, r1}
- ldr r0, [r6]
- str r0, [r4]
- str r3, [r2, #0x64]
- add sp, #0xc
- pop {r3, r4, r5, r6, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E7CD8
-MOD05_021E7CD8: ; 0x021E7CD8
- push {r4, r5, r6, r7, lr}
- sub sp, #0x14
- add r6, r0, #0
- ldr r0, [sp, #0x28]
- add r4, r1, #0
- str r0, [sp, #0x28]
- mov r0, #0
- add r7, r2, #0
- add r5, r3, #0
- str r0, [sp, #4]
- cmp r4, #0
- beq _021E7D0E
- mov r0, #4
- bl AllocFromHeapAtEnd
- str r0, [sp, #4]
- ldr r2, [sp, #4]
- add r0, r6, #0
- add r1, r4, #0
- bl NARC_ReadFile
- add r0, r4, #0
- mov r1, #0x30
- bl _u32_div_f
- str r0, [sp]
- b _021E7D10
-_021E7D0E:
- str r0, [sp]
-_021E7D10:
- ldr r4, [sp, #4]
- mov r6, #0
-_021E7D14:
- ldr r0, [sp]
- cmp r6, r0
- bhs _021E7D82
- ldr r0, [r4]
- add r2, r5, #0
- str r0, [r5]
- mov r0, #1
- str r0, [r5, #4]
- mov r0, #0
- add r3, r4, #4
- str r0, [r5, #0xc]
- ldmia r3!, {r0, r1}
- add r2, #0x68
- stmia r2!, {r0, r1}
- ldr r0, [r3]
- add r3, r4, #0
- str r0, [r2]
- add r3, #0x10
- add r2, r5, #0
- ldmia r3!, {r0, r1}
- add r2, #0x74
- stmia r2!, {r0, r1}
- ldr r0, [r3]
- add r3, r4, #0
- str r0, [r2]
- add r3, #0x1c
- add r2, r5, #0
- ldmia r3!, {r0, r1}
- add r2, #0x80
- stmia r2!, {r0, r1}
- ldr r0, [r3]
- add r3, r5, #0
- str r0, [r2]
- add r2, r5, #0
- ldr r0, [r5]
- add r1, r7, #0
- add r2, #0x10
- add r3, #0x64
- bl MOD05_021E7F10
- ldr r1, [r5]
- add r0, r7, #0
- bl MOD05_021F4CE4
- cmp r0, #0
- bne _021E7D74
- mov r0, #0
- str r0, [r5]
-_021E7D74:
- add r1, r5, #0
- ldr r0, [r5]
- ldr r2, [sp, #0x28]
- add r1, #0x10
- bl MOD05_021D9E80
- b _021E7DBE
-_021E7D82:
- mov r1, #0
- add r0, sp, #8
- str r1, [r0]
- str r1, [r0, #4]
- str r1, [r0, #8]
- add r0, r1, #0
- str r0, [r5]
- str r0, [r5, #4]
- add r2, r5, #0
- add r3, sp, #8
- str r0, [r5, #0xc]
- ldmia r3!, {r0, r1}
- add r2, #0x68
- stmia r2!, {r0, r1}
- ldr r0, [r3]
- add r3, sp, #8
- str r0, [r2]
- add r2, r5, #0
- ldmia r3!, {r0, r1}
- add r2, #0x74
- stmia r2!, {r0, r1}
- ldr r0, [r3]
- add r3, sp, #8
- str r0, [r2]
- add r2, r5, #0
- ldmia r3!, {r0, r1}
- add r2, #0x80
- stmia r2!, {r0, r1}
- ldr r0, [r3]
- str r0, [r2]
-_021E7DBE:
- add r6, r6, #1
- add r5, #0x8c
- add r4, #0x30
- cmp r6, #0x20
- blt _021E7D14
- ldr r0, [sp, #4]
- cmp r0, #0
- beq _021E7DD2
- bl FreeToHeap
-_021E7DD2:
- add sp, #0x14
- pop {r4, r5, r6, r7, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E7DD8
-MOD05_021E7DD8: ; 0x021E7DD8
- push {r3, r4, r5, r6, r7, lr}
- sub sp, #0x48
- ldr r4, _021E7E94 ; =UNK05_021F7878
- str r2, [sp, #0xc]
- str r3, [sp, #0x10]
- add r6, r0, #0
- str r1, [sp, #8]
- add r3, sp, #0x18
- mov r2, #4
-_021E7DEA:
- ldmia r4!, {r0, r1}
- stmia r3!, {r0, r1}
- sub r2, r2, #1
- bne _021E7DEA
- ldr r0, [r4]
- ldr r5, [sp, #0x60]
- str r0, [r3]
- mov r7, #0
-_021E7DFA:
- ldr r0, [r5, #4]
- cmp r0, #0
- beq _021E7E86
- ldr r0, [r5, #8]
- cmp r0, #0
- bne _021E7E86
- add r4, r5, #0
- add r4, #0x68
- ldmia r4!, {r0, r1}
- add r3, sp, #0x3c
- add r2, r3, #0
- stmia r3!, {r0, r1}
- ldr r0, [r4]
- str r0, [r3]
- ldr r1, [sp, #0x3c]
- ldr r0, [r6]
- add r3, r5, #0
- add r0, r1, r0
- str r0, [sp, #0x3c]
- ldr r1, [sp, #0x44]
- ldr r0, [r6, #8]
- add r3, #0x80
- add r0, r1, r0
- str r0, [sp, #0x44]
- add r1, r2, #0
- ldr r0, [r5, #0x64]
- add r2, sp, #0x18
- bl FUN_0201B6D0
- cmp r0, #0
- beq _021E7E86
- ldr r0, [sp, #8]
- bl MOD05_021F4C9C
- add r4, r0, #0
- ldr r0, [sp, #0xc]
- cmp r0, #1
- bne _021E7E50
- ldr r0, [sp, #0x10]
- ldr r1, [r5, #0x64]
- ldr r2, _021E7E98 ; =0x00000F33
- bl MOD05_021DBB8C
-_021E7E50:
- ldr r0, [r5]
- add r1, r4, #0
- add r2, sp, #0x14
- bl MOD05_021DB9D4
- add r0, sp, #0x14
- ldrh r0, [r0]
- add r1, sp, #0x3c
- cmp r0, #0
- bne _021E7E74
- add r0, r5, #0
- add r3, r5, #0
- add r0, #0x10
- add r2, sp, #0x18
- add r3, #0x80
- bl FUN_0201B26C
- b _021E7E86
-_021E7E74:
- str r4, [sp]
- ldr r0, [r5]
- add r3, r5, #0
- str r0, [sp, #4]
- ldr r0, [r5, #0x64]
- add r2, sp, #0x18
- add r3, #0x80
- bl MOD05_021E7F34
-_021E7E86:
- add r7, r7, #1
- add r5, #0x8c
- cmp r7, #0x20
- blt _021E7DFA
- add sp, #0x48
- pop {r3, r4, r5, r6, r7, pc}
- nop
-_021E7E94: .word UNK05_021F7878
-_021E7E98: .word 0x00000F33
-
- thumb_func_start MOD05_021E7E9C
-MOD05_021E7E9C: ; 0x021E7E9C
- add r0, #0x74
- bx lr
-
- thumb_func_start MOD05_021E7EA0
-MOD05_021E7EA0: ; 0x021E7EA0
- add r2, r1, #0
- add r2, #0x68
- add r3, r0, #0
- ldmia r2!, {r0, r1}
- stmia r3!, {r0, r1}
- ldr r0, [r2]
- str r0, [r3]
- bx lr
-
- thumb_func_start MOD05_021E7EB0
-MOD05_021E7EB0: ; 0x021E7EB0
- add r3, r1, #0
- add r2, r0, #0
- ldmia r3!, {r0, r1}
- add r2, #0x68
- stmia r2!, {r0, r1}
- ldr r0, [r3]
- str r0, [r2]
- bx lr
-
- thumb_func_start MOD05_021E7EC0
-MOD05_021E7EC0: ; 0x021E7EC0
- str r1, [r0, #8]
- bx lr
-
- thumb_func_start MOD05_021E7EC4
-MOD05_021E7EC4: ; 0x021E7EC4
- ldr r0, [r0]
- bx lr
-
- thumb_func_start MOD05_021E7EC8
-MOD05_021E7EC8: ; 0x021E7EC8
- add r0, #0x10
- bx lr
-
- thumb_func_start MOD05_021E7ECC
-MOD05_021E7ECC: ; 0x021E7ECC
- ldr r0, [r0, #0x64]
- bx lr
-
- thumb_func_start MOD05_021E7ED0
-MOD05_021E7ED0: ; 0x021E7ED0
- mov r2, #0x8c
- mul r2, r1
- add r0, r0, r2
- bx lr
-
- thumb_func_start MOD05_021E7ED8
-MOD05_021E7ED8: ; 0x021E7ED8
- mov r3, #0
-_021E7EDA:
- ldr r2, [r0]
- cmp r2, r1
- beq _021E7EEA
- add r3, r3, #1
- add r0, #0x8c
- cmp r3, #0x20
- blt _021E7EDA
- mov r0, #0
-_021E7EEA:
- bx lr
-
- thumb_func_start MOD05_021E7EEC
-MOD05_021E7EEC: ; 0x021E7EEC
- push {r3, r4, r5, lr}
- add r4, r1, #0
- add r5, r0, #0
- cmp r4, #0x20
- blt _021E7EFA
- bl ErrorHandling
-_021E7EFA:
- mov r0, #0x8c
- mul r0, r4
- add r4, r5, r0
- ldr r0, [r4, #4]
- cmp r0, #0
- bne _021E7F0A
- bl ErrorHandling
-_021E7F0A:
- add r0, r4, #0
- pop {r3, r4, r5, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E7F10
-MOD05_021E7F10: ; 0x021E7F10
- push {r3, r4, r5, lr}
- add r5, r2, #0
- add r4, r3, #0
- bl MOD05_021F4BD0
- ldr r0, [r0]
- bl FUN_020BC13C
- ldrh r1, [r0, #0xe]
- add r1, r0, r1
- ldr r1, [r1, #0xc]
- add r1, r0, r1
- add r0, r5, #0
- str r1, [r4]
- bl FUN_020B80B4
- pop {r3, r4, r5, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E7F34
-MOD05_021E7F34: ; 0x021E7F34
- push {r3, r4, r5, r6, r7, lr}
- add r7, r0, #0
- add r0, r1, #0
- add r4, r2, #0
- add r5, r3, #0
- bl FUN_020B8474
- ldr r1, _021E7FB4 ; =UNK_021CEDD4
- add r0, r4, #0
- bl MI_Copy36B
- ldr r1, _021E7FB8 ; =UNK_021CED98
- mov r0, #0xa4
- ldr r2, [r1, #0x7c]
- bic r2, r0
- add r0, r5, #0
- str r2, [r1, #0x7c]
- bl FUN_020B844C
- bl FUN_020B849C
- add r2, sp, #0
- ldr r0, [sp, #0x1c]
- ldr r1, [sp, #0x18]
- add r2, #2
- add r3, sp, #0
- bl MOD05_021DB9E0
- add r0, sp, #0
- ldrh r0, [r0]
- ldr r1, [sp, #0x18]
- bl MOD05_021DB9F8
- add r6, r0, #0
- add r0, sp, #0
- ldrh r0, [r0, #2]
- mov r5, #0xff
- mov r4, #0
- cmp r0, #0
- ble _021E7FB0
-_021E7F84:
- lsl r0, r4, #2
- add r2, r6, r0
- ldrh r0, [r6, r0]
- cmp r5, r0
- beq _021E7F96
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- mov r3, #1
- b _021E7F98
-_021E7F96:
- mov r3, #0
-_021E7F98:
- ldrh r2, [r2, #2]
- add r0, r7, #0
- add r1, r5, #0
- bl FUN_020BAFB8
- add r0, r4, #1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- add r0, sp, #0
- ldrh r0, [r0, #2]
- cmp r4, r0
- blt _021E7F84
-_021E7FB0:
- pop {r3, r4, r5, r6, r7, pc}
- nop
-_021E7FB4: .word UNK_021CEDD4
-_021E7FB8: .word UNK_021CED98
-
- thumb_func_start MOD05_021E7FBC
-MOD05_021E7FBC: ; 0x021E7FBC
- push {r3, r4, r5, r6, r7, lr}
- sub sp, #0x10
- ldr r5, _021E8058 ; =UNK05_021F786C
- add r6, r0, #0
- add r7, r1, #0
- ldmia r5!, {r0, r1}
- add r4, sp, #4
- stmia r4!, {r0, r1}
- ldr r0, [r5]
- str r0, [r4]
- mov r4, #0
- mov r0, #0x8c
-_021E7FD4:
- add r1, r4, #0
- mul r1, r0
- add r5, r6, r1
- ldr r1, [r5, #4]
- cmp r1, #0
- bne _021E8044
- mov r0, #1
- str r0, [r5, #4]
- add r6, r5, #0
- ldmia r3!, {r0, r1}
- add r6, #0x68
- stmia r6!, {r0, r1}
- ldr r0, [r3]
- str r0, [r6]
- ldr r6, [sp, #0x28]
- cmp r6, #0
- beq _021E8008
- mov r0, #1
- str r0, [r5, #0xc]
- add r3, r5, #0
- ldmia r6!, {r0, r1}
- add r3, #0x74
- stmia r3!, {r0, r1}
- ldr r0, [r6]
- str r0, [r3]
- b _021E800C
-_021E8008:
- mov r0, #0
- str r0, [r5, #0xc]
-_021E800C:
- add r6, sp, #4
- add r3, r5, #0
- ldmia r6!, {r0, r1}
- add r3, #0x80
- stmia r3!, {r0, r1}
- ldr r0, [r6]
- add r1, r7, #0
- str r0, [r3]
- add r3, r5, #0
- str r2, [r5]
- add r0, r2, #0
- add r2, r5, #0
- add r2, #0x10
- add r3, #0x64
- bl MOD05_021E7F10
- ldr r0, [sp, #0x2c]
- mov r1, #0
- str r0, [sp]
- ldr r0, [r5]
- add r5, #0x10
- add r2, r1, #0
- add r3, r5, #0
- bl MOD05_021D9DC0
- add sp, #0x10
- add r0, r4, #0
- pop {r3, r4, r5, r6, r7, pc}
-_021E8044:
- add r1, r4, #1
- lsl r1, r1, #0x18
- lsr r4, r1, #0x18
- cmp r4, #0x20
- blo _021E7FD4
- bl ErrorHandling
- mov r0, #0x20
- add sp, #0x10
- pop {r3, r4, r5, r6, r7, pc}
- .balign 4, 0
-_021E8058: .word UNK05_021F786C
-
- thumb_func_start MOD05_021E805C
-MOD05_021E805C: ; 0x021E805C
- push {r3, r4, r5, r6, r7, lr}
- sub sp, #0x38
- ldr r4, _021E80F4 ; =UNK05_021F789C
- str r0, [sp, #8]
- str r1, [sp, #0xc]
- add r3, sp, #0x14
- mov r2, #4
-_021E806A:
- ldmia r4!, {r0, r1}
- stmia r3!, {r0, r1}
- sub r2, r2, #1
- bne _021E806A
- ldr r0, [r4]
- mov r4, #0
- str r0, [r3]
- add r7, sp, #0x14
-_021E807A:
- mov r0, #0x8c
- add r1, r4, #0
- mul r1, r0
- ldr r0, [sp, #8]
- add r5, r0, r1
- ldr r0, [r5, #4]
- cmp r0, #0
- beq _021E80E4
- ldr r0, [r5, #8]
- cmp r0, #0
- bne _021E80E4
- ldr r0, [sp, #0xc]
- bl MOD05_021F4C9C
- add r6, r0, #0
- ldr r0, [r5]
- add r1, r6, #0
- add r2, sp, #0x10
- bl MOD05_021DB9D4
- ldr r0, [r5, #0xc]
- cmp r0, #0
- beq _021E80B2
- add r1, r5, #0
- add r0, r7, #0
- add r1, #0x74
- bl FUN_0201CAA8
-_021E80B2:
- add r0, sp, #0x10
- ldrh r0, [r0]
- cmp r0, #0
- bne _021E80CE
- add r0, r5, #0
- add r1, r5, #0
- add r5, #0x80
- add r0, #0x10
- add r1, #0x68
- add r2, r7, #0
- add r3, r5, #0
- bl FUN_0201B26C
- b _021E80E4
-_021E80CE:
- str r6, [sp]
- ldr r0, [r5]
- add r1, r5, #0
- str r0, [sp, #4]
- ldr r0, [r5, #0x64]
- add r5, #0x80
- add r1, #0x68
- add r2, r7, #0
- add r3, r5, #0
- bl MOD05_021E7F34
-_021E80E4:
- add r0, r4, #1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x20
- blo _021E807A
- add sp, #0x38
- pop {r3, r4, r5, r6, r7, pc}
- nop
-_021E80F4: .word UNK05_021F789C
-
- thumb_func_start MOD05_021E80F8
-MOD05_021E80F8: ; 0x021E80F8
- push {r3, lr}
- mov r1, #0x14
- bl AllocFromHeap
- add r3, r0, #0
- mov r2, #0x14
- mov r1, #0
-_021E8106:
- strb r1, [r3]
- add r3, r3, #1
- sub r2, r2, #1
- bne _021E8106
- pop {r3, pc}
-
- thumb_func_start MOD05_021E8110
-MOD05_021E8110: ; 0x021E8110
- push {r4, lr}
- add r4, r0, #0
- ldrb r1, [r4, #0x13]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x1f
- beq _021E8120
- bl FUN_02019178
-_021E8120:
- add r0, r4, #0
- bl FreeToHeap
- pop {r4, pc}
-
- thumb_func_start MOD05_021E8128
-MOD05_021E8128: ; 0x021E8128
- strb r1, [r0, #0x12]
- strh r2, [r0, #0x10]
- bx lr
- .balign 4, 0
-
- thumb_func_start MOD05_021E8130
-MOD05_021E8130: ; 0x021E8130
- ldrb r3, [r0, #0x13]
- mov r2, #0x7f
- bic r3, r2
- mov r2, #0x7f
- and r1, r2
- orr r1, r3
- strb r1, [r0, #0x13]
- bx lr
-
- thumb_func_start MOD05_021E8140
-MOD05_021E8140: ; 0x021E8140
- bx lr
- .balign 4, 0
-
- thumb_func_start MOD05_021E8144
-MOD05_021E8144: ; 0x021E8144
- ldrb r0, [r0, #0x12]
- bx lr
-
- thumb_func_start MOD05_021E8148
-MOD05_021E8148: ; 0x021E8148
- ldrb r0, [r0, #0x13]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x19
- bne _021E8154
- mov r0, #1
- bx lr
-_021E8154:
- mov r0, #0
- bx lr
-
- thumb_func_start MOD05_021E8158
-MOD05_021E8158: ; 0x021E8158
- push {r4, lr}
- ldr r4, [r0, #0x60]
- ldrb r1, [r4, #0x13]
- lsl r1, r1, #0x19
- lsr r1, r1, #0x19
- cmp r1, #4
- bhi _021E81BA
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_021E8172: ; jump table
- .short _021E81BA - _021E8172 - 2 ; case 0
- .short _021E817C - _021E8172 - 2 ; case 1
- .short _021E818A - _021E8172 - 2 ; case 2
- .short _021E819C - _021E8172 - 2 ; case 3
- .short _021E81AE - _021E8172 - 2 ; case 4
-_021E817C:
- bl MOD05_021E81D0
- ldrb r1, [r4, #0x13]
- mov r0, #0x7f
- bic r1, r0
- strb r1, [r4, #0x13]
- pop {r4, pc}
-_021E818A:
- bl MOD05_021E82A0
- cmp r0, #1
- bne _021E81BA
- ldrb r1, [r4, #0x13]
- mov r0, #0x7f
- bic r1, r0
- strb r1, [r4, #0x13]
- pop {r4, pc}
-_021E819C:
- bl MOD05_021E8260
- cmp r0, #1
- bne _021E81BA
- ldrb r1, [r4, #0x13]
- mov r0, #0x7f
- bic r1, r0
- strb r1, [r4, #0x13]
- pop {r4, pc}
-_021E81AE:
- bl MOD05_021E820C
- ldrb r1, [r4, #0x13]
- mov r0, #0x7f
- bic r1, r0
- strb r1, [r4, #0x13]
-_021E81BA:
- pop {r4, pc}
-
- thumb_func_start MOD05_021E81BC
-MOD05_021E81BC: ; 0x021E81BC
- push {r4, lr}
- add r4, r0, #0
- ldr r0, [r4, #0x60]
- bl MOD05_021E8130
- add r0, r4, #0
- bl MOD05_021E8158
- pop {r4, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E81D0
-MOD05_021E81D0: ; 0x021E81D0
- push {r4, lr}
- mov r1, #3
- add r4, r0, #0
- add r3, r1, #0
- ldr r0, [r4, #8]
- add r2, r1, #0
- sub r3, #0x33
- bl FUN_020179E0
- ldr r1, [r4, #0x60]
- ldrb r0, [r1, #0x13]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1f
- bne _021E8200
- ldrb r2, [r1, #0x12]
- ldr r0, [r4, #8]
- mov r3, #3
- bl FUN_020546E0
- ldr r2, [r4, #0x60]
- mov r0, #0x80
- ldrb r1, [r2, #0x13]
- orr r0, r1
- strb r0, [r2, #0x13]
-_021E8200:
- ldr r0, [r4, #0x60]
- ldrb r1, [r0, #0x12]
- ldrh r2, [r0, #0x10]
- bl FUN_02054744
- pop {r4, pc}
-
- thumb_func_start MOD05_021E820C
-MOD05_021E820C: ; 0x021E820C
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0
- ldr r0, [r4, #0x60]
- ldrb r1, [r0, #0x13]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x1f
- beq _021E825A
- bl FUN_02019178
- mov r0, #0x12
- str r0, [sp]
- mov r0, #0x20
- str r0, [sp, #4]
- mov r0, #6
- str r0, [sp, #8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- mov r2, #0
- ldr r0, [r4, #8]
- mov r1, #3
- add r3, r2, #0
- bl FUN_02018540
- ldr r0, [r4, #8]
- mov r1, #3
- bl FUN_02017CD0
- mov r1, #3
- ldr r0, [r4, #8]
- add r2, r1, #0
- mov r3, #0
- bl FUN_020179E0
- ldr r2, [r4, #0x60]
- mov r0, #0x80
- ldrb r1, [r2, #0x13]
- bic r1, r0
- strb r1, [r2, #0x13]
-_021E825A:
- add sp, #0x10
- pop {r4, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E8260
-MOD05_021E8260: ; 0x021E8260
- push {r4, lr}
- add r4, r0, #0
- ldr r0, [r4, #8]
- mov r1, #3
- bl FUN_02017B54
- cmp r0, #0
- bne _021E8274
- mov r0, #1
- pop {r4, pc}
-_021E8274:
- mov r1, #0x2f
- mvn r1, r1
- cmp r0, r1
- ble _021E8280
- cmp r0, #0
- blt _021E828E
-_021E8280:
- mov r1, #3
- add r3, r1, #0
- ldr r0, [r4, #8]
- add r2, r1, #0
- sub r3, #0x33
- bl FUN_020179E0
-_021E828E:
- ldr r0, [r4, #8]
- mov r1, #3
- mov r2, #4
- mov r3, #0x10
- bl FUN_020179E0
- mov r0, #0
- pop {r4, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E82A0
-MOD05_021E82A0: ; 0x021E82A0
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0
- ldr r0, [r4, #8]
- mov r1, #3
- bl FUN_02017B54
- mov r1, #0x2f
- mvn r1, r1
- cmp r0, r1
- bne _021E82EC
- mov r0, #0x12
- str r0, [sp]
- mov r0, #0x20
- str r0, [sp, #4]
- mov r0, #6
- str r0, [sp, #8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- mov r2, #0
- ldr r0, [r4, #8]
- mov r1, #3
- add r3, r2, #0
- bl FUN_02018540
- ldr r0, [r4, #8]
- mov r1, #3
- bl FUN_02017CD0
- mov r1, #3
- ldr r0, [r4, #8]
- add r2, r1, #0
- mov r3, #0
- bl FUN_020179E0
- add sp, #0x10
- mov r0, #1
- pop {r4, pc}
-_021E82EC:
- ble _021E82F2
- cmp r0, #0
- blt _021E82FE
-_021E82F2:
- mov r1, #3
- ldr r0, [r4, #8]
- add r2, r1, #0
- mov r3, #0
- bl FUN_020179E0
-_021E82FE:
- ldr r0, [r4, #8]
- mov r1, #3
- mov r2, #5
- mov r3, #0x10
- bl FUN_020179E0
- mov r0, #0
- add sp, #0x10
- pop {r4, pc}
-
- thumb_func_start MOD05_021E8310
-MOD05_021E8310: ; 0x021E8310
- push {r3, r4, r5, r6, r7, lr}
- ldr r4, [r1, #0xc]
- add r5, r0, #0
- add r0, r4, #0
- bl FUN_02034E30
- bl FUN_02034DC0
- add r6, r0, #0
- add r0, r4, #0
- bl Sav2_Pokedex_get
- add r7, r0, #0
- ldr r0, [r6]
- bl FUN_02034824
- str r0, [r5, #4]
- add r0, r7, #0
- bl Pokedex_GetSinnohDexFlag
- cmp r0, #0
- beq _021E8344
- add r0, r7, #0
- bl Pokedex_CountSeenMons
- b _021E8346
-_021E8344:
- mov r0, #0
-_021E8346:
- str r0, [r5]
- add r0, r4, #0
- bl Sav2_PlayerData_GetProfileAddr
- str r0, [r5, #8]
- add r0, r4, #0
- bl Sav2_PlayerData_GetIGTAddr
- str r0, [r5, #0xc]
- pop {r3, r4, r5, r6, r7, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E835C
-MOD05_021E835C: ; 0x021E835C
- push {r3, r4, r5, lr}
- sub sp, #8
- add r4, r1, #0
- ldr r2, [r4, #4]
- mov r1, #0
- add r5, r0, #0
- bl BufferLandmarkName
- ldr r2, [r4, #8]
- add r0, r5, #0
- mov r1, #1
- bl BufferPlayersName
- ldr r0, [r4, #8]
- bl PlayerProfile_CountBadges
- add r2, r0, #0
- mov r0, #0
- str r0, [sp]
- mov r3, #1
- str r3, [sp, #4]
- add r0, r5, #0
- mov r1, #2
- bl BufferIntegerAsString
- ldr r2, [r4]
- cmp r2, #0x64
- blt _021E839A
- mov r3, #3
- mov r0, #0
- b _021E83A8
-_021E839A:
- cmp r2, #0xa
- blt _021E83A4
- mov r3, #3
- mov r0, #1
- b _021E83A8
-_021E83A4:
- mov r3, #2
- mov r0, #1
-_021E83A8:
- str r0, [sp]
- mov r0, #1
- str r0, [sp, #4]
- add r0, r5, #0
- mov r1, #3
- bl BufferIntegerAsString
- ldr r0, [r4, #0xc]
- bl GetIGTHours
- add r2, r0, #0
- cmp r2, #0x64
- blt _021E83C8
- mov r3, #3
- mov r0, #0
- b _021E83D6
-_021E83C8:
- cmp r2, #0xa
- blt _021E83D2
- mov r3, #3
- mov r0, #1
- b _021E83D6
-_021E83D2:
- mov r3, #2
- mov r0, #1
-_021E83D6:
- str r0, [sp]
- mov r0, #1
- str r0, [sp, #4]
- add r0, r5, #0
- mov r1, #4
- bl BufferIntegerAsString
- ldr r0, [r4, #0xc]
- bl GetIGTMinutes
- mov r3, #2
- add r2, r0, #0
- str r3, [sp]
- mov r0, #1
- str r0, [sp, #4]
- add r0, r5, #0
- mov r1, #5
- bl BufferIntegerAsString
- add sp, #8
- pop {r3, r4, r5, pc}
-
- thumb_func_start MOD05_021E8400
-MOD05_021E8400: ; 0x021E8400
- ldr r0, [r0]
- cmp r0, #0
- beq _021E840A
- mov r0, #0xa
- bx lr
-_021E840A:
- mov r0, #8
- bx lr
- .balign 4, 0
-
- thumb_func_start MOD05_021E8410
-MOD05_021E8410: ; 0x021E8410
- push {r3, r4, r5, r6, r7, lr}
- sub sp, #0x18
- add r5, r0, #0
- mov r0, #0
- mov r1, #1
- bl FUN_02002E4C
- add r4, r0, #0
- mov r0, #0
- mov r1, #3
- bl FUN_02002E4C
- add r0, r4, r0
- str r0, [sp, #0x14]
- mov r4, #0
- ldr r0, [r5, #0x14]
- ldr r1, [r5, #0x18]
- ldr r3, [r5, #4]
- add r2, r4, #0
- bl ReadMsgData_ExpandPlaceholders
- add r1, r4, #0
- add r6, r0, #0
- str r1, [sp]
- mov r0, #0xff
- str r0, [sp, #4]
- str r1, [sp, #8]
- ldr r0, [r5, #0x10]
- add r2, r6, #0
- add r3, r1, #0
- bl AddTextPrinterParameterized
- add r0, r6, #0
- bl String_dtor
- mov r0, #1
- str r0, [sp, #0x10]
- ldr r0, _021E84EC ; =UNK05_021F78D4
- ldr r7, _021E84F0 ; =UNK05_021F78C4
- str r0, [sp, #0xc]
-_021E8460:
- ldr r0, [sp, #0xc]
- ldr r1, [r0]
- cmp r1, #3
- bne _021E846E
- ldr r0, [r5, #0x1c]
- cmp r0, #0
- beq _021E84D6
-_021E846E:
- ldr r0, [sp, #0x14]
- add r4, r4, r0
- ldr r0, [r5, #0x18]
- bl NewString_ReadMsgData
- add r6, r0, #0
- mov r1, #0
- str r4, [sp]
- mov r0, #0xff
- str r0, [sp, #4]
- mov r0, #0
- str r0, [sp, #8]
- ldr r0, [r5, #0x10]
- add r2, r6, #0
- add r3, r1, #0
- bl AddTextPrinterParameterized
- add r0, r6, #0
- bl String_dtor
- sub r2, r7, #4
- ldr r0, [r5, #0x14]
- ldr r1, [r5, #0x18]
- ldr r2, [r2]
- ldr r3, [r5, #4]
- bl ReadMsgData_ExpandPlaceholders
- add r6, r0, #0
- mov r0, #0
- mov r1, #2
- bl FUN_02002E4C
- add r2, r0, #0
- mov r0, #0
- add r1, r6, #0
- bl FUN_02002E14
- mov r1, #0x68
- sub r3, r1, r0
- str r4, [sp]
- mov r0, #0xff
- str r0, [sp, #4]
- mov r0, #0
- str r0, [sp, #8]
- ldr r0, [r5, #0x10]
- mov r1, #0
- add r2, r6, #0
- bl AddTextPrinterParameterized
- add r0, r6, #0
- bl String_dtor
-_021E84D6:
- ldr r0, [sp, #0xc]
- add r7, r7, #4
- add r0, r0, #4
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x10]
- add r0, r0, #1
- str r0, [sp, #0x10]
- cmp r0, #5
- blo _021E8460
- add sp, #0x18
- pop {r3, r4, r5, r6, r7, pc}
- .balign 4, 0
-_021E84EC: .word UNK05_021F78D4
-_021E84F0: .word UNK05_021F78C4
-
- thumb_func_start MOD05_021E84F4
-MOD05_021E84F4: ; 0x021E84F4
- push {r3, r4, lr}
- sub sp, #0x14
- add r4, r0, #0
- ldr r0, [r4, #4]
- mov r1, #0x10
- bl AllocFromHeap
- str r0, [r4, #0x10]
- mov r3, #1
- str r3, [sp]
- ldr r0, [r4, #0x2c]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #4]
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #8]
- mov r0, #0xd
- str r0, [sp, #0xc]
- ldr r0, _021E8564 ; =0x0000027F
- str r0, [sp, #0x10]
- ldrb r2, [r4, #8]
- ldr r0, [r4, #0xc]
- ldr r1, [r4, #0x10]
- bl FUN_02019064
- mov r0, #0
- str r0, [sp]
- ldr r0, [r4, #4]
- ldr r2, _021E8568 ; =0x000003D9
- str r0, [sp, #4]
- ldrb r1, [r4, #8]
- ldr r0, [r4, #0xc]
- mov r3, #0xb
- bl FUN_0200CB00
- mov r0, #0
- mov r1, #6
- bl FUN_02002E4C
- add r1, r0, #0
- ldr r0, [r4, #0x10]
- bl FUN_02019620
- add r0, r4, #0
- bl MOD05_021E8410
- ldr r0, [r4, #0x10]
- ldr r2, _021E8568 ; =0x000003D9
- mov r1, #0
- mov r3, #0xb
- bl FUN_0200CCA4
- add sp, #0x14
- pop {r3, r4, pc}
- .balign 4, 0
-_021E8564: .word 0x0000027F
-_021E8568: .word 0x000003D9
-
- thumb_func_start MOD05_021E856C
-MOD05_021E856C: ; 0x021E856C
- push {r4, lr}
- add r4, r0, #0
- ldr r0, [r4, #0x10]
- mov r1, #0
- bl FUN_0200CCF8
- ldr r0, [r4, #0x10]
- bl FUN_02019178
- ldr r0, [r4, #0x10]
- bl FreeToHeap
- pop {r4, pc}
- .balign 4, 0
-
- thumb_func_start MOD05_021E8588
-MOD05_021E8588: ; 0x021E8588
- push {r3, r4, r5, r6, r7, lr}
- add r5, r1, #0
- add r6, r0, #0
- add r0, r5, #0
- mov r1, #0x34
- add r7, r2, #0
- bl AllocFromHeap
- add r4, r0, #0
- str r6, [r4]
- str r5, [r4, #4]
- strb r7, [r4, #8]
- ldr r0, [r6, #8]
- str r0, [r4, #0xc]
- add r0, r5, #0
- bl ScrStrBufs_new
- str r0, [r4, #0x14]
- ldr r2, _021E85E0 ; =0x000001E3
- mov r0, #1
- mov r1, #0x1a
- add r3, r5, #0
- bl NewMsgDataFromNarc
- str r0, [r4, #0x18]
- add r0, r4, #0
- ldr r1, [r4]
- add r0, #0x1c
- bl MOD05_021E8310
- add r1, r4, #0
- ldr r0, [r4, #0x14]
- add r1, #0x1c
- bl MOD05_021E835C
- mov r0, #0xd
- str r0, [r4, #0x2c]
- add r0, r4, #0
- add r0, #0x1c
- bl MOD05_021E8400
- str r0, [r4, #0x30]
- add r0, r4, #0
- pop {r3, r4, r5, r6, r7, pc}
- .balign 4, 0
-_021E85E0: .word 0x000001E3
-
- thumb_func_start MOD05_021E85E4
-MOD05_021E85E4: ; 0x021E85E4
- push {r4, lr}
- add r4, r0, #0
- ldr r0, [r4, #0x18]
- bl DestroyMsgData
- ldr r0, [r4, #0x14]
- bl ScrStrBufs_delete
- add r0, r4, #0
- bl FreeToHeap
- pop {r4, pc}
-
- thumb_func_start MOD05_021E85FC
-MOD05_021E85FC: ; 0x021E85FC
- push {r4, lr}
- add r4, r0, #0
- bl FUN_02034E48
- add r0, r4, #0
- mov r1, #4
- mov r2, #0
- bl MOD05_021EFA9C
- ldr r0, [r4, #0x38]
- bl FUN_02055320
- ldr r1, [r4, #0x1c]
- str r0, [r1, #8]
- ldr r0, [r4, #0x38]
- bl FUN_0205532C
- ldr r1, [r4, #0x1c]
- str r0, [r1, #0xc]
- mov r1, #0
- ldr r0, [r4, #0x1c]
- mvn r1, r1
- str r1, [r0, #4]
- ldr r0, [r4, #0x38]
- bl FUN_020552F8
- ldr r1, [r4, #0x1c]
- str r0, [r1, #0x10]
- ldr r0, [r4, #0xc]
- bl FUN_02022720
- cmp r0, #2
- bne _021E8642
- mov r0, #1
- pop {r4, pc}
-_021E8642:
- mov r0, #0
- pop {r4, pc}
- .balign 4, 0
-
thumb_func_start MOD05_021E8648
MOD05_021E8648: ; 0x021E8648
push {r4, r5, r6, lr}
@@ -30518,45 +28538,6 @@ _021F6428: .word MOD05_021F57F0
.section .rodata
- .global UNK05_021F7824
-UNK05_021F7824: ; 0x021F7824
- .word 0x00000001, 0x0000000C, 0x00000044, MOD05_021E79A8
- .word MOD05_021E7A6C, MOD05_021E7A08, MOD05_021E7A88
-
- .global UNK05_021F7840
-UNK05_021F7840: ; 0x021F7840
- .word 0x00000044, MOD05_021E7B08, MOD05_021E7A6C, MOD05_021E7B78
- .word MOD05_021E7A88
-
- .global UNK05_021F7854
-UNK05_021F7854: ; 0x021F7854
- .word 0x00000000, 0x00000001, 0x00000000, 0x00000000
- .word 0x00000000, 0x00000002
-
- .global UNK05_021F786C
-UNK05_021F786C: ; 0x021F786C
- .word 0x00001000, 0x00001000, 0x00001000
-
- .global UNK05_021F7878
-UNK05_021F7878: ; 0x021F7878
- .byte 0x00, 0x10, 0x00, 0x00 ;word
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00
-
- .global UNK05_021F789C
-UNK05_021F789C: ; 0x021F789C
- .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ;word
- .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x10, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
-
- .global UNK05_021F78C4
-UNK05_021F78C4: ; 0x021F78C4
- .byte 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .global UNK05_021F78D4
-UNK05_021F78D4: ; 0x021F78D4
- .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
-
.global UNK05_021F78E4
UNK05_021F78E4: ; 0x021F78E4
.byte 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
diff --git a/files/poketool/icongra/poke_icon/.gitignore b/files/poketool/icongra/poke_icon/.gitignore
index c51d6333..ce012113 100644
--- a/files/poketool/icongra/poke_icon/.gitignore
+++ b/files/poketool/icongra/poke_icon/.gitignore
@@ -5,4 +5,8 @@ narc_0009.NCGR
narc_0010.NCGR
narc_0011.NCGR
narc_0012.NCGR
+narc_0013.NCGR
+narc_0014.NCGR
+narc_0015.NCGR
+narc_0016.NCGR
narc_0402.NCGR
diff --git a/files/poketool/icongra/poke_icon/narc_0013.NCGR b/files/poketool/icongra/poke_icon/narc_0013.NCGR
deleted file mode 100644
index 2e4e896e..00000000
--- a/files/poketool/icongra/poke_icon/narc_0013.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/icongra/poke_icon/narc_0013.png b/files/poketool/icongra/poke_icon/narc_0013.png
new file mode 100644
index 00000000..3c641968
--- /dev/null
+++ b/files/poketool/icongra/poke_icon/narc_0013.png
Binary files differ
diff --git a/files/poketool/icongra/poke_icon/narc_0014.NCGR b/files/poketool/icongra/poke_icon/narc_0014.NCGR
deleted file mode 100644
index 23175ce8..00000000
--- a/files/poketool/icongra/poke_icon/narc_0014.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/icongra/poke_icon/narc_0014.png b/files/poketool/icongra/poke_icon/narc_0014.png
new file mode 100644
index 00000000..7a4b4616
--- /dev/null
+++ b/files/poketool/icongra/poke_icon/narc_0014.png
Binary files differ
diff --git a/files/poketool/icongra/poke_icon/narc_0015.NCGR b/files/poketool/icongra/poke_icon/narc_0015.NCGR
deleted file mode 100644
index e23cf4a7..00000000
--- a/files/poketool/icongra/poke_icon/narc_0015.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/icongra/poke_icon/narc_0015.png b/files/poketool/icongra/poke_icon/narc_0015.png
new file mode 100644
index 00000000..2cdfca2d
--- /dev/null
+++ b/files/poketool/icongra/poke_icon/narc_0015.png
Binary files differ
diff --git a/files/poketool/icongra/poke_icon/narc_0016.NCGR b/files/poketool/icongra/poke_icon/narc_0016.NCGR
deleted file mode 100644
index a65abf8d..00000000
--- a/files/poketool/icongra/poke_icon/narc_0016.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/icongra/poke_icon/narc_0016.png b/files/poketool/icongra/poke_icon/narc_0016.png
new file mode 100644
index 00000000..253d4f8d
--- /dev/null
+++ b/files/poketool/icongra/poke_icon/narc_0016.png
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/.gitignore b/files/poketool/pokegra/pokegra/.gitignore
index 0d0e68a8..2db06bd5 100644
--- a/files/poketool/pokegra/pokegra/.gitignore
+++ b/files/poketool/pokegra/pokegra/.gitignore
@@ -28,6 +28,30 @@ narc_0032.NCGR
narc_0033.NCGR
narc_0034.NCLR
narc_0035.NCLR
+narc_0036.NCGR
+narc_0037.NCGR
+narc_0038.NCGR
+narc_0039.NCGR
+narc_0040.NCLR
+narc_0041.NCLR
+narc_0042.NCGR
+narc_0043.NCGR
+narc_0044.NCGR
+narc_0045.NCGR
+narc_0046.NCLR
+narc_0047.NCLR
+narc_0048.NCGR
+narc_0049.NCGR
+narc_0050.NCGR
+narc_0051.NCGR
+narc_0052.NCLR
+narc_0053.NCLR
+narc_0054.NCGR
+narc_0055.NCGR
+narc_0056.NCGR
+narc_0057.NCGR
+narc_0058.NCLR
+narc_0059.NCLR
narc_2370.NCGR
narc_2371.NCGR
narc_2372.NCGR
diff --git a/files/poketool/pokegra/pokegra/narc_0036.NCGR b/files/poketool/pokegra/pokegra/narc_0036.NCGR
deleted file mode 100644
index bb9466f2..00000000
--- a/files/poketool/pokegra/pokegra/narc_0036.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0036.png b/files/poketool/pokegra/pokegra/narc_0036.png
new file mode 100644
index 00000000..1651dd87
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0036.png
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0036.png.key b/files/poketool/pokegra/pokegra/narc_0036.png.key
new file mode 100644
index 00000000..b52d8e8a
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0036.png.key
@@ -0,0 +1 @@
+™Òè) \ No newline at end of file
diff --git a/files/poketool/pokegra/pokegra/narc_0037.NCGR b/files/poketool/pokegra/pokegra/narc_0037.NCGR
deleted file mode 100644
index bb9466f2..00000000
--- a/files/poketool/pokegra/pokegra/narc_0037.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0037.png b/files/poketool/pokegra/pokegra/narc_0037.png
new file mode 100644
index 00000000..1651dd87
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0037.png
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0037.png.key b/files/poketool/pokegra/pokegra/narc_0037.png.key
new file mode 100644
index 00000000..b52d8e8a
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0037.png.key
@@ -0,0 +1 @@
+™Òè) \ No newline at end of file
diff --git a/files/poketool/pokegra/pokegra/narc_0038.NCGR b/files/poketool/pokegra/pokegra/narc_0038.NCGR
deleted file mode 100644
index c9146e9f..00000000
--- a/files/poketool/pokegra/pokegra/narc_0038.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0038.png b/files/poketool/pokegra/pokegra/narc_0038.png
new file mode 100644
index 00000000..08d8504c
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0038.png
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0038.png.key b/files/poketool/pokegra/pokegra/narc_0038.png.key
new file mode 100644
index 00000000..54a91c0e
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0038.png.key
@@ -0,0 +1 @@
+ÛÖ#å \ No newline at end of file
diff --git a/files/poketool/pokegra/pokegra/narc_0039.NCGR b/files/poketool/pokegra/pokegra/narc_0039.NCGR
deleted file mode 100644
index c9146e9f..00000000
--- a/files/poketool/pokegra/pokegra/narc_0039.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0039.png b/files/poketool/pokegra/pokegra/narc_0039.png
new file mode 100644
index 00000000..08d8504c
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0039.png
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0039.png.key b/files/poketool/pokegra/pokegra/narc_0039.png.key
new file mode 100644
index 00000000..54a91c0e
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0039.png.key
@@ -0,0 +1 @@
+ÛÖ#å \ No newline at end of file
diff --git a/files/poketool/pokegra/pokegra/narc_0040.NCLR b/files/poketool/pokegra/pokegra/narc_0040.NCLR
deleted file mode 100644
index b6781ea0..00000000
--- a/files/poketool/pokegra/pokegra/narc_0040.NCLR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0040.pal b/files/poketool/pokegra/pokegra/narc_0040.pal
new file mode 100644
index 00000000..d10b3496
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0040.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+131 189 148
+0 0 0
+255 255 255
+205 205 205
+98 98 98
+238 222 123
+238 180 90
+238 131 41
+205 82 65
+131 49 24
+32 156 197
+32 115 148
+8 65 82
+255 213 16
+246 164 16
+230 65 16
diff --git a/files/poketool/pokegra/pokegra/narc_0041.NCLR b/files/poketool/pokegra/pokegra/narc_0041.NCLR
deleted file mode 100644
index 0d402b94..00000000
--- a/files/poketool/pokegra/pokegra/narc_0041.NCLR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0041.pal b/files/poketool/pokegra/pokegra/narc_0041.pal
new file mode 100644
index 00000000..5759cb2c
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0041.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+131 189 148
+0 0 0
+255 255 255
+205 205 205
+98 98 98
+222 222 172
+189 189 172
+131 123 148
+90 90 106
+49 57 65
+246 65 74
+189 32 65
+131 16 41
+230 230 16
+230 180 16
+213 82 16
diff --git a/files/poketool/pokegra/pokegra/narc_0042.NCGR b/files/poketool/pokegra/pokegra/narc_0042.NCGR
deleted file mode 100644
index 24b02709..00000000
--- a/files/poketool/pokegra/pokegra/narc_0042.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0042.png b/files/poketool/pokegra/pokegra/narc_0042.png
new file mode 100644
index 00000000..1fa3f5fe
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0042.png
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0042.png.key b/files/poketool/pokegra/pokegra/narc_0042.png.key
new file mode 100644
index 00000000..35ce49c7
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0042.png.key
@@ -0,0 +1 @@
+#e \ No newline at end of file
diff --git a/files/poketool/pokegra/pokegra/narc_0043.NCGR b/files/poketool/pokegra/pokegra/narc_0043.NCGR
deleted file mode 100644
index 24b02709..00000000
--- a/files/poketool/pokegra/pokegra/narc_0043.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0043.png b/files/poketool/pokegra/pokegra/narc_0043.png
new file mode 100644
index 00000000..1fa3f5fe
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0043.png
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0043.png.key b/files/poketool/pokegra/pokegra/narc_0043.png.key
new file mode 100644
index 00000000..35ce49c7
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0043.png.key
@@ -0,0 +1 @@
+#e \ No newline at end of file
diff --git a/files/poketool/pokegra/pokegra/narc_0044.NCGR b/files/poketool/pokegra/pokegra/narc_0044.NCGR
deleted file mode 100644
index 161bc361..00000000
--- a/files/poketool/pokegra/pokegra/narc_0044.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0044.png b/files/poketool/pokegra/pokegra/narc_0044.png
new file mode 100644
index 00000000..e2cc9cfe
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0044.png
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0044.png.key b/files/poketool/pokegra/pokegra/narc_0044.png.key
new file mode 100644
index 00000000..68e9e799
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0044.png.key
@@ -0,0 +1 @@
+ßÐã \ No newline at end of file
diff --git a/files/poketool/pokegra/pokegra/narc_0045.NCGR b/files/poketool/pokegra/pokegra/narc_0045.NCGR
deleted file mode 100644
index 161bc361..00000000
--- a/files/poketool/pokegra/pokegra/narc_0045.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0045.png b/files/poketool/pokegra/pokegra/narc_0045.png
new file mode 100644
index 00000000..e2cc9cfe
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0045.png
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0045.png.key b/files/poketool/pokegra/pokegra/narc_0045.png.key
new file mode 100644
index 00000000..68e9e799
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0045.png.key
@@ -0,0 +1 @@
+ßÐã \ No newline at end of file
diff --git a/files/poketool/pokegra/pokegra/narc_0046.NCLR b/files/poketool/pokegra/pokegra/narc_0046.NCLR
deleted file mode 100644
index 544d175e..00000000
--- a/files/poketool/pokegra/pokegra/narc_0046.NCLR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0046.pal b/files/poketool/pokegra/pokegra/narc_0046.pal
new file mode 100644
index 00000000..051fc4a2
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0046.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+205 205 172
+255 255 255
+213 205 205
+213 148 82
+189 106 0
+98 41 0
+255 230 156
+255 213 106
+230 172 90
+205 123 41
+131 41 0
+180 246 238
+148 213 205
+90 172 156
+65 115 98
+16 16 16
diff --git a/files/poketool/pokegra/pokegra/narc_0047.NCLR b/files/poketool/pokegra/pokegra/narc_0047.NCLR
deleted file mode 100644
index bf1924a2..00000000
--- a/files/poketool/pokegra/pokegra/narc_0047.NCLR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0047.pal b/files/poketool/pokegra/pokegra/narc_0047.pal
new file mode 100644
index 00000000..392cf6ed
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0047.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+205 205 172
+255 255 255
+213 205 205
+156 222 123
+90 172 41
+16 90 16
+255 246 148
+255 230 98
+230 189 82
+205 139 32
+131 57 0
+230 246 255
+180 205 255
+123 164 230
+65 98 131
+16 16 16
diff --git a/files/poketool/pokegra/pokegra/narc_0048.NCGR b/files/poketool/pokegra/pokegra/narc_0048.NCGR
deleted file mode 100644
index 1b5aa7f4..00000000
--- a/files/poketool/pokegra/pokegra/narc_0048.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0048.png b/files/poketool/pokegra/pokegra/narc_0048.png
new file mode 100644
index 00000000..af74fa6f
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0048.png
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0048.png.key b/files/poketool/pokegra/pokegra/narc_0048.png.key
new file mode 100644
index 00000000..290d2bda
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0048.png.key
@@ -0,0 +1 @@
+Íaõ® \ No newline at end of file
diff --git a/files/poketool/pokegra/pokegra/narc_0049.NCGR b/files/poketool/pokegra/pokegra/narc_0049.NCGR
deleted file mode 100644
index 1b5aa7f4..00000000
--- a/files/poketool/pokegra/pokegra/narc_0049.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0049.png b/files/poketool/pokegra/pokegra/narc_0049.png
new file mode 100644
index 00000000..af74fa6f
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0049.png
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0049.png.key b/files/poketool/pokegra/pokegra/narc_0049.png.key
new file mode 100644
index 00000000..290d2bda
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0049.png.key
@@ -0,0 +1 @@
+Íaõ® \ No newline at end of file
diff --git a/files/poketool/pokegra/pokegra/narc_0050.NCGR b/files/poketool/pokegra/pokegra/narc_0050.NCGR
deleted file mode 100644
index b277cef7..00000000
--- a/files/poketool/pokegra/pokegra/narc_0050.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0050.png b/files/poketool/pokegra/pokegra/narc_0050.png
new file mode 100644
index 00000000..98fee5cd
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0050.png
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0050.png.key b/files/poketool/pokegra/pokegra/narc_0050.png.key
new file mode 100644
index 00000000..1eed73a4
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0050.png.key
@@ -0,0 +1 @@
+¸Œ#Q \ No newline at end of file
diff --git a/files/poketool/pokegra/pokegra/narc_0051.NCGR b/files/poketool/pokegra/pokegra/narc_0051.NCGR
deleted file mode 100644
index b277cef7..00000000
--- a/files/poketool/pokegra/pokegra/narc_0051.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0051.png b/files/poketool/pokegra/pokegra/narc_0051.png
new file mode 100644
index 00000000..98fee5cd
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0051.png
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0051.png.key b/files/poketool/pokegra/pokegra/narc_0051.png.key
new file mode 100644
index 00000000..1eed73a4
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0051.png.key
@@ -0,0 +1 @@
+¸Œ#Q \ No newline at end of file
diff --git a/files/poketool/pokegra/pokegra/narc_0052.NCLR b/files/poketool/pokegra/pokegra/narc_0052.NCLR
deleted file mode 100644
index 200cb6da..00000000
--- a/files/poketool/pokegra/pokegra/narc_0052.NCLR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0052.pal b/files/poketool/pokegra/pokegra/narc_0052.pal
new file mode 100644
index 00000000..758092a5
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0052.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+180 180 180
+255 255 255
+230 238 230
+197 213 222
+197 49 0
+205 131 32
+148 98 98
+106 74 24
+222 197 139
+189 139 57
+139 90 32
+197 189 255
+148 139 238
+98 106 197
+65 65 123
+16 16 16
diff --git a/files/poketool/pokegra/pokegra/narc_0053.NCLR b/files/poketool/pokegra/pokegra/narc_0053.NCLR
deleted file mode 100644
index 3b53b2ea..00000000
--- a/files/poketool/pokegra/pokegra/narc_0053.NCLR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0053.pal b/files/poketool/pokegra/pokegra/narc_0053.pal
new file mode 100644
index 00000000..c1107a6f
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0053.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+180 180 180
+255 255 255
+213 246 197
+180 222 189
+197 49 0
+156 197 49
+90 139 16
+57 90 16
+246 213 123
+222 164 65
+164 98 32
+222 222 255
+180 180 246
+139 123 189
+98 82 148
+16 16 16
diff --git a/files/poketool/pokegra/pokegra/narc_0054.NCGR b/files/poketool/pokegra/pokegra/narc_0054.NCGR
deleted file mode 100644
index 3811bd02..00000000
--- a/files/poketool/pokegra/pokegra/narc_0054.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0054.png b/files/poketool/pokegra/pokegra/narc_0054.png
new file mode 100644
index 00000000..1ebe1403
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0054.png
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0054.png.key b/files/poketool/pokegra/pokegra/narc_0054.png.key
new file mode 100644
index 00000000..2a23ccc4
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0054.png.key
@@ -0,0 +1 @@
+`ó,‚ \ No newline at end of file
diff --git a/files/poketool/pokegra/pokegra/narc_0055.NCGR b/files/poketool/pokegra/pokegra/narc_0055.NCGR
deleted file mode 100644
index 3811bd02..00000000
--- a/files/poketool/pokegra/pokegra/narc_0055.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0055.png b/files/poketool/pokegra/pokegra/narc_0055.png
new file mode 100644
index 00000000..1ebe1403
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0055.png
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0055.png.key b/files/poketool/pokegra/pokegra/narc_0055.png.key
new file mode 100644
index 00000000..2a23ccc4
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0055.png.key
@@ -0,0 +1 @@
+`ó,‚ \ No newline at end of file
diff --git a/files/poketool/pokegra/pokegra/narc_0056.NCGR b/files/poketool/pokegra/pokegra/narc_0056.NCGR
deleted file mode 100644
index 18e2ee43..00000000
--- a/files/poketool/pokegra/pokegra/narc_0056.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0056.png b/files/poketool/pokegra/pokegra/narc_0056.png
new file mode 100644
index 00000000..ff1aa71b
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0056.png
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0056.png.key b/files/poketool/pokegra/pokegra/narc_0056.png.key
new file mode 100644
index 00000000..8aff0240
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0056.png.key
@@ -0,0 +1 @@
+)8‹i \ No newline at end of file
diff --git a/files/poketool/pokegra/pokegra/narc_0057.NCGR b/files/poketool/pokegra/pokegra/narc_0057.NCGR
deleted file mode 100644
index 18e2ee43..00000000
--- a/files/poketool/pokegra/pokegra/narc_0057.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0057.png b/files/poketool/pokegra/pokegra/narc_0057.png
new file mode 100644
index 00000000..ff1aa71b
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0057.png
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0057.png.key b/files/poketool/pokegra/pokegra/narc_0057.png.key
new file mode 100644
index 00000000..8aff0240
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0057.png.key
@@ -0,0 +1 @@
+)8‹i \ No newline at end of file
diff --git a/files/poketool/pokegra/pokegra/narc_0058.NCLR b/files/poketool/pokegra/pokegra/narc_0058.NCLR
deleted file mode 100644
index 777e0ec7..00000000
--- a/files/poketool/pokegra/pokegra/narc_0058.NCLR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0058.pal b/files/poketool/pokegra/pokegra/narc_0058.pal
new file mode 100644
index 00000000..ec525b07
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0058.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+65 180 57
+0 0 0
+255 255 255
+205 205 213
+148 148 148
+74 74 74
+148 172 230
+90 139 205
+32 98 172
+8 57 98
+246 213 156
+230 197 115
+213 172 74
+213 172 74
+139 98 65
+90 57 24
diff --git a/files/poketool/pokegra/pokegra/narc_0059.NCLR b/files/poketool/pokegra/pokegra/narc_0059.NCLR
deleted file mode 100644
index d5989344..00000000
--- a/files/poketool/pokegra/pokegra/narc_0059.NCLR
+++ /dev/null
Binary files differ
diff --git a/files/poketool/pokegra/pokegra/narc_0059.pal b/files/poketool/pokegra/pokegra/narc_0059.pal
new file mode 100644
index 00000000..cb5dfcf6
--- /dev/null
+++ b/files/poketool/pokegra/pokegra/narc_0059.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+65 180 57
+0 0 0
+255 255 255
+205 205 213
+148 148 148
+74 74 74
+238 222 255
+213 180 246
+164 123 189
+115 82 148
+255 213 131
+246 197 98
+230 172 65
+148 222 90
+98 148 65
+32 90 24
diff --git a/files/poketool/trgra/trfgra/narc_0000.png b/files/poketool/trgra/trfgra/narc_0000.png
index a3697191..aa5642f7 100644
--- a/files/poketool/trgra/trfgra/narc_0000.png
+++ b/files/poketool/trgra/trfgra/narc_0000.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0002.png b/files/poketool/trgra/trfgra/narc_0002.png
index d3884147..327459ca 100644
--- a/files/poketool/trgra/trfgra/narc_0002.png
+++ b/files/poketool/trgra/trfgra/narc_0002.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0004.png b/files/poketool/trgra/trfgra/narc_0004.png
index 384e427b..cb49c323 100644
--- a/files/poketool/trgra/trfgra/narc_0004.png
+++ b/files/poketool/trgra/trfgra/narc_0004.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0006.png b/files/poketool/trgra/trfgra/narc_0006.png
index 4e85a9d8..0d70fe28 100644
--- a/files/poketool/trgra/trfgra/narc_0006.png
+++ b/files/poketool/trgra/trfgra/narc_0006.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0008.png b/files/poketool/trgra/trfgra/narc_0008.png
index 89692564..86499bf9 100644
--- a/files/poketool/trgra/trfgra/narc_0008.png
+++ b/files/poketool/trgra/trfgra/narc_0008.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0010.png b/files/poketool/trgra/trfgra/narc_0010.png
index 677d27e1..8485cd64 100644
--- a/files/poketool/trgra/trfgra/narc_0010.png
+++ b/files/poketool/trgra/trfgra/narc_0010.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0012.png b/files/poketool/trgra/trfgra/narc_0012.png
index 64a754c9..f4c3b167 100644
--- a/files/poketool/trgra/trfgra/narc_0012.png
+++ b/files/poketool/trgra/trfgra/narc_0012.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0014.png b/files/poketool/trgra/trfgra/narc_0014.png
index 44776c80..dfadbd12 100644
--- a/files/poketool/trgra/trfgra/narc_0014.png
+++ b/files/poketool/trgra/trfgra/narc_0014.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0016.png b/files/poketool/trgra/trfgra/narc_0016.png
index 00d4d114..71693ec1 100644
--- a/files/poketool/trgra/trfgra/narc_0016.png
+++ b/files/poketool/trgra/trfgra/narc_0016.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0018.png b/files/poketool/trgra/trfgra/narc_0018.png
index 08d15ae1..1601c4ea 100644
--- a/files/poketool/trgra/trfgra/narc_0018.png
+++ b/files/poketool/trgra/trfgra/narc_0018.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0020.png b/files/poketool/trgra/trfgra/narc_0020.png
index 959dc417..4a70d6be 100644
--- a/files/poketool/trgra/trfgra/narc_0020.png
+++ b/files/poketool/trgra/trfgra/narc_0020.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0022.png b/files/poketool/trgra/trfgra/narc_0022.png
index 944de430..f7e15d45 100644
--- a/files/poketool/trgra/trfgra/narc_0022.png
+++ b/files/poketool/trgra/trfgra/narc_0022.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0024.png b/files/poketool/trgra/trfgra/narc_0024.png
index 459114e0..c89113bf 100644
--- a/files/poketool/trgra/trfgra/narc_0024.png
+++ b/files/poketool/trgra/trfgra/narc_0024.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0026.png b/files/poketool/trgra/trfgra/narc_0026.png
index 8aa5ec86..5bd28080 100644
--- a/files/poketool/trgra/trfgra/narc_0026.png
+++ b/files/poketool/trgra/trfgra/narc_0026.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0028.png b/files/poketool/trgra/trfgra/narc_0028.png
index e5eb68dc..553128db 100644
--- a/files/poketool/trgra/trfgra/narc_0028.png
+++ b/files/poketool/trgra/trfgra/narc_0028.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0030.png b/files/poketool/trgra/trfgra/narc_0030.png
index 0baaa549..04a0cc10 100644
--- a/files/poketool/trgra/trfgra/narc_0030.png
+++ b/files/poketool/trgra/trfgra/narc_0030.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0032.png b/files/poketool/trgra/trfgra/narc_0032.png
index 0befdd00..35e9c4f9 100644
--- a/files/poketool/trgra/trfgra/narc_0032.png
+++ b/files/poketool/trgra/trfgra/narc_0032.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0034.png b/files/poketool/trgra/trfgra/narc_0034.png
index 4e047065..80d4e7e6 100644
--- a/files/poketool/trgra/trfgra/narc_0034.png
+++ b/files/poketool/trgra/trfgra/narc_0034.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0036.png b/files/poketool/trgra/trfgra/narc_0036.png
index 6ad45920..c6871ed8 100644
--- a/files/poketool/trgra/trfgra/narc_0036.png
+++ b/files/poketool/trgra/trfgra/narc_0036.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0038.png b/files/poketool/trgra/trfgra/narc_0038.png
index d6b7af72..b0034c89 100644
--- a/files/poketool/trgra/trfgra/narc_0038.png
+++ b/files/poketool/trgra/trfgra/narc_0038.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0040.png b/files/poketool/trgra/trfgra/narc_0040.png
index 4d3412bd..5c64c4f5 100644
--- a/files/poketool/trgra/trfgra/narc_0040.png
+++ b/files/poketool/trgra/trfgra/narc_0040.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0042.png b/files/poketool/trgra/trfgra/narc_0042.png
index 06b3f610..81b7af40 100644
--- a/files/poketool/trgra/trfgra/narc_0042.png
+++ b/files/poketool/trgra/trfgra/narc_0042.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0044.png b/files/poketool/trgra/trfgra/narc_0044.png
index b0a032e2..232d8731 100644
--- a/files/poketool/trgra/trfgra/narc_0044.png
+++ b/files/poketool/trgra/trfgra/narc_0044.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0046.png b/files/poketool/trgra/trfgra/narc_0046.png
index 06b42835..9d957414 100644
--- a/files/poketool/trgra/trfgra/narc_0046.png
+++ b/files/poketool/trgra/trfgra/narc_0046.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0048.png b/files/poketool/trgra/trfgra/narc_0048.png
index da0956dd..e18ec78b 100644
--- a/files/poketool/trgra/trfgra/narc_0048.png
+++ b/files/poketool/trgra/trfgra/narc_0048.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0050.png b/files/poketool/trgra/trfgra/narc_0050.png
index e982ba42..81f6ba27 100644
--- a/files/poketool/trgra/trfgra/narc_0050.png
+++ b/files/poketool/trgra/trfgra/narc_0050.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0052.png b/files/poketool/trgra/trfgra/narc_0052.png
index c2ec9802..f3fdd12f 100644
--- a/files/poketool/trgra/trfgra/narc_0052.png
+++ b/files/poketool/trgra/trfgra/narc_0052.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0054.png b/files/poketool/trgra/trfgra/narc_0054.png
index 4ddb1e0f..e8e3cb7f 100644
--- a/files/poketool/trgra/trfgra/narc_0054.png
+++ b/files/poketool/trgra/trfgra/narc_0054.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0056.png b/files/poketool/trgra/trfgra/narc_0056.png
index 600b10fb..358e325b 100644
--- a/files/poketool/trgra/trfgra/narc_0056.png
+++ b/files/poketool/trgra/trfgra/narc_0056.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0058.png b/files/poketool/trgra/trfgra/narc_0058.png
index 809a5f3a..95a196ee 100644
--- a/files/poketool/trgra/trfgra/narc_0058.png
+++ b/files/poketool/trgra/trfgra/narc_0058.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0060.png b/files/poketool/trgra/trfgra/narc_0060.png
index ab4a3955..6d1b164e 100644
--- a/files/poketool/trgra/trfgra/narc_0060.png
+++ b/files/poketool/trgra/trfgra/narc_0060.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0062.png b/files/poketool/trgra/trfgra/narc_0062.png
index 99b03a45..e6d66357 100644
--- a/files/poketool/trgra/trfgra/narc_0062.png
+++ b/files/poketool/trgra/trfgra/narc_0062.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0064.png b/files/poketool/trgra/trfgra/narc_0064.png
index a3c15ec4..ea8acae8 100644
--- a/files/poketool/trgra/trfgra/narc_0064.png
+++ b/files/poketool/trgra/trfgra/narc_0064.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0066.png b/files/poketool/trgra/trfgra/narc_0066.png
index 65fd1a5e..3b8ec7c3 100644
--- a/files/poketool/trgra/trfgra/narc_0066.png
+++ b/files/poketool/trgra/trfgra/narc_0066.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0068.png b/files/poketool/trgra/trfgra/narc_0068.png
index 51e71a5a..6699e5f1 100644
--- a/files/poketool/trgra/trfgra/narc_0068.png
+++ b/files/poketool/trgra/trfgra/narc_0068.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0070.png b/files/poketool/trgra/trfgra/narc_0070.png
index 79d2779d..1ff7e9d0 100644
--- a/files/poketool/trgra/trfgra/narc_0070.png
+++ b/files/poketool/trgra/trfgra/narc_0070.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0072.png b/files/poketool/trgra/trfgra/narc_0072.png
index f8f854ed..2a401481 100644
--- a/files/poketool/trgra/trfgra/narc_0072.png
+++ b/files/poketool/trgra/trfgra/narc_0072.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0074.png b/files/poketool/trgra/trfgra/narc_0074.png
index f852ec6b..181e3774 100644
--- a/files/poketool/trgra/trfgra/narc_0074.png
+++ b/files/poketool/trgra/trfgra/narc_0074.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0076.png b/files/poketool/trgra/trfgra/narc_0076.png
index cc986e83..31727042 100644
--- a/files/poketool/trgra/trfgra/narc_0076.png
+++ b/files/poketool/trgra/trfgra/narc_0076.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0078.png b/files/poketool/trgra/trfgra/narc_0078.png
index db0239b4..27ddaf76 100644
--- a/files/poketool/trgra/trfgra/narc_0078.png
+++ b/files/poketool/trgra/trfgra/narc_0078.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0080.png b/files/poketool/trgra/trfgra/narc_0080.png
index 24448da2..91c20f4a 100644
--- a/files/poketool/trgra/trfgra/narc_0080.png
+++ b/files/poketool/trgra/trfgra/narc_0080.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0082.png b/files/poketool/trgra/trfgra/narc_0082.png
index 99abb984..9613b1f0 100644
--- a/files/poketool/trgra/trfgra/narc_0082.png
+++ b/files/poketool/trgra/trfgra/narc_0082.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0084.png b/files/poketool/trgra/trfgra/narc_0084.png
index 65b23406..37158f79 100644
--- a/files/poketool/trgra/trfgra/narc_0084.png
+++ b/files/poketool/trgra/trfgra/narc_0084.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0086.png b/files/poketool/trgra/trfgra/narc_0086.png
index b6d9f4d7..1d4e71d4 100644
--- a/files/poketool/trgra/trfgra/narc_0086.png
+++ b/files/poketool/trgra/trfgra/narc_0086.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0088.png b/files/poketool/trgra/trfgra/narc_0088.png
index 80a5e390..60a4f92e 100644
--- a/files/poketool/trgra/trfgra/narc_0088.png
+++ b/files/poketool/trgra/trfgra/narc_0088.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0090.png b/files/poketool/trgra/trfgra/narc_0090.png
index ae518f3e..3014c4ca 100644
--- a/files/poketool/trgra/trfgra/narc_0090.png
+++ b/files/poketool/trgra/trfgra/narc_0090.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0092.png b/files/poketool/trgra/trfgra/narc_0092.png
index 64dece43..1b8d5556 100644
--- a/files/poketool/trgra/trfgra/narc_0092.png
+++ b/files/poketool/trgra/trfgra/narc_0092.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0094.png b/files/poketool/trgra/trfgra/narc_0094.png
index 4a7fc118..3840c0c7 100644
--- a/files/poketool/trgra/trfgra/narc_0094.png
+++ b/files/poketool/trgra/trfgra/narc_0094.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0096.png b/files/poketool/trgra/trfgra/narc_0096.png
index 2b4e4cb4..3ded4743 100644
--- a/files/poketool/trgra/trfgra/narc_0096.png
+++ b/files/poketool/trgra/trfgra/narc_0096.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0098.png b/files/poketool/trgra/trfgra/narc_0098.png
index 25acd449..eef365a3 100644
--- a/files/poketool/trgra/trfgra/narc_0098.png
+++ b/files/poketool/trgra/trfgra/narc_0098.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0100.png b/files/poketool/trgra/trfgra/narc_0100.png
index 89793875..db9621d2 100644
--- a/files/poketool/trgra/trfgra/narc_0100.png
+++ b/files/poketool/trgra/trfgra/narc_0100.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0102.png b/files/poketool/trgra/trfgra/narc_0102.png
index f8519a31..6e73707b 100644
--- a/files/poketool/trgra/trfgra/narc_0102.png
+++ b/files/poketool/trgra/trfgra/narc_0102.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0104.png b/files/poketool/trgra/trfgra/narc_0104.png
index 100e5a92..0b17d14b 100644
--- a/files/poketool/trgra/trfgra/narc_0104.png
+++ b/files/poketool/trgra/trfgra/narc_0104.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0106.png b/files/poketool/trgra/trfgra/narc_0106.png
index 7b21d535..cd77d1e6 100644
--- a/files/poketool/trgra/trfgra/narc_0106.png
+++ b/files/poketool/trgra/trfgra/narc_0106.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0108.png b/files/poketool/trgra/trfgra/narc_0108.png
index 7b99ebaf..5d1c5fff 100644
--- a/files/poketool/trgra/trfgra/narc_0108.png
+++ b/files/poketool/trgra/trfgra/narc_0108.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0110.png b/files/poketool/trgra/trfgra/narc_0110.png
index aacf71bc..1cb82182 100644
--- a/files/poketool/trgra/trfgra/narc_0110.png
+++ b/files/poketool/trgra/trfgra/narc_0110.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0112.png b/files/poketool/trgra/trfgra/narc_0112.png
index 0e707037..cdf4afb7 100644
--- a/files/poketool/trgra/trfgra/narc_0112.png
+++ b/files/poketool/trgra/trfgra/narc_0112.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0114.png b/files/poketool/trgra/trfgra/narc_0114.png
index eda17700..2ce5ef59 100644
--- a/files/poketool/trgra/trfgra/narc_0114.png
+++ b/files/poketool/trgra/trfgra/narc_0114.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0116.png b/files/poketool/trgra/trfgra/narc_0116.png
index c0969fd0..1e61e19c 100644
--- a/files/poketool/trgra/trfgra/narc_0116.png
+++ b/files/poketool/trgra/trfgra/narc_0116.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0118.png b/files/poketool/trgra/trfgra/narc_0118.png
index 46254918..fef42e79 100644
--- a/files/poketool/trgra/trfgra/narc_0118.png
+++ b/files/poketool/trgra/trfgra/narc_0118.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0120.png b/files/poketool/trgra/trfgra/narc_0120.png
index 17b39780..986cd841 100644
--- a/files/poketool/trgra/trfgra/narc_0120.png
+++ b/files/poketool/trgra/trfgra/narc_0120.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0122.png b/files/poketool/trgra/trfgra/narc_0122.png
index 2d479c0a..6b8c479d 100644
--- a/files/poketool/trgra/trfgra/narc_0122.png
+++ b/files/poketool/trgra/trfgra/narc_0122.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0124.png b/files/poketool/trgra/trfgra/narc_0124.png
index debfab77..cb4110df 100644
--- a/files/poketool/trgra/trfgra/narc_0124.png
+++ b/files/poketool/trgra/trfgra/narc_0124.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0126.png b/files/poketool/trgra/trfgra/narc_0126.png
index d623f26d..0d2810d3 100644
--- a/files/poketool/trgra/trfgra/narc_0126.png
+++ b/files/poketool/trgra/trfgra/narc_0126.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0128.png b/files/poketool/trgra/trfgra/narc_0128.png
index db2cd7b1..4c16bc97 100644
--- a/files/poketool/trgra/trfgra/narc_0128.png
+++ b/files/poketool/trgra/trfgra/narc_0128.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0130.png b/files/poketool/trgra/trfgra/narc_0130.png
index dcd5c7df..2e3fbb0f 100644
--- a/files/poketool/trgra/trfgra/narc_0130.png
+++ b/files/poketool/trgra/trfgra/narc_0130.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0132.png b/files/poketool/trgra/trfgra/narc_0132.png
index 0a85e8ae..d3e1e0c6 100644
--- a/files/poketool/trgra/trfgra/narc_0132.png
+++ b/files/poketool/trgra/trfgra/narc_0132.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0134.png b/files/poketool/trgra/trfgra/narc_0134.png
index 5625ad76..da3b4d62 100644
--- a/files/poketool/trgra/trfgra/narc_0134.png
+++ b/files/poketool/trgra/trfgra/narc_0134.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0136.png b/files/poketool/trgra/trfgra/narc_0136.png
index ddd6c1e3..cdcd4ae9 100644
--- a/files/poketool/trgra/trfgra/narc_0136.png
+++ b/files/poketool/trgra/trfgra/narc_0136.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0138.png b/files/poketool/trgra/trfgra/narc_0138.png
index 8d76dda4..8c4cef00 100644
--- a/files/poketool/trgra/trfgra/narc_0138.png
+++ b/files/poketool/trgra/trfgra/narc_0138.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0140.png b/files/poketool/trgra/trfgra/narc_0140.png
index fb71ab7a..6195eb75 100644
--- a/files/poketool/trgra/trfgra/narc_0140.png
+++ b/files/poketool/trgra/trfgra/narc_0140.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0142.png b/files/poketool/trgra/trfgra/narc_0142.png
index a7c23e6d..d6226a7a 100644
--- a/files/poketool/trgra/trfgra/narc_0142.png
+++ b/files/poketool/trgra/trfgra/narc_0142.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0144.png b/files/poketool/trgra/trfgra/narc_0144.png
index 300b779d..c51be8ea 100644
--- a/files/poketool/trgra/trfgra/narc_0144.png
+++ b/files/poketool/trgra/trfgra/narc_0144.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0146.png b/files/poketool/trgra/trfgra/narc_0146.png
index 10f6e2b1..063fa903 100644
--- a/files/poketool/trgra/trfgra/narc_0146.png
+++ b/files/poketool/trgra/trfgra/narc_0146.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0148.png b/files/poketool/trgra/trfgra/narc_0148.png
index 1b889c10..6f3c9b1c 100644
--- a/files/poketool/trgra/trfgra/narc_0148.png
+++ b/files/poketool/trgra/trfgra/narc_0148.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0150.png b/files/poketool/trgra/trfgra/narc_0150.png
index a438f376..cbdad2d7 100644
--- a/files/poketool/trgra/trfgra/narc_0150.png
+++ b/files/poketool/trgra/trfgra/narc_0150.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0152.png b/files/poketool/trgra/trfgra/narc_0152.png
index 09bf1b13..214ea366 100644
--- a/files/poketool/trgra/trfgra/narc_0152.png
+++ b/files/poketool/trgra/trfgra/narc_0152.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0154.png b/files/poketool/trgra/trfgra/narc_0154.png
index 3d09183b..01b319d0 100644
--- a/files/poketool/trgra/trfgra/narc_0154.png
+++ b/files/poketool/trgra/trfgra/narc_0154.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0156.png b/files/poketool/trgra/trfgra/narc_0156.png
index 7cb298f1..e6bb90c9 100644
--- a/files/poketool/trgra/trfgra/narc_0156.png
+++ b/files/poketool/trgra/trfgra/narc_0156.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0158.png b/files/poketool/trgra/trfgra/narc_0158.png
index a8ac3f6a..de3b290f 100644
--- a/files/poketool/trgra/trfgra/narc_0158.png
+++ b/files/poketool/trgra/trfgra/narc_0158.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0160.png b/files/poketool/trgra/trfgra/narc_0160.png
index 1f7c390c..9bc12f17 100644
--- a/files/poketool/trgra/trfgra/narc_0160.png
+++ b/files/poketool/trgra/trfgra/narc_0160.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0162.png b/files/poketool/trgra/trfgra/narc_0162.png
index 452f3532..929f70db 100644
--- a/files/poketool/trgra/trfgra/narc_0162.png
+++ b/files/poketool/trgra/trfgra/narc_0162.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0164.png b/files/poketool/trgra/trfgra/narc_0164.png
index d8be1b0e..25fa032c 100644
--- a/files/poketool/trgra/trfgra/narc_0164.png
+++ b/files/poketool/trgra/trfgra/narc_0164.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0166.png b/files/poketool/trgra/trfgra/narc_0166.png
index c33344ae..5f281e5c 100644
--- a/files/poketool/trgra/trfgra/narc_0166.png
+++ b/files/poketool/trgra/trfgra/narc_0166.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0168.png b/files/poketool/trgra/trfgra/narc_0168.png
index fdf6f6c7..ca5392d9 100644
--- a/files/poketool/trgra/trfgra/narc_0168.png
+++ b/files/poketool/trgra/trfgra/narc_0168.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0170.png b/files/poketool/trgra/trfgra/narc_0170.png
index bcdb5ccb..1ba2e7ac 100644
--- a/files/poketool/trgra/trfgra/narc_0170.png
+++ b/files/poketool/trgra/trfgra/narc_0170.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0172.png b/files/poketool/trgra/trfgra/narc_0172.png
index a4fae35f..cb00b2e9 100644
--- a/files/poketool/trgra/trfgra/narc_0172.png
+++ b/files/poketool/trgra/trfgra/narc_0172.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0174.png b/files/poketool/trgra/trfgra/narc_0174.png
index a08cd4fa..3fe372cf 100644
--- a/files/poketool/trgra/trfgra/narc_0174.png
+++ b/files/poketool/trgra/trfgra/narc_0174.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0176.png b/files/poketool/trgra/trfgra/narc_0176.png
index 51e2ac44..f47fca9c 100644
--- a/files/poketool/trgra/trfgra/narc_0176.png
+++ b/files/poketool/trgra/trfgra/narc_0176.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0178.png b/files/poketool/trgra/trfgra/narc_0178.png
index d889d4b5..c06b470e 100644
--- a/files/poketool/trgra/trfgra/narc_0178.png
+++ b/files/poketool/trgra/trfgra/narc_0178.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0180.png b/files/poketool/trgra/trfgra/narc_0180.png
index 2cfeb088..5c0a01f7 100644
--- a/files/poketool/trgra/trfgra/narc_0180.png
+++ b/files/poketool/trgra/trfgra/narc_0180.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0182.png b/files/poketool/trgra/trfgra/narc_0182.png
index 95ab4f4d..dd04fcbb 100644
--- a/files/poketool/trgra/trfgra/narc_0182.png
+++ b/files/poketool/trgra/trfgra/narc_0182.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0184.png b/files/poketool/trgra/trfgra/narc_0184.png
index 5510418b..c5134e31 100644
--- a/files/poketool/trgra/trfgra/narc_0184.png
+++ b/files/poketool/trgra/trfgra/narc_0184.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0186.png b/files/poketool/trgra/trfgra/narc_0186.png
index eff5735d..37951199 100644
--- a/files/poketool/trgra/trfgra/narc_0186.png
+++ b/files/poketool/trgra/trfgra/narc_0186.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0188.png b/files/poketool/trgra/trfgra/narc_0188.png
index adcaf3cb..20fd19fa 100644
--- a/files/poketool/trgra/trfgra/narc_0188.png
+++ b/files/poketool/trgra/trfgra/narc_0188.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0190.png b/files/poketool/trgra/trfgra/narc_0190.png
index a3697191..aa5642f7 100644
--- a/files/poketool/trgra/trfgra/narc_0190.png
+++ b/files/poketool/trgra/trfgra/narc_0190.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0192.png b/files/poketool/trgra/trfgra/narc_0192.png
index d3884147..327459ca 100644
--- a/files/poketool/trgra/trfgra/narc_0192.png
+++ b/files/poketool/trgra/trfgra/narc_0192.png
Binary files differ
diff --git a/files/poketool/trgra/trfgra/narc_0194.png b/files/poketool/trgra/trfgra/narc_0194.png
index cc7c2d7f..149cc08c 100644
--- a/files/poketool/trgra/trfgra/narc_0194.png
+++ b/files/poketool/trgra/trfgra/narc_0194.png
Binary files differ
diff --git a/filesystem.mk b/filesystem.mk
index 77650c5b..6f48d05b 100644
--- a/filesystem.mk
+++ b/filesystem.mk
@@ -2546,6 +2546,30 @@ files/poketool/pokegra/pokegra.narc: \
files/poketool/pokegra/pokegra/narc_0033.NCGR \
files/poketool/pokegra/pokegra/narc_0034.NCLR \
files/poketool/pokegra/pokegra/narc_0035.NCLR \
+ files/poketool/pokegra/pokegra/narc_0036.NCGR \
+ files/poketool/pokegra/pokegra/narc_0037.NCGR \
+ files/poketool/pokegra/pokegra/narc_0038.NCGR \
+ files/poketool/pokegra/pokegra/narc_0039.NCGR \
+ files/poketool/pokegra/pokegra/narc_0040.NCLR \
+ files/poketool/pokegra/pokegra/narc_0041.NCLR \
+ files/poketool/pokegra/pokegra/narc_0042.NCGR \
+ files/poketool/pokegra/pokegra/narc_0043.NCGR \
+ files/poketool/pokegra/pokegra/narc_0044.NCGR \
+ files/poketool/pokegra/pokegra/narc_0045.NCGR \
+ files/poketool/pokegra/pokegra/narc_0046.NCLR \
+ files/poketool/pokegra/pokegra/narc_0047.NCLR \
+ files/poketool/pokegra/pokegra/narc_0048.NCGR \
+ files/poketool/pokegra/pokegra/narc_0049.NCGR \
+ files/poketool/pokegra/pokegra/narc_0050.NCGR \
+ files/poketool/pokegra/pokegra/narc_0051.NCGR \
+ files/poketool/pokegra/pokegra/narc_0052.NCLR \
+ files/poketool/pokegra/pokegra/narc_0053.NCLR \
+ files/poketool/pokegra/pokegra/narc_0054.NCGR \
+ files/poketool/pokegra/pokegra/narc_0055.NCGR \
+ files/poketool/pokegra/pokegra/narc_0056.NCGR \
+ files/poketool/pokegra/pokegra/narc_0057.NCGR \
+ files/poketool/pokegra/pokegra/narc_0058.NCLR \
+ files/poketool/pokegra/pokegra/narc_0059.NCLR \
files/poketool/pokegra/pokegra/narc_2370.NCGR \
files/poketool/pokegra/pokegra/narc_2371.NCGR \
files/poketool/pokegra/pokegra/narc_2372.NCGR \
@@ -2561,6 +2585,10 @@ files/poketool/icongra/poke_icon.narc: \
files/poketool/icongra/poke_icon/narc_0010.NCGR \
files/poketool/icongra/poke_icon/narc_0011.NCGR \
files/poketool/icongra/poke_icon/narc_0012.NCGR \
+ files/poketool/icongra/poke_icon/narc_0013.NCGR \
+ files/poketool/icongra/poke_icon/narc_0014.NCGR \
+ files/poketool/icongra/poke_icon/narc_0015.NCGR \
+ files/poketool/icongra/poke_icon/narc_0016.NCGR \
files/poketool/icongra/poke_icon/narc_0402.NCGR
files/msgdata/msg.narc: \
diff --git a/graphics_rules.mk b/graphics_rules.mk
index 22b9152c..b0d05eb0 100644
--- a/graphics_rules.mk
+++ b/graphics_rules.mk
@@ -82,6 +82,10 @@ CLOBBER_SIZE_VERSION101_NCGR_FILES := files/graphic/bag_gra/narc_0002.NCGR \
files/poketool/icongra/poke_icon/narc_0010.NCGR \
files/poketool/icongra/poke_icon/narc_0011.NCGR \
files/poketool/icongra/poke_icon/narc_0012.NCGR \
+ files/poketool/icongra/poke_icon/narc_0013.NCGR \
+ files/poketool/icongra/poke_icon/narc_0014.NCGR \
+ files/poketool/icongra/poke_icon/narc_0015.NCGR \
+ files/poketool/icongra/poke_icon/narc_0016.NCGR \
files/poketool/icongra/poke_icon/narc_0402.NCGR
4BPP_NCLR_FILES := files/demo/title/titledemo/narc_0016.NCLR \
@@ -242,6 +246,14 @@ VERSION101_SOPC_NCGR_FILES := files/demo/title/titledemo/narc_0007.NCGR \
files/poketool/pokegra/pokegra/narc_0029.NCLR \
files/poketool/pokegra/pokegra/narc_0034.NCLR \
files/poketool/pokegra/pokegra/narc_0035.NCLR \
+ files/poketool/pokegra/pokegra/narc_0040.NCLR \
+ files/poketool/pokegra/pokegra/narc_0041.NCLR \
+ files/poketool/pokegra/pokegra/narc_0046.NCLR \
+ files/poketool/pokegra/pokegra/narc_0047.NCLR \
+ files/poketool/pokegra/pokegra/narc_0052.NCLR \
+ files/poketool/pokegra/pokegra/narc_0053.NCLR \
+ files/poketool/pokegra/pokegra/narc_0058.NCLR \
+ files/poketool/pokegra/pokegra/narc_0059.NCLR \
files/poketool/pokegra/pokegra/narc_2374.NCLR \
files/poketool/pokegra/pokegra/narc_2375.NCLR
@@ -265,6 +277,22 @@ SCANNED_NCGR_FILES := files/poketool/pokegra/pokegra/narc_0006.NCGR \
files/poketool/pokegra/pokegra/narc_0031.NCGR \
files/poketool/pokegra/pokegra/narc_0032.NCGR \
files/poketool/pokegra/pokegra/narc_0033.NCGR \
+ files/poketool/pokegra/pokegra/narc_0036.NCGR \
+ files/poketool/pokegra/pokegra/narc_0037.NCGR \
+ files/poketool/pokegra/pokegra/narc_0038.NCGR \
+ files/poketool/pokegra/pokegra/narc_0039.NCGR \
+ files/poketool/pokegra/pokegra/narc_0042.NCGR \
+ files/poketool/pokegra/pokegra/narc_0043.NCGR \
+ files/poketool/pokegra/pokegra/narc_0044.NCGR \
+ files/poketool/pokegra/pokegra/narc_0045.NCGR \
+ files/poketool/pokegra/pokegra/narc_0048.NCGR \
+ files/poketool/pokegra/pokegra/narc_0049.NCGR \
+ files/poketool/pokegra/pokegra/narc_0050.NCGR \
+ files/poketool/pokegra/pokegra/narc_0051.NCGR \
+ files/poketool/pokegra/pokegra/narc_0054.NCGR \
+ files/poketool/pokegra/pokegra/narc_0055.NCGR \
+ files/poketool/pokegra/pokegra/narc_0056.NCGR \
+ files/poketool/pokegra/pokegra/narc_0057.NCGR \
files/poketool/pokegra/pokegra/narc_2370.NCGR \
files/poketool/pokegra/pokegra/narc_2371.NCGR \
files/poketool/pokegra/pokegra/narc_2372.NCGR \
@@ -461,6 +489,10 @@ NCGR_CLEAN_LIST := files/data/cell0.NCGR \
files/poketool/icongra/poke_icon/narc_0010.NCGR \
files/poketool/icongra/poke_icon/narc_0011.NCGR \
files/poketool/icongra/poke_icon/narc_0012.NCGR \
+ files/poketool/icongra/poke_icon/narc_0013.NCGR \
+ files/poketool/icongra/poke_icon/narc_0014.NCGR \
+ files/poketool/icongra/poke_icon/narc_0015.NCGR \
+ files/poketool/icongra/poke_icon/narc_0016.NCGR \
files/poketool/icongra/poke_icon/narc_0402.NCGR \
files/poketool/pokegra/pokegra/narc_0006.NCGR \
files/poketool/pokegra/pokegra/narc_0007.NCGR \
@@ -482,6 +514,22 @@ NCGR_CLEAN_LIST := files/data/cell0.NCGR \
files/poketool/pokegra/pokegra/narc_0031.NCGR \
files/poketool/pokegra/pokegra/narc_0032.NCGR \
files/poketool/pokegra/pokegra/narc_0033.NCGR \
+ files/poketool/pokegra/pokegra/narc_0036.NCGR \
+ files/poketool/pokegra/pokegra/narc_0037.NCGR \
+ files/poketool/pokegra/pokegra/narc_0038.NCGR \
+ files/poketool/pokegra/pokegra/narc_0039.NCGR \
+ files/poketool/pokegra/pokegra/narc_0042.NCGR \
+ files/poketool/pokegra/pokegra/narc_0043.NCGR \
+ files/poketool/pokegra/pokegra/narc_0044.NCGR \
+ files/poketool/pokegra/pokegra/narc_0045.NCGR \
+ files/poketool/pokegra/pokegra/narc_0048.NCGR \
+ files/poketool/pokegra/pokegra/narc_0049.NCGR \
+ files/poketool/pokegra/pokegra/narc_0050.NCGR \
+ files/poketool/pokegra/pokegra/narc_0051.NCGR \
+ files/poketool/pokegra/pokegra/narc_0054.NCGR \
+ files/poketool/pokegra/pokegra/narc_0055.NCGR \
+ files/poketool/pokegra/pokegra/narc_0056.NCGR \
+ files/poketool/pokegra/pokegra/narc_0057.NCGR \
files/poketool/pokegra/pokegra/narc_2370.NCGR \
files/poketool/pokegra/pokegra/narc_2371.NCGR \
files/poketool/pokegra/pokegra/narc_2372.NCGR \
@@ -709,6 +757,14 @@ NCLR_CLEAN_LIST := files/data/cell0.NCLR \
files/poketool/pokegra/pokegra/narc_0029.NCLR \
files/poketool/pokegra/pokegra/narc_0034.NCLR \
files/poketool/pokegra/pokegra/narc_0035.NCLR \
+ files/poketool/pokegra/pokegra/narc_0040.NCLR \
+ files/poketool/pokegra/pokegra/narc_0041.NCLR \
+ files/poketool/pokegra/pokegra/narc_0046.NCLR \
+ files/poketool/pokegra/pokegra/narc_0047.NCLR \
+ files/poketool/pokegra/pokegra/narc_0052.NCLR \
+ files/poketool/pokegra/pokegra/narc_0053.NCLR \
+ files/poketool/pokegra/pokegra/narc_0058.NCLR \
+ files/poketool/pokegra/pokegra/narc_0059.NCLR \
files/poketool/pokegra/pokegra/narc_2374.NCLR \
files/poketool/pokegra/pokegra/narc_2375.NCLR \
files/poketool/trgra/trbgra/narc_0000.NCLR \